@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/Tappable/Tappable.tsx"],"names":["WAVE_LIVE","ACTIVE_DELAY","ACTIVE_EFFECT_DELAY","activeBus","TapState","none","pending","active","exiting","TappableContext","React","createContext","onHoverChange","noop","useActivity","hasActive","stopDelay","id","useMemo","Math","round","random","toString","useState","activity","setActivity","_stop","start","delayStart","activeTimeout","stopTimeout","set","clear","emit","onActiveChange","activeId","on","off","stop","delay","Tappable","children","Component","onClick","_onKeyDown","onKeyDown","activeEffectDelay","stopPropagation","getRootRef","sizeX","hasMouse","deviceHasHover","hasHover","_hasHover","hoverMode","_hasActive","activeMode","focusVisibleMode","onEnter","onLeave","props","href","useContext","insideTouchRoot","TouchRootContext","platform","focusVisible","onBlur","onFocus","clicks","setClicks","childHover","setChildHover","_hovered","value","setHoveredTrue","setTrue","setHoveredFalse","setFalse","hovered","disabled","isCustomElement","contentEditable","isPresetHoverMode","includes","isPresetActiveMode","isPresetFocusVisibleMode","containerRef","childContext","useRef","current","e","preventDefault","click","needWaves","ANDROID","clearClicks","addClick","x","y","dateNow","Date","now","filteredClicks","filter","onStart","originalEvent","touches","length","top","left","onMove","isSlide","onEnd","duration","activeDuration","classes","handlers","role","undefined","map","wave"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport mitt from \"mitt\";\nimport { noop } from \"@vkontakte/vkjs\";\nimport { Touch, TouchEvent, TouchProps } from \"../Touch/Touch\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ANDROID } from \"../../lib/platform\";\nimport { getOffsetRect } from \"../../lib/offset\";\nimport { coordX, coordY } from \"../../lib/touch\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { shouldTriggerClickOnEnterOrSpace } from \"../../lib/accessibility\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { FocusVisible, FocusVisibleMode } from \"../FocusVisible/FocusVisible\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useFocusVisible } from \"../../hooks/useFocusVisible\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport { useBooleanState } from \"../../hooks/useBooleanState\";\nimport \"./Tappable.css\";\n\nconst WAVE_LIVE = 225;\n\nexport interface TappableProps\n extends Omit<\n React.AllHTMLAttributes<HTMLElement>,\n | \"onTouchStart\"\n | \"onTouchMove\"\n | \"onTouchEnd\"\n | \"onTouchCancel\"\n | \"onMouseDown\"\n | \"onMouseMove\"\n | \"onMouseUp\"\n | \"onMouseLeave\"\n >,\n HasRootRef<HTMLElement>,\n AdaptivityProps,\n HasComponent,\n Pick<TouchProps, \"onStart\" | \"onEnd\" | \"onMove\"> {\n /**\n * Длительность показа active-состояния\n */\n activeEffectDelay?: number;\n stopPropagation?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на hover-состояние\n */\n hasHover?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на active-состояние\n */\n hasActive?: boolean;\n /**\n * Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active\n */\n activeMode?: \"opacity\" | \"background\" | string;\n /**\n * Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover\n */\n hoverMode?: \"opacity\" | \"background\" | string;\n /**\n * Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс во время focus-visible\n */\n focusVisibleMode?: FocusVisibleMode | string;\n onEnter?: (outputEvent: MouseEvent) => void;\n onLeave?: (outputEvent: MouseEvent) => void;\n}\n\ninterface Wave {\n x: number;\n y: number;\n id: number;\n}\n\nexport interface RootComponentProps extends TouchProps {\n ref?: React.Ref<HTMLElement>;\n}\n\nexport const ACTIVE_DELAY = 70;\nexport const ACTIVE_EFFECT_DELAY = 600;\n\nconst activeBus = mitt<{ active: string }>();\nconst TapState = { none: 0, pending: 1, active: 2, exiting: 3 } as const;\n\ntype TappableContextInterface = { onHoverChange: (s: boolean) => void };\nconst TappableContext = React.createContext<TappableContextInterface>({\n onHoverChange: noop,\n});\n\nfunction useActivity(hasActive: boolean, stopDelay: number) {\n const id = React.useMemo(\n () => Math.round(Math.random() * 1e8).toString(16),\n []\n );\n\n const [activity, setActivity] = React.useState<\n typeof TapState[keyof typeof TapState]\n >(TapState.none);\n const _stop = () => setActivity(TapState.none);\n const start = () => hasActive && setActivity(TapState.active);\n const delayStart = () => {\n hasActive && setActivity(TapState.pending);\n };\n\n const activeTimeout = useTimeout(start, ACTIVE_DELAY);\n const stopTimeout = useTimeout(_stop, stopDelay);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.pending) {\n activeTimeout.set();\n return activeTimeout.clear;\n }\n if (activity === TapState.exiting) {\n return stopTimeout.clear;\n }\n if (activity === TapState.active) {\n activeBus.emit(\"active\", id);\n }\n return noop;\n }, [activity]);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.none) {\n return noop;\n }\n const onActiveChange = (activeId: string) => {\n activeId !== id && _stop();\n };\n activeBus.on(\"active\", onActiveChange);\n return () => activeBus.off(\"active\", onActiveChange);\n }, [activity === TapState.none]);\n\n useIsomorphicLayoutEffect(() => {\n !hasActive && _stop();\n }, [hasActive]);\n\n const stop = (delay?: number) => {\n if (delay) {\n setActivity(TapState.exiting);\n return stopTimeout.set(delay);\n }\n _stop();\n };\n\n return [activity, { delayStart, start, stop }] as const;\n}\n\nconst Tappable: React.FC<TappableProps> = ({\n children,\n Component,\n onClick,\n onKeyDown: _onKeyDown,\n activeEffectDelay = ACTIVE_EFFECT_DELAY,\n stopPropagation = false,\n getRootRef,\n sizeX,\n hasMouse,\n deviceHasHover,\n hasHover: _hasHover = true,\n hoverMode = \"background\",\n hasActive: _hasActive = true,\n activeMode = \"background\",\n focusVisibleMode = \"inside\",\n onEnter,\n onLeave,\n ...props\n}: TappableProps) => {\n Component = Component || ((props.href ? \"a\" : \"div\") as React.ElementType);\n\n const { onHoverChange } = React.useContext(TappableContext);\n const insideTouchRoot = React.useContext(TouchRootContext);\n const platform = usePlatform();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n const [clicks, setClicks] = React.useState<Wave[]>([]);\n const [childHover, setChildHover] = React.useState(false);\n const {\n value: _hovered,\n setTrue: setHoveredTrue,\n setFalse: setHoveredFalse,\n } = useBooleanState(false);\n\n const hovered = _hovered && !props.disabled;\n const hasActive = _hasActive && !childHover && !props.disabled;\n const hasHover = deviceHasHover && _hasHover && !childHover;\n const isCustomElement =\n Component !== \"a\" &&\n Component !== \"button\" &&\n Component !== \"label\" &&\n !props.contentEditable;\n const isPresetHoverMode = [\"opacity\", \"background\"].includes(hoverMode);\n const isPresetActiveMode = [\"opacity\", \"background\"].includes(activeMode);\n const isPresetFocusVisibleMode = [\"inside\", \"outside\"].includes(\n focusVisibleMode\n );\n\n const [activity, { start, stop, delayStart }] = useActivity(\n hasActive,\n activeEffectDelay\n );\n const active = activity === TapState.active || activity === TapState.exiting;\n\n const containerRef = useExternRef(getRootRef);\n\n // hover propagation\n const childContext = React.useRef({ onHoverChange: setChildHover }).current;\n useIsomorphicLayoutEffect(() => {\n if (!hovered) {\n return noop;\n }\n onHoverChange(true);\n return () => onHoverChange(false);\n }, [hovered]);\n\n /*\n * [a11y]\n * Обрабатывает событие onkeydown\n * для кастомных доступных элементов:\n * - role=\"link\" (активация по Enter)\n * - role=\"button\" (активация по Space и Enter)\n */\n function onKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (isCustomElement && shouldTriggerClickOnEnterOrSpace(e)) {\n e.preventDefault();\n containerRef.current?.click();\n }\n }\n\n const needWaves =\n platform === ANDROID &&\n !hasMouse &&\n hasActive &&\n activeMode === \"background\";\n\n const clearClicks = useTimeout(() => setClicks([]), WAVE_LIVE);\n\n function addClick(x: number, y: number) {\n const dateNow = Date.now();\n const filteredClicks = clicks.filter(\n (click) => click.id + WAVE_LIVE > dateNow\n );\n\n setClicks([...filteredClicks, { x, y, id: dateNow }]);\n clearClicks.set();\n }\n\n function onStart({ originalEvent }: TouchEvent) {\n if (hasActive) {\n if (originalEvent.touches && originalEvent.touches.length > 1) {\n // r сожалению я так и не понял, что это делает и можно ли упихнуть его в Touch\n return stop();\n }\n\n if (needWaves) {\n const { top, left } = getOffsetRect(containerRef.current);\n const x = coordX(originalEvent) - (left ?? 0);\n const y = coordY(originalEvent) - (top ?? 0);\n addClick(x, y);\n }\n\n delayStart();\n }\n }\n\n function onMove({ isSlide }: TouchEvent) {\n if (isSlide) {\n stop();\n }\n }\n\n function onEnd({ duration }: TouchEvent) {\n if (activity === TapState.none) {\n return;\n }\n if (activity === TapState.pending) {\n // активировать при коротком тапе\n start();\n }\n\n // отключить без задержки при длинном тапе\n const activeDuration = duration - ACTIVE_DELAY;\n stop(activeDuration >= 100 ? 0 : activeEffectDelay - activeDuration);\n }\n\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n const classes = classNames(\n getClassName(\"Tappable\", platform),\n `Tappable--sizeX-${sizeX}`,\n hasHover && `Tappable--hasHover`,\n hasActive && `Tappable--hasActive`,\n hasHover && hovered && !isPresetHoverMode && hoverMode,\n hasActive && active && !isPresetActiveMode && activeMode,\n focusVisible && !isPresetFocusVisibleMode && focusVisibleMode,\n {\n \"Tappable--active\": hasActive && active,\n \"Tappable--mouse\": hasMouse,\n [`Tappable--hover-${hoverMode}`]:\n hasHover && hovered && isPresetHoverMode,\n [`Tappable--active-${activeMode}`]:\n hasActive && active && isPresetActiveMode,\n \"Tappable--focus-visible\": focusVisible,\n }\n );\n\n const handlers: RootComponentProps = {\n onStart: callMultiple(onStart, props.onStart),\n onMove: callMultiple(onMove, props.onMove),\n onEnd: callMultiple(onEnd, props.onEnd),\n onClick,\n onKeyDown: callMultiple(onKeyDown, _onKeyDown),\n };\n const role = props.href ? \"link\" : \"button\";\n\n return (\n <Touch\n onEnter={callMultiple(setHoveredTrue, onEnter)}\n onLeave={callMultiple(setHoveredFalse, onLeave)}\n type={Component === \"button\" ? \"button\" : undefined}\n tabIndex={isCustomElement && !props.disabled ? 0 : undefined}\n role={isCustomElement ? role : undefined}\n aria-disabled={isCustomElement ? props.disabled : undefined}\n stopPropagation={stopPropagation && !insideTouchRoot && !props.disabled}\n {...props}\n slideThreshold={20}\n usePointerHover\n vkuiClass={classes}\n Component={Component}\n getRootRef={containerRef}\n onBlur={callMultiple(onBlur, props.onBlur)}\n onFocus={callMultiple(onFocus, props.onFocus)}\n {...(props.disabled ? {} : handlers)}\n >\n <TappableContext.Provider value={childContext}>\n {children}\n </TappableContext.Provider>\n {needWaves && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__waves\">\n {clicks.map((wave) => (\n <span\n key={wave.id}\n vkuiClass=\"Tappable__wave\"\n style={{ top: wave.y, left: wave.x }}\n />\n ))}\n </span>\n )}\n {hasHover && hoverMode === \"background\" && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__hoverShadow\" />\n )}\n {!props.disabled && isPresetFocusVisibleMode && (\n <FocusVisible mode={focusVisibleMode as FocusVisibleMode} />\n )}\n </Touch>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Tappable, {\n sizeX: true,\n hasMouse: true,\n deviceHasHover: true,\n});\n"],"file":"Tappable.js"}
1
+ {"version":3,"sources":["../../../../src/components/Tappable/Tappable.tsx"],"names":["WAVE_LIVE","ACTIVE_DELAY","ACTIVE_EFFECT_DELAY","activeBus","TapState","none","pending","active","exiting","TappableContext","React","createContext","onHoverChange","noop","useActivity","hasActive","stopDelay","id","useMemo","Math","round","random","toString","useState","activity","setActivity","_stop","start","delayStart","activeTimeout","stopTimeout","set","clear","emit","onActiveChange","activeId","on","off","stop","delay","TappableComponent","children","Component","onClick","_onKeyDown","onKeyDown","activeEffectDelay","stopPropagation","getRootRef","sizeX","hasMouse","deviceHasHover","hasHover","_hasHover","hoverMode","_hasActive","activeMode","focusVisibleMode","onEnter","onLeave","props","href","useContext","insideTouchRoot","TouchRootContext","platform","focusVisible","onBlur","onFocus","clicks","setClicks","childHover","setChildHover","_hovered","value","setHoveredTrue","setTrue","setHoveredFalse","setFalse","hovered","disabled","isCustomElement","contentEditable","isPresetHoverMode","includes","isPresetActiveMode","isPresetFocusVisibleMode","containerRef","childContext","useRef","current","e","preventDefault","click","needWaves","ANDROID","clearClicks","addClick","x","y","dateNow","Date","now","filteredClicks","filter","onStart","originalEvent","touches","length","top","left","onMove","isSlide","onEnd","duration","activeDuration","classes","IOS","handlers","role","undefined","map","wave","Tappable","displayName"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport mitt from \"mitt\";\nimport { noop } from \"@vkontakte/vkjs\";\nimport { Touch, TouchEvent, TouchProps } from \"../Touch/Touch\";\nimport TouchRootContext from \"../Touch/TouchContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, ANDROID } from \"../../lib/platform\";\nimport { getOffsetRect } from \"../../lib/offset\";\nimport { coordX, coordY } from \"../../lib/touch\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { shouldTriggerClickOnEnterOrSpace } from \"../../lib/accessibility\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { FocusVisible, FocusVisibleMode } from \"../FocusVisible/FocusVisible\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useFocusVisible } from \"../../hooks/useFocusVisible\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport { useBooleanState } from \"../../hooks/useBooleanState\";\nimport \"./Tappable.css\";\n\nconst WAVE_LIVE = 225;\n\nexport interface TappableProps\n extends Omit<\n React.AllHTMLAttributes<HTMLElement>,\n | \"onTouchStart\"\n | \"onTouchMove\"\n | \"onTouchEnd\"\n | \"onTouchCancel\"\n | \"onMouseDown\"\n | \"onMouseMove\"\n | \"onMouseUp\"\n | \"onMouseLeave\"\n >,\n HasRootRef<HTMLElement>,\n AdaptivityProps,\n HasComponent,\n Pick<TouchProps, \"onStart\" | \"onEnd\" | \"onMove\"> {\n /**\n * Длительность показа active-состояния\n */\n activeEffectDelay?: number;\n stopPropagation?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на hover-состояние\n */\n hasHover?: boolean;\n /**\n * Указывает, должен ли компонент реагировать на active-состояние\n */\n hasActive?: boolean;\n /**\n * Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active\n */\n activeMode?: \"opacity\" | \"background\" | string;\n /**\n * Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover\n */\n hoverMode?: \"opacity\" | \"background\" | string;\n /**\n * Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс во время focus-visible\n */\n focusVisibleMode?: FocusVisibleMode | string;\n children?: React.ReactNode;\n onEnter?(outputEvent: MouseEvent): void;\n onLeave?(outputEvent: MouseEvent): void;\n}\n\ninterface Wave {\n x: number;\n y: number;\n id: number;\n}\n\nexport interface RootComponentProps extends TouchProps {\n ref?: React.Ref<HTMLElement>;\n}\n\nexport const ACTIVE_DELAY = 70;\nexport const ACTIVE_EFFECT_DELAY = 600;\n\nconst activeBus = mitt<{ active: string }>();\nconst TapState = { none: 0, pending: 1, active: 2, exiting: 3 } as const;\n\ntype TappableContextInterface = { onHoverChange: (s: boolean) => void };\nconst TappableContext = React.createContext<TappableContextInterface>({\n onHoverChange: noop,\n});\n\nfunction useActivity(hasActive: boolean, stopDelay: number) {\n const id = React.useMemo(\n () => Math.round(Math.random() * 1e8).toString(16),\n []\n );\n\n const [activity, setActivity] = React.useState<\n typeof TapState[keyof typeof TapState]\n >(TapState.none);\n const _stop = () => setActivity(TapState.none);\n const start = () => hasActive && setActivity(TapState.active);\n const delayStart = () => {\n hasActive && setActivity(TapState.pending);\n };\n\n const activeTimeout = useTimeout(start, ACTIVE_DELAY);\n const stopTimeout = useTimeout(_stop, stopDelay);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.pending) {\n activeTimeout.set();\n return activeTimeout.clear;\n }\n if (activity === TapState.exiting) {\n return stopTimeout.clear;\n }\n if (activity === TapState.active) {\n activeBus.emit(\"active\", id);\n }\n return noop;\n }, [activity]);\n\n useIsomorphicLayoutEffect(() => {\n if (activity === TapState.none) {\n return noop;\n }\n const onActiveChange = (activeId: string) => {\n activeId !== id && _stop();\n };\n activeBus.on(\"active\", onActiveChange);\n return () => activeBus.off(\"active\", onActiveChange);\n }, [activity === TapState.none]);\n\n useIsomorphicLayoutEffect(() => {\n !hasActive && _stop();\n }, [hasActive]);\n\n const stop = (delay?: number) => {\n if (delay) {\n setActivity(TapState.exiting);\n return stopTimeout.set(delay);\n }\n _stop();\n };\n\n return [activity, { delayStart, start, stop }] as const;\n}\n\nconst TappableComponent = ({\n children,\n Component,\n onClick,\n onKeyDown: _onKeyDown,\n activeEffectDelay = ACTIVE_EFFECT_DELAY,\n stopPropagation = false,\n getRootRef,\n sizeX,\n hasMouse,\n deviceHasHover,\n hasHover: _hasHover = true,\n hoverMode = \"background\",\n hasActive: _hasActive = true,\n activeMode = \"background\",\n focusVisibleMode = \"inside\",\n onEnter,\n onLeave,\n ...props\n}: TappableProps) => {\n Component = Component || ((props.href ? \"a\" : \"div\") as React.ElementType);\n\n const { onHoverChange } = React.useContext(TappableContext);\n const insideTouchRoot = React.useContext(TouchRootContext);\n const platform = usePlatform();\n const { focusVisible, onBlur, onFocus } = useFocusVisible();\n\n const [clicks, setClicks] = React.useState<Wave[]>([]);\n const [childHover, setChildHover] = React.useState(false);\n const {\n value: _hovered,\n setTrue: setHoveredTrue,\n setFalse: setHoveredFalse,\n } = useBooleanState(false);\n\n const hovered = _hovered && !props.disabled;\n const hasActive = _hasActive && !childHover && !props.disabled;\n const hasHover = deviceHasHover && _hasHover && !childHover;\n const isCustomElement =\n Component !== \"a\" &&\n Component !== \"button\" &&\n Component !== \"label\" &&\n !props.contentEditable;\n const isPresetHoverMode = [\"opacity\", \"background\"].includes(hoverMode);\n const isPresetActiveMode = [\"opacity\", \"background\"].includes(activeMode);\n const isPresetFocusVisibleMode = [\"inside\", \"outside\"].includes(\n focusVisibleMode\n );\n\n const [activity, { start, stop, delayStart }] = useActivity(\n hasActive,\n activeEffectDelay\n );\n const active = activity === TapState.active || activity === TapState.exiting;\n\n const containerRef = useExternRef(getRootRef);\n\n // hover propagation\n const childContext = React.useRef({ onHoverChange: setChildHover }).current;\n useIsomorphicLayoutEffect(() => {\n if (!hovered) {\n return noop;\n }\n onHoverChange(true);\n return () => onHoverChange(false);\n }, [hovered]);\n\n /*\n * [a11y]\n * Обрабатывает событие onkeydown\n * для кастомных доступных элементов:\n * - role=\"link\" (активация по Enter)\n * - role=\"button\" (активация по Space и Enter)\n */\n function onKeyDown(e: React.KeyboardEvent<HTMLElement>) {\n if (isCustomElement && shouldTriggerClickOnEnterOrSpace(e)) {\n e.preventDefault();\n containerRef.current?.click();\n }\n }\n\n const needWaves =\n platform === ANDROID &&\n !hasMouse &&\n hasActive &&\n activeMode === \"background\";\n\n const clearClicks = useTimeout(() => setClicks([]), WAVE_LIVE);\n\n function addClick(x: number, y: number) {\n const dateNow = Date.now();\n const filteredClicks = clicks.filter(\n (click) => click.id + WAVE_LIVE > dateNow\n );\n\n setClicks([...filteredClicks, { x, y, id: dateNow }]);\n clearClicks.set();\n }\n\n function onStart({ originalEvent }: TouchEvent) {\n if (hasActive) {\n if (originalEvent.touches && originalEvent.touches.length > 1) {\n // r сожалению я так и не понял, что это делает и можно ли упихнуть его в Touch\n return stop();\n }\n\n if (needWaves) {\n const { top, left } = getOffsetRect(containerRef.current);\n const x = coordX(originalEvent) - (left ?? 0);\n const y = coordY(originalEvent) - (top ?? 0);\n addClick(x, y);\n }\n\n delayStart();\n }\n }\n\n function onMove({ isSlide }: TouchEvent) {\n if (isSlide) {\n stop();\n }\n }\n\n function onEnd({ duration }: TouchEvent) {\n if (activity === TapState.none) {\n return;\n }\n if (activity === TapState.pending) {\n // активировать при коротком тапе\n start();\n }\n\n // отключить без задержки при длинном тапе\n const activeDuration = duration - ACTIVE_DELAY;\n stop(activeDuration >= 100 ? 0 : activeEffectDelay - activeDuration);\n }\n\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n const classes = classNames(\n \"Tappable\",\n platform === IOS && \"Tappable--ios\",\n `Tappable--sizeX-${sizeX}`,\n hasHover && `Tappable--hasHover`,\n hasActive && `Tappable--hasActive`,\n hasHover && hovered && !isPresetHoverMode && hoverMode,\n hasActive && active && !isPresetActiveMode && activeMode,\n focusVisible && !isPresetFocusVisibleMode && focusVisibleMode,\n {\n \"Tappable--active\": hasActive && active,\n \"Tappable--mouse\": hasMouse,\n [`Tappable--hover-${hoverMode}`]:\n hasHover && hovered && isPresetHoverMode,\n [`Tappable--active-${activeMode}`]:\n hasActive && active && isPresetActiveMode,\n \"Tappable--focus-visible\": focusVisible,\n }\n );\n\n const handlers: RootComponentProps = {\n onStart: callMultiple(onStart, props.onStart),\n onMove: callMultiple(onMove, props.onMove),\n onEnd: callMultiple(onEnd, props.onEnd),\n onClick,\n onKeyDown: callMultiple(onKeyDown, _onKeyDown),\n };\n const role = props.href ? \"link\" : \"button\";\n\n return (\n <Touch\n onEnter={callMultiple(setHoveredTrue, onEnter)}\n onLeave={callMultiple(setHoveredFalse, onLeave)}\n type={Component === \"button\" ? \"button\" : undefined}\n tabIndex={isCustomElement && !props.disabled ? 0 : undefined}\n role={isCustomElement ? role : undefined}\n aria-disabled={isCustomElement ? props.disabled : undefined}\n stopPropagation={stopPropagation && !insideTouchRoot && !props.disabled}\n {...props}\n slideThreshold={20}\n usePointerHover\n vkuiClass={classes}\n Component={Component}\n getRootRef={containerRef}\n onBlur={callMultiple(onBlur, props.onBlur)}\n onFocus={callMultiple(onFocus, props.onFocus)}\n {...(props.disabled ? {} : handlers)}\n >\n <TappableContext.Provider value={childContext}>\n {children}\n </TappableContext.Provider>\n {needWaves && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__waves\">\n {clicks.map((wave) => (\n <span\n key={wave.id}\n vkuiClass=\"Tappable__wave\"\n style={{ top: wave.y, left: wave.x }}\n />\n ))}\n </span>\n )}\n {hasHover && hoverMode === \"background\" && (\n <span aria-hidden=\"true\" vkuiClass=\"Tappable__hoverShadow\" />\n )}\n {!props.disabled && isPresetFocusVisibleMode && (\n <FocusVisible mode={focusVisibleMode as FocusVisibleMode} />\n )}\n </Touch>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tappable\n */\nexport const Tappable = withAdaptivity(TappableComponent, {\n sizeX: true,\n hasMouse: true,\n deviceHasHover: true,\n});\n\nTappable.displayName = \"Tappable\";\n"],"file":"Tappable.js"}
@@ -2,10 +2,9 @@ import * as React from "react";
2
2
  import { HasRef, HasRootRef } from "../../types";
3
3
  import { AdaptivityProps } from "../../hoc/withAdaptivity";
4
4
  import "./Textarea.css";
5
- export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, HasRef<HTMLTextAreaElement>, HasRootRef<HTMLElement>, AdaptivityProps {
5
+ export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement>, HasRef<HTMLTextAreaElement>, HasRootRef<HTMLElement>, AdaptivityProps, Pick<React.CSSProperties, "maxHeight"> {
6
6
  grow?: boolean;
7
7
  onResize?(el: HTMLTextAreaElement): void;
8
8
  defaultValue?: string;
9
9
  }
10
- declare const _default: React.FC<Pick<TextareaProps, "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "color" | "wrap" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "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" | "value" | "autoFocus" | "autoComplete" | "maxLength" | "minLength" | "readOnly" | "cols" | "dirName" | "rows" | "getRootRef" | "getRef" | "grow" | "onResize"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
11
- export default _default;
10
+ export declare const Textarea: React.FC<Pick<TextareaProps, "required" | "disabled" | "hidden" | "dir" | "form" | "slot" | "style" | "title" | "color" | "wrap" | "maxHeight" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "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" | "value" | "autoFocus" | "autoComplete" | "maxLength" | "minLength" | "readOnly" | "cols" | "dirName" | "rows" | "getRootRef" | "getRef" | "grow" | "onResize"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
@@ -7,7 +7,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = void 0;
10
+ exports.Textarea = void 0;
11
11
 
12
12
  var _jsxRuntime = require("../../lib/jsxRuntime");
13
13
 
@@ -25,20 +25,16 @@ var _FormField = require("../FormField/FormField");
25
25
 
26
26
  var _withAdaptivity = require("../../hoc/withAdaptivity");
27
27
 
28
- var _getClassName = require("../../helpers/getClassName");
29
-
30
28
  var _useEnsuredControl3 = require("../../hooks/useEnsuredControl");
31
29
 
32
30
  var _useExternRef = require("../../hooks/useExternRef");
33
31
 
34
- var _usePlatform = require("../../hooks/usePlatform");
35
-
36
- var _excluded = ["defaultValue", "grow", "style", "onResize", "className", "getRootRef", "getRef", "sizeY", "rows"];
32
+ var _excluded = ["defaultValue", "grow", "style", "onResize", "className", "getRootRef", "getRef", "sizeY", "rows", "maxHeight"];
37
33
 
38
34
  /**
39
35
  * @see https://vkcom.github.io/VKUI/#/Textarea
40
36
  */
41
- var Textarea = /*#__PURE__*/React.memo(function (_ref) {
37
+ var TextareaComponent = function TextareaComponent(_ref) {
42
38
  var _ref$defaultValue = _ref.defaultValue,
43
39
  defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
44
40
  _ref$grow = _ref.grow,
@@ -51,6 +47,7 @@ var Textarea = /*#__PURE__*/React.memo(function (_ref) {
51
47
  sizeY = _ref.sizeY,
52
48
  _ref$rows = _ref.rows,
53
49
  rows = _ref$rows === void 0 ? 2 : _ref$rows,
50
+ maxHeight = _ref.maxHeight,
54
51
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
55
52
 
56
53
  var _useEnsuredControl = (0, _useEnsuredControl3.useEnsuredControl)(restProps, {
@@ -61,8 +58,7 @@ var Textarea = /*#__PURE__*/React.memo(function (_ref) {
61
58
  onChange = _useEnsuredControl2[1];
62
59
 
63
60
  var currentScrollHeight = React.useRef();
64
- var elementRef = (0, _useExternRef.useExternRef)(getRef);
65
- var platform = (0, _usePlatform.usePlatform)(); // autosize input
61
+ var elementRef = (0, _useExternRef.useExternRef)(getRef); // autosize input
66
62
 
67
63
  React.useEffect(function () {
68
64
  var el = elementRef.current;
@@ -78,23 +74,27 @@ var Textarea = /*#__PURE__*/React.memo(function (_ref) {
78
74
  }
79
75
  }, [grow, value, sizeY, elementRef, onResize]);
80
76
  return (0, _jsxRuntime.createScopedElement)(_FormField.FormField, {
81
- vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("Textarea", platform), "Textarea--sizeY-".concat(sizeY)),
77
+ vkuiClass: (0, _classNames.classNames)("Textarea", // TODO. v5.0.0 Новая адаптивность
78
+ "Textarea--sizeY-".concat(sizeY)),
82
79
  className: className,
83
80
  style: style,
84
81
  getRootRef: getRootRef,
85
82
  disabled: restProps.disabled
86
83
  }, (0, _jsxRuntime.createScopedElement)("textarea", (0, _extends2.default)({}, restProps, {
84
+ style: {
85
+ maxHeight: maxHeight
86
+ },
87
87
  rows: rows,
88
88
  vkuiClass: "Textarea__el",
89
89
  value: value,
90
90
  onChange: onChange,
91
91
  ref: elementRef
92
92
  })));
93
- }); // eslint-disable-next-line import/no-default-export
93
+ }; // eslint-disable-next-line import/no-default-export
94
94
 
95
- var _default = (0, _withAdaptivity.withAdaptivity)(Textarea, {
95
+
96
+ var Textarea = (0, _withAdaptivity.withAdaptivity)(TextareaComponent, {
96
97
  sizeY: true
97
98
  });
98
-
99
- exports.default = _default;
99
+ exports.Textarea = Textarea;
100
100
  //# sourceMappingURL=Textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":["Textarea","React","memo","defaultValue","grow","style","onResize","className","getRootRef","getRef","sizeY","rows","restProps","value","onChange","currentScrollHeight","useRef","elementRef","platform","useEffect","el","current","offsetParent","height","scrollHeight","disabled"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAaA;AACA;AACA;AACA,IAAMA,QAAiC,gBAAGC,KAAK,CAACC,IAAN,CACxC,gBAWqB;AAAA,+BAVnBC,YAUmB;AAAA,MAVnBA,YAUmB,kCAVJ,EAUI;AAAA,uBATnBC,IASmB;AAAA,MATnBA,IASmB,0BATZ,IASY;AAAA,MARnBC,KAQmB,QARnBA,KAQmB;AAAA,MAPnBC,QAOmB,QAPnBA,QAOmB;AAAA,MANnBC,SAMmB,QANnBA,SAMmB;AAAA,MALnBC,UAKmB,QALnBA,UAKmB;AAAA,MAJnBC,MAImB,QAJnBA,MAImB;AAAA,MAHnBC,KAGmB,QAHnBA,KAGmB;AAAA,uBAFnBC,IAEmB;AAAA,MAFnBA,IAEmB,0BAFZ,CAEY;AAAA,MADhBC,SACgB;;AACnB,2BAA0B,2CAAkBA,SAAlB,EAA6B;AAAET,IAAAA,YAAY,EAAZA;AAAF,GAA7B,CAA1B;AAAA;AAAA,MAAOU,KAAP;AAAA,MAAcC,QAAd;;AACA,MAAMC,mBAAmB,GAAGd,KAAK,CAACe,MAAN,EAA5B;AACA,MAAMC,UAAU,GAAG,gCAAaR,MAAb,CAAnB;AACA,MAAMS,QAAQ,GAAG,+BAAjB,CAJmB,CAMnB;;AACAjB,EAAAA,KAAK,CAACkB,SAAN,CAAgB,YAAM;AACpB,QAAMC,EAAE,GAAGH,UAAU,CAACI,OAAtB;;AAEA,QAAIjB,IAAI,IAAIgB,EAAJ,aAAIA,EAAJ,eAAIA,EAAE,CAAEE,YAAhB,EAA8B;AAC5BF,MAAAA,EAAE,CAACf,KAAH,CAASkB,MAAT,GAAkB,EAAlB;AACAH,MAAAA,EAAE,CAACf,KAAH,CAASkB,MAAT,aAAqBH,EAAE,CAACI,YAAxB;;AAEA,UAAIJ,EAAE,CAACI,YAAH,KAAoBT,mBAAmB,CAACM,OAAxC,IAAmDf,QAAvD,EAAiE;AAC/DA,QAAAA,QAAQ,CAACc,EAAD,CAAR;AACAL,QAAAA,mBAAmB,CAACM,OAApB,GAA8BD,EAAE,CAACI,YAAjC;AACD;AACF;AACF,GAZD,EAYG,CAACpB,IAAD,EAAOS,KAAP,EAAcH,KAAd,EAAqBO,UAArB,EAAiCX,QAAjC,CAZH;AAcA,SACE,qCAAC,oBAAD;AACE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBY,QAAzB,CADS,4BAEUR,KAFV,EADb;AAKE,IAAA,SAAS,EAAEH,SALb;AAME,IAAA,KAAK,EAAEF,KANT;AAOE,IAAA,UAAU,EAAEG,UAPd;AAQE,IAAA,QAAQ,EAAEI,SAAS,CAACa;AARtB,KAUE,4EACMb,SADN;AAEE,IAAA,IAAI,EAAED,IAFR;AAGE,IAAA,SAAS,EAAC,cAHZ;AAIE,IAAA,KAAK,EAAEE,KAJT;AAKE,IAAA,QAAQ,EAAEC,QALZ;AAME,IAAA,GAAG,EAAEG;AANP,KAVF,CADF;AAqBD,CAtDuC,CAA1C,C,CAyDA;;eACe,oCAAejB,QAAf,EAAyB;AAAEU,EAAAA,KAAK,EAAE;AAAT,CAAzB,C","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { useEnsuredControl } from \"../../hooks/useEnsuredControl\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./Textarea.css\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRef<HTMLTextAreaElement>,\n HasRootRef<HTMLElement>,\n AdaptivityProps {\n grow?: boolean;\n onResize?(el: HTMLTextAreaElement): void;\n defaultValue?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Textarea\n */\nconst Textarea: React.FC<TextareaProps> = React.memo(\n ({\n defaultValue = \"\",\n grow = true,\n style,\n onResize,\n className,\n getRootRef,\n getRef,\n sizeY,\n rows = 2,\n ...restProps\n }: TextareaProps) => {\n const [value, onChange] = useEnsuredControl(restProps, { defaultValue });\n const currentScrollHeight = React.useRef<number>();\n const elementRef = useExternRef(getRef);\n const platform = usePlatform();\n\n // autosize input\n React.useEffect(() => {\n const el = elementRef.current;\n\n if (grow && el?.offsetParent) {\n el.style.height = \"\";\n el.style.height = `${el.scrollHeight}px`;\n\n if (el.scrollHeight !== currentScrollHeight.current && onResize) {\n onResize(el);\n currentScrollHeight.current = el.scrollHeight;\n }\n }\n }, [grow, value, sizeY, elementRef, onResize]);\n\n return (\n <FormField\n vkuiClass={classNames(\n getClassName(\"Textarea\", platform),\n `Textarea--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n getRootRef={getRootRef}\n disabled={restProps.disabled}\n >\n <textarea\n {...restProps}\n rows={rows}\n vkuiClass=\"Textarea__el\"\n value={value}\n onChange={onChange}\n ref={elementRef}\n />\n </FormField>\n );\n }\n);\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Textarea, { sizeY: true });\n"],"file":"Textarea.js"}
1
+ {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":["TextareaComponent","defaultValue","grow","style","onResize","className","getRootRef","getRef","sizeY","rows","maxHeight","restProps","value","onChange","currentScrollHeight","React","useRef","elementRef","useEffect","el","current","offsetParent","height","scrollHeight","disabled","Textarea"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;AAcA;AACA;AACA;AACA,IAAMA,iBAA0C,GAAG,SAA7CA,iBAA6C,OAY9B;AAAA,+BAXnBC,YAWmB;AAAA,MAXnBA,YAWmB,kCAXJ,EAWI;AAAA,uBAVnBC,IAUmB;AAAA,MAVnBA,IAUmB,0BAVZ,IAUY;AAAA,MATnBC,KASmB,QATnBA,KASmB;AAAA,MARnBC,QAQmB,QARnBA,QAQmB;AAAA,MAPnBC,SAOmB,QAPnBA,SAOmB;AAAA,MANnBC,UAMmB,QANnBA,UAMmB;AAAA,MALnBC,MAKmB,QALnBA,MAKmB;AAAA,MAJnBC,KAImB,QAJnBA,KAImB;AAAA,uBAHnBC,IAGmB;AAAA,MAHnBA,IAGmB,0BAHZ,CAGY;AAAA,MAFnBC,SAEmB,QAFnBA,SAEmB;AAAA,MADhBC,SACgB;;AACnB,2BAA0B,2CAAkBA,SAAlB,EAA6B;AAAEV,IAAAA,YAAY,EAAZA;AAAF,GAA7B,CAA1B;AAAA;AAAA,MAAOW,KAAP;AAAA,MAAcC,QAAd;;AACA,MAAMC,mBAAmB,GAAGC,KAAK,CAACC,MAAN,EAA5B;AACA,MAAMC,UAAU,GAAG,gCAAaV,MAAb,CAAnB,CAHmB,CAKnB;;AACAQ,EAAAA,KAAK,CAACG,SAAN,CAAgB,YAAM;AACpB,QAAMC,EAAE,GAAGF,UAAU,CAACG,OAAtB;;AAEA,QAAIlB,IAAI,IAAIiB,EAAJ,aAAIA,EAAJ,eAAIA,EAAE,CAAEE,YAAhB,EAA8B;AAC5BF,MAAAA,EAAE,CAAChB,KAAH,CAASmB,MAAT,GAAkB,EAAlB;AACAH,MAAAA,EAAE,CAAChB,KAAH,CAASmB,MAAT,aAAqBH,EAAE,CAACI,YAAxB;;AAEA,UAAIJ,EAAE,CAACI,YAAH,KAAoBT,mBAAmB,CAACM,OAAxC,IAAmDhB,QAAvD,EAAiE;AAC/DA,QAAAA,QAAQ,CAACe,EAAD,CAAR;AACAL,QAAAA,mBAAmB,CAACM,OAApB,GAA8BD,EAAE,CAACI,YAAjC;AACD;AACF;AACF,GAZD,EAYG,CAACrB,IAAD,EAAOU,KAAP,EAAcJ,KAAd,EAAqBS,UAArB,EAAiCb,QAAjC,CAZH;AAcA,SACE,qCAAC,oBAAD;AACE,IAAA,SAAS,EAAE,4BACT,UADS,EAET;AAFS,8BAGUI,KAHV,EADb;AAME,IAAA,SAAS,EAAEH,SANb;AAOE,IAAA,KAAK,EAAEF,KAPT;AAQE,IAAA,UAAU,EAAEG,UARd;AASE,IAAA,QAAQ,EAAEK,SAAS,CAACa;AATtB,KAWE,4EACMb,SADN;AAEE,IAAA,KAAK,EAAE;AAAED,MAAAA,SAAS,EAATA;AAAF,KAFT;AAGE,IAAA,IAAI,EAAED,IAHR;AAIE,IAAA,SAAS,EAAC,cAJZ;AAKE,IAAA,KAAK,EAAEG,KALT;AAME,IAAA,QAAQ,EAAEC,QANZ;AAOE,IAAA,GAAG,EAAEI;AAPP,KAXF,CADF;AAuBD,CAvDD,C,CAyDA;;;AACO,IAAMQ,QAAQ,GAAG,oCAAezB,iBAAf,EAAkC;AAAEQ,EAAAA,KAAK,EAAE;AAAT,CAAlC,CAAjB","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { FormField } from \"../FormField/FormField\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport { useEnsuredControl } from \"../../hooks/useEnsuredControl\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport \"./Textarea.css\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRef<HTMLTextAreaElement>,\n HasRootRef<HTMLElement>,\n AdaptivityProps,\n Pick<React.CSSProperties, \"maxHeight\"> {\n grow?: boolean;\n onResize?(el: HTMLTextAreaElement): void;\n defaultValue?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Textarea\n */\nconst TextareaComponent: React.FC<TextareaProps> = ({\n defaultValue = \"\",\n grow = true,\n style,\n onResize,\n className,\n getRootRef,\n getRef,\n sizeY,\n rows = 2,\n maxHeight,\n ...restProps\n}: TextareaProps) => {\n const [value, onChange] = useEnsuredControl(restProps, { defaultValue });\n const currentScrollHeight = React.useRef<number>();\n const elementRef = useExternRef(getRef);\n\n // autosize input\n React.useEffect(() => {\n const el = elementRef.current;\n\n if (grow && el?.offsetParent) {\n el.style.height = \"\";\n el.style.height = `${el.scrollHeight}px`;\n\n if (el.scrollHeight !== currentScrollHeight.current && onResize) {\n onResize(el);\n currentScrollHeight.current = el.scrollHeight;\n }\n }\n }, [grow, value, sizeY, elementRef, onResize]);\n\n return (\n <FormField\n vkuiClass={classNames(\n \"Textarea\",\n // TODO. v5.0.0 Новая адаптивность\n `Textarea--sizeY-${sizeY}`\n )}\n className={className}\n style={style}\n getRootRef={getRootRef}\n disabled={restProps.disabled}\n >\n <textarea\n {...restProps}\n style={{ maxHeight }}\n rows={rows}\n vkuiClass=\"Textarea__el\"\n value={value}\n onChange={onChange}\n ref={elementRef}\n />\n </FormField>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport const Textarea = withAdaptivity(TextareaComponent, { sizeY: true });\n"],"file":"Textarea.js"}
@@ -54,5 +54,4 @@ export interface TooltipProps {
54
54
  /**
55
55
  * @see https://vkcom.github.io/VKUI/#/Tooltip
56
56
  */
57
- declare const Tooltip: React.FC<TooltipProps>;
58
- export default Tooltip;
57
+ export declare const Tooltip: React.FC<TooltipProps>;
@@ -7,7 +7,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = void 0;
10
+ exports.Tooltip = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
@@ -47,7 +47,7 @@ var _utils = require("../../lib/utils");
47
47
 
48
48
  var _useGlobalEventListener = require("../../hooks/useGlobalEventListener");
49
49
 
50
- var _excluded = ["children", "isShown", "offsetX", "offsetY", "alignX", "alignY", "onClose", "cornerOffset", "cornerAbsoluteOffset"];
50
+ var _excluded = ["children", "isShown", "offsetX", "offsetY", "alignX", "alignY", "onClose", "cornerOffset", "cornerAbsoluteOffset", "mode"];
51
51
 
52
52
  var isDOMTypeElement = function isDOMTypeElement(element) {
53
53
  return /*#__PURE__*/React.isValidElement(element) && typeof element.type === "string";
@@ -117,7 +117,8 @@ var Tooltip = function Tooltip(_ref2) {
117
117
  var _attributes$arrow, _attributes$popper;
118
118
 
119
119
  var children = _ref2.children,
120
- _isShown = _ref2.isShown,
120
+ _ref2$isShown = _ref2.isShown,
121
+ _isShown = _ref2$isShown === void 0 ? true : _ref2$isShown,
121
122
  _ref2$offsetX = _ref2.offsetX,
122
123
  offsetX = _ref2$offsetX === void 0 ? 0 : _ref2$offsetX,
123
124
  _ref2$offsetY = _ref2.offsetY,
@@ -128,6 +129,8 @@ var Tooltip = function Tooltip(_ref2) {
128
129
  _ref2$cornerOffset = _ref2.cornerOffset,
129
130
  cornerOffset = _ref2$cornerOffset === void 0 ? 0 : _ref2$cornerOffset,
130
131
  cornerAbsoluteOffset = _ref2.cornerAbsoluteOffset,
132
+ _ref2$mode = _ref2.mode,
133
+ mode = _ref2$mode === void 0 ? "accent" : _ref2$mode,
131
134
  restProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
132
135
 
133
136
  var _useNavTransition = (0, _NavTransitionContext.useNavTransition)(),
@@ -247,6 +250,7 @@ var Tooltip = function Tooltip(_ref2) {
247
250
  var patchedRef = (0, _useExternRef.useExternRef)(setTarget, childRef);
248
251
  var child = /*#__PURE__*/React.isValidElement(children) ? /*#__PURE__*/React.cloneElement(children, (0, _defineProperty2.default)({}, isDOMTypeElement(children) ? "ref" : "getRootRef", patchedRef)) : children;
249
252
  return (0, _jsxRuntime.createScopedElement)(React.Fragment, null, child, isShown && target != null && /*#__PURE__*/_reactDom.default.createPortal((0, _jsxRuntime.createScopedElement)(SimpleTooltip, (0, _extends2.default)({}, restProps, {
253
+ mode: mode,
250
254
  ref: function ref(el) {
251
255
  return setTooltipRef(el);
252
256
  },
@@ -264,14 +268,5 @@ var Tooltip = function Tooltip(_ref2) {
264
268
  })), tooltipContainer));
265
269
  };
266
270
 
267
- Tooltip.defaultProps = {
268
- offsetX: 0,
269
- offsetY: 15,
270
- cornerOffset: 0,
271
- isShown: true,
272
- mode: "accent"
273
- }; // eslint-disable-next-line import/no-default-export
274
-
275
- var _default = Tooltip;
276
- exports.default = _default;
271
+ exports.Tooltip = Tooltip;
277
272
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"names":["isDOMTypeElement","element","React","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","tooltipContainerAttr","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","ReactDOM","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":["isDOMTypeElement","element","React","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","tooltipContainerAttr","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","ReactDOM","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":["warn","Title","children","weight","level","Component","restProps","process","env","NODE_ENV","includes"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;;AAuBA,IAAMA,IAAI,GAAG,wBAAS,OAAT,CAAb;AAEA;AACA;AACA;;AACO,IAAMC,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,qCAAC,SAAD,6BACMG,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,OADS,qBAEGF,KAFH,GAGTD,MAAM,uBAAgBA,MAAhB,CAHG;AAFb,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":["warn","Title","children","weight","level","Component","restProps","process","env","NODE_ENV","includes"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;;AAuBA,IAAMA,IAAI,GAAG,wBAAS,OAAT,CAAb;AAEA;AACA;AACA;;AACO,IAAMC,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,qCAAC,SAAD,6BACMG,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,OADS,qBAEGF,KAFH,GAGTD,MAAM,uBAAgBA,MAAhB,CAHG;AAFb,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;