@vkontakte/vkui 4.32.0 → 4.33.2

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 (927) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +363 -283
  4. package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -2
  5. package/.cache/ts/src/components/Banner/Banner.d.ts +1 -2
  6. package/.cache/ts/src/components/BaseGallery/BaseGallery.d.ts +4 -0
  7. package/.cache/ts/src/components/BaseGallery/helpers.d.ts +12 -0
  8. package/.cache/ts/src/components/BaseGallery/types.d.ts +43 -0
  9. package/.cache/ts/src/components/CellButton/CellButton.d.ts +1 -2
  10. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +3 -1
  11. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  12. package/.cache/ts/src/components/ContentCard/ContentCard.d.ts +1 -2
  13. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -2
  14. package/.cache/ts/src/components/Epic/Epic.d.ts +1 -3
  15. package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +1 -2
  16. package/.cache/ts/src/components/FocusVisible/FocusVisible.d.ts +3 -4
  17. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -2
  18. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  19. package/.cache/ts/src/components/Gallery/Gallery.d.ts +6 -43
  20. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +4 -1
  21. package/.cache/ts/src/components/Group/Group.d.ts +4 -2
  22. package/.cache/ts/src/components/Header/Header.d.ts +1 -2
  23. package/.cache/ts/src/components/IconButton/IconButton.d.ts +5 -2
  24. package/.cache/ts/src/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  25. package/.cache/ts/src/components/Link/Link.d.ts +1 -2
  26. package/.cache/ts/src/components/List/List.d.ts +1 -2
  27. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +4 -2
  28. package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  29. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +4 -2
  30. package/.cache/ts/src/components/ModalRoot/ModalRootContext.d.ts +1 -1
  31. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  32. package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  33. package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  34. package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  35. package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  36. package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +1 -2
  37. package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +2 -2
  38. package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +1 -2
  39. package/.cache/ts/src/components/RichCell/RichCell.d.ts +4 -2
  40. package/.cache/ts/src/components/Root/Root.d.ts +1 -2
  41. package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  42. package/.cache/ts/src/components/Search/Search.d.ts +1 -2
  43. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +4 -2
  44. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  45. package/.cache/ts/src/components/Slider/Slider.d.ts +1 -2
  46. package/.cache/ts/src/components/Spacing/Spacing.d.ts +2 -1
  47. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +1 -2
  48. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -2
  49. package/.cache/ts/src/components/Tabs/Tabs.d.ts +4 -2
  50. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +1 -2
  51. package/.cache/ts/src/components/Tappable/Tappable.d.ts +7 -4
  52. package/.cache/ts/src/components/Textarea/Textarea.d.ts +2 -3
  53. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +1 -2
  54. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -1
  55. package/.cache/ts/src/components/UsersStack/UsersStack.d.ts +4 -2
  56. package/.cache/ts/src/components/View/View.d.ts +6 -3
  57. package/.cache/ts/src/index.d.ts +44 -44
  58. package/.cache/ts/src/lib/animate.d.ts +1 -1
  59. package/.cache/ts/src/tokenized/index.d.ts +44 -0
  60. package/README.md +1 -1
  61. package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -1
  62. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +2 -2
  63. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  64. package/dist/cjs/components/Alert/Alert.js +8 -6
  65. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  66. package/dist/cjs/components/Avatar/Avatar.d.ts +1 -2
  67. package/dist/cjs/components/Avatar/Avatar.js +6 -13
  68. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  69. package/dist/cjs/components/Banner/Banner.d.ts +1 -2
  70. package/dist/cjs/components/Banner/Banner.js +27 -36
  71. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  72. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +4 -0
  73. package/dist/cjs/components/BaseGallery/BaseGallery.js +399 -0
  74. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -0
  75. package/dist/cjs/components/BaseGallery/helpers.d.ts +12 -0
  76. package/dist/cjs/components/BaseGallery/helpers.js +62 -0
  77. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -0
  78. package/dist/cjs/components/BaseGallery/types.d.ts +43 -0
  79. package/dist/cjs/components/BaseGallery/types.js +6 -0
  80. package/dist/cjs/components/BaseGallery/types.js.map +1 -0
  81. package/dist/cjs/components/Button/Button.js +3 -3
  82. package/dist/cjs/components/Button/Button.js.map +1 -1
  83. package/dist/cjs/components/CalendarDay/CalendarDay.js +2 -4
  84. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  85. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +3 -5
  86. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  87. package/dist/cjs/components/Cell/Cell.js +2 -2
  88. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  89. package/dist/cjs/components/CellButton/CellButton.d.ts +1 -2
  90. package/dist/cjs/components/CellButton/CellButton.js +4 -12
  91. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  92. package/dist/cjs/components/Checkbox/Checkbox.d.ts +3 -1
  93. package/dist/cjs/components/Checkbox/Checkbox.js +69 -15
  94. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  95. package/dist/cjs/components/Chip/Chip.js +2 -2
  96. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  97. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  98. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +3 -5
  99. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  100. package/dist/cjs/components/ContentCard/ContentCard.d.ts +1 -2
  101. package/dist/cjs/components/ContentCard/ContentCard.js +38 -50
  102. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  103. package/dist/cjs/components/DateInput/DateInput.js +3 -3
  104. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  105. package/dist/cjs/components/DatePicker/DatePicker.d.ts +1 -2
  106. package/dist/cjs/components/DatePicker/DatePicker.js +6 -7
  107. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  108. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +3 -3
  109. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  110. package/dist/cjs/components/Epic/Epic.d.ts +1 -3
  111. package/dist/cjs/components/Epic/Epic.js +9 -11
  112. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  113. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +1 -2
  114. package/dist/cjs/components/FixedLayout/FixedLayout.js +6 -11
  115. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  116. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +3 -4
  117. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  118. package/dist/cjs/components/FormItem/FormItem.js +3 -6
  119. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  120. package/dist/cjs/components/FormLayout/FormLayout.d.ts +1 -2
  121. package/dist/cjs/components/FormLayout/FormLayout.js +3 -5
  122. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  123. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  124. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +6 -10
  125. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  126. package/dist/cjs/components/Gallery/Gallery.d.ts +6 -43
  127. package/dist/cjs/components/Gallery/Gallery.js +23 -565
  128. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  129. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +4 -1
  130. package/dist/cjs/components/GridAvatar/GridAvatar.js +9 -11
  131. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  132. package/dist/cjs/components/Group/Group.d.ts +4 -2
  133. package/dist/cjs/components/Group/Group.js +12 -14
  134. package/dist/cjs/components/Group/Group.js.map +1 -1
  135. package/dist/cjs/components/Header/Header.d.ts +1 -2
  136. package/dist/cjs/components/Header/Header.js +4 -8
  137. package/dist/cjs/components/Header/Header.js.map +1 -1
  138. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -4
  139. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  140. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -1
  141. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  142. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +2 -4
  143. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  144. package/dist/cjs/components/IconButton/IconButton.d.ts +5 -2
  145. package/dist/cjs/components/IconButton/IconButton.js +14 -18
  146. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  147. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  148. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +2 -4
  149. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  150. package/dist/cjs/components/Link/Link.d.ts +1 -2
  151. package/dist/cjs/components/Link/Link.js +5 -7
  152. package/dist/cjs/components/Link/Link.js.map +1 -1
  153. package/dist/cjs/components/List/List.d.ts +1 -2
  154. package/dist/cjs/components/List/List.js +3 -5
  155. package/dist/cjs/components/List/List.js.map +1 -1
  156. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  157. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  158. package/dist/cjs/components/ModalCard/ModalCard.d.ts +4 -2
  159. package/dist/cjs/components/ModalCard/ModalCard.js +32 -29
  160. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  161. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +2 -2
  162. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  163. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  164. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +15 -12
  165. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  166. package/dist/cjs/components/ModalPage/ModalPage.d.ts +4 -2
  167. package/dist/cjs/components/ModalPage/ModalPage.js +34 -31
  168. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  169. package/dist/cjs/components/ModalRoot/ModalRoot.js +10 -4
  170. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  171. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +1 -1
  172. package/dist/cjs/components/ModalRoot/ModalRootContext.js +2 -6
  173. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  174. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -2
  175. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  176. package/dist/cjs/components/ModalRoot/withModalRootContext.js +2 -2
  177. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  178. package/dist/cjs/components/Pagination/Pagination.js +2 -2
  179. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  180. package/dist/cjs/components/PanelHeader/PanelHeader.js +5 -5
  181. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  182. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  183. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +11 -11
  184. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  185. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
  186. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  187. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  188. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +4 -8
  189. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  190. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  191. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -7
  192. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  193. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +2 -2
  194. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  195. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  196. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +8 -12
  197. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  198. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  199. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +4 -8
  200. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  201. package/dist/cjs/components/Placeholder/Placeholder.d.ts +1 -2
  202. package/dist/cjs/components/Placeholder/Placeholder.js +3 -5
  203. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  204. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -10
  205. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  206. package/dist/cjs/components/Popper/Popper.js +4 -1
  207. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  208. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +2 -2
  209. package/dist/cjs/components/PromoBanner/PromoBanner.js +7 -9
  210. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  211. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -2
  212. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  213. package/dist/cjs/components/Radio/Radio.js +2 -4
  214. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  215. package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +1 -2
  216. package/dist/cjs/components/RangeSlider/RangeSlider.js +3 -5
  217. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  218. package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -6
  219. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  220. package/dist/cjs/components/Removable/Removable.js +10 -7
  221. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  222. package/dist/cjs/components/RichCell/RichCell.d.ts +4 -2
  223. package/dist/cjs/components/RichCell/RichCell.js +11 -11
  224. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  225. package/dist/cjs/components/Root/Root.d.ts +1 -2
  226. package/dist/cjs/components/Root/Root.js +6 -20
  227. package/dist/cjs/components/Root/Root.js.map +1 -1
  228. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  229. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +14 -14
  230. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  231. package/dist/cjs/components/Search/Search.d.ts +1 -2
  232. package/dist/cjs/components/Search/Search.js +19 -18
  233. package/dist/cjs/components/Search/Search.js.map +1 -1
  234. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +4 -2
  235. package/dist/cjs/components/SimpleCell/SimpleCell.js +10 -12
  236. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  237. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  238. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +3 -2
  239. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  240. package/dist/cjs/components/Slider/Slider.d.ts +1 -2
  241. package/dist/cjs/components/Slider/Slider.js +3 -5
  242. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  243. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -2
  244. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  245. package/dist/cjs/components/Spacing/Spacing.d.ts +2 -1
  246. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  247. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +2 -2
  248. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  249. package/dist/cjs/components/Tabbar/Tabbar.d.ts +1 -2
  250. package/dist/cjs/components/Tabbar/Tabbar.js +8 -12
  251. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  252. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -2
  253. package/dist/cjs/components/TabbarItem/TabbarItem.js +5 -7
  254. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  255. package/dist/cjs/components/Tabs/Tabs.d.ts +4 -2
  256. package/dist/cjs/components/Tabs/Tabs.js +10 -13
  257. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  258. package/dist/cjs/components/TabsItem/TabsItem.d.ts +1 -2
  259. package/dist/cjs/components/TabsItem/TabsItem.js +6 -10
  260. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  261. package/dist/cjs/components/Tappable/Tappable.d.ts +7 -4
  262. package/dist/cjs/components/Tappable/Tappable.js +10 -9
  263. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  264. package/dist/cjs/components/Textarea/Textarea.d.ts +2 -3
  265. package/dist/cjs/components/Textarea/Textarea.js +14 -14
  266. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  267. package/dist/cjs/components/Tooltip/Tooltip.d.ts +1 -2
  268. package/dist/cjs/components/Tooltip/Tooltip.js +8 -13
  269. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  270. package/dist/cjs/components/Typography/Title/Title.d.ts +1 -1
  271. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  272. package/dist/cjs/components/UsersStack/UsersStack.d.ts +4 -2
  273. package/dist/cjs/components/UsersStack/UsersStack.js +51 -46
  274. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  275. package/dist/cjs/components/UsersStack/masks.js +1 -1
  276. package/dist/cjs/components/UsersStack/masks.js.map +1 -1
  277. package/dist/cjs/components/View/View.d.ts +6 -3
  278. package/dist/cjs/components/View/View.js +26 -43
  279. package/dist/cjs/components/View/View.js.map +1 -1
  280. package/dist/cjs/components/WriteBar/WriteBar.js +9 -29
  281. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  282. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
  283. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  284. package/dist/cjs/index.d.ts +44 -44
  285. package/dist/cjs/index.js +88 -88
  286. package/dist/cjs/index.js.map +1 -1
  287. package/dist/cjs/lib/animate.d.ts +1 -1
  288. package/dist/cjs/lib/animate.js +1 -2
  289. package/dist/cjs/lib/animate.js.map +1 -1
  290. package/dist/cjs/lib/polyfills.js +20 -0
  291. package/dist/cjs/lib/polyfills.js.map +1 -1
  292. package/dist/cjs/tokenized/index.d.ts +44 -0
  293. package/dist/cjs/tokenized/index.js +176 -0
  294. package/dist/cjs/tokenized/index.js.map +1 -1
  295. package/dist/components/ActionSheetItem/ActionSheetItem.js +1 -1
  296. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  297. package/dist/components/Alert/Alert.js +6 -4
  298. package/dist/components/Alert/Alert.js.map +1 -1
  299. package/dist/components/Avatar/Avatar.d.ts +1 -2
  300. package/dist/components/Avatar/Avatar.js +4 -11
  301. package/dist/components/Avatar/Avatar.js.map +1 -1
  302. package/dist/components/Banner/Banner.d.ts +1 -2
  303. package/dist/components/Banner/Banner.js +25 -35
  304. package/dist/components/Banner/Banner.js.map +1 -1
  305. package/dist/components/BaseGallery/BaseGallery.d.ts +4 -0
  306. package/dist/components/BaseGallery/BaseGallery.js +371 -0
  307. package/dist/components/BaseGallery/BaseGallery.js.map +1 -0
  308. package/dist/components/BaseGallery/helpers.d.ts +12 -0
  309. package/dist/components/BaseGallery/helpers.js +50 -0
  310. package/dist/components/BaseGallery/helpers.js.map +1 -0
  311. package/dist/components/BaseGallery/types.d.ts +43 -0
  312. package/dist/components/BaseGallery/types.js +2 -0
  313. package/dist/components/BaseGallery/types.js.map +1 -0
  314. package/dist/components/Button/Button.js +2 -2
  315. package/dist/components/Button/Button.js.map +1 -1
  316. package/dist/components/CalendarDay/CalendarDay.js +1 -1
  317. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  318. package/dist/components/CalendarHeader/CalendarHeader.js +1 -1
  319. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  320. package/dist/components/Cell/Cell.js +1 -1
  321. package/dist/components/Cell/Cell.js.map +1 -1
  322. package/dist/components/CellButton/CellButton.d.ts +1 -2
  323. package/dist/components/CellButton/CellButton.js +3 -10
  324. package/dist/components/CellButton/CellButton.js.map +1 -1
  325. package/dist/components/Checkbox/Checkbox.d.ts +3 -1
  326. package/dist/components/Checkbox/Checkbox.js +67 -15
  327. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  328. package/dist/components/Chip/Chip.js +1 -1
  329. package/dist/components/Chip/Chip.js.map +1 -1
  330. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  331. package/dist/components/ConfigProvider/ConfigProvider.js +2 -5
  332. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  333. package/dist/components/ContentCard/ContentCard.d.ts +1 -2
  334. package/dist/components/ContentCard/ContentCard.js +35 -46
  335. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  336. package/dist/components/DateInput/DateInput.js +1 -1
  337. package/dist/components/DateInput/DateInput.js.map +1 -1
  338. package/dist/components/DatePicker/DatePicker.d.ts +1 -2
  339. package/dist/components/DatePicker/DatePicker.js +4 -4
  340. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  341. package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
  342. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  343. package/dist/components/Epic/Epic.d.ts +1 -3
  344. package/dist/components/Epic/Epic.js +8 -6
  345. package/dist/components/Epic/Epic.js.map +1 -1
  346. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -2
  347. package/dist/components/FixedLayout/FixedLayout.js +5 -11
  348. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  349. package/dist/components/FocusVisible/FocusVisible.d.ts +3 -4
  350. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  351. package/dist/components/FormItem/FormItem.js +3 -6
  352. package/dist/components/FormItem/FormItem.js.map +1 -1
  353. package/dist/components/FormLayout/FormLayout.d.ts +1 -2
  354. package/dist/components/FormLayout/FormLayout.js +2 -5
  355. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  356. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  357. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
  358. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  359. package/dist/components/Gallery/Gallery.d.ts +6 -43
  360. package/dist/components/Gallery/Gallery.js +20 -567
  361. package/dist/components/Gallery/Gallery.js.map +1 -1
  362. package/dist/components/GridAvatar/GridAvatar.d.ts +4 -1
  363. package/dist/components/GridAvatar/GridAvatar.js +8 -9
  364. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  365. package/dist/components/Group/Group.d.ts +4 -2
  366. package/dist/components/Group/Group.js +9 -10
  367. package/dist/components/Group/Group.js.map +1 -1
  368. package/dist/components/Header/Header.d.ts +1 -2
  369. package/dist/components/Header/Header.js +3 -8
  370. package/dist/components/Header/Header.js.map +1 -1
  371. package/dist/components/HorizontalCell/HorizontalCell.js +2 -2
  372. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  373. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -1
  374. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  375. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  376. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  377. package/dist/components/IconButton/IconButton.d.ts +5 -2
  378. package/dist/components/IconButton/IconButton.js +11 -13
  379. package/dist/components/IconButton/IconButton.js.map +1 -1
  380. package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  381. package/dist/components/InitialsAvatar/InitialsAvatar.js +1 -1
  382. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  383. package/dist/components/Link/Link.d.ts +1 -2
  384. package/dist/components/Link/Link.js +3 -6
  385. package/dist/components/Link/Link.js.map +1 -1
  386. package/dist/components/List/List.d.ts +1 -2
  387. package/dist/components/List/List.js +2 -5
  388. package/dist/components/List/List.js.map +1 -1
  389. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
  390. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  391. package/dist/components/ModalCard/ModalCard.d.ts +4 -2
  392. package/dist/components/ModalCard/ModalCard.js +29 -25
  393. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  394. package/dist/components/ModalCardBase/ModalCardBase.js +1 -1
  395. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  396. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  397. package/dist/components/ModalDismissButton/ModalDismissButton.js +10 -9
  398. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  399. package/dist/components/ModalPage/ModalPage.d.ts +4 -2
  400. package/dist/components/ModalPage/ModalPage.js +31 -28
  401. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  402. package/dist/components/ModalRoot/ModalRoot.js +9 -3
  403. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  404. package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
  405. package/dist/components/ModalRoot/ModalRootContext.js +1 -3
  406. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  407. package/dist/components/ModalRoot/ModalRootDesktop.js +1 -1
  408. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  409. package/dist/components/ModalRoot/withModalRootContext.js +1 -1
  410. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  411. package/dist/components/Pagination/Pagination.js +1 -1
  412. package/dist/components/Pagination/Pagination.js.map +1 -1
  413. package/dist/components/PanelHeader/PanelHeader.js +2 -2
  414. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  415. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  416. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
  417. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  418. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  419. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  420. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  421. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
  422. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  423. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  424. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
  425. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  426. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  427. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  428. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  429. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
  430. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  431. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  432. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
  433. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  434. package/dist/components/Placeholder/Placeholder.d.ts +1 -2
  435. package/dist/components/Placeholder/Placeholder.js +2 -5
  436. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  437. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -9
  438. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  439. package/dist/components/Popper/Popper.js +4 -1
  440. package/dist/components/Popper/Popper.js.map +1 -1
  441. package/dist/components/PromoBanner/PromoBanner.d.ts +2 -2
  442. package/dist/components/PromoBanner/PromoBanner.js +4 -7
  443. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  444. package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
  445. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  446. package/dist/components/Radio/Radio.js +1 -1
  447. package/dist/components/Radio/Radio.js.map +1 -1
  448. package/dist/components/RangeSlider/RangeSlider.d.ts +1 -2
  449. package/dist/components/RangeSlider/RangeSlider.js +2 -5
  450. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  451. package/dist/components/RangeSlider/UniversalSlider.js +1 -5
  452. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  453. package/dist/components/Removable/Removable.js +7 -4
  454. package/dist/components/Removable/Removable.js.map +1 -1
  455. package/dist/components/RichCell/RichCell.d.ts +4 -2
  456. package/dist/components/RichCell/RichCell.js +8 -7
  457. package/dist/components/RichCell/RichCell.js.map +1 -1
  458. package/dist/components/Root/Root.d.ts +1 -2
  459. package/dist/components/Root/Root.js +5 -19
  460. package/dist/components/Root/Root.js.map +1 -1
  461. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  462. package/dist/components/ScreenSpinner/ScreenSpinner.js +12 -13
  463. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  464. package/dist/components/Search/Search.d.ts +1 -2
  465. package/dist/components/Search/Search.js +17 -15
  466. package/dist/components/Search/Search.js.map +1 -1
  467. package/dist/components/SimpleCell/SimpleCell.d.ts +4 -2
  468. package/dist/components/SimpleCell/SimpleCell.js +7 -8
  469. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  470. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  471. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
  472. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  473. package/dist/components/Slider/Slider.d.ts +1 -2
  474. package/dist/components/Slider/Slider.js +2 -5
  475. package/dist/components/Slider/Slider.js.map +1 -1
  476. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -1
  477. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  478. package/dist/components/Spacing/Spacing.d.ts +2 -1
  479. package/dist/components/Spacing/Spacing.js.map +1 -1
  480. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
  481. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  482. package/dist/components/Tabbar/Tabbar.d.ts +1 -2
  483. package/dist/components/Tabbar/Tabbar.js +6 -11
  484. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  485. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -2
  486. package/dist/components/TabbarItem/TabbarItem.js +3 -6
  487. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  488. package/dist/components/Tabs/Tabs.d.ts +4 -2
  489. package/dist/components/Tabs/Tabs.js +8 -9
  490. package/dist/components/Tabs/Tabs.js.map +1 -1
  491. package/dist/components/TabsItem/TabsItem.d.ts +1 -2
  492. package/dist/components/TabsItem/TabsItem.js +4 -9
  493. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  494. package/dist/components/Tappable/Tappable.d.ts +7 -4
  495. package/dist/components/Tappable/Tappable.js +9 -6
  496. package/dist/components/Tappable/Tappable.js.map +1 -1
  497. package/dist/components/Textarea/Textarea.d.ts +2 -3
  498. package/dist/components/Textarea/Textarea.js +12 -9
  499. package/dist/components/Textarea/Textarea.js.map +1 -1
  500. package/dist/components/Tooltip/Tooltip.d.ts +1 -2
  501. package/dist/components/Tooltip/Tooltip.js +7 -13
  502. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  503. package/dist/components/Typography/Title/Title.d.ts +1 -1
  504. package/dist/components/Typography/Title/Title.js.map +1 -1
  505. package/dist/components/UsersStack/UsersStack.d.ts +4 -2
  506. package/dist/components/UsersStack/UsersStack.js +48 -39
  507. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  508. package/dist/components/UsersStack/masks.js +1 -1
  509. package/dist/components/UsersStack/masks.js.map +1 -1
  510. package/dist/components/View/View.d.ts +6 -3
  511. package/dist/components/View/View.js +25 -39
  512. package/dist/components/View/View.js.map +1 -1
  513. package/dist/components/WriteBar/WriteBar.js +9 -28
  514. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  515. package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
  516. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  517. package/dist/components.css +27 -9
  518. package/dist/components.css.map +1 -1
  519. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +1 -1
  520. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  521. package/dist/cssm/components/Alert/Alert.js +6 -4
  522. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  523. package/dist/cssm/components/Avatar/Avatar.css +5 -1
  524. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -2
  525. package/dist/cssm/components/Avatar/Avatar.js +4 -11
  526. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  527. package/dist/cssm/components/Banner/Banner.css +5 -1
  528. package/dist/cssm/components/Banner/Banner.d.ts +1 -2
  529. package/dist/cssm/components/Banner/Banner.js +25 -35
  530. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  531. package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -0
  532. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +4 -0
  533. package/dist/cssm/components/BaseGallery/BaseGallery.js +372 -0
  534. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -0
  535. package/dist/cssm/components/BaseGallery/helpers.d.ts +12 -0
  536. package/dist/cssm/components/BaseGallery/helpers.js +50 -0
  537. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -0
  538. package/dist/cssm/components/BaseGallery/types.d.ts +43 -0
  539. package/dist/cssm/components/BaseGallery/types.js +2 -0
  540. package/dist/cssm/components/BaseGallery/types.js.map +1 -0
  541. package/dist/cssm/components/Button/Button.css +1 -1
  542. package/dist/cssm/components/Button/Button.js +2 -2
  543. package/dist/cssm/components/Button/Button.js.map +1 -1
  544. package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -1
  545. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  546. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +1 -1
  547. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  548. package/dist/cssm/components/Cell/Cell.js +1 -1
  549. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  550. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  551. package/dist/cssm/components/CellButton/CellButton.d.ts +1 -2
  552. package/dist/cssm/components/CellButton/CellButton.js +3 -10
  553. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  554. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  555. package/dist/cssm/components/Checkbox/Checkbox.d.ts +3 -1
  556. package/dist/cssm/components/Checkbox/Checkbox.js +67 -15
  557. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  558. package/dist/cssm/components/Chip/Chip.js +1 -1
  559. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  560. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  561. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -5
  562. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  563. package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
  564. package/dist/cssm/components/ContentCard/ContentCard.d.ts +1 -2
  565. package/dist/cssm/components/ContentCard/ContentCard.js +35 -46
  566. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  567. package/dist/cssm/components/DateInput/DateInput.js +1 -1
  568. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  569. package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -2
  570. package/dist/cssm/components/DatePicker/DatePicker.js +4 -4
  571. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  572. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
  573. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  574. package/dist/cssm/components/Epic/Epic.d.ts +1 -3
  575. package/dist/cssm/components/Epic/Epic.js +8 -6
  576. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  577. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  578. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -2
  579. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -11
  580. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  581. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  582. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +3 -4
  583. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  584. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  585. package/dist/cssm/components/FormItem/FormItem.js +3 -6
  586. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  587. package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -2
  588. package/dist/cssm/components/FormLayout/FormLayout.js +2 -5
  589. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  590. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  591. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  592. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
  593. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  594. package/dist/cssm/components/Gallery/Gallery.d.ts +6 -43
  595. package/dist/cssm/components/Gallery/Gallery.js +20 -568
  596. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  597. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +4 -1
  598. package/dist/cssm/components/GridAvatar/GridAvatar.js +8 -9
  599. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  600. package/dist/cssm/components/Group/Group.css +1 -1
  601. package/dist/cssm/components/Group/Group.d.ts +4 -2
  602. package/dist/cssm/components/Group/Group.js +9 -10
  603. package/dist/cssm/components/Group/Group.js.map +1 -1
  604. package/dist/cssm/components/Header/Header.d.ts +1 -2
  605. package/dist/cssm/components/Header/Header.js +3 -8
  606. package/dist/cssm/components/Header/Header.js.map +1 -1
  607. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +2 -2
  608. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  609. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -1
  610. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  611. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  612. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  613. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  614. package/dist/cssm/components/IconButton/IconButton.d.ts +5 -2
  615. package/dist/cssm/components/IconButton/IconButton.js +11 -13
  616. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  617. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
  618. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  619. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +1 -1
  620. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  621. package/dist/cssm/components/Link/Link.d.ts +1 -2
  622. package/dist/cssm/components/Link/Link.js +3 -6
  623. package/dist/cssm/components/Link/Link.js.map +1 -1
  624. package/dist/cssm/components/List/List.d.ts +1 -2
  625. package/dist/cssm/components/List/List.js +2 -5
  626. package/dist/cssm/components/List/List.js.map +1 -1
  627. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  628. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  629. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  630. package/dist/cssm/components/ModalCard/ModalCard.d.ts +4 -2
  631. package/dist/cssm/components/ModalCard/ModalCard.js +29 -25
  632. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  633. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -1
  634. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  635. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  636. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +10 -9
  637. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  638. package/dist/cssm/components/ModalPage/ModalPage.d.ts +4 -2
  639. package/dist/cssm/components/ModalPage/ModalPage.js +31 -28
  640. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  641. package/dist/cssm/components/ModalRoot/ModalRoot.js +9 -3
  642. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  643. package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts +1 -1
  644. package/dist/cssm/components/ModalRoot/ModalRootContext.js +1 -3
  645. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  646. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +1 -1
  647. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  648. package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
  649. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  650. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  651. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  652. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  653. package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -2
  654. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  655. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  656. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
  657. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  658. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  659. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  660. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  661. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
  662. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  663. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  664. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
  665. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  666. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  667. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  668. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  669. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
  670. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  671. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  672. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
  673. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  674. package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -2
  675. package/dist/cssm/components/Placeholder/Placeholder.js +2 -5
  676. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  677. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
  678. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -9
  679. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  680. package/dist/cssm/components/Popper/Popper.js +4 -1
  681. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  682. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +2 -2
  683. package/dist/cssm/components/PromoBanner/PromoBanner.js +4 -7
  684. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  685. package/dist/cssm/components/PullToRefresh/PullToRefresh.css +1 -1
  686. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
  687. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  688. package/dist/cssm/components/Radio/Radio.js +1 -1
  689. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  690. package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +1 -2
  691. package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -5
  692. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  693. package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -5
  694. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  695. package/dist/cssm/components/Removable/Removable.css +1 -1
  696. package/dist/cssm/components/Removable/Removable.js +7 -4
  697. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  698. package/dist/cssm/components/RichCell/RichCell.d.ts +4 -2
  699. package/dist/cssm/components/RichCell/RichCell.js +8 -7
  700. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  701. package/dist/cssm/components/Root/Root.css +1 -1
  702. package/dist/cssm/components/Root/Root.d.ts +1 -2
  703. package/dist/cssm/components/Root/Root.js +5 -19
  704. package/dist/cssm/components/Root/Root.js.map +1 -1
  705. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  706. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +12 -13
  707. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  708. package/dist/cssm/components/Search/Search.d.ts +1 -2
  709. package/dist/cssm/components/Search/Search.js +17 -15
  710. package/dist/cssm/components/Search/Search.js.map +1 -1
  711. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  712. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +4 -2
  713. package/dist/cssm/components/SimpleCell/SimpleCell.js +7 -8
  714. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  715. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  716. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
  717. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  718. package/dist/cssm/components/Slider/Slider.css +3 -1
  719. package/dist/cssm/components/Slider/Slider.d.ts +1 -2
  720. package/dist/cssm/components/Slider/Slider.js +2 -5
  721. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  722. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -1
  723. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  724. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  725. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  726. package/dist/cssm/components/Spacing/Spacing.d.ts +2 -1
  727. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  728. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  729. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  730. package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -2
  731. package/dist/cssm/components/Tabbar/Tabbar.js +6 -11
  732. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  733. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -2
  734. package/dist/cssm/components/TabbarItem/TabbarItem.js +3 -6
  735. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  736. package/dist/cssm/components/Tabs/Tabs.d.ts +4 -2
  737. package/dist/cssm/components/Tabs/Tabs.js +8 -9
  738. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  739. package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -2
  740. package/dist/cssm/components/TabsItem/TabsItem.js +4 -9
  741. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  742. package/dist/cssm/components/Tappable/Tappable.css +5 -1
  743. package/dist/cssm/components/Tappable/Tappable.d.ts +7 -4
  744. package/dist/cssm/components/Tappable/Tappable.js +9 -6
  745. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  746. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  747. package/dist/cssm/components/Textarea/Textarea.d.ts +2 -3
  748. package/dist/cssm/components/Textarea/Textarea.js +12 -9
  749. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  750. package/dist/cssm/components/Tooltip/Tooltip.d.ts +1 -2
  751. package/dist/cssm/components/Tooltip/Tooltip.js +7 -13
  752. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  753. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -1
  754. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  755. package/dist/cssm/components/UsersStack/UsersStack.css +5 -1
  756. package/dist/cssm/components/UsersStack/UsersStack.d.ts +4 -2
  757. package/dist/cssm/components/UsersStack/UsersStack.js +48 -39
  758. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  759. package/dist/cssm/components/UsersStack/masks.js +1 -1
  760. package/dist/cssm/components/UsersStack/masks.js.map +1 -1
  761. package/dist/cssm/components/View/View.css +1 -1
  762. package/dist/cssm/components/View/View.d.ts +6 -3
  763. package/dist/cssm/components/View/View.js +25 -39
  764. package/dist/cssm/components/View/View.js.map +1 -1
  765. package/dist/cssm/components/WriteBar/WriteBar.js +9 -28
  766. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  767. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  768. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  769. package/dist/cssm/index.d.ts +44 -44
  770. package/dist/cssm/index.js +44 -44
  771. package/dist/cssm/index.js.map +1 -1
  772. package/dist/cssm/lib/animate.d.ts +1 -1
  773. package/dist/cssm/lib/animate.js +1 -2
  774. package/dist/cssm/lib/animate.js.map +1 -1
  775. package/dist/cssm/lib/polyfills.js +20 -0
  776. package/dist/cssm/lib/polyfills.js.map +1 -1
  777. package/dist/cssm/styles/components.css +27 -9
  778. package/dist/cssm/tokenized/index.d.ts +44 -0
  779. package/dist/cssm/tokenized/index.js +22 -0
  780. package/dist/cssm/tokenized/index.js.map +1 -1
  781. package/dist/default_scheme.css.map +1 -1
  782. package/dist/index.d.ts +44 -44
  783. package/dist/index.js +44 -44
  784. package/dist/index.js.map +1 -1
  785. package/dist/lib/animate.d.ts +1 -1
  786. package/dist/lib/animate.js +1 -2
  787. package/dist/lib/animate.js.map +1 -1
  788. package/dist/lib/polyfills.js +20 -0
  789. package/dist/lib/polyfills.js.map +1 -1
  790. package/dist/tokenized/index.d.ts +44 -0
  791. package/dist/tokenized/index.js +22 -0
  792. package/dist/tokenized/index.js.map +1 -1
  793. package/dist/vkui.css +27 -9
  794. package/dist/vkui.css.map +1 -1
  795. package/package.json +3 -3
  796. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  797. package/src/components/Alert/Alert.tsx +6 -4
  798. package/src/components/Avatar/Avatar.css +27 -20
  799. package/src/components/Avatar/Avatar.tsx +3 -9
  800. package/src/components/Avatar/Readme.md +43 -304
  801. package/src/components/Banner/Banner.css +24 -25
  802. package/src/components/Banner/Banner.tsx +28 -42
  803. package/src/components/{Gallery/Gallery.css → BaseGallery/BaseGallery.css} +7 -3
  804. package/src/components/BaseGallery/BaseGallery.tsx +394 -0
  805. package/src/components/BaseGallery/helpers.ts +51 -0
  806. package/src/components/BaseGallery/types.ts +52 -0
  807. package/src/components/Button/Button.css +4 -0
  808. package/src/components/Button/Button.tsx +3 -2
  809. package/src/components/CalendarDay/CalendarDay.tsx +1 -1
  810. package/src/components/CalendarHeader/CalendarHeader.tsx +1 -1
  811. package/src/components/Cell/Cell.tsx +1 -1
  812. package/src/components/CellButton/CellButton.css +10 -4
  813. package/src/components/CellButton/CellButton.tsx +4 -13
  814. package/src/components/Checkbox/Checkbox.css +41 -55
  815. package/src/components/Checkbox/Checkbox.tsx +89 -30
  816. package/src/components/Checkbox/Readme.md +19 -0
  817. package/src/components/Chip/Chip.tsx +1 -1
  818. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -4
  819. package/src/components/ContentCard/ContentCard.css +10 -18
  820. package/src/components/ContentCard/ContentCard.tsx +44 -49
  821. package/src/components/ContentCard/Readme.md +6 -0
  822. package/src/components/DateInput/DateInput.tsx +1 -1
  823. package/src/components/DatePicker/DatePicker.tsx +4 -3
  824. package/src/components/DateRangeInput/DateRangeInput.tsx +1 -1
  825. package/src/components/Epic/Epic.tsx +7 -6
  826. package/src/components/FixedLayout/FixedLayout.css +1 -1
  827. package/src/components/FixedLayout/FixedLayout.tsx +5 -10
  828. package/src/components/FocusVisible/FocusVisible.css +1 -1
  829. package/src/components/FocusVisible/FocusVisible.tsx +2 -5
  830. package/src/components/FormItem/FormItem.css +22 -13
  831. package/src/components/FormItem/FormItem.tsx +3 -6
  832. package/src/components/FormLayout/FormLayout.tsx +3 -4
  833. package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
  834. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +3 -9
  835. package/src/components/Gallery/Gallery.tsx +10 -512
  836. package/src/components/GridAvatar/GridAvatar.tsx +17 -15
  837. package/src/components/Group/Group.css +12 -0
  838. package/src/components/Group/Group.tsx +8 -11
  839. package/src/components/Group/Readme.md +129 -134
  840. package/src/components/Header/Header.tsx +2 -9
  841. package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
  842. package/src/components/HorizontalScroll/HorizontalScroll.tsx +4 -1
  843. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -1
  844. package/src/components/IconButton/IconButton.css +14 -19
  845. package/src/components/IconButton/IconButton.tsx +14 -16
  846. package/src/components/IconButton/Readme.md +51 -0
  847. package/src/components/InitialsAvatar/InitialsAvatar.css +26 -29
  848. package/src/components/InitialsAvatar/InitialsAvatar.tsx +2 -2
  849. package/src/components/Link/Link.tsx +5 -5
  850. package/src/components/List/List.tsx +3 -7
  851. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
  852. package/src/components/ModalCard/ModalCard.css +1 -1
  853. package/src/components/ModalCard/ModalCard.tsx +31 -30
  854. package/src/components/ModalCardBase/ModalCardBase.tsx +1 -1
  855. package/src/components/ModalDismissButton/ModalDismissButton.tsx +7 -12
  856. package/src/components/ModalPage/ModalPage.tsx +32 -32
  857. package/src/components/ModalRoot/ModalRoot.tsx +9 -2
  858. package/src/components/ModalRoot/ModalRootContext.tsx +0 -3
  859. package/src/components/ModalRoot/ModalRootDesktop.tsx +2 -1
  860. package/src/components/ModalRoot/withModalRootContext.tsx +2 -1
  861. package/src/components/Pagination/Pagination.tsx +1 -1
  862. package/src/components/PanelHeader/PanelHeader.css +9 -0
  863. package/src/components/PanelHeader/PanelHeader.tsx +2 -2
  864. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +9 -8
  865. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
  866. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +3 -11
  867. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
  868. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -1
  869. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +4 -13
  870. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +3 -11
  871. package/src/components/Placeholder/Placeholder.tsx +3 -4
  872. package/src/components/PopoutWrapper/PopoutWrapper.css +4 -15
  873. package/src/components/PopoutWrapper/PopoutWrapper.tsx +5 -11
  874. package/src/components/Popper/Popper.tsx +3 -0
  875. package/src/components/PromoBanner/PromoBanner.tsx +3 -6
  876. package/src/components/PullToRefresh/PullToRefresh.css +1 -1
  877. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
  878. package/src/components/Radio/Radio.tsx +1 -1
  879. package/src/components/RangeSlider/RangeSlider.tsx +1 -4
  880. package/src/components/RangeSlider/Readme.md +19 -27
  881. package/src/components/RangeSlider/UniversalSlider.tsx +1 -4
  882. package/src/components/Removable/Removable.css +15 -19
  883. package/src/components/Removable/Removable.tsx +5 -3
  884. package/src/components/RichCell/RichCell.tsx +8 -7
  885. package/src/components/Root/Root.css +9 -14
  886. package/src/components/Root/Root.tsx +26 -21
  887. package/src/components/ScreenSpinner/ScreenSpinner.tsx +13 -13
  888. package/src/components/Search/Search.tsx +9 -14
  889. package/src/components/SimpleCell/SimpleCell.css +3 -52
  890. package/src/components/SimpleCell/SimpleCell.tsx +6 -7
  891. package/src/components/SimpleCheckbox/Readme.md +4 -0
  892. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +2 -1
  893. package/src/components/Slider/Readme.md +68 -76
  894. package/src/components/Slider/Slider.css +9 -49
  895. package/src/components/Slider/Slider.tsx +1 -4
  896. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -1
  897. package/src/components/Snackbar/Snackbar.css +6 -2
  898. package/src/components/Spacing/Spacing.css +1 -1
  899. package/src/components/Spacing/Spacing.tsx +2 -1
  900. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  901. package/src/components/Tabbar/Tabbar.tsx +6 -9
  902. package/src/components/TabbarItem/TabbarItem.tsx +2 -5
  903. package/src/components/Tabs/Tabs.tsx +7 -10
  904. package/src/components/TabsItem/TabsItem.tsx +3 -10
  905. package/src/components/Tappable/Readme.md +53 -0
  906. package/src/components/Tappable/Tappable.css +12 -27
  907. package/src/components/Tappable/Tappable.tsx +13 -8
  908. package/src/components/Textarea/Readme.md +1 -2
  909. package/src/components/Textarea/Textarea.css +12 -8
  910. package/src/components/Textarea/Textarea.tsx +54 -55
  911. package/src/components/Tooltip/Tooltip.tsx +4 -12
  912. package/src/components/Typography/Title/Title.tsx +1 -1
  913. package/src/components/UsersStack/Readme.md +0 -1
  914. package/src/components/UsersStack/UsersStack.css +12 -30
  915. package/src/components/UsersStack/UsersStack.tsx +49 -43
  916. package/src/components/UsersStack/masks.tsx +28 -5
  917. package/src/components/View/View.css +1 -13
  918. package/src/components/View/View.tsx +39 -43
  919. package/src/components/WriteBar/WriteBar.tsx +13 -27
  920. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  921. package/src/index.ts +44 -44
  922. package/src/lib/animate.ts +1 -2
  923. package/src/lib/polyfills.ts +17 -0
  924. package/src/styles/components.css +1 -1
  925. package/src/tokenized/index.ts +66 -0
  926. package/tasks/postcss-restructure-variable.js +11 -4
  927. package/dist/cssm/components/Gallery/Gallery.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":["React","ReactDOM","classNames","getClassName","Subhead","useNavTransition","usePopper","tooltipContainerAttr","useExternRef","useDOM","warnOnce","hasReactNode","useGlobalEventListener","isDOMTypeElement","element","isValidElement","type","baseClassName","warn","IS_DEV","process","env","NODE_ENV","SimpleTooltip","forwardRef","ref","mode","header","text","arrowRef","style","attributes","container","arrow","mapAlignX","x","getPlacement","alignX","alignY","filter","p","join","isVerticalPlacement","placement","startsWith","Tooltip","children","_isShown","isShown","offsetX","offsetY","onClose","cornerOffset","cornerAbsoluteOffset","restProps","entering","useState","tooltipRef","setTooltipRef","tooltipArrowRef","setTooltipArrowRef","target","setTarget","multiChildren","Children","count","primitiveChild","JSON","stringify","Boolean","tooltipContainer","useMemo","closest","strategy","position","Error","arrowOffsetModifier","name","enabled","phase","fn","state","modifiersData","undefined","y","modifiers","options","offset","padding","styles","document","passive","childRef","props","getRootRef","patchedRef","child","cloneElement","createPortal","el","popper","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { useNavTransition } from \"../NavTransitionContext/NavTransitionContext\";\nimport { Modifier, usePopper } from \"react-popper\";\nimport { Placement } from \"@popperjs/core\";\nimport { tooltipContainerAttr } from \"./TooltipContainer\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport \"./Tooltip.css\";\n\ninterface SimpleTooltipProps extends Partial<TooltipProps> {\n target?: HTMLDivElement;\n arrowRef?: React.Ref<HTMLDivElement>;\n style?: {\n arrow: React.CSSProperties;\n container: React.CSSProperties;\n };\n attributes?: {\n arrow: React.HTMLAttributes<HTMLDivElement> | null;\n container: React.HTMLAttributes<HTMLDivElement> | null;\n };\n}\n\nconst isDOMTypeElement = (\n element: React.ReactElement\n): element is React.DOMElement<any, any> => {\n return React.isValidElement(element) && typeof element.type === \"string\";\n};\n\nconst baseClassName = getClassName(\"Tooltip\");\nconst warn = warnOnce(\"Tooltip\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\nconst SimpleTooltip = React.forwardRef<HTMLDivElement, SimpleTooltipProps>(\n function SimpleTooltip(\n { mode = \"accent\", header, text, arrowRef, style = {}, attributes },\n ref\n ) {\n return (\n <div vkuiClass={classNames(baseClassName, `Tooltip--${mode}`)}>\n <div\n vkuiClass=\"Tooltip__container\"\n ref={ref}\n style={style.container}\n {...attributes?.container}\n >\n <div\n vkuiClass=\"Tooltip__corner\"\n style={style.arrow}\n {...attributes?.arrow}\n ref={arrowRef}\n />\n <div vkuiClass=\"Tooltip__content\">\n {header && (\n <Subhead weight=\"1\" vkuiClass=\"Tooltip__title\">\n {header}\n </Subhead>\n )}\n {text && <Subhead vkuiClass=\"Tooltip__text\">{text}</Subhead>}\n </div>\n </div>\n </div>\n );\n }\n);\n\nexport interface TooltipProps {\n /**\n * **Важно**: если в `children` передан React-компонент, то необходимо убедиться в том, что он поддерживает\n * свойство `getRootRef`, которое должно возвращаться ссылку на корневой DOM-элемент компонента,\n * иначе тултип показан не будет. Если передан React-element, то такой проблемы нет.\n */\n children: React.ReactElement;\n mode?: \"accent\" | \"light\";\n /**\n * Если передан `false`, то рисуется просто `children`.\n */\n isShown?: boolean;\n /**\n * Текст тултипа.\n */\n text?: React.ReactNode;\n /**\n * Заголовок тултипа.\n */\n header?: React.ReactNode;\n /**\n * Положение по горизонтали (прижатие к левому или правому краю `children`).\n * Если не задано, позиция по горизонтали определятся автоматически\n */\n alignX?: \"center\" | \"left\" | \"right\";\n /**\n * Положение по вертикали (расположение над или под `children`).\n * Если не задано, позиция по вертикали определятся автоматически\n */\n alignY?: \"top\" | \"bottom\";\n /**\n * Сдвиг по горизонтали (относительно портала, в котором рисуется тултип).\n */\n offsetX?: number;\n /**\n * Сдвиг по вертикали (относительно портала, в котором рисуется тултип).\n */\n offsetY?: number;\n /**\n * Сдвиг стрелочки относительно центра дочернего элемента.\n */\n cornerOffset?: number;\n /**\n * Сдвиг стрелочки относительно ширины тултипа\n */\n cornerAbsoluteOffset?: number;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: () => void;\n}\n\ndeclare type ArrowOffsetModifierOptions = {\n offset: number;\n};\ndeclare type ArrowOffsetModifier = Modifier<\n \"arrowOffset\",\n ArrowOffsetModifierOptions\n>;\n\nfunction mapAlignX(x: TooltipProps[\"alignX\"]) {\n switch (x) {\n case \"left\":\n return \"start\";\n case \"right\":\n return \"end\";\n default:\n return \"\";\n }\n}\nfunction getPlacement(\n alignX: TooltipProps[\"alignX\"],\n alignY: TooltipProps[\"alignY\"]\n): Placement {\n return [alignY || \"bottom\", mapAlignX(alignX || \"left\")]\n .filter((p) => !!p)\n .join(\"-\") as Placement;\n}\nfunction isVerticalPlacement(placement: Placement) {\n return placement.startsWith(\"top\") || placement.startsWith(\"bottom\");\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tooltip\n */\nconst Tooltip: React.FC<TooltipProps> = ({\n children,\n isShown: _isShown,\n offsetX = 0,\n offsetY = 15,\n alignX,\n alignY,\n onClose,\n cornerOffset = 0,\n cornerAbsoluteOffset,\n ...restProps\n}) => {\n const { entering } = useNavTransition();\n const isShown = _isShown && !entering;\n const [tooltipRef, setTooltipRef] = React.useState<HTMLElement | null>(null);\n const [tooltipArrowRef, setTooltipArrowRef] =\n React.useState<HTMLElement | null>(null);\n const [target, setTarget] = React.useState<HTMLElement>();\n\n if (IS_DEV) {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild =\n hasReactNode(children) && typeof children !== \"object\";\n (multiChildren || primitiveChild) &&\n warn(\n [\n \"children должен быть одним React элементом, получено\",\n multiChildren && \"несколько\",\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(\" \"),\n \"error\"\n );\n }\n\n /* eslint-disable no-restricted-properties */\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion*/\n const tooltipContainer = React.useMemo(\n () => target?.closest(`[${tooltipContainerAttr}]`) as HTMLDivElement,\n [target]\n );\n const strategy = React.useMemo(\n () => (target?.style.position === \"fixed\" ? \"fixed\" : \"absolute\"),\n [target]\n );\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion*/\n /* eslint-enable no-restricted-properties */\n\n if (IS_DEV && target && !tooltipContainer) {\n throw new Error(\n \"Use TooltipContainer for Tooltip outside Panel (see docs)\"\n );\n }\n\n const arrowOffsetModifier = React.useMemo<ArrowOffsetModifier>(() => {\n return {\n name: \"arrowOffset\",\n enabled: true,\n phase: \"main\",\n fn({ state }) {\n if (!state.modifiersData.arrow) {\n return;\n }\n if (isVerticalPlacement(state.placement)) {\n if (cornerAbsoluteOffset !== undefined) {\n state.modifiersData.arrow.x = cornerAbsoluteOffset;\n } else {\n if (state.modifiersData.arrow?.x !== undefined) {\n state.modifiersData.arrow.x += cornerOffset;\n }\n }\n } else {\n if (cornerAbsoluteOffset !== undefined) {\n state.modifiersData.arrow.y = cornerAbsoluteOffset;\n } else {\n if (state.modifiersData.arrow?.y !== undefined) {\n state.modifiersData.arrow.y += cornerOffset;\n }\n }\n }\n },\n };\n }, [cornerOffset, cornerAbsoluteOffset]);\n\n const placement = getPlacement(alignX, alignY);\n const { styles, attributes } = usePopper(target, tooltipRef, {\n strategy,\n placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [offsetX, offsetY],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: tooltipArrowRef,\n padding: 14,\n },\n },\n {\n name: \"preventOverflow\",\n },\n {\n name: \"flip\",\n },\n arrowOffsetModifier,\n ],\n });\n\n const { document } = useDOM();\n useGlobalEventListener(document, \"click\", isShown && onClose, {\n passive: true,\n });\n // NOTE: setting isShown to true used to trigger usePopper().forceUpdate()\n\n const childRef =\n React.isValidElement(children) &&\n (isDOMTypeElement(children) ? children.ref : children.props.getRootRef);\n const patchedRef = useExternRef(setTarget, childRef);\n const child = React.isValidElement(children)\n ? React.cloneElement(children, {\n [isDOMTypeElement(children) ? \"ref\" : \"getRootRef\"]: patchedRef,\n })\n : children;\n\n return (\n <React.Fragment>\n {child}\n {isShown &&\n target != null &&\n ReactDOM.createPortal(\n <SimpleTooltip\n {...restProps}\n ref={(el) => setTooltipRef(el)}\n arrowRef={(el) => setTooltipArrowRef(el)}\n style={{ arrow: styles.arrow, container: styles.popper }}\n attributes={{\n arrow: attributes.arrow ?? null,\n container: attributes.popper ?? null,\n }}\n />,\n tooltipContainer\n )}\n </React.Fragment>\n );\n};\n\nTooltip.defaultProps = {\n offsetX: 0,\n offsetY: 15,\n cornerOffset: 0,\n isShown: true,\n mode: \"accent\",\n};\n// eslint-disable-next-line import/no-default-export\nexport default Tooltip;\n"],"file":"Tooltip.js"}
1
+ {"version":3,"sources":["../../../src/components/Tooltip/Tooltip.tsx"],"names":["React","ReactDOM","classNames","getClassName","Subhead","useNavTransition","usePopper","tooltipContainerAttr","useExternRef","useDOM","warnOnce","hasReactNode","useGlobalEventListener","isDOMTypeElement","element","isValidElement","type","baseClassName","warn","IS_DEV","process","env","NODE_ENV","SimpleTooltip","forwardRef","ref","mode","header","text","arrowRef","style","attributes","container","arrow","mapAlignX","x","getPlacement","alignX","alignY","filter","p","join","isVerticalPlacement","placement","startsWith","Tooltip","children","isShown","_isShown","offsetX","offsetY","onClose","cornerOffset","cornerAbsoluteOffset","restProps","entering","useState","tooltipRef","setTooltipRef","tooltipArrowRef","setTooltipArrowRef","target","setTarget","multiChildren","Children","count","primitiveChild","JSON","stringify","Boolean","tooltipContainer","useMemo","closest","strategy","position","Error","arrowOffsetModifier","name","enabled","phase","fn","state","modifiersData","undefined","y","modifiers","options","offset","padding","styles","document","passive","childRef","props","getRootRef","patchedRef","child","cloneElement","createPortal","el","popper"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { useNavTransition } from \"../NavTransitionContext/NavTransitionContext\";\nimport { Modifier, usePopper } from \"react-popper\";\nimport { Placement } from \"@popperjs/core\";\nimport { tooltipContainerAttr } from \"./TooltipContainer\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { useDOM } from \"../../lib/dom\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { useGlobalEventListener } from \"../../hooks/useGlobalEventListener\";\nimport \"./Tooltip.css\";\n\ninterface SimpleTooltipProps extends Partial<TooltipProps> {\n target?: HTMLDivElement;\n arrowRef?: React.Ref<HTMLDivElement>;\n style?: {\n arrow: React.CSSProperties;\n container: React.CSSProperties;\n };\n attributes?: {\n arrow: React.HTMLAttributes<HTMLDivElement> | null;\n container: React.HTMLAttributes<HTMLDivElement> | null;\n };\n}\n\nconst isDOMTypeElement = (\n element: React.ReactElement\n): element is React.DOMElement<any, any> => {\n return React.isValidElement(element) && typeof element.type === \"string\";\n};\n\nconst baseClassName = getClassName(\"Tooltip\");\nconst warn = warnOnce(\"Tooltip\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\nconst SimpleTooltip = React.forwardRef<HTMLDivElement, SimpleTooltipProps>(\n function SimpleTooltip(\n { mode = \"accent\", header, text, arrowRef, style = {}, attributes },\n ref\n ) {\n return (\n <div vkuiClass={classNames(baseClassName, `Tooltip--${mode}`)}>\n <div\n vkuiClass=\"Tooltip__container\"\n ref={ref}\n style={style.container}\n {...attributes?.container}\n >\n <div\n vkuiClass=\"Tooltip__corner\"\n style={style.arrow}\n {...attributes?.arrow}\n ref={arrowRef}\n />\n <div vkuiClass=\"Tooltip__content\">\n {header && (\n <Subhead weight=\"1\" vkuiClass=\"Tooltip__title\">\n {header}\n </Subhead>\n )}\n {text && <Subhead vkuiClass=\"Tooltip__text\">{text}</Subhead>}\n </div>\n </div>\n </div>\n );\n }\n);\n\nexport interface TooltipProps {\n /**\n * **Важно**: если в `children` передан React-компонент, то необходимо убедиться в том, что он поддерживает\n * свойство `getRootRef`, которое должно возвращаться ссылку на корневой DOM-элемент компонента,\n * иначе тултип показан не будет. Если передан React-element, то такой проблемы нет.\n */\n children: React.ReactElement;\n mode?: \"accent\" | \"light\";\n /**\n * Если передан `false`, то рисуется просто `children`.\n */\n isShown?: boolean;\n /**\n * Текст тултипа.\n */\n text?: React.ReactNode;\n /**\n * Заголовок тултипа.\n */\n header?: React.ReactNode;\n /**\n * Положение по горизонтали (прижатие к левому или правому краю `children`).\n * Если не задано, позиция по горизонтали определятся автоматически\n */\n alignX?: \"center\" | \"left\" | \"right\";\n /**\n * Положение по вертикали (расположение над или под `children`).\n * Если не задано, позиция по вертикали определятся автоматически\n */\n alignY?: \"top\" | \"bottom\";\n /**\n * Сдвиг по горизонтали (относительно портала, в котором рисуется тултип).\n */\n offsetX?: number;\n /**\n * Сдвиг по вертикали (относительно портала, в котором рисуется тултип).\n */\n offsetY?: number;\n /**\n * Сдвиг стрелочки относительно центра дочернего элемента.\n */\n cornerOffset?: number;\n /**\n * Сдвиг стрелочки относительно ширины тултипа\n */\n cornerAbsoluteOffset?: number;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: () => void;\n}\n\ndeclare type ArrowOffsetModifierOptions = {\n offset: number;\n};\ndeclare type ArrowOffsetModifier = Modifier<\n \"arrowOffset\",\n ArrowOffsetModifierOptions\n>;\n\nfunction mapAlignX(x: TooltipProps[\"alignX\"]) {\n switch (x) {\n case \"left\":\n return \"start\";\n case \"right\":\n return \"end\";\n default:\n return \"\";\n }\n}\nfunction getPlacement(\n alignX: TooltipProps[\"alignX\"],\n alignY: TooltipProps[\"alignY\"]\n): Placement {\n return [alignY || \"bottom\", mapAlignX(alignX || \"left\")]\n .filter((p) => !!p)\n .join(\"-\") as Placement;\n}\nfunction isVerticalPlacement(placement: Placement) {\n return placement.startsWith(\"top\") || placement.startsWith(\"bottom\");\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tooltip\n */\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n isShown: _isShown = true,\n offsetX = 0,\n offsetY = 15,\n alignX,\n alignY,\n onClose,\n cornerOffset = 0,\n cornerAbsoluteOffset,\n mode = \"accent\",\n ...restProps\n}) => {\n const { entering } = useNavTransition();\n const isShown = _isShown && !entering;\n const [tooltipRef, setTooltipRef] = React.useState<HTMLElement | null>(null);\n const [tooltipArrowRef, setTooltipArrowRef] =\n React.useState<HTMLElement | null>(null);\n const [target, setTarget] = React.useState<HTMLElement>();\n\n if (IS_DEV) {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild =\n hasReactNode(children) && typeof children !== \"object\";\n (multiChildren || primitiveChild) &&\n warn(\n [\n \"children должен быть одним React элементом, получено\",\n multiChildren && \"несколько\",\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(\" \"),\n \"error\"\n );\n }\n\n /* eslint-disable no-restricted-properties */\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion*/\n const tooltipContainer = React.useMemo(\n () => target?.closest(`[${tooltipContainerAttr}]`) as HTMLDivElement,\n [target]\n );\n const strategy = React.useMemo(\n () => (target?.style.position === \"fixed\" ? \"fixed\" : \"absolute\"),\n [target]\n );\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion*/\n /* eslint-enable no-restricted-properties */\n\n if (IS_DEV && target && !tooltipContainer) {\n throw new Error(\n \"Use TooltipContainer for Tooltip outside Panel (see docs)\"\n );\n }\n\n const arrowOffsetModifier = React.useMemo<ArrowOffsetModifier>(() => {\n return {\n name: \"arrowOffset\",\n enabled: true,\n phase: \"main\",\n fn({ state }) {\n if (!state.modifiersData.arrow) {\n return;\n }\n if (isVerticalPlacement(state.placement)) {\n if (cornerAbsoluteOffset !== undefined) {\n state.modifiersData.arrow.x = cornerAbsoluteOffset;\n } else {\n if (state.modifiersData.arrow?.x !== undefined) {\n state.modifiersData.arrow.x += cornerOffset;\n }\n }\n } else {\n if (cornerAbsoluteOffset !== undefined) {\n state.modifiersData.arrow.y = cornerAbsoluteOffset;\n } else {\n if (state.modifiersData.arrow?.y !== undefined) {\n state.modifiersData.arrow.y += cornerOffset;\n }\n }\n }\n },\n };\n }, [cornerOffset, cornerAbsoluteOffset]);\n\n const placement = getPlacement(alignX, alignY);\n const { styles, attributes } = usePopper(target, tooltipRef, {\n strategy,\n placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [offsetX, offsetY],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: tooltipArrowRef,\n padding: 14,\n },\n },\n {\n name: \"preventOverflow\",\n },\n {\n name: \"flip\",\n },\n arrowOffsetModifier,\n ],\n });\n\n const { document } = useDOM();\n useGlobalEventListener(document, \"click\", isShown && onClose, {\n passive: true,\n });\n // NOTE: setting isShown to true used to trigger usePopper().forceUpdate()\n\n const childRef =\n React.isValidElement(children) &&\n (isDOMTypeElement(children) ? children.ref : children.props.getRootRef);\n const patchedRef = useExternRef(setTarget, childRef);\n const child = React.isValidElement(children)\n ? React.cloneElement(children, {\n [isDOMTypeElement(children) ? \"ref\" : \"getRootRef\"]: patchedRef,\n })\n : children;\n\n return (\n <React.Fragment>\n {child}\n {isShown &&\n target != null &&\n ReactDOM.createPortal(\n <SimpleTooltip\n {...restProps}\n mode={mode}\n ref={(el) => setTooltipRef(el)}\n arrowRef={(el) => setTooltipArrowRef(el)}\n style={{ arrow: styles.arrow, container: styles.popper }}\n attributes={{\n arrow: attributes.arrow ?? null,\n container: attributes.popper ?? null,\n }}\n />,\n tooltipContainer\n )}\n </React.Fragment>\n );\n};\n"],"file":"Tooltip.js"}
@@ -8,7 +8,7 @@ export interface TitleProps extends React.AllHTMLAttributes<HTMLElement>, HasCom
8
8
  * > ⚠️ Начертания `"heavy"`, `"bold"`, `"semibold"`, `medium` и `"regular"` устарели и будут удалены в 5.0.0. Используйте значения `"1"`, `"2"` и `"3"`.
9
9
  */
10
10
  weight?: "heavy" | "bold" | "semibold" | "medium" | "regular" | "1" | "2" | "3";
11
- level: "1" | "2" | "3";
11
+ level?: "1" | "2" | "3";
12
12
  }
13
13
  /**
14
14
  * @see https://vkcom.github.io/VKUI/#/Title
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Typography/Title/Title.tsx"],"names":["classNames","warnOnce","warn","Title","children","weight","level","Component","restProps","process","env","NODE_ENV","includes"],"mappings":";;;;AAEA,SAASA,UAAT;AACA,SAASC,QAAT;AAuBA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,OAAD,CAArB;AAEA;AACA;AACA;;AACA,OAAO,IAAME,KAA2B,GAAG,SAA9BA,KAA8B,OAMrC;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,MAII,QAJJA,MAII;AAAA,wBAHJC,KAGI;AAAA,MAHJA,KAGI,2BAHI,GAGJ;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADDC,SACC;;AACJ,MAAI,CAACD,SAAL,EAAgB;AACdA,IAAAA,SAAS,GAAI,MAAMD,KAAnB;AACD;;AAED,MAAIG,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,QACEN,MAAM,IACN,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,QAA9B,EAAwC,SAAxC,EAAmDO,QAAnD,CAA4DP,MAA5D,CAFF,EAIEH,IAAI,iFACoBG,MADpB,sSAAJ;AAGH;;AAED,SACE,oBAAC,SAAD,eACMG,SADN;AAEE,IAAA,SAAS,EAAER,UAAU,CACnB,OADmB,qBAEPM,KAFO,GAGnBD,MAAM,uBAAgBA,MAAhB,CAHa;AAFvB,MAQGD,QARH,CADF;AAYD,CAjCM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../../types\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport \"./Title.css\";\n\nexport interface TitleProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasComponent {\n /**\n * Задаёт начертание шрифта отличное от стандартного.\n *\n * > ⚠️ Начертания `\"heavy\"`, `\"bold\"`, `\"semibold\"`, `medium` и `\"regular\"` устарели и будут удалены в 5.0.0. Используйте значения `\"1\"`, `\"2\"` и `\"3\"`.\n */\n weight?:\n | \"heavy\"\n | \"bold\"\n | \"semibold\"\n | \"medium\"\n | \"regular\"\n | \"1\"\n | \"2\"\n | \"3\";\n level: \"1\" | \"2\" | \"3\";\n}\n\nconst warn = warnOnce(\"Title\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Title\n */\nexport const Title: React.FC<TitleProps> = ({\n children,\n weight,\n level = \"1\",\n Component,\n ...restProps\n}) => {\n if (!Component) {\n Component = (\"h\" + level) as React.ElementType;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (\n weight &&\n [\"heavy\", \"bold\", \"semibold\", \"medium\", \"regular\"].includes(weight)\n )\n warn(\n `Начертание weight=\"${weight}\" устарело и будет удалено в 5.0.0. Используйте значения \"1\", \"2\" и \"3\"`\n );\n }\n\n return (\n <Component\n {...restProps}\n vkuiClass={classNames(\n \"Title\",\n `Title--l-${level}`,\n weight && `Title--w-${weight}`\n )}\n >\n {children}\n </Component>\n );\n};\n"],"file":"Title.js"}
1
+ {"version":3,"sources":["../../../../src/components/Typography/Title/Title.tsx"],"names":["classNames","warnOnce","warn","Title","children","weight","level","Component","restProps","process","env","NODE_ENV","includes"],"mappings":";;;;AAEA,SAASA,UAAT;AACA,SAASC,QAAT;AAuBA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,OAAD,CAArB;AAEA;AACA;AACA;;AACA,OAAO,IAAME,KAA2B,GAAG,SAA9BA,KAA8B,OAMrC;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,MAII,QAJJA,MAII;AAAA,wBAHJC,KAGI;AAAA,MAHJA,KAGI,2BAHI,GAGJ;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADDC,SACC;;AACJ,MAAI,CAACD,SAAL,EAAgB;AACdA,IAAAA,SAAS,GAAI,MAAMD,KAAnB;AACD;;AAED,MAAIG,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,QACEN,MAAM,IACN,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,QAA9B,EAAwC,SAAxC,EAAmDO,QAAnD,CAA4DP,MAA5D,CAFF,EAIEH,IAAI,iFACoBG,MADpB,sSAAJ;AAGH;;AAED,SACE,oBAAC,SAAD,eACMG,SADN;AAEE,IAAA,SAAS,EAAER,UAAU,CACnB,OADmB,qBAEPM,KAFO,GAGnBD,MAAM,uBAAgBA,MAAhB,CAHa;AAFvB,MAQGD,QARH,CADF;AAYD,CAjCM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../../types\";\nimport { classNames } from \"../../../lib/classNames\";\nimport { warnOnce } from \"../../../lib/warnOnce\";\nimport \"./Title.css\";\n\nexport interface TitleProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasComponent {\n /**\n * Задаёт начертание шрифта отличное от стандартного.\n *\n * > ⚠️ Начертания `\"heavy\"`, `\"bold\"`, `\"semibold\"`, `medium` и `\"regular\"` устарели и будут удалены в 5.0.0. Используйте значения `\"1\"`, `\"2\"` и `\"3\"`.\n */\n weight?:\n | \"heavy\"\n | \"bold\"\n | \"semibold\"\n | \"medium\"\n | \"regular\"\n | \"1\"\n | \"2\"\n | \"3\";\n level?: \"1\" | \"2\" | \"3\";\n}\n\nconst warn = warnOnce(\"Title\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Title\n */\nexport const Title: React.FC<TitleProps> = ({\n children,\n weight,\n level = \"1\",\n Component,\n ...restProps\n}) => {\n if (!Component) {\n Component = (\"h\" + level) as React.ElementType;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (\n weight &&\n [\"heavy\", \"bold\", \"semibold\", \"medium\", \"regular\"].includes(weight)\n )\n warn(\n `Начертание weight=\"${weight}\" устарело и будет удалено в 5.0.0. Используйте значения \"1\", \"2\" и \"3\"`\n );\n }\n\n return (\n <Component\n {...restProps}\n vkuiClass={classNames(\n \"Title\",\n `Title--l-${level}`,\n weight && `Title--w-${weight}`\n )}\n >\n {children}\n </Component>\n );\n};\n"],"file":"Title.js"}
@@ -19,5 +19,7 @@ export interface UsersStackProps extends React.HTMLAttributes<HTMLDivElement> {
19
19
  */
20
20
  visibleCount?: number;
21
21
  }
22
- declare const _default: React.NamedExoticComponent<UsersStackProps>;
23
- export default _default;
22
+ /**
23
+ * @see https://vkcom.github.io/VKUI/#/UsersStack
24
+ */
25
+ export declare const UsersStack: ({ photos, visibleCount, size, layout, children, ...restProps }: UsersStackProps) => JSX.Element;
@@ -2,31 +2,28 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["photos", "visibleCount", "size", "layout", "children"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
- import * as React from "react";
6
- import { getClassName } from "../../helpers/getClassName";
7
- import { usePlatform } from "../../hooks/usePlatform";
8
5
  import { hasReactNode } from "../../lib/utils";
9
6
  import { classNames } from "../../lib/classNames";
10
7
  import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
8
+ import { Footnote } from "../Typography/Footnote/Footnote";
11
9
  import { Caption } from "../Typography/Caption/Caption";
12
- import { Subhead } from "../Typography/Subhead/Subhead";
13
10
  import { createMasks } from "./masks";
14
11
  import { useDOM } from "../../lib/dom";
15
12
 
16
13
  /**
17
14
  * @see https://vkcom.github.io/VKUI/#/UsersStack
18
15
  */
19
- var UsersStack = function UsersStack(props) {
20
- var platform = usePlatform();
21
-
22
- var _props$photos = props.photos,
23
- photos = _props$photos === void 0 ? [] : _props$photos,
24
- _props$visibleCount = props.visibleCount,
25
- visibleCount = _props$visibleCount === void 0 ? 0 : _props$visibleCount,
26
- size = props.size,
27
- layout = props.layout,
28
- children = props.children,
29
- restProps = _objectWithoutProperties(props, _excluded);
16
+ export var UsersStack = function UsersStack(_ref) {
17
+ var _ref$photos = _ref.photos,
18
+ photos = _ref$photos === void 0 ? [] : _ref$photos,
19
+ _ref$visibleCount = _ref.visibleCount,
20
+ visibleCount = _ref$visibleCount === void 0 ? 3 : _ref$visibleCount,
21
+ _ref$size = _ref.size,
22
+ size = _ref$size === void 0 ? "s" : _ref$size,
23
+ _ref$layout = _ref.layout,
24
+ layout = _ref$layout === void 0 ? "horizontal" : _ref$layout,
25
+ children = _ref.children,
26
+ restProps = _objectWithoutProperties(_ref, _excluded);
30
27
 
31
28
  var _useDOM = useDOM(),
32
29
  document = _useDOM.document;
@@ -35,40 +32,52 @@ var UsersStack = function UsersStack(props) {
35
32
  createMasks(document);
36
33
  }, [document]);
37
34
  var othersCount = Math.max(0, photos.length - visibleCount);
38
- var canShowOthers = othersCount > 0 && size === "m";
35
+ var canShowOthers = othersCount > 0 && size !== "xs";
36
+ var CounterTypography = size === "m" ? Footnote : Caption;
37
+ var photoSize = {
38
+ xs: 16,
39
+ s: 24,
40
+ m: 32
41
+ }[size];
42
+ var directionClip = canShowOthers ? "right" : "left";
39
43
  var photosShown = photos.slice(0, visibleCount);
40
44
  return createScopedElement("div", _extends({}, restProps, {
41
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
42
- vkuiClass: classNames(getClassName("UsersStack", platform), "UsersStack--size-".concat(size), "UsersStack--l-".concat(layout), {
43
- "UsersStack--others": canShowOthers
44
- })
45
+ vkuiClass: classNames("UsersStack", "UsersStack--size-".concat(size), "UsersStack--l-".concat(layout), canShowOthers && "UsersStack--others")
45
46
  }), createScopedElement("div", {
46
47
  vkuiClass: "UsersStack__photos",
47
48
  role: "presentation"
48
49
  }, photosShown.map(function (photo, i) {
49
- return createScopedElement("div", {
50
- key: i,
50
+ var direction = i === 0 && !canShowOthers ? "circle" : directionClip;
51
+ var pathHref = "#users_stack_".concat(photoSize, "_").concat(direction);
52
+ var clipPathHref = "url(#users_stack_mask_".concat(photoSize, "_").concat(direction, ")");
53
+ return createScopedElement("svg", {
54
+ xmlns: "http://www.w3.org/2000/svg",
51
55
  vkuiClass: "UsersStack__photo",
52
- style: {
53
- backgroundImage: "url(".concat(photo, ")")
54
- }
55
- });
56
- }), canShowOthers && createScopedElement(Caption, {
56
+ key: i,
57
+ "aria-hidden": true
58
+ }, createScopedElement("g", {
59
+ clipPath: clipPathHref
60
+ }, createScopedElement("use", {
61
+ vkuiClass: "UsersStack__fill",
62
+ href: pathHref
63
+ }), createScopedElement("image", {
64
+ href: photo,
65
+ width: photoSize,
66
+ height: photoSize
67
+ }), createScopedElement("use", {
68
+ href: pathHref,
69
+ fill: "none",
70
+ stroke: "rgba(0, 0, 0, 0.08)"
71
+ })));
72
+ }), canShowOthers && createScopedElement(CounterTypography, {
73
+ caps: true,
57
74
  weight: "1",
75
+ level: "2" // TODO: remove only level in #2343
76
+ ,
58
77
  vkuiClass: "UsersStack__photo UsersStack__photo--others",
59
- "aria-hidden": "true"
60
- }, createScopedElement("span", null, "+", othersCount))), hasReactNode(children) && createScopedElement(Subhead, {
61
- Component: "span",
78
+ "aria-hidden": true
79
+ }, createScopedElement("span", null, "+", othersCount))), hasReactNode(children) && createScopedElement(Footnote, {
62
80
  vkuiClass: "UsersStack__text"
63
81
  }, children));
64
82
  };
65
-
66
- UsersStack.defaultProps = {
67
- photos: [],
68
- size: "s",
69
- visibleCount: 3,
70
- layout: "horizontal"
71
- }; // eslint-disable-next-line import/no-default-export
72
-
73
- export default /*#__PURE__*/React.memo(UsersStack);
74
83
  //# sourceMappingURL=UsersStack.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/UsersStack/UsersStack.tsx"],"names":["React","getClassName","usePlatform","hasReactNode","classNames","useIsomorphicLayoutEffect","Caption","Subhead","createMasks","useDOM","UsersStack","props","platform","photos","visibleCount","size","layout","children","restProps","document","othersCount","Math","max","length","canShowOthers","photosShown","slice","map","photo","i","backgroundImage","defaultProps","memo"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,yBAAT;AACA,SAASC,OAAT;AACA,SAASC,OAAT;AACA,SAASC,WAAT;AACA,SAASC,MAAT;;AAuBA;AACA;AACA;AACA,IAAMC,UAAqC,GAAG,SAAxCA,UAAwC,CAACC,KAAD,EAA4B;AACxE,MAAMC,QAAQ,GAAGV,WAAW,EAA5B;;AACA,sBAOIS,KAPJ,CACEE,MADF;AAAA,MACEA,MADF,8BACW,EADX;AAAA,4BAOIF,KAPJ,CAEEG,YAFF;AAAA,MAEEA,YAFF,oCAEiB,CAFjB;AAAA,MAGEC,IAHF,GAOIJ,KAPJ,CAGEI,IAHF;AAAA,MAIEC,MAJF,GAOIL,KAPJ,CAIEK,MAJF;AAAA,MAKEC,QALF,GAOIN,KAPJ,CAKEM,QALF;AAAA,MAMKC,SANL,4BAOIP,KAPJ;;AAQA,gBAAqBF,MAAM,EAA3B;AAAA,MAAQU,QAAR,WAAQA,QAAR;;AAEAd,EAAAA,yBAAyB,CAAC,YAAM;AAC9BG,IAAAA,WAAW,CAACW,QAAD,CAAX;AACD,GAFwB,EAEtB,CAACA,QAAD,CAFsB,CAAzB;AAIA,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYT,MAAM,CAACU,MAAP,GAAgBT,YAA5B,CAApB;AACA,MAAMU,aAAa,GAAGJ,WAAW,GAAG,CAAd,IAAmBL,IAAI,KAAK,GAAlD;AAEA,MAAMU,WAAW,GAAGZ,MAAM,CAACa,KAAP,CAAa,CAAb,EAAgBZ,YAAhB,CAApB;AAEA,SACE,wCACMI,SADN;AAEE;AACA,IAAA,SAAS,EAAEd,UAAU,CACnBH,YAAY,CAAC,YAAD,EAAeW,QAAf,CADO,6BAECG,IAFD,2BAGFC,MAHE,GAInB;AACE,4BAAsBQ;AADxB,KAJmB;AAHvB,MAYE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAoC,IAAA,IAAI,EAAC;AAAzC,KACGC,WAAW,CAACE,GAAZ,CAAgB,UAACC,KAAD,EAAQC,CAAR;AAAA,WACf;AACE,MAAA,GAAG,EAAEA,CADP;AAEE,MAAA,SAAS,EAAC,mBAFZ;AAGE,MAAA,KAAK,EAAE;AAAEC,QAAAA,eAAe,gBAASF,KAAT;AAAjB;AAHT,MADe;AAAA,GAAhB,CADH,EASGJ,aAAa,IACZ,oBAAC,OAAD;AACE,IAAA,MAAM,EAAC,GADT;AAEE,IAAA,SAAS,EAAC,6CAFZ;AAGE,mBAAY;AAHd,KAKE,uCAAQJ,WAAR,CALF,CAVJ,CAZF,EA+BGjB,YAAY,CAACc,QAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,MAAnB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,QADH,CAhCJ,CADF;AAuCD,CA5DD;;AA8DAP,UAAU,CAACqB,YAAX,GAA0B;AACxBlB,EAAAA,MAAM,EAAE,EADgB;AAExBE,EAAAA,IAAI,EAAE,GAFkB;AAGxBD,EAAAA,YAAY,EAAE,CAHU;AAIxBE,EAAAA,MAAM,EAAE;AAJgB,CAA1B,C,CAOA;;AACA,4BAAehB,KAAK,CAACgC,IAAN,CAAWtB,UAAX,CAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { createMasks } from \"./masks\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./UsersStack.css\";\n\nexport interface UsersStackProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Массив ссылок на фотографии\n */\n photos?: string[];\n /**\n * Размер аватарок\n */\n size?: \"xs\" | \"s\" | \"m\";\n /**\n * Вертикальный режим рекомендуется использовать с размером `m`\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Количество аватарок, которые будут показаны.\n * Если в массиве `photos` больше элементов и используется размер `m`, то будет показано количество остальных элементов\n */\n visibleCount?: number;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/UsersStack\n */\nconst UsersStack: React.FC<UsersStackProps> = (props: UsersStackProps) => {\n const platform = usePlatform();\n const {\n photos = [],\n visibleCount = 0,\n size,\n layout,\n children,\n ...restProps\n } = props;\n const { document } = useDOM();\n\n useIsomorphicLayoutEffect(() => {\n createMasks(document);\n }, [document]);\n\n const othersCount = Math.max(0, photos.length - visibleCount);\n const canShowOthers = othersCount > 0 && size === \"m\";\n\n const photosShown = photos.slice(0, visibleCount);\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"UsersStack\", platform),\n `UsersStack--size-${size}`,\n `UsersStack--l-${layout}`,\n {\n \"UsersStack--others\": canShowOthers,\n }\n )}\n >\n <div vkuiClass=\"UsersStack__photos\" role=\"presentation\">\n {photosShown.map((photo, i) => (\n <div\n key={i}\n vkuiClass=\"UsersStack__photo\"\n style={{ backgroundImage: `url(${photo})` }}\n />\n ))}\n\n {canShowOthers && (\n <Caption\n weight=\"1\"\n vkuiClass=\"UsersStack__photo UsersStack__photo--others\"\n aria-hidden=\"true\"\n >\n <span>+{othersCount}</span>\n </Caption>\n )}\n </div>\n {hasReactNode(children) && (\n <Subhead Component=\"span\" vkuiClass=\"UsersStack__text\">\n {children}\n </Subhead>\n )}\n </div>\n );\n};\n\nUsersStack.defaultProps = {\n photos: [],\n size: \"s\",\n visibleCount: 3,\n layout: \"horizontal\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default React.memo(UsersStack);\n"],"file":"UsersStack.js"}
1
+ {"version":3,"sources":["../../../src/components/UsersStack/UsersStack.tsx"],"names":["hasReactNode","classNames","useIsomorphicLayoutEffect","Footnote","Caption","createMasks","useDOM","UsersStack","photos","visibleCount","size","layout","children","restProps","document","othersCount","Math","max","length","canShowOthers","CounterTypography","photoSize","xs","s","m","directionClip","photosShown","slice","map","photo","i","direction","pathHref","clipPathHref"],"mappings":";;;;AACA,SAASA,YAAT;AACA,SAASC,UAAT;AACA,SAASC,yBAAT;AACA,SAASC,QAAT;AACA,SAASC,OAAT;AACA,SAASC,WAAT;AACA,SAASC,MAAT;;AAuBA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAOH;AAAA,yBANrBC,MAMqB;AAAA,MANrBA,MAMqB,4BANZ,EAMY;AAAA,+BALrBC,YAKqB;AAAA,MALrBA,YAKqB,kCALN,CAKM;AAAA,uBAJrBC,IAIqB;AAAA,MAJrBA,IAIqB,0BAJd,GAIc;AAAA,yBAHrBC,MAGqB;AAAA,MAHrBA,MAGqB,4BAHZ,YAGY;AAAA,MAFrBC,QAEqB,QAFrBA,QAEqB;AAAA,MADlBC,SACkB;;AACrB,gBAAqBP,MAAM,EAA3B;AAAA,MAAQQ,QAAR,WAAQA,QAAR;;AAEAZ,EAAAA,yBAAyB,CAAC,YAAM;AAC9BG,IAAAA,WAAW,CAACS,QAAD,CAAX;AACD,GAFwB,EAEtB,CAACA,QAAD,CAFsB,CAAzB;AAIA,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYT,MAAM,CAACU,MAAP,GAAgBT,YAA5B,CAApB;AACA,MAAMU,aAAa,GAAGJ,WAAW,GAAG,CAAd,IAAmBL,IAAI,KAAK,IAAlD;AACA,MAAMU,iBAAiB,GAAGV,IAAI,KAAK,GAAT,GAAeP,QAAf,GAA0BC,OAApD;AAEA,MAAMiB,SAAS,GAAG;AAChBC,IAAAA,EAAE,EAAE,EADY;AAEhBC,IAAAA,CAAC,EAAE,EAFa;AAGhBC,IAAAA,CAAC,EAAE;AAHa,IAIhBd,IAJgB,CAAlB;AAKA,MAAMe,aAAa,GAAGN,aAAa,GAAG,OAAH,GAAa,MAAhD;AAEA,MAAMO,WAAW,GAAGlB,MAAM,CAACmB,KAAP,CAAa,CAAb,EAAgBlB,YAAhB,CAApB;AAEA,SACE,wCACMI,SADN;AAEE,IAAA,SAAS,EAAEZ,UAAU,CACnB,YADmB,6BAECS,IAFD,2BAGFC,MAHE,GAInBQ,aAAa,IAAI,oBAJE;AAFvB,MASE;AAAK,IAAA,SAAS,EAAC,oBAAf;AAAoC,IAAA,IAAI,EAAC;AAAzC,KACGO,WAAW,CAACE,GAAZ,CAAgB,UAACC,KAAD,EAAQC,CAAR,EAAc;AAC7B,QAAMC,SAAS,GACbD,CAAC,KAAK,CAAN,IAAW,CAACX,aAAZ,GAA4B,QAA5B,GAAuCM,aADzC;AAGA,QAAMO,QAAQ,0BAAmBX,SAAnB,cAAgCU,SAAhC,CAAd;AACA,QAAME,YAAY,mCAA4BZ,SAA5B,cAAyCU,SAAzC,MAAlB;AAEA,WACE;AACE,MAAA,KAAK,EAAC,4BADR;AAEE,MAAA,SAAS,EAAC,mBAFZ;AAGE,MAAA,GAAG,EAAED,CAHP;AAIE;AAJF,OAME;AAAG,MAAA,QAAQ,EAAEG;AAAb,OACE;AAAK,MAAA,SAAS,EAAC,kBAAf;AAAkC,MAAA,IAAI,EAAED;AAAxC,MADF,EAEE;AAAO,MAAA,IAAI,EAAEH,KAAb;AAAoB,MAAA,KAAK,EAAER,SAA3B;AAAsC,MAAA,MAAM,EAAEA;AAA9C,MAFF,EAGE;AAAK,MAAA,IAAI,EAAEW,QAAX;AAAqB,MAAA,IAAI,EAAC,MAA1B;AAAiC,MAAA,MAAM,EAAC;AAAxC,MAHF,CANF,CADF;AAcD,GArBA,CADH,EAwBGb,aAAa,IACZ,oBAAC,iBAAD;AACE,IAAA,IAAI,MADN;AAEE,IAAA,MAAM,EAAC,GAFT;AAGE,IAAA,KAAK,EAAC,GAHR,CAGY;AAHZ;AAIE,IAAA,SAAS,EAAC,6CAJZ;AAKE;AALF,KAOE,uCAAQJ,WAAR,CAPF,CAzBJ,CATF,EA6CGf,YAAY,CAACY,QAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAC;AAApB,KAAwCA,QAAxC,CA9CJ,CADF;AAmDD,CA9EM","sourcesContent":["import * as React from \"react\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { Footnote } from \"../Typography/Footnote/Footnote\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { createMasks } from \"./masks\";\nimport { useDOM } from \"../../lib/dom\";\nimport \"./UsersStack.css\";\n\nexport interface UsersStackProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Массив ссылок на фотографии\n */\n photos?: string[];\n /**\n * Размер аватарок\n */\n size?: \"xs\" | \"s\" | \"m\"; // TODO: \"s\" | \"m\" | \"l\"\n /**\n * Вертикальный режим рекомендуется использовать с размером `m`\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Количество аватарок, которые будут показаны.\n * Если в массиве `photos` больше элементов и используется размер `m`, то будет показано количество остальных элементов\n */\n visibleCount?: number;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/UsersStack\n */\nexport const UsersStack = ({\n photos = [],\n visibleCount = 3,\n size = \"s\",\n layout = \"horizontal\",\n children,\n ...restProps\n}: UsersStackProps) => {\n const { document } = useDOM();\n\n useIsomorphicLayoutEffect(() => {\n createMasks(document);\n }, [document]);\n\n const othersCount = Math.max(0, photos.length - visibleCount);\n const canShowOthers = othersCount > 0 && size !== \"xs\";\n const CounterTypography = size === \"m\" ? Footnote : Caption;\n\n const photoSize = {\n xs: 16,\n s: 24,\n m: 32,\n }[size];\n const directionClip = canShowOthers ? \"right\" : \"left\";\n\n const photosShown = photos.slice(0, visibleCount);\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(\n \"UsersStack\",\n `UsersStack--size-${size}`,\n `UsersStack--l-${layout}`,\n canShowOthers && \"UsersStack--others\"\n )}\n >\n <div vkuiClass=\"UsersStack__photos\" role=\"presentation\">\n {photosShown.map((photo, i) => {\n const direction =\n i === 0 && !canShowOthers ? \"circle\" : directionClip;\n\n const pathHref = `#users_stack_${photoSize}_${direction}`;\n const clipPathHref = `url(#users_stack_mask_${photoSize}_${direction})`;\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n vkuiClass=\"UsersStack__photo\"\n key={i}\n aria-hidden\n >\n <g clipPath={clipPathHref}>\n <use vkuiClass=\"UsersStack__fill\" href={pathHref} />\n <image href={photo} width={photoSize} height={photoSize} />\n <use href={pathHref} fill=\"none\" stroke=\"rgba(0, 0, 0, 0.08)\" />\n </g>\n </svg>\n );\n })}\n\n {canShowOthers && (\n <CounterTypography\n caps\n weight=\"1\"\n level=\"2\" // TODO: remove only level in #2343\n vkuiClass=\"UsersStack__photo UsersStack__photo--others\"\n aria-hidden\n >\n <span>+{othersCount}</span>\n </CounterTypography>\n )}\n </div>\n {hasReactNode(children) && (\n <Footnote vkuiClass=\"UsersStack__text\">{children}</Footnote>\n )}\n </div>\n );\n};\n"],"file":"UsersStack.js"}
@@ -13,7 +13,7 @@ export function createMasks(document) {
13
13
  svgElement.style.position = "absolute";
14
14
  svgElement.style.width = "0px";
15
15
  svgElement.style.height = "0px";
16
- svgElement.innerHTML = "<defs>\n <clipPath id=\"users_stack_mask_16_left\">\n <path transform=\"translate(1.5 0)\" d=\"M1.20772 8C1.20772 6.32671 0.768742 4.75626 0 3.39821C1.44342 1.34278 3.8277 0 6.52463 0C10.9293 0 14.5 3.58172 14.5 8C14.5 12.4183 10.9293 16 6.52463 16C3.8277 16 1.44342 14.6572 0 12.6018C0.768742 11.2437 1.20772 9.6733 1.20772 8Z\"></path>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_left\">\n <path d=\"M3.9971785,12 C3.9971785,9.49005736 3.33667467,7.13438366 2.18,5.09731189 C4.35181237,2.01417617 7.93927741,0 11.9971785,0 C18.6245955,0 23.9971785,5.372583 23.9971785,12 C23.9971785,18.627417 18.6245955,24 11.9971785,24 C7.93927741,24 4.35181237,21.9858238 2.18,18.9026881 C3.33667467,16.8656163 3.9971785,14.5099426 3.9971785,12 Z\"></path>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_right\">\n <path d=\"M21.8171785,5.09731189 C20.6605038,7.13438366 20,9.49005736 20,12 C20,14.5099426 20.6605038,16.8656163 21.8171785,18.9026881 C19.6453661,21.9858238 16.0579011,24 12,24 C5.372583,24 3.90798505e-14,18.627417 3.90798505e-14,12 C3.90798505e-14,5.372583 5.372583,0 12,0 C16.0579011,0 19.6453661,2.01417617 21.8171785,5.09731189 Z\"></path>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_left\">\n <path d=\"M2.13430019,23.9892466 C3.32858917,21.5820026 4,18.8694095 4,16 C4,13.1305905 3.32858917,10.4179974 2.13430019,8.0107534 C4.89924175,3.22241289 10.0733034,-2.30926389e-14 16,-2.30926389e-14 C24.836556,-2.30926389e-14 32,7.163444 32,16 C32,24.836556 24.836556,32 16,32 C10.0733034,32 4.89924175,28.7775871 2.13430019,23.9892466 L2.13430019,23.9892466 Z\"></path>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_right\">\n <path d=\"M29.8656998,8.0107534 C28.6714108,10.4179974 28,13.1305905 28,16 C28,18.8694095 28.6714108,21.5820026 29.8656998,23.9892466 C27.1007583,28.7775871 21.9266966,32 16,32 C7.163444,32 3.90798505e-14,24.836556 3.90798505e-14,16 C3.90798505e-14,7.163444 7.163444,0 16,0 C21.9266966,0 27.1007583,3.22241289 29.8656998,8.0107534 Z\"></path>\n </clipPath>\n</defs>";
16
+ svgElement.innerHTML = "<defs>\n <path id=\"users_stack_16_left\" d=\"M2,13.285A8 8 0 0 0 8 16A8 8 0 0 0 8 0A8 8 0 0 0 2 2.715A8 8 0 0 1 2,13.285\" />\n <circle id=\"users_stack_16_circle\" cx=\"8\" cy=\"8\" r=\"8\" />\n \n <path id=\"users_stack_24_left\" d=\"M2,18.625A12 12 0 0 0 12 24A12 12 0 0 0 12 0A12 12 0 0 0 2 5.375A12 12 0 0 1 2,18.625\" />\n <circle id=\"users_stack_24_circle\" cx=\"12\" cy=\"12\" r=\"12\" />\n <path id=\"users_stack_24_right\" d=\"M22,18.625A12 12 0 0 1 12 24A12 12 0 0 1 12 0A12 12 0 0 1 22 5.375A12 12 0 0 0 22,18.625\" />\n\n <path id=\"users_stack_32_left\" d=\"M2,23.75A16 16 0 0 0 16 32A16 16 0 0 0 16 0A16 16 0 0 0 2 8.25A16 16 0 0 1 2,23.75\" />\n <circle id=\"users_stack_32_circle\" cx=\"16\" cy=\"16\" r=\"16\" />\n <path id=\"users_stack_32_right\" d=\"M30,23.75A16 16 0 0 1 16 32A16 16 0 0 1 16 0A16 16 0 0 1 30 8.25A16 16 0 0 0 30,23.75\" />\n\n <clipPath id=\"users_stack_mask_16_left\">\n <use href=\"#users_stack_16_left\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_16_circle\">\n <use href=\"#users_stack_16_circle\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_left\">\n <use href=\"#users_stack_24_left\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_circle\">\n <use href=\"#users_stack_24_circle\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_right\">\n <use href=\"#users_stack_24_right\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_left\">\n <use href=\"#users_stack_32_left\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_circle\">\n <use href=\"#users_stack_32_circle\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_right\">\n <use href=\"#users_stack_32_right\"/>\n </clipPath>\n</defs>";
17
17
  document.body.appendChild(svgElement);
18
18
  masksCreated.push(document);
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/UsersStack/masks.tsx"],"names":["canUseDOM","masksCreated","createMasks","document","includes","svgElement","createElementNS","setAttributeNS","style","position","width","height","innerHTML","body","appendChild","push"],"mappings":"AAAA,SAASA,SAAT;AAEA,IAAMC,YAAwB,GAAG,EAAjC;AAEA,OAAO,SAASC,WAAT,CAAqBC,QAArB,EAAgD;AACrD,MAAI,CAACH,SAAD,IAAc,CAACG,QAAf,IAA2BF,YAAY,CAACG,QAAb,CAAsBD,QAAtB,CAA/B,EAAgE;AAC9D;AACD,GAHoD,CAKrD;;;AACA,MAAME,UAAU,GAAGF,QAAQ,CAACG,eAAT,CACjB,4BADiB,EAEjB,KAFiB,CAAnB;AAIAD,EAAAA,UAAU,CAACE,cAAX,CAA0B,IAA1B,EAAgC,IAAhC,EAAsC,oBAAtC;AACAF,EAAAA,UAAU,CAACE,cAAX,CAA0B,IAA1B,EAAgC,OAAhC,EAAyC,GAAzC;AACAF,EAAAA,UAAU,CAACE,cAAX,CAA0B,IAA1B,EAAgC,QAAhC,EAA0C,GAA1C;AACAF,EAAAA,UAAU,CAACG,KAAX,CAAiBC,QAAjB,GAA4B,UAA5B;AACAJ,EAAAA,UAAU,CAACG,KAAX,CAAiBE,KAAjB,GAAyB,KAAzB;AACAL,EAAAA,UAAU,CAACG,KAAX,CAAiBG,MAAjB,GAA0B,KAA1B;AAEAN,EAAAA,UAAU,CAACO,SAAX;AAsBAT,EAAAA,QAAQ,CAACU,IAAT,CAAcC,WAAd,CAA0BT,UAA1B;AACAJ,EAAAA,YAAY,CAACc,IAAb,CAAkBZ,QAAlB;AACD","sourcesContent":["import { canUseDOM } from \"../../lib/dom\";\n\nconst masksCreated: Document[] = [];\n\nexport function createMasks(document?: Document): void {\n if (!canUseDOM || !document || masksCreated.includes(document)) {\n return;\n }\n\n // eslint-disable-next-line no-restricted-globals\n const svgElement = document.createElementNS(\n \"http://www.w3.org/2000/svg\",\n \"svg\"\n );\n svgElement.setAttributeNS(null, \"id\", \"__SVG_MASKS_NODE__\");\n svgElement.setAttributeNS(null, \"width\", \"0\");\n svgElement.setAttributeNS(null, \"height\", \"0\");\n svgElement.style.position = \"absolute\";\n svgElement.style.width = \"0px\";\n svgElement.style.height = \"0px\";\n\n svgElement.innerHTML = `<defs>\n <clipPath id=\"users_stack_mask_16_left\">\n <path transform=\"translate(1.5 0)\" d=\"M1.20772 8C1.20772 6.32671 0.768742 4.75626 0 3.39821C1.44342 1.34278 3.8277 0 6.52463 0C10.9293 0 14.5 3.58172 14.5 8C14.5 12.4183 10.9293 16 6.52463 16C3.8277 16 1.44342 14.6572 0 12.6018C0.768742 11.2437 1.20772 9.6733 1.20772 8Z\"></path>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_left\">\n <path d=\"M3.9971785,12 C3.9971785,9.49005736 3.33667467,7.13438366 2.18,5.09731189 C4.35181237,2.01417617 7.93927741,0 11.9971785,0 C18.6245955,0 23.9971785,5.372583 23.9971785,12 C23.9971785,18.627417 18.6245955,24 11.9971785,24 C7.93927741,24 4.35181237,21.9858238 2.18,18.9026881 C3.33667467,16.8656163 3.9971785,14.5099426 3.9971785,12 Z\"></path>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_right\">\n <path d=\"M21.8171785,5.09731189 C20.6605038,7.13438366 20,9.49005736 20,12 C20,14.5099426 20.6605038,16.8656163 21.8171785,18.9026881 C19.6453661,21.9858238 16.0579011,24 12,24 C5.372583,24 3.90798505e-14,18.627417 3.90798505e-14,12 C3.90798505e-14,5.372583 5.372583,0 12,0 C16.0579011,0 19.6453661,2.01417617 21.8171785,5.09731189 Z\"></path>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_left\">\n <path d=\"M2.13430019,23.9892466 C3.32858917,21.5820026 4,18.8694095 4,16 C4,13.1305905 3.32858917,10.4179974 2.13430019,8.0107534 C4.89924175,3.22241289 10.0733034,-2.30926389e-14 16,-2.30926389e-14 C24.836556,-2.30926389e-14 32,7.163444 32,16 C32,24.836556 24.836556,32 16,32 C10.0733034,32 4.89924175,28.7775871 2.13430019,23.9892466 L2.13430019,23.9892466 Z\"></path>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_right\">\n <path d=\"M29.8656998,8.0107534 C28.6714108,10.4179974 28,13.1305905 28,16 C28,18.8694095 28.6714108,21.5820026 29.8656998,23.9892466 C27.1007583,28.7775871 21.9266966,32 16,32 C7.163444,32 3.90798505e-14,24.836556 3.90798505e-14,16 C3.90798505e-14,7.163444 7.163444,0 16,0 C21.9266966,0 27.1007583,3.22241289 29.8656998,8.0107534 Z\"></path>\n </clipPath>\n</defs>`;\n\n document.body.appendChild(svgElement);\n masksCreated.push(document);\n}\n"],"file":"masks.js"}
1
+ {"version":3,"sources":["../../../src/components/UsersStack/masks.tsx"],"names":["canUseDOM","masksCreated","createMasks","document","includes","svgElement","createElementNS","setAttributeNS","style","position","width","height","innerHTML","body","appendChild","push"],"mappings":"AAAA,SAASA,SAAT;AAEA,IAAMC,YAAwB,GAAG,EAAjC;AAEA,OAAO,SAASC,WAAT,CAAqBC,QAArB,EAAgD;AACrD,MAAI,CAACH,SAAD,IAAc,CAACG,QAAf,IAA2BF,YAAY,CAACG,QAAb,CAAsBD,QAAtB,CAA/B,EAAgE;AAC9D;AACD,GAHoD,CAKrD;;;AACA,MAAME,UAAU,GAAGF,QAAQ,CAACG,eAAT,CACjB,4BADiB,EAEjB,KAFiB,CAAnB;AAIAD,EAAAA,UAAU,CAACE,cAAX,CAA0B,IAA1B,EAAgC,IAAhC,EAAsC,oBAAtC;AACAF,EAAAA,UAAU,CAACE,cAAX,CAA0B,IAA1B,EAAgC,OAAhC,EAAyC,GAAzC;AACAF,EAAAA,UAAU,CAACE,cAAX,CAA0B,IAA1B,EAAgC,QAAhC,EAA0C,GAA1C;AACAF,EAAAA,UAAU,CAACG,KAAX,CAAiBC,QAAjB,GAA4B,UAA5B;AACAJ,EAAAA,UAAU,CAACG,KAAX,CAAiBE,KAAjB,GAAyB,KAAzB;AACAL,EAAAA,UAAU,CAACG,KAAX,CAAiBG,MAAjB,GAA0B,KAA1B;AAEAN,EAAAA,UAAU,CAACO,SAAX;AA6CAT,EAAAA,QAAQ,CAACU,IAAT,CAAcC,WAAd,CAA0BT,UAA1B;AACAJ,EAAAA,YAAY,CAACc,IAAb,CAAkBZ,QAAlB;AACD","sourcesContent":["import { canUseDOM } from \"../../lib/dom\";\n\nconst masksCreated: Document[] = [];\n\nexport function createMasks(document?: Document): void {\n if (!canUseDOM || !document || masksCreated.includes(document)) {\n return;\n }\n\n // eslint-disable-next-line no-restricted-globals\n const svgElement = document.createElementNS(\n \"http://www.w3.org/2000/svg\",\n \"svg\"\n );\n svgElement.setAttributeNS(null, \"id\", \"__SVG_MASKS_NODE__\");\n svgElement.setAttributeNS(null, \"width\", \"0\");\n svgElement.setAttributeNS(null, \"height\", \"0\");\n svgElement.style.position = \"absolute\";\n svgElement.style.width = \"0px\";\n svgElement.style.height = \"0px\";\n\n svgElement.innerHTML = `<defs>\n <path id=\"users_stack_16_left\" d=\"M2,13.285A8 8 0 0 0 8 16A8 8 0 0 0 8 0A8 8 0 0 0 2 2.715A8 8 0 0 1 2,13.285\" />\n <circle id=\"users_stack_16_circle\" cx=\"8\" cy=\"8\" r=\"8\" />\n \n <path id=\"users_stack_24_left\" d=\"M2,18.625A12 12 0 0 0 12 24A12 12 0 0 0 12 0A12 12 0 0 0 2 5.375A12 12 0 0 1 2,18.625\" />\n <circle id=\"users_stack_24_circle\" cx=\"12\" cy=\"12\" r=\"12\" />\n <path id=\"users_stack_24_right\" d=\"M22,18.625A12 12 0 0 1 12 24A12 12 0 0 1 12 0A12 12 0 0 1 22 5.375A12 12 0 0 0 22,18.625\" />\n\n <path id=\"users_stack_32_left\" d=\"M2,23.75A16 16 0 0 0 16 32A16 16 0 0 0 16 0A16 16 0 0 0 2 8.25A16 16 0 0 1 2,23.75\" />\n <circle id=\"users_stack_32_circle\" cx=\"16\" cy=\"16\" r=\"16\" />\n <path id=\"users_stack_32_right\" d=\"M30,23.75A16 16 0 0 1 16 32A16 16 0 0 1 16 0A16 16 0 0 1 30 8.25A16 16 0 0 0 30,23.75\" />\n\n <clipPath id=\"users_stack_mask_16_left\">\n <use href=\"#users_stack_16_left\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_16_circle\">\n <use href=\"#users_stack_16_circle\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_left\">\n <use href=\"#users_stack_24_left\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_circle\">\n <use href=\"#users_stack_24_circle\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_24_right\">\n <use href=\"#users_stack_24_right\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_left\">\n <use href=\"#users_stack_32_left\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_circle\">\n <use href=\"#users_stack_32_circle\"/>\n </clipPath>\n\n <clipPath id=\"users_stack_mask_32_right\">\n <use href=\"#users_stack_32_right\"/>\n </clipPath>\n</defs>`;\n\n document.body.appendChild(svgElement);\n masksCreated.push(document);\n}\n"],"file":"masks.js"}
@@ -69,12 +69,15 @@ export interface ViewState {
69
69
  prevPanel: string | null;
70
70
  nextPanel: string | null;
71
71
  swipingBack: boolean;
72
- swipebackStartX: number;
72
+ swipeBackStartX: number;
73
73
  swipeBackShift: number;
74
74
  swipeBackNextPanel: string | null;
75
75
  swipeBackPrevPanel: string | null;
76
76
  swipeBackResult: SwipeBackResults | null;
77
77
  browserSwipe: boolean;
78
78
  }
79
- declare const _default: React.FC<Pick<ViewProps, "hidden" | "dir" | "nav" | "slot" | "style" | "title" | "scroll" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "popout" | "modal" | "onTransition" | "activePanel" | "onSwipeBack" | "onSwipeBackStart" | "onSwipeBackCancel" | "history" | "splitCol" | "configProvider">>;
80
- export default _default;
79
+ /**
80
+ * @see https://vkcom.github.io/VKUI/#/View
81
+ */
82
+ export declare const View: React.FC<Pick<ViewProps, "hidden" | "dir" | "nav" | "slot" | "style" | "title" | "scroll" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "popout" | "modal" | "onTransition" | "activePanel" | "onSwipeBack" | "onSwipeBackStart" | "onSwipeBackCancel" | "history" | "splitCol" | "configProvider">>;
83
+ export {};
@@ -11,8 +11,7 @@ import { createScopedElement } from "../../lib/jsxRuntime";
11
11
  import * as React from "react";
12
12
  import { classNames } from "../../lib/classNames";
13
13
  import { transitionEvent, animationEvent } from "../../lib/supportEvents";
14
- import { getClassName } from "../../helpers/getClassName";
15
- import { IOS, ANDROID, VKCOM } from "../../lib/platform";
14
+ import { IOS } from "../../lib/platform";
16
15
  import { Touch } from "../Touch/Touch";
17
16
  import { withPlatform } from "../../hoc/withPlatform";
18
17
  import { withContext } from "../../hoc/withContext";
@@ -34,19 +33,16 @@ var SwipeBackResults;
34
33
 
35
34
  export var scrollsCache = {};
36
35
  var warn = warnOnce("View");
37
- /**
38
- * @see https://vkcom.github.io/VKUI/#/View
39
- */
40
36
 
41
- var View = /*#__PURE__*/function (_React$Component) {
42
- _inherits(View, _React$Component);
37
+ var ViewComponent = /*#__PURE__*/function (_React$Component) {
38
+ _inherits(ViewComponent, _React$Component);
43
39
 
44
- var _super = _createSuper(View);
40
+ var _super = _createSuper(ViewComponent);
45
41
 
46
- function View(props) {
42
+ function ViewComponent(props) {
47
43
  var _this;
48
44
 
49
- _classCallCheck(this, View);
45
+ _classCallCheck(this, ViewComponent);
50
46
 
51
47
  _this = _super.call(this, props);
52
48
 
@@ -111,7 +107,7 @@ var View = /*#__PURE__*/function (_React$Component) {
111
107
 
112
108
  _this.setState({
113
109
  swipingBack: true,
114
- swipebackStartX: e.startX,
110
+ swipeBackStartX: e.startX,
115
111
  swipeBackPrevPanel: _this.state.activePanel,
116
112
  swipeBackNextPanel: _this.props.history.slice(-2)[0]
117
113
  });
@@ -122,7 +118,7 @@ var View = /*#__PURE__*/function (_React$Component) {
122
118
 
123
119
  if (e.shiftX < 0) {
124
120
  swipeBackShift = 0;
125
- } else if (e.shiftX > _this.window.innerWidth - _this.state.swipebackStartX) {
121
+ } else if (e.shiftX > _this.window.innerWidth - _this.state.swipeBackStartX) {
126
122
  var _this$window;
127
123
 
128
124
  swipeBackShift = (_this$window = _this.window) === null || _this$window === void 0 ? void 0 : _this$window.innerWidth;
@@ -147,7 +143,7 @@ var View = /*#__PURE__*/function (_React$Component) {
147
143
  _this.onSwipeBackCancel();
148
144
  } else if (_this.state.swipeBackShift >= ((_this$window$innerWid = (_this$window2 = _this.window) === null || _this$window2 === void 0 ? void 0 : _this$window2.innerWidth) !== null && _this$window$innerWid !== void 0 ? _this$window$innerWid : 0)) {
149
145
  _this.onSwipeBackSuccess();
150
- } else if (speed > 250 || _this.state.swipebackStartX + _this.state.swipeBackShift > _this.window.innerWidth / 2) {
146
+ } else if (speed > 250 || _this.state.swipeBackStartX + _this.state.swipeBackShift > _this.window.innerWidth / 2) {
151
147
  _this.setState({
152
148
  swipeBackResult: SwipeBackResults.success
153
149
  });
@@ -167,7 +163,7 @@ var View = /*#__PURE__*/function (_React$Component) {
167
163
  prevPanel: null,
168
164
  nextPanel: null,
169
165
  swipingBack: false,
170
- swipebackStartX: 0,
166
+ swipeBackStartX: 0,
171
167
  swipeBackShift: 0,
172
168
  swipeBackNextPanel: null,
173
169
  swipeBackPrevPanel: null,
@@ -177,7 +173,7 @@ var View = /*#__PURE__*/function (_React$Component) {
177
173
  return _this;
178
174
  }
179
175
 
180
- _createClass(View, [{
176
+ _createClass(ViewComponent, [{
181
177
  key: "document",
182
178
  get: function get() {
183
179
  return this.props.document;
@@ -253,7 +249,7 @@ var View = /*#__PURE__*/function (_React$Component) {
253
249
  clearTimeout(this.animationFinishTimeout);
254
250
  }
255
251
 
256
- this.animationFinishTimeout = setTimeout(this.transitionEndHandler, this.props.platform === ANDROID || this.props.platform === VKCOM ? 300 : 600);
252
+ this.animationFinishTimeout = setTimeout(this.transitionEndHandler, this.props.platform === IOS ? 600 : 300);
257
253
  }
258
254
  }
259
255
  } // Закончилась анимация свайпа назад
@@ -272,7 +268,7 @@ var View = /*#__PURE__*/function (_React$Component) {
272
268
  swipeBackNextPanel: null,
273
269
  swipingBack: false,
274
270
  swipeBackResult: null,
275
- swipebackStartX: 0,
271
+ swipeBackStartX: 0,
276
272
  swipeBackShift: 0,
277
273
  activePanel: nextPanel,
278
274
  visiblePanels: [nextPanel]
@@ -338,7 +334,7 @@ var View = /*#__PURE__*/function (_React$Component) {
338
334
  clearTimeout(this.transitionFinishTimeout);
339
335
  }
340
336
 
341
- this.transitionFinishTimeout = setTimeout(eventHandler, this.props.platform === ANDROID || this.props.platform === VKCOM ? 300 : 600);
337
+ this.transitionFinishTimeout = setTimeout(eventHandler, this.props.platform === IOS ? 600 : 300);
342
338
  }
343
339
  }
344
340
  }, {
@@ -402,7 +398,7 @@ var View = /*#__PURE__*/function (_React$Component) {
402
398
  swipeBackNextPanel: null,
403
399
  swipingBack: false,
404
400
  swipeBackResult: null,
405
- swipebackStartX: 0,
401
+ swipeBackStartX: 0,
406
402
  swipeBackShift: 0
407
403
  });
408
404
  }
@@ -486,15 +482,10 @@ var View = /*#__PURE__*/function (_React$Component) {
486
482
  return panelId !== undefined && _this4.state.visiblePanels.includes(panelId) || panelId === swipeBackPrevPanel || panelId === swipeBackNextPanel;
487
483
  });
488
484
  var disableAnimation = this.shouldDisableTransitionMotion();
489
- var modifiers = {
490
- "View--animated": !disableAnimation && animated,
491
- "View--swiping-back": !disableAnimation && this.state.swipingBack,
492
- "View--no-motion": disableAnimation
493
- };
494
485
  return createScopedElement(Touch, _extends({
495
486
  Component: "section"
496
487
  }, restProps, {
497
- vkuiClass: classNames(getClassName("View", platform), modifiers),
488
+ vkuiClass: classNames("View", platform === IOS && "View--ios", !disableAnimation && animated && "View--animated", !disableAnimation && this.state.swipingBack && "View--swiping-back", disableAnimation && "View--no-motion"),
498
489
  onMoveX: this.onMoveX,
499
490
  onEnd: this.onEnd
500
491
  }), createScopedElement("div", {
@@ -507,16 +498,7 @@ var View = /*#__PURE__*/function (_React$Component) {
507
498
  var isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);
508
499
  var compensateScroll = isPrev || panelId === swipeBackNextPanel || panelId === nextPanel && isBack;
509
500
  return createScopedElement("div", {
510
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
511
- vkuiClass: classNames("View__panel", {
512
- "View__panel--active": panelId === activePanel,
513
- "View__panel--prev": panelId === prevPanel,
514
- "View__panel--next": panelId === nextPanel,
515
- "View__panel--swipe-back-prev": panelId === swipeBackPrevPanel,
516
- "View__panel--swipe-back-next": panelId === swipeBackNextPanel,
517
- "View__panel--swipe-back-success": swipeBackResult === SwipeBackResults.success,
518
- "View__panel--swipe-back-failed": swipeBackResult === SwipeBackResults.fail
519
- }),
501
+ vkuiClass: classNames("View__panel", panelId === activePanel && "View__panel--active", panelId === prevPanel && "View__panel--prev", panelId === nextPanel && "View__panel--next", panelId === swipeBackPrevPanel && "View__panel--swipe-back-prev", panelId === swipeBackNextPanel && "View__panel--swipe-back-next", swipeBackResult === SwipeBackResults.success && "View__panel--swipe-back-success", swipeBackResult === SwipeBackResults.fail && "View__panel--swipe-back-failed"),
520
502
  onAnimationEnd: isTransitionTarget ? _this4.transitionEndHandler : undefined,
521
503
  ref: function ref(el) {
522
504
  return panelId !== undefined && (_this4.panelNodes[panelId] = el);
@@ -539,13 +521,17 @@ var View = /*#__PURE__*/function (_React$Component) {
539
521
  }
540
522
  }]);
541
523
 
542
- return View;
543
- }(React.Component); // eslint-disable-next-line import/no-default-export
524
+ return ViewComponent;
525
+ }(React.Component);
526
+ /**
527
+ * @see https://vkcom.github.io/VKUI/#/View
528
+ */
544
529
 
545
530
 
546
- _defineProperty(View, "defaultProps", {
531
+ _defineProperty(ViewComponent, "defaultProps", {
547
532
  history: []
548
533
  });
549
534
 
550
- export default withContext(withContext(withContext(withPlatform(withDOM(View)), SplitColContext, "splitCol"), ConfigProviderContext, "configProvider"), ScrollContext, "scroll");
535
+ export var View = withContext(withContext(withContext(withPlatform(withDOM(ViewComponent)), SplitColContext, "splitCol"), ConfigProviderContext, "configProvider"), ScrollContext, "scroll");
536
+ View.displayName = "View";
551
537
  //# sourceMappingURL=View.js.map