@vkontakte/vkui 4.35.2 → 4.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +21609 -18312
  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/Banner/Banner.js +41 -47
  50. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  51. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  52. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -21
  53. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  54. package/dist/cjs/components/CardScroll/CardScroll.js +2 -5
  55. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  56. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  57. package/dist/cjs/components/ChipsInput/ChipsInput.js +15 -198
  58. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  59. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +215 -0
  60. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  61. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +44 -27
  62. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  63. package/dist/cjs/components/CustomSelect/CustomSelect.js +32 -31
  64. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  65. package/dist/cjs/components/DateInput/DateInput.js +4 -2
  66. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  67. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +4 -2
  68. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  69. package/dist/cjs/components/DropdownIcon/DropdownIcon.js +16 -7
  70. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  71. package/dist/cjs/components/FormField/FormField.js +4 -2
  72. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  73. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +12 -3
  74. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  75. package/dist/cjs/components/FormStatus/FormStatus.js +4 -6
  76. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  77. package/dist/cjs/components/Header/Header.js +3 -11
  78. package/dist/cjs/components/Header/Header.js.map +1 -1
  79. package/dist/cjs/components/IconButton/IconButton.js +4 -3
  80. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  81. package/dist/cjs/components/Input/Input.js +4 -2
  82. package/dist/cjs/components/Input/Input.js.map +1 -1
  83. package/dist/cjs/components/List/List.js.map +1 -1
  84. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +1 -6
  85. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  86. package/dist/cjs/components/ModalPage/ModalPage.js +11 -10
  87. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  88. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +3 -4
  89. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  90. package/dist/cjs/components/ModalRoot/ModalRoot.js +4 -18
  91. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  92. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +3 -11
  93. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  94. package/dist/cjs/components/NativeSelect/NativeSelect.js +4 -2
  95. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  96. package/dist/cjs/components/Panel/Panel.js +4 -10
  97. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  98. package/dist/cjs/components/PanelHeader/PanelHeader.js +2 -11
  99. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  100. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +2 -7
  101. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  102. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  103. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  104. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  105. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  106. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -4
  107. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  108. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +4 -8
  109. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  110. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  111. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  112. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  113. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  114. package/dist/cjs/components/PromoBanner/PromoBanner.js +1 -6
  115. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  116. package/dist/cjs/components/Search/Search.js +7 -9
  117. package/dist/cjs/components/Search/Search.js.map +1 -1
  118. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +4 -2
  119. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  120. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +2 -5
  121. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  122. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -7
  123. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  124. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +1 -6
  125. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  126. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +2 -5
  127. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  128. package/dist/cjs/components/Tappable/Tappable.js +8 -16
  129. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  130. package/dist/cjs/components/Textarea/Textarea.js +4 -2
  131. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  132. package/dist/cjs/components/UsersStack/UsersStack.js +71 -34
  133. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  134. package/dist/cjs/components/View/View.js +2 -7
  135. package/dist/cjs/components/View/View.js.map +1 -1
  136. package/dist/cjs/components/View/ViewInfinite.js +1 -10
  137. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  138. package/dist/cjs/{components/ChipsInput → hooks}/useChipsInput.js +0 -0
  139. package/dist/cjs/hooks/useChipsInput.js.map +1 -0
  140. package/dist/cjs/{components/ChipsSelect → hooks}/useChipsSelect.js +1 -1
  141. package/dist/cjs/hooks/useChipsSelect.js.map +1 -0
  142. package/dist/cjs/index.js +8 -0
  143. package/dist/cjs/index.js.map +1 -1
  144. package/dist/cjs/lib/animate.js +2 -2
  145. package/dist/cjs/lib/animate.js.map +1 -1
  146. package/dist/cjs/lib/platform.js +9 -4
  147. package/dist/cjs/lib/platform.js.map +1 -1
  148. package/dist/cjs/lib/testing.js +2 -2
  149. package/dist/cjs/lib/testing.js.map +1 -1
  150. package/dist/cjs/lib/touch.js +2 -2
  151. package/dist/cjs/lib/touch.js.map +1 -1
  152. package/dist/cjs/tokenized/index.js +232 -0
  153. package/dist/cjs/tokenized/index.js.map +1 -1
  154. package/dist/components/ActionSheet/ActionSheet.js +4 -4
  155. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  156. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  157. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +10 -0
  158. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
  159. package/dist/components/ActionSheet/ActionSheetDropdown.js +7 -7
  160. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  161. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -4
  162. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  163. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
  164. package/dist/components/ActionSheetItem/ActionSheetItem.js +16 -36
  165. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  166. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  167. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -4
  168. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  169. package/dist/components/Alert/Alert.js +12 -12
  170. package/dist/components/Alert/Alert.js.map +1 -1
  171. package/dist/components/AppRoot/AppRoot.js +2 -5
  172. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  173. package/dist/components/Avatar/Avatar.js +4 -17
  174. package/dist/components/Avatar/Avatar.js.map +1 -1
  175. package/dist/components/Banner/Banner.js +41 -48
  176. package/dist/components/Banner/Banner.js.map +1 -1
  177. package/dist/components/ButtonGroup/ButtonGroup.d.ts +6 -2
  178. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  179. package/dist/components/CalendarDay/CalendarDay.js +4 -21
  180. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  181. package/dist/components/CardScroll/CardScroll.js +1 -3
  182. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  183. package/dist/components/Chip/Chip.d.ts +12 -5
  184. package/dist/components/Chip/Chip.js.map +1 -1
  185. package/dist/components/ChipsInput/ChipsInput.d.ts +5 -26
  186. package/dist/components/ChipsInput/ChipsInput.js +14 -183
  187. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  188. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  189. package/dist/components/ChipsInputBase/ChipsInputBase.js +188 -0
  190. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  191. package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -4
  192. package/dist/components/ChipsSelect/ChipsSelect.js +42 -26
  193. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  194. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  195. package/dist/components/CustomSelect/CustomSelect.js +32 -31
  196. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  197. package/dist/components/DateInput/DateInput.d.ts +4 -2
  198. package/dist/components/DateInput/DateInput.js +4 -2
  199. package/dist/components/DateInput/DateInput.js.map +1 -1
  200. package/dist/components/DateRangeInput/DateRangeInput.d.ts +4 -2
  201. package/dist/components/DateRangeInput/DateRangeInput.js +4 -2
  202. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  203. package/dist/components/DropdownIcon/DropdownIcon.d.ts +4 -2
  204. package/dist/components/DropdownIcon/DropdownIcon.js +15 -7
  205. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  206. package/dist/components/FormField/FormField.d.ts +2 -1
  207. package/dist/components/FormField/FormField.js +4 -2
  208. package/dist/components/FormField/FormField.js.map +1 -1
  209. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
  210. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +9 -3
  211. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  212. package/dist/components/FormStatus/FormStatus.d.ts +1 -0
  213. package/dist/components/FormStatus/FormStatus.js +4 -4
  214. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  215. package/dist/components/Header/Header.js +3 -10
  216. package/dist/components/Header/Header.js.map +1 -1
  217. package/dist/components/IconButton/IconButton.js +4 -3
  218. package/dist/components/IconButton/IconButton.js.map +1 -1
  219. package/dist/components/Input/Input.d.ts +1 -1
  220. package/dist/components/Input/Input.js +4 -2
  221. package/dist/components/Input/Input.js.map +1 -1
  222. package/dist/components/List/List.d.ts +2 -1
  223. package/dist/components/List/List.js.map +1 -1
  224. package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -4
  225. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  226. package/dist/components/ModalPage/ModalPage.d.ts +13 -1
  227. package/dist/components/ModalPage/ModalPage.js +12 -10
  228. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  229. package/dist/components/ModalPageHeader/ModalPageHeader.js +3 -3
  230. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  231. package/dist/components/ModalRoot/ModalRoot.js +4 -18
  232. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  233. package/dist/components/ModalRoot/ModalRootDesktop.js +3 -11
  234. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  235. package/dist/components/NativeSelect/NativeSelect.d.ts +3 -2
  236. package/dist/components/NativeSelect/NativeSelect.js +4 -2
  237. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  238. package/dist/components/Panel/Panel.js +4 -8
  239. package/dist/components/Panel/Panel.js.map +1 -1
  240. package/dist/components/PanelHeader/PanelHeader.js +2 -11
  241. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  242. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +2 -6
  243. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  244. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  245. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  246. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  247. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  248. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +5 -5
  249. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  250. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -7
  251. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  252. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
  253. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  254. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  255. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  256. package/dist/components/PromoBanner/PromoBanner.js +1 -4
  257. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  258. package/dist/components/Search/Search.js +6 -8
  259. package/dist/components/Search/Search.js.map +1 -1
  260. package/dist/components/Select/Select.d.ts +1 -1
  261. package/dist/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  262. package/dist/components/SelectMimicry/SelectMimicry.js +4 -2
  263. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  264. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  265. package/dist/components/SliderSwitch/SliderSwitch.js +1 -4
  266. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  267. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -5
  268. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  269. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -4
  270. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  271. package/dist/components/SubnavigationButton/SubnavigationButton.js +2 -5
  272. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  273. package/dist/components/Tappable/Tappable.js +3 -10
  274. package/dist/components/Tappable/Tappable.js.map +1 -1
  275. package/dist/components/Textarea/Textarea.d.ts +3 -2
  276. package/dist/components/Textarea/Textarea.js +4 -2
  277. package/dist/components/Textarea/Textarea.js.map +1 -1
  278. package/dist/components/UsersStack/UsersStack.js +69 -28
  279. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  280. package/dist/components/View/View.js +2 -7
  281. package/dist/components/View/View.js.map +1 -1
  282. package/dist/components/View/ViewInfinite.js +1 -10
  283. package/dist/components/View/ViewInfinite.js.map +1 -1
  284. package/dist/components.css +93 -15
  285. package/dist/components.css.map +1 -1
  286. package/dist/cssm/components/ActionSheet/ActionSheet.css +3 -1
  287. package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -4
  288. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  289. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  290. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +10 -0
  291. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -0
  292. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +7 -7
  293. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  294. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -4
  295. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  296. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +7 -1
  297. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +5 -1
  298. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +16 -36
  299. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  300. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
  301. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -4
  302. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  303. package/dist/cssm/components/Alert/Alert.css +7 -1
  304. package/dist/cssm/components/Alert/Alert.js +12 -12
  305. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  306. package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
  307. package/dist/cssm/components/AppRoot/AppRoot.js +2 -5
  308. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  309. package/dist/cssm/components/Avatar/Avatar.js +4 -17
  310. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  311. package/dist/cssm/components/Banner/Banner.js +41 -48
  312. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  313. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +6 -2
  314. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  315. package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -21
  316. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  317. package/dist/cssm/components/CardScroll/CardScroll.js +1 -3
  318. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  319. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
  320. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
  321. package/dist/cssm/components/Chip/Chip.css +1 -1
  322. package/dist/cssm/components/Chip/Chip.d.ts +12 -5
  323. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  324. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  325. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +5 -26
  326. package/dist/cssm/components/ChipsInput/ChipsInput.js +14 -183
  327. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  328. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.css +1 -0
  329. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  330. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +189 -0
  331. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -0
  332. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  333. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -4
  334. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +42 -26
  335. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  336. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  337. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  338. package/dist/cssm/components/CustomSelect/CustomSelect.js +32 -31
  339. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  340. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  341. package/dist/cssm/components/DateInput/DateInput.d.ts +4 -2
  342. package/dist/cssm/components/DateInput/DateInput.js +4 -2
  343. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  344. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  345. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +4 -2
  346. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -2
  347. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  348. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +4 -2
  349. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +15 -8
  350. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  351. package/dist/cssm/components/FormField/FormField.css +4 -4
  352. package/dist/cssm/components/FormField/FormField.d.ts +2 -1
  353. package/dist/cssm/components/FormField/FormField.js +4 -2
  354. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  355. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  356. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  357. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +5 -1
  358. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +9 -3
  359. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  360. package/dist/cssm/components/FormStatus/FormStatus.css +3 -1
  361. package/dist/cssm/components/FormStatus/FormStatus.d.ts +1 -0
  362. package/dist/cssm/components/FormStatus/FormStatus.js +4 -4
  363. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  364. package/dist/cssm/components/Header/Header.css +1 -1
  365. package/dist/cssm/components/Header/Header.js +3 -10
  366. package/dist/cssm/components/Header/Header.js.map +1 -1
  367. package/dist/cssm/components/IconButton/IconButton.js +4 -3
  368. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  369. package/dist/cssm/components/Input/Input.css +1 -1
  370. package/dist/cssm/components/Input/Input.d.ts +1 -1
  371. package/dist/cssm/components/Input/Input.js +4 -2
  372. package/dist/cssm/components/Input/Input.js.map +1 -1
  373. package/dist/cssm/components/Link/Link.css +1 -1
  374. package/dist/cssm/components/List/List.d.ts +2 -1
  375. package/dist/cssm/components/List/List.js +1 -1
  376. package/dist/cssm/components/List/List.js.map +1 -1
  377. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
  378. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -4
  379. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  380. package/dist/cssm/components/ModalPage/ModalPage.css +5 -1
  381. package/dist/cssm/components/ModalPage/ModalPage.d.ts +13 -1
  382. package/dist/cssm/components/ModalPage/ModalPage.js +12 -10
  383. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  384. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
  385. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -3
  386. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  387. package/dist/cssm/components/ModalRoot/ModalRoot.js +4 -18
  388. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  389. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +3 -11
  390. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  391. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +3 -2
  392. package/dist/cssm/components/NativeSelect/NativeSelect.js +4 -2
  393. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  394. package/dist/cssm/components/Panel/Panel.css +19 -1
  395. package/dist/cssm/components/Panel/Panel.js +4 -8
  396. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  397. package/dist/cssm/components/PanelHeader/PanelHeader.css +9 -1
  398. package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -11
  399. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  400. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -6
  401. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  402. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  403. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -7
  404. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  405. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
  406. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  407. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +5 -1
  408. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +5 -5
  409. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  410. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
  411. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -7
  412. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  413. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
  414. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  415. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
  416. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  417. package/dist/cssm/components/PromoBanner/PromoBanner.css +3 -1
  418. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -4
  419. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  420. package/dist/cssm/components/Search/Search.css +27 -1
  421. package/dist/cssm/components/Search/Search.js +6 -8
  422. package/dist/cssm/components/Search/Search.js.map +1 -1
  423. package/dist/cssm/components/Select/Select.css +1 -1
  424. package/dist/cssm/components/Select/Select.d.ts +1 -1
  425. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  426. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -2
  427. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  428. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
  429. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -4
  430. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  431. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -5
  432. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  433. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  434. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
  435. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -4
  436. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  437. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
  438. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +2 -5
  439. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  440. package/dist/cssm/components/TabsItem/TabsItem.css +1 -1
  441. package/dist/cssm/components/Tappable/Tappable.js +3 -10
  442. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  443. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  444. package/dist/cssm/components/Textarea/Textarea.d.ts +3 -2
  445. package/dist/cssm/components/Textarea/Textarea.js +4 -2
  446. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  447. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  448. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  449. package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
  450. package/dist/cssm/components/UsersStack/UsersStack.js +69 -28
  451. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  452. package/dist/cssm/components/View/View.js +2 -7
  453. package/dist/cssm/components/View/View.js.map +1 -1
  454. package/dist/cssm/components/View/ViewInfinite.js +1 -10
  455. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  456. package/dist/cssm/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
  457. package/dist/{components/ChipsInput → cssm/hooks}/useChipsInput.js +0 -0
  458. package/dist/cssm/hooks/useChipsInput.js.map +1 -0
  459. package/{.cache/ts/src/components/ChipsSelect → dist/cssm/hooks}/useChipsSelect.d.ts +4 -4
  460. package/dist/{components/ChipsSelect → cssm/hooks}/useChipsSelect.js +1 -1
  461. package/dist/cssm/hooks/useChipsSelect.js.map +1 -0
  462. package/dist/cssm/index.d.ts +3 -0
  463. package/dist/cssm/index.js +1 -0
  464. package/dist/cssm/index.js.map +1 -1
  465. package/dist/cssm/lib/animate.js +1 -1
  466. package/dist/cssm/lib/animate.js.map +1 -1
  467. package/dist/cssm/lib/platform.js +8 -3
  468. package/dist/cssm/lib/platform.js.map +1 -1
  469. package/dist/cssm/lib/testing.js +1 -1
  470. package/dist/cssm/lib/testing.js.map +1 -1
  471. package/dist/cssm/lib/touch.js +1 -1
  472. package/dist/cssm/lib/touch.js.map +1 -1
  473. package/dist/cssm/styles/components.css +93 -15
  474. package/dist/cssm/styles/themes.css +1 -1
  475. package/dist/cssm/styles/unstable.css +1 -1
  476. package/dist/cssm/tokenized/index.d.ts +56 -0
  477. package/dist/cssm/tokenized/index.js +29 -0
  478. package/dist/cssm/tokenized/index.js.map +1 -1
  479. package/dist/{components/ChipsInput → hooks}/useChipsInput.d.ts +4 -3
  480. package/dist/{cssm/components/ChipsInput → hooks}/useChipsInput.js +0 -0
  481. package/dist/hooks/useChipsInput.js.map +1 -0
  482. package/dist/{components/ChipsSelect → hooks}/useChipsSelect.d.ts +4 -4
  483. package/dist/{cssm/components/ChipsSelect → hooks}/useChipsSelect.js +1 -1
  484. package/dist/hooks/useChipsSelect.js.map +1 -0
  485. package/dist/index.d.ts +3 -0
  486. package/dist/index.js +1 -0
  487. package/dist/index.js.map +1 -1
  488. package/dist/lib/animate.js +1 -1
  489. package/dist/lib/animate.js.map +1 -1
  490. package/dist/lib/platform.js +8 -3
  491. package/dist/lib/platform.js.map +1 -1
  492. package/dist/lib/testing.js +1 -1
  493. package/dist/lib/testing.js.map +1 -1
  494. package/dist/lib/touch.js +1 -1
  495. package/dist/lib/touch.js.map +1 -1
  496. package/dist/tokenized/index.d.ts +56 -0
  497. package/dist/tokenized/index.js +29 -0
  498. package/dist/tokenized/index.js.map +1 -1
  499. package/dist/unstable.css +1 -1
  500. package/dist/unstable.css.map +1 -1
  501. package/dist/vkui.css +94 -16
  502. package/dist/vkui.css.map +1 -1
  503. package/package.json +9 -9
  504. package/src/components/ActionSheet/ActionSheet.css +31 -59
  505. package/src/components/ActionSheet/ActionSheet.tsx +4 -7
  506. package/src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx +12 -0
  507. package/src/components/ActionSheet/ActionSheetDropdown.tsx +9 -6
  508. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +4 -4
  509. package/src/components/ActionSheet/Readme.md +6 -30
  510. package/src/components/ActionSheetItem/ActionSheetItem.css +67 -120
  511. package/src/components/ActionSheetItem/ActionSheetItem.tsx +42 -71
  512. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +5 -5
  513. package/src/components/Alert/Alert.css +79 -79
  514. package/src/components/Alert/Alert.tsx +14 -14
  515. package/src/components/Alert/Readme.md +83 -104
  516. package/src/components/AppRoot/AppRoot.css +2 -1
  517. package/src/components/AppRoot/AppRoot.tsx +1 -4
  518. package/src/components/Avatar/Avatar.tsx +15 -17
  519. package/src/components/Avatar/Readme.md +3 -3
  520. package/src/components/Banner/Banner.tsx +58 -63
  521. package/src/components/ButtonGroup/ButtonGroup.tsx +6 -3
  522. package/src/components/ButtonGroup/Readme.md +13 -11
  523. package/src/components/Calendar/Readme.md +3 -0
  524. package/src/components/CalendarDay/CalendarDay.tsx +21 -20
  525. package/src/components/CalendarRange/Readme.md +3 -0
  526. package/src/components/CardScroll/CardScroll.tsx +1 -2
  527. package/src/components/Cell/CellCheckbox/CellCheckbox.css +2 -2
  528. package/src/components/Cell/CellDragger/CellDragger.css +1 -1
  529. package/src/components/Chip/Chip.css +1 -0
  530. package/src/components/Chip/Chip.tsx +14 -2
  531. package/src/components/ChipsInput/ChipsInput.css +0 -71
  532. package/src/components/ChipsInput/ChipsInput.tsx +20 -220
  533. package/src/components/ChipsInputBase/ChipsInputBase.css +73 -0
  534. package/src/components/ChipsInputBase/ChipsInputBase.tsx +206 -0
  535. package/src/components/ChipsSelect/ChipsSelect.css +8 -0
  536. package/src/components/ChipsSelect/ChipsSelect.tsx +47 -39
  537. package/src/components/CustomSelect/CustomSelect.css +1 -0
  538. package/src/components/CustomSelect/CustomSelect.tsx +2 -3
  539. package/src/components/CustomSelect/Readme.md +8 -2
  540. package/src/components/DateInput/DateInput.css +1 -1
  541. package/src/components/DateInput/DateInput.tsx +6 -3
  542. package/src/components/DateInput/Readme.md +13 -0
  543. package/src/components/DateRangeInput/DateRangeInput.css +1 -1
  544. package/src/components/DateRangeInput/DateRangeInput.tsx +6 -3
  545. package/src/components/DateRangeInput/Readme.md +13 -0
  546. package/src/components/DropdownIcon/DropdownIcon.tsx +22 -8
  547. package/src/components/Epic/Readme.md +10 -5
  548. package/src/components/FormField/FormField.css +58 -6
  549. package/src/components/FormField/FormField.tsx +3 -0
  550. package/src/components/FormItem/FormItem.css +5 -3
  551. package/src/components/FormLayoutGroup/FormLayoutGroup.css +35 -0
  552. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +13 -2
  553. package/src/components/FormLayoutGroup/Readme.md +58 -48
  554. package/src/components/FormStatus/FormStatus.css +8 -5
  555. package/src/components/FormStatus/FormStatus.tsx +4 -8
  556. package/src/components/FormStatus/Readme.md +4 -0
  557. package/src/components/Gallery/Readme.md +64 -18
  558. package/src/components/Header/Header.css +8 -12
  559. package/src/components/Header/Header.tsx +9 -8
  560. package/src/components/HorizontalCell/Readme.md +1 -1
  561. package/src/components/IconButton/IconButton.tsx +2 -2
  562. package/src/components/Input/Input.css +1 -1
  563. package/src/components/Input/Input.tsx +2 -0
  564. package/src/components/Link/Link.css +2 -1
  565. package/src/components/List/List.tsx +3 -4
  566. package/src/components/ModalDismissButton/ModalDismissButton.css +6 -6
  567. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -5
  568. package/src/components/ModalDismissButton/Readme.md +1 -1
  569. package/src/components/ModalPage/ModalPage.css +69 -63
  570. package/src/components/ModalPage/ModalPage.tsx +24 -11
  571. package/src/components/ModalPageHeader/ModalPageHeader.css +9 -12
  572. package/src/components/ModalPageHeader/ModalPageHeader.tsx +3 -2
  573. package/src/components/ModalRoot/ModalRoot.tsx +24 -24
  574. package/src/components/ModalRoot/ModalRootDesktop.tsx +12 -14
  575. package/src/components/ModalRoot/Readme.md +8 -3
  576. package/src/components/NativeSelect/NativeSelect.tsx +5 -2
  577. package/src/components/Panel/Panel.css +52 -24
  578. package/src/components/Panel/Panel.tsx +7 -9
  579. package/src/components/PanelHeader/PanelHeader.css +28 -21
  580. package/src/components/PanelHeader/PanelHeader.tsx +11 -12
  581. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +6 -5
  582. package/src/components/PanelHeaderButton/PanelHeaderButton.css +8 -15
  583. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +6 -6
  584. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +2 -6
  585. package/src/components/PanelHeaderContent/PanelHeaderContent.css +17 -23
  586. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +11 -5
  587. package/src/components/PanelHeaderContext/PanelHeaderContext.css +9 -25
  588. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +11 -7
  589. package/src/components/PanelHeaderContext/Readme.md +85 -101
  590. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +2 -2
  591. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +2 -6
  592. package/src/components/PromoBanner/PromoBanner.css +10 -22
  593. package/src/components/PromoBanner/PromoBanner.tsx +1 -5
  594. package/src/components/RichTooltip/Readme.md +2 -2
  595. package/src/components/Search/Search.css +134 -48
  596. package/src/components/Search/Search.tsx +13 -8
  597. package/src/components/Select/Select.css +2 -2
  598. package/src/components/SelectMimicry/Readme.md +3 -3
  599. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -1
  600. package/src/components/SliderSwitch/SliderSwitch.tsx +5 -5
  601. package/src/components/SliderSwitch/SliderSwitchButton.tsx +7 -7
  602. package/src/components/Snackbar/Readme.md +12 -3
  603. package/src/components/Spacing/Readme.md +20 -20
  604. package/src/components/Spacing/Spacing.css +5 -1
  605. package/src/components/SplitLayout/Readme.md +1 -1
  606. package/src/components/SubnavigationBar/SubnavigationBar.css +7 -19
  607. package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -8
  608. package/src/components/SubnavigationButton/SubnavigationButton.css +13 -0
  609. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -4
  610. package/src/components/TabbarItem/Readme.md +6 -1
  611. package/src/components/Tabs/Readme.md +10 -2
  612. package/src/components/TabsItem/TabsItem.css +1 -1
  613. package/src/components/Tappable/Tappable.tsx +9 -11
  614. package/src/components/Textarea/Textarea.css +1 -1
  615. package/src/components/Textarea/Textarea.tsx +5 -2
  616. package/src/components/Tooltip/Readme.md +2 -2
  617. package/src/components/Touch/Readme.md +4 -4
  618. package/src/components/Typography/Headline/Headline.css +10 -0
  619. package/src/components/Typography/Text/Text.css +10 -0
  620. package/src/components/UsersStack/UsersStack.css +42 -0
  621. package/src/components/UsersStack/UsersStack.tsx +71 -15
  622. package/src/components/View/Readme.md +5 -5
  623. package/src/components/View/View.tsx +2 -9
  624. package/src/components/View/ViewInfinite.tsx +14 -14
  625. package/src/{components/ChipsInput → hooks}/useChipsInput.ts +5 -8
  626. package/src/{components/ChipsSelect → hooks}/useChipsSelect.ts +4 -4
  627. package/src/index.ts +3 -0
  628. package/src/lib/animate.ts +1 -1
  629. package/src/lib/platform.ts +12 -6
  630. package/src/lib/testing.ts +1 -1
  631. package/src/lib/touch.ts +1 -1
  632. package/src/styles/components.css +1 -0
  633. package/src/tokenized/index.ts +85 -0
  634. package/.cache/ts/src/components/UsersStack/masks.d.ts +0 -1
  635. package/dist/cjs/components/ChipsInput/useChipsInput.js.map +0 -1
  636. package/dist/cjs/components/ChipsSelect/useChipsSelect.js.map +0 -1
  637. package/dist/cjs/components/UsersStack/masks.js +0 -29
  638. package/dist/cjs/components/UsersStack/masks.js.map +0 -1
  639. package/dist/components/ChipsInput/useChipsInput.js.map +0 -1
  640. package/dist/components/ChipsSelect/useChipsSelect.js.map +0 -1
  641. package/dist/components/UsersStack/masks.d.ts +0 -1
  642. package/dist/components/UsersStack/masks.js +0 -20
  643. package/dist/components/UsersStack/masks.js.map +0 -1
  644. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +0 -1
  645. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +0 -1
  646. package/dist/cssm/components/DropdownIcon/DropdownIcon.css +0 -1
  647. package/dist/cssm/components/UsersStack/masks.d.ts +0 -1
  648. package/dist/cssm/components/UsersStack/masks.js +0 -20
  649. package/dist/cssm/components/UsersStack/masks.js.map +0 -1
  650. package/src/components/DropdownIcon/DropdownIcon.css +0 -3
  651. package/src/components/UsersStack/masks.tsx +0 -69
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["React","format","isMatch","parse","isAfter","Icon16Clear","Icon20CalendarOutline","CalendarRange","Popper","IconButton","useDateInput","useAdaptivity","classNames","multiRef","FormField","InputLike","InputLikeDivider","callMultiple","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","prevMonthIcon","nextMonthIcon","props","daysStartRef","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateRangeInput\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}: DateRangeInputProps) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? `${value[0] ? format(value[0], \"DD.MM.YYYY\") : \"\"} - ${\n value[1] ? format(value[1], \"DD.MM.YYYY\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
1
+ {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["React","format","isMatch","parse","isAfter","Icon16Clear","Icon20CalendarOutline","CalendarRange","Popper","IconButton","useDateInput","useAdaptivity","classNames","multiRef","FormField","InputLike","InputLikeDivider","callMultiple","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","prevMonthIcon","nextMonthIcon","disableCalendar","props","daysStartRef","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport { IconButton } from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField, FormFieldProps } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement>,\n FormFieldProps {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: string;\n disableCalendar?: boolean;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/DateRangeInput\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n prevMonthIcon,\n nextMonthIcon,\n disableCalendar = false,\n ...props\n}: DateRangeInputProps) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? `${value[0] ? format(value[0], \"DD.MM.YYYY\") : \"\"} - ${\n value[1] ? format(value[1], \"DD.MM.YYYY\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
@@ -1,3 +1,5 @@
1
1
  import * as React from "react";
2
- import "./DropdownIcon.css";
3
- export declare const DropdownIcon: (props: React.HTMLAttributes<HTMLDivElement>) => JSX.Element;
2
+ export interface DropdownIconProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ opened?: boolean;
4
+ }
5
+ export declare const DropdownIcon: ({ opened, ...restProps }: DropdownIconProps) => JSX.Element;
@@ -1,20 +1,27 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["opened"];
2
4
  import { createScopedElement } from "../../lib/jsxRuntime";
3
- import { Icon20Dropdown, Icon24ChevronDown } from "@vkontakte/icons";
5
+ import { Icon20Dropdown, Icon24ChevronDown, Icon24ChevronUp, Icon20ChevronUp } from "@vkontakte/icons";
6
+ import { classNames } from "../../lib/classNames";
4
7
  import { SizeType } from "../AdaptivityProvider/AdaptivityContext";
5
- import { getClassName } from "../../helpers/getClassName";
6
8
  import { useAdaptivity } from "../../hooks/useAdaptivity";
7
- import { usePlatform } from "../../hooks/usePlatform";
8
- import "./DropdownIcon.css";
9
- export var DropdownIcon = function DropdownIcon(props) {
10
- var platform = usePlatform();
9
+ export var DropdownIcon = function DropdownIcon(_ref) {
10
+ var _ref$opened = _ref.opened,
11
+ opened = _ref$opened === void 0 ? false : _ref$opened,
12
+ restProps = _objectWithoutProperties(_ref, _excluded);
11
13
 
12
14
  var _useAdaptivity = useAdaptivity(),
13
15
  sizeY = _useAdaptivity.sizeY;
14
16
 
15
17
  var Icon = sizeY === SizeType.COMPACT ? Icon20Dropdown : Icon24ChevronDown;
18
+
19
+ if (opened) {
20
+ Icon = sizeY === SizeType.COMPACT ? Icon20ChevronUp : Icon24ChevronUp;
21
+ }
22
+
16
23
  return createScopedElement(Icon, _extends({
17
- vkuiClass: getClassName("DropdownIcon", platform)
18
- }, props));
24
+ vkuiClass: classNames("DropdownIcon")
25
+ }, restProps));
19
26
  };
20
27
  //# sourceMappingURL=DropdownIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DropdownIcon/DropdownIcon.tsx"],"names":["Icon20Dropdown","Icon24ChevronDown","SizeType","getClassName","useAdaptivity","usePlatform","DropdownIcon","props","platform","sizeY","Icon","COMPACT"],"mappings":";;AACA,SAASA,cAAT,EAAyBC,iBAAzB,QAAkD,kBAAlD;AACA,SAASC,QAAT;AACA,SAASC,YAAT;AACA,SAASC,aAAT;AACA,SAASC,WAAT;AACA;AAEA,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAiD;AAC3E,MAAMC,QAAQ,GAAGH,WAAW,EAA5B;;AACA,uBAAkBD,aAAa,EAA/B;AAAA,MAAQK,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,IAAI,GAAGD,KAAK,KAAKP,QAAQ,CAACS,OAAnB,GAA6BX,cAA7B,GAA8CC,iBAA3D;AAEA,SAAO,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEE,YAAY,CAAC,cAAD,EAAiBK,QAAjB;AAA7B,KAA6DD,KAA7D,EAAP;AACD,CAPM","sourcesContent":["import * as React from \"react\";\nimport { Icon20Dropdown, Icon24ChevronDown } from \"@vkontakte/icons\";\nimport { SizeType } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./DropdownIcon.css\";\n\nexport const DropdownIcon = (props: React.HTMLAttributes<HTMLDivElement>) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n\n const Icon = sizeY === SizeType.COMPACT ? Icon20Dropdown : Icon24ChevronDown;\n\n return <Icon vkuiClass={getClassName(\"DropdownIcon\", platform)} {...props} />;\n};\n"],"file":"DropdownIcon.js"}
1
+ {"version":3,"sources":["../../../../src/components/DropdownIcon/DropdownIcon.tsx"],"names":["Icon20Dropdown","Icon24ChevronDown","Icon24ChevronUp","Icon20ChevronUp","classNames","SizeType","useAdaptivity","DropdownIcon","opened","restProps","sizeY","Icon","COMPACT"],"mappings":";;;;AACA,SACEA,cADF,EAEEC,iBAFF,EAGEC,eAHF,EAIEC,eAJF,QAKO,kBALP;AAMA,SAASC,UAAT;AACA,SAASC,QAAT;AACA,SAASC,aAAT;AAOA,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAGH;AAAA,yBAFvBC,MAEuB;AAAA,MAFvBA,MAEuB,4BAFd,KAEc;AAAA,MADpBC,SACoB;;AACvB,uBAAkBH,aAAa,EAA/B;AAAA,MAAQI,KAAR,kBAAQA,KAAR;;AAEA,MAAIC,IAAI,GAAGD,KAAK,KAAKL,QAAQ,CAACO,OAAnB,GAA6BZ,cAA7B,GAA8CC,iBAAzD;;AAEA,MAAIO,MAAJ,EAAY;AACVG,IAAAA,IAAI,GAAGD,KAAK,KAAKL,QAAQ,CAACO,OAAnB,GAA6BT,eAA7B,GAA+CD,eAAtD;AACD;;AAED,SAAO,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAEE,UAAU,CAAC,cAAD;AAA3B,KAAiDK,SAAjD,EAAP;AACD,CAbM","sourcesContent":["import * as React from \"react\";\nimport {\n Icon20Dropdown,\n Icon24ChevronDown,\n Icon24ChevronUp,\n Icon20ChevronUp,\n} from \"@vkontakte/icons\";\nimport { classNames } from \"../../lib/classNames\";\nimport { SizeType } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\n\nexport interface DropdownIconProps\n extends React.HTMLAttributes<HTMLDivElement> {\n opened?: boolean;\n}\n\nexport const DropdownIcon = ({\n opened = false,\n ...restProps\n}: DropdownIconProps) => {\n const { sizeY } = useAdaptivity();\n\n let Icon = sizeY === SizeType.COMPACT ? Icon20Dropdown : Icon24ChevronDown;\n\n if (opened) {\n Icon = sizeY === SizeType.COMPACT ? Icon20ChevronUp : Icon24ChevronUp;\n }\n\n return <Icon vkuiClass={classNames(\"DropdownIcon\")} {...restProps} />;\n};\n"],"file":"DropdownIcon.js"}
@@ -1,9 +1,9 @@
1
- .vkuiFormField{align-items:center;box-sizing:border-box;display:flex;min-height:44px;min-height:var(--vkui--size_field_height--regular,44px);position:relative}.vkuiFormField--sizeY-compact{min-height:36px;min-height:var(--vkui--size_field_height--compact,36px)}.vkuiFormField__after,.vkuiFormField__before{align-content:center;align-items:center;color:#99a2ad;color:var(--icon_secondary,var(--vkui--color_icon_secondary));display:flex;flex-shrink:0;height:100%;justify-content:center;min-width:44px;min-width:var(--vkui--size_field_height--regular,44px);position:relative;z-index:2}.vkuiFormField--sizeY-compact .vkuiFormField__after,.vkuiFormField--sizeY-compact .vkuiFormField__before{height:36px;height:var(--vkui--size_field_height--compact,36px);min-width:36px;min-width:var(--vkui--size_field_height--compact,36px)}.vkuiFormField__before{color:#2688eb;color:var(--accent,var(--vkui--color_icon_accent))}.vkuiFormField__after{color:#99a2ad;color:var(--icon_secondary,var(--vkui--color_icon_secondary))}.vkuiFormField__border{border:1px solid transparent;border:var(--thin-border) solid transparent;border-radius:8px;border-radius:var(--vkui--size_border_radius--regular,8px);box-sizing:border-box;height:100%;left:0;position:absolute;top:0;-webkit-transform-origin:left top;transform-origin:left top;width:100%;z-index:1}.vkuiFormField--default .vkuiFormField__border{background-color:#f2f3f5;background-color:var(
1
+ .vkuiFormField{align-items:center;box-sizing:border-box;display:flex;min-height:44px;min-height:var(--vkui--size_field_height--regular,44px);position:relative;z-index:1}.vkuiFormField>*{border-radius:inherit;z-index:6}.vkuiFormField--sizeY-compact{min-height:36px;min-height:var(--vkui--size_field_height--compact,36px)}.vkuiFormField__after,.vkuiFormField__before{align-content:center;align-items:center;color:#99a2ad;color:var(--icon_secondary,var(--vkui--color_icon_secondary));display:flex;flex-shrink:0;height:100%;justify-content:center;min-width:44px;min-width:var(--vkui--size_field_height--regular,44px);position:relative;z-index:7}.vkuiFormField--sizeY-compact .vkuiFormField__after,.vkuiFormField--sizeY-compact .vkuiFormField__before{height:36px;height:var(--vkui--size_field_height--compact,36px);min-width:36px;min-width:var(--vkui--size_field_height--compact,36px)}.vkuiFormField__before{color:#2688eb;color:var(--accent,var(--vkui--color_icon_accent))}.vkuiFormField__after{color:#99a2ad;color:var(--icon_secondary,var(--vkui--color_icon_secondary))}.vkuiFormField__border{border:1px solid transparent;border:var(--thin-border) solid transparent;border-radius:8px;border-radius:var(--vkui--size_border_radius--regular,8px);box-sizing:border-box;height:100%;left:0;position:absolute;top:0;-webkit-transform-origin:left top;transform-origin:left top;width:100%;z-index:1}.vkuiFormField--default .vkuiFormField__border{background-color:#f2f3f5;background-color:var(
2
2
  --field_background,var(--vkui--color_field_background)
3
- );border-color:rgba(0,0,0,.12);border-color:var(--field_border,var(--vkui--color_field_border_alpha))}.vkuiFormItem--error .vkuiFormField__border{background-color:#faebeb;background-color:var(
3
+ );border-color:rgba(0,0,0,.12);border-color:var(--field_border,var(--vkui--color_field_border_alpha))}.vkuiFormField--status-error .vkuiFormField__border,.vkuiFormItem--error .vkuiFormField__border{background-color:#faebeb;background-color:var(
4
4
  --field_error_background,var(--vkui--color_background_negative_tint)
5
- );border-color:#e64646;border-color:var(--field_error_border,var(--vkui--color_stroke_negative))}.vkuiFormItem--valid .vkuiFormField__border{border-color:#4bb34b;border-color:var(--field_valid_border,var(--vkui--color_stroke_positive))}.vkuiFormField--disabled{cursor:default;opacity:.64;opacity:var(--vkui--opacity_disable_accessibility,.64);pointer-events:none}.vkuiFormField--hover .vkuiFormField__border{background-color:#f2f3f5;background-color:var(
5
+ );border-color:#e64646;border-color:var(--field_error_border,var(--vkui--color_stroke_negative));z-index:3}.vkuiFormField--status-valid .vkuiFormField__border,.vkuiFormItem--valid .vkuiFormField__border{border-color:#4bb34b;border-color:var(--field_valid_border,var(--vkui--color_stroke_positive));z-index:3}.vkuiFormField--disabled{cursor:default;opacity:.64;opacity:var(--vkui--opacity_disable_accessibility,.64);pointer-events:none}.vkuiFormField--hover .vkuiFormField__border{background-color:#f2f3f5;background-color:var(
6
6
  --field_background,var(--vkui--color_field_background)
7
7
  )}.vkuiFormField--default.vkuiFormField--hover .vkuiFormField__border{border-color:rgba(0,0,0,.24);border-color:var(
8
8
  --icon_tertiary_alpha,var(--vkui--color_field_border_alpha--hover)
9
- )}.vkuiChipsInput--focused .vkuiFormField__border,.vkuiFormField :focus~.vkuiFormField__border,.vkuiFormField:focus-within .vkuiFormField__border{border-color:#2688eb;border-color:var(--accent,var(--vkui--color_stroke_accent))}.vkuiModalCardBase__header+.vkuiFormField,.vkuiModalCardBase__subheader+.vkuiFormField{margin-top:16px}.vkuiSelect--pop-down .vkuiFormField__border{border-bottom-left-radius:0;border-bottom-right-radius:0}.vkuiSelect--pop-up .vkuiFormField__border{border-top-left-radius:0;border-top-right-radius:0}.vkuiCalendarHeader__picker .vkuiFormField__after{min-width:12px;padding-right:8px}.vkuiChipsInput .vkuiFormField__after{z-index:3}
9
+ );z-index:4}.vkuiFormField :focus~.vkuiFormField__border,.vkuiFormField:focus-within .vkuiFormField__border{border-color:#2688eb;border-color:var(--accent,var(--vkui--color_stroke_accent));z-index:5}.vkuiModalCardBase__header+.vkuiFormField,.vkuiModalCardBase__subheader+.vkuiFormField{margin-top:16px}.vkuiSelect--pop-down .vkuiFormField__border{border-bottom-left-radius:0;border-bottom-right-radius:0}.vkuiSelect--pop-up .vkuiFormField__border{border-top-left-radius:0;border-top-right-radius:0}.vkuiCalendarHeader__picker .vkuiFormField__after{min-width:12px;padding-right:8px}.vkuiChipsInput .vkuiFormField__after{z-index:7}.vkuiFormLayoutGroup--segmented .vkuiFormField{z-index:auto}.vkuiFormLayoutGroup--segmented .vkuiRemovable__content>.vkuiFormItem:not(:first-of-type):not(:last-of-type) .vkuiFormField__border,.vkuiFormLayoutGroup--segmented>.vkuiFormItem:not(:first-of-type):not(:last-of-type) .vkuiFormField__border{border-radius:0}.vkuiFormLayoutGroup--segmented .vkuiRemovable__content>:first-of-type:not(:last-of-type) .vkuiFormField__border,.vkuiFormLayoutGroup--segmented>:first-of-type:not(:last-of-type) .vkuiFormField__border{border-bottom-right-radius:0;border-top-right-radius:0}.vkuiFormLayoutGroup--segmented .vkuiRemovable__content>.vkuiFormItem:not(:first-of-type):last-of-type .vkuiFormField__border,.vkuiFormLayoutGroup--segmented>.vkuiFormItem:not(:first-of-type):last-of-type .vkuiFormField__border{border-bottom-left-radius:0;border-top-left-radius:0}
@@ -6,6 +6,7 @@ export declare const FormFieldMode: {
6
6
  readonly plain: "plain";
7
7
  };
8
8
  export interface FormFieldProps {
9
+ status?: "default" | "error" | "valid";
9
10
  /**
10
11
  * Добавляет иконку слева.
11
12
  *
@@ -32,5 +33,5 @@ interface FormFieldOwnProps extends React.AllHTMLAttributes<HTMLElement>, HasRoo
32
33
  /**
33
34
  * @see https://vkcom.github.io/VKUI/#/FormField
34
35
  */
35
- export declare const FormField: ({ Component, children, getRootRef, before, after, disabled, mode, ...restProps }: FormFieldOwnProps) => JSX.Element;
36
+ export declare const FormField: ({ Component, status, children, getRootRef, before, after, disabled, mode, ...restProps }: FormFieldOwnProps) => JSX.Element;
36
37
  export {};
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["Component", "children", "getRootRef", "before", "after", "disabled", "mode"];
4
+ var _excluded = ["Component", "status", "children", "getRootRef", "before", "after", "disabled", "mode"];
5
5
  import { createScopedElement } from "../../lib/jsxRuntime";
6
6
  import * as React from "react";
7
7
  import { classNames } from "../../lib/classNames";
@@ -18,6 +18,8 @@ export var FormFieldMode = {
18
18
  export var FormField = function FormField(_ref) {
19
19
  var _ref$Component = _ref.Component,
20
20
  Component = _ref$Component === void 0 ? "div" : _ref$Component,
21
+ _ref$status = _ref.status,
22
+ status = _ref$status === void 0 ? "default" : _ref$status,
21
23
  children = _ref.children,
22
24
  getRootRef = _ref.getRootRef,
23
25
  before = _ref.before,
@@ -51,7 +53,7 @@ export var FormField = function FormField(_ref) {
51
53
  ref: getRootRef,
52
54
  onMouseEnter: handleMouseEnter,
53
55
  onMouseLeave: handleMouseLeave,
54
- vkuiClass: classNames("FormField", "FormField--".concat(mode), "FormField--sizeY-".concat(sizeY), // TODO v5.0.0 поправить под новую адаптивность
56
+ vkuiClass: classNames("FormField", "FormField--".concat(mode), "FormField--status-".concat(status), "FormField--sizeY-".concat(sizeY), // TODO v5.0.0 поправить под новую адаптивность
55
57
  disabled && "FormField--disabled", !disabled && hover && "FormField--hover")
56
58
  }), before && createScopedElement("div", {
57
59
  role: "presentation",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormField/FormField.tsx"],"names":["React","classNames","useAdaptivity","FormFieldMode","default","plain","FormField","Component","children","getRootRef","before","after","disabled","mode","restProps","sizeY","useState","hover","setHover","handleMouseEnter","e","stopPropagation","handleMouseLeave"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AAEA,SAASC,aAAT;AACA;AAEA,OAAO,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,OAAO,EAAE,SADkB;AAE3BC,EAAAA,KAAK,EAAE;AAFoB,CAAtB;;AAmCP;AACA;AACA;AACA,OAAO,IAAMC,SAAS,GAAG,SAAZA,SAAY,OASA;AAAA,4BARvBC,SAQuB;AAAA,MARvBA,SAQuB,+BARX,KAQW;AAAA,MAPvBC,QAOuB,QAPvBA,QAOuB;AAAA,MANvBC,UAMuB,QANvBA,UAMuB;AAAA,MALvBC,MAKuB,QALvBA,MAKuB;AAAA,MAJvBC,KAIuB,QAJvBA,KAIuB;AAAA,MAHvBC,QAGuB,QAHvBA,QAGuB;AAAA,uBAFvBC,IAEuB;AAAA,MAFvBA,IAEuB,0BAFhBV,aAAa,CAACC,OAEE;AAAA,MADpBU,SACoB;;AACvB,uBAAkBZ,aAAa,EAA/B;AAAA,MAAQa,KAAR,kBAAQA,KAAR;;AACA,wBAA0Bf,KAAK,CAACgB,QAAN,CAAe,KAAf,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,CAAD,EAAmB;AAC1CA,IAAAA,CAAC,CAACC,eAAF;AACAH,IAAAA,QAAQ,CAAC,IAAD,CAAR;AACD,GAHD;;AAKA,MAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACF,CAAD,EAAmB;AAC1CA,IAAAA,CAAC,CAACC,eAAF;AACAH,IAAAA,QAAQ,CAAC,KAAD,CAAR;AACD,GAHD;;AAKA,SACE,oBAAC,SAAD;AACE,IAAA,IAAI,EAAC;AADP,KAEMJ,SAFN;AAGE,IAAA,GAAG,EAAEL,UAHP;AAIE,IAAA,YAAY,EAAEU,gBAJhB;AAKE,IAAA,YAAY,EAAEG,gBALhB;AAME,IAAA,SAAS,EAAErB,UAAU,CACnB,WADmB,uBAELY,IAFK,8BAGCE,KAHD,GAGU;AAC7BH,IAAAA,QAAQ,IAAI,qBAJO,EAKnB,CAACA,QAAD,IAAaK,KAAb,IAAsB,kBALH;AANvB,MAcGP,MAAM,IACL;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGA,MADH,CAfJ,EAmBGF,QAnBH,EAoBGG,KAAK,IACJ;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGA,KADH,CArBJ,EAyBE;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,IAzBF,CADF;AA6BD,CApDM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport \"./FormField.css\";\n\nexport const FormFieldMode = {\n default: \"default\",\n plain: \"plain\",\n} as const;\n\nexport interface FormFieldProps {\n /**\n * Добавляет иконку слева.\n *\n * Рекомендации:\n *\n * - Используйте следующие размеры иконок `12` | `16` | `20` | `24` | `28`.\n * - Используйте [IconButton](https://vkcom.github.io/VKUI/#/IconButton), если вам нужна кликабельная иконка.\n */\n before?: React.ReactNode;\n /**\n * Добавляет иконку справа.\n *\n * Рекомендации:\n *\n * - Используйте следующие размеры иконок `12` | `16` | `20` | `24` | `28`.\n * - Используйте [IconButton](https://vkcom.github.io/VKUI/#/IconButton), если вам нужна кликабельная иконка.\n */\n after?: React.ReactNode;\n mode?: keyof typeof FormFieldMode;\n}\n\ninterface FormFieldOwnProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n FormFieldProps {\n disabled?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FormField\n */\nexport const FormField = ({\n Component = \"div\",\n children,\n getRootRef,\n before,\n after,\n disabled,\n mode = FormFieldMode.default,\n ...restProps\n}: FormFieldOwnProps) => {\n const { sizeY } = useAdaptivity();\n const [hover, setHover] = React.useState(false);\n\n const handleMouseEnter = (e: MouseEvent) => {\n e.stopPropagation();\n setHover(true);\n };\n\n const handleMouseLeave = (e: MouseEvent) => {\n e.stopPropagation();\n setHover(false);\n };\n\n return (\n <Component\n role=\"presentation\"\n {...restProps}\n ref={getRootRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n vkuiClass={classNames(\n \"FormField\",\n `FormField--${mode}`,\n `FormField--sizeY-${sizeY}`, // TODO v5.0.0 поправить под новую адаптивность\n disabled && \"FormField--disabled\",\n !disabled && hover && \"FormField--hover\"\n )}\n >\n {before && (\n <div role=\"presentation\" vkuiClass=\"FormField__before\">\n {before}\n </div>\n )}\n {children}\n {after && (\n <div role=\"presentation\" vkuiClass=\"FormField__after\">\n {after}\n </div>\n )}\n <div role=\"presentation\" vkuiClass=\"FormField__border\" />\n </Component>\n );\n};\n"],"file":"FormField.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormField/FormField.tsx"],"names":["React","classNames","useAdaptivity","FormFieldMode","default","plain","FormField","Component","status","children","getRootRef","before","after","disabled","mode","restProps","sizeY","useState","hover","setHover","handleMouseEnter","e","stopPropagation","handleMouseLeave"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AAEA,SAASC,aAAT;AACA;AAEA,OAAO,IAAMC,aAAa,GAAG;AAC3BC,EAAAA,OAAO,EAAE,SADkB;AAE3BC,EAAAA,KAAK,EAAE;AAFoB,CAAtB;;AAoCP;AACA;AACA;AACA,OAAO,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAUA;AAAA,4BATvBC,SASuB;AAAA,MATvBA,SASuB,+BATX,KASW;AAAA,yBARvBC,MAQuB;AAAA,MARvBA,MAQuB,4BARd,SAQc;AAAA,MAPvBC,QAOuB,QAPvBA,QAOuB;AAAA,MANvBC,UAMuB,QANvBA,UAMuB;AAAA,MALvBC,MAKuB,QALvBA,MAKuB;AAAA,MAJvBC,KAIuB,QAJvBA,KAIuB;AAAA,MAHvBC,QAGuB,QAHvBA,QAGuB;AAAA,uBAFvBC,IAEuB;AAAA,MAFvBA,IAEuB,0BAFhBX,aAAa,CAACC,OAEE;AAAA,MADpBW,SACoB;;AACvB,uBAAkBb,aAAa,EAA/B;AAAA,MAAQc,KAAR,kBAAQA,KAAR;;AACA,wBAA0BhB,KAAK,CAACiB,QAAN,CAAe,KAAf,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AAEA,MAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,CAAD,EAAmB;AAC1CA,IAAAA,CAAC,CAACC,eAAF;AACAH,IAAAA,QAAQ,CAAC,IAAD,CAAR;AACD,GAHD;;AAKA,MAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACF,CAAD,EAAmB;AAC1CA,IAAAA,CAAC,CAACC,eAAF;AACAH,IAAAA,QAAQ,CAAC,KAAD,CAAR;AACD,GAHD;;AAKA,SACE,oBAAC,SAAD;AACE,IAAA,IAAI,EAAC;AADP,KAEMJ,SAFN;AAGE,IAAA,GAAG,EAAEL,UAHP;AAIE,IAAA,YAAY,EAAEU,gBAJhB;AAKE,IAAA,YAAY,EAAEG,gBALhB;AAME,IAAA,SAAS,EAAEtB,UAAU,CACnB,WADmB,uBAELa,IAFK,+BAGEN,MAHF,8BAICQ,KAJD,GAIU;AAC7BH,IAAAA,QAAQ,IAAI,qBALO,EAMnB,CAACA,QAAD,IAAaK,KAAb,IAAsB,kBANH;AANvB,MAeGP,MAAM,IACL;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGA,MADH,CAhBJ,EAoBGF,QApBH,EAqBGG,KAAK,IACJ;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGA,KADH,CAtBJ,EA0BE;AAAK,IAAA,IAAI,EAAC,cAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,IA1BF,CADF;AA8BD,CAtDM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport \"./FormField.css\";\n\nexport const FormFieldMode = {\n default: \"default\",\n plain: \"plain\",\n} as const;\n\nexport interface FormFieldProps {\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Добавляет иконку слева.\n *\n * Рекомендации:\n *\n * - Используйте следующие размеры иконок `12` | `16` | `20` | `24` | `28`.\n * - Используйте [IconButton](https://vkcom.github.io/VKUI/#/IconButton), если вам нужна кликабельная иконка.\n */\n before?: React.ReactNode;\n /**\n * Добавляет иконку справа.\n *\n * Рекомендации:\n *\n * - Используйте следующие размеры иконок `12` | `16` | `20` | `24` | `28`.\n * - Используйте [IconButton](https://vkcom.github.io/VKUI/#/IconButton), если вам нужна кликабельная иконка.\n */\n after?: React.ReactNode;\n mode?: keyof typeof FormFieldMode;\n}\n\ninterface FormFieldOwnProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n FormFieldProps {\n disabled?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FormField\n */\nexport const FormField = ({\n Component = \"div\",\n status = \"default\",\n children,\n getRootRef,\n before,\n after,\n disabled,\n mode = FormFieldMode.default,\n ...restProps\n}: FormFieldOwnProps) => {\n const { sizeY } = useAdaptivity();\n const [hover, setHover] = React.useState(false);\n\n const handleMouseEnter = (e: MouseEvent) => {\n e.stopPropagation();\n setHover(true);\n };\n\n const handleMouseLeave = (e: MouseEvent) => {\n e.stopPropagation();\n setHover(false);\n };\n\n return (\n <Component\n role=\"presentation\"\n {...restProps}\n ref={getRootRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n vkuiClass={classNames(\n \"FormField\",\n `FormField--${mode}`,\n `FormField--status-${status}`,\n `FormField--sizeY-${sizeY}`, // TODO v5.0.0 поправить под новую адаптивность\n disabled && \"FormField--disabled\",\n !disabled && hover && \"FormField--hover\"\n )}\n >\n {before && (\n <div role=\"presentation\" vkuiClass=\"FormField__before\">\n {before}\n </div>\n )}\n {children}\n {after && (\n <div role=\"presentation\" vkuiClass=\"FormField__after\">\n {after}\n </div>\n )}\n <div role=\"presentation\" vkuiClass=\"FormField__border\" />\n </Component>\n );\n};\n"],"file":"FormField.js"}
@@ -1 +1 @@
1
- .vkuiFormItem{display:block;padding:12px 16px;padding:var(--vkui--size_form_item_padding_vertical--regular,12px) var(--vkui--size_base_padding_horizontal--regular,16px)}.vkuiFormItem--removable{padding-left:0;padding-right:0}.vkuiFormItem__removable{flex-basis:0;flex-grow:1;flex-shrink:0;max-width:100%;min-width:1px;overflow:hidden;padding:0}.vkuiFormItem__top{color:#6d7885;color:var(--text_subhead,var(--vkui--color_text_subhead));overflow:hidden;padding-bottom:8px;padding-top:2px;text-overflow:ellipsis;white-space:nowrap}.vkuiFormItem__bottom{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary));padding-top:8px}.vkuiFormItem--error .vkuiFormItem__bottom{color:#e64646;color:var(--field_error_border,var(--vkui--color_text_negative))}.vkuiFormItem--valid .vkuiFormItem__bottom,.vkuiFormItem--verified .vkuiFormItem__bottom{color:#4bb34b;color:var(--field_valid_border,var(--vkui--color_text_positive))}.vkuiFormItem--sizeY-compact .vkuiFormItem__top{padding-bottom:6px}.vkuiFormItem--sizeY-compact .vkuiFormItem__bottom{padding-top:6px}.vkuiFormItem--ios{--formitem_padding:12px}.vkuiFormLayoutGroup--horizontal .vkuiFormItem{flex-basis:0;flex-grow:1;flex-shrink:0;max-width:100%;min-width:1px;padding:0}.vkuiFormLayoutGroup--horizontal .vkuiFormItem+.vkuiFormItem{margin-left:24px}.vkuiFormItem--withTop .vkuiFormItem__removable,.vkuiFormLayoutGroup--removable .vkuiFormItem--withTop{margin-top:calc(-2px - 18px - 8px);margin-top:calc(-2px - var(--vkui--font_subhead--line_height--regular,18px) - 8px)}.vkuiFormItem--withTop.vkuiFormItem--sizeY-compact .vkuiFormItem__removable,.vkuiFormLayoutGroup--removable .vkuiFormItem--withTop.vkuiFormItem--sizeY-compact{margin-top:calc(-2px - 16px - 6px);margin-top:calc(-2px - var(--vkui--font_subhead--line_height--compact,16px) - 6px)}
1
+ .vkuiFormItem{display:block;padding:12px 16px;padding:var(--vkui--size_form_item_padding_vertical--regular,12px) var(--vkui--size_base_padding_horizontal--regular,16px)}.vkuiFormItem--removable{padding-left:0;padding-right:0}.vkuiFormItem__removable{flex-basis:0;flex-grow:1;flex-shrink:0;max-width:100%;min-width:1px;overflow:hidden;padding:0}.vkuiFormItem__top{color:#6d7885;color:var(--text_subhead,var(--vkui--color_text_subhead));overflow:hidden;padding-bottom:8px;padding-top:2px;text-overflow:ellipsis;white-space:nowrap}.vkuiFormItem__bottom{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary));padding-top:8px}.vkuiFormItem--error .vkuiFormItem__bottom{color:#e64646;color:var(--field_error_border,var(--vkui--color_text_negative))}.vkuiFormItem--valid .vkuiFormItem__bottom,.vkuiFormItem--verified .vkuiFormItem__bottom{color:#4bb34b;color:var(--field_valid_border,var(--vkui--color_text_positive))}.vkuiFormItem--sizeY-compact .vkuiFormItem__top{padding-bottom:6px}.vkuiFormItem--sizeY-compact .vkuiFormItem__bottom{padding-top:6px}.vkuiFormItem--ios{--formitem_padding:12px}.vkuiFormLayoutGroup--horizontal .vkuiFormItem{flex-basis:0;flex-grow:1;flex-shrink:0;max-width:100%;min-width:1px;padding:0}.vkuiFormLayoutGroup--horizontal:not(.vkuiFormLayoutGroup--segmented) .vkuiFormItem+.vkuiFormItem{margin-left:24px}.vkuiFormItem--withTop .vkuiFormItem__removable,.vkuiFormLayoutGroup--horizontal .vkuiFormItem--withTop{margin-top:calc(-2px - 18px - 8px);margin-top:calc(-2px - var(--vkui--font_subhead--line_height--regular,18px) - 8px)}.vkuiFormItem--withTop.vkuiFormItem--sizeY-compact .vkuiFormItem__removable,.vkuiFormLayoutGroup--horizontal .vkuiFormItem--withTop.vkuiFormItem--sizeY-compact{margin-top:calc(-2px - 16px - 6px);margin-top:calc(-2px - var(--vkui--font_subhead--line_height--compact,16px) - 6px)}
@@ -1 +1 @@
1
- .vkuiFormLayoutGroup--horizontal{display:flex;padding:12px 16px;padding:var(--vkui--size_form_item_padding_vertical--regular,12px) var(--vkui--size_base_padding_horizontal--regular,16px)}.vkuiFormLayoutGroup__removable{flex-grow:1;max-width:100%;min-width:0}.vkuiFormLayoutGroup--ios{--formitem_padding:12px}.vkuiFormLayoutGroup--removable{padding-left:0;padding-right:0}
1
+ .vkuiFormLayoutGroup--horizontal{align-items:flex-start;display:flex;flex-wrap:wrap;padding:12px 16px;padding:var(--vkui--size_form_item_padding_vertical--regular,12px) var(--vkui--size_base_padding_horizontal--regular,16px)}.vkuiFormLayoutGroup__removable{flex-grow:1;max-width:100%;min-width:0}.vkuiFormLayoutGroup__offset{display:none}.vkuiFormLayoutGroup--horizontal .vkuiFormItem--withTop~.vkuiFormLayoutGroup__offset{display:block;height:calc(2px + 18px + 8px);height:calc(2px + var(--vkui--font_subhead--line_height--regular,18px) + 8px);min-width:100%;order:-1}.vkuiFormLayoutGroup--sizeY-compact.vkuiFormLayoutGroup--horizontal .vkuiFormItem--withTop~.vkuiFormLayoutGroup__offset{height:calc(2px + 16px + 6px);height:calc(2px + var(--vkui--font_subhead--line_height--compact,16px) + 6px)}.vkuiFormLayoutGroup--ios{--formitem_padding:12px}.vkuiFormLayoutGroup--removable{padding-left:0;padding-right:0}.vkuiFormLayoutGroup--segmented{position:relative;z-index:1}.vkuiFormLayoutGroup--segmented>*{flex:1;min-width:0}.vkuiFormLayoutGroup--segmented>:not(:first-child){margin-left:calc(-1 * 1px);margin-left:calc(-1 * var(--thin-border))}
@@ -8,8 +8,12 @@ export interface FormLayoutGroupProps extends React.HTMLAttributes<HTMLDivElemen
8
8
  * Только для режима horizontal. Дает возможность удалить всю группу `FormItem`.
9
9
  */
10
10
  removable?: boolean;
11
+ /**
12
+ * Только для режима horizontal. Дает возможность склеить несколько `FormItem`.
13
+ */
14
+ segmented?: boolean;
11
15
  }
12
16
  /**
13
17
  * @see https://vkcom.github.io/VKUI/#/FormLayoutGroup
14
18
  */
15
- export declare const FormLayoutGroup: ({ children, mode, removable, removePlaceholder, onRemove, getRootRef, ...restProps }: FormLayoutGroupProps) => JSX.Element;
19
+ export declare const FormLayoutGroup: ({ children, mode, removable, segmented, removePlaceholder, onRemove, getRootRef, ...restProps }: FormLayoutGroupProps) => JSX.Element;
@@ -1,7 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "mode", "removable", "removePlaceholder", "onRemove", "getRootRef"];
3
+ var _excluded = ["children", "mode", "removable", "segmented", "removePlaceholder", "onRemove", "getRootRef"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
+ import * as React from "react";
5
6
  import { getClassName } from "../../helpers/getClassName";
6
7
  import { classNames } from "../../lib/classNames";
7
8
  import { noop } from "../../lib/utils";
@@ -19,6 +20,7 @@ export var FormLayoutGroup = function FormLayoutGroup(_ref) {
19
20
  _ref$mode = _ref.mode,
20
21
  mode = _ref$mode === void 0 ? "vertical" : _ref$mode,
21
22
  removable = _ref.removable,
23
+ segmented = _ref.segmented,
22
24
  _ref$removePlaceholde = _ref.removePlaceholder,
23
25
  removePlaceholder = _ref$removePlaceholde === void 0 ? "Удалить" : _ref$removePlaceholde,
24
26
  _ref$onRemove = _ref.onRemove,
@@ -32,11 +34,12 @@ export var FormLayoutGroup = function FormLayoutGroup(_ref) {
32
34
  sizeY = _useAdaptivity.sizeY;
33
35
 
34
36
  var isRemovable = removable && mode === "horizontal";
37
+ var isSegmented = segmented && mode === "horizontal";
35
38
  var rootEl = useExternRef(getRootRef);
36
39
  return createScopedElement("div", _extends({
37
40
  ref: rootEl,
38
41
  vkuiClass: classNames(getClassName("FormLayoutGroup", platform), // TODO: v5 remove
39
- "FormLayoutGroup--sizeY-".concat(sizeY), "FormLayoutGroup--".concat(mode), isRemovable && "FormLayoutGroup--removable")
42
+ "FormLayoutGroup--sizeY-".concat(sizeY), "FormLayoutGroup--".concat(mode), isRemovable && "FormLayoutGroup--removable", isSegmented && "FormLayoutGroup--segmented")
40
43
  }, restProps), isRemovable ? createScopedElement(Removable, {
41
44
  vkuiClass: "FormLayoutGroup__removable",
42
45
  align: "start",
@@ -46,6 +49,9 @@ export var FormLayoutGroup = function FormLayoutGroup(_ref) {
46
49
  _onRemove(e, rootEl.current);
47
50
  }
48
51
  }
49
- }, children) : children);
52
+ }, children) : createScopedElement(React.Fragment, null, children, createScopedElement("span", {
53
+ vkuiClass: "FormLayoutGroup__offset",
54
+ "aria-hidden": true
55
+ })));
50
56
  };
51
57
  //# sourceMappingURL=FormLayoutGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormLayoutGroup/FormLayoutGroup.tsx"],"names":["getClassName","classNames","noop","useExternRef","usePlatform","Removable","useAdaptivity","FormLayoutGroup","children","mode","removable","removePlaceholder","onRemove","getRootRef","restProps","platform","sizeY","isRemovable","rootEl","e","current"],"mappings":";;;;AAEA,SAASA,YAAT;AACA,SAASC,UAAT;AACA,SAASC,IAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,SAAT;AACA,SAASC,aAAT;AACA;;AAaA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,OAQH;AAAA,MAP1BC,QAO0B,QAP1BA,QAO0B;AAAA,uBAN1BC,IAM0B;AAAA,MAN1BA,IAM0B,0BANnB,UAMmB;AAAA,MAL1BC,SAK0B,QAL1BA,SAK0B;AAAA,mCAJ1BC,iBAI0B;AAAA,MAJ1BA,iBAI0B,sCAJN,SAIM;AAAA,2BAH1BC,QAG0B;AAAA,MAH1BA,SAG0B,8BAHfV,IAGe;AAAA,MAF1BW,UAE0B,QAF1BA,UAE0B;AAAA,MADvBC,SACuB;;AAC1B,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;;AACA,uBAAkBE,aAAa,EAA/B;AAAA,MAAQU,KAAR,kBAAQA,KAAR;;AACA,MAAMC,WAAW,GAAGP,SAAS,IAAID,IAAI,KAAK,YAA1C;AACA,MAAMS,MAAM,GAAGf,YAAY,CAACU,UAAD,CAA3B;AAEA,SACE;AACE,IAAA,GAAG,EAAEK,MADP;AAEE,IAAA,SAAS,EAAEjB,UAAU,CACnBD,YAAY,CAAC,iBAAD,EAAoBe,QAApB,CADO,EACwB;AADxB,qCAEOC,KAFP,8BAGCP,IAHD,GAInBQ,WAAW,IAAI,4BAJI;AAFvB,KAQMH,SARN,GAUGG,WAAW,GACV,oBAAC,SAAD;AACE,IAAA,SAAS,EAAC,4BADZ;AAEE,IAAA,KAAK,EAAC,OAFR;AAGE,IAAA,iBAAiB,EAAEN,iBAHrB;AAIE,IAAA,QAAQ,EAAE,kBAACQ,CAAD,EAAO;AACf,UAAID,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEE,OAAZ,EAAqB;AACnBR,QAAAA,SAAQ,CAACO,CAAD,EAAID,MAAM,CAACE,OAAX,CAAR;AACD;AACF;AARH,KAUGZ,QAVH,CADU,GAcVA,QAxBJ,CADF;AA6BD,CA3CM","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { noop } from \"../../lib/utils\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport \"./FormLayoutGroup.css\";\n\nexport interface FormLayoutGroupProps\n extends React.HTMLAttributes<HTMLDivElement>,\n RemovableProps,\n HasRootRef<HTMLDivElement> {\n mode?: \"vertical\" | \"horizontal\";\n /**\n * Только для режима horizontal. Дает возможность удалить всю группу `FormItem`.\n */\n removable?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FormLayoutGroup\n */\nexport const FormLayoutGroup = ({\n children,\n mode = \"vertical\",\n removable,\n removePlaceholder = \"Удалить\",\n onRemove = noop,\n getRootRef,\n ...restProps\n}: FormLayoutGroupProps) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const isRemovable = removable && mode === \"horizontal\";\n const rootEl = useExternRef(getRootRef);\n\n return (\n <div\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormLayoutGroup\", platform), // TODO: v5 remove\n `FormLayoutGroup--sizeY-${sizeY}`,\n `FormLayoutGroup--${mode}`,\n isRemovable && \"FormLayoutGroup--removable\"\n )}\n {...restProps}\n >\n {isRemovable ? (\n <Removable\n vkuiClass=\"FormLayoutGroup__removable\"\n align=\"start\"\n removePlaceholder={removePlaceholder}\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n >\n {children}\n </Removable>\n ) : (\n children\n )}\n </div>\n );\n};\n"],"file":"FormLayoutGroup.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormLayoutGroup/FormLayoutGroup.tsx"],"names":["React","getClassName","classNames","noop","useExternRef","usePlatform","Removable","useAdaptivity","FormLayoutGroup","children","mode","removable","segmented","removePlaceholder","onRemove","getRootRef","restProps","platform","sizeY","isRemovable","isSegmented","rootEl","e","current"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,IAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,SAAT;AACA,SAASC,aAAT;AACA;;AAkBA;AACA;AACA;AACA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,OASH;AAAA,MAR1BC,QAQ0B,QAR1BA,QAQ0B;AAAA,uBAP1BC,IAO0B;AAAA,MAP1BA,IAO0B,0BAPnB,UAOmB;AAAA,MAN1BC,SAM0B,QAN1BA,SAM0B;AAAA,MAL1BC,SAK0B,QAL1BA,SAK0B;AAAA,mCAJ1BC,iBAI0B;AAAA,MAJ1BA,iBAI0B,sCAJN,SAIM;AAAA,2BAH1BC,QAG0B;AAAA,MAH1BA,SAG0B,8BAHfX,IAGe;AAAA,MAF1BY,UAE0B,QAF1BA,UAE0B;AAAA,MADvBC,SACuB;;AAC1B,MAAMC,QAAQ,GAAGZ,WAAW,EAA5B;;AACA,uBAAkBE,aAAa,EAA/B;AAAA,MAAQW,KAAR,kBAAQA,KAAR;;AACA,MAAMC,WAAW,GAAGR,SAAS,IAAID,IAAI,KAAK,YAA1C;AACA,MAAMU,WAAW,GAAGR,SAAS,IAAIF,IAAI,KAAK,YAA1C;AACA,MAAMW,MAAM,GAAGjB,YAAY,CAACW,UAAD,CAA3B;AAEA,SACE;AACE,IAAA,GAAG,EAAEM,MADP;AAEE,IAAA,SAAS,EAAEnB,UAAU,CACnBD,YAAY,CAAC,iBAAD,EAAoBgB,QAApB,CADO,EACwB;AADxB,qCAEOC,KAFP,8BAGCR,IAHD,GAInBS,WAAW,IAAI,4BAJI,EAKnBC,WAAW,IAAI,4BALI;AAFvB,KASMJ,SATN,GAWGG,WAAW,GACV,oBAAC,SAAD;AACE,IAAA,SAAS,EAAC,4BADZ;AAEE,IAAA,KAAK,EAAC,OAFR;AAGE,IAAA,iBAAiB,EAAEN,iBAHrB;AAIE,IAAA,QAAQ,EAAE,kBAACS,CAAD,EAAO;AACf,UAAID,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEE,OAAZ,EAAqB;AACnBT,QAAAA,SAAQ,CAACQ,CAAD,EAAID,MAAM,CAACE,OAAX,CAAR;AACD;AACF;AARH,KAUGd,QAVH,CADU,GAcV,oBAAC,KAAD,CAAO,QAAP,QACGA,QADH,EAEE;AAAM,IAAA,SAAS,EAAC,yBAAhB;AAA0C;AAA1C,IAFF,CAzBJ,CADF;AAiCD,CAjDM","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { noop } from \"../../lib/utils\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport \"./FormLayoutGroup.css\";\n\nexport interface FormLayoutGroupProps\n extends React.HTMLAttributes<HTMLDivElement>,\n RemovableProps,\n HasRootRef<HTMLDivElement> {\n mode?: \"vertical\" | \"horizontal\";\n /**\n * Только для режима horizontal. Дает возможность удалить всю группу `FormItem`.\n */\n removable?: boolean;\n\n /**\n * Только для режима horizontal. Дает возможность склеить несколько `FormItem`.\n */\n segmented?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FormLayoutGroup\n */\nexport const FormLayoutGroup = ({\n children,\n mode = \"vertical\",\n removable,\n segmented,\n removePlaceholder = \"Удалить\",\n onRemove = noop,\n getRootRef,\n ...restProps\n}: FormLayoutGroupProps) => {\n const platform = usePlatform();\n const { sizeY } = useAdaptivity();\n const isRemovable = removable && mode === \"horizontal\";\n const isSegmented = segmented && mode === \"horizontal\";\n const rootEl = useExternRef(getRootRef);\n\n return (\n <div\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormLayoutGroup\", platform), // TODO: v5 remove\n `FormLayoutGroup--sizeY-${sizeY}`,\n `FormLayoutGroup--${mode}`,\n isRemovable && \"FormLayoutGroup--removable\",\n isSegmented && \"FormLayoutGroup--segmented\"\n )}\n {...restProps}\n >\n {isRemovable ? (\n <Removable\n vkuiClass=\"FormLayoutGroup__removable\"\n align=\"start\"\n removePlaceholder={removePlaceholder}\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n >\n {children}\n </Removable>\n ) : (\n <React.Fragment>\n {children}\n <span vkuiClass=\"FormLayoutGroup__offset\" aria-hidden />\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"file":"FormLayoutGroup.js"}
@@ -1 +1,3 @@
1
- .vkuiFormStatus{background:#f2f3f5;background:var(--field_background);border-radius:10px;color:#6d7885;color:var(--text_subhead);padding:12px}.vkuiFormStatus b:first-child,.vkuiFormStatus__header{color:#000;color:var(--text_primary)}.vkuiFormStatus b:first-child,.vkuiFormStatus__header:not(:last-child){margin-bottom:2px}.vkuiFormStatus--error{background:#faebeb;background:var(--field_error_background);color:#e64646;color:var(--field_error_border)}.vkuiFormStatus--error .vkuiFormStatus b:first-child,.vkuiFormStatus--error .vkuiFormStatus__header{color:currentColor}.vkuiFormStatus b:first-child{display:block;font-size:16px;font-weight:500;line-height:20px}
1
+ .vkuiFormStatus{background:#f2f3f5;background:var(--field_background,var(--vkui--color_field_background));border-radius:10px;color:#6d7885;color:var(--text_subhead,var(--vkui--color_text_subhead));padding:12px}.vkuiFormStatus b:first-child,.vkuiFormStatus__header{color:#000;color:var(--text_primary,var(--vkui--color_text_primary))}.vkuiFormStatus b:first-child,.vkuiFormStatus__header:not(:last-child){margin-bottom:2px}.vkuiFormStatus--error{background:#faebeb;background:var(
2
+ --field_error_background,var(--vkui--color_background_negative_tint)
3
+ );color:#e64646;color:var(--field_error_border,var(--vkui--color_text_negative))}.vkuiFormStatus--error .vkuiFormStatus b:first-child,.vkuiFormStatus--error .vkuiFormStatus__header{color:currentColor}.vkuiFormStatus b:first-child{display:block;font-size:16px;font-weight:500;line-height:20px}
@@ -5,6 +5,7 @@ export interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {
5
5
  header?: React.ReactNode;
6
6
  }
7
7
  /**
8
+ * @deprecated Этот компонент устарел и будет удален в v5.0.0. Используйте [`Banner`](#/Banner).
8
9
  * @see https://vkcom.github.io/VKUI/#/FormStatus
9
10
  */
10
11
  export declare const FormStatus: ({ mode, header, children, dangerouslySetInnerHTML, ...restProps }: FormStatusProps) => JSX.Element;
@@ -3,14 +3,15 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  var _excluded = ["mode", "header", "children", "dangerouslySetInnerHTML"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import { classNames } from "../../lib/classNames";
6
- import { getClassName } from "../../helpers/getClassName";
7
- import { usePlatform } from "../../hooks/usePlatform";
8
6
  import { Headline } from "../Typography/Headline/Headline";
9
7
  import { Caption } from "../Typography/Caption/Caption";
10
8
  import { hasReactNode } from "../../lib/utils";
11
9
  import "./FormStatus.css";
12
10
 
11
+ /* TODO: v5.0.0 удалить */
12
+
13
13
  /**
14
+ * @deprecated Этот компонент устарел и будет удален в v5.0.0. Используйте [`Banner`](#/Banner).
14
15
  * @see https://vkcom.github.io/VKUI/#/FormStatus
15
16
  */
16
17
  export var FormStatus = function FormStatus(_ref) {
@@ -20,9 +21,8 @@ export var FormStatus = function FormStatus(_ref) {
20
21
  dangerouslySetInnerHTML = _ref.dangerouslySetInnerHTML,
21
22
  restProps = _objectWithoutProperties(_ref, _excluded);
22
23
 
23
- var platform = usePlatform();
24
24
  return createScopedElement("div", _extends({}, restProps, {
25
- vkuiClass: classNames(getClassName("FormStatus", platform), "FormStatus--".concat(mode))
25
+ vkuiClass: classNames("FormStatus", "FormStatus--".concat(mode))
26
26
  }), hasReactNode(header) && createScopedElement(Headline, {
27
27
  weight: "2",
28
28
  vkuiClass: "FormStatus__header"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormStatus/FormStatus.tsx"],"names":["classNames","getClassName","usePlatform","Headline","Caption","hasReactNode","FormStatus","mode","header","children","dangerouslySetInnerHTML","restProps","platform"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,QAAT;AACA,SAASC,OAAT;AACA,SAASC,YAAT;AACA;;AAOA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAMH;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,MAIqB,QAJrBA,MAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,uBAEqB,QAFrBA,uBAEqB;AAAA,MADlBC,SACkB;;AACrB,MAAMC,QAAQ,GAAGV,WAAW,EAA5B;AAEA,SACE,wCACMS,SADN;AAEE,IAAA,SAAS,EAAEX,UAAU,CACnBC,YAAY,CAAC,YAAD,EAAeW,QAAf,CADO,wBAEJL,IAFI;AAFvB,MAOGF,YAAY,CAACG,MAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,GAAjB;AAAqB,IAAA,SAAS,EAAC;AAA/B,KACGA,MADH,CARJ,EAYGE,uBAAuB,IACtB,oBAAC,OAAD;AAAS,IAAA,uBAAuB,EAAEA;AAAlC,IAbJ,EAeGL,YAAY,CAACI,QAAD,CAAZ,IAA0B,CAACC,uBAA3B,IACC,oBAAC,OAAD,QAAUD,QAAV,CAhBJ,CADF;AAqBD,CA9BM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./FormStatus.css\";\n\nexport interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"default\" | \"error\";\n header?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/FormStatus\n */\nexport const FormStatus = ({\n mode,\n header,\n children,\n dangerouslySetInnerHTML,\n ...restProps\n}: FormStatusProps) => {\n const platform = usePlatform();\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"FormStatus\", platform),\n `FormStatus--${mode}`\n )}\n >\n {hasReactNode(header) && (\n <Headline weight=\"2\" vkuiClass=\"FormStatus__header\">\n {header}\n </Headline>\n )}\n {dangerouslySetInnerHTML && (\n <Caption dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n {hasReactNode(children) && !dangerouslySetInnerHTML && (\n <Caption>{children}</Caption>\n )}\n </div>\n );\n};\n"],"file":"FormStatus.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormStatus/FormStatus.tsx"],"names":["classNames","Headline","Caption","hasReactNode","FormStatus","mode","header","children","dangerouslySetInnerHTML","restProps"],"mappings":";;;;AACA,SAASA,UAAT;AACA,SAASC,QAAT;AACA,SAASC,OAAT;AACA,SAASC,YAAT;AACA;;AAOA;;AAEA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAMH;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,MAIqB,QAJrBA,MAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,uBAEqB,QAFrBA,uBAEqB;AAAA,MADlBC,SACkB;;AACrB,SACE,wCACMA,SADN;AAEE,IAAA,SAAS,EAAET,UAAU,CAAC,YAAD,wBAA8BK,IAA9B;AAFvB,MAIGF,YAAY,CAACG,MAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,MAAM,EAAC,GAAjB;AAAqB,IAAA,SAAS,EAAC;AAA/B,KACGA,MADH,CALJ,EASGE,uBAAuB,IACtB,oBAAC,OAAD;AAAS,IAAA,uBAAuB,EAAEA;AAAlC,IAVJ,EAYGL,YAAY,CAACI,QAAD,CAAZ,IAA0B,CAACC,uBAA3B,IACC,oBAAC,OAAD,QAAUD,QAAV,CAbJ,CADF;AAkBD,CAzBM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./FormStatus.css\";\n\nexport interface FormStatusProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: \"default\" | \"error\";\n header?: React.ReactNode;\n}\n\n/* TODO: v5.0.0 удалить */\n\n/**\n * @deprecated Этот компонент устарел и будет удален в v5.0.0. Используйте [`Banner`](#/Banner).\n * @see https://vkcom.github.io/VKUI/#/FormStatus\n */\nexport const FormStatus = ({\n mode,\n header,\n children,\n dangerouslySetInnerHTML,\n ...restProps\n}: FormStatusProps) => {\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\"FormStatus\", `FormStatus--${mode}`)}\n >\n {hasReactNode(header) && (\n <Headline weight=\"2\" vkuiClass=\"FormStatus__header\">\n {header}\n </Headline>\n )}\n {dangerouslySetInnerHTML && (\n <Caption dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n {hasReactNode(children) && !dangerouslySetInnerHTML && (\n <Caption>{children}</Caption>\n )}\n </div>\n );\n};\n"],"file":"FormStatus.js"}
@@ -1 +1 @@
1
- .vkuiHeader{align-items:baseline;display:flex;justify-content:space-between;padding:0 16px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.vkuiHeader__main{color:#000;color:var(--text_primary);min-width:0;overflow:hidden;text-overflow:ellipsis}.vkuiHeader__content{align-items:baseline;display:flex}.vkuiHeader__content-in{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vkuiHeader__content-in--multiline{white-space:normal;word-break:break-word}.vkuiHeader--multiline{white-space:normal}.vkuiHeader__subtitle{color:#818c99;color:var(--text_secondary)}.vkuiHeader--mode-primary .vkuiHeader__content:not(:last-child){margin-top:-1px}.vkuiHeader--mode-secondary .vkuiHeader__main,.vkuiHeader--mode-tertiary .vkuiHeader__main{color:#818c99;color:var(--text_secondary)}.vkuiHeader--pi .vkuiHeader__main{color:#000;color:var(--text_primary)}.vkuiHeader__indicator{color:#818c99;color:var(--text_secondary);flex-shrink:0;margin-left:6px}.vkuiHeader--mode-primary .vkuiHeader__indicator{color:#6d7885;color:var(--text_subhead)}.vkuiHeader:not(.vkuiHeader--pi) .vkuiHeader__indicator{align-self:center}.vkuiHeader--mode-secondary .vkuiHeader__indicator{margin-left:8px}.vkuiHeader__aside{margin-left:12px;white-space:nowrap}.vkuiHeader__aside>.vkuiIcon{color:#99a2ad;color:var(--icon_secondary);position:relative}.vkuiHeader__aside>.vkuiIcon--24{top:3px}.vkuiHeader__aside>.vkuiIcon--16{top:1px}.vkuiHeader--android .vkuiHeader__main{margin:15px 0 9px}.vkuiHeader--android.vkuiHeader--mode-tertiary .vkuiHeader__main{margin-top:11px}.vkuiHeader--ios{padding:0 12px}.vkuiHeader--ios .vkuiHeader__main{margin:13px 0 9px}.vkuiHeader--ios.vkuiHeader--mode-secondary .vkuiHeader__main{margin:14px 0 10px}.vkuiHeader--ios.vkuiHeader--mode-tertiary .vkuiHeader__main{margin-top:9px}.vkuiHeader--vkcom{align-items:center;height:64px}.vkuiHeader--vkcom .vkuiHeader__main{color:#000;color:var(--text_primary)}.vkuiHeader--vkcom.vkuiHeader--mode-primary .vkuiHeader__content:not(:last-child){margin-top:0}.vkuiHeader--vkcom.vkuiHeader--mode-secondary{height:56px}.vkuiHeader--vkcom.vkuiHeader--mode-tertiary{height:40px}.vkuiGroup--plain:not(:first-of-type) .vkuiGroup__inner>.vkuiHeader:first-child{margin-top:-16px}.vkuiGroup--card>.vkuiGroup__inner>.vkuiHeader:not(.vkuiHeader--mode-tertiary):first-child{margin-top:-4px}
1
+ .vkuiHeader{align-items:baseline;display:flex;justify-content:space-between;padding:0 16px;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.vkuiHeader__main{color:#000;color:var(--text_primary,var(--vkui--color_text_primary));min-width:0;overflow:hidden;text-overflow:ellipsis}.vkuiHeader__content{align-items:baseline;display:flex}.vkuiHeader__content-in{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vkuiHeader__content-in--multiline{white-space:normal;word-break:break-word}.vkuiHeader--multiline{white-space:normal}.vkuiHeader__subtitle{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiHeader--mode-primary .vkuiHeader__content:not(:last-child){margin-top:-1px}.vkuiHeader--mode-secondary:not(.vkuiHeader--pi) .vkuiHeader__main,.vkuiHeader--mode-tertiary .vkuiHeader__main,.vkuiHeader__indicator{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiHeader__indicator{flex-shrink:0;margin-left:6px}.vkuiHeader--mode-primary .vkuiHeader__indicator{color:#6d7885;color:var(--text_subhead,var(--vkui--color_text_subhead))}.vkuiHeader:not(.vkuiHeader--pi) .vkuiHeader__indicator{align-self:center}.vkuiHeader--mode-secondary .vkuiHeader__indicator{margin-left:8px}.vkuiHeader__aside{margin-left:12px;white-space:nowrap}.vkuiHeader__aside>.vkuiIcon{color:#99a2ad;color:var(--icon_secondary,var(--vkui--color_icon_secondary));position:relative}.vkuiHeader__aside>.vkuiIcon--24{top:3px}.vkuiHeader__aside>.vkuiIcon--16{top:1px}.vkuiHeader--android .vkuiHeader__main{margin:15px 0 9px}.vkuiHeader--android.vkuiHeader--mode-tertiary .vkuiHeader__main{margin-top:11px}.vkuiHeader--ios{padding:0 12px}.vkuiHeader--ios .vkuiHeader__main{margin:13px 0 9px}.vkuiHeader--ios.vkuiHeader--mode-secondary .vkuiHeader__main{margin:14px 0 10px}.vkuiHeader--ios.vkuiHeader--mode-tertiary .vkuiHeader__main{margin-top:9px}.vkuiHeader--vkcom{align-items:center;height:64px}.vkuiHeader--vkcom .vkuiHeader__main{color:#000;color:var(--text_primary,var(--vkui--color_text_primary))}.vkuiHeader--vkcom.vkuiHeader--mode-primary .vkuiHeader__content:not(:last-child){margin-top:0}.vkuiHeader--vkcom.vkuiHeader--mode-secondary{height:56px}.vkuiHeader--vkcom.vkuiHeader--mode-tertiary{height:40px}.vkuiGroup--plain:not(:first-of-type) .vkuiGroup__inner>.vkuiHeader:first-child{margin-top:-16px}.vkuiGroup--card>.vkuiGroup__inner>.vkuiHeader:not(.vkuiHeader--mode-tertiary):first-child{margin-top:-4px}
@@ -3,7 +3,6 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  var _excluded = ["platform", "mode"],
4
4
  _excluded2 = ["mode", "children", "subtitle", "indicator", "aside", "getRootRef", "multiline"];
5
5
  import { createScopedElement } from "../../lib/jsxRuntime";
6
- import { getClassName } from "../../helpers/getClassName";
7
6
  import { classNames } from "../../lib/classNames";
8
7
  import { usePlatform } from "../../hooks/usePlatform";
9
8
  import { hasReactNode, isPrimitiveReactNode } from "../../lib/utils";
@@ -86,11 +85,8 @@ export var Header = function Header(_ref2) {
86
85
  var AsideTypography = platform === Platform.VKCOM ? Subhead : Text;
87
86
  var SubtitleTypography = mode === "secondary" ? Subhead : Caption;
88
87
  return createScopedElement("header", _extends({}, restProps, {
89
- ref: getRootRef // eslint-disable-next-line vkui/no-object-expression-in-arguments
90
- ,
91
- vkuiClass: classNames(getClassName("Header", platform), "Header--mode-".concat(mode), {
92
- "Header--pi": isPrimitiveReactNode(indicator)
93
- })
88
+ ref: getRootRef,
89
+ vkuiClass: classNames("Header", platform === Platform.VKCOM && "Header--vkcom", platform === Platform.ANDROID && "Header--android", platform === Platform.IOS && "Header--ios", "Header--mode-".concat(mode), isPrimitiveReactNode(indicator) && "Header--pi")
94
90
  }), createScopedElement("div", {
95
91
  vkuiClass: "Header__main"
96
92
  }, createScopedElement(HeaderContent, {
@@ -99,10 +95,7 @@ export var Header = function Header(_ref2) {
99
95
  mode: mode,
100
96
  platform: platform
101
97
  }, createScopedElement("span", {
102
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
103
- vkuiClass: classNames("Header__content-in", {
104
- "Header__content-in--multiline": multiline
105
- })
98
+ vkuiClass: classNames("Header__content-in", multiline && "Header__content-in--multiline")
106
99
  }, children), hasReactNode(indicator) && createScopedElement(Caption, {
107
100
  vkuiClass: "Header__indicator",
108
101
  weight: mode === "primary" || mode === "secondary" ? "1" : undefined
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Header/Header.tsx"],"names":["getClassName","classNames","usePlatform","hasReactNode","isPrimitiveReactNode","Platform","Headline","Caption","Title","Text","Subhead","HeaderContent","platform","mode","restProps","IOS","VKCOM","Header","children","subtitle","indicator","aside","getRootRef","multiline","AsideTypography","SubtitleTypography","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasComponent, HasPlatform, HasRootRef } from \"../../types\";\nimport { hasReactNode, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport \"./Header.css\";\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement> {\n mode?: \"primary\" | \"secondary\" | \"tertiary\";\n subtitle?: React.ReactNode;\n /**\n * Допускаются иконки, текст, Link\n */\n aside?: React.ReactNode;\n /**\n * Допускаются текст, Indicator\n */\n indicator?: React.ReactNode;\n multiline?: boolean;\n}\n\ntype HeaderContentProps = Pick<HeaderProps, \"children\" | \"mode\"> &\n HasPlatform &\n HasComponent;\n\nconst HeaderContent = ({\n platform,\n mode,\n ...restProps\n}: HeaderContentProps) => {\n if (platform === Platform.IOS) {\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Title weight=\"1\" level=\"3\" {...restProps} />;\n case \"secondary\":\n return <Caption weight=\"2\" caps {...restProps} />;\n }\n }\n\n if (platform === Platform.VKCOM) {\n switch (mode) {\n case \"primary\":\n return <Headline weight=\"3\" {...restProps} />;\n case \"secondary\":\n case \"tertiary\":\n return <Caption {...restProps} />;\n }\n }\n\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Headline weight=\"2\" {...restProps} />;\n case \"secondary\":\n return <Caption weight=\"1\" caps {...restProps} />;\n }\n\n return null;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Header\n */\nexport const Header = ({\n mode = \"primary\",\n children,\n subtitle,\n indicator,\n aside,\n getRootRef,\n multiline,\n ...restProps\n}: HeaderProps) => {\n const platform = usePlatform();\n\n const AsideTypography = platform === Platform.VKCOM ? Subhead : Text;\n const SubtitleTypography = mode === \"secondary\" ? Subhead : Caption;\n\n return (\n <header\n {...restProps}\n ref={getRootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Header\", platform),\n `Header--mode-${mode}`,\n { \"Header--pi\": isPrimitiveReactNode(indicator) }\n )}\n >\n <div vkuiClass=\"Header__main\">\n <HeaderContent\n vkuiClass=\"Header__content\"\n Component=\"span\"\n mode={mode}\n platform={platform}\n >\n <span\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"Header__content-in\", {\n \"Header__content-in--multiline\": multiline,\n })}\n >\n {children}\n </span>\n {hasReactNode(indicator) && (\n <Caption\n vkuiClass=\"Header__indicator\"\n weight={\n mode === \"primary\" || mode === \"secondary\" ? \"1\" : undefined\n }\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <SubtitleTypography vkuiClass=\"Header__subtitle\" Component=\"span\">\n {subtitle}\n </SubtitleTypography>\n )}\n </div>\n\n {hasReactNode(aside) && (\n <AsideTypography vkuiClass=\"Header__aside\" Component=\"span\">\n {aside}\n </AsideTypography>\n )}\n </header>\n );\n};\n"],"file":"Header.js"}
1
+ {"version":3,"sources":["../../../../src/components/Header/Header.tsx"],"names":["classNames","usePlatform","hasReactNode","isPrimitiveReactNode","Platform","Headline","Caption","Title","Text","Subhead","HeaderContent","platform","mode","restProps","IOS","VKCOM","Header","children","subtitle","indicator","aside","getRootRef","multiline","AsideTypography","SubtitleTypography","ANDROID","undefined"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasComponent, HasPlatform, HasRootRef } from \"../../types\";\nimport { hasReactNode, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport \"./Header.css\";\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement> {\n mode?: \"primary\" | \"secondary\" | \"tertiary\";\n subtitle?: React.ReactNode;\n /**\n * Допускаются иконки, текст, Link\n */\n aside?: React.ReactNode;\n /**\n * Допускаются текст, Indicator\n */\n indicator?: React.ReactNode;\n multiline?: boolean;\n}\n\ntype HeaderContentProps = Pick<HeaderProps, \"children\" | \"mode\"> &\n HasPlatform &\n HasComponent;\n\nconst HeaderContent = ({\n platform,\n mode,\n ...restProps\n}: HeaderContentProps) => {\n if (platform === Platform.IOS) {\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Title weight=\"1\" level=\"3\" {...restProps} />;\n case \"secondary\":\n return <Caption weight=\"2\" caps {...restProps} />;\n }\n }\n\n if (platform === Platform.VKCOM) {\n switch (mode) {\n case \"primary\":\n return <Headline weight=\"3\" {...restProps} />;\n case \"secondary\":\n case \"tertiary\":\n return <Caption {...restProps} />;\n }\n }\n\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Headline weight=\"2\" {...restProps} />;\n case \"secondary\":\n return <Caption weight=\"1\" caps {...restProps} />;\n }\n\n return null;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Header\n */\nexport const Header = ({\n mode = \"primary\",\n children,\n subtitle,\n indicator,\n aside,\n getRootRef,\n multiline,\n ...restProps\n}: HeaderProps) => {\n const platform = usePlatform();\n\n const AsideTypography = platform === Platform.VKCOM ? Subhead : Text;\n const SubtitleTypography = mode === \"secondary\" ? Subhead : Caption;\n\n return (\n <header\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n \"Header\",\n platform === Platform.VKCOM && \"Header--vkcom\",\n platform === Platform.ANDROID && \"Header--android\",\n platform === Platform.IOS && \"Header--ios\",\n `Header--mode-${mode}`,\n isPrimitiveReactNode(indicator) && \"Header--pi\"\n )}\n >\n <div vkuiClass=\"Header__main\">\n <HeaderContent\n vkuiClass=\"Header__content\"\n Component=\"span\"\n mode={mode}\n platform={platform}\n >\n <span\n vkuiClass={classNames(\n \"Header__content-in\",\n multiline && \"Header__content-in--multiline\"\n )}\n >\n {children}\n </span>\n {hasReactNode(indicator) && (\n <Caption\n vkuiClass=\"Header__indicator\"\n weight={\n mode === \"primary\" || mode === \"secondary\" ? \"1\" : undefined\n }\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <SubtitleTypography vkuiClass=\"Header__subtitle\" Component=\"span\">\n {subtitle}\n </SubtitleTypography>\n )}\n </div>\n\n {hasReactNode(aside) && (\n <AsideTypography vkuiClass=\"Header__aside\" Component=\"span\">\n {aside}\n </AsideTypography>\n )}\n </header>\n );\n};\n"],"file":"Header.js"}
@@ -25,10 +25,11 @@ var IconButtonComponent = function IconButtonComponent(_ref) {
25
25
  warn("Свойство icon устарело и будет удалено в 5.0.0. Используйте children");
26
26
  }
27
27
 
28
- return createScopedElement(Tappable, _extends({}, restProps, {
29
- Component: restProps.href ? "a" : Component,
28
+ return createScopedElement(Tappable, _extends({
30
29
  activeEffectDelay: 200,
31
- activeMode: "background",
30
+ activeMode: "background"
31
+ }, restProps, {
32
+ Component: restProps.href ? "a" : Component,
32
33
  vkuiClass: classNames("IconButton", "IconButton--sizeY-".concat(sizeY), platform === IOS && "IconButton--ios")
33
34
  }), icon || children);
34
35
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/IconButton/IconButton.tsx"],"names":["Tappable","classNames","usePlatform","withAdaptivity","IOS","warnOnce","warn","IconButtonComponent","icon","sizeY","children","Component","restProps","platform","process","env","NODE_ENV","href","IconButton","displayName"],"mappings":";;;;AACA,SAAwBA,QAAxB;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,cAAT;AACA,SAASC,GAAT;AACA,SAASC,QAAT;AACA;AAUA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,YAAD,CAArB;;AAEA,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,OAML;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,KAIqB,QAJrBA,KAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,4BAFrBC,SAEqB;AAAA,MAFrBA,SAEqB,+BAFT,QAES;AAAA,MADlBC,SACkB;;AACrB,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;;AAEA,MAAIM,IAAI,IAAIM,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAArC,EAAoD;AAClDV,IAAAA,IAAI,CACF,sEADE,CAAJ;AAGD;;AAED,SACE,oBAAC,QAAD,eACMM,SADN;AAEE,IAAA,SAAS,EAAEA,SAAS,CAACK,IAAV,GAAiB,GAAjB,GAAuBN,SAFpC;AAGE,IAAA,iBAAiB,EAAE,GAHrB;AAIE,IAAA,UAAU,EAAC,YAJb;AAKE,IAAA,SAAS,EAAEV,UAAU,CACnB,YADmB,8BAEEQ,KAFF,GAGnBI,QAAQ,KAAKT,GAAb,IAAoB,iBAHD;AALvB,MAWGI,IAAI,IAAIE,QAXX,CADF;AAeD,CA9BD;AAgCA;AACA;AACA;;;AACA,OAAO,IAAMQ,UAAU,GAAGf,cAAc,CAACI,mBAAD,EAAsB;AAC5DE,EAAAA,KAAK,EAAE;AADqD,CAAtB,CAAjC;AAIPS,UAAU,CAACC,WAAX,GAAyB,YAAzB","sourcesContent":["import * as React from \"react\";\nimport { TappableProps, Tappable } from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { IOS } from \"../../lib/platform\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./IconButton.css\";\n\nexport interface IconButtonProps extends TappableProps {\n children?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `children`\n */\n icon?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"IconButton\");\n\nconst IconButtonComponent = ({\n icon,\n sizeY,\n children,\n Component = \"button\",\n ...restProps\n}: IconButtonProps) => {\n const platform = usePlatform();\n\n if (icon && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство icon устарело и будет удалено в 5.0.0. Используйте children\"\n );\n }\n\n return (\n <Tappable\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n activeEffectDelay={200}\n activeMode=\"background\"\n vkuiClass={classNames(\n \"IconButton\",\n `IconButton--sizeY-${sizeY}`,\n platform === IOS && \"IconButton--ios\"\n )}\n >\n {icon || children}\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/IconButton\n */\nexport const IconButton = withAdaptivity(IconButtonComponent, {\n sizeY: true,\n});\n\nIconButton.displayName = \"IconButton\";\n"],"file":"IconButton.js"}
1
+ {"version":3,"sources":["../../../../src/components/IconButton/IconButton.tsx"],"names":["Tappable","classNames","usePlatform","withAdaptivity","IOS","warnOnce","warn","IconButtonComponent","icon","sizeY","children","Component","restProps","platform","process","env","NODE_ENV","href","IconButton","displayName"],"mappings":";;;;AACA,SAAwBA,QAAxB;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,cAAT;AACA,SAASC,GAAT;AACA,SAASC,QAAT;AACA;AAUA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,YAAD,CAArB;;AAEA,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,OAML;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,KAIqB,QAJrBA,KAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,4BAFrBC,SAEqB;AAAA,MAFrBA,SAEqB,+BAFT,QAES;AAAA,MADlBC,SACkB;;AACrB,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;;AAEA,MAAIM,IAAI,IAAIM,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAArC,EAAoD;AAClDV,IAAAA,IAAI,CACF,sEADE,CAAJ;AAGD;;AAED,SACE,oBAAC,QAAD;AACE,IAAA,iBAAiB,EAAE,GADrB;AAEE,IAAA,UAAU,EAAC;AAFb,KAGMM,SAHN;AAIE,IAAA,SAAS,EAAEA,SAAS,CAACK,IAAV,GAAiB,GAAjB,GAAuBN,SAJpC;AAKE,IAAA,SAAS,EAAEV,UAAU,CACnB,YADmB,8BAEEQ,KAFF,GAGnBI,QAAQ,KAAKT,GAAb,IAAoB,iBAHD;AALvB,MAWGI,IAAI,IAAIE,QAXX,CADF;AAeD,CA9BD;AAgCA;AACA;AACA;;;AACA,OAAO,IAAMQ,UAAU,GAAGf,cAAc,CAACI,mBAAD,EAAsB;AAC5DE,EAAAA,KAAK,EAAE;AADqD,CAAtB,CAAjC;AAIPS,UAAU,CAACC,WAAX,GAAyB,YAAzB","sourcesContent":["import * as React from \"react\";\nimport { TappableProps, Tappable } from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { IOS } from \"../../lib/platform\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./IconButton.css\";\n\nexport interface IconButtonProps extends TappableProps {\n children?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `children`\n */\n icon?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"IconButton\");\n\nconst IconButtonComponent = ({\n icon,\n sizeY,\n children,\n Component = \"button\",\n ...restProps\n}: IconButtonProps) => {\n const platform = usePlatform();\n\n if (icon && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство icon устарело и будет удалено в 5.0.0. Используйте children\"\n );\n }\n\n return (\n <Tappable\n activeEffectDelay={200}\n activeMode=\"background\"\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"IconButton\",\n `IconButton--sizeY-${sizeY}`,\n platform === IOS && \"IconButton--ios\"\n )}\n >\n {icon || children}\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/IconButton\n */\nexport const IconButton = withAdaptivity(IconButtonComponent, {\n sizeY: true,\n});\n\nIconButton.displayName = \"IconButton\";\n"],"file":"IconButton.js"}
@@ -1 +1 @@
1
- .vkuiInput{font-size:16px;line-height:20px;position:relative}.vkuiInput--center .vkuiInput__el{text-align:center}.vkuiInput--right .vkuiInput__el{text-align:right}.vkuiInput__el{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;box-shadow:none;box-sizing:border-box;color:#000;color:var(--text_primary,var(--vkui--color_text_primary));display:block;font-size:16px;font-size:var(--vkui--font_text--font_size--regular,16px);font-weight:400;font-weight:var(--vkui--font_text--font_weight--regular,400);line-height:20px;line-height:var(--vkui--font_text--line_height--regular,20px);margin:0;padding-left:12px;padding-right:12px;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.vkuiInput--sizeY-compact .vkuiInput__el{font-size:15px;font-size:var(--vkui--font_text--font_size--compact,15px);line-height:20px;line-height:var(--vkui--font_text--line_height--compact,20px)}.vkuiInput--hasBefore .vkuiInput__el{padding-left:0}.vkuiInput--hasAfter .vkuiInput__el{padding-right:0}.vkuiInput__el:disabled{opacity:.64;opacity:var(--vkui--opacity_disable_accessibility,.64)}.vkuiInput__el::-webkit-input-placeholder{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary));opacity:1}.vkuiInput__el::-moz-placeholder{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary));opacity:1}.vkuiInput__el::-ms-input-placeholder{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary));opacity:1}.vkuiInput__el::placeholder{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary));opacity:1}.vkuiInput__el:disabled::-webkit-input-placeholder{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiInput__el:disabled::-moz-placeholder{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiInput__el:disabled::-ms-input-placeholder{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiInput__el:disabled::placeholder{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}
1
+ .vkuiInput{font-size:16px;line-height:20px;position:relative}.vkuiInput--center .vkuiInput__el{text-align:center}.vkuiInput--right .vkuiInput__el{text-align:right}.vkuiInput__el{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;box-shadow:none;box-sizing:border-box;color:#000;color:var(--text_primary,var(--vkui--color_text_primary));display:block;font-size:16px;font-size:var(--vkui--font_text--font_size--regular,16px);font-weight:400;font-weight:var(--vkui--font_text--font_weight--regular,400);line-height:20px;line-height:var(--vkui--font_text--line_height--regular,20px);margin:0;padding-left:12px;padding-right:12px;position:relative;text-overflow:ellipsis;width:100%;z-index:6}.vkuiInput--sizeY-compact .vkuiInput__el{font-size:15px;font-size:var(--vkui--font_text--font_size--compact,15px);line-height:20px;line-height:var(--vkui--font_text--line_height--compact,20px)}.vkuiInput--hasBefore .vkuiInput__el{padding-left:0}.vkuiInput--hasAfter .vkuiInput__el{padding-right:0}.vkuiInput__el:disabled{opacity:.64;opacity:var(--vkui--opacity_disable_accessibility,.64)}.vkuiInput__el::-webkit-input-placeholder{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary));opacity:1}.vkuiInput__el::-moz-placeholder{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary));opacity:1}.vkuiInput__el::-ms-input-placeholder{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary));opacity:1}.vkuiInput__el::placeholder{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary));opacity:1}.vkuiInput__el:disabled::-webkit-input-placeholder{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiInput__el:disabled::-moz-placeholder{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiInput__el:disabled::-ms-input-placeholder{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiInput__el:disabled::placeholder{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}