@vkontakte/vkui 4.32.0 → 4.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (890) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +358 -277
  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/UsersStack/UsersStack.d.ts +4 -2
  55. package/.cache/ts/src/components/View/View.d.ts +6 -3
  56. package/.cache/ts/src/index.d.ts +44 -44
  57. package/.cache/ts/src/lib/animate.d.ts +1 -1
  58. package/.cache/ts/src/tokenized/index.d.ts +44 -0
  59. package/README.md +1 -1
  60. package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -1
  61. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +2 -2
  62. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  63. package/dist/cjs/components/Alert/Alert.js +8 -6
  64. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  65. package/dist/cjs/components/Avatar/Avatar.d.ts +1 -2
  66. package/dist/cjs/components/Avatar/Avatar.js +6 -13
  67. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  68. package/dist/cjs/components/Banner/Banner.d.ts +1 -2
  69. package/dist/cjs/components/Banner/Banner.js +27 -36
  70. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  71. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +4 -0
  72. package/dist/cjs/components/BaseGallery/BaseGallery.js +399 -0
  73. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -0
  74. package/dist/cjs/components/BaseGallery/helpers.d.ts +12 -0
  75. package/dist/cjs/components/BaseGallery/helpers.js +62 -0
  76. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -0
  77. package/dist/cjs/components/BaseGallery/types.d.ts +43 -0
  78. package/dist/cjs/components/BaseGallery/types.js +6 -0
  79. package/dist/cjs/components/BaseGallery/types.js.map +1 -0
  80. package/dist/cjs/components/Button/Button.js +3 -3
  81. package/dist/cjs/components/Button/Button.js.map +1 -1
  82. package/dist/cjs/components/CalendarDay/CalendarDay.js +2 -4
  83. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  84. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +3 -5
  85. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  86. package/dist/cjs/components/Cell/Cell.js +2 -2
  87. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  88. package/dist/cjs/components/CellButton/CellButton.d.ts +1 -2
  89. package/dist/cjs/components/CellButton/CellButton.js +4 -12
  90. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  91. package/dist/cjs/components/Checkbox/Checkbox.d.ts +3 -1
  92. package/dist/cjs/components/Checkbox/Checkbox.js +69 -15
  93. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  94. package/dist/cjs/components/Chip/Chip.js +2 -2
  95. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  96. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  97. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +3 -5
  98. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  99. package/dist/cjs/components/ContentCard/ContentCard.d.ts +1 -2
  100. package/dist/cjs/components/ContentCard/ContentCard.js +38 -50
  101. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  102. package/dist/cjs/components/DateInput/DateInput.js +3 -3
  103. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  104. package/dist/cjs/components/DatePicker/DatePicker.d.ts +1 -2
  105. package/dist/cjs/components/DatePicker/DatePicker.js +6 -7
  106. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  107. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +3 -3
  108. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  109. package/dist/cjs/components/Epic/Epic.d.ts +1 -3
  110. package/dist/cjs/components/Epic/Epic.js +9 -11
  111. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  112. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +1 -2
  113. package/dist/cjs/components/FixedLayout/FixedLayout.js +6 -11
  114. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  115. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +3 -4
  116. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  117. package/dist/cjs/components/FormItem/FormItem.js +3 -6
  118. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  119. package/dist/cjs/components/FormLayout/FormLayout.d.ts +1 -2
  120. package/dist/cjs/components/FormLayout/FormLayout.js +3 -5
  121. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  122. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  123. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +6 -10
  124. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  125. package/dist/cjs/components/Gallery/Gallery.d.ts +6 -43
  126. package/dist/cjs/components/Gallery/Gallery.js +23 -565
  127. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  128. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +4 -1
  129. package/dist/cjs/components/GridAvatar/GridAvatar.js +9 -11
  130. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  131. package/dist/cjs/components/Group/Group.d.ts +4 -2
  132. package/dist/cjs/components/Group/Group.js +12 -14
  133. package/dist/cjs/components/Group/Group.js.map +1 -1
  134. package/dist/cjs/components/Header/Header.d.ts +1 -2
  135. package/dist/cjs/components/Header/Header.js +4 -8
  136. package/dist/cjs/components/Header/Header.js.map +1 -1
  137. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -4
  138. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  139. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -1
  140. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  141. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +2 -4
  142. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  143. package/dist/cjs/components/IconButton/IconButton.d.ts +5 -2
  144. package/dist/cjs/components/IconButton/IconButton.js +14 -18
  145. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  146. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  147. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js +2 -4
  148. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  149. package/dist/cjs/components/Link/Link.d.ts +1 -2
  150. package/dist/cjs/components/Link/Link.js +5 -7
  151. package/dist/cjs/components/Link/Link.js.map +1 -1
  152. package/dist/cjs/components/List/List.d.ts +1 -2
  153. package/dist/cjs/components/List/List.js +3 -5
  154. package/dist/cjs/components/List/List.js.map +1 -1
  155. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  156. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  157. package/dist/cjs/components/ModalCard/ModalCard.d.ts +4 -2
  158. package/dist/cjs/components/ModalCard/ModalCard.js +32 -29
  159. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  160. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +2 -2
  161. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  162. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  163. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +15 -12
  164. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  165. package/dist/cjs/components/ModalPage/ModalPage.d.ts +4 -2
  166. package/dist/cjs/components/ModalPage/ModalPage.js +34 -31
  167. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  168. package/dist/cjs/components/ModalRoot/ModalRoot.js +2 -2
  169. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  170. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +1 -1
  171. package/dist/cjs/components/ModalRoot/ModalRootContext.js +2 -6
  172. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  173. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -2
  174. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  175. package/dist/cjs/components/ModalRoot/withModalRootContext.js +2 -2
  176. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  177. package/dist/cjs/components/Pagination/Pagination.js +2 -2
  178. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  179. package/dist/cjs/components/PanelHeader/PanelHeader.js +5 -5
  180. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  181. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  182. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +11 -11
  183. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  184. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
  185. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  186. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  187. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +4 -8
  188. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  189. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  190. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +5 -7
  191. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  192. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +2 -2
  193. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  194. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  195. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +8 -12
  196. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  197. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  198. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +4 -8
  199. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  200. package/dist/cjs/components/Placeholder/Placeholder.d.ts +1 -2
  201. package/dist/cjs/components/Placeholder/Placeholder.js +3 -5
  202. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  203. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -10
  204. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  205. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +2 -2
  206. package/dist/cjs/components/PromoBanner/PromoBanner.js +7 -9
  207. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  208. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -2
  209. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  210. package/dist/cjs/components/Radio/Radio.js +2 -4
  211. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  212. package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +1 -2
  213. package/dist/cjs/components/RangeSlider/RangeSlider.js +3 -5
  214. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  215. package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -6
  216. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  217. package/dist/cjs/components/Removable/Removable.js +10 -7
  218. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  219. package/dist/cjs/components/RichCell/RichCell.d.ts +4 -2
  220. package/dist/cjs/components/RichCell/RichCell.js +11 -11
  221. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  222. package/dist/cjs/components/Root/Root.d.ts +1 -2
  223. package/dist/cjs/components/Root/Root.js +6 -20
  224. package/dist/cjs/components/Root/Root.js.map +1 -1
  225. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  226. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +14 -14
  227. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  228. package/dist/cjs/components/Search/Search.d.ts +1 -2
  229. package/dist/cjs/components/Search/Search.js +19 -18
  230. package/dist/cjs/components/Search/Search.js.map +1 -1
  231. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +4 -2
  232. package/dist/cjs/components/SimpleCell/SimpleCell.js +10 -12
  233. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  234. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  235. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +3 -2
  236. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  237. package/dist/cjs/components/Slider/Slider.d.ts +1 -2
  238. package/dist/cjs/components/Slider/Slider.js +3 -5
  239. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  240. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +2 -2
  241. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  242. package/dist/cjs/components/Spacing/Spacing.d.ts +2 -1
  243. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  244. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +2 -2
  245. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  246. package/dist/cjs/components/Tabbar/Tabbar.d.ts +1 -2
  247. package/dist/cjs/components/Tabbar/Tabbar.js +8 -12
  248. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  249. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -2
  250. package/dist/cjs/components/TabbarItem/TabbarItem.js +5 -7
  251. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  252. package/dist/cjs/components/Tabs/Tabs.d.ts +4 -2
  253. package/dist/cjs/components/Tabs/Tabs.js +10 -13
  254. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  255. package/dist/cjs/components/TabsItem/TabsItem.d.ts +1 -2
  256. package/dist/cjs/components/TabsItem/TabsItem.js +6 -10
  257. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  258. package/dist/cjs/components/Tappable/Tappable.d.ts +7 -4
  259. package/dist/cjs/components/Tappable/Tappable.js +10 -9
  260. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  261. package/dist/cjs/components/Textarea/Textarea.d.ts +2 -3
  262. package/dist/cjs/components/Textarea/Textarea.js +14 -14
  263. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  264. package/dist/cjs/components/Tooltip/Tooltip.d.ts +1 -2
  265. package/dist/cjs/components/Tooltip/Tooltip.js +8 -13
  266. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  267. package/dist/cjs/components/UsersStack/UsersStack.d.ts +4 -2
  268. package/dist/cjs/components/UsersStack/UsersStack.js +51 -46
  269. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  270. package/dist/cjs/components/UsersStack/masks.js +1 -1
  271. package/dist/cjs/components/UsersStack/masks.js.map +1 -1
  272. package/dist/cjs/components/View/View.d.ts +6 -3
  273. package/dist/cjs/components/View/View.js +26 -43
  274. package/dist/cjs/components/View/View.js.map +1 -1
  275. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
  276. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  277. package/dist/cjs/index.d.ts +44 -44
  278. package/dist/cjs/index.js +88 -88
  279. package/dist/cjs/index.js.map +1 -1
  280. package/dist/cjs/lib/animate.d.ts +1 -1
  281. package/dist/cjs/lib/animate.js +1 -2
  282. package/dist/cjs/lib/animate.js.map +1 -1
  283. package/dist/cjs/tokenized/index.d.ts +44 -0
  284. package/dist/cjs/tokenized/index.js +176 -0
  285. package/dist/cjs/tokenized/index.js.map +1 -1
  286. package/dist/components/ActionSheetItem/ActionSheetItem.js +1 -1
  287. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  288. package/dist/components/Alert/Alert.js +6 -4
  289. package/dist/components/Alert/Alert.js.map +1 -1
  290. package/dist/components/Avatar/Avatar.d.ts +1 -2
  291. package/dist/components/Avatar/Avatar.js +4 -11
  292. package/dist/components/Avatar/Avatar.js.map +1 -1
  293. package/dist/components/Banner/Banner.d.ts +1 -2
  294. package/dist/components/Banner/Banner.js +25 -35
  295. package/dist/components/Banner/Banner.js.map +1 -1
  296. package/dist/components/BaseGallery/BaseGallery.d.ts +4 -0
  297. package/dist/components/BaseGallery/BaseGallery.js +371 -0
  298. package/dist/components/BaseGallery/BaseGallery.js.map +1 -0
  299. package/dist/components/BaseGallery/helpers.d.ts +12 -0
  300. package/dist/components/BaseGallery/helpers.js +50 -0
  301. package/dist/components/BaseGallery/helpers.js.map +1 -0
  302. package/dist/components/BaseGallery/types.d.ts +43 -0
  303. package/dist/components/BaseGallery/types.js +2 -0
  304. package/dist/components/BaseGallery/types.js.map +1 -0
  305. package/dist/components/Button/Button.js +2 -2
  306. package/dist/components/Button/Button.js.map +1 -1
  307. package/dist/components/CalendarDay/CalendarDay.js +1 -1
  308. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  309. package/dist/components/CalendarHeader/CalendarHeader.js +1 -1
  310. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  311. package/dist/components/Cell/Cell.js +1 -1
  312. package/dist/components/Cell/Cell.js.map +1 -1
  313. package/dist/components/CellButton/CellButton.d.ts +1 -2
  314. package/dist/components/CellButton/CellButton.js +3 -10
  315. package/dist/components/CellButton/CellButton.js.map +1 -1
  316. package/dist/components/Checkbox/Checkbox.d.ts +3 -1
  317. package/dist/components/Checkbox/Checkbox.js +67 -15
  318. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  319. package/dist/components/Chip/Chip.js +1 -1
  320. package/dist/components/Chip/Chip.js.map +1 -1
  321. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  322. package/dist/components/ConfigProvider/ConfigProvider.js +2 -5
  323. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  324. package/dist/components/ContentCard/ContentCard.d.ts +1 -2
  325. package/dist/components/ContentCard/ContentCard.js +35 -46
  326. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  327. package/dist/components/DateInput/DateInput.js +1 -1
  328. package/dist/components/DateInput/DateInput.js.map +1 -1
  329. package/dist/components/DatePicker/DatePicker.d.ts +1 -2
  330. package/dist/components/DatePicker/DatePicker.js +4 -4
  331. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  332. package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
  333. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  334. package/dist/components/Epic/Epic.d.ts +1 -3
  335. package/dist/components/Epic/Epic.js +8 -6
  336. package/dist/components/Epic/Epic.js.map +1 -1
  337. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -2
  338. package/dist/components/FixedLayout/FixedLayout.js +5 -11
  339. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  340. package/dist/components/FocusVisible/FocusVisible.d.ts +3 -4
  341. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  342. package/dist/components/FormItem/FormItem.js +3 -6
  343. package/dist/components/FormItem/FormItem.js.map +1 -1
  344. package/dist/components/FormLayout/FormLayout.d.ts +1 -2
  345. package/dist/components/FormLayout/FormLayout.js +2 -5
  346. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  347. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  348. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
  349. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  350. package/dist/components/Gallery/Gallery.d.ts +6 -43
  351. package/dist/components/Gallery/Gallery.js +20 -567
  352. package/dist/components/Gallery/Gallery.js.map +1 -1
  353. package/dist/components/GridAvatar/GridAvatar.d.ts +4 -1
  354. package/dist/components/GridAvatar/GridAvatar.js +8 -9
  355. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  356. package/dist/components/Group/Group.d.ts +4 -2
  357. package/dist/components/Group/Group.js +9 -10
  358. package/dist/components/Group/Group.js.map +1 -1
  359. package/dist/components/Header/Header.d.ts +1 -2
  360. package/dist/components/Header/Header.js +3 -8
  361. package/dist/components/Header/Header.js.map +1 -1
  362. package/dist/components/HorizontalCell/HorizontalCell.js +2 -2
  363. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  364. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -1
  365. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  366. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  367. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  368. package/dist/components/IconButton/IconButton.d.ts +5 -2
  369. package/dist/components/IconButton/IconButton.js +11 -13
  370. package/dist/components/IconButton/IconButton.js.map +1 -1
  371. package/dist/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  372. package/dist/components/InitialsAvatar/InitialsAvatar.js +1 -1
  373. package/dist/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  374. package/dist/components/Link/Link.d.ts +1 -2
  375. package/dist/components/Link/Link.js +3 -6
  376. package/dist/components/Link/Link.js.map +1 -1
  377. package/dist/components/List/List.d.ts +1 -2
  378. package/dist/components/List/List.js +2 -5
  379. package/dist/components/List/List.js.map +1 -1
  380. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
  381. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  382. package/dist/components/ModalCard/ModalCard.d.ts +4 -2
  383. package/dist/components/ModalCard/ModalCard.js +29 -25
  384. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  385. package/dist/components/ModalCardBase/ModalCardBase.js +1 -1
  386. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  387. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  388. package/dist/components/ModalDismissButton/ModalDismissButton.js +10 -9
  389. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  390. package/dist/components/ModalPage/ModalPage.d.ts +4 -2
  391. package/dist/components/ModalPage/ModalPage.js +31 -28
  392. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  393. package/dist/components/ModalRoot/ModalRoot.js +1 -1
  394. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  395. package/dist/components/ModalRoot/ModalRootContext.d.ts +1 -1
  396. package/dist/components/ModalRoot/ModalRootContext.js +1 -3
  397. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  398. package/dist/components/ModalRoot/ModalRootDesktop.js +1 -1
  399. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  400. package/dist/components/ModalRoot/withModalRootContext.js +1 -1
  401. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  402. package/dist/components/Pagination/Pagination.js +1 -1
  403. package/dist/components/Pagination/Pagination.js.map +1 -1
  404. package/dist/components/PanelHeader/PanelHeader.js +2 -2
  405. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  406. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  407. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
  408. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  409. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  410. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  411. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  412. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
  413. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  414. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  415. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
  416. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  417. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  418. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  419. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  420. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
  421. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  422. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  423. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
  424. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  425. package/dist/components/Placeholder/Placeholder.d.ts +1 -2
  426. package/dist/components/Placeholder/Placeholder.js +2 -5
  427. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  428. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -9
  429. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  430. package/dist/components/PromoBanner/PromoBanner.d.ts +2 -2
  431. package/dist/components/PromoBanner/PromoBanner.js +4 -7
  432. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  433. package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
  434. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  435. package/dist/components/Radio/Radio.js +1 -1
  436. package/dist/components/Radio/Radio.js.map +1 -1
  437. package/dist/components/RangeSlider/RangeSlider.d.ts +1 -2
  438. package/dist/components/RangeSlider/RangeSlider.js +2 -5
  439. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  440. package/dist/components/RangeSlider/UniversalSlider.js +1 -5
  441. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  442. package/dist/components/Removable/Removable.js +7 -4
  443. package/dist/components/Removable/Removable.js.map +1 -1
  444. package/dist/components/RichCell/RichCell.d.ts +4 -2
  445. package/dist/components/RichCell/RichCell.js +8 -7
  446. package/dist/components/RichCell/RichCell.js.map +1 -1
  447. package/dist/components/Root/Root.d.ts +1 -2
  448. package/dist/components/Root/Root.js +5 -19
  449. package/dist/components/Root/Root.js.map +1 -1
  450. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  451. package/dist/components/ScreenSpinner/ScreenSpinner.js +12 -13
  452. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  453. package/dist/components/Search/Search.d.ts +1 -2
  454. package/dist/components/Search/Search.js +17 -15
  455. package/dist/components/Search/Search.js.map +1 -1
  456. package/dist/components/SimpleCell/SimpleCell.d.ts +4 -2
  457. package/dist/components/SimpleCell/SimpleCell.js +7 -8
  458. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  459. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  460. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
  461. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  462. package/dist/components/Slider/Slider.d.ts +1 -2
  463. package/dist/components/Slider/Slider.js +2 -5
  464. package/dist/components/Slider/Slider.js.map +1 -1
  465. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -1
  466. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  467. package/dist/components/Spacing/Spacing.d.ts +2 -1
  468. package/dist/components/Spacing/Spacing.js.map +1 -1
  469. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
  470. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  471. package/dist/components/Tabbar/Tabbar.d.ts +1 -2
  472. package/dist/components/Tabbar/Tabbar.js +6 -11
  473. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  474. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -2
  475. package/dist/components/TabbarItem/TabbarItem.js +3 -6
  476. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  477. package/dist/components/Tabs/Tabs.d.ts +4 -2
  478. package/dist/components/Tabs/Tabs.js +8 -9
  479. package/dist/components/Tabs/Tabs.js.map +1 -1
  480. package/dist/components/TabsItem/TabsItem.d.ts +1 -2
  481. package/dist/components/TabsItem/TabsItem.js +4 -9
  482. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  483. package/dist/components/Tappable/Tappable.d.ts +7 -4
  484. package/dist/components/Tappable/Tappable.js +9 -6
  485. package/dist/components/Tappable/Tappable.js.map +1 -1
  486. package/dist/components/Textarea/Textarea.d.ts +2 -3
  487. package/dist/components/Textarea/Textarea.js +12 -9
  488. package/dist/components/Textarea/Textarea.js.map +1 -1
  489. package/dist/components/Tooltip/Tooltip.d.ts +1 -2
  490. package/dist/components/Tooltip/Tooltip.js +7 -13
  491. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  492. package/dist/components/UsersStack/UsersStack.d.ts +4 -2
  493. package/dist/components/UsersStack/UsersStack.js +48 -39
  494. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  495. package/dist/components/UsersStack/masks.js +1 -1
  496. package/dist/components/UsersStack/masks.js.map +1 -1
  497. package/dist/components/View/View.d.ts +6 -3
  498. package/dist/components/View/View.js +25 -39
  499. package/dist/components/View/View.js.map +1 -1
  500. package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
  501. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  502. package/dist/components.css +26 -8
  503. package/dist/components.css.map +1 -1
  504. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +1 -1
  505. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  506. package/dist/cssm/components/Alert/Alert.js +6 -4
  507. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  508. package/dist/cssm/components/Avatar/Avatar.css +5 -1
  509. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -2
  510. package/dist/cssm/components/Avatar/Avatar.js +4 -11
  511. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  512. package/dist/cssm/components/Banner/Banner.css +5 -1
  513. package/dist/cssm/components/Banner/Banner.d.ts +1 -2
  514. package/dist/cssm/components/Banner/Banner.js +25 -35
  515. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  516. package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -0
  517. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +4 -0
  518. package/dist/cssm/components/BaseGallery/BaseGallery.js +372 -0
  519. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -0
  520. package/dist/cssm/components/BaseGallery/helpers.d.ts +12 -0
  521. package/dist/cssm/components/BaseGallery/helpers.js +50 -0
  522. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -0
  523. package/dist/cssm/components/BaseGallery/types.d.ts +43 -0
  524. package/dist/cssm/components/BaseGallery/types.js +2 -0
  525. package/dist/cssm/components/BaseGallery/types.js.map +1 -0
  526. package/dist/cssm/components/Button/Button.css +1 -1
  527. package/dist/cssm/components/Button/Button.js +2 -2
  528. package/dist/cssm/components/Button/Button.js.map +1 -1
  529. package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -1
  530. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  531. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +1 -1
  532. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  533. package/dist/cssm/components/Cell/Cell.js +1 -1
  534. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  535. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  536. package/dist/cssm/components/CellButton/CellButton.d.ts +1 -2
  537. package/dist/cssm/components/CellButton/CellButton.js +3 -10
  538. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  539. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  540. package/dist/cssm/components/Checkbox/Checkbox.d.ts +3 -1
  541. package/dist/cssm/components/Checkbox/Checkbox.js +67 -15
  542. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  543. package/dist/cssm/components/Chip/Chip.js +1 -1
  544. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  545. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +1 -2
  546. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -5
  547. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  548. package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
  549. package/dist/cssm/components/ContentCard/ContentCard.d.ts +1 -2
  550. package/dist/cssm/components/ContentCard/ContentCard.js +35 -46
  551. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  552. package/dist/cssm/components/DateInput/DateInput.js +1 -1
  553. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  554. package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -2
  555. package/dist/cssm/components/DatePicker/DatePicker.js +4 -4
  556. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  557. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
  558. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  559. package/dist/cssm/components/Epic/Epic.d.ts +1 -3
  560. package/dist/cssm/components/Epic/Epic.js +8 -6
  561. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  562. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  563. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -2
  564. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -11
  565. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  566. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  567. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +3 -4
  568. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  569. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  570. package/dist/cssm/components/FormItem/FormItem.js +3 -6
  571. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  572. package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -2
  573. package/dist/cssm/components/FormLayout/FormLayout.js +2 -5
  574. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  575. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  576. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -2
  577. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -10
  578. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  579. package/dist/cssm/components/Gallery/Gallery.d.ts +6 -43
  580. package/dist/cssm/components/Gallery/Gallery.js +20 -568
  581. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  582. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +4 -1
  583. package/dist/cssm/components/GridAvatar/GridAvatar.js +8 -9
  584. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  585. package/dist/cssm/components/Group/Group.d.ts +4 -2
  586. package/dist/cssm/components/Group/Group.js +9 -10
  587. package/dist/cssm/components/Group/Group.js.map +1 -1
  588. package/dist/cssm/components/Header/Header.d.ts +1 -2
  589. package/dist/cssm/components/Header/Header.js +3 -8
  590. package/dist/cssm/components/Header/Header.js.map +1 -1
  591. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +2 -2
  592. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  593. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -1
  594. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  595. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  596. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  597. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  598. package/dist/cssm/components/IconButton/IconButton.d.ts +5 -2
  599. package/dist/cssm/components/IconButton/IconButton.js +11 -13
  600. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  601. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
  602. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.d.ts +1 -1
  603. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js +1 -1
  604. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.js.map +1 -1
  605. package/dist/cssm/components/Link/Link.d.ts +1 -2
  606. package/dist/cssm/components/Link/Link.js +3 -6
  607. package/dist/cssm/components/Link/Link.js.map +1 -1
  608. package/dist/cssm/components/List/List.d.ts +1 -2
  609. package/dist/cssm/components/List/List.js +2 -5
  610. package/dist/cssm/components/List/List.js.map +1 -1
  611. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  612. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  613. package/dist/cssm/components/ModalCard/ModalCard.d.ts +4 -2
  614. package/dist/cssm/components/ModalCard/ModalCard.js +29 -25
  615. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  616. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -1
  617. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  618. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -2
  619. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +10 -9
  620. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  621. package/dist/cssm/components/ModalPage/ModalPage.d.ts +4 -2
  622. package/dist/cssm/components/ModalPage/ModalPage.js +31 -28
  623. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  624. package/dist/cssm/components/ModalRoot/ModalRoot.js +1 -1
  625. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  626. package/dist/cssm/components/ModalRoot/ModalRootContext.d.ts +1 -1
  627. package/dist/cssm/components/ModalRoot/ModalRootContext.js +1 -3
  628. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  629. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +1 -1
  630. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  631. package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
  632. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  633. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  634. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  635. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  636. package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -2
  637. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  638. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -2
  639. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +8 -9
  640. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  641. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  642. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  643. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -2
  644. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +3 -8
  645. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  646. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -2
  647. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +3 -6
  648. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  649. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  650. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  651. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -2
  652. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -12
  653. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  654. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -2
  655. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +3 -8
  656. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  657. package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -2
  658. package/dist/cssm/components/Placeholder/Placeholder.js +2 -5
  659. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  660. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
  661. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -9
  662. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  663. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +2 -2
  664. package/dist/cssm/components/PromoBanner/PromoBanner.js +4 -7
  665. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  666. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
  667. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  668. package/dist/cssm/components/Radio/Radio.js +1 -1
  669. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  670. package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +1 -2
  671. package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -5
  672. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  673. package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -5
  674. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  675. package/dist/cssm/components/Removable/Removable.css +1 -1
  676. package/dist/cssm/components/Removable/Removable.js +7 -4
  677. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  678. package/dist/cssm/components/RichCell/RichCell.d.ts +4 -2
  679. package/dist/cssm/components/RichCell/RichCell.js +8 -7
  680. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  681. package/dist/cssm/components/Root/Root.css +1 -1
  682. package/dist/cssm/components/Root/Root.d.ts +1 -2
  683. package/dist/cssm/components/Root/Root.js +5 -19
  684. package/dist/cssm/components/Root/Root.js.map +1 -1
  685. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +1 -2
  686. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +12 -13
  687. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  688. package/dist/cssm/components/Search/Search.d.ts +1 -2
  689. package/dist/cssm/components/Search/Search.js +17 -15
  690. package/dist/cssm/components/Search/Search.js.map +1 -1
  691. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  692. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +4 -2
  693. package/dist/cssm/components/SimpleCell/SimpleCell.js +7 -8
  694. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  695. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  696. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +2 -1
  697. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  698. package/dist/cssm/components/Slider/Slider.css +3 -1
  699. package/dist/cssm/components/Slider/Slider.d.ts +1 -2
  700. package/dist/cssm/components/Slider/Slider.js +2 -5
  701. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  702. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -1
  703. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  704. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  705. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  706. package/dist/cssm/components/Spacing/Spacing.d.ts +2 -1
  707. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  708. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  709. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  710. package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -2
  711. package/dist/cssm/components/Tabbar/Tabbar.js +6 -11
  712. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  713. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -2
  714. package/dist/cssm/components/TabbarItem/TabbarItem.js +3 -6
  715. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  716. package/dist/cssm/components/Tabs/Tabs.d.ts +4 -2
  717. package/dist/cssm/components/Tabs/Tabs.js +8 -9
  718. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  719. package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -2
  720. package/dist/cssm/components/TabsItem/TabsItem.js +4 -9
  721. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  722. package/dist/cssm/components/Tappable/Tappable.css +5 -1
  723. package/dist/cssm/components/Tappable/Tappable.d.ts +7 -4
  724. package/dist/cssm/components/Tappable/Tappable.js +9 -6
  725. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  726. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  727. package/dist/cssm/components/Textarea/Textarea.d.ts +2 -3
  728. package/dist/cssm/components/Textarea/Textarea.js +12 -9
  729. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  730. package/dist/cssm/components/Tooltip/Tooltip.d.ts +1 -2
  731. package/dist/cssm/components/Tooltip/Tooltip.js +7 -13
  732. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  733. package/dist/cssm/components/UsersStack/UsersStack.css +5 -1
  734. package/dist/cssm/components/UsersStack/UsersStack.d.ts +4 -2
  735. package/dist/cssm/components/UsersStack/UsersStack.js +48 -39
  736. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  737. package/dist/cssm/components/UsersStack/masks.js +1 -1
  738. package/dist/cssm/components/UsersStack/masks.js.map +1 -1
  739. package/dist/cssm/components/View/View.css +1 -1
  740. package/dist/cssm/components/View/View.d.ts +6 -3
  741. package/dist/cssm/components/View/View.js +25 -39
  742. package/dist/cssm/components/View/View.js.map +1 -1
  743. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  744. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  745. package/dist/cssm/index.d.ts +44 -44
  746. package/dist/cssm/index.js +44 -44
  747. package/dist/cssm/index.js.map +1 -1
  748. package/dist/cssm/lib/animate.d.ts +1 -1
  749. package/dist/cssm/lib/animate.js +1 -2
  750. package/dist/cssm/lib/animate.js.map +1 -1
  751. package/dist/cssm/styles/components.css +26 -8
  752. package/dist/cssm/tokenized/index.d.ts +44 -0
  753. package/dist/cssm/tokenized/index.js +22 -0
  754. package/dist/cssm/tokenized/index.js.map +1 -1
  755. package/dist/index.d.ts +44 -44
  756. package/dist/index.js +44 -44
  757. package/dist/index.js.map +1 -1
  758. package/dist/lib/animate.d.ts +1 -1
  759. package/dist/lib/animate.js +1 -2
  760. package/dist/lib/animate.js.map +1 -1
  761. package/dist/tokenized/index.d.ts +44 -0
  762. package/dist/tokenized/index.js +22 -0
  763. package/dist/tokenized/index.js.map +1 -1
  764. package/dist/vkui.css +26 -8
  765. package/dist/vkui.css.map +1 -1
  766. package/package.json +3 -3
  767. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  768. package/src/components/Alert/Alert.tsx +6 -4
  769. package/src/components/Avatar/Avatar.css +27 -20
  770. package/src/components/Avatar/Avatar.tsx +3 -9
  771. package/src/components/Avatar/Readme.md +43 -304
  772. package/src/components/Banner/Banner.css +24 -25
  773. package/src/components/Banner/Banner.tsx +28 -42
  774. package/src/components/{Gallery/Gallery.css → BaseGallery/BaseGallery.css} +7 -3
  775. package/src/components/BaseGallery/BaseGallery.tsx +394 -0
  776. package/src/components/BaseGallery/helpers.ts +51 -0
  777. package/src/components/BaseGallery/types.ts +52 -0
  778. package/src/components/Button/Button.css +4 -0
  779. package/src/components/Button/Button.tsx +3 -2
  780. package/src/components/CalendarDay/CalendarDay.tsx +1 -1
  781. package/src/components/CalendarHeader/CalendarHeader.tsx +1 -1
  782. package/src/components/Cell/Cell.tsx +1 -1
  783. package/src/components/CellButton/CellButton.css +10 -4
  784. package/src/components/CellButton/CellButton.tsx +4 -13
  785. package/src/components/Checkbox/Checkbox.css +41 -55
  786. package/src/components/Checkbox/Checkbox.tsx +89 -30
  787. package/src/components/Checkbox/Readme.md +19 -0
  788. package/src/components/Chip/Chip.tsx +1 -1
  789. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -4
  790. package/src/components/ContentCard/ContentCard.css +10 -18
  791. package/src/components/ContentCard/ContentCard.tsx +44 -49
  792. package/src/components/ContentCard/Readme.md +6 -0
  793. package/src/components/DateInput/DateInput.tsx +1 -1
  794. package/src/components/DatePicker/DatePicker.tsx +4 -3
  795. package/src/components/DateRangeInput/DateRangeInput.tsx +1 -1
  796. package/src/components/Epic/Epic.tsx +7 -6
  797. package/src/components/FixedLayout/FixedLayout.css +1 -1
  798. package/src/components/FixedLayout/FixedLayout.tsx +5 -10
  799. package/src/components/FocusVisible/FocusVisible.css +1 -1
  800. package/src/components/FocusVisible/FocusVisible.tsx +2 -5
  801. package/src/components/FormItem/FormItem.css +22 -13
  802. package/src/components/FormItem/FormItem.tsx +3 -6
  803. package/src/components/FormLayout/FormLayout.tsx +3 -4
  804. package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
  805. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +3 -9
  806. package/src/components/Gallery/Gallery.tsx +10 -512
  807. package/src/components/GridAvatar/GridAvatar.tsx +17 -15
  808. package/src/components/Group/Group.tsx +8 -11
  809. package/src/components/Group/Readme.md +129 -134
  810. package/src/components/Header/Header.tsx +2 -9
  811. package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
  812. package/src/components/HorizontalScroll/HorizontalScroll.tsx +4 -1
  813. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +1 -1
  814. package/src/components/IconButton/IconButton.css +14 -19
  815. package/src/components/IconButton/IconButton.tsx +14 -16
  816. package/src/components/IconButton/Readme.md +51 -0
  817. package/src/components/InitialsAvatar/InitialsAvatar.css +26 -29
  818. package/src/components/InitialsAvatar/InitialsAvatar.tsx +2 -2
  819. package/src/components/Link/Link.tsx +5 -5
  820. package/src/components/List/List.tsx +3 -7
  821. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
  822. package/src/components/ModalCard/ModalCard.tsx +31 -30
  823. package/src/components/ModalCardBase/ModalCardBase.tsx +1 -1
  824. package/src/components/ModalDismissButton/ModalDismissButton.tsx +7 -12
  825. package/src/components/ModalPage/ModalPage.tsx +32 -32
  826. package/src/components/ModalRoot/ModalRoot.tsx +2 -1
  827. package/src/components/ModalRoot/ModalRootContext.tsx +0 -3
  828. package/src/components/ModalRoot/ModalRootDesktop.tsx +2 -1
  829. package/src/components/ModalRoot/withModalRootContext.tsx +2 -1
  830. package/src/components/Pagination/Pagination.tsx +1 -1
  831. package/src/components/PanelHeader/PanelHeader.css +9 -0
  832. package/src/components/PanelHeader/PanelHeader.tsx +2 -2
  833. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +9 -8
  834. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
  835. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +3 -11
  836. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
  837. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -1
  838. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +4 -13
  839. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +3 -11
  840. package/src/components/Placeholder/Placeholder.tsx +3 -4
  841. package/src/components/PopoutWrapper/PopoutWrapper.css +4 -15
  842. package/src/components/PopoutWrapper/PopoutWrapper.tsx +5 -11
  843. package/src/components/PromoBanner/PromoBanner.tsx +3 -6
  844. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
  845. package/src/components/Radio/Radio.tsx +1 -1
  846. package/src/components/RangeSlider/RangeSlider.tsx +1 -4
  847. package/src/components/RangeSlider/Readme.md +19 -27
  848. package/src/components/RangeSlider/UniversalSlider.tsx +1 -4
  849. package/src/components/Removable/Removable.css +15 -19
  850. package/src/components/Removable/Removable.tsx +5 -3
  851. package/src/components/RichCell/RichCell.tsx +8 -7
  852. package/src/components/Root/Root.css +9 -14
  853. package/src/components/Root/Root.tsx +26 -21
  854. package/src/components/ScreenSpinner/ScreenSpinner.tsx +13 -13
  855. package/src/components/Search/Search.tsx +9 -14
  856. package/src/components/SimpleCell/SimpleCell.css +3 -52
  857. package/src/components/SimpleCell/SimpleCell.tsx +6 -7
  858. package/src/components/SimpleCheckbox/Readme.md +4 -0
  859. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +2 -1
  860. package/src/components/Slider/Readme.md +68 -76
  861. package/src/components/Slider/Slider.css +9 -49
  862. package/src/components/Slider/Slider.tsx +1 -4
  863. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -1
  864. package/src/components/Snackbar/Snackbar.css +6 -2
  865. package/src/components/Spacing/Spacing.css +1 -1
  866. package/src/components/Spacing/Spacing.tsx +2 -1
  867. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  868. package/src/components/Tabbar/Tabbar.tsx +6 -9
  869. package/src/components/TabbarItem/TabbarItem.tsx +2 -5
  870. package/src/components/Tabs/Tabs.tsx +7 -10
  871. package/src/components/TabsItem/TabsItem.tsx +3 -10
  872. package/src/components/Tappable/Readme.md +53 -0
  873. package/src/components/Tappable/Tappable.css +12 -27
  874. package/src/components/Tappable/Tappable.tsx +13 -8
  875. package/src/components/Textarea/Readme.md +1 -2
  876. package/src/components/Textarea/Textarea.css +12 -8
  877. package/src/components/Textarea/Textarea.tsx +54 -55
  878. package/src/components/Tooltip/Tooltip.tsx +4 -12
  879. package/src/components/UsersStack/Readme.md +0 -1
  880. package/src/components/UsersStack/UsersStack.css +12 -30
  881. package/src/components/UsersStack/UsersStack.tsx +49 -43
  882. package/src/components/UsersStack/masks.tsx +28 -5
  883. package/src/components/View/View.css +1 -13
  884. package/src/components/View/View.tsx +39 -43
  885. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  886. package/src/index.ts +44 -44
  887. package/src/lib/animate.ts +1 -2
  888. package/src/styles/components.css +1 -1
  889. package/src/tokenized/index.ts +66 -0
  890. package/dist/cssm/components/Gallery/Gallery.css +0 -1
@@ -6,5 +6,7 @@ export interface TabsProps extends React.HTMLAttributes<HTMLDivElement>, HasRoot
6
6
  mode?: "default" | "buttons" | "segmented";
7
7
  }
8
8
  export declare const TabsModeContext: React.Context<"default" | "buttons" | "segmented" | undefined>;
9
- declare const _default: React.FC<Pick<TabsProps, "hidden" | "dir" | "slot" | "style" | "title" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "mode" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "getRootRef"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
10
- export default _default;
9
+ /**
10
+ * @see https://vkcom.github.io/VKUI/#/Tabs
11
+ */
12
+ export declare const Tabs: React.FC<Pick<TabsProps, "hidden" | "dir" | "slot" | "style" | "title" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "mode" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "getRootRef"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
@@ -10,13 +10,11 @@ import { IOS } from "../../lib/platform";
10
10
  import { withAdaptivity } from "../../hoc/withAdaptivity";
11
11
  import "./Tabs.css";
12
12
  export var TabsModeContext = /*#__PURE__*/React.createContext("default");
13
- /**
14
- * @see https://vkcom.github.io/VKUI/#/Tabs
15
- */
16
13
 
17
- var Tabs = function Tabs(_ref) {
14
+ var TabsComponent = function TabsComponent(_ref) {
18
15
  var children = _ref.children,
19
- mode = _ref.mode,
16
+ _ref$mode = _ref.mode,
17
+ mode = _ref$mode === void 0 ? "default" : _ref$mode,
20
18
  getRootRef = _ref.getRootRef,
21
19
  sizeX = _ref.sizeX,
22
20
  restProps = _objectWithoutProperties(_ref, _excluded);
@@ -36,12 +34,13 @@ var Tabs = function Tabs(_ref) {
36
34
  value: mode
37
35
  }, children)));
38
36
  };
37
+ /**
38
+ * @see https://vkcom.github.io/VKUI/#/Tabs
39
+ */
39
40
 
40
- Tabs.defaultProps = {
41
- mode: "default"
42
- }; // eslint-disable-next-line import/no-default-export
43
41
 
44
- export default withAdaptivity(Tabs, {
42
+ export var Tabs = withAdaptivity(TabsComponent, {
45
43
  sizeX: true
46
44
  });
45
+ Tabs.displayName = "Tabs";
47
46
  //# sourceMappingURL=Tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabs/Tabs.tsx"],"names":["React","getClassName","classNames","usePlatform","IOS","withAdaptivity","TabsModeContext","createContext","Tabs","children","mode","getRootRef","sizeX","restProps","platform","defaultProps"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AAEA,SAASC,WAAT;AACA,SAASC,GAAT;AACA,SAASC,cAAT;AACA;AASA,OAAO,IAAMC,eAAe,gBAC1BN,KAAK,CAACO,aAAN,CAAuC,SAAvC,CADK;AAGP;AACA;AACA;;AACA,IAAMC,IAAwC,GAAG,SAA3CA,IAA2C,OAMhC;AAAA,MALfC,QAKe,QALfA,QAKe;AAAA,MAJfC,IAIe,QAJfA,IAIe;AAAA,MAHfC,UAGe,QAHfA,UAGe;AAAA,MAFfC,KAEe,QAFfA,KAEe;AAAA,MADZC,SACY;;AACf,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;;AAEA,MAAIW,QAAQ,KAAKV,GAAb,IAAoBM,IAAI,KAAK,WAAjC,EAA8C;AAC5CA,IAAAA,IAAI,GAAG,SAAP;AACD;;AAED,SACE,wCACMG,SADN;AAEE,IAAA,GAAG,EAAEF,UAFP;AAGE,IAAA,SAAS,EAAET,UAAU,CACnBD,YAAY,CAAC,MAAD,EAASa,QAAT,CADO,kBAEVJ,IAFU,yBAGJE,KAHI;AAHvB,MASE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEF;AAAjC,KACGD,QADH,CADF,CATF,CADF;AAiBD,CA9BD;;AAgCAD,IAAI,CAACO,YAAL,GAAoB;AAClBL,EAAAA,IAAI,EAAE;AADY,CAApB,C,CAIA;;AACA,eAAeL,cAAc,CAACG,IAAD,EAAO;AAAEI,EAAAA,KAAK,EAAE;AAAT,CAAP,CAA7B","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { IOS } from \"../../lib/platform\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport \"./Tabs.css\";\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n mode?: \"default\" | \"buttons\" | \"segmented\";\n}\n\nexport const TabsModeContext =\n React.createContext<TabsProps[\"mode\"]>(\"default\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nconst Tabs: React.FunctionComponent<TabsProps> = ({\n children,\n mode,\n getRootRef,\n sizeX,\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n\n if (platform !== IOS && mode === \"segmented\") {\n mode = \"default\";\n }\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Tabs\", platform),\n `Tabs--${mode}`,\n `Tabs--sizeX-${sizeX}`\n )}\n >\n <div vkuiClass=\"Tabs__in\">\n <TabsModeContext.Provider value={mode}>\n {children}\n </TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n\nTabs.defaultProps = {\n mode: \"default\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Tabs, { sizeX: true });\n"],"file":"Tabs.js"}
1
+ {"version":3,"sources":["../../../../src/components/Tabs/Tabs.tsx"],"names":["React","getClassName","classNames","usePlatform","IOS","withAdaptivity","TabsModeContext","createContext","TabsComponent","children","mode","getRootRef","sizeX","restProps","platform","Tabs","displayName"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AAEA,SAASC,WAAT;AACA,SAASC,GAAT;AACA,SAASC,cAAT;AACA;AASA,OAAO,IAAMC,eAAe,gBAC1BN,KAAK,CAACO,aAAN,CAAuC,SAAvC,CADK;;AAGP,IAAMC,aAAiD,GAAG,SAApDA,aAAoD,OAMzC;AAAA,MALfC,QAKe,QALfA,QAKe;AAAA,uBAJfC,IAIe;AAAA,MAJfA,IAIe,0BAJR,SAIQ;AAAA,MAHfC,UAGe,QAHfA,UAGe;AAAA,MAFfC,KAEe,QAFfA,KAEe;AAAA,MADZC,SACY;;AACf,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;;AAEA,MAAIW,QAAQ,KAAKV,GAAb,IAAoBM,IAAI,KAAK,WAAjC,EAA8C;AAC5CA,IAAAA,IAAI,GAAG,SAAP;AACD;;AAED,SACE,wCACMG,SADN;AAEE,IAAA,GAAG,EAAEF,UAFP;AAGE,IAAA,SAAS,EAAET,UAAU,CACnBD,YAAY,CAAC,MAAD,EAASa,QAAT,CADO,kBAEVJ,IAFU,yBAGJE,KAHI;AAHvB,MASE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEF;AAAjC,KACGD,QADH,CADF,CATF,CADF;AAiBD,CA9BD;AAgCA;AACA;AACA;;;AACA,OAAO,IAAMM,IAAI,GAAGV,cAAc,CAACG,aAAD,EAAgB;AAAEI,EAAAA,KAAK,EAAE;AAAT,CAAhB,CAA3B;AAEPG,IAAI,CAACC,WAAL,GAAmB,MAAnB","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasRootRef } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { IOS } from \"../../lib/platform\";\nimport { withAdaptivity, AdaptivityProps } from \"../../hoc/withAdaptivity\";\nimport \"./Tabs.css\";\n\nexport interface TabsProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n mode?: \"default\" | \"buttons\" | \"segmented\";\n}\n\nexport const TabsModeContext =\n React.createContext<TabsProps[\"mode\"]>(\"default\");\n\nconst TabsComponent: React.FunctionComponent<TabsProps> = ({\n children,\n mode = \"default\",\n getRootRef,\n sizeX,\n ...restProps\n}: TabsProps) => {\n const platform = usePlatform();\n\n if (platform !== IOS && mode === \"segmented\") {\n mode = \"default\";\n }\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Tabs\", platform),\n `Tabs--${mode}`,\n `Tabs--sizeX-${sizeX}`\n )}\n >\n <div vkuiClass=\"Tabs__in\">\n <TabsModeContext.Provider value={mode}>\n {children}\n </TabsModeContext.Provider>\n </div>\n </div>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tabs\n */\nexport const Tabs = withAdaptivity(TabsComponent, { sizeX: true });\n\nTabs.displayName = \"Tabs\";\n"],"file":"Tabs.js"}
@@ -7,5 +7,4 @@ export interface TabsItemProps extends React.HTMLAttributes<HTMLElement> {
7
7
  /**
8
8
  * @see https://vkcom.github.io/VKUI/#/TabsItem
9
9
  */
10
- declare const TabsItem: React.FC<TabsItemProps>;
11
- export default TabsItem;
10
+ export declare const TabsItem: React.FC<TabsItemProps>;
@@ -4,7 +4,7 @@ var _excluded = ["children", "selected", "after"];
4
4
  import { createScopedElement } from "../../lib/jsxRuntime";
5
5
  import * as React from "react";
6
6
  import { getClassName } from "../../helpers/getClassName";
7
- import Tappable from "../Tappable/Tappable";
7
+ import { Tappable } from "../Tappable/Tappable";
8
8
  import { classNames } from "../../lib/classNames";
9
9
  import { VKCOM } from "../../lib/platform";
10
10
  import { usePlatform } from "../../hooks/usePlatform";
@@ -18,9 +18,10 @@ import "./TabsItem.css";
18
18
  /**
19
19
  * @see https://vkcom.github.io/VKUI/#/TabsItem
20
20
  */
21
- var TabsItem = function TabsItem(_ref) {
21
+ export var TabsItem = function TabsItem(_ref) {
22
22
  var children = _ref.children,
23
- selected = _ref.selected,
23
+ _ref$selected = _ref.selected,
24
+ selected = _ref$selected === void 0 ? false : _ref$selected,
24
25
  after = _ref.after,
25
26
  restProps = _objectWithoutProperties(_ref, _excluded);
26
27
 
@@ -48,10 +49,4 @@ var TabsItem = function TabsItem(_ref) {
48
49
  vkuiClass: "TabsItem__after"
49
50
  }, after));
50
51
  };
51
-
52
- TabsItem.defaultProps = {
53
- selected: false
54
- }; // eslint-disable-next-line import/no-default-export
55
-
56
- export default TabsItem;
57
52
  //# sourceMappingURL=TabsItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabsItem/TabsItem.tsx"],"names":["React","getClassName","Tappable","classNames","VKCOM","usePlatform","hasReactNode","TabsModeContext","Headline","Subhead","Text","TabsItem","children","selected","after","restProps","platform","mode","useContext","ItemTypography","defaultProps"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,OAAOC,QAAP;AACA,SAASC,UAAT;AACA,SAASC,KAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAAoBC,eAApB;AACA,SAASC,QAAT;AACA,SAASC,OAAT;AACA,SAASC,IAAT;AACA;;AAOA;AACA;AACA;AACA,IAAMC,QAAiC,GAAG,SAApCA,QAAoC,OAKrB;AAAA,MAJnBC,QAImB,QAJnBA,QAImB;AAAA,MAHnBC,QAGmB,QAHnBA,QAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;AACA,MAAMY,IAAuB,GAAGjB,KAAK,CAACkB,UAAN,CAAiBX,eAAjB,CAAhC;AAEA,MAAIY,cAAc,GAChBF,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,WAA/B,GAA6CR,OAA7C,GAAuDD,QADzD;;AAGA,MAAIQ,QAAQ,KAAKZ,KAAjB,EAAwB;AACtBe,IAAAA,cAAc,GAAGT,IAAjB;AACD;;AAED,SACE,oBAAC,QAAD,eACMK,SADN;AAEE;AACA,IAAA,SAAS,EAAEZ,UAAU,CAACF,YAAY,CAAC,UAAD,EAAae,QAAb,CAAb,EAAqC;AACxD,4BAAsBH;AADkC,KAArC,CAHvB;AAME,IAAA,SAAS,EAAEI,IAAI,KAAK,WANtB;AAOE,IAAA,UAAU,EAAC,kBAPb;AAQE,IAAA,gBAAgB,EAAEA,IAAI,KAAK,WAAT,GAAuB,SAAvB,GAAmC;AARvD,MAUE,oBAAC,cAAD;AAAgB,IAAA,SAAS,EAAC,MAA1B;AAAiC,IAAA,SAAS,EAAC,cAA3C;AAA0D,IAAA,MAAM,EAAC;AAAjE,KACGL,QADH,CAVF,EAaGN,YAAY,CAACQ,KAAD,CAAZ,IAAuB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCA,KAAlC,CAb1B,CADF;AAiBD,CAjCD;;AAmCAH,QAAQ,CAACS,YAAT,GAAwB;AACtBP,EAAAA,QAAQ,EAAE;AADY,CAAxB,C,CAIA;;AACA,eAAeF,QAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { TabsProps, TabsModeContext } from \"../Tabs/Tabs\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Text } from \"../Typography/Text/Text\";\nimport \"./TabsItem.css\";\n\nexport interface TabsItemProps extends React.HTMLAttributes<HTMLElement> {\n after?: React.ReactNode;\n selected?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabsItem\n */\nconst TabsItem: React.FC<TabsItemProps> = ({\n children,\n selected,\n after,\n ...restProps\n}: TabsItemProps) => {\n const platform = usePlatform();\n const mode: TabsProps[\"mode\"] = React.useContext(TabsModeContext);\n\n let ItemTypography =\n mode === \"buttons\" || mode === \"segmented\" ? Subhead : Headline;\n\n if (platform === VKCOM) {\n ItemTypography = Text;\n }\n\n return (\n <Tappable\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"TabsItem\", platform), {\n \"TabsItem--selected\": selected,\n })}\n hasActive={mode === \"segmented\"}\n activeMode=\"TabsItem--active\"\n focusVisibleMode={mode === \"segmented\" ? \"outside\" : \"inside\"}\n >\n <ItemTypography Component=\"span\" vkuiClass=\"TabsItem__in\" weight=\"2\">\n {children}\n </ItemTypography>\n {hasReactNode(after) && <div vkuiClass=\"TabsItem__after\">{after}</div>}\n </Tappable>\n );\n};\n\nTabsItem.defaultProps = {\n selected: false,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default TabsItem;\n"],"file":"TabsItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/TabsItem/TabsItem.tsx"],"names":["React","getClassName","Tappable","classNames","VKCOM","usePlatform","hasReactNode","TabsModeContext","Headline","Subhead","Text","TabsItem","children","selected","after","restProps","platform","mode","useContext","ItemTypography"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,QAAT;AACA,SAASC,UAAT;AACA,SAASC,KAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAAoBC,eAApB;AACA,SAASC,QAAT;AACA,SAASC,OAAT;AACA,SAASC,IAAT;AACA;;AAOA;AACA;AACA;AACA,OAAO,IAAMC,QAAiC,GAAG,SAApCA,QAAoC,OAK5B;AAAA,MAJnBC,QAImB,QAJnBA,QAImB;AAAA,2BAHnBC,QAGmB;AAAA,MAHnBA,QAGmB,8BAHR,KAGQ;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAGX,WAAW,EAA5B;AACA,MAAMY,IAAuB,GAAGjB,KAAK,CAACkB,UAAN,CAAiBX,eAAjB,CAAhC;AAEA,MAAIY,cAAc,GAChBF,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,WAA/B,GAA6CR,OAA7C,GAAuDD,QADzD;;AAGA,MAAIQ,QAAQ,KAAKZ,KAAjB,EAAwB;AACtBe,IAAAA,cAAc,GAAGT,IAAjB;AACD;;AAED,SACE,oBAAC,QAAD,eACMK,SADN;AAEE;AACA,IAAA,SAAS,EAAEZ,UAAU,CAACF,YAAY,CAAC,UAAD,EAAae,QAAb,CAAb,EAAqC;AACxD,4BAAsBH;AADkC,KAArC,CAHvB;AAME,IAAA,SAAS,EAAEI,IAAI,KAAK,WANtB;AAOE,IAAA,UAAU,EAAC,kBAPb;AAQE,IAAA,gBAAgB,EAAEA,IAAI,KAAK,WAAT,GAAuB,SAAvB,GAAmC;AARvD,MAUE,oBAAC,cAAD;AAAgB,IAAA,SAAS,EAAC,MAA1B;AAAiC,IAAA,SAAS,EAAC,cAA3C;AAA0D,IAAA,MAAM,EAAC;AAAjE,KACGL,QADH,CAVF,EAaGN,YAAY,CAACQ,KAAD,CAAZ,IAAuB;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCA,KAAlC,CAb1B,CADF;AAiBD,CAjCM","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { classNames } from \"../../lib/classNames\";\nimport { VKCOM } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { TabsProps, TabsModeContext } from \"../Tabs/Tabs\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Text } from \"../Typography/Text/Text\";\nimport \"./TabsItem.css\";\n\nexport interface TabsItemProps extends React.HTMLAttributes<HTMLElement> {\n after?: React.ReactNode;\n selected?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabsItem\n */\nexport const TabsItem: React.FC<TabsItemProps> = ({\n children,\n selected = false,\n after,\n ...restProps\n}: TabsItemProps) => {\n const platform = usePlatform();\n const mode: TabsProps[\"mode\"] = React.useContext(TabsModeContext);\n\n let ItemTypography =\n mode === \"buttons\" || mode === \"segmented\" ? Subhead : Headline;\n\n if (platform === VKCOM) {\n ItemTypography = Text;\n }\n\n return (\n <Tappable\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"TabsItem\", platform), {\n \"TabsItem--selected\": selected,\n })}\n hasActive={mode === \"segmented\"}\n activeMode=\"TabsItem--active\"\n focusVisibleMode={mode === \"segmented\" ? \"outside\" : \"inside\"}\n >\n <ItemTypography Component=\"span\" vkuiClass=\"TabsItem__in\" weight=\"2\">\n {children}\n </ItemTypography>\n {hasReactNode(after) && <div vkuiClass=\"TabsItem__after\">{after}</div>}\n </Tappable>\n );\n};\n"],"file":"TabsItem.js"}
@@ -1 +1,5 @@
1
- .vkuiTappable{position:relative;cursor:default}.vkuiTappable--hasHover,.vkuiTappable--hasActive{cursor:pointer}.vkuiTappable[disabled],.vkuiTappable[aria-disabled=true]{cursor:default}.vkuiTappable--focus-visible{outline:0}.vkuiTappable--active-background.vkuiTappable--active-background.vkuiTappable--active-background{background:rgba(0,0,0,.08);background:var(--background_highlighted)}.vkuiTappable--active-opacity.vkuiTappable--active-opacity.vkuiTappable--active-opacity{opacity:.7}.vkuiTappable__hoverShadow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit}.vkuiTappable--hover-background>.vkuiTappable__hoverShadow{background:rgba(0,0,0,.04);background:var(--background_hover)}.vkuiTappable--hover-opacity{opacity:.8}.vkuiTappable--mouse{transition:opacity .15s ease-out}.vkuiTappable--mouse .vkuiTappable__hoverShadow{transition:background-color .15s ease-out}.vkuiTappable--ios{position:relative;border-radius:10px;transition:background-color .15s ease-out}.vkuiTappable--ios.vkuiTappable--active-background{transition:none}.vkuiTappable--android{position:relative;transition:background-color .15s ease-out;border-radius:8px}.vkuiTappable--android .vkuiTappable__waves{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit;will-change:transform}.vkuiTappable--android .vkuiTappable__wave{position:absolute;top:0;left:0;width:24px;height:24px;margin:-12px 0 0-12px;opacity:0;content:"";border-radius:50%;background:rgba(127,127,127,.1);-webkit-animation:vkui-animation-wave .3s cubic-bezier(.4,0,.2,1);animation:vkui-animation-wave .3s cubic-bezier(.4,0,.2,1);-webkit-animation:vkui-animation-wave .3s var(--android-easing);animation:vkui-animation-wave .3s var(--android-easing)}.vkuiTappable--vkcom{transition:background-color .15s ease-out;border-radius:8px}.vkuiTappable--sizeX-compact{border-radius:0}@-webkit-keyframes vkui-animation-wave{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}30%{opacity:1}to{-webkit-transform:scale(8);transform:scale(8);opacity:0}}@keyframes vkui-animation-wave{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}30%{opacity:1}to{-webkit-transform:scale(8);transform:scale(8);opacity:0}}
1
+ .vkuiTappable{position:relative;cursor:default;border-radius:8px;border-radius:var(--vkui--size_border_radius--regular,8px);transition:background-color .15s ease-out}.vkuiTappable--hasHover,.vkuiTappable--hasActive{cursor:pointer}.vkuiTappable[disabled],.vkuiTappable[aria-disabled=true]{cursor:default}.vkuiTappable--focus-visible{outline:0}.vkuiTappable--active-background.vkuiTappable--active-background.vkuiTappable--active-background{background-color:rgba(0,0,0,.08);background-color:var(--background_highlighted,
2
+ var(--vkui--color_transparent--active)
3
+ )}.vkuiTappable--active-opacity.vkuiTappable--active-opacity.vkuiTappable--active-opacity{opacity:.7}.vkuiTappable__hoverShadow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit}.vkuiTappable--hover-background>.vkuiTappable__hoverShadow{background-color:rgba(0,0,0,.04);background-color:var(--background_hover,
4
+ var(--vkui--color_transparent--hover)
5
+ )}.vkuiTappable--hover-opacity{opacity:.8}.vkuiTappable--mouse{transition:opacity .15s ease-out}.vkuiTappable--mouse .vkuiTappable__hoverShadow{transition:background-color .15s ease-out}.vkuiTappable--ios.vkuiTappable--active-background{transition:none}.vkuiTappable .vkuiTappable__waves{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:inherit;will-change:transform}.vkuiTappable .vkuiTappable__wave{position:absolute;top:0;left:0;width:24px;height:24px;margin:-12px 0 0-12px;opacity:0;content:"";border-radius:50%;background:rgba(127,127,127,.1);-webkit-animation:vkui-animation-wave .3s cubic-bezier(.4,0,.2,1);animation:vkui-animation-wave .3s cubic-bezier(.4,0,.2,1);-webkit-animation:vkui-animation-wave .3s var(--android-easing);animation:vkui-animation-wave .3s var(--android-easing)}.vkuiTappable--sizeX-compact{border-radius:0}@-webkit-keyframes vkui-animation-wave{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}30%{opacity:1}to{-webkit-transform:scale(8);transform:scale(8);opacity:0}}@keyframes vkui-animation-wave{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}30%{opacity:1}to{-webkit-transform:scale(8);transform:scale(8);opacity:0}}
@@ -30,13 +30,16 @@ export interface TappableProps extends Omit<React.AllHTMLAttributes<HTMLElement>
30
30
  * Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс во время focus-visible
31
31
  */
32
32
  focusVisibleMode?: FocusVisibleMode | string;
33
- onEnter?: (outputEvent: MouseEvent) => void;
34
- onLeave?: (outputEvent: MouseEvent) => void;
33
+ children?: React.ReactNode;
34
+ onEnter?(outputEvent: MouseEvent): void;
35
+ onLeave?(outputEvent: MouseEvent): void;
35
36
  }
36
37
  export interface RootComponentProps extends TouchProps {
37
38
  ref?: React.Ref<HTMLElement>;
38
39
  }
39
40
  export declare const ACTIVE_DELAY = 70;
40
41
  export declare const ACTIVE_EFFECT_DELAY = 600;
41
- declare const _default: React.FC<Pick<TappableProps, "max" | "required" | "high" | "low" | "disabled" | "default" | "start" | "open" | "media" | "hidden" | "cite" | "data" | "dir" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "async" | "defer" | "manifest" | "color" | "content" | "size" | "wrap" | "multiple" | "height" | "translate" | "width" | "prefix" | "src" | "children" | "className" | "id" | "lang" | "method" | "min" | "name" | "target" | "type" | "role" | "tabIndex" | "crossOrigin" | "href" | "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" | "onMouseDownCapture" | "onMouseEnter" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancelCapture" | "onTouchEndCapture" | "onTouchMoveCapture" | "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" | "list" | "classID" | "useMap" | "wmode" | "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" | "as" | "hrefLang" | "integrity" | "rel" | "sizes" | "charSet" | "kind" | "srcLang" | "value" | "download" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "step" | "htmlFor" | "httpEquiv" | "optimum" | "reversed" | "selected" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "colSpan" | "headers" | "rowSpan" | "scope" | "cols" | "rows" | "poster" | "challenge" | "keyType" | "keyParams" | "onStart" | "onMove" | "onLeave" | "onEnter" | "onEnd" | "Component" | "getRootRef" | "stopPropagation" | "activeEffectDelay" | "hasHover" | "hoverMode" | "hasActive" | "activeMode" | "focusVisibleMode"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
42
- export default _default;
42
+ /**
43
+ * @see https://vkcom.github.io/VKUI/#/Tappable
44
+ */
45
+ export declare const Tappable: React.FC<Pick<TappableProps, "max" | "required" | "high" | "low" | "disabled" | "default" | "start" | "open" | "media" | "hidden" | "cite" | "data" | "dir" | "form" | "label" | "slot" | "span" | "style" | "summary" | "title" | "pattern" | "async" | "defer" | "manifest" | "color" | "content" | "size" | "wrap" | "multiple" | "height" | "translate" | "width" | "prefix" | "src" | "children" | "className" | "id" | "lang" | "method" | "min" | "name" | "target" | "type" | "role" | "tabIndex" | "crossOrigin" | "href" | "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" | "onMouseDownCapture" | "onMouseEnter" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancelCapture" | "onTouchEndCapture" | "onTouchMoveCapture" | "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" | "list" | "classID" | "useMap" | "wmode" | "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" | "as" | "hrefLang" | "integrity" | "rel" | "sizes" | "charSet" | "kind" | "srcLang" | "value" | "download" | "alt" | "coords" | "shape" | "autoPlay" | "controls" | "loop" | "mediaGroup" | "muted" | "playsInline" | "preload" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "dateTime" | "acceptCharset" | "action" | "autoComplete" | "encType" | "noValidate" | "allowFullScreen" | "allowTransparency" | "frameBorder" | "marginHeight" | "marginWidth" | "sandbox" | "scrolling" | "seamless" | "srcDoc" | "srcSet" | "accept" | "capture" | "checked" | "maxLength" | "minLength" | "readOnly" | "step" | "htmlFor" | "httpEquiv" | "optimum" | "reversed" | "selected" | "nonce" | "scoped" | "cellPadding" | "cellSpacing" | "colSpan" | "headers" | "rowSpan" | "scope" | "cols" | "rows" | "poster" | "challenge" | "keyType" | "keyParams" | "onStart" | "onMove" | "onLeave" | "onEnter" | "onEnd" | "Component" | "getRootRef" | "stopPropagation" | "activeEffectDelay" | "hasHover" | "hoverMode" | "hasActive" | "activeMode" | "focusVisibleMode"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
@@ -11,8 +11,7 @@ import { noop } from "@vkontakte/vkjs";
11
11
  import { Touch } from "../Touch/Touch";
12
12
  import TouchRootContext from "../Touch/TouchContext";
13
13
  import { classNames } from "../../lib/classNames";
14
- import { getClassName } from "../../helpers/getClassName";
15
- import { ANDROID } from "../../lib/platform";
14
+ import { IOS, ANDROID } from "../../lib/platform";
16
15
  import { getOffsetRect } from "../../lib/offset";
17
16
  import { coordX, coordY } from "../../lib/touch";
18
17
  import { withAdaptivity } from "../../hoc/withAdaptivity";
@@ -114,7 +113,7 @@ function useActivity(hasActive, stopDelay) {
114
113
  }];
115
114
  }
116
115
 
117
- var Tappable = function Tappable(_ref) {
116
+ var TappableComponent = function TappableComponent(_ref) {
118
117
  var _classNames;
119
118
 
120
119
  var children = _ref.children,
@@ -287,7 +286,7 @@ var Tappable = function Tappable(_ref) {
287
286
  } // eslint-disable-next-line vkui/no-object-expression-in-arguments
288
287
 
289
288
 
290
- var classes = classNames(getClassName("Tappable", platform), "Tappable--sizeX-".concat(sizeX), hasHover && "Tappable--hasHover", hasActive && "Tappable--hasActive", hasHover && hovered && !isPresetHoverMode && hoverMode, hasActive && active && !isPresetActiveMode && activeMode, focusVisible && !isPresetFocusVisibleMode && focusVisibleMode, (_classNames = {
289
+ var classes = classNames("Tappable", platform === IOS && "Tappable--ios", "Tappable--sizeX-".concat(sizeX), hasHover && "Tappable--hasHover", hasActive && "Tappable--hasActive", hasHover && hovered && !isPresetHoverMode && hoverMode, hasActive && active && !isPresetActiveMode && activeMode, focusVisible && !isPresetFocusVisibleMode && focusVisibleMode, (_classNames = {
291
290
  "Tappable--active": hasActive && active,
292
291
  "Tappable--mouse": hasMouse
293
292
  }, _defineProperty(_classNames, "Tappable--hover-".concat(hoverMode), hasHover && hovered && isPresetHoverMode), _defineProperty(_classNames, "Tappable--active-".concat(activeMode), hasActive && active && isPresetActiveMode), _defineProperty(_classNames, "Tappable--focus-visible", focusVisible), _classNames));
@@ -335,12 +334,16 @@ var Tappable = function Tappable(_ref) {
335
334
  }), !props.disabled && isPresetFocusVisibleMode && createScopedElement(FocusVisible, {
336
335
  mode: focusVisibleMode
337
336
  }));
338
- }; // eslint-disable-next-line import/no-default-export
337
+ };
338
+ /**
339
+ * @see https://vkcom.github.io/VKUI/#/Tappable
340
+ */
339
341
 
340
342
 
341
- export default withAdaptivity(Tappable, {
343
+ export var Tappable = withAdaptivity(TappableComponent, {
342
344
  sizeX: true,
343
345
  hasMouse: true,
344
346
  deviceHasHover: true
345
347
  });
348
+ Tappable.displayName = "Tappable";
346
349
  //# sourceMappingURL=Tappable.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tappable/Tappable.tsx"],"names":["React","mitt","noop","Touch","TouchRootContext","classNames","getClassName","ANDROID","getOffsetRect","coordX","coordY","withAdaptivity","shouldTriggerClickOnEnterOrSpace","useIsomorphicLayoutEffect","FocusVisible","useTimeout","useExternRef","usePlatform","useFocusVisible","callMultiple","useBooleanState","WAVE_LIVE","ACTIVE_DELAY","ACTIVE_EFFECT_DELAY","activeBus","TapState","none","pending","active","exiting","TappableContext","createContext","onHoverChange","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","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","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":["React","mitt","noop","Touch","TouchRootContext","classNames","IOS","ANDROID","getOffsetRect","coordX","coordY","withAdaptivity","shouldTriggerClickOnEnterOrSpace","useIsomorphicLayoutEffect","FocusVisible","useTimeout","useExternRef","usePlatform","useFocusVisible","callMultiple","useBooleanState","WAVE_LIVE","ACTIVE_DELAY","ACTIVE_EFFECT_DELAY","activeBus","TapState","none","pending","active","exiting","TappableContext","createContext","onHoverChange","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","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","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","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"}
@@ -1 +1 @@
1
- .vkuiTextarea{position:relative}.vkuiTextarea__el{margin:0;width:100%;display:block;box-sizing:border-box;resize:none;-webkit-appearance:none;appearance:none;line-height:20px;font-size:16px;color:#000;color:var(--text_primary);padding:11px;max-height:196px;border:0;z-index:2;position:relative;background:0 0}.vkuiTextarea--sizeY-compact .vkuiTextarea__el{padding-top:7px;padding-bottom:7px;font-size:15px}.vkuiTextarea__el::-webkit-input-placeholder{color:#818c99;color:var(--field_text_placeholder)}.vkuiTextarea__el::placeholder{color:#818c99;color:var(--field_text_placeholder)}.vkuiTextarea__el:disabled{opacity:.4}.vkuiTextarea__el:disabled::-webkit-input-placeholder{color:#818c99;color:var(--text_secondary)}.vkuiTextarea__el:disabled::placeholder{color:#818c99;color:var(--text_secondary)}
1
+ .vkuiTextarea{position:relative}.vkuiTextarea__el{margin:0;width:100%;display:block;box-sizing:border-box;resize:none;-webkit-appearance:none;appearance:none;line-height:20px;font-size:16px;color:#000;color:var(--text_primary, var(--vkui--color_text_primary));padding:12px;max-height:204px;border:0;z-index:2;position:relative;background:0 0}.vkuiTextarea__el[cols]{width:initial}.vkuiTextarea--sizeY-compact .vkuiTextarea__el{font-size:15px;max-height:196px}.vkuiTextarea__el::-webkit-input-placeholder{color:#818c99;color:var(--field_text_placeholder, var(--vkui--color_text_secondary))}.vkuiTextarea__el::placeholder{color:#818c99;color:var(--field_text_placeholder, var(--vkui--color_text_secondary))}.vkuiTextarea__el:disabled{opacity:.64;opacity:var(--vkui--opacity_disable_accessibility,0.64)}.vkuiTextarea__el:disabled::-webkit-input-placeholder{color:#818c99;color:var(--text_secondary, var(--vkui--color_text_secondary))}.vkuiTextarea__el:disabled::placeholder{color:#818c99;color:var(--text_secondary, var(--vkui--color_text_secondary))}
@@ -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>;
@@ -1,22 +1,20 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["defaultValue", "grow", "style", "onResize", "className", "getRootRef", "getRef", "sizeY", "rows"];
4
+ var _excluded = ["defaultValue", "grow", "style", "onResize", "className", "getRootRef", "getRef", "sizeY", "rows", "maxHeight"];
5
5
  import { createScopedElement } from "../../lib/jsxRuntime";
6
6
  import * as React from "react";
7
7
  import { classNames } from "../../lib/classNames";
8
8
  import { FormField } from "../FormField/FormField";
9
9
  import { withAdaptivity } from "../../hoc/withAdaptivity";
10
- import { getClassName } from "../../helpers/getClassName";
11
10
  import { useEnsuredControl } from "../../hooks/useEnsuredControl";
12
11
  import { useExternRef } from "../../hooks/useExternRef";
13
- import { usePlatform } from "../../hooks/usePlatform";
14
12
  import "./Textarea.css";
15
13
 
16
14
  /**
17
15
  * @see https://vkcom.github.io/VKUI/#/Textarea
18
16
  */
19
- var Textarea = /*#__PURE__*/React.memo(function (_ref) {
17
+ var TextareaComponent = function TextareaComponent(_ref) {
20
18
  var _ref$defaultValue = _ref.defaultValue,
21
19
  defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
22
20
  _ref$grow = _ref.grow,
@@ -29,6 +27,7 @@ var Textarea = /*#__PURE__*/React.memo(function (_ref) {
29
27
  sizeY = _ref.sizeY,
30
28
  _ref$rows = _ref.rows,
31
29
  rows = _ref$rows === void 0 ? 2 : _ref$rows,
30
+ maxHeight = _ref.maxHeight,
32
31
  restProps = _objectWithoutProperties(_ref, _excluded);
33
32
 
34
33
  var _useEnsuredControl = useEnsuredControl(restProps, {
@@ -39,8 +38,7 @@ var Textarea = /*#__PURE__*/React.memo(function (_ref) {
39
38
  onChange = _useEnsuredControl2[1];
40
39
 
41
40
  var currentScrollHeight = React.useRef();
42
- var elementRef = useExternRef(getRef);
43
- var platform = usePlatform(); // autosize input
41
+ var elementRef = useExternRef(getRef); // autosize input
44
42
 
45
43
  React.useEffect(function () {
46
44
  var el = elementRef.current;
@@ -56,21 +54,26 @@ var Textarea = /*#__PURE__*/React.memo(function (_ref) {
56
54
  }
57
55
  }, [grow, value, sizeY, elementRef, onResize]);
58
56
  return createScopedElement(FormField, {
59
- vkuiClass: classNames(getClassName("Textarea", platform), "Textarea--sizeY-".concat(sizeY)),
57
+ vkuiClass: classNames("Textarea", // TODO. v5.0.0 Новая адаптивность
58
+ "Textarea--sizeY-".concat(sizeY)),
60
59
  className: className,
61
60
  style: style,
62
61
  getRootRef: getRootRef,
63
62
  disabled: restProps.disabled
64
63
  }, createScopedElement("textarea", _extends({}, restProps, {
64
+ style: {
65
+ maxHeight: maxHeight
66
+ },
65
67
  rows: rows,
66
68
  vkuiClass: "Textarea__el",
67
69
  value: value,
68
70
  onChange: onChange,
69
71
  ref: elementRef
70
72
  })));
71
- }); // eslint-disable-next-line import/no-default-export
73
+ }; // eslint-disable-next-line import/no-default-export
72
74
 
73
- export default withAdaptivity(Textarea, {
75
+
76
+ export var Textarea = withAdaptivity(TextareaComponent, {
74
77
  sizeY: true
75
78
  });
76
79
  //# sourceMappingURL=Textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":["React","classNames","FormField","withAdaptivity","getClassName","useEnsuredControl","useExternRef","usePlatform","Textarea","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,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,SAAT;AAEA,SAASC,cAAT;AACA,SAASC,YAAT;AACA,SAASC,iBAAT;AACA,SAASC,YAAT;AACA,SAASC,WAAT;AACA;;AAYA;AACA;AACA;AACA,IAAMC,QAAiC,gBAAGR,KAAK,CAACS,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,2BAA0Bd,iBAAiB,CAACc,SAAD,EAAY;AAAET,IAAAA,YAAY,EAAZA;AAAF,GAAZ,CAA3C;AAAA;AAAA,MAAOU,KAAP;AAAA,MAAcC,QAAd;;AACA,MAAMC,mBAAmB,GAAGtB,KAAK,CAACuB,MAAN,EAA5B;AACA,MAAMC,UAAU,GAAGlB,YAAY,CAACU,MAAD,CAA/B;AACA,MAAMS,QAAQ,GAAGlB,WAAW,EAA5B,CAJmB,CAMnB;;AACAP,EAAAA,KAAK,CAAC0B,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,oBAAC,SAAD;AACE,IAAA,SAAS,EAAEZ,UAAU,CACnBG,YAAY,CAAC,UAAD,EAAaqB,QAAb,CADO,4BAEAR,KAFA,EADvB;AAKE,IAAA,SAAS,EAAEH,SALb;AAME,IAAA,KAAK,EAAEF,KANT;AAOE,IAAA,UAAU,EAAEG,UAPd;AAQE,IAAA,QAAQ,EAAEI,SAAS,CAACa;AARtB,KAUE,6CACMb,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;;AACA,eAAerB,cAAc,CAACK,QAAD,EAAW;AAAES,EAAAA,KAAK,EAAE;AAAT,CAAX,CAA7B","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":["React","classNames","FormField","withAdaptivity","useEnsuredControl","useExternRef","TextareaComponent","defaultValue","grow","style","onResize","className","getRootRef","getRef","sizeY","rows","maxHeight","restProps","value","onChange","currentScrollHeight","useRef","elementRef","useEffect","el","current","offsetParent","height","scrollHeight","disabled","Textarea"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,SAAT;AAEA,SAASC,cAAT;AACA,SAASC,iBAAT;AACA,SAASC,YAAT;AACA;;AAaA;AACA;AACA;AACA,IAAMC,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,2BAA0Bb,iBAAiB,CAACa,SAAD,EAAY;AAAEV,IAAAA,YAAY,EAAZA;AAAF,GAAZ,CAA3C;AAAA;AAAA,MAAOW,KAAP;AAAA,MAAcC,QAAd;;AACA,MAAMC,mBAAmB,GAAGpB,KAAK,CAACqB,MAAN,EAA5B;AACA,MAAMC,UAAU,GAAGjB,YAAY,CAACQ,MAAD,CAA/B,CAHmB,CAKnB;;AACAb,EAAAA,KAAK,CAACuB,SAAN,CAAgB,YAAM;AACpB,QAAMC,EAAE,GAAGF,UAAU,CAACG,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,KAAoBR,mBAAmB,CAACK,OAAxC,IAAmDf,QAAvD,EAAiE;AAC/DA,QAAAA,QAAQ,CAACc,EAAD,CAAR;AACAJ,QAAAA,mBAAmB,CAACK,OAApB,GAA8BD,EAAE,CAACI,YAAjC;AACD;AACF;AACF,GAZD,EAYG,CAACpB,IAAD,EAAOU,KAAP,EAAcJ,KAAd,EAAqBQ,UAArB,EAAiCZ,QAAjC,CAZH;AAcA,SACE,oBAAC,SAAD;AACE,IAAA,SAAS,EAAET,UAAU,CACnB,UADmB,EAEnB;AAFmB,8BAGAa,KAHA,EADvB;AAME,IAAA,SAAS,EAAEH,SANb;AAOE,IAAA,KAAK,EAAEF,KAPT;AAQE,IAAA,UAAU,EAAEG,UARd;AASE,IAAA,QAAQ,EAAEK,SAAS,CAACY;AATtB,KAWE,6CACMZ,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,EAAEG;AAPP,KAXF,CADF;AAuBD,CAvDD,C,CAyDA;;;AACA,OAAO,IAAMQ,QAAQ,GAAG3B,cAAc,CAACG,iBAAD,EAAoB;AAAEQ,EAAAA,KAAK,EAAE;AAAT,CAApB,CAA/B","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>;