@vkontakte/vkui 4.20.0 → 4.22.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 (520) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +414 -116
  4. package/.cache/ts/src/components/Avatar/Avatar.d.ts +2 -0
  5. package/.cache/ts/src/components/Cell/Cell.d.ts +11 -0
  6. package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  7. package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  8. package/.cache/ts/src/components/Cell/useDraggable.d.ts +13 -0
  9. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +0 -1
  10. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  11. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +2 -3
  12. package/.cache/ts/src/components/FormField/FormField.d.ts +2 -3
  13. package/.cache/ts/src/components/FormItem/FormItem.d.ts +2 -3
  14. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +2 -4
  15. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +9 -0
  16. package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +2 -3
  17. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
  18. package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  19. package/.cache/ts/src/components/Link/Link.d.ts +1 -2
  20. package/.cache/ts/src/components/ModalRoot/types.d.ts +0 -1
  21. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +37 -0
  22. package/.cache/ts/src/components/Removable/Removable.d.ts +2 -1
  23. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +2 -2
  24. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +3 -3
  25. package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
  26. package/.cache/ts/src/components/Switch/Switch.d.ts +2 -3
  27. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +3 -1
  28. package/.cache/ts/src/components/Tappable/Tappable.d.ts +2 -3
  29. package/.cache/ts/src/components/Touch/Touch.d.ts +16 -17
  30. package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +2 -2
  31. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +2 -2
  32. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +2 -2
  33. package/.cache/ts/src/components/Typography/Text/Text.d.ts +2 -3
  34. package/.cache/ts/src/components/Typography/Title/Title.d.ts +2 -2
  35. package/.cache/ts/src/components/View/utils.d.ts +2 -0
  36. package/.cache/ts/src/index.d.ts +4 -0
  37. package/.cache/ts/src/lib/accessibility.d.ts +1 -1
  38. package/.cache/ts/src/lib/supportEvents.d.ts +3 -1
  39. package/.cache/ts/src/types.d.ts +3 -0
  40. package/dist/cjs/components/ActionSheet/ActionSheet.js +7 -9
  41. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  42. package/dist/cjs/components/Avatar/Avatar.d.ts +2 -0
  43. package/dist/cjs/components/Avatar/Avatar.js +7 -3
  44. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  45. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  46. package/dist/cjs/components/Button/Button.js.map +1 -1
  47. package/dist/cjs/components/CardScroll/CardScroll.js +1 -1
  48. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  49. package/dist/cjs/components/Cell/Cell.d.ts +11 -0
  50. package/dist/cjs/components/Cell/Cell.js +109 -182
  51. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  52. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  53. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +50 -0
  54. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  55. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  56. package/dist/cjs/components/Cell/CellDragger/CellDragger.js +53 -0
  57. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -0
  58. package/dist/cjs/components/Cell/useDraggable.d.ts +13 -0
  59. package/dist/cjs/components/Cell/useDraggable.js +142 -0
  60. package/dist/cjs/components/Cell/useDraggable.js.map +1 -0
  61. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +2 -2
  62. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  63. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  64. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +0 -1
  65. package/dist/cjs/components/CustomSelect/CustomSelect.js +2 -3
  66. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  67. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  68. package/dist/cjs/components/DropdownIcon/DropdownIcon.js +37 -0
  69. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -0
  70. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +2 -3
  71. package/dist/cjs/components/FocusTrap/FocusTrap.js +3 -5
  72. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  73. package/dist/cjs/components/FormField/FormField.d.ts +2 -3
  74. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  75. package/dist/cjs/components/FormItem/FormItem.d.ts +2 -3
  76. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  77. package/dist/cjs/components/FormLayout/FormLayout.d.ts +2 -4
  78. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  79. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  80. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  81. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +9 -0
  82. package/dist/cjs/components/GridAvatar/GridAvatar.js +61 -0
  83. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -0
  84. package/dist/cjs/components/Header/Header.js.map +1 -1
  85. package/dist/cjs/components/HorizontalCell/HorizontalCell.d.ts +2 -3
  86. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  87. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
  88. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +10 -13
  89. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  90. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  91. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +64 -0
  92. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  93. package/dist/cjs/components/Link/Link.d.ts +1 -2
  94. package/dist/cjs/components/Link/Link.js.map +1 -1
  95. package/dist/cjs/components/ModalRoot/ModalRoot.js +170 -373
  96. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  97. package/dist/cjs/components/ModalRoot/ModalRootContext.js +0 -3
  98. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  99. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +59 -241
  100. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  101. package/dist/cjs/components/ModalRoot/types.d.ts +0 -1
  102. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  103. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +37 -0
  104. package/dist/cjs/components/ModalRoot/useModalManager.js +213 -0
  105. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -0
  106. package/dist/cjs/components/NativeSelect/NativeSelect.js +2 -2
  107. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  108. package/dist/cjs/components/Removable/Removable.d.ts +2 -1
  109. package/dist/cjs/components/Removable/Removable.js +75 -66
  110. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  111. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +2 -2
  112. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  113. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +2 -2
  114. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  115. package/dist/cjs/components/SplitCol/SplitCol.d.ts +3 -3
  116. package/dist/cjs/components/SplitCol/SplitCol.js +2 -4
  117. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  118. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
  119. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +38 -11
  120. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  121. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  122. package/dist/cjs/components/Switch/Switch.d.ts +2 -3
  123. package/dist/cjs/components/Switch/Switch.js +18 -8
  124. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  125. package/dist/cjs/components/Tabbar/Tabbar.js +3 -1
  126. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  127. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +3 -1
  128. package/dist/cjs/components/TabbarItem/TabbarItem.js +29 -11
  129. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  130. package/dist/cjs/components/Tappable/Tappable.d.ts +2 -3
  131. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  132. package/dist/cjs/components/Textarea/Textarea.js +9 -7
  133. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  134. package/dist/cjs/components/Touch/Touch.d.ts +16 -17
  135. package/dist/cjs/components/Touch/Touch.js +21 -7
  136. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  137. package/dist/cjs/components/Typography/Caption/Caption.d.ts +2 -2
  138. package/dist/cjs/components/Typography/Caption/Caption.js +4 -2
  139. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  140. package/dist/cjs/components/Typography/Headline/Headline.d.ts +2 -2
  141. package/dist/cjs/components/Typography/Headline/Headline.js +2 -1
  142. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  143. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +2 -2
  144. package/dist/cjs/components/Typography/Subhead/Subhead.js +2 -1
  145. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  146. package/dist/cjs/components/Typography/Text/Text.d.ts +2 -3
  147. package/dist/cjs/components/Typography/Text/Text.js +2 -1
  148. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  149. package/dist/cjs/components/Typography/Title/Title.d.ts +2 -2
  150. package/dist/cjs/components/Typography/Title/Title.js +9 -4
  151. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  152. package/dist/cjs/components/View/View.js +68 -75
  153. package/dist/cjs/components/View/View.js.map +1 -1
  154. package/dist/cjs/components/View/ViewInfinite.js +78 -85
  155. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  156. package/dist/cjs/components/View/utils.d.ts +2 -0
  157. package/dist/cjs/components/View/utils.js +13 -0
  158. package/dist/cjs/components/View/utils.js.map +1 -0
  159. package/dist/cjs/index.d.ts +4 -0
  160. package/dist/cjs/index.js +16 -0
  161. package/dist/cjs/index.js.map +1 -1
  162. package/dist/cjs/lib/accessibility.d.ts +1 -1
  163. package/dist/cjs/lib/accessibility.js.map +1 -1
  164. package/dist/cjs/lib/prefixClass.js +7 -6
  165. package/dist/cjs/lib/prefixClass.js.map +1 -1
  166. package/dist/cjs/lib/supportEvents.d.ts +3 -1
  167. package/dist/cjs/lib/supportEvents.js +1 -4
  168. package/dist/cjs/lib/supportEvents.js.map +1 -1
  169. package/dist/cjs/types.d.ts +3 -0
  170. package/dist/components/ActionSheet/ActionSheet.js +6 -9
  171. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  172. package/dist/components/Avatar/Avatar.d.ts +2 -0
  173. package/dist/components/Avatar/Avatar.js +4 -2
  174. package/dist/components/Avatar/Avatar.js.map +1 -1
  175. package/dist/components/Banner/Banner.js.map +1 -1
  176. package/dist/components/Button/Button.js.map +1 -1
  177. package/dist/components/CardScroll/CardScroll.js +1 -1
  178. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  179. package/dist/components/Cell/Cell.d.ts +11 -0
  180. package/dist/components/Cell/Cell.js +103 -177
  181. package/dist/components/Cell/Cell.js.map +1 -1
  182. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  183. package/dist/components/Cell/CellCheckbox/CellCheckbox.js +31 -0
  184. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  185. package/dist/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  186. package/dist/components/Cell/CellDragger/CellDragger.js +30 -0
  187. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -0
  188. package/dist/components/Cell/useDraggable.d.ts +13 -0
  189. package/dist/components/Cell/useDraggable.js +126 -0
  190. package/dist/components/Cell/useDraggable.js.map +1 -0
  191. package/dist/components/ChipsSelect/ChipsSelect.js +2 -2
  192. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  193. package/dist/components/Counter/Counter.js.map +1 -1
  194. package/dist/components/CustomSelect/CustomSelect.d.ts +0 -1
  195. package/dist/components/CustomSelect/CustomSelect.js +3 -5
  196. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  197. package/dist/components/DropdownIcon/DropdownIcon.d.ts +3 -0
  198. package/dist/components/DropdownIcon/DropdownIcon.js +19 -0
  199. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -0
  200. package/dist/components/FocusTrap/FocusTrap.d.ts +2 -3
  201. package/dist/components/FocusTrap/FocusTrap.js +3 -5
  202. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  203. package/dist/components/FormField/FormField.d.ts +2 -3
  204. package/dist/components/FormField/FormField.js.map +1 -1
  205. package/dist/components/FormItem/FormItem.d.ts +2 -3
  206. package/dist/components/FormItem/FormItem.js.map +1 -1
  207. package/dist/components/FormLayout/FormLayout.d.ts +2 -4
  208. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  209. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  210. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  211. package/dist/components/GridAvatar/GridAvatar.d.ts +9 -0
  212. package/dist/components/GridAvatar/GridAvatar.js +41 -0
  213. package/dist/components/GridAvatar/GridAvatar.js.map +1 -0
  214. package/dist/components/Header/Header.js.map +1 -1
  215. package/dist/components/HorizontalCell/HorizontalCell.d.ts +2 -3
  216. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  217. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +3 -2
  218. package/dist/components/HorizontalScroll/HorizontalScroll.js +10 -12
  219. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  220. package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +33 -0
  221. package/dist/components/InitialsAvatar/InitialsAvatar.js +46 -0
  222. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  223. package/dist/components/Link/Link.d.ts +1 -2
  224. package/dist/components/Link/Link.js.map +1 -1
  225. package/dist/components/ModalRoot/ModalRoot.js +167 -376
  226. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  227. package/dist/components/ModalRoot/ModalRootContext.js +0 -3
  228. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  229. package/dist/components/ModalRoot/ModalRootDesktop.js +58 -244
  230. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  231. package/dist/components/ModalRoot/types.d.ts +0 -1
  232. package/dist/components/ModalRoot/types.js.map +1 -1
  233. package/dist/components/ModalRoot/useModalManager.d.ts +37 -0
  234. package/dist/components/ModalRoot/useModalManager.js +189 -0
  235. package/dist/components/ModalRoot/useModalManager.js.map +1 -0
  236. package/dist/components/NativeSelect/NativeSelect.js +2 -2
  237. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  238. package/dist/components/Removable/Removable.d.ts +2 -1
  239. package/dist/components/Removable/Removable.js +73 -64
  240. package/dist/components/Removable/Removable.js.map +1 -1
  241. package/dist/components/SelectMimicry/SelectMimicry.js +2 -2
  242. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  243. package/dist/components/SimpleCell/SimpleCell.d.ts +2 -2
  244. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  245. package/dist/components/SplitCol/SplitCol.d.ts +3 -3
  246. package/dist/components/SplitCol/SplitCol.js +2 -4
  247. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  248. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -1
  249. package/dist/components/SubnavigationBar/SubnavigationBar.js +38 -11
  250. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  251. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  252. package/dist/components/Switch/Switch.d.ts +2 -3
  253. package/dist/components/Switch/Switch.js +15 -8
  254. package/dist/components/Switch/Switch.js.map +1 -1
  255. package/dist/components/Tabbar/Tabbar.js +3 -1
  256. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  257. package/dist/components/TabbarItem/TabbarItem.d.ts +3 -1
  258. package/dist/components/TabbarItem/TabbarItem.js +26 -10
  259. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  260. package/dist/components/Tappable/Tappable.d.ts +2 -3
  261. package/dist/components/Tappable/Tappable.js.map +1 -1
  262. package/dist/components/Textarea/Textarea.js +9 -6
  263. package/dist/components/Textarea/Textarea.js.map +1 -1
  264. package/dist/components/Touch/Touch.d.ts +16 -17
  265. package/dist/components/Touch/Touch.js +21 -7
  266. package/dist/components/Touch/Touch.js.map +1 -1
  267. package/dist/components/Typography/Caption/Caption.d.ts +2 -2
  268. package/dist/components/Typography/Caption/Caption.js +4 -2
  269. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  270. package/dist/components/Typography/Headline/Headline.d.ts +2 -2
  271. package/dist/components/Typography/Headline/Headline.js +2 -1
  272. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  273. package/dist/components/Typography/Subhead/Subhead.d.ts +2 -2
  274. package/dist/components/Typography/Subhead/Subhead.js +2 -1
  275. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  276. package/dist/components/Typography/Text/Text.d.ts +2 -3
  277. package/dist/components/Typography/Text/Text.js +2 -1
  278. package/dist/components/Typography/Text/Text.js.map +1 -1
  279. package/dist/components/Typography/Title/Title.d.ts +2 -2
  280. package/dist/components/Typography/Title/Title.js +9 -4
  281. package/dist/components/Typography/Title/Title.js.map +1 -1
  282. package/dist/components/View/View.js +67 -75
  283. package/dist/components/View/View.js.map +1 -1
  284. package/dist/components/View/ViewInfinite.js +79 -87
  285. package/dist/components/View/ViewInfinite.js.map +1 -1
  286. package/dist/components/View/utils.d.ts +2 -0
  287. package/dist/components/View/utils.js +6 -0
  288. package/dist/components/View/utils.js.map +1 -0
  289. package/dist/components.css +1 -1
  290. package/dist/components.css.map +1 -1
  291. package/dist/cssm/components/ActionSheet/ActionSheet.js +6 -9
  292. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  293. package/dist/cssm/components/Avatar/Avatar.js +4 -2
  294. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  295. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  296. package/dist/cssm/components/Button/Button.css +1 -1
  297. package/dist/cssm/components/Button/Button.js.map +1 -1
  298. package/dist/cssm/components/CardScroll/CardScroll.js +1 -1
  299. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  300. package/dist/cssm/components/Cell/Cell.css +1 -1
  301. package/dist/cssm/components/Cell/Cell.js +103 -177
  302. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  303. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -0
  304. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +32 -0
  305. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -0
  306. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -0
  307. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +31 -0
  308. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -0
  309. package/dist/cssm/components/Cell/useDraggable.js +126 -0
  310. package/dist/cssm/components/Cell/useDraggable.js.map +1 -0
  311. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
  312. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  313. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  314. package/dist/cssm/components/CustomSelect/CustomSelect.js +3 -5
  315. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  316. package/dist/cssm/components/DropdownIcon/DropdownIcon.css +1 -0
  317. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +20 -0
  318. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -0
  319. package/dist/cssm/components/FocusTrap/FocusTrap.js +3 -5
  320. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  321. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  322. package/dist/cssm/components/FormField/FormField.css +1 -1
  323. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  324. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  325. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  326. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  327. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  328. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +1 -0
  329. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  330. package/dist/cssm/components/Gallery/Gallery.css +1 -1
  331. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -0
  332. package/dist/cssm/components/GridAvatar/GridAvatar.js +42 -0
  333. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -0
  334. package/dist/cssm/components/Header/Header.js.map +1 -1
  335. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  336. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +10 -12
  337. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  338. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  339. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  340. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -0
  341. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +52 -0
  342. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -0
  343. package/dist/cssm/components/Link/Link.js.map +1 -1
  344. package/dist/cssm/components/ModalRoot/ModalRoot.js +167 -376
  345. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  346. package/dist/cssm/components/ModalRoot/ModalRootContext.js +0 -3
  347. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  348. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +58 -244
  349. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  350. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  351. package/dist/cssm/components/ModalRoot/useModalManager.js +189 -0
  352. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -0
  353. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -2
  354. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  355. package/dist/cssm/components/Removable/Removable.css +1 -1
  356. package/dist/cssm/components/Removable/Removable.js +73 -64
  357. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  358. package/dist/cssm/components/Search/Search.css +1 -1
  359. package/dist/cssm/components/Select/Select.css +1 -1
  360. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -2
  361. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  362. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  363. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  364. package/dist/cssm/components/SplitCol/SplitCol.js +2 -4
  365. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  366. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +38 -11
  367. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  368. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  369. package/dist/cssm/components/Switch/Switch.css +1 -1
  370. package/dist/cssm/components/Switch/Switch.js +15 -8
  371. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  372. package/dist/cssm/components/Tabbar/Tabbar.css +1 -1
  373. package/dist/cssm/components/Tabbar/Tabbar.js +3 -1
  374. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  375. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  376. package/dist/cssm/components/TabbarItem/TabbarItem.js +26 -10
  377. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  378. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  379. package/dist/cssm/components/Textarea/Textarea.js +9 -6
  380. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  381. package/dist/cssm/components/Touch/Touch.js +21 -7
  382. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  383. package/dist/cssm/components/Typography/Caption/Caption.js +4 -2
  384. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  385. package/dist/cssm/components/Typography/Headline/Headline.js +2 -1
  386. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  387. package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -1
  388. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  389. package/dist/cssm/components/Typography/Text/Text.js +2 -1
  390. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  391. package/dist/cssm/components/Typography/Title/Title.js +9 -4
  392. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  393. package/dist/cssm/components/View/View.js +67 -75
  394. package/dist/cssm/components/View/View.js.map +1 -1
  395. package/dist/cssm/components/View/ViewInfinite.js +79 -87
  396. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  397. package/dist/cssm/components/View/utils.js +6 -0
  398. package/dist/cssm/components/View/utils.js.map +1 -0
  399. package/dist/cssm/index.js +2 -0
  400. package/dist/cssm/index.js.map +1 -1
  401. package/dist/cssm/lib/accessibility.js.map +1 -1
  402. package/dist/cssm/lib/prefixClass.js +7 -6
  403. package/dist/cssm/lib/prefixClass.js.map +1 -1
  404. package/dist/cssm/lib/supportEvents.js +1 -4
  405. package/dist/cssm/lib/supportEvents.js.map +1 -1
  406. package/dist/cssm/styles/components.css +1 -1
  407. package/dist/cssm/styles/themes.css +1 -1
  408. package/dist/cssm/styles/vkcom_light.css +1 -1
  409. package/dist/index.d.ts +4 -0
  410. package/dist/index.js +2 -0
  411. package/dist/index.js.map +1 -1
  412. package/dist/lib/accessibility.d.ts +1 -1
  413. package/dist/lib/accessibility.js.map +1 -1
  414. package/dist/lib/prefixClass.js +7 -6
  415. package/dist/lib/prefixClass.js.map +1 -1
  416. package/dist/lib/supportEvents.d.ts +3 -1
  417. package/dist/lib/supportEvents.js +1 -4
  418. package/dist/lib/supportEvents.js.map +1 -1
  419. package/dist/types.d.ts +3 -0
  420. package/dist/vkui.css +2 -2
  421. package/dist/vkui.css.map +1 -1
  422. package/package.json +8 -4
  423. package/src/components/ActionSheet/ActionSheet.tsx +4 -5
  424. package/src/components/ActionSheet/Readme.md +18 -14
  425. package/src/components/Alert/Readme.md +15 -11
  426. package/src/components/Avatar/Avatar.tsx +5 -2
  427. package/src/components/Banner/Banner.tsx +4 -5
  428. package/src/components/Button/Button.css +26 -53
  429. package/src/components/Button/Button.tsx +2 -3
  430. package/src/components/Card/Readme.md +6 -6
  431. package/src/components/CardScroll/CardScroll.tsx +4 -1
  432. package/src/components/Cell/Cell.css +21 -58
  433. package/src/components/Cell/Cell.tsx +101 -162
  434. package/src/components/Cell/CellCheckbox/CellCheckbox.css +17 -0
  435. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +42 -0
  436. package/src/components/Cell/CellDragger/CellDragger.css +4 -0
  437. package/src/components/Cell/CellDragger/CellDragger.tsx +40 -0
  438. package/src/components/Cell/Readme.md +89 -51
  439. package/src/components/Cell/useDraggable.tsx +112 -0
  440. package/src/components/ChipsSelect/ChipsSelect.tsx +2 -2
  441. package/src/components/Counter/Counter.tsx +2 -2
  442. package/src/components/CustomSelect/CustomSelect.tsx +3 -4
  443. package/src/components/DropdownIcon/DropdownIcon.css +3 -0
  444. package/src/components/DropdownIcon/DropdownIcon.tsx +20 -0
  445. package/src/components/Epic/Readme.md +2 -1
  446. package/src/components/FocusTrap/FocusTrap.tsx +13 -11
  447. package/src/components/FocusVisible/FocusVisible.css +12 -4
  448. package/src/components/FormField/FormField.css +0 -1
  449. package/src/components/FormField/FormField.tsx +2 -2
  450. package/src/components/FormItem/FormItem.css +13 -14
  451. package/src/components/FormItem/FormItem.tsx +2 -3
  452. package/src/components/FormLayout/FormLayout.tsx +2 -4
  453. package/src/components/FormLayoutGroup/FormLayoutGroup.css +11 -7
  454. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +10 -1
  455. package/src/components/Gallery/Gallery.css +2 -3
  456. package/src/components/Gallery/Readme.md +89 -109
  457. package/src/components/GridAvatar/GridAvatar.css +37 -0
  458. package/src/components/GridAvatar/GridAvatar.tsx +55 -0
  459. package/src/components/GridAvatar/Readme.md +12 -0
  460. package/src/components/Group/Readme.md +18 -14
  461. package/src/components/Header/Header.tsx +4 -4
  462. package/src/components/HorizontalCell/HorizontalCell.tsx +3 -3
  463. package/src/components/HorizontalScroll/HorizontalScroll.tsx +14 -18
  464. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +2 -2
  465. package/src/components/IconButton/IconButton.css +7 -0
  466. package/src/components/InitialsAvatar/InitialsAvatar.css +53 -0
  467. package/src/components/InitialsAvatar/InitialsAvatar.tsx +90 -0
  468. package/src/components/InitialsAvatar/Readme.md +14 -0
  469. package/src/components/Link/Link.tsx +1 -1
  470. package/src/components/MiniInfoCell/Readme.md +66 -62
  471. package/src/components/ModalDismissButton/Readme.md +13 -10
  472. package/src/components/ModalRoot/ModalRoot.tsx +159 -349
  473. package/src/components/ModalRoot/ModalRootContext.tsx +0 -1
  474. package/src/components/ModalRoot/ModalRootDesktop.tsx +54 -240
  475. package/src/components/ModalRoot/Readme.md +35 -27
  476. package/src/components/ModalRoot/types.ts +0 -1
  477. package/src/components/ModalRoot/useModalManager.tsx +174 -0
  478. package/src/components/NativeSelect/NativeSelect.tsx +2 -2
  479. package/src/components/Removable/Removable.css +16 -63
  480. package/src/components/Removable/Removable.tsx +84 -64
  481. package/src/components/ScreenSpinner/Readme.md +13 -9
  482. package/src/components/Search/Search.css +1 -1
  483. package/src/components/Select/Select.css +1 -1
  484. package/src/components/SelectMimicry/SelectMimicry.tsx +2 -2
  485. package/src/components/SimpleCell/SimpleCell.css +10 -18
  486. package/src/components/SimpleCell/SimpleCell.tsx +3 -5
  487. package/src/components/SplitCol/SplitCol.tsx +4 -8
  488. package/src/components/SplitLayout/Readme.md +2 -2
  489. package/src/components/SubnavigationBar/Readme.md +90 -86
  490. package/src/components/SubnavigationBar/SubnavigationBar.tsx +32 -14
  491. package/src/components/SubnavigationButton/SubnavigationButton.tsx +2 -3
  492. package/src/components/Switch/Readme.md +6 -6
  493. package/src/components/Switch/Switch.css +46 -15
  494. package/src/components/Switch/Switch.tsx +16 -8
  495. package/src/components/Tabbar/Tabbar.css +15 -4
  496. package/src/components/Tabbar/Tabbar.tsx +3 -1
  497. package/src/components/TabbarItem/Readme.md +72 -0
  498. package/src/components/TabbarItem/TabbarItem.css +65 -14
  499. package/src/components/TabbarItem/TabbarItem.tsx +46 -22
  500. package/src/components/Tappable/Tappable.tsx +2 -3
  501. package/src/components/Textarea/Readme.md +3 -0
  502. package/src/components/Textarea/Textarea.tsx +10 -6
  503. package/src/components/Touch/Touch.tsx +38 -25
  504. package/src/components/Typography/Caption/Caption.tsx +4 -4
  505. package/src/components/Typography/Headline/Headline.tsx +3 -3
  506. package/src/components/Typography/Subhead/Subhead.tsx +3 -3
  507. package/src/components/Typography/Text/Text.tsx +3 -4
  508. package/src/components/Typography/Title/Title.tsx +9 -5
  509. package/src/components/View/Readme.md +42 -56
  510. package/src/components/View/View.tsx +46 -61
  511. package/src/components/View/ViewInfinite.tsx +52 -67
  512. package/src/components/View/utils.ts +8 -0
  513. package/src/index.ts +4 -0
  514. package/src/lib/accessibility.ts +2 -2
  515. package/src/lib/prefixClass.ts +9 -6
  516. package/src/lib/supportEvents.ts +1 -4
  517. package/src/styles/components.css +4 -0
  518. package/src/styles/vkcom_light.css +3 -3
  519. package/src/testing/utils.tsx +34 -1
  520. package/src/types.ts +4 -0
@@ -10,4 +10,6 @@ export interface AvatarProps extends React.ImgHTMLAttributes<HTMLElement>, HasRo
10
10
  shadow?: boolean;
11
11
  }
12
12
  declare const Avatar: React.FC<AvatarProps>;
13
+ export declare const AVATAR_DEFAULT_SIZE = 48;
14
+ export declare const AVATAR_DEFAULT_SHADOW = true;
13
15
  export default Avatar;
@@ -4,15 +4,22 @@ import { HasPlatform } from '../../types';
4
4
  import { RemovableProps } from '../Removable/Removable';
5
5
  import './Cell.css';
6
6
  export interface CellProps extends SimpleCellProps, HasPlatform, RemovableProps {
7
+ mode?: 'removable' | 'selectable';
7
8
  /**
8
9
  * В режиме перетаскивания ячейка перестает быть кликабельной, то есть при клике переданный onClick вызываться не будет
9
10
  */
10
11
  draggable?: boolean;
12
+ /**
13
+ * @deprecated Будет удалено в 5.0.0. Используйте mode="removable"
14
+ */
11
15
  removable?: boolean;
12
16
  /**
13
17
  * Имя для input в режиме selectable
14
18
  */
15
19
  name?: string;
20
+ /**
21
+ * @deprecated Будет удалено в 5.0.0. Используйте mode="selectable"
22
+ */
16
23
  selectable?: boolean;
17
24
  /**
18
25
  * В режиме selectable реагирует на входящие значения пропса cheсked, как зависящий напрямую от входящего значения
@@ -32,5 +39,9 @@ export interface CellProps extends SimpleCellProps, HasPlatform, RemovableProps
32
39
  from: number;
33
40
  to: number;
34
41
  }) => void;
42
+ /**
43
+ * aria-label для кнопки перетаскивания ячейки
44
+ */
45
+ draggerLabel?: string;
35
46
  }
36
47
  export declare const Cell: React.FC<CellProps>;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import { CellProps } from '../Cell';
3
+ import './CellCheckbox.css';
4
+ export declare type CellCheckboxProps = Pick<CellProps, 'defaultChecked' | 'checked'> & React.InputHTMLAttributes<HTMLInputElement>;
5
+ export declare const CellCheckbox: React.FC<CellCheckboxProps>;
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { DraggableProps } from '../useDraggable';
3
+ import './CellDragger.css';
4
+ declare type CellDraggerProps = DraggableProps & React.HTMLAttributes<HTMLElement>;
5
+ export declare const CellDragger: React.FC<CellDraggerProps>;
6
+ export {};
@@ -0,0 +1,13 @@
1
+ import { TouchEvent } from '../Touch/Touch';
2
+ import { CellProps } from './Cell';
3
+ export interface DraggableProps {
4
+ onDragStart: () => void;
5
+ onDragEnd: () => void;
6
+ onDragMove: (e: TouchEvent) => void;
7
+ }
8
+ interface UseDraggableProps extends DraggableProps {
9
+ dragging: boolean;
10
+ rootElRef: any;
11
+ }
12
+ export declare const useDraggable: ({ onDragFinish }: Pick<CellProps, "onDragFinish">) => UseDraggableProps;
13
+ export {};
@@ -64,7 +64,6 @@ declare type MouseEventHandler = (event: React.MouseEvent<HTMLElement>) => void;
64
64
  declare class CustomSelect extends React.Component<CustomSelectProps, CustomSelectState> {
65
65
  static defaultProps: CustomSelectProps;
66
66
  constructor(props: CustomSelectProps);
67
- state: CustomSelectState;
68
67
  private keyboardInput;
69
68
  private isControlledOutside;
70
69
  private selectEl;
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import './DropdownIcon.css';
3
+ export declare const DropdownIcon: React.FC<React.HTMLAttributes<HTMLElement>>;
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
3
- export interface FocusTrapProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement> {
4
- Component?: React.ElementType;
2
+ import { HasComponent, HasRootRef } from '../../types';
3
+ export interface FocusTrapProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {
5
4
  onClose?: (props?: any) => void;
6
5
  restoreFocus?: boolean;
7
6
  timeout?: number;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
2
+ import { HasComponent, HasRootRef } from '../../types';
3
3
  import './FormField.css';
4
4
  export interface FormFieldProps {
5
5
  /**
@@ -7,8 +7,7 @@ export interface FormFieldProps {
7
7
  */
8
8
  after?: React.ReactNode;
9
9
  }
10
- interface FormFieldOwnProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, FormFieldProps {
11
- Component?: React.ElementType;
10
+ interface FormFieldOwnProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent, FormFieldProps {
12
11
  disabled?: boolean;
13
12
  }
14
13
  export declare const FormField: React.FC<FormFieldOwnProps>;
@@ -1,12 +1,11 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
2
+ import { HasComponent, HasRootRef } from '../../types';
3
3
  import { RemovableProps } from '../Removable/Removable';
4
4
  import './FormItem.css';
5
- export interface FormItemProps extends React.AllHTMLAttributes<HTMLElement>, RemovableProps, HasRootRef<HTMLElement> {
5
+ export interface FormItemProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent, RemovableProps {
6
6
  top?: React.ReactNode;
7
7
  bottom?: React.ReactNode;
8
8
  status?: 'default' | 'error' | 'valid';
9
- Component?: React.ElementType;
10
9
  /**
11
10
  * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.
12
11
  */
@@ -1,8 +1,6 @@
1
1
  import * as React from 'react';
2
- import { HasRef } from '../../types';
2
+ import { HasComponent, HasRef } from '../../types';
3
3
  import './FormLayout.css';
4
- export interface FormLayoutProps extends React.AllHTMLAttributes<HTMLElement>, HasRef<HTMLElement> {
5
- Component?: React.ElementType;
6
- }
4
+ export declare type FormLayoutProps = React.AllHTMLAttributes<HTMLElement> & HasRef<HTMLElement> & HasComponent;
7
5
  declare const FormLayout: React.FunctionComponent<FormLayoutProps>;
8
6
  export default FormLayout;
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { HasRootRef } from '../../types';
3
+ import './GridAvatar.css';
4
+ export interface GridAvatarProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement> {
5
+ src?: string[];
6
+ size?: number;
7
+ shadow?: boolean;
8
+ }
9
+ export declare const GridAvatar: React.FC<GridAvatarProps>;
@@ -1,8 +1,7 @@
1
1
  import * as React from 'react';
2
- import { HasRef, HasRootRef } from '../../types';
2
+ import { HasComponent, HasRef, HasRootRef } from '../../types';
3
3
  import './HorizontalCell.css';
4
- export interface HorizontalCellProps extends React.AnchorHTMLAttributes<HTMLElement>, HasRootRef<HTMLDivElement>, HasRef<HTMLDivElement> {
5
- Component?: React.ElementType;
4
+ export interface HorizontalCellProps extends React.AnchorHTMLAttributes<HTMLElement>, HasRootRef<HTMLDivElement>, HasRef<HTMLDivElement>, HasComponent {
6
5
  size?: 's' | 'm' | 'l';
7
6
  header?: React.ReactNode;
8
7
  subtitle?: React.ReactNode;
@@ -2,15 +2,16 @@ import * as React from 'react';
2
2
  import { AdaptivityProps } from '../../hoc/withAdaptivity';
3
3
  import { HasRef } from '../../types';
4
4
  import './HorizontalScroll.css';
5
+ export declare type ScrollPositionHandler = (currentPosition: number) => number;
5
6
  export interface HorizontalScrollProps extends React.HTMLAttributes<HTMLDivElement>, AdaptivityProps, HasRef<HTMLDivElement> {
6
7
  /**
7
8
  * Функция для расчета величины прокрутки при клике на левую стрелку.
8
9
  */
9
- getScrollToLeft?: (currentPosition: number) => number;
10
+ getScrollToLeft?: ScrollPositionHandler;
10
11
  /**
11
12
  * Функция для расчета величины прокрутки при клике на правую стрелку.
12
13
  */
13
- getScrollToRight?: (currentPosition: number) => number;
14
+ getScrollToRight?: ScrollPositionHandler;
14
15
  showArrows?: boolean;
15
16
  scrollAnimationDuration?: number;
16
17
  }
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { HasRootRef } from '../../types';
3
+ import './InitialsAvatar.css';
4
+ /**
5
+ * Градиенты, которые можно использовать в алгоритме поиска градиентов по числовому идентификатору пользователя.
6
+ * @example user.id % 6 + 1
7
+ */
8
+ export declare type InitialsAvatarNumberGradients = 1 | 2 | 3 | 4 | 5 | 6;
9
+ export declare type InitialsAvatarTextGradients = 'red' | 'pink' | 'orange' | 'yellow' | 'green' | 'l-blue' | 'blue' | 'violet';
10
+ export interface InitialsAvatarProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement> {
11
+ children?: React.ReactNode;
12
+ /**
13
+ * `'red' | 'pink' | 'orange' | 'yellow' | 'green' | 'l-blue' | 'blue' | 'violet'`
14
+ *
15
+ * Если передано число, то оно будет сконвертировано в строчное представление цвета по следующей схеме:
16
+ *
17
+ * 1: 'red'
18
+ *
19
+ * 2: 'orange'
20
+ *
21
+ * 3: 'yellow'
22
+ *
23
+ * 4: 'green'
24
+ *
25
+ * 5: 'l-blue'
26
+ *
27
+ * 6: 'violet'
28
+ */
29
+ gradientColor?: InitialsAvatarNumberGradients | InitialsAvatarTextGradients;
30
+ size?: number;
31
+ shadow?: boolean;
32
+ }
33
+ export declare const InitialsAvatar: React.FC<InitialsAvatarProps>;
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { TappableProps } from '../Tappable/Tappable';
3
3
  import './Link.css';
4
- export interface LinkProps extends React.AnchorHTMLAttributes<HTMLElement>, TappableProps {
5
- }
4
+ export declare type LinkProps = TappableProps;
6
5
  declare const Link: React.FC<LinkProps>;
7
6
  export default Link;
@@ -11,7 +11,6 @@ export interface ModalElements {
11
11
  innerElement?: HTMLElement | null;
12
12
  headerElement?: HTMLElement | null;
13
13
  contentElement?: HTMLElement | null;
14
- footerElement?: HTMLElement | null;
15
14
  }
16
15
  export interface ModalsStateEntry extends ModalElements {
17
16
  id: string;
@@ -0,0 +1,37 @@
1
+ import * as React from 'react';
2
+ import { ModalsStateEntry } from './types';
3
+ interface ModalTransitionState {
4
+ activeModal?: string;
5
+ enteringModal?: string;
6
+ exitingModal?: string;
7
+ history?: string[];
8
+ isBack?: boolean;
9
+ }
10
+ export interface ModalTransitionProps extends ModalTransitionState {
11
+ onEnter: (id: string) => void;
12
+ onExit: (id: string) => void;
13
+ getModalState: (id: string) => ModalsStateEntry;
14
+ closeActiveModal: VoidFunction;
15
+ delayEnter: boolean;
16
+ }
17
+ export declare function modalTransitionReducer(state: ModalTransitionState, action: {
18
+ type: 'setActive' | 'entered' | 'exited' | 'inited';
19
+ id: string;
20
+ }): ModalTransitionState;
21
+ /**
22
+ * Реализует переход модалок. При смене activeModal m1 -> m2:
23
+ * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода
24
+ * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода
25
+ * одновременный переход между ModalPage:
26
+ * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2
27
+ * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации
28
+ * ИЛИ дожидаемся скрытия ModalCard
29
+ * 3b. activeModal: m2, exitingModal: null, enteringModal: m2
30
+ * 4b. enteringModal переходит в null после завершения анимации
31
+ * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен
32
+ */
33
+ export declare function useModalManager(activeModal: string, children: React.ReactNode | React.ReactNode[], onClose: (id: string) => void, initModal?: (state: ModalsStateEntry) => void): ModalTransitionProps;
34
+ export declare function withModalManager(initModal?: (a: ModalsStateEntry) => void): <Props extends ModalTransitionProps>(Wrapped: React.ComponentType<Props>) => React.FC<Pick<Props, Exclude<keyof Props, "isBack" | "onEnter" | "history" | "onExit" | "getModalState" | "closeActiveModal" | "delayEnter" | "activeModal" | "enteringModal" | "exitingModal">> & {
35
+ activeModal: string;
36
+ }>;
37
+ export {};
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { HasRootRef } from '../../types';
2
3
  import './Removable.css';
3
4
  export interface RemovableProps {
4
5
  /**
@@ -10,7 +11,7 @@ export interface RemovableProps {
10
11
  */
11
12
  onRemove?: (e: React.MouseEvent, rootEl?: HTMLElement) => void;
12
13
  }
13
- interface RemovableOwnProps extends React.AllHTMLAttributes<HTMLElement>, RemovableProps {
14
+ interface RemovableOwnProps extends React.AllHTMLAttributes<HTMLElement>, RemovableProps, HasRootRef<HTMLDivElement> {
14
15
  /**
15
16
  * Расположение кнопки удаления.
16
17
  */
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { HasComponent } from '../../types';
2
3
  import { TappableProps } from '../Tappable/Tappable';
3
4
  import './SimpleCell.css';
4
- export interface SimpleCellOwnProps {
5
+ export interface SimpleCellOwnProps extends HasComponent {
5
6
  /**
6
7
  * Иконка 28 или `<Avatar size={28|32|40|48|72} />`
7
8
  */
@@ -31,7 +32,6 @@ export interface SimpleCellOwnProps {
31
32
  */
32
33
  expandable?: boolean;
33
34
  multiline?: boolean;
34
- Component?: React.ElementType;
35
35
  }
36
36
  export interface SimpleCellProps extends SimpleCellOwnProps, TappableProps {
37
37
  }
@@ -6,9 +6,9 @@ export interface SplitColContextProps {
6
6
  }
7
7
  export declare const SplitColContext: React.Context<SplitColContextProps>;
8
8
  export interface SplitColProps extends React.HTMLAttributes<HTMLDivElement> {
9
- width?: string;
10
- maxWidth?: string;
11
- minWidth?: string;
9
+ width?: number | string;
10
+ maxWidth?: number | string;
11
+ minWidth?: number | string;
12
12
  /**
13
13
  * Если false, то переходы между Panel происходят без анимации
14
14
  */
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { HorizontalScrollProps } from '../HorizontalScroll/HorizontalScroll';
2
3
  import './SubnavigationBar.css';
3
- export interface SubnavigationBarProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ export interface SubnavigationBarProps extends React.HTMLAttributes<HTMLDivElement>, Pick<HorizontalScrollProps, 'showArrows' | 'getScrollToLeft' | 'getScrollToRight' | 'scrollAnimationDuration'> {
4
5
  mode?: 'fixed' | 'overflow';
5
6
  }
6
7
  export declare const SubnavigationBar: React.FC<SubnavigationBarProps>;
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { HasRef, HasRootRef } from '../../types';
3
- import { AdaptivityProps } from '../../hoc/withAdaptivity';
4
3
  import './Switch.css';
5
- export interface SwitchProps extends React.InputHTMLAttributes<HTMLInputElement>, HasRootRef<HTMLLabelElement>, HasRef<HTMLInputElement>, AdaptivityProps {
4
+ export interface SwitchProps extends React.InputHTMLAttributes<HTMLInputElement>, HasRootRef<HTMLLabelElement>, HasRef<HTMLInputElement> {
6
5
  }
7
- export declare const Switch: React.FunctionComponent<SwitchProps>;
6
+ export declare const Switch: React.FC<SwitchProps>;
@@ -1,6 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { HasComponent, HasRootRef } from '../../types';
2
3
  import './TabbarItem.css';
3
- export interface TabbarItemProps extends React.HTMLAttributes<HTMLElement>, React.AnchorHTMLAttributes<HTMLElement> {
4
+ export interface TabbarItemProps extends Omit<React.AllHTMLAttributes<HTMLElement>, 'label'>, // TODO убрать Omit после удаления свойства label
5
+ HasRootRef<HTMLElement>, HasComponent {
4
6
  selected?: boolean;
5
7
  /**
6
8
  * Тест рядом с иконкой
@@ -1,11 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { TouchProps } from '../Touch/Touch';
3
- import { HasRootRef } from '../../types';
3
+ import { HasComponent, HasRootRef } from '../../types';
4
4
  import { AdaptivityProps } from '../../hoc/withAdaptivity';
5
5
  import { FocusVisibleMode } from '../FocusVisible/FocusVisible';
6
6
  import './Tappable.css';
7
- export interface TappableProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, AdaptivityProps {
8
- Component?: React.ElementType;
7
+ export interface TappableProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, AdaptivityProps, HasComponent {
9
8
  /**
10
9
  * Длительность показа active-состояния
11
10
  */
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { VKUITouchEvent } from '../../lib/touch';
3
- import { HasRootRef } from '../../types';
4
- export interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement> {
3
+ import { HasComponent, HasRootRef } from '../../types';
4
+ export interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {
5
5
  /**
6
6
  * Привязать onEnter и onLeave через pointer-events - работает на disabled-инпутах
7
7
  */
@@ -9,7 +9,6 @@ export interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRoo
9
9
  useCapture?: boolean;
10
10
  slideThreshold?: number;
11
11
  noSlideClick?: boolean;
12
- Component?: React.ElementType;
13
12
  onEnter?: HoverHandler;
14
13
  onLeave?: HoverHandler;
15
14
  onStart?: TouchEventHandler;
@@ -24,20 +23,20 @@ export interface TouchProps extends React.AllHTMLAttributes<HTMLElement>, HasRoo
24
23
  stopPropagation?: boolean;
25
24
  }
26
25
  export interface Gesture {
27
- startX?: number;
28
- startY?: number;
29
- startT?: Date;
30
- duration?: number;
31
- isPressed?: boolean;
32
- isY?: boolean;
33
- isX?: boolean;
34
- isSlideX?: boolean;
35
- isSlideY?: boolean;
36
- isSlide?: boolean;
37
- shiftX?: number;
38
- shiftY?: number;
39
- shiftXAbs?: number;
40
- shiftYAbs?: number;
26
+ startX: number;
27
+ startY: number;
28
+ startT: Date;
29
+ duration: number;
30
+ isPressed: boolean;
31
+ isY: boolean;
32
+ isX: boolean;
33
+ isSlideX: boolean;
34
+ isSlideY: boolean;
35
+ isSlide: boolean;
36
+ shiftX: number;
37
+ shiftY: number;
38
+ shiftXAbs: number;
39
+ shiftYAbs: number;
41
40
  }
42
41
  export interface TouchEvent extends Gesture {
43
42
  originalEvent: VKUITouchEvent;
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
+ import { HasComponent } from '../../../types';
2
3
  import './Caption.css';
3
- export interface CaptionProps extends React.AllHTMLAttributes<HTMLElement> {
4
+ export interface CaptionProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
4
5
  weight: 'regular' | 'medium' | 'semibold' | 'bold';
5
6
  level: '1' | '2' | '3' | '4';
6
7
  caps?: boolean;
7
- Component?: React.ElementType;
8
8
  }
9
9
  declare const Caption: React.FC<CaptionProps>;
10
10
  export default Caption;
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { HasComponent } from '../../../types';
2
3
  import './Headline.css';
3
- export interface HeadlineProps extends React.AllHTMLAttributes<HTMLElement> {
4
+ export interface HeadlineProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
4
5
  weight: 'regular' | 'medium' | 'semibold';
5
- Component?: React.ElementType;
6
6
  }
7
7
  declare const Headline: React.FC<HeadlineProps>;
8
8
  export default Headline;
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { HasComponent } from '../../../types';
2
3
  import './Subhead.css';
3
- export interface SubheadProps extends React.AllHTMLAttributes<HTMLElement> {
4
+ export interface SubheadProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
4
5
  weight: 'regular' | 'medium' | 'semibold' | 'bold';
5
- Component?: React.ElementType;
6
6
  }
7
7
  declare const Subhead: React.FC<SubheadProps>;
8
8
  export default Subhead;
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../../types';
2
+ import { HasComponent, HasRootRef } from '../../../types';
3
3
  import './Text.css';
4
- export interface TextProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLDivElement> {
4
+ export interface TextProps extends React.AllHTMLAttributes<HTMLElement>, HasRootRef<HTMLElement>, HasComponent {
5
5
  weight: 'regular' | 'medium' | 'semibold';
6
- Component?: React.ElementType;
7
6
  }
8
7
  declare const Text: React.FC<TextProps>;
9
8
  export default Text;
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
+ import { HasComponent } from '../../../types';
2
3
  import './Title.css';
3
- export interface TitleProps extends React.AllHTMLAttributes<HTMLElement> {
4
+ export interface TitleProps extends React.AllHTMLAttributes<HTMLElement>, HasComponent {
4
5
  weight: 'heavy' | 'bold' | 'semibold' | 'medium' | 'regular';
5
6
  level: '1' | '2' | '3';
6
- Component?: React.ElementType;
7
7
  }
8
8
  declare const Title: React.FC<TitleProps>;
9
9
  export default Title;
@@ -0,0 +1,2 @@
1
+ import { TouchEvent } from '../Touch/Touch';
2
+ export declare function swipeBackExcluded(e: TouchEvent): boolean;
@@ -104,6 +104,10 @@ export { default as Gallery } from './components/Gallery/Gallery';
104
104
  export type { GalleryProps } from './components/Gallery/Gallery';
105
105
  export { default as Avatar } from './components/Avatar/Avatar';
106
106
  export type { AvatarProps } from './components/Avatar/Avatar';
107
+ export { GridAvatar } from './components/GridAvatar/GridAvatar';
108
+ export type { GridAvatarProps } from './components/GridAvatar/GridAvatar';
109
+ export { InitialsAvatar } from './components/InitialsAvatar/InitialsAvatar';
110
+ export type { InitialsAvatarProps } from './components/InitialsAvatar/InitialsAvatar';
107
111
  export { default as Progress } from './components/Progress/Progress';
108
112
  export type { ProgressProps } from './components/Progress/Progress';
109
113
  export { default as Search } from './components/Search/Search';
@@ -6,5 +6,5 @@ export declare enum Keys {
6
6
  TAB = "Tab",
7
7
  ESCAPE = "Escape"
8
8
  }
9
- export declare function pressedKey(e: KeyboardEvent): Keys;
9
+ export declare function pressedKey(e: KeyboardEvent | React.KeyboardEvent<HTMLElement>): Keys;
10
10
  export declare function shouldTriggerClickOnEnterOrSpace(e: KeyboardEvent | React.KeyboardEvent<HTMLElement>): boolean;
@@ -2,6 +2,8 @@ export declare type VKUISupportEvents = {
2
2
  supported: boolean;
3
3
  name?: string;
4
4
  };
5
- declare const animationEvent: VKUISupportEvents;
5
+ declare const animationEvent: {
6
+ supported: boolean;
7
+ };
6
8
  declare const transitionEvent: VKUISupportEvents;
7
9
  export { animationEvent, transitionEvent };
@@ -9,6 +9,9 @@ export interface HasRootRef<T> {
9
9
  export interface HasRef<T> {
10
10
  getRef?: React.Ref<T>;
11
11
  }
12
+ export interface HasComponent {
13
+ Component?: React.ElementType;
14
+ }
12
15
  export interface HasAlign {
13
16
  align?: AlignType;
14
17
  }
@@ -45,6 +45,8 @@ var _useObjectMemo = require("../../hooks/useObjectMemo");
45
45
 
46
46
  var _warnOnce = require("../../lib/warnOnce");
47
47
 
48
+ var _vkjs = require("@vkontakte/vkjs");
49
+
48
50
  var _excluded = ["children", "className", "header", "text", "style", "iosCloseItem"];
49
51
  var warn = (0, _warnOnce.warnOnce)('ActionSheet');
50
52
 
@@ -67,15 +69,11 @@ var ActionSheet = function ActionSheet(_ref) {
67
69
  return setClosing(true);
68
70
  };
69
71
 
70
- var _React$useState3 = React.useState(),
71
- _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
72
- _closeAction = _React$useState4[0],
73
- setCloseAction = _React$useState4[1];
72
+ var closeAction = React.useRef(_vkjs.noop);
74
73
 
75
74
  var afterClose = function afterClose() {
76
75
  restProps.onClose();
77
- _closeAction && _closeAction();
78
- setCloseAction(undefined);
76
+ closeAction.current();
79
77
  };
80
78
 
81
79
  if (process.env.NODE_ENV === 'development' && !restProps.onClose) {
@@ -106,9 +104,10 @@ var ActionSheet = function ActionSheet(_ref) {
106
104
  event.persist();
107
105
 
108
106
  if (autoclose) {
109
- setCloseAction(function () {
107
+ closeAction.current = function () {
110
108
  return action && action(event);
111
- });
109
+ };
110
+
112
111
  setClosing(true);
113
112
  } else {
114
113
  action && action(event);
@@ -132,7 +131,6 @@ var ActionSheet = function ActionSheet(_ref) {
132
131
  value: contextValue
133
132
  }, (0, _jsxRuntime.createScopedElement)(DropdownComponent, (0, _extends2.default)({
134
133
  closing: closing,
135
- onTransitionEnd: closing && !isDesktop ? afterClose : null,
136
134
  timeout: timeout
137
135
  }, restProps, {
138
136
  onClose: onClose