@vkontakte/vkui 7.4.4 → 7.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (963) hide show
  1. package/README.md +2 -2
  2. package/dist/components/Accordion/Accordion.d.ts +8 -1
  3. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  4. package/dist/components/Accordion/Accordion.js +9 -4
  5. package/dist/components/Accordion/Accordion.js.map +1 -1
  6. package/dist/components/Accordion/AccordionContent.d.ts +1 -1
  7. package/dist/components/Accordion/AccordionContent.d.ts.map +1 -1
  8. package/dist/components/Accordion/AccordionContent.js +4 -1
  9. package/dist/components/Accordion/AccordionContent.js.map +1 -1
  10. package/dist/components/Accordion/AccordionContext.d.ts +5 -0
  11. package/dist/components/Accordion/AccordionContext.d.ts.map +1 -1
  12. package/dist/components/Accordion/AccordionContext.js +12 -0
  13. package/dist/components/Accordion/AccordionContext.js.map +1 -1
  14. package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
  15. package/dist/components/ActionSheet/ActionSheet.js +1 -1
  16. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  17. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  18. package/dist/components/ActionSheetItem/ActionSheetItem.js +1 -1
  19. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  20. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +1 -1
  21. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +1 -1
  22. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  23. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  24. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  25. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  26. package/dist/components/Alert/Alert.d.ts +1 -1
  27. package/dist/components/Alert/Alert.js +1 -1
  28. package/dist/components/Alert/Alert.js.map +1 -1
  29. package/dist/components/AppRoot/AppRoot.d.ts +3 -3
  30. package/dist/components/AppRoot/AppRoot.js +1 -1
  31. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  32. package/dist/components/AspectRatio/AspectRatio.d.ts +1 -1
  33. package/dist/components/AspectRatio/AspectRatio.js +1 -1
  34. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  35. package/dist/components/Avatar/Avatar.d.ts +1 -1
  36. package/dist/components/Avatar/Avatar.js +1 -1
  37. package/dist/components/Avatar/Avatar.js.map +1 -1
  38. package/dist/components/Badge/Badge.d.ts +1 -1
  39. package/dist/components/Badge/Badge.js +1 -1
  40. package/dist/components/Badge/Badge.js.map +1 -1
  41. package/dist/components/Banner/Banner.d.ts +3 -3
  42. package/dist/components/Banner/Banner.js +1 -1
  43. package/dist/components/Banner/Banner.js.map +1 -1
  44. package/dist/components/Button/Button.d.ts +1 -1
  45. package/dist/components/Button/Button.js +1 -1
  46. package/dist/components/Button/Button.js.map +1 -1
  47. package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -1
  48. package/dist/components/ButtonGroup/ButtonGroup.js +1 -1
  49. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  50. package/dist/components/Calendar/Calendar.d.ts +1 -1
  51. package/dist/components/Calendar/Calendar.js +1 -1
  52. package/dist/components/Calendar/Calendar.js.map +1 -1
  53. package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
  54. package/dist/components/CalendarRange/CalendarRange.js +1 -1
  55. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  56. package/dist/components/Card/Card.d.ts +1 -1
  57. package/dist/components/Card/Card.js +1 -1
  58. package/dist/components/Card/Card.js.map +1 -1
  59. package/dist/components/CardGrid/CardGrid.d.ts +1 -1
  60. package/dist/components/CardGrid/CardGrid.js +1 -1
  61. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  62. package/dist/components/CardScroll/CardScroll.d.ts +1 -1
  63. package/dist/components/CardScroll/CardScroll.js +1 -1
  64. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  65. package/dist/components/Cell/Cell.d.ts +1 -1
  66. package/dist/components/Cell/Cell.js +1 -1
  67. package/dist/components/Cell/Cell.js.map +1 -1
  68. package/dist/components/CellButton/CellButton.d.ts +1 -1
  69. package/dist/components/CellButton/CellButton.js +1 -1
  70. package/dist/components/CellButton/CellButton.js.map +1 -1
  71. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +1 -1
  72. package/dist/components/CellButtonGroup/CellButtonGroup.js +1 -1
  73. package/dist/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
  74. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  75. package/dist/components/Checkbox/Checkbox.js +1 -1
  76. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  77. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  78. package/dist/components/ChipsInput/ChipsInput.js +1 -1
  79. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  80. package/dist/components/ChipsInputBase/Chip/Chip.d.ts +1 -1
  81. package/dist/components/ChipsInputBase/Chip/Chip.js +1 -1
  82. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  83. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +1 -1
  84. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
  85. package/dist/components/ChipsInputBase/ChipsInputBase.js +64 -37
  86. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  87. package/dist/components/ChipsInputBase/helpers.d.ts.map +1 -1
  88. package/dist/components/ChipsInputBase/helpers.js +2 -0
  89. package/dist/components/ChipsInputBase/helpers.js.map +1 -1
  90. package/dist/components/ChipsInputBase/types.d.ts +5 -1
  91. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  92. package/dist/components/ChipsInputBase/types.js.map +1 -1
  93. package/dist/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  94. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  95. package/dist/components/ChipsSelect/ChipsSelect.js +7 -5
  96. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  97. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  98. package/dist/components/Clickable/Clickable.js +110 -18
  99. package/dist/components/Clickable/Clickable.js.map +1 -1
  100. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts +1 -1
  101. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
  102. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  103. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  104. package/dist/components/ConfigProvider/ConfigProvider.js +1 -1
  105. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  106. package/dist/components/ContentBadge/ContentBadge.d.ts +1 -1
  107. package/dist/components/ContentBadge/ContentBadge.js +1 -1
  108. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  109. package/dist/components/ContentCard/ContentCard.d.ts +1 -1
  110. package/dist/components/ContentCard/ContentCard.js +1 -1
  111. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  112. package/dist/components/Counter/Counter.d.ts +1 -1
  113. package/dist/components/Counter/Counter.js +1 -1
  114. package/dist/components/Counter/Counter.js.map +1 -1
  115. package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  116. package/dist/components/CustomScrollView/CustomScrollView.js +1 -1
  117. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  118. package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
  119. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  120. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  121. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +3 -3
  122. package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
  123. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  124. package/dist/components/DateInput/DateInput.d.ts +1 -1
  125. package/dist/components/DateInput/DateInput.js +2 -3
  126. package/dist/components/DateInput/DateInput.js.map +1 -1
  127. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  128. package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
  129. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  130. package/dist/components/DirectionProvider/DirectionProvider.d.ts +1 -1
  131. package/dist/components/DirectionProvider/DirectionProvider.js +1 -1
  132. package/dist/components/DirectionProvider/DirectionProvider.js.map +1 -1
  133. package/dist/components/Div/Div.d.ts +1 -1
  134. package/dist/components/Div/Div.js +1 -1
  135. package/dist/components/Div/Div.js.map +1 -1
  136. package/dist/components/DropZone/DropZone.d.ts +1 -1
  137. package/dist/components/DropZone/DropZone.js +1 -1
  138. package/dist/components/DropZone/DropZone.js.map +1 -1
  139. package/dist/components/Epic/Epic.d.ts +1 -1
  140. package/dist/components/Epic/Epic.js +1 -1
  141. package/dist/components/Epic/Epic.js.map +1 -1
  142. package/dist/components/Epic/ScrollSaver.d.ts +0 -3
  143. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  144. package/dist/components/Epic/ScrollSaver.js +1 -3
  145. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  146. package/dist/components/File/File.d.ts +1 -1
  147. package/dist/components/File/File.js +1 -1
  148. package/dist/components/File/File.js.map +1 -1
  149. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -1
  150. package/dist/components/FixedLayout/FixedLayout.js +1 -1
  151. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  152. package/dist/components/Flex/Flex.d.ts +3 -0
  153. package/dist/components/Flex/Flex.d.ts.map +1 -1
  154. package/dist/components/Flex/Flex.js +3 -1
  155. package/dist/components/Flex/Flex.js.map +1 -1
  156. package/dist/components/FocusTrap/FocusTrap.d.ts +0 -3
  157. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  158. package/dist/components/FocusTrap/FocusTrap.js +1 -3
  159. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  160. package/dist/components/Footer/Footer.d.ts +1 -1
  161. package/dist/components/Footer/Footer.js +1 -1
  162. package/dist/components/Footer/Footer.js.map +1 -1
  163. package/dist/components/FormField/FormField.d.ts +3 -3
  164. package/dist/components/FormField/FormField.js +1 -1
  165. package/dist/components/FormField/FormField.js.map +1 -1
  166. package/dist/components/FormItem/FormItem.d.ts +1 -1
  167. package/dist/components/FormItem/FormItem.js +1 -1
  168. package/dist/components/FormItem/FormItem.js.map +1 -1
  169. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  170. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +1 -1
  171. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  172. package/dist/components/FormStatus/FormStatus.d.ts +1 -1
  173. package/dist/components/FormStatus/FormStatus.js +1 -1
  174. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  175. package/dist/components/Gallery/Gallery.d.ts +1 -1
  176. package/dist/components/Gallery/Gallery.js +1 -1
  177. package/dist/components/Gallery/Gallery.js.map +1 -1
  178. package/dist/components/Gradient/Gradient.d.ts +1 -1
  179. package/dist/components/Gradient/Gradient.js +1 -1
  180. package/dist/components/Gradient/Gradient.js.map +1 -1
  181. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  182. package/dist/components/GridAvatar/GridAvatar.js +1 -1
  183. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  184. package/dist/components/Group/Group.d.ts +1 -1
  185. package/dist/components/Group/Group.js +1 -1
  186. package/dist/components/Group/Group.js.map +1 -1
  187. package/dist/components/Header/Header.d.ts +1 -1
  188. package/dist/components/Header/Header.js +1 -1
  189. package/dist/components/Header/Header.js.map +1 -1
  190. package/dist/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  191. package/dist/components/HorizontalCell/HorizontalCell.js +1 -1
  192. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  193. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +3 -0
  194. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  195. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +3 -1
  196. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  197. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  198. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -1
  199. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  200. package/dist/components/IconButton/IconButton.d.ts +1 -1
  201. package/dist/components/IconButton/IconButton.js +1 -1
  202. package/dist/components/IconButton/IconButton.js.map +1 -1
  203. package/dist/components/Image/Image.d.ts +1 -1
  204. package/dist/components/Image/Image.js +1 -1
  205. package/dist/components/Image/Image.js.map +1 -1
  206. package/dist/components/ImageBase/ImageBase.d.ts +1 -1
  207. package/dist/components/ImageBase/ImageBase.js +1 -1
  208. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  209. package/dist/components/InfoRow/InfoRow.d.ts +1 -1
  210. package/dist/components/InfoRow/InfoRow.js +1 -1
  211. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  212. package/dist/components/Input/Input.d.ts +1 -1
  213. package/dist/components/Input/Input.js +1 -1
  214. package/dist/components/Input/Input.js.map +1 -1
  215. package/dist/components/Link/Link.d.ts +1 -1
  216. package/dist/components/Link/Link.js +1 -1
  217. package/dist/components/Link/Link.js.map +1 -1
  218. package/dist/components/List/List.d.ts +1 -1
  219. package/dist/components/List/List.js +1 -1
  220. package/dist/components/List/List.js.map +1 -1
  221. package/dist/components/LocaleProvider/LocaleProvider.d.ts +1 -1
  222. package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
  223. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
  224. package/dist/components/Mark/Mark.d.ts +1 -1
  225. package/dist/components/Mark/Mark.js +1 -1
  226. package/dist/components/Mark/Mark.js.map +1 -1
  227. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  228. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
  229. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  230. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  231. package/dist/components/ModalCard/ModalCard.js +1 -1
  232. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  233. package/dist/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  234. package/dist/components/ModalCardBase/ModalCardBase.js +1 -1
  235. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  236. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  237. package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -1
  238. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  239. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
  240. package/dist/components/ModalOutsideButton/ModalOutsideButton.js +1 -1
  241. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  242. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  243. package/dist/components/ModalPage/ModalPage.js +1 -1
  244. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  245. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  246. package/dist/components/ModalPage/ModalPageBase.js +2 -2
  247. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  248. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
  249. package/dist/components/ModalPageHeader/ModalPageHeader.js +1 -1
  250. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  251. package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
  252. package/dist/components/ModalRoot/ModalRoot.js +1 -1
  253. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  254. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
  255. package/dist/components/NativeSelect/NativeSelect.js +1 -1
  256. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  257. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +1 -1
  258. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +1 -1
  259. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  260. package/dist/components/Pagination/Pagination.d.ts +3 -3
  261. package/dist/components/Pagination/Pagination.js +1 -1
  262. package/dist/components/Pagination/Pagination.js.map +1 -1
  263. package/dist/components/Panel/Panel.d.ts +3 -3
  264. package/dist/components/Panel/Panel.js +1 -1
  265. package/dist/components/Panel/Panel.js.map +1 -1
  266. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  267. package/dist/components/PanelHeader/PanelHeader.js +1 -1
  268. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  269. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  270. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +1 -1
  271. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  272. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  273. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  274. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  275. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -1
  276. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  277. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  278. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  279. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +1 -1
  280. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  281. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  282. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  283. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  284. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -1
  285. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  286. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  287. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -1
  288. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  289. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  290. package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
  291. package/dist/components/PanelSpinner/PanelSpinner.js +1 -1
  292. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  293. package/dist/components/Placeholder/Placeholder.d.ts +1 -1
  294. package/dist/components/Placeholder/Placeholder.js +1 -1
  295. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  296. package/dist/components/PlatformProvider/PlatformProvider.d.ts +1 -1
  297. package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
  298. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  299. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  300. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -1
  301. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  302. package/dist/components/Popover/Popover.d.ts +1 -1
  303. package/dist/components/Popover/Popover.js +1 -1
  304. package/dist/components/Popover/Popover.js.map +1 -1
  305. package/dist/components/Popper/Popper.d.ts +1 -1
  306. package/dist/components/Popper/Popper.js +1 -1
  307. package/dist/components/Popper/Popper.js.map +1 -1
  308. package/dist/components/Progress/Progress.d.ts +1 -1
  309. package/dist/components/Progress/Progress.js +1 -1
  310. package/dist/components/Progress/Progress.js.map +1 -1
  311. package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  312. package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
  313. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  314. package/dist/components/Radio/Radio.d.ts +1 -1
  315. package/dist/components/Radio/Radio.js +1 -1
  316. package/dist/components/Radio/Radio.js.map +1 -1
  317. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  318. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  319. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  320. package/dist/components/RichCell/RichCell.d.ts +3 -3
  321. package/dist/components/RichCell/RichCell.js +1 -1
  322. package/dist/components/RichCell/RichCell.js.map +1 -1
  323. package/dist/components/Root/Root.d.ts +1 -1
  324. package/dist/components/Root/Root.js +1 -1
  325. package/dist/components/Root/Root.js.map +1 -1
  326. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +1 -1
  327. package/dist/components/ScreenSpinner/ScreenSpinner.js +1 -1
  328. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  329. package/dist/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  330. package/dist/components/ScrollArrow/ScrollArrow.js +1 -1
  331. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  332. package/dist/components/Search/Search.d.ts +1 -1
  333. package/dist/components/Search/Search.js +1 -1
  334. package/dist/components/Search/Search.js.map +1 -1
  335. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  336. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  337. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  338. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +0 -3
  339. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  340. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -3
  341. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  342. package/dist/components/Select/Select.d.ts +1 -1
  343. package/dist/components/Select/Select.js +1 -1
  344. package/dist/components/Select/Select.js.map +1 -1
  345. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  346. package/dist/components/SelectMimicry/SelectMimicry.js +1 -1
  347. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  348. package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
  349. package/dist/components/SelectionControl/SelectionControl.js +1 -1
  350. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  351. package/dist/components/Separator/Separator.d.ts +1 -1
  352. package/dist/components/Separator/Separator.js +1 -1
  353. package/dist/components/Separator/Separator.js.map +1 -1
  354. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  355. package/dist/components/SimpleCell/SimpleCell.js +1 -1
  356. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  357. package/dist/components/SimpleGrid/SimpleGrid.d.ts +3 -0
  358. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  359. package/dist/components/SimpleGrid/SimpleGrid.js +3 -1
  360. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  361. package/dist/components/Skeleton/Skeleton.d.ts +3 -0
  362. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  363. package/dist/components/Skeleton/Skeleton.js +3 -0
  364. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  365. package/dist/components/Slider/Slider.d.ts +1 -1
  366. package/dist/components/Slider/Slider.js +1 -1
  367. package/dist/components/Slider/Slider.js.map +1 -1
  368. package/dist/components/Snackbar/Snackbar.d.ts +1 -1
  369. package/dist/components/Snackbar/Snackbar.js +1 -1
  370. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  371. package/dist/components/Spacing/Spacing.d.ts +1 -1
  372. package/dist/components/Spacing/Spacing.js +1 -1
  373. package/dist/components/Spacing/Spacing.js.map +1 -1
  374. package/dist/components/Spinner/Spinner.d.ts +1 -1
  375. package/dist/components/Spinner/Spinner.js +1 -1
  376. package/dist/components/Spinner/Spinner.js.map +1 -1
  377. package/dist/components/SplitCol/SplitCol.d.ts +1 -1
  378. package/dist/components/SplitCol/SplitCol.js +1 -1
  379. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  380. package/dist/components/SplitLayout/SplitLayout.d.ts +1 -1
  381. package/dist/components/SplitLayout/SplitLayout.js +1 -1
  382. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  383. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  384. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -1
  385. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  386. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  387. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
  388. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  389. package/dist/components/Switch/Switch.d.ts +1 -1
  390. package/dist/components/Switch/Switch.js +1 -1
  391. package/dist/components/Switch/Switch.js.map +1 -1
  392. package/dist/components/Tabbar/Tabbar.d.ts +1 -1
  393. package/dist/components/Tabbar/Tabbar.js +1 -1
  394. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  395. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  396. package/dist/components/TabbarItem/TabbarItem.js +1 -1
  397. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  398. package/dist/components/Tabs/Tabs.d.ts +1 -1
  399. package/dist/components/Tabs/Tabs.js +1 -1
  400. package/dist/components/Tabs/Tabs.js.map +1 -1
  401. package/dist/components/TabsItem/TabsItem.d.ts +3 -3
  402. package/dist/components/TabsItem/TabsItem.js +1 -1
  403. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  404. package/dist/components/Textarea/Textarea.d.ts +1 -1
  405. package/dist/components/Textarea/Textarea.js +1 -1
  406. package/dist/components/Textarea/Textarea.js.map +1 -1
  407. package/dist/components/ToolButton/ToolButton.d.ts +1 -1
  408. package/dist/components/ToolButton/ToolButton.js +1 -1
  409. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  410. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  411. package/dist/components/Tooltip/Tooltip.js +1 -1
  412. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  413. package/dist/components/TooltipBase/TooltipBase.d.ts +0 -2
  414. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  415. package/dist/components/TooltipBase/TooltipBase.js +0 -2
  416. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  417. package/dist/components/Touch/Touch.d.ts +1 -1
  418. package/dist/components/Touch/Touch.js +1 -1
  419. package/dist/components/Touch/Touch.js.map +1 -1
  420. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  421. package/dist/components/Typography/Caption/Caption.js +1 -1
  422. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  423. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
  424. package/dist/components/Typography/DisplayTitle/DisplayTitle.js +1 -1
  425. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  426. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +1 -1
  427. package/dist/components/Typography/EllipsisText/EllipsisText.js +1 -1
  428. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  429. package/dist/components/Typography/Footnote/Footnote.d.ts +1 -1
  430. package/dist/components/Typography/Footnote/Footnote.js +1 -1
  431. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  432. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  433. package/dist/components/Typography/Headline/Headline.js +1 -1
  434. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  435. package/dist/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  436. package/dist/components/Typography/Paragraph/Paragraph.js +1 -1
  437. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  438. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -1
  439. package/dist/components/Typography/Subhead/Subhead.js +1 -1
  440. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  441. package/dist/components/Typography/Text/Text.d.ts +1 -1
  442. package/dist/components/Typography/Text/Text.js +1 -1
  443. package/dist/components/Typography/Text/Text.js.map +1 -1
  444. package/dist/components/Typography/Title/Title.d.ts +1 -1
  445. package/dist/components/Typography/Title/Title.js +1 -1
  446. package/dist/components/Typography/Title/Title.js.map +1 -1
  447. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +4 -1
  448. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  449. package/dist/components/UnstyledTextField/UnstyledTextField.js +4 -1
  450. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  451. package/dist/components/UsersStack/UsersStack.d.ts +1 -1
  452. package/dist/components/UsersStack/UsersStack.js +1 -1
  453. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  454. package/dist/components/View/View.d.ts +1 -1
  455. package/dist/components/View/View.js +1 -1
  456. package/dist/components/View/View.js.map +1 -1
  457. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  458. package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -1
  459. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  460. package/dist/components/WriteBar/WriteBar.d.ts +1 -1
  461. package/dist/components/WriteBar/WriteBar.js +1 -1
  462. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  463. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  464. package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
  465. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  466. package/dist/components.css +1 -1
  467. package/dist/components.css.map +1 -1
  468. package/dist/cssm/components/Accordion/Accordion.js +6 -2
  469. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  470. package/dist/cssm/components/Accordion/AccordionContent.js +4 -1
  471. package/dist/cssm/components/Accordion/AccordionContent.js.map +1 -1
  472. package/dist/cssm/components/Accordion/AccordionContext.js +12 -0
  473. package/dist/cssm/components/Accordion/AccordionContext.js.map +1 -1
  474. package/dist/cssm/components/ActionSheet/ActionSheet.js +1 -1
  475. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  476. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +1 -1
  477. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  478. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +1 -1
  479. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  480. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  481. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  482. package/dist/cssm/components/Alert/Alert.js +1 -1
  483. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  484. package/dist/cssm/components/AppRoot/AppRoot.js +1 -1
  485. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  486. package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
  487. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  488. package/dist/cssm/components/Avatar/Avatar.js +1 -1
  489. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  490. package/dist/cssm/components/Badge/Badge.js +1 -1
  491. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  492. package/dist/cssm/components/Banner/Banner.js +1 -1
  493. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  494. package/dist/cssm/components/Button/Button.js +1 -1
  495. package/dist/cssm/components/Button/Button.js.map +1 -1
  496. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -1
  497. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  498. package/dist/cssm/components/Calendar/Calendar.js +1 -1
  499. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  500. package/dist/cssm/components/CalendarRange/CalendarRange.js +1 -1
  501. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  502. package/dist/cssm/components/Card/Card.js +1 -1
  503. package/dist/cssm/components/Card/Card.js.map +1 -1
  504. package/dist/cssm/components/CardGrid/CardGrid.js +1 -1
  505. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  506. package/dist/cssm/components/CardScroll/CardScroll.js +1 -1
  507. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  508. package/dist/cssm/components/Cell/Cell.js +1 -1
  509. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  510. package/dist/cssm/components/CellButton/CellButton.js +1 -1
  511. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  512. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js +1 -1
  513. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
  514. package/dist/cssm/components/Checkbox/Checkbox.js +1 -1
  515. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  516. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  517. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  518. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js +1 -1
  519. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  520. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +59 -34
  521. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  522. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +17 -3
  523. package/dist/cssm/components/ChipsInputBase/helpers.js +2 -0
  524. package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
  525. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  526. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -4
  527. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  528. package/dist/cssm/components/Clickable/Clickable.js +77 -14
  529. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  530. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
  531. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  532. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +1 -1
  533. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  534. package/dist/cssm/components/ContentBadge/ContentBadge.js +1 -1
  535. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  536. package/dist/cssm/components/ContentCard/ContentCard.js +1 -1
  537. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  538. package/dist/cssm/components/Counter/Counter.js +1 -1
  539. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  540. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +1 -1
  541. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  542. package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
  543. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  544. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
  545. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  546. package/dist/cssm/components/DateInput/DateInput.js +2 -3
  547. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  548. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
  549. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  550. package/dist/cssm/components/DirectionProvider/DirectionProvider.js +1 -1
  551. package/dist/cssm/components/DirectionProvider/DirectionProvider.js.map +1 -1
  552. package/dist/cssm/components/Div/Div.js +1 -1
  553. package/dist/cssm/components/Div/Div.js.map +1 -1
  554. package/dist/cssm/components/DropZone/DropZone.js +1 -1
  555. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  556. package/dist/cssm/components/Epic/Epic.js +1 -1
  557. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  558. package/dist/cssm/components/Epic/ScrollSaver.js +1 -3
  559. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  560. package/dist/cssm/components/File/File.js +1 -1
  561. package/dist/cssm/components/File/File.js.map +1 -1
  562. package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -1
  563. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  564. package/dist/cssm/components/Flex/Flex.js +3 -1
  565. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  566. package/dist/cssm/components/FocusTrap/FocusTrap.js +1 -3
  567. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  568. package/dist/cssm/components/Footer/Footer.js +1 -1
  569. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  570. package/dist/cssm/components/FormField/FormField.js +1 -1
  571. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  572. package/dist/cssm/components/FormItem/FormItem.js +1 -1
  573. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  574. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +1 -1
  575. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  576. package/dist/cssm/components/FormStatus/FormStatus.js +1 -1
  577. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  578. package/dist/cssm/components/Gallery/Gallery.js +1 -1
  579. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  580. package/dist/cssm/components/Gradient/Gradient.js +1 -1
  581. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  582. package/dist/cssm/components/GridAvatar/GridAvatar.js +1 -1
  583. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  584. package/dist/cssm/components/Group/Group.js +1 -1
  585. package/dist/cssm/components/Group/Group.js.map +1 -1
  586. package/dist/cssm/components/Header/Header.js +1 -1
  587. package/dist/cssm/components/Header/Header.js.map +1 -1
  588. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -1
  589. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  590. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +3 -1
  591. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  592. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -1
  593. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  594. package/dist/cssm/components/IconButton/IconButton.js +1 -1
  595. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  596. package/dist/cssm/components/Image/Image.js +1 -1
  597. package/dist/cssm/components/Image/Image.js.map +1 -1
  598. package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
  599. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  600. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  601. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  602. package/dist/cssm/components/Input/Input.js +1 -1
  603. package/dist/cssm/components/Input/Input.js.map +1 -1
  604. package/dist/cssm/components/Link/Link.js +1 -1
  605. package/dist/cssm/components/Link/Link.js.map +1 -1
  606. package/dist/cssm/components/List/List.js +1 -1
  607. package/dist/cssm/components/List/List.js.map +1 -1
  608. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
  609. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  610. package/dist/cssm/components/Mark/Mark.js +1 -1
  611. package/dist/cssm/components/Mark/Mark.js.map +1 -1
  612. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  613. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  614. package/dist/cssm/components/ModalCard/ModalCard.js +1 -1
  615. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  616. package/dist/cssm/components/ModalCard/ModalCard.module.css +14 -9
  617. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -1
  618. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  619. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
  620. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  621. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js +1 -1
  622. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  623. package/dist/cssm/components/ModalPage/ModalPage.js +1 -1
  624. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  625. package/dist/cssm/components/ModalPage/ModalPage.module.css +6 -2
  626. package/dist/cssm/components/ModalPage/ModalPageBase.js +2 -2
  627. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  628. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +1 -1
  629. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  630. package/dist/cssm/components/ModalRoot/ModalRoot.js +1 -1
  631. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  632. package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -1
  633. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  634. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +1 -1
  635. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  636. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  637. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  638. package/dist/cssm/components/Panel/Panel.js +1 -1
  639. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  640. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -1
  641. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  642. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +1 -1
  643. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  644. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  645. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  646. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  647. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  648. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +1 -1
  649. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  650. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  651. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  652. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  653. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  654. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  655. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  656. package/dist/cssm/components/PanelSpinner/PanelSpinner.js +1 -1
  657. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  658. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  659. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  660. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  661. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  662. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -1
  663. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  664. package/dist/cssm/components/Popover/Popover.js +1 -1
  665. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  666. package/dist/cssm/components/Popper/Popper.js +1 -1
  667. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  668. package/dist/cssm/components/Progress/Progress.js +1 -1
  669. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  670. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
  671. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  672. package/dist/cssm/components/Radio/Radio.js +1 -1
  673. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  674. package/dist/cssm/components/RadioGroup/RadioGroup.js +1 -1
  675. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  676. package/dist/cssm/components/RichCell/RichCell.js +1 -1
  677. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  678. package/dist/cssm/components/Root/Root.js +1 -1
  679. package/dist/cssm/components/Root/Root.js.map +1 -1
  680. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -1
  681. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  682. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +1 -1
  683. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  684. package/dist/cssm/components/Search/Search.js +1 -1
  685. package/dist/cssm/components/Search/Search.js.map +1 -1
  686. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +1 -1
  687. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  688. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -3
  689. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  690. package/dist/cssm/components/Select/Select.js +1 -1
  691. package/dist/cssm/components/Select/Select.js.map +1 -1
  692. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +1 -1
  693. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  694. package/dist/cssm/components/SelectionControl/SelectionControl.js +1 -1
  695. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  696. package/dist/cssm/components/Separator/Separator.js +1 -1
  697. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  698. package/dist/cssm/components/SimpleCell/SimpleCell.js +1 -1
  699. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  700. package/dist/cssm/components/SimpleGrid/SimpleGrid.js +3 -1
  701. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  702. package/dist/cssm/components/Skeleton/Skeleton.js +3 -0
  703. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  704. package/dist/cssm/components/Slider/Slider.js +1 -1
  705. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  706. package/dist/cssm/components/Snackbar/Snackbar.js +1 -1
  707. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  708. package/dist/cssm/components/Spacing/Spacing.js +1 -1
  709. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  710. package/dist/cssm/components/Spinner/Spinner.js +1 -1
  711. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  712. package/dist/cssm/components/SplitCol/SplitCol.js +1 -1
  713. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  714. package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
  715. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  716. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  717. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  718. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  719. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  720. package/dist/cssm/components/Switch/Switch.js +1 -1
  721. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  722. package/dist/cssm/components/Tabbar/Tabbar.js +1 -1
  723. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  724. package/dist/cssm/components/TabbarItem/TabbarItem.js +1 -1
  725. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  726. package/dist/cssm/components/Tabs/Tabs.js +1 -1
  727. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  728. package/dist/cssm/components/TabsItem/TabsItem.js +1 -1
  729. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  730. package/dist/cssm/components/Textarea/Textarea.js +1 -1
  731. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  732. package/dist/cssm/components/ToolButton/ToolButton.js +1 -1
  733. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  734. package/dist/cssm/components/Tooltip/Tooltip.js +1 -1
  735. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  736. package/dist/cssm/components/TooltipBase/TooltipBase.js +0 -2
  737. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  738. package/dist/cssm/components/Touch/Touch.js +1 -1
  739. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  740. package/dist/cssm/components/Typography/Caption/Caption.js +1 -1
  741. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  742. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js +1 -1
  743. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  744. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js +1 -1
  745. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  746. package/dist/cssm/components/Typography/Footnote/Footnote.js +1 -1
  747. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  748. package/dist/cssm/components/Typography/Headline/Headline.js +1 -1
  749. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  750. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +1 -1
  751. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  752. package/dist/cssm/components/Typography/Subhead/Subhead.js +1 -1
  753. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  754. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  755. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  756. package/dist/cssm/components/Typography/Title/Title.js +1 -1
  757. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  758. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js +4 -1
  759. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  760. package/dist/cssm/components/UsersStack/UsersStack.js +1 -1
  761. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  762. package/dist/cssm/components/View/View.js +1 -1
  763. package/dist/cssm/components/View/View.js.map +1 -1
  764. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  765. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  766. package/dist/cssm/components/WriteBar/WriteBar.js +1 -1
  767. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  768. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  769. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  770. package/dist/cssm/hooks/useAdaptivity.js +1 -1
  771. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  772. package/dist/cssm/index.js +1 -1
  773. package/dist/cssm/index.js.map +1 -1
  774. package/dist/cssm/lib/SSR.js +1 -1
  775. package/dist/cssm/lib/SSR.js.map +1 -1
  776. package/dist/cssm/lib/accessibility.js +4 -0
  777. package/dist/cssm/lib/accessibility.js.map +1 -1
  778. package/dist/hooks/useAdaptivity.d.ts +1 -1
  779. package/dist/hooks/useAdaptivity.js +1 -1
  780. package/dist/hooks/useAdaptivity.js.map +1 -1
  781. package/dist/index.d.ts +1 -1
  782. package/dist/index.d.ts.map +1 -1
  783. package/dist/index.js +1 -1
  784. package/dist/index.js.map +1 -1
  785. package/dist/lib/SSR.d.ts +1 -1
  786. package/dist/lib/SSR.js +1 -1
  787. package/dist/lib/SSR.js.map +1 -1
  788. package/dist/lib/accessibility.d.ts +1 -1
  789. package/dist/lib/accessibility.d.ts.map +1 -1
  790. package/dist/lib/accessibility.js +4 -0
  791. package/dist/lib/accessibility.js.map +1 -1
  792. package/dist/vkui.css +1 -1
  793. package/dist/vkui.css.map +1 -1
  794. package/package.json +5 -4
  795. package/src/components/Accordion/Accordion.tsx +13 -4
  796. package/src/components/Accordion/AccordionContent.tsx +5 -1
  797. package/src/components/Accordion/AccordionContext.tsx +17 -0
  798. package/src/components/ActionSheet/ActionSheet.tsx +1 -1
  799. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  800. package/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx +1 -1
  801. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +1 -1
  802. package/src/components/Alert/Alert.tsx +1 -1
  803. package/src/components/AppRoot/AppRoot.mdx +1 -1
  804. package/src/components/AppRoot/AppRoot.tsx +3 -3
  805. package/src/components/AspectRatio/AspectRatio.tsx +1 -1
  806. package/src/components/Avatar/Avatar.tsx +1 -1
  807. package/src/components/Badge/Badge.tsx +1 -1
  808. package/src/components/Banner/Banner.tsx +3 -3
  809. package/src/components/Button/Button.tsx +1 -1
  810. package/src/components/ButtonGroup/ButtonGroup.tsx +1 -1
  811. package/src/components/Calendar/Calendar.tsx +1 -1
  812. package/src/components/CalendarRange/CalendarRange.tsx +1 -1
  813. package/src/components/Card/Card.tsx +1 -1
  814. package/src/components/CardGrid/CardGrid.tsx +1 -1
  815. package/src/components/CardScroll/CardScroll.tsx +1 -1
  816. package/src/components/Cell/Cell.tsx +1 -1
  817. package/src/components/CellButton/CellButton.tsx +1 -1
  818. package/src/components/CellButtonGroup/CellButtonGroup.tsx +1 -1
  819. package/src/components/Checkbox/Checkbox.tsx +1 -1
  820. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  821. package/src/components/ChipsInputBase/Chip/Chip.tsx +1 -1
  822. package/src/components/ChipsInputBase/ChipsInputBase.module.css +15 -3
  823. package/src/components/ChipsInputBase/ChipsInputBase.module.css.d.ts.map +1 -1
  824. package/src/components/ChipsInputBase/ChipsInputBase.tsx +68 -37
  825. package/src/components/ChipsInputBase/helpers.ts +2 -0
  826. package/src/components/ChipsInputBase/types.ts +5 -1
  827. package/src/components/ChipsSelect/ChipsSelect.tsx +5 -2
  828. package/src/components/Clickable/Clickable.tsx +141 -32
  829. package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +1 -1
  830. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -1
  831. package/src/components/ContentBadge/ContentBadge.tsx +1 -1
  832. package/src/components/ContentCard/ContentCard.tsx +1 -1
  833. package/src/components/Counter/Counter.tsx +1 -1
  834. package/src/components/CustomScrollView/CustomScrollView.tsx +1 -1
  835. package/src/components/CustomSelect/CustomSelect.tsx +2 -2
  836. package/src/components/CustomSelectOption/CustomSelectOption.tsx +3 -3
  837. package/src/components/DateInput/DateInput.tsx +1 -1
  838. package/src/components/DateRangeInput/DateRangeInput.tsx +1 -1
  839. package/src/components/DirectionProvider/DirectionProvider.tsx +1 -1
  840. package/src/components/Div/Div.tsx +1 -1
  841. package/src/components/DropZone/DropZone.tsx +1 -1
  842. package/src/components/Epic/Epic.tsx +1 -1
  843. package/src/components/Epic/ScrollSaver.tsx +0 -3
  844. package/src/components/File/File.tsx +1 -1
  845. package/src/components/FixedLayout/FixedLayout.tsx +1 -1
  846. package/src/components/Flex/Flex.tsx +3 -0
  847. package/src/components/FocusTrap/FocusTrap.tsx +0 -3
  848. package/src/components/Footer/Footer.tsx +1 -1
  849. package/src/components/FormField/FormField.tsx +3 -3
  850. package/src/components/FormItem/FormItem.tsx +1 -1
  851. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -1
  852. package/src/components/FormStatus/FormStatus.tsx +1 -1
  853. package/src/components/Gallery/Gallery.tsx +1 -1
  854. package/src/components/Gradient/Gradient.tsx +1 -1
  855. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  856. package/src/components/Group/Group.tsx +1 -1
  857. package/src/components/Header/Header.tsx +1 -1
  858. package/src/components/HorizontalCell/HorizontalCell.tsx +1 -1
  859. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +3 -0
  860. package/src/components/HorizontalScroll/HorizontalScroll.tsx +1 -1
  861. package/src/components/IconButton/IconButton.tsx +1 -1
  862. package/src/components/Image/Image.tsx +1 -1
  863. package/src/components/ImageBase/ImageBase.tsx +1 -1
  864. package/src/components/InfoRow/InfoRow.tsx +1 -1
  865. package/src/components/Input/Input.tsx +1 -1
  866. package/src/components/Link/Link.tsx +1 -1
  867. package/src/components/List/List.tsx +1 -1
  868. package/src/components/LocaleProvider/LocaleProvider.tsx +1 -1
  869. package/src/components/Mark/Mark.tsx +1 -1
  870. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
  871. package/src/components/ModalCard/ModalCard.module.css +14 -8
  872. package/src/components/ModalCard/ModalCard.module.css.d.ts.map +1 -1
  873. package/src/components/ModalCard/ModalCard.tsx +1 -1
  874. package/src/components/ModalCardBase/ModalCardBase.tsx +3 -3
  875. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  876. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
  877. package/src/components/ModalPage/ModalPage.module.css +5 -1
  878. package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -1
  879. package/src/components/ModalPage/ModalPage.tsx +1 -1
  880. package/src/components/ModalPage/ModalPageBase.tsx +7 -2
  881. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
  882. package/src/components/ModalRoot/ModalRoot.tsx +1 -1
  883. package/src/components/NativeSelect/NativeSelect.tsx +1 -1
  884. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +1 -1
  885. package/src/components/Pagination/Pagination.tsx +3 -3
  886. package/src/components/Panel/Panel.tsx +3 -3
  887. package/src/components/PanelHeader/PanelHeader.tsx +1 -1
  888. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -1
  889. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
  890. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +1 -1
  891. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +1 -1
  892. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -1
  893. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -1
  894. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +1 -1
  895. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
  896. package/src/components/Placeholder/Placeholder.tsx +1 -1
  897. package/src/components/PlatformProvider/PlatformProvider.tsx +1 -1
  898. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -1
  899. package/src/components/Popover/Popover.tsx +1 -1
  900. package/src/components/Popper/Popper.tsx +1 -1
  901. package/src/components/Progress/Progress.tsx +1 -1
  902. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
  903. package/src/components/Radio/Radio.tsx +1 -1
  904. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  905. package/src/components/RichCell/RichCell.tsx +3 -3
  906. package/src/components/Root/Root.tsx +1 -1
  907. package/src/components/ScreenSpinner/ScreenSpinner.tsx +1 -1
  908. package/src/components/ScrollArrow/ScrollArrow.tsx +1 -1
  909. package/src/components/Search/Search.tsx +1 -1
  910. package/src/components/SegmentedControl/SegmentedControl.tsx +1 -1
  911. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +0 -3
  912. package/src/components/Select/Select.tsx +1 -1
  913. package/src/components/SelectMimicry/SelectMimicry.tsx +1 -1
  914. package/src/components/SelectionControl/SelectionControl.tsx +1 -1
  915. package/src/components/Separator/Separator.tsx +1 -1
  916. package/src/components/SimpleCell/SimpleCell.tsx +1 -1
  917. package/src/components/SimpleGrid/SimpleGrid.tsx +3 -0
  918. package/src/components/Skeleton/Skeleton.tsx +3 -0
  919. package/src/components/Slider/Slider.tsx +1 -1
  920. package/src/components/Snackbar/Snackbar.tsx +1 -1
  921. package/src/components/Spacing/Spacing.tsx +1 -1
  922. package/src/components/Spinner/Spinner.tsx +1 -1
  923. package/src/components/SplitCol/SplitCol.tsx +1 -1
  924. package/src/components/SplitLayout/SplitLayout.tsx +1 -1
  925. package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -1
  926. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  927. package/src/components/Switch/Switch.tsx +1 -1
  928. package/src/components/Tabbar/Tabbar.tsx +1 -1
  929. package/src/components/TabbarItem/TabbarItem.tsx +1 -1
  930. package/src/components/Tabs/Tabs.tsx +1 -1
  931. package/src/components/TabsItem/TabsItem.tsx +3 -3
  932. package/src/components/Textarea/Textarea.tsx +1 -1
  933. package/src/components/ToolButton/ToolButton.tsx +1 -1
  934. package/src/components/Tooltip/Tooltip.tsx +1 -1
  935. package/src/components/TooltipBase/TooltipBase.tsx +0 -2
  936. package/src/components/Touch/Touch.tsx +1 -1
  937. package/src/components/Typography/Caption/Caption.tsx +1 -1
  938. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
  939. package/src/components/Typography/EllipsisText/EllipsisText.tsx +1 -1
  940. package/src/components/Typography/Footnote/Footnote.tsx +1 -1
  941. package/src/components/Typography/Headline/Headline.tsx +1 -1
  942. package/src/components/Typography/Paragraph/Paragraph.tsx +1 -1
  943. package/src/components/Typography/Subhead/Subhead.tsx +1 -1
  944. package/src/components/Typography/Text/Text.tsx +1 -1
  945. package/src/components/Typography/Title/Title.tsx +1 -1
  946. package/src/components/UnstyledTextField/UnstyledTextField.mdx +1 -1
  947. package/src/components/UnstyledTextField/UnstyledTextField.tsx +4 -1
  948. package/src/components/UsersStack/UsersStack.tsx +1 -1
  949. package/src/components/View/View.tsx +1 -1
  950. package/src/components/VisuallyHidden/VisuallyHidden.tsx +1 -1
  951. package/src/components/WriteBar/WriteBar.tsx +1 -1
  952. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  953. package/src/hooks/useAdaptivity.ts +1 -1
  954. package/src/index.ts +1 -1
  955. package/src/lib/SSR.tsx +1 -1
  956. package/src/lib/accessibility.ts +6 -2
  957. package/dist/components/Clickable/RealClickable.d.ts +0 -6
  958. package/dist/components/Clickable/RealClickable.d.ts.map +0 -1
  959. package/dist/components/Clickable/RealClickable.js +0 -91
  960. package/dist/components/Clickable/RealClickable.js.map +0 -1
  961. package/dist/cssm/components/Clickable/RealClickable.js +0 -61
  962. package/dist/cssm/components/Clickable/RealClickable.js.map +0 -1
  963. package/src/components/Clickable/RealClickable.tsx +0 -100
@@ -47,7 +47,7 @@ export interface HeaderProps extends HTMLAttributesWithRootRef<HTMLElement>, Has
47
47
  afterSubtitle?: React.ReactNode;
48
48
  }
49
49
  /**
50
- * @see https://vkcom.github.io/VKUI/#/Header
50
+ * @see https://vkui.io/components/group#header
51
51
  */
52
52
  export declare const Header: ({ size, Component, children, subtitle, subtitleComponent, indicator, after, multiline, before, beforeTitle, afterTitle, beforeSubtitle, afterSubtitle, ...restProps }: HeaderProps) => React.ReactNode;
53
53
  //# sourceMappingURL=Header.d.ts.map
@@ -52,7 +52,7 @@ const Subtitle = ({ subtitleComponent, children, multiline, size })=>{
52
52
  });
53
53
  };
54
54
  /**
55
- * @see https://vkcom.github.io/VKUI/#/Header
55
+ * @see https://vkui.io/components/group#header
56
56
  */ export const Header = (_param)=>{
57
57
  var { size = 'm', Component = 'h2', children, subtitle, subtitleComponent = 'span', indicator, after, multiline, before, beforeTitle, afterTitle, beforeSubtitle, afterSubtitle } = _param, restProps = _object_without_properties(_param, [
58
58
  "size",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Header/Header.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode, isPrimitiveReactNode } from '@vkontakte/vkjs';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Paragraph } from '../Typography/Paragraph/Paragraph';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Header.module.css';\n\nexport interface HeaderProps extends HTMLAttributesWithRootRef<HTMLElement>, HasComponent {\n /**\n * Размер компонента.\n */\n size?: 's' | 'm' | 'l' | 'xl';\n /**\n * Подпись под основным текстом.\n */\n subtitle?: React.ReactNode;\n /**\n * Позволяет задать тип элемента в который будет обёрнут subtitle.\n */\n subtitleComponent?: React.ElementType;\n /**\n * Допускаются иконки, текст, Link.\n */\n after?: React.ReactNode;\n /**\n * Допускаются текст, Indicator.\n */\n indicator?: React.ReactNode;\n /**\n * Возможность отображения текста в несколько строк.\n */\n multiline?: boolean;\n /**\n * Иконка слева (рекомендуется использовать размер 28px).\n */\n before?: React.ReactNode;\n /**\n * Иконка слева от title (рекомендуется использовать размер 16px).\n */\n beforeTitle?: React.ReactNode;\n /**\n * Иконка справа от title (рекомендуется использовать размер 16px).\n */\n afterTitle?: React.ReactNode;\n /**\n * Иконка слева от subtitle (рекомендуется использовать размер 12px).\n */\n beforeSubtitle?: React.ReactNode;\n /**\n * Иконка справа от subtitle (рекомендуется использовать размер 12px).\n */\n afterSubtitle?: React.ReactNode;\n}\n\nconst sizeClassNames: Record<Exclude<HeaderProps['size'], undefined>, string> = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n xl: styles.sizeXl,\n};\n\ntype HeaderContentProps = Pick<HeaderProps, 'children' | 'size' | 'className'> & HasComponent;\n\nconst HeaderContent = ({ size, ...restProps }: HeaderContentProps) => {\n switch (size) {\n case 'xl':\n return <Title level=\"2\" weight=\"1\" {...restProps} />;\n case 'l':\n return <Title level=\"3\" weight=\"1\" {...restProps} />;\n case 'm':\n return <Headline {...restProps} />;\n case 's':\n return <Footnote caps weight=\"1\" {...restProps} />;\n }\n\n return null;\n};\n\nconst Subtitle: React.FC<\n Pick<HeaderProps, 'multiline' | 'subtitleComponent' | 'size'> & { children: React.ReactNode }\n> = ({ subtitleComponent, children, multiline, size }) => {\n const SubtitleElement = size === 'm' || size === 's' ? Caption : Subhead;\n return (\n <SubtitleElement\n className={classNames(styles.subtitle, multiline && styles.contentMultiline)}\n Component={subtitleComponent}\n >\n {children}\n </SubtitleElement>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Header\n */\nexport const Header = ({\n size = 'm',\n Component = 'h2',\n children,\n subtitle,\n subtitleComponent = 'span',\n indicator,\n after,\n multiline,\n before,\n beforeTitle,\n afterTitle,\n beforeSubtitle,\n afterSubtitle,\n ...restProps\n}: HeaderProps): React.ReactNode => {\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n sizeClassNames[size],\n isPrimitiveReactNode(indicator) && styles.pi,\n )}\n >\n {before && (\n <div className={classNames(styles.before, subtitle && styles.beforeWithSubtitle)}>\n {before}\n </div>\n )}\n <div className={styles.main}>\n <HeaderContent className={styles.content} Component={Component} size={size}>\n {beforeTitle && <div className={styles.contentBefore}>{beforeTitle}</div>}\n <span className={classNames(styles.contentIn, multiline && styles.contentMultiline)}>\n {children}\n </span>\n {afterTitle && <div className={styles.contentAfter}>{afterTitle}</div>}\n {hasReactNode(indicator) && (\n <Footnote className={styles.indicator} weight=\"2\">\n {indicator}\n </Footnote>\n )}\n </HeaderContent>\n {hasReactNode(subtitle) && (\n <div className={styles.subtitleWrapper}>\n {beforeSubtitle && <div className={styles.subtitleBefore}>{beforeSubtitle}</div>}\n <Subtitle multiline={multiline} subtitleComponent={subtitleComponent} size={size}>\n {subtitle}\n </Subtitle>\n {afterSubtitle && <div className={styles.subtitleAfter}>{afterSubtitle}</div>}\n </div>\n )}\n </div>\n\n {hasReactNode(after) && (\n <Paragraph className={styles.after} Component=\"span\">\n {after}\n </Paragraph>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","isPrimitiveReactNode","RootComponent","Caption","Footnote","Headline","Paragraph","Subhead","Title","sizeClassNames","s","m","l","xl","HeaderContent","size","restProps","level","weight","caps","Subtitle","subtitleComponent","children","multiline","SubtitleElement","className","Component","Header","subtitle","indicator","after","before","beforeTitle","afterTitle","beforeSubtitle","afterSubtitle","baseClassName","div","span"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,EAAEC,oBAAoB,QAAQ,kBAAkB;AAEjF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,SAAS,QAAQ,uCAAoC;AAC9D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,KAAK,QAAQ,+BAA4B;AAkDlD,MAAMC,iBAA0E;IAC9EC,CAAC;IACDC,CAAC;IACDC,CAAC;IACDC,EAAE;AACJ;AAIA,MAAMC,gBAAgB;QAAC,EAAEC,IAAI,EAAoC,WAA/BC;QAATD;;IACvB,OAAQA;QACN,KAAK;YACH,qBAAO,KAACP;gBAAMS,OAAM;gBAAIC,QAAO;eAAQF;QACzC,KAAK;YACH,qBAAO,KAACR;gBAAMS,OAAM;gBAAIC,QAAO;eAAQF;QACzC,KAAK;YACH,qBAAO,KAACX,6BAAaW;QACvB,KAAK;YACH,qBAAO,KAACZ;gBAASe,IAAI;gBAACD,QAAO;eAAQF;IACzC;IAEA,OAAO;AACT;AAEA,MAAMI,WAEF,CAAC,EAAEC,iBAAiB,EAAEC,QAAQ,EAAEC,SAAS,EAAER,IAAI,EAAE;IACnD,MAAMS,kBAAkBT,SAAS,OAAOA,SAAS,MAAMZ,UAAUI;IACjE,qBACE,KAACiB;QACCC,WAAW1B,mCAA4BwB;QACvCG,WAAWL;kBAEVC;;AAGP;AAEA;;CAEC,GACD,OAAO,MAAMK,SAAS;QAAC,EACrBZ,OAAO,GAAG,EACVW,YAAY,IAAI,EAChBJ,QAAQ,EACRM,QAAQ,EACRP,oBAAoB,MAAM,EAC1BQ,SAAS,EACTC,KAAK,EACLP,SAAS,EACTQ,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,cAAc,EACdC,aAAa,EAED,WADTnB;QAbHD;QACAW;QACAJ;QACAM;QACAP;QACAQ;QACAC;QACAP;QACAQ;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,MAACjC,uDACKc;QACJoB,eAAerC,+BAEbU,cAAc,CAACM,KAAK,EACpBd,qBAAqB4B;;YAGtBE,wBACC,KAACM;gBAAIZ,WAAW1B,iCAA0B6B;0BACvCG;;0BAGL,MAACM;gBAAIZ,SAAS;;kCACZ,MAACX;wBAAcW,SAAS;wBAAkBC,WAAWA;wBAAWX,MAAMA;;4BACnEiB,6BAAe,KAACK;gCAAIZ,SAAS;0CAAyBO;;0CACvD,KAACM;gCAAKb,WAAW1B,oCAA6BwB;0CAC3CD;;4BAEFW,4BAAc,KAACI;gCAAIZ,SAAS;0CAAwBQ;;4BACpDjC,aAAa6B,4BACZ,KAACzB;gCAASqB,SAAS;gCAAoBP,QAAO;0CAC3CW;;;;oBAIN7B,aAAa4B,2BACZ,MAACS;wBAAIZ,SAAS;;4BACXS,gCAAkB,KAACG;gCAAIZ,SAAS;0CAA0BS;;0CAC3D,KAACd;gCAASG,WAAWA;gCAAWF,mBAAmBA;gCAAmBN,MAAMA;0CACzEa;;4BAEFO,+BAAiB,KAACE;gCAAIZ,SAAS;0CAAyBU;;;;;;YAK9DnC,aAAa8B,wBACZ,KAACxB;gBAAUmB,SAAS;gBAAgBC,WAAU;0BAC3CI;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/Header/Header.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode, isPrimitiveReactNode } from '@vkontakte/vkjs';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Paragraph } from '../Typography/Paragraph/Paragraph';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Header.module.css';\n\nexport interface HeaderProps extends HTMLAttributesWithRootRef<HTMLElement>, HasComponent {\n /**\n * Размер компонента.\n */\n size?: 's' | 'm' | 'l' | 'xl';\n /**\n * Подпись под основным текстом.\n */\n subtitle?: React.ReactNode;\n /**\n * Позволяет задать тип элемента в который будет обёрнут subtitle.\n */\n subtitleComponent?: React.ElementType;\n /**\n * Допускаются иконки, текст, Link.\n */\n after?: React.ReactNode;\n /**\n * Допускаются текст, Indicator.\n */\n indicator?: React.ReactNode;\n /**\n * Возможность отображения текста в несколько строк.\n */\n multiline?: boolean;\n /**\n * Иконка слева (рекомендуется использовать размер 28px).\n */\n before?: React.ReactNode;\n /**\n * Иконка слева от title (рекомендуется использовать размер 16px).\n */\n beforeTitle?: React.ReactNode;\n /**\n * Иконка справа от title (рекомендуется использовать размер 16px).\n */\n afterTitle?: React.ReactNode;\n /**\n * Иконка слева от subtitle (рекомендуется использовать размер 12px).\n */\n beforeSubtitle?: React.ReactNode;\n /**\n * Иконка справа от subtitle (рекомендуется использовать размер 12px).\n */\n afterSubtitle?: React.ReactNode;\n}\n\nconst sizeClassNames: Record<Exclude<HeaderProps['size'], undefined>, string> = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n xl: styles.sizeXl,\n};\n\ntype HeaderContentProps = Pick<HeaderProps, 'children' | 'size' | 'className'> & HasComponent;\n\nconst HeaderContent = ({ size, ...restProps }: HeaderContentProps) => {\n switch (size) {\n case 'xl':\n return <Title level=\"2\" weight=\"1\" {...restProps} />;\n case 'l':\n return <Title level=\"3\" weight=\"1\" {...restProps} />;\n case 'm':\n return <Headline {...restProps} />;\n case 's':\n return <Footnote caps weight=\"1\" {...restProps} />;\n }\n\n return null;\n};\n\nconst Subtitle: React.FC<\n Pick<HeaderProps, 'multiline' | 'subtitleComponent' | 'size'> & { children: React.ReactNode }\n> = ({ subtitleComponent, children, multiline, size }) => {\n const SubtitleElement = size === 'm' || size === 's' ? Caption : Subhead;\n return (\n <SubtitleElement\n className={classNames(styles.subtitle, multiline && styles.contentMultiline)}\n Component={subtitleComponent}\n >\n {children}\n </SubtitleElement>\n );\n};\n\n/**\n * @see https://vkui.io/components/group#header\n */\nexport const Header = ({\n size = 'm',\n Component = 'h2',\n children,\n subtitle,\n subtitleComponent = 'span',\n indicator,\n after,\n multiline,\n before,\n beforeTitle,\n afterTitle,\n beforeSubtitle,\n afterSubtitle,\n ...restProps\n}: HeaderProps): React.ReactNode => {\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n sizeClassNames[size],\n isPrimitiveReactNode(indicator) && styles.pi,\n )}\n >\n {before && (\n <div className={classNames(styles.before, subtitle && styles.beforeWithSubtitle)}>\n {before}\n </div>\n )}\n <div className={styles.main}>\n <HeaderContent className={styles.content} Component={Component} size={size}>\n {beforeTitle && <div className={styles.contentBefore}>{beforeTitle}</div>}\n <span className={classNames(styles.contentIn, multiline && styles.contentMultiline)}>\n {children}\n </span>\n {afterTitle && <div className={styles.contentAfter}>{afterTitle}</div>}\n {hasReactNode(indicator) && (\n <Footnote className={styles.indicator} weight=\"2\">\n {indicator}\n </Footnote>\n )}\n </HeaderContent>\n {hasReactNode(subtitle) && (\n <div className={styles.subtitleWrapper}>\n {beforeSubtitle && <div className={styles.subtitleBefore}>{beforeSubtitle}</div>}\n <Subtitle multiline={multiline} subtitleComponent={subtitleComponent} size={size}>\n {subtitle}\n </Subtitle>\n {afterSubtitle && <div className={styles.subtitleAfter}>{afterSubtitle}</div>}\n </div>\n )}\n </div>\n\n {hasReactNode(after) && (\n <Paragraph className={styles.after} Component=\"span\">\n {after}\n </Paragraph>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","isPrimitiveReactNode","RootComponent","Caption","Footnote","Headline","Paragraph","Subhead","Title","sizeClassNames","s","m","l","xl","HeaderContent","size","restProps","level","weight","caps","Subtitle","subtitleComponent","children","multiline","SubtitleElement","className","Component","Header","subtitle","indicator","after","before","beforeTitle","afterTitle","beforeSubtitle","afterSubtitle","baseClassName","div","span"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,EAAEC,oBAAoB,QAAQ,kBAAkB;AAEjF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,SAAS,QAAQ,uCAAoC;AAC9D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,KAAK,QAAQ,+BAA4B;AAkDlD,MAAMC,iBAA0E;IAC9EC,CAAC;IACDC,CAAC;IACDC,CAAC;IACDC,EAAE;AACJ;AAIA,MAAMC,gBAAgB;QAAC,EAAEC,IAAI,EAAoC,WAA/BC;QAATD;;IACvB,OAAQA;QACN,KAAK;YACH,qBAAO,KAACP;gBAAMS,OAAM;gBAAIC,QAAO;eAAQF;QACzC,KAAK;YACH,qBAAO,KAACR;gBAAMS,OAAM;gBAAIC,QAAO;eAAQF;QACzC,KAAK;YACH,qBAAO,KAACX,6BAAaW;QACvB,KAAK;YACH,qBAAO,KAACZ;gBAASe,IAAI;gBAACD,QAAO;eAAQF;IACzC;IAEA,OAAO;AACT;AAEA,MAAMI,WAEF,CAAC,EAAEC,iBAAiB,EAAEC,QAAQ,EAAEC,SAAS,EAAER,IAAI,EAAE;IACnD,MAAMS,kBAAkBT,SAAS,OAAOA,SAAS,MAAMZ,UAAUI;IACjE,qBACE,KAACiB;QACCC,WAAW1B,mCAA4BwB;QACvCG,WAAWL;kBAEVC;;AAGP;AAEA;;CAEC,GACD,OAAO,MAAMK,SAAS;QAAC,EACrBZ,OAAO,GAAG,EACVW,YAAY,IAAI,EAChBJ,QAAQ,EACRM,QAAQ,EACRP,oBAAoB,MAAM,EAC1BQ,SAAS,EACTC,KAAK,EACLP,SAAS,EACTQ,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,cAAc,EACdC,aAAa,EAED,WADTnB;QAbHD;QACAW;QACAJ;QACAM;QACAP;QACAQ;QACAC;QACAP;QACAQ;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,MAACjC,uDACKc;QACJoB,eAAerC,+BAEbU,cAAc,CAACM,KAAK,EACpBd,qBAAqB4B;;YAGtBE,wBACC,KAACM;gBAAIZ,WAAW1B,iCAA0B6B;0BACvCG;;0BAGL,MAACM;gBAAIZ,SAAS;;kCACZ,MAACX;wBAAcW,SAAS;wBAAkBC,WAAWA;wBAAWX,MAAMA;;4BACnEiB,6BAAe,KAACK;gCAAIZ,SAAS;0CAAyBO;;0CACvD,KAACM;gCAAKb,WAAW1B,oCAA6BwB;0CAC3CD;;4BAEFW,4BAAc,KAACI;gCAAIZ,SAAS;0CAAwBQ;;4BACpDjC,aAAa6B,4BACZ,KAACzB;gCAASqB,SAAS;gCAAoBP,QAAO;0CAC3CW;;;;oBAIN7B,aAAa4B,2BACZ,MAACS;wBAAIZ,SAAS;;4BACXS,gCAAkB,KAACG;gCAAIZ,SAAS;0CAA0BS;;0CAC3D,KAACd;gCAASG,WAAWA;gCAAWF,mBAAmBA;gCAAmBN,MAAMA;0CACzEa;;4BAEFO,+BAAiB,KAACE;gCAAIZ,SAAS;0CAAyBU;;;;;;YAK9DnC,aAAa8B,wBACZ,KAACxB;gBAAUmB,SAAS;gBAAgBC,WAAU;0BAC3CI;;;;AAKX,EAAE"}
@@ -41,7 +41,7 @@ export interface HorizontalCellProps extends Omit<TappableOmitProps, 'size' | 'g
41
41
  TitleComponent?: React.ElementType;
42
42
  }
43
43
  /**
44
- * @see https://vkcom.github.io/VKUI/#/HorizontalCell
44
+ * @see https://vkui.io/components/horizontal-cell
45
45
  */
46
46
  export declare const HorizontalCell: ({ className, title, style, subtitle, size, children, getRootRef, getRef, extraSubtitle, textAlign, noPadding, TitleComponent, ...restProps }: HorizontalCellProps) => React.ReactNode;
47
47
  export {};
@@ -23,7 +23,7 @@ const textAlignClassNames = {
23
23
  end: "vkuiHorizontalCell__textAlignEnd"
24
24
  };
25
25
  /**
26
- * @see https://vkcom.github.io/VKUI/#/HorizontalCell
26
+ * @see https://vkui.io/components/horizontal-cell
27
27
  */ export const HorizontalCell = (_param)=>{
28
28
  var { className, title, style, subtitle, size = 's', children = /*#__PURE__*/ _jsx(Avatar, {
29
29
  size: 56
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/HorizontalCell/HorizontalCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport type { CSSCustomProperties, HasRef, HasRootRef, LiteralUnion } from '../../types';\nimport { Avatar } from '../Avatar/Avatar';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './HorizontalCell.module.css';\n\nexport const CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH = '--vkui_internal--cell_width';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n xl: styles.sizeXL,\n auto: styles.sizeAuto,\n};\n\nconst textAlignClassNames = {\n center: styles.textAlignCenter,\n end: styles.textAlignEnd,\n};\n\ntype HorizontalCellSizes = 's' | 'm' | 'l' | 'xl' | 'auto';\n\nexport interface HorizontalCellProps\n extends Omit<TappableOmitProps, 'size' | 'getRootRef' | 'title' | 'borderRadiusMode'>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Ширина компонента.\n *\n * Значения `'s' | 'm' | 'l' | 'xl'` определяются дизайн-системой.\n * Значение `auto` позволяет задать динамическую ширину, определяемую контентом.\n * Пользовательскую ширину можно задать через числовое значение.\n */\n size?: LiteralUnion<HorizontalCellSizes, number>;\n /**\n * Заголовок.\n */\n title?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Задает выравнивание типографики. По умолчанию `center` для `size=s`, иначе `start`.\n */\n textAlign?: 'start' | 'center' | 'end';\n /**\n * Отключает формирование отступов у крайних элементов.\n *\n * Актуально для использования в многострочных списках.\n */\n noPadding?: boolean;\n /**\n * Позволяет передать типографический компонент, используемый для `title`.\n * По умолчанию `Caption` для `size=s`, иначе `Subhead`.\n */\n TitleComponent?: React.ElementType;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/HorizontalCell\n */\nexport const HorizontalCell = ({\n className,\n title,\n style,\n subtitle,\n size = 's',\n children = <Avatar size={56} />,\n getRootRef,\n getRef,\n extraSubtitle,\n textAlign = size === 's' ? 'center' : 'start',\n noPadding = false,\n TitleComponent = size === 's' ? Caption : Subhead,\n ...restProps\n}: HorizontalCellProps): React.ReactNode => {\n const hasTypography =\n hasReactNode(title) || hasReactNode(subtitle) || hasReactNode(extraSubtitle);\n\n const customProperties: CSSCustomProperties | undefined =\n typeof size === 'number' ? { [CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH]: `${size}px` } : undefined;\n\n return (\n <div\n ref={getRootRef}\n style={mergeStyle(customProperties, style)}\n className={classNames(\n styles.host,\n typeof size === 'string' && stylesSize[size],\n size !== 'auto' && styles.sized,\n typeof size === 'number' && styles.customSize,\n noPadding && styles.noPadding,\n className,\n )}\n >\n <Tappable className={styles.body} getRootRef={getRef} {...restProps}>\n {hasReactNode(children) && <div className={styles.image}>{children}</div>}\n {hasTypography && (\n <div\n className={classNames(\n styles.content,\n textAlign !== 'start' && textAlignClassNames[textAlign],\n )}\n >\n {hasReactNode(title) && <TitleComponent>{title}</TitleComponent>}\n {hasReactNode(subtitle) && <Footnote className={styles.subtitle}>{subtitle}</Footnote>}\n {hasReactNode(extraSubtitle) && (\n <Footnote className={styles.subtitle}>{extraSubtitle}</Footnote>\n )}\n </div>\n )}\n </Tappable>\n </div>\n );\n};\n"],"names":["React","classNames","hasReactNode","mergeStyle","Avatar","Tappable","Caption","Footnote","Subhead","CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH","stylesSize","s","m","l","xl","auto","textAlignClassNames","center","end","HorizontalCell","className","title","style","subtitle","size","children","getRootRef","getRef","extraSubtitle","textAlign","noPadding","TitleComponent","restProps","hasTypography","customProperties","undefined","div","ref"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,UAAU,QAAQ,8BAA2B;AAEtD,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,OAAO,QAAQ,mCAAgC;AAGxD,OAAO,MAAMC,kCAAkC,8BAA8B;AAE7E,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;IACDC,CAAC;IACDC,EAAE;IACFC,IAAI;AACN;AAEA,MAAMC,sBAAsB;IAC1BC,MAAM;IACNC,GAAG;AACL;AA6CA;;CAEC,GACD,OAAO,MAAMC,iBAAiB;QAAC,EAC7BC,SAAS,EACTC,KAAK,EACLC,KAAK,EACLC,QAAQ,EACRC,OAAO,GAAG,EACVC,yBAAW,KAACrB;QAAOoB,MAAM;MAAM,EAC/BE,UAAU,EACVC,MAAM,EACNC,aAAa,EACbC,YAAYL,SAAS,MAAM,WAAW,OAAO,EAC7CM,YAAY,KAAK,EACjBC,iBAAiBP,SAAS,MAAMlB,UAAUE,OAAO,EAE7B,WADjBwB;QAZHZ;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,gBACJ/B,aAAamB,UAAUnB,aAAaqB,aAAarB,aAAa0B;IAEhE,MAAMM,mBACJ,OAAOV,SAAS,WAAW;QAAE,CAACf,gCAAgC,EAAE,GAAGe,KAAK,EAAE,CAAC;IAAC,IAAIW;IAElF,qBACE,KAACC;QACCC,KAAKX;QACLJ,OAAOnB,WAAW+B,kBAAkBZ;QACpCF,WAAWnB,uCAET,OAAOuB,SAAS,YAAYd,UAAU,CAACc,KAAK,EAC5CA,SAAS,uCACT,OAAOA,SAAS,8CAChBM,8CACAV;kBAGF,cAAA,MAACf;YAASe,SAAS;YAAeM,YAAYC;WAAYK;;gBACvD9B,aAAauB,2BAAa,KAACW;oBAAIhB,SAAS;8BAAiBK;;gBACzDQ,+BACC,MAACG;oBACChB,WAAWnB,0CAET4B,cAAc,WAAWb,mBAAmB,CAACa,UAAU;;wBAGxD3B,aAAamB,wBAAU,KAACU;sCAAgBV;;wBACxCnB,aAAaqB,2BAAa,KAAChB;4BAASa,SAAS;sCAAoBG;;wBACjErB,aAAa0B,gCACZ,KAACrB;4BAASa,SAAS;sCAAoBQ;;;;;;;AAOrD,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/HorizontalCell/HorizontalCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport type { CSSCustomProperties, HasRef, HasRootRef, LiteralUnion } from '../../types';\nimport { Avatar } from '../Avatar/Avatar';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './HorizontalCell.module.css';\n\nexport const CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH = '--vkui_internal--cell_width';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n xl: styles.sizeXL,\n auto: styles.sizeAuto,\n};\n\nconst textAlignClassNames = {\n center: styles.textAlignCenter,\n end: styles.textAlignEnd,\n};\n\ntype HorizontalCellSizes = 's' | 'm' | 'l' | 'xl' | 'auto';\n\nexport interface HorizontalCellProps\n extends Omit<TappableOmitProps, 'size' | 'getRootRef' | 'title' | 'borderRadiusMode'>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Ширина компонента.\n *\n * Значения `'s' | 'm' | 'l' | 'xl'` определяются дизайн-системой.\n * Значение `auto` позволяет задать динамическую ширину, определяемую контентом.\n * Пользовательскую ширину можно задать через числовое значение.\n */\n size?: LiteralUnion<HorizontalCellSizes, number>;\n /**\n * Заголовок.\n */\n title?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Задает выравнивание типографики. По умолчанию `center` для `size=s`, иначе `start`.\n */\n textAlign?: 'start' | 'center' | 'end';\n /**\n * Отключает формирование отступов у крайних элементов.\n *\n * Актуально для использования в многострочных списках.\n */\n noPadding?: boolean;\n /**\n * Позволяет передать типографический компонент, используемый для `title`.\n * По умолчанию `Caption` для `size=s`, иначе `Subhead`.\n */\n TitleComponent?: React.ElementType;\n}\n\n/**\n * @see https://vkui.io/components/horizontal-cell\n */\nexport const HorizontalCell = ({\n className,\n title,\n style,\n subtitle,\n size = 's',\n children = <Avatar size={56} />,\n getRootRef,\n getRef,\n extraSubtitle,\n textAlign = size === 's' ? 'center' : 'start',\n noPadding = false,\n TitleComponent = size === 's' ? Caption : Subhead,\n ...restProps\n}: HorizontalCellProps): React.ReactNode => {\n const hasTypography =\n hasReactNode(title) || hasReactNode(subtitle) || hasReactNode(extraSubtitle);\n\n const customProperties: CSSCustomProperties | undefined =\n typeof size === 'number' ? { [CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH]: `${size}px` } : undefined;\n\n return (\n <div\n ref={getRootRef}\n style={mergeStyle(customProperties, style)}\n className={classNames(\n styles.host,\n typeof size === 'string' && stylesSize[size],\n size !== 'auto' && styles.sized,\n typeof size === 'number' && styles.customSize,\n noPadding && styles.noPadding,\n className,\n )}\n >\n <Tappable className={styles.body} getRootRef={getRef} {...restProps}>\n {hasReactNode(children) && <div className={styles.image}>{children}</div>}\n {hasTypography && (\n <div\n className={classNames(\n styles.content,\n textAlign !== 'start' && textAlignClassNames[textAlign],\n )}\n >\n {hasReactNode(title) && <TitleComponent>{title}</TitleComponent>}\n {hasReactNode(subtitle) && <Footnote className={styles.subtitle}>{subtitle}</Footnote>}\n {hasReactNode(extraSubtitle) && (\n <Footnote className={styles.subtitle}>{extraSubtitle}</Footnote>\n )}\n </div>\n )}\n </Tappable>\n </div>\n );\n};\n"],"names":["React","classNames","hasReactNode","mergeStyle","Avatar","Tappable","Caption","Footnote","Subhead","CUSTOM_CSS_TOKEN_FOR_CELL_WIDTH","stylesSize","s","m","l","xl","auto","textAlignClassNames","center","end","HorizontalCell","className","title","style","subtitle","size","children","getRootRef","getRef","extraSubtitle","textAlign","noPadding","TitleComponent","restProps","hasTypography","customProperties","undefined","div","ref"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,UAAU,QAAQ,8BAA2B;AAEtD,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,OAAO,QAAQ,mCAAgC;AAGxD,OAAO,MAAMC,kCAAkC,8BAA8B;AAE7E,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;IACDC,CAAC;IACDC,EAAE;IACFC,IAAI;AACN;AAEA,MAAMC,sBAAsB;IAC1BC,MAAM;IACNC,GAAG;AACL;AA6CA;;CAEC,GACD,OAAO,MAAMC,iBAAiB;QAAC,EAC7BC,SAAS,EACTC,KAAK,EACLC,KAAK,EACLC,QAAQ,EACRC,OAAO,GAAG,EACVC,yBAAW,KAACrB;QAAOoB,MAAM;MAAM,EAC/BE,UAAU,EACVC,MAAM,EACNC,aAAa,EACbC,YAAYL,SAAS,MAAM,WAAW,OAAO,EAC7CM,YAAY,KAAK,EACjBC,iBAAiBP,SAAS,MAAMlB,UAAUE,OAAO,EAE7B,WADjBwB;QAZHZ;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,gBACJ/B,aAAamB,UAAUnB,aAAaqB,aAAarB,aAAa0B;IAEhE,MAAMM,mBACJ,OAAOV,SAAS,WAAW;QAAE,CAACf,gCAAgC,EAAE,GAAGe,KAAK,EAAE,CAAC;IAAC,IAAIW;IAElF,qBACE,KAACC;QACCC,KAAKX;QACLJ,OAAOnB,WAAW+B,kBAAkBZ;QACpCF,WAAWnB,uCAET,OAAOuB,SAAS,YAAYd,UAAU,CAACc,KAAK,EAC5CA,SAAS,uCACT,OAAOA,SAAS,8CAChBM,8CACAV;kBAGF,cAAA,MAACf;YAASe,SAAS;YAAeM,YAAYC;WAAYK;;gBACvD9B,aAAauB,2BAAa,KAACW;oBAAIhB,SAAS;8BAAiBK;;gBACzDQ,+BACC,MAACG;oBACChB,WAAWnB,0CAET4B,cAAc,WAAWb,mBAAmB,CAACa,UAAU;;wBAGxD3B,aAAamB,wBAAU,KAACU;sCAAgBV;;wBACxCnB,aAAaqB,2BAAa,KAAChB;4BAASa,SAAS;sCAAoBG;;wBACjErB,aAAa0B,gCACZ,KAACrB;4BAASa,SAAS;sCAAoBQ;;;;;;;AAOrD,EAAE"}
@@ -30,5 +30,8 @@ export interface HorizontalCellShowMoreProps extends Omit<TappableOmitProps, 'ge
30
30
  */
31
31
  centered?: boolean;
32
32
  }
33
+ /**
34
+ * @see https://vkui.io/components/horizontal-scroll#horizontal-cell-show-more
35
+ */
33
36
  export declare const HorizontalCellShowMore: ({ className, style, getRef, getRootRef, height, size, children, centered, ...restProps }: HorizontalCellShowMoreProps) => React.ReactNode;
34
37
  //# sourceMappingURL=HorizontalCellShowMore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalCellShowMore.d.ts","sourceRoot":"","sources":["../../../../src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAQ9E,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,MAAM,GAAG,kBAAkB,CAAC,EACzE,MAAM,CAAC,WAAW,CAAC,EACnB,UAAU,CAAC,cAAc,CAAC;IAC5B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;OAIG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;;SAGK;IACL,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB,GAAI,0FAUpC,2BAA2B,KAAG,KAAK,CAAC,SA4BtC,CAAC"}
1
+ {"version":3,"file":"HorizontalCellShowMore.d.ts","sourceRoot":"","sources":["../../../../src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAQ9E,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,MAAM,GAAG,kBAAkB,CAAC,EACzE,MAAM,CAAC,WAAW,CAAC,EACnB,UAAU,CAAC,cAAc,CAAC;IAC5B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;OAIG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;;SAGK;IACL,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,0FAUpC,2BAA2B,KAAG,KAAK,CAAC,SA4BtC,CAAC"}
@@ -10,7 +10,9 @@ const sizeClassNames = {
10
10
  s: "vkuiHorizontalCellShowMore__sizeS",
11
11
  m: "vkuiHorizontalCellShowMore__sizeM"
12
12
  };
13
- export const HorizontalCellShowMore = (_param)=>{
13
+ /**
14
+ * @see https://vkui.io/components/horizontal-scroll#horizontal-cell-show-more
15
+ */ export const HorizontalCellShowMore = (_param)=>{
14
16
  var { className, style, getRef, getRootRef, height, size = 's', children = size === 's' ? 'Все' : 'Показать все', centered = false } = _param, restProps = _object_without_properties(_param, [
15
17
  "className",
16
18
  "style",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx"],"sourcesContent":["import { Icon28ChevronRightCircle } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasRef, HasRootRef, LiteralUnion } from '../../../types';\nimport type { ImageBaseSize } from '../../ImageBase/ImageBase';\nimport { Tappable, type TappableOmitProps } from '../../Tappable/Tappable';\nimport { Subhead, type SubheadProps } from '../../Typography/Subhead/Subhead';\nimport styles from './HorizontalCellShowMore.module.css';\n\nconst sizeClassNames = {\n s: styles.sizeS,\n m: styles.sizeM,\n};\n\nexport interface HorizontalCellShowMoreProps\n extends Omit<TappableOmitProps, 'getRootRef' | 'size' | 'borderRadiusMode'>,\n HasRef<HTMLElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Задаёт высоту компонента. Должeн соответствовать размеру картинок\n * внутри соседних `HorizontalCell` компонентов.\n *\n * Используйте размеры, заданные дизайн-системой (смотри типы).\n *\n * > ⚠️ Использование кастомного размера – это пограничный кейс.\n *\n * Игнорируется, если `size='s'`.\n */\n height?: LiteralUnion<ImageBaseSize, number>;\n /**\n * Задаёт размер компонента.\n *\n * Значение `s` применяется для `<HorizontalCell size=\"s\"`, в остальных случаях рекомендуется `m`.\n */\n size?: 's' | 'm';\n /**\n * Предназначен для отрисовки текста.\n * По умолчанию для `size='s'` содержит текст `Все`, для `size='m'` - `Показать все`.\n * */\n children?: SubheadProps['children'];\n /**\n * Выравнивание по центру относительно родителя.\n */\n centered?: boolean;\n}\n\nexport const HorizontalCellShowMore = ({\n className,\n style,\n getRef,\n getRootRef,\n height,\n size = 's',\n children = size === 's' ? 'Все' : 'Показать все',\n centered = false,\n ...restProps\n}: HorizontalCellShowMoreProps): React.ReactNode => {\n return (\n <div\n style={style}\n className={classNames(\n styles.host,\n centered && styles.centered,\n sizeClassNames[size],\n className,\n )}\n ref={getRootRef}\n >\n <Tappable\n style={size === 's' ? undefined : { height }}\n className={styles.body}\n getRootRef={getRef}\n activeMode=\"opacity\"\n hoverMode=\"opacity\"\n {...restProps}\n >\n <Icon28ChevronRightCircle className={styles.icon} />\n\n <Subhead className={styles.text} weight=\"2\">\n {children}\n </Subhead>\n </Tappable>\n </div>\n );\n};\n"],"names":["Icon28ChevronRightCircle","classNames","Tappable","Subhead","sizeClassNames","s","m","HorizontalCellShowMore","className","style","getRef","getRootRef","height","size","children","centered","restProps","div","ref","undefined","activeMode","hoverMode","weight"],"mappings":";;;;AAAA,SAASA,wBAAwB,QAAQ,mBAAmB;AAC5D,SAASC,UAAU,QAAQ,kBAAkB;AAG7C,SAASC,QAAQ,QAAgC,6BAA0B;AAC3E,SAASC,OAAO,QAA2B,sCAAmC;AAG9E,MAAMC,iBAAiB;IACrBC,CAAC;IACDC,CAAC;AACH;AAkCA,OAAO,MAAMC,yBAAyB;QAAC,EACrCC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,UAAU,EACVC,MAAM,EACNC,OAAO,GAAG,EACVC,WAAWD,SAAS,MAAM,QAAQ,cAAc,EAChDE,WAAW,KAAK,EAEY,WADzBC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,KAACE;QACCR,OAAOA;QACPD,WAAWP,+CAETc,oDACAX,cAAc,CAACS,KAAK,EACpBL;QAEFU,KAAKP;kBAEL,cAAA,MAACT;YACCO,OAAOI,SAAS,MAAMM,YAAY;gBAAEP;YAAO;YAC3CJ,SAAS;YACTG,YAAYD;YACZU,YAAW;YACXC,WAAU;WACNL;;8BAEJ,KAAChB;oBAAyBQ,SAAS;;8BAEnC,KAACL;oBAAQK,SAAS;oBAAec,QAAO;8BACrCR;;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx"],"sourcesContent":["import { Icon28ChevronRightCircle } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HasRef, HasRootRef, LiteralUnion } from '../../../types';\nimport type { ImageBaseSize } from '../../ImageBase/ImageBase';\nimport { Tappable, type TappableOmitProps } from '../../Tappable/Tappable';\nimport { Subhead, type SubheadProps } from '../../Typography/Subhead/Subhead';\nimport styles from './HorizontalCellShowMore.module.css';\n\nconst sizeClassNames = {\n s: styles.sizeS,\n m: styles.sizeM,\n};\n\nexport interface HorizontalCellShowMoreProps\n extends Omit<TappableOmitProps, 'getRootRef' | 'size' | 'borderRadiusMode'>,\n HasRef<HTMLElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Задаёт высоту компонента. Должeн соответствовать размеру картинок\n * внутри соседних `HorizontalCell` компонентов.\n *\n * Используйте размеры, заданные дизайн-системой (смотри типы).\n *\n * > ⚠️ Использование кастомного размера – это пограничный кейс.\n *\n * Игнорируется, если `size='s'`.\n */\n height?: LiteralUnion<ImageBaseSize, number>;\n /**\n * Задаёт размер компонента.\n *\n * Значение `s` применяется для `<HorizontalCell size=\"s\"`, в остальных случаях рекомендуется `m`.\n */\n size?: 's' | 'm';\n /**\n * Предназначен для отрисовки текста.\n * По умолчанию для `size='s'` содержит текст `Все`, для `size='m'` - `Показать все`.\n * */\n children?: SubheadProps['children'];\n /**\n * Выравнивание по центру относительно родителя.\n */\n centered?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/horizontal-scroll#horizontal-cell-show-more\n */\nexport const HorizontalCellShowMore = ({\n className,\n style,\n getRef,\n getRootRef,\n height,\n size = 's',\n children = size === 's' ? 'Все' : 'Показать все',\n centered = false,\n ...restProps\n}: HorizontalCellShowMoreProps): React.ReactNode => {\n return (\n <div\n style={style}\n className={classNames(\n styles.host,\n centered && styles.centered,\n sizeClassNames[size],\n className,\n )}\n ref={getRootRef}\n >\n <Tappable\n style={size === 's' ? undefined : { height }}\n className={styles.body}\n getRootRef={getRef}\n activeMode=\"opacity\"\n hoverMode=\"opacity\"\n {...restProps}\n >\n <Icon28ChevronRightCircle className={styles.icon} />\n\n <Subhead className={styles.text} weight=\"2\">\n {children}\n </Subhead>\n </Tappable>\n </div>\n );\n};\n"],"names":["Icon28ChevronRightCircle","classNames","Tappable","Subhead","sizeClassNames","s","m","HorizontalCellShowMore","className","style","getRef","getRootRef","height","size","children","centered","restProps","div","ref","undefined","activeMode","hoverMode","weight"],"mappings":";;;;AAAA,SAASA,wBAAwB,QAAQ,mBAAmB;AAC5D,SAASC,UAAU,QAAQ,kBAAkB;AAG7C,SAASC,QAAQ,QAAgC,6BAA0B;AAC3E,SAASC,OAAO,QAA2B,sCAAmC;AAG9E,MAAMC,iBAAiB;IACrBC,CAAC;IACDC,CAAC;AACH;AAkCA;;CAEC,GACD,OAAO,MAAMC,yBAAyB;QAAC,EACrCC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,UAAU,EACVC,MAAM,EACNC,OAAO,GAAG,EACVC,WAAWD,SAAS,MAAM,QAAQ,cAAc,EAChDE,WAAW,KAAK,EAEY,WADzBC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,KAACE;QACCR,OAAOA;QACPD,WAAWP,+CAETc,oDACAX,cAAc,CAACS,KAAK,EACpBL;QAEFU,KAAKP;kBAEL,cAAA,MAACT;YACCO,OAAOI,SAAS,MAAMM,YAAY;gBAAEP;YAAO;YAC3CJ,SAAS;YACTG,YAAYD;YACZU,YAAW;YACXC,WAAU;WACNL;;8BAEJ,KAAChB;oBAAyBQ,SAAS;;8BAEnC,KAACL;oBAAQK,SAAS;oBAAec,QAAO;8BACrCR;;;;;AAKX,EAAE"}
@@ -54,7 +54,7 @@ export interface HorizontalScrollProps extends HTMLAttributesWithRootRef<HTMLDiv
54
54
  contentWrapperClassName?: string;
55
55
  }
56
56
  /**
57
- * @see https://vkcom.github.io/VKUI/#/HorizontalScroll
57
+ * @see https://vkui.io/components/horizontal-scroll
58
58
  */
59
59
  export declare const HorizontalScroll: ({ children, getScrollToLeft, getScrollToRight, showArrows, arrowSize, arrowOffsetY, scrollAnimationDuration, getRef, scrollOnAnyWheel, prevButtonTestId, nextButtonTestId, ContentWrapperComponent, contentWrapperRef, contentWrapperClassName, ...restProps }: HorizontalScrollProps) => React.ReactNode;
60
60
  //# sourceMappingURL=HorizontalScroll.d.ts.map
@@ -84,7 +84,7 @@ function doScroll({ scrollElement, getScrollPosition, animationQueue, onScrollTo
84
84
  })();
85
85
  }
86
86
  /**
87
- * @see https://vkcom.github.io/VKUI/#/HorizontalScroll
87
+ * @see https://vkui.io/components/horizontal-scroll
88
88
  */ export const HorizontalScroll = (_param)=>{
89
89
  var { children, getScrollToLeft, getScrollToRight, showArrows = true, arrowSize = 'm', arrowOffsetY, scrollAnimationDuration = SCROLL_ONE_FRAME_TIME, getRef, scrollOnAnyWheel = false, prevButtonTestId, nextButtonTestId, // ContentWrapper
90
90
  ContentWrapperComponent = 'div', contentWrapperRef, contentWrapperClassName } = _param, restProps = _object_without_properties(_param, [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/HorizontalScroll/HorizontalScroll.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { easeInOutSine } from '../../lib/fx';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasRef, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { ScrollArrow, type ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport styles from './HorizontalScroll.module.css';\n\n/* eslint-disable jsdoc/require-jsdoc */\ninterface ScrollContext {\n scrollElement: HTMLElement | null;\n scrollAnimationDuration: number;\n animationQueue: VoidFunction[];\n getScrollPosition: (currentPosition: number) => number;\n onScrollToEndBorder: VoidFunction;\n onScrollEnd: VoidFunction;\n onScrollStart: VoidFunction;\n /**\n * Начальная ширина прокрутки.\n * В некоторых случаях может отличаться от текущей ширины прокрутки из-за transforms: translate.\n */\n initialScrollWidth: number;\n textDirection: 'ltr' | 'rtl';\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nexport type ScrollPositionHandler = (currentPosition: number) => number;\n\nexport interface HorizontalScrollProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Функция для расчета величины прокрутки при нажатии на левую стрелку.\n */\n getScrollToLeft?: ScrollPositionHandler;\n /**\n * Функция для расчета величины прокрутки при нажатии на правую стрелку.\n */\n getScrollToRight?: ScrollPositionHandler;\n /**\n * Размер стрелок.\n */\n arrowSize?: ScrollArrowProps['size'];\n /**\n * Смещает иконки кнопок навигации по вертикали.\n */\n arrowOffsetY?: number | string;\n /**\n * Показывать ли стрелки.\n */\n showArrows?: boolean | 'always';\n /**\n * Длительность анимации скролла.\n */\n scrollAnimationDuration?: number;\n /**\n * Добавляет возможность прокручивать контент на любое колесо мыши.\n * По умолчанию прокручивается как любой горизонтальный контент через shift.\n */\n scrollOnAnyWheel?: boolean;\n /**\n * Передает атрибут `data-testid` для кнопки прокрутки горизонтального скролла в направлении предыдущего элемента.\n */\n prevButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки прокрутки горизонтального скролла в направлении следующего элемента.\n */\n nextButtonTestId?: string;\n /**\n * Позволяет поменять тег используемый для обертки над контентом, прокинутым в `children`.\n */\n ContentWrapperComponent?: React.ElementType;\n /**\n * `ref` для обертки над контентом, прокинутым в `children`.\n */\n contentWrapperRef?: React.Ref<HTMLElement>;\n /**\n * Специфичный `className` для обертки над контентом, прокинутым в `children`.\n */\n contentWrapperClassName?: string;\n}\n\n/**\n * Timing method.\n */\nfunction now() {\n return performance && performance.now ? performance.now() : Date.now();\n}\n\n/**\n * Округление к большему по модулю.\n *\n * ## Пример\n *\n * ```ts\n * import { strict as assert } from 'node:assert';\n *\n * assert.equal(roundingAwayFromZero(5.1), 6)\n * assert.equal(roundingAwayFromZero(-5.1), -6)\n * ```\n */\nfunction roundingAwayFromZero(value: number): number {\n return value > 0 ? Math.ceil(value) : Math.floor(value);\n}\n\n/**\n * Округляем el.scrollLeft\n * https://github.com/VKCOM/VKUI/pull/2445.\n */\nconst roundUpElementScrollLeft = (el: HTMLElement) => roundingAwayFromZero(el.scrollLeft);\n\n/**\n * Код анимации скрола, на основе полифила: https://github.com/iamdustan/smoothscroll\n * Константа взята из полифила (468), на дизайн-ревью уточнили до 250.\n * @var {number} SCROLL_ONE_FRAME_TIME время анимации скролла\n */\nconst SCROLL_ONE_FRAME_TIME = 250;\n\nfunction doScroll({\n scrollElement,\n getScrollPosition,\n animationQueue,\n onScrollToEndBorder,\n onScrollEnd,\n onScrollStart,\n initialScrollWidth,\n scrollAnimationDuration,\n textDirection,\n}: ScrollContext) {\n if (!scrollElement || !getScrollPosition) {\n return;\n }\n\n /**\n * Крайнее значение сдвига.\n */\n const extremeScrollLeft =\n (textDirection === 'ltr' ? 1 : -1) * (initialScrollWidth - scrollElement.offsetWidth);\n\n const startScrollLeft = roundUpElementScrollLeft(scrollElement);\n const remappedStartScrollLeft = startScrollLeft * (textDirection === 'rtl' ? -1 : 1);\n\n let endScrollLeft = getScrollPosition(remappedStartScrollLeft);\n\n const diff = endScrollLeft - remappedStartScrollLeft;\n if (textDirection === 'rtl') {\n endScrollLeft = startScrollLeft - diff;\n }\n\n onScrollStart();\n\n /**\n * Если окончание прокрутки вышло за ноль.\n */\n if (startScrollLeft * endScrollLeft < 0) {\n endScrollLeft = 0;\n }\n\n if (Math.abs(endScrollLeft) >= Math.abs(extremeScrollLeft)) {\n onScrollToEndBorder();\n endScrollLeft = extremeScrollLeft;\n }\n\n const startTime = now();\n\n (function scroll() {\n const time = now();\n const elapsed = Math.min((time - startTime) / scrollAnimationDuration, 1);\n\n const value = easeInOutSine(elapsed);\n\n const currentScrollLeft = startScrollLeft + (endScrollLeft - startScrollLeft) * value;\n scrollElement.scrollLeft = roundingAwayFromZero(currentScrollLeft);\n\n const scrollEnd =\n textDirection === 'ltr' ? Math.max(0, endScrollLeft) : Math.min(0, endScrollLeft);\n if (roundUpElementScrollLeft(scrollElement) !== scrollEnd && elapsed !== 1) {\n requestAnimationFrame(scroll);\n return;\n }\n\n onScrollEnd();\n animationQueue.shift();\n if (animationQueue.length > 0) {\n animationQueue[0]();\n }\n })();\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/HorizontalScroll\n */\nexport const HorizontalScroll = ({\n children,\n getScrollToLeft,\n getScrollToRight,\n showArrows = true,\n arrowSize = 'm',\n arrowOffsetY,\n scrollAnimationDuration = SCROLL_ONE_FRAME_TIME,\n getRef,\n scrollOnAnyWheel = false,\n prevButtonTestId,\n nextButtonTestId,\n // ContentWrapper\n ContentWrapperComponent = 'div',\n contentWrapperRef,\n contentWrapperClassName,\n ...restProps\n}: HorizontalScrollProps): React.ReactNode => {\n const [canScrollStart, setCanScrollStart] = React.useState(false);\n const [canScrollEnd, setCanScrollEnd] = React.useState(false);\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const isCustomScrollingRef = React.useRef(false);\n\n const scrollerRef = useExternRef(getRef);\n\n const animationQueue = React.useRef<VoidFunction[]>([]);\n\n const hasPointer = useAdaptivityHasPointer();\n\n const scrollTo = React.useCallback(\n (getScrollPosition: ScrollPositionHandler) => {\n const scrollElement = scrollerRef.current;\n\n animationQueue.current.push(() =>\n doScroll({\n scrollElement,\n getScrollPosition,\n animationQueue: animationQueue.current,\n onScrollToEndBorder: () => setCanScrollEnd(false),\n onScrollEnd: () => (isCustomScrollingRef.current = false),\n onScrollStart: () => (isCustomScrollingRef.current = true),\n initialScrollWidth: scrollElement?.firstElementChild?.scrollWidth || 0,\n scrollAnimationDuration,\n textDirection: direction,\n }),\n );\n if (animationQueue.current.length === 1) {\n animationQueue.current[0]();\n }\n },\n [scrollerRef, scrollAnimationDuration, direction, setCanScrollEnd],\n );\n\n const scrollToStart = React.useCallback(() => {\n const getScrollPosition =\n getScrollToLeft ?? ((i: number) => i - scrollerRef.current!.offsetWidth);\n scrollTo(getScrollPosition);\n }, [getScrollToLeft, scrollTo, scrollerRef]);\n\n const scrollToEnd = React.useCallback(() => {\n const getScrollPosition =\n getScrollToRight ?? ((i: number) => i + scrollerRef.current!.offsetWidth);\n scrollTo(getScrollPosition);\n }, [getScrollToRight, scrollTo, scrollerRef]);\n\n const calculateArrowsVisibility = React.useCallback(() => {\n if (showArrows && hasPointer && scrollerRef.current && !isCustomScrollingRef.current) {\n const scrollElement = scrollerRef.current;\n const scrollLeft = scrollElement.scrollLeft;\n\n setCanScrollStart(isRtl ? scrollLeft < 0 : scrollLeft > 0);\n setCanScrollEnd(\n Math.abs(roundUpElementScrollLeft(scrollElement)) + scrollElement.offsetWidth <\n scrollElement.scrollWidth,\n );\n }\n }, [showArrows, hasPointer, scrollerRef, isRtl]);\n\n React.useEffect(calculateArrowsVisibility, [calculateArrowsVisibility, children]);\n\n useIsomorphicLayoutEffect(\n function addWheelEventHandler() {\n const scrollEl = scrollerRef.current;\n if (!scrollEl) {\n return noop;\n }\n /**\n * Прокрутка с помощью любого колеса мыши.\n */\n const onWheel = (e: WheelEvent) => {\n scrollerRef.current!.scrollBy({ left: e.deltaX + e.deltaY, behavior: 'auto' });\n e.preventDefault();\n };\n\n const listenerOptions = { passive: false };\n\n if (scrollOnAnyWheel) {\n scrollEl.addEventListener('wheel', onWheel, listenerOptions);\n }\n scrollEl.addEventListener('scroll', calculateArrowsVisibility, listenerOptions);\n\n return () => {\n if (scrollOnAnyWheel) {\n // @ts-expect-error: TS2769 В интерфейсе EventListenerOptions для wheel нет passive свойства\n scrollEl.removeEventListener('wheel', onWheel, listenerOptions);\n }\n // @ts-expect-error: TS2769 В интерфейсе EventListenerOptions для scroll нет passive свойства\n scrollEl.removeEventListener('scroll', calculateArrowsVisibility, listenerOptions);\n };\n },\n [scrollOnAnyWheel, calculateArrowsVisibility, scrollerRef],\n );\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalHorizontalScroll',\n showArrows === 'always' && styles.withConstArrows,\n isRtl && styles.rtl,\n )}\n onMouseEnter={calculateArrowsVisibility}\n >\n {showArrows && (hasPointer || hasPointer === undefined) && canScrollStart && (\n <ScrollArrow\n data-testid={prevButtonTestId}\n size={arrowSize}\n offsetY={arrowOffsetY}\n direction=\"left\"\n aria-hidden\n tabIndex={-1}\n className={classNames(styles.arrow, styles.arrowLeft)}\n onClick={scrollToStart}\n />\n )}\n {showArrows && (hasPointer || hasPointer === undefined) && canScrollEnd && (\n <ScrollArrow\n data-testid={nextButtonTestId}\n size={arrowSize}\n offsetY={arrowOffsetY}\n direction=\"right\"\n aria-hidden\n tabIndex={-1}\n className={classNames(styles.arrow, styles.arrowRight)}\n onClick={scrollToEnd}\n />\n )}\n <div className={styles.in} ref={scrollerRef}>\n <ContentWrapperComponent\n className={classNames(styles.inWrapper, contentWrapperClassName)}\n ref={contentWrapperRef}\n >\n {children}\n </ContentWrapperComponent>\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","noop","useAdaptivityHasPointer","useConfigDirection","useExternRef","easeInOutSine","useIsomorphicLayoutEffect","RootComponent","ScrollArrow","now","performance","Date","roundingAwayFromZero","value","Math","ceil","floor","roundUpElementScrollLeft","el","scrollLeft","SCROLL_ONE_FRAME_TIME","doScroll","scrollElement","getScrollPosition","animationQueue","onScrollToEndBorder","onScrollEnd","onScrollStart","initialScrollWidth","scrollAnimationDuration","textDirection","extremeScrollLeft","offsetWidth","startScrollLeft","remappedStartScrollLeft","endScrollLeft","diff","abs","startTime","scroll","time","elapsed","min","currentScrollLeft","scrollEnd","max","requestAnimationFrame","shift","length","HorizontalScroll","children","getScrollToLeft","getScrollToRight","showArrows","arrowSize","arrowOffsetY","getRef","scrollOnAnyWheel","prevButtonTestId","nextButtonTestId","ContentWrapperComponent","contentWrapperRef","contentWrapperClassName","restProps","canScrollStart","setCanScrollStart","useState","canScrollEnd","setCanScrollEnd","direction","isRtl","isCustomScrollingRef","useRef","scrollerRef","hasPointer","scrollTo","useCallback","current","push","firstElementChild","scrollWidth","scrollToStart","i","scrollToEnd","calculateArrowsVisibility","useEffect","addWheelEventHandler","scrollEl","onWheel","e","scrollBy","left","deltaX","deltaY","behavior","preventDefault","listenerOptions","passive","addEventListener","removeEventListener","baseClassName","onMouseEnter","undefined","data-testid","size","offsetY","aria-hidden","tabIndex","className","onClick","div","ref"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,uBAAuB,QAAQ,yCAAsC;AAC9E,SAASC,kBAAkB,QAAQ,oCAAiC;AACpE,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,aAAa,QAAQ,kBAAe;AAC7C,SAASC,yBAAyB,QAAQ,yCAAsC;AAEhF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,WAAW,QAA+B,gCAA6B;AA6EhF;;CAEC,GACD,SAASC;IACP,OAAOC,eAAeA,YAAYD,GAAG,GAAGC,YAAYD,GAAG,KAAKE,KAAKF,GAAG;AACtE;AAEA;;;;;;;;;;;CAWC,GACD,SAASG,qBAAqBC,KAAa;IACzC,OAAOA,QAAQ,IAAIC,KAAKC,IAAI,CAACF,SAASC,KAAKE,KAAK,CAACH;AACnD;AAEA;;;CAGC,GACD,MAAMI,2BAA2B,CAACC,KAAoBN,qBAAqBM,GAAGC,UAAU;AAExF;;;;CAIC,GACD,MAAMC,wBAAwB;AAE9B,SAASC,SAAS,EAChBC,aAAa,EACbC,iBAAiB,EACjBC,cAAc,EACdC,mBAAmB,EACnBC,WAAW,EACXC,aAAa,EACbC,kBAAkB,EAClBC,uBAAuB,EACvBC,aAAa,EACC;IACd,IAAI,CAACR,iBAAiB,CAACC,mBAAmB;QACxC;IACF;IAEA;;GAEC,GACD,MAAMQ,oBACJ,AAACD,CAAAA,kBAAkB,QAAQ,IAAI,CAAC,CAAA,IAAMF,CAAAA,qBAAqBN,cAAcU,WAAW,AAAD;IAErF,MAAMC,kBAAkBhB,yBAAyBK;IACjD,MAAMY,0BAA0BD,kBAAmBH,CAAAA,kBAAkB,QAAQ,CAAC,IAAI,CAAA;IAElF,IAAIK,gBAAgBZ,kBAAkBW;IAEtC,MAAME,OAAOD,gBAAgBD;IAC7B,IAAIJ,kBAAkB,OAAO;QAC3BK,gBAAgBF,kBAAkBG;IACpC;IAEAT;IAEA;;GAEC,GACD,IAAIM,kBAAkBE,gBAAgB,GAAG;QACvCA,gBAAgB;IAClB;IAEA,IAAIrB,KAAKuB,GAAG,CAACF,kBAAkBrB,KAAKuB,GAAG,CAACN,oBAAoB;QAC1DN;QACAU,gBAAgBJ;IAClB;IAEA,MAAMO,YAAY7B;IAEjB,CAAA,SAAS8B;QACR,MAAMC,OAAO/B;QACb,MAAMgC,UAAU3B,KAAK4B,GAAG,CAAC,AAACF,CAAAA,OAAOF,SAAQ,IAAKT,yBAAyB;QAEvE,MAAMhB,QAAQR,cAAcoC;QAE5B,MAAME,oBAAoBV,kBAAkB,AAACE,CAAAA,gBAAgBF,eAAc,IAAKpB;QAChFS,cAAcH,UAAU,GAAGP,qBAAqB+B;QAEhD,MAAMC,YACJd,kBAAkB,QAAQhB,KAAK+B,GAAG,CAAC,GAAGV,iBAAiBrB,KAAK4B,GAAG,CAAC,GAAGP;QACrE,IAAIlB,yBAAyBK,mBAAmBsB,aAAaH,YAAY,GAAG;YAC1EK,sBAAsBP;YACtB;QACF;QAEAb;QACAF,eAAeuB,KAAK;QACpB,IAAIvB,eAAewB,MAAM,GAAG,GAAG;YAC7BxB,cAAc,CAAC,EAAE;QACnB;IACF,CAAA;AACF;AAEA;;CAEC,GACD,OAAO,MAAMyB,mBAAmB;QAAC,EAC/BC,QAAQ,EACRC,eAAe,EACfC,gBAAgB,EAChBC,aAAa,IAAI,EACjBC,YAAY,GAAG,EACfC,YAAY,EACZ1B,0BAA0BT,qBAAqB,EAC/CoC,MAAM,EACNC,mBAAmB,KAAK,EACxBC,gBAAgB,EAChBC,gBAAgB,EAChB,iBAAiB;IACjBC,0BAA0B,KAAK,EAC/BC,iBAAiB,EACjBC,uBAAuB,EAED,WADnBC;QAfHb;QACAC;QACAC;QACAC;QACAC;QACAC;QACA1B;QACA2B;QACAC;QACAC;QACAC;QAEAC;QACAC;QACAC;;IAGA,MAAM,CAACE,gBAAgBC,kBAAkB,GAAGlE,MAAMmE,QAAQ,CAAC;IAC3D,MAAM,CAACC,cAAcC,gBAAgB,GAAGrE,MAAMmE,QAAQ,CAAC;IACvD,MAAMG,YAAYlE;IAClB,MAAMmE,QAAQD,cAAc;IAE5B,MAAME,uBAAuBxE,MAAMyE,MAAM,CAAC;IAE1C,MAAMC,cAAcrE,aAAaoD;IAEjC,MAAMhC,iBAAiBzB,MAAMyE,MAAM,CAAiB,EAAE;IAEtD,MAAME,aAAaxE;IAEnB,MAAMyE,WAAW5E,MAAM6E,WAAW,CAChC,CAACrD;QACC,MAAMD,gBAAgBmD,YAAYI,OAAO;QAEzCrD,eAAeqD,OAAO,CAACC,IAAI,CAAC;gBAQJxD;mBAPtBD,SAAS;gBACPC;gBACAC;gBACAC,gBAAgBA,eAAeqD,OAAO;gBACtCpD,qBAAqB,IAAM2C,gBAAgB;gBAC3C1C,aAAa,IAAO6C,qBAAqBM,OAAO,GAAG;gBACnDlD,eAAe,IAAO4C,qBAAqBM,OAAO,GAAG;gBACrDjD,oBAAoBN,CAAAA,0BAAAA,qCAAAA,mCAAAA,cAAeyD,iBAAiB,cAAhCzD,uDAAAA,iCAAkC0D,WAAW,KAAI;gBACrEnD;gBACAC,eAAeuC;YACjB;;QAEF,IAAI7C,eAAeqD,OAAO,CAAC7B,MAAM,KAAK,GAAG;YACvCxB,eAAeqD,OAAO,CAAC,EAAE;QAC3B;IACF,GACA;QAACJ;QAAa5C;QAAyBwC;QAAWD;KAAgB;IAGpE,MAAMa,gBAAgBlF,MAAM6E,WAAW,CAAC;QACtC,MAAMrD,oBACJ4B,4BAAAA,6BAAAA,kBAAoB,CAAC+B,IAAcA,IAAIT,YAAYI,OAAO,CAAE7C,WAAW;QACzE2C,SAASpD;IACX,GAAG;QAAC4B;QAAiBwB;QAAUF;KAAY;IAE3C,MAAMU,cAAcpF,MAAM6E,WAAW,CAAC;QACpC,MAAMrD,oBACJ6B,6BAAAA,8BAAAA,mBAAqB,CAAC8B,IAAcA,IAAIT,YAAYI,OAAO,CAAE7C,WAAW;QAC1E2C,SAASpD;IACX,GAAG;QAAC6B;QAAkBuB;QAAUF;KAAY;IAE5C,MAAMW,4BAA4BrF,MAAM6E,WAAW,CAAC;QAClD,IAAIvB,cAAcqB,cAAcD,YAAYI,OAAO,IAAI,CAACN,qBAAqBM,OAAO,EAAE;YACpF,MAAMvD,gBAAgBmD,YAAYI,OAAO;YACzC,MAAM1D,aAAaG,cAAcH,UAAU;YAE3C8C,kBAAkBK,QAAQnD,aAAa,IAAIA,aAAa;YACxDiD,gBACEtD,KAAKuB,GAAG,CAACpB,yBAAyBK,kBAAkBA,cAAcU,WAAW,GAC3EV,cAAc0D,WAAW;QAE/B;IACF,GAAG;QAAC3B;QAAYqB;QAAYD;QAAaH;KAAM;IAE/CvE,MAAMsF,SAAS,CAACD,2BAA2B;QAACA;QAA2BlC;KAAS;IAEhF5C,0BACE,SAASgF;QACP,MAAMC,WAAWd,YAAYI,OAAO;QACpC,IAAI,CAACU,UAAU;YACb,OAAOtF;QACT;QACA;;OAEC,GACD,MAAMuF,UAAU,CAACC;YACfhB,YAAYI,OAAO,CAAEa,QAAQ,CAAC;gBAAEC,MAAMF,EAAEG,MAAM,GAAGH,EAAEI,MAAM;gBAAEC,UAAU;YAAO;YAC5EL,EAAEM,cAAc;QAClB;QAEA,MAAMC,kBAAkB;YAAEC,SAAS;QAAM;QAEzC,IAAIxC,kBAAkB;YACpB8B,SAASW,gBAAgB,CAAC,SAASV,SAASQ;QAC9C;QACAT,SAASW,gBAAgB,CAAC,UAAUd,2BAA2BY;QAE/D,OAAO;YACL,IAAIvC,kBAAkB;gBACpB,4FAA4F;gBAC5F8B,SAASY,mBAAmB,CAAC,SAASX,SAASQ;YACjD;YACA,6FAA6F;YAC7FT,SAASY,mBAAmB,CAAC,UAAUf,2BAA2BY;QACpE;IACF,GACA;QAACvC;QAAkB2B;QAA2BX;KAAY;IAG5D,qBACE,MAAClE,uDACKwD;QACJqC,eAAepG,yCAEb,gCACAqD,eAAe,qDACfiB;QAEF+B,cAAcjB;;YAEb/B,cAAeqB,CAAAA,cAAcA,eAAe4B,SAAQ,KAAMtC,gCACzD,KAACxD;gBACC+F,eAAa7C;gBACb8C,MAAMlD;gBACNmD,SAASlD;gBACTc,WAAU;gBACVqC,aAAW;gBACXC,UAAU,CAAC;gBACXC,WAAW5G;gBACX6G,SAAS5B;;YAGZ5B,cAAeqB,CAAAA,cAAcA,eAAe4B,SAAQ,KAAMnC,8BACzD,KAAC3D;gBACC+F,eAAa5C;gBACb6C,MAAMlD;gBACNmD,SAASlD;gBACTc,WAAU;gBACVqC,aAAW;gBACXC,UAAU,CAAC;gBACXC,WAAW5G;gBACX6G,SAAS1B;;0BAGb,KAAC2B;gBAAIF,SAAS;gBAAaG,KAAKtC;0BAC9B,cAAA,KAACb;oBACCgD,WAAW5G,8CAA6B8D;oBACxCiD,KAAKlD;8BAEJX;;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/HorizontalScroll/HorizontalScroll.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { easeInOutSine } from '../../lib/fx';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasRef, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { ScrollArrow, type ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport styles from './HorizontalScroll.module.css';\n\n/* eslint-disable jsdoc/require-jsdoc */\ninterface ScrollContext {\n scrollElement: HTMLElement | null;\n scrollAnimationDuration: number;\n animationQueue: VoidFunction[];\n getScrollPosition: (currentPosition: number) => number;\n onScrollToEndBorder: VoidFunction;\n onScrollEnd: VoidFunction;\n onScrollStart: VoidFunction;\n /**\n * Начальная ширина прокрутки.\n * В некоторых случаях может отличаться от текущей ширины прокрутки из-за transforms: translate.\n */\n initialScrollWidth: number;\n textDirection: 'ltr' | 'rtl';\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nexport type ScrollPositionHandler = (currentPosition: number) => number;\n\nexport interface HorizontalScrollProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Функция для расчета величины прокрутки при нажатии на левую стрелку.\n */\n getScrollToLeft?: ScrollPositionHandler;\n /**\n * Функция для расчета величины прокрутки при нажатии на правую стрелку.\n */\n getScrollToRight?: ScrollPositionHandler;\n /**\n * Размер стрелок.\n */\n arrowSize?: ScrollArrowProps['size'];\n /**\n * Смещает иконки кнопок навигации по вертикали.\n */\n arrowOffsetY?: number | string;\n /**\n * Показывать ли стрелки.\n */\n showArrows?: boolean | 'always';\n /**\n * Длительность анимации скролла.\n */\n scrollAnimationDuration?: number;\n /**\n * Добавляет возможность прокручивать контент на любое колесо мыши.\n * По умолчанию прокручивается как любой горизонтальный контент через shift.\n */\n scrollOnAnyWheel?: boolean;\n /**\n * Передает атрибут `data-testid` для кнопки прокрутки горизонтального скролла в направлении предыдущего элемента.\n */\n prevButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки прокрутки горизонтального скролла в направлении следующего элемента.\n */\n nextButtonTestId?: string;\n /**\n * Позволяет поменять тег используемый для обертки над контентом, прокинутым в `children`.\n */\n ContentWrapperComponent?: React.ElementType;\n /**\n * `ref` для обертки над контентом, прокинутым в `children`.\n */\n contentWrapperRef?: React.Ref<HTMLElement>;\n /**\n * Специфичный `className` для обертки над контентом, прокинутым в `children`.\n */\n contentWrapperClassName?: string;\n}\n\n/**\n * Timing method.\n */\nfunction now() {\n return performance && performance.now ? performance.now() : Date.now();\n}\n\n/**\n * Округление к большему по модулю.\n *\n * ## Пример\n *\n * ```ts\n * import { strict as assert } from 'node:assert';\n *\n * assert.equal(roundingAwayFromZero(5.1), 6)\n * assert.equal(roundingAwayFromZero(-5.1), -6)\n * ```\n */\nfunction roundingAwayFromZero(value: number): number {\n return value > 0 ? Math.ceil(value) : Math.floor(value);\n}\n\n/**\n * Округляем el.scrollLeft\n * https://github.com/VKCOM/VKUI/pull/2445.\n */\nconst roundUpElementScrollLeft = (el: HTMLElement) => roundingAwayFromZero(el.scrollLeft);\n\n/**\n * Код анимации скрола, на основе полифила: https://github.com/iamdustan/smoothscroll\n * Константа взята из полифила (468), на дизайн-ревью уточнили до 250.\n * @var {number} SCROLL_ONE_FRAME_TIME время анимации скролла\n */\nconst SCROLL_ONE_FRAME_TIME = 250;\n\nfunction doScroll({\n scrollElement,\n getScrollPosition,\n animationQueue,\n onScrollToEndBorder,\n onScrollEnd,\n onScrollStart,\n initialScrollWidth,\n scrollAnimationDuration,\n textDirection,\n}: ScrollContext) {\n if (!scrollElement || !getScrollPosition) {\n return;\n }\n\n /**\n * Крайнее значение сдвига.\n */\n const extremeScrollLeft =\n (textDirection === 'ltr' ? 1 : -1) * (initialScrollWidth - scrollElement.offsetWidth);\n\n const startScrollLeft = roundUpElementScrollLeft(scrollElement);\n const remappedStartScrollLeft = startScrollLeft * (textDirection === 'rtl' ? -1 : 1);\n\n let endScrollLeft = getScrollPosition(remappedStartScrollLeft);\n\n const diff = endScrollLeft - remappedStartScrollLeft;\n if (textDirection === 'rtl') {\n endScrollLeft = startScrollLeft - diff;\n }\n\n onScrollStart();\n\n /**\n * Если окончание прокрутки вышло за ноль.\n */\n if (startScrollLeft * endScrollLeft < 0) {\n endScrollLeft = 0;\n }\n\n if (Math.abs(endScrollLeft) >= Math.abs(extremeScrollLeft)) {\n onScrollToEndBorder();\n endScrollLeft = extremeScrollLeft;\n }\n\n const startTime = now();\n\n (function scroll() {\n const time = now();\n const elapsed = Math.min((time - startTime) / scrollAnimationDuration, 1);\n\n const value = easeInOutSine(elapsed);\n\n const currentScrollLeft = startScrollLeft + (endScrollLeft - startScrollLeft) * value;\n scrollElement.scrollLeft = roundingAwayFromZero(currentScrollLeft);\n\n const scrollEnd =\n textDirection === 'ltr' ? Math.max(0, endScrollLeft) : Math.min(0, endScrollLeft);\n if (roundUpElementScrollLeft(scrollElement) !== scrollEnd && elapsed !== 1) {\n requestAnimationFrame(scroll);\n return;\n }\n\n onScrollEnd();\n animationQueue.shift();\n if (animationQueue.length > 0) {\n animationQueue[0]();\n }\n })();\n}\n\n/**\n * @see https://vkui.io/components/horizontal-scroll\n */\nexport const HorizontalScroll = ({\n children,\n getScrollToLeft,\n getScrollToRight,\n showArrows = true,\n arrowSize = 'm',\n arrowOffsetY,\n scrollAnimationDuration = SCROLL_ONE_FRAME_TIME,\n getRef,\n scrollOnAnyWheel = false,\n prevButtonTestId,\n nextButtonTestId,\n // ContentWrapper\n ContentWrapperComponent = 'div',\n contentWrapperRef,\n contentWrapperClassName,\n ...restProps\n}: HorizontalScrollProps): React.ReactNode => {\n const [canScrollStart, setCanScrollStart] = React.useState(false);\n const [canScrollEnd, setCanScrollEnd] = React.useState(false);\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const isCustomScrollingRef = React.useRef(false);\n\n const scrollerRef = useExternRef(getRef);\n\n const animationQueue = React.useRef<VoidFunction[]>([]);\n\n const hasPointer = useAdaptivityHasPointer();\n\n const scrollTo = React.useCallback(\n (getScrollPosition: ScrollPositionHandler) => {\n const scrollElement = scrollerRef.current;\n\n animationQueue.current.push(() =>\n doScroll({\n scrollElement,\n getScrollPosition,\n animationQueue: animationQueue.current,\n onScrollToEndBorder: () => setCanScrollEnd(false),\n onScrollEnd: () => (isCustomScrollingRef.current = false),\n onScrollStart: () => (isCustomScrollingRef.current = true),\n initialScrollWidth: scrollElement?.firstElementChild?.scrollWidth || 0,\n scrollAnimationDuration,\n textDirection: direction,\n }),\n );\n if (animationQueue.current.length === 1) {\n animationQueue.current[0]();\n }\n },\n [scrollerRef, scrollAnimationDuration, direction, setCanScrollEnd],\n );\n\n const scrollToStart = React.useCallback(() => {\n const getScrollPosition =\n getScrollToLeft ?? ((i: number) => i - scrollerRef.current!.offsetWidth);\n scrollTo(getScrollPosition);\n }, [getScrollToLeft, scrollTo, scrollerRef]);\n\n const scrollToEnd = React.useCallback(() => {\n const getScrollPosition =\n getScrollToRight ?? ((i: number) => i + scrollerRef.current!.offsetWidth);\n scrollTo(getScrollPosition);\n }, [getScrollToRight, scrollTo, scrollerRef]);\n\n const calculateArrowsVisibility = React.useCallback(() => {\n if (showArrows && hasPointer && scrollerRef.current && !isCustomScrollingRef.current) {\n const scrollElement = scrollerRef.current;\n const scrollLeft = scrollElement.scrollLeft;\n\n setCanScrollStart(isRtl ? scrollLeft < 0 : scrollLeft > 0);\n setCanScrollEnd(\n Math.abs(roundUpElementScrollLeft(scrollElement)) + scrollElement.offsetWidth <\n scrollElement.scrollWidth,\n );\n }\n }, [showArrows, hasPointer, scrollerRef, isRtl]);\n\n React.useEffect(calculateArrowsVisibility, [calculateArrowsVisibility, children]);\n\n useIsomorphicLayoutEffect(\n function addWheelEventHandler() {\n const scrollEl = scrollerRef.current;\n if (!scrollEl) {\n return noop;\n }\n /**\n * Прокрутка с помощью любого колеса мыши.\n */\n const onWheel = (e: WheelEvent) => {\n scrollerRef.current!.scrollBy({ left: e.deltaX + e.deltaY, behavior: 'auto' });\n e.preventDefault();\n };\n\n const listenerOptions = { passive: false };\n\n if (scrollOnAnyWheel) {\n scrollEl.addEventListener('wheel', onWheel, listenerOptions);\n }\n scrollEl.addEventListener('scroll', calculateArrowsVisibility, listenerOptions);\n\n return () => {\n if (scrollOnAnyWheel) {\n // @ts-expect-error: TS2769 В интерфейсе EventListenerOptions для wheel нет passive свойства\n scrollEl.removeEventListener('wheel', onWheel, listenerOptions);\n }\n // @ts-expect-error: TS2769 В интерфейсе EventListenerOptions для scroll нет passive свойства\n scrollEl.removeEventListener('scroll', calculateArrowsVisibility, listenerOptions);\n };\n },\n [scrollOnAnyWheel, calculateArrowsVisibility, scrollerRef],\n );\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalHorizontalScroll',\n showArrows === 'always' && styles.withConstArrows,\n isRtl && styles.rtl,\n )}\n onMouseEnter={calculateArrowsVisibility}\n >\n {showArrows && (hasPointer || hasPointer === undefined) && canScrollStart && (\n <ScrollArrow\n data-testid={prevButtonTestId}\n size={arrowSize}\n offsetY={arrowOffsetY}\n direction=\"left\"\n aria-hidden\n tabIndex={-1}\n className={classNames(styles.arrow, styles.arrowLeft)}\n onClick={scrollToStart}\n />\n )}\n {showArrows && (hasPointer || hasPointer === undefined) && canScrollEnd && (\n <ScrollArrow\n data-testid={nextButtonTestId}\n size={arrowSize}\n offsetY={arrowOffsetY}\n direction=\"right\"\n aria-hidden\n tabIndex={-1}\n className={classNames(styles.arrow, styles.arrowRight)}\n onClick={scrollToEnd}\n />\n )}\n <div className={styles.in} ref={scrollerRef}>\n <ContentWrapperComponent\n className={classNames(styles.inWrapper, contentWrapperClassName)}\n ref={contentWrapperRef}\n >\n {children}\n </ContentWrapperComponent>\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","noop","useAdaptivityHasPointer","useConfigDirection","useExternRef","easeInOutSine","useIsomorphicLayoutEffect","RootComponent","ScrollArrow","now","performance","Date","roundingAwayFromZero","value","Math","ceil","floor","roundUpElementScrollLeft","el","scrollLeft","SCROLL_ONE_FRAME_TIME","doScroll","scrollElement","getScrollPosition","animationQueue","onScrollToEndBorder","onScrollEnd","onScrollStart","initialScrollWidth","scrollAnimationDuration","textDirection","extremeScrollLeft","offsetWidth","startScrollLeft","remappedStartScrollLeft","endScrollLeft","diff","abs","startTime","scroll","time","elapsed","min","currentScrollLeft","scrollEnd","max","requestAnimationFrame","shift","length","HorizontalScroll","children","getScrollToLeft","getScrollToRight","showArrows","arrowSize","arrowOffsetY","getRef","scrollOnAnyWheel","prevButtonTestId","nextButtonTestId","ContentWrapperComponent","contentWrapperRef","contentWrapperClassName","restProps","canScrollStart","setCanScrollStart","useState","canScrollEnd","setCanScrollEnd","direction","isRtl","isCustomScrollingRef","useRef","scrollerRef","hasPointer","scrollTo","useCallback","current","push","firstElementChild","scrollWidth","scrollToStart","i","scrollToEnd","calculateArrowsVisibility","useEffect","addWheelEventHandler","scrollEl","onWheel","e","scrollBy","left","deltaX","deltaY","behavior","preventDefault","listenerOptions","passive","addEventListener","removeEventListener","baseClassName","onMouseEnter","undefined","data-testid","size","offsetY","aria-hidden","tabIndex","className","onClick","div","ref"],"mappings":"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"}
@@ -6,7 +6,7 @@ export interface IconButtonProps extends TappableOmitProps {
6
6
  label?: string;
7
7
  }
8
8
  /**
9
- * @see https://vkcom.github.io/VKUI/#/IconButton
9
+ * @see https://vkui.io/components/icon-button
10
10
  */
11
11
  export declare const IconButton: ({ label, children, ...restProps }: IconButtonProps) => React.ReactNode;
12
12
  //# sourceMappingURL=IconButton.d.ts.map
@@ -16,7 +16,7 @@ const sizeYClassNames = {
16
16
  };
17
17
  const warn = warnOnce('IconButton');
18
18
  /**
19
- * @see https://vkcom.github.io/VKUI/#/IconButton
19
+ * @see https://vkui.io/components/icon-button
20
20
  */ export const IconButton = (_param)=>{
21
21
  var { label, children } = _param, restProps = _object_without_properties(_param, [
22
22
  "label",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './IconButton.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n} as const;\n\nexport interface IconButtonProps extends TappableOmitProps {\n /**\n * Текст кнопки-иконки. Делает ее доступной для ассистивных технологий.\n */\n label?: string;\n}\n\nconst warn = warnOnce('IconButton');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/IconButton\n */\nexport const IconButton = ({ label, children, ...restProps }: IconButtonProps): React.ReactNode => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore next: проверка в dev mode, тест на hasAccessibleName() есть в lib/accessibility.test.tsx */\n const isAccessible = hasAccessibleName({\n children: [children, label],\n ...restProps,\n });\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y[restProps.href ? 'link-name' : 'button-name'], 'error');\n }\n }\n\n return (\n <Tappable\n activeEffectDelay={200}\n activeMode=\"background\"\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n baseClassName={classNames(\n styles.host,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n platform === 'ios' && styles.ios,\n )}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n {children}\n </Tappable>\n );\n};\n"],"names":["classNames","useAdaptivity","usePlatform","hasAccessibleName","COMMON_WARNINGS","warnOnce","Tappable","VisuallyHidden","sizeYClassNames","none","compact","warn","IconButton","label","children","restProps","platform","sizeY","process","env","NODE_ENV","isAccessible","a11y","href","activeEffectDelay","activeMode","Component","baseClassName"],"mappings":"AAAA;;;;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/D,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AASA,MAAMC,OAAON,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMO,aAAa;QAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAiC,WAA5BC;QAApBF;QAAOC;;IAClC,MAAME,WAAWd;IACjB,MAAM,EAAEe,QAAQ,MAAM,EAAE,GAAGhB;IAE3B,IAAIiB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAelB,kBAAkB;YACrCW,UAAU;gBAACA;gBAAUD;aAAM;WACxBE;QAGL,IAAI,CAACM,cAAc;YACjBV,KAAKP,gBAAgBkB,IAAI,CAACP,UAAUQ,IAAI,GAAG,cAAc,cAAc,EAAE;QAC3E;IACF;IAEA,qBACE,MAACjB;QACCkB,mBAAmB;QACnBC,YAAW;QACXC,WAAWX,UAAUQ,IAAI,GAAG,MAAM;OAC9BR;QACJY,eAAe3B,mCAEbiB,UAAU,aAAaT,eAAe,CAACS,MAAM,EAC7CD,aAAa;;YAGdH,uBAAS,KAACN;0BAAgBM;;YAC1BC;;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './IconButton.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n} as const;\n\nexport interface IconButtonProps extends TappableOmitProps {\n /**\n * Текст кнопки-иконки. Делает ее доступной для ассистивных технологий.\n */\n label?: string;\n}\n\nconst warn = warnOnce('IconButton');\n\n/**\n * @see https://vkui.io/components/icon-button\n */\nexport const IconButton = ({ label, children, ...restProps }: IconButtonProps): React.ReactNode => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore next: проверка в dev mode, тест на hasAccessibleName() есть в lib/accessibility.test.tsx */\n const isAccessible = hasAccessibleName({\n children: [children, label],\n ...restProps,\n });\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y[restProps.href ? 'link-name' : 'button-name'], 'error');\n }\n }\n\n return (\n <Tappable\n activeEffectDelay={200}\n activeMode=\"background\"\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n baseClassName={classNames(\n styles.host,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n platform === 'ios' && styles.ios,\n )}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n {children}\n </Tappable>\n );\n};\n"],"names":["classNames","useAdaptivity","usePlatform","hasAccessibleName","COMMON_WARNINGS","warnOnce","Tappable","VisuallyHidden","sizeYClassNames","none","compact","warn","IconButton","label","children","restProps","platform","sizeY","process","env","NODE_ENV","isAccessible","a11y","href","activeEffectDelay","activeMode","Component","baseClassName"],"mappings":"AAAA;;;;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/D,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AASA,MAAMC,OAAON,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMO,aAAa;QAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAiC,WAA5BC;QAApBF;QAAOC;;IAClC,MAAME,WAAWd;IACjB,MAAM,EAAEe,QAAQ,MAAM,EAAE,GAAGhB;IAE3B,IAAIiB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAelB,kBAAkB;YACrCW,UAAU;gBAACA;gBAAUD;aAAM;WACxBE;QAGL,IAAI,CAACM,cAAc;YACjBV,KAAKP,gBAAgBkB,IAAI,CAACP,UAAUQ,IAAI,GAAG,cAAc,cAAc,EAAE;QAC3E;IACF;IAEA,qBACE,MAACjB;QACCkB,mBAAmB;QACnBC,YAAW;QACXC,WAAWX,UAAUQ,IAAI,GAAG,MAAM;OAC9BR;QACJY,eAAe3B,mCAEbiB,UAAU,aAAaT,eAAe,CAACS,MAAM,EAC7CD,aAAa;;YAGdH,uBAAS,KAACN;0BAAgBM;;YAC1BC;;;AAGP,EAAE"}
@@ -25,7 +25,7 @@ export interface ImageProps extends Omit<ImageBaseProps, 'badge'> {
25
25
  borderEndEndRadius?: 's' | 'l' | 'm';
26
26
  }
27
27
  /**
28
- * @see https://vkcom.github.io/VKUI/#/Image
28
+ * @see https://vkui.io/components/image
29
29
  */
30
30
  export declare const Image: React.FC<ImageProps> & {
31
31
  Badge: typeof ImageBadge;
@@ -72,7 +72,7 @@ const getBorderRadiusBySizeInPx = (size, borderRadius)=>{
72
72
  return `${getBorderRadiusBySize(size, borderRadius)}px`;
73
73
  };
74
74
  /**
75
- * @see https://vkcom.github.io/VKUI/#/Image
75
+ * @see https://vkui.io/components/image
76
76
  */ export const Image = (_param)=>{
77
77
  var { size = IMAGE_DEFAULT_SIZE, borderRadius = 'm', borderStartStartRadius, borderStartEndRadius, borderEndStartRadius, borderEndEndRadius, style, className, objectFit = 'cover' } = _param, restProps = _object_without_properties(_param, [
78
78
  "size",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Image/Image.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport { type CSSCustomProperties } from '../../types';\nimport { ImageBase, type ImageBaseOverlayProps, type ImageBaseProps } from '../ImageBase/ImageBase';\nimport { ImageBadge, type ImageBadgeProps } from './ImageBadge/ImageBadge';\nimport styles from './Image.module.css';\n\nexport type { ImageBadgeProps, ImageBaseOverlayProps as ImageOverlayProps };\n\nconst IMAGE_DEFAULT_SIZE = 48;\n\nexport interface ImageProps extends Omit<ImageBaseProps, 'badge'> {\n /**\n * Размер закругления.\n */\n borderRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между сторонами начала блока и строки.\n */\n borderStartStartRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между стороной начала блока и стороной конца строки.\n */\n borderStartEndRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между стороной конца блока и стороной начала строки.\n */\n borderEndStartRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между сторонами конца блока и строки.\n */\n borderEndEndRadius?: 's' | 'l' | 'm';\n}\n\nconst getBorderRadiusBySize = (\n size: Exclude<ImageBaseProps['size'], undefined>,\n borderRadius: Exclude<ImageProps['borderRadius'], undefined>,\n) => {\n switch (borderRadius) {\n case 's': {\n if (size <= 32) {\n return 2;\n }\n if (size <= 56) {\n return 3;\n }\n return 4;\n }\n case 'm': {\n if (size <= 32) {\n return 3;\n }\n if (size <= 48) {\n return 4;\n }\n if (size <= 72) {\n return 6;\n }\n if (size <= 80) {\n return 8;\n }\n return 10;\n }\n case 'l': {\n if (size <= 16) {\n return 4;\n }\n if (size <= 20) {\n return 5;\n }\n if (size <= 32) {\n return 6;\n }\n if (size <= 40) {\n return 8;\n }\n if (size <= 48) {\n return 10;\n }\n if (size <= 56) {\n return 12;\n }\n if (size <= 64) {\n return 14;\n }\n return 16;\n }\n }\n};\n\nconst getBorderRadiusBySizeInPx = (\n size: Exclude<ImageBaseProps['size'], undefined>,\n borderRadius: ImageProps['borderRadius'],\n) => {\n if (!borderRadius) {\n return undefined;\n }\n\n return `${getBorderRadiusBySize(size, borderRadius)}px`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Image\n */\nexport const Image: React.FC<ImageProps> & {\n Badge: typeof ImageBadge;\n Overlay: typeof ImageBase.Overlay;\n FloatElement: typeof ImageBase.FloatElement;\n} = ({\n size = IMAGE_DEFAULT_SIZE,\n borderRadius = 'm',\n borderStartStartRadius,\n borderStartEndRadius,\n borderEndStartRadius,\n borderEndEndRadius,\n style,\n className,\n objectFit = 'cover',\n ...restProps\n}: ImageProps) => {\n const borderStyles: CSSCustomProperties<string | undefined> = React.useMemo(\n () => ({\n '--vkui_internal--Image_border_radius': getBorderRadiusBySizeInPx(size, borderRadius),\n '--vkui_internal--Image_border_start_start_radius': getBorderRadiusBySizeInPx(\n size,\n borderStartStartRadius,\n ),\n '--vkui_internal--Image_border_start_end_radius': getBorderRadiusBySizeInPx(\n size,\n borderStartEndRadius,\n ),\n '--vkui_internal--Image_border_end_start_radius': getBorderRadiusBySizeInPx(\n size,\n borderEndStartRadius,\n ),\n '--vkui_internal--Image_border_end_end_radius': getBorderRadiusBySizeInPx(\n size,\n borderEndEndRadius,\n ),\n }),\n [\n borderRadius,\n borderStartStartRadius,\n borderStartEndRadius,\n borderEndStartRadius,\n borderEndEndRadius,\n size,\n ],\n );\n\n return (\n <ImageBase\n {...restProps}\n objectFit={objectFit}\n size={size}\n style={mergeStyle(borderStyles, style)}\n className={classNames(\n className,\n styles.host,\n borderStartStartRadius && styles.borderStartStartRadius,\n borderStartEndRadius && styles.borderStartEndRadius,\n borderEndStartRadius && styles.borderEndStartRadius,\n borderEndEndRadius && styles.borderEndEndRadius,\n )}\n />\n );\n};\n\nImage.Badge = ImageBadge;\nImage.Overlay = ImageBase.Overlay;\nImage.FloatElement = ImageBase.FloatElement;\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(Image.Badge, 'Image.Badge');\n defineComponentDisplayNames(Image.Overlay, 'Image.Overlay');\n defineComponentDisplayNames(Image.FloatElement, 'Image.FloatElement');\n}\n"],"names":["React","classNames","mergeStyle","defineComponentDisplayNames","ImageBase","ImageBadge","IMAGE_DEFAULT_SIZE","getBorderRadiusBySize","size","borderRadius","getBorderRadiusBySizeInPx","undefined","Image","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","style","className","objectFit","restProps","borderStyles","useMemo","Badge","Overlay","FloatElement","process","env","NODE_ENV"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,2BAA2B,QAAQ,iDAA8C;AAE1F,SAASC,SAAS,QAAyD,4BAAyB;AACpG,SAASC,UAAU,QAA8B,6BAA0B;AAK3E,MAAMC,qBAAqB;AAyB3B,MAAMC,wBAAwB,CAC5BC,MACAC;IAEA,OAAQA;QACN,KAAK;YAAK;gBACR,IAAID,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;QACA,KAAK;YAAK;gBACR,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;QACA,KAAK;YAAK;gBACR,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;IACF;AACF;AAEA,MAAME,4BAA4B,CAChCF,MACAC;IAEA,IAAI,CAACA,cAAc;QACjB,OAAOE;IACT;IAEA,OAAO,GAAGJ,sBAAsBC,MAAMC,cAAc,EAAE,CAAC;AACzD;AAEA;;CAEC,GACD,OAAO,MAAMG,QAIT;QAAC,EACHJ,OAAOF,kBAAkB,EACzBG,eAAe,GAAG,EAClBI,sBAAsB,EACtBC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,EAClBC,KAAK,EACLC,SAAS,EACTC,YAAY,OAAO,EAER,WADRC;QATHZ;QACAC;QACAI;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,eAAwDrB,MAAMsB,OAAO,CACzE,IAAO,CAAA;YACL,wCAAwCZ,0BAA0BF,MAAMC;YACxE,oDAAoDC,0BAClDF,MACAK;YAEF,kDAAkDH,0BAChDF,MACAM;YAEF,kDAAkDJ,0BAChDF,MACAO;YAEF,gDAAgDL,0BAC9CF,MACAQ;QAEJ,CAAA,GACA;QACEP;QACAI;QACAC;QACAC;QACAC;QACAR;KACD;IAGH,qBACE,KAACJ,mDACKgB;QACJD,WAAWA;QACXX,MAAMA;QACNS,OAAOf,WAAWmB,cAAcJ;QAChCC,WAAWjB,WACTiB,8BAEAL,+DACAC,2DACAC,2DACAC;;AAIR,EAAE;AAEFJ,MAAMW,KAAK,GAAGlB;AACdO,MAAMY,OAAO,GAAGpB,UAAUoB,OAAO;AACjCZ,MAAMa,YAAY,GAAGrB,UAAUqB,YAAY;AAE3C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzCzB,4BAA4BS,MAAMW,KAAK,EAAE;IACzCpB,4BAA4BS,MAAMY,OAAO,EAAE;IAC3CrB,4BAA4BS,MAAMa,YAAY,EAAE;AAClD"}
1
+ {"version":3,"sources":["../../../src/components/Image/Image.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport { type CSSCustomProperties } from '../../types';\nimport { ImageBase, type ImageBaseOverlayProps, type ImageBaseProps } from '../ImageBase/ImageBase';\nimport { ImageBadge, type ImageBadgeProps } from './ImageBadge/ImageBadge';\nimport styles from './Image.module.css';\n\nexport type { ImageBadgeProps, ImageBaseOverlayProps as ImageOverlayProps };\n\nconst IMAGE_DEFAULT_SIZE = 48;\n\nexport interface ImageProps extends Omit<ImageBaseProps, 'badge'> {\n /**\n * Размер закругления.\n */\n borderRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между сторонами начала блока и строки.\n */\n borderStartStartRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между стороной начала блока и стороной конца строки.\n */\n borderStartEndRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между стороной конца блока и стороной начала строки.\n */\n borderEndStartRadius?: 's' | 'l' | 'm';\n /**\n * Размер закругления угла между сторонами конца блока и строки.\n */\n borderEndEndRadius?: 's' | 'l' | 'm';\n}\n\nconst getBorderRadiusBySize = (\n size: Exclude<ImageBaseProps['size'], undefined>,\n borderRadius: Exclude<ImageProps['borderRadius'], undefined>,\n) => {\n switch (borderRadius) {\n case 's': {\n if (size <= 32) {\n return 2;\n }\n if (size <= 56) {\n return 3;\n }\n return 4;\n }\n case 'm': {\n if (size <= 32) {\n return 3;\n }\n if (size <= 48) {\n return 4;\n }\n if (size <= 72) {\n return 6;\n }\n if (size <= 80) {\n return 8;\n }\n return 10;\n }\n case 'l': {\n if (size <= 16) {\n return 4;\n }\n if (size <= 20) {\n return 5;\n }\n if (size <= 32) {\n return 6;\n }\n if (size <= 40) {\n return 8;\n }\n if (size <= 48) {\n return 10;\n }\n if (size <= 56) {\n return 12;\n }\n if (size <= 64) {\n return 14;\n }\n return 16;\n }\n }\n};\n\nconst getBorderRadiusBySizeInPx = (\n size: Exclude<ImageBaseProps['size'], undefined>,\n borderRadius: ImageProps['borderRadius'],\n) => {\n if (!borderRadius) {\n return undefined;\n }\n\n return `${getBorderRadiusBySize(size, borderRadius)}px`;\n};\n\n/**\n * @see https://vkui.io/components/image\n */\nexport const Image: React.FC<ImageProps> & {\n Badge: typeof ImageBadge;\n Overlay: typeof ImageBase.Overlay;\n FloatElement: typeof ImageBase.FloatElement;\n} = ({\n size = IMAGE_DEFAULT_SIZE,\n borderRadius = 'm',\n borderStartStartRadius,\n borderStartEndRadius,\n borderEndStartRadius,\n borderEndEndRadius,\n style,\n className,\n objectFit = 'cover',\n ...restProps\n}: ImageProps) => {\n const borderStyles: CSSCustomProperties<string | undefined> = React.useMemo(\n () => ({\n '--vkui_internal--Image_border_radius': getBorderRadiusBySizeInPx(size, borderRadius),\n '--vkui_internal--Image_border_start_start_radius': getBorderRadiusBySizeInPx(\n size,\n borderStartStartRadius,\n ),\n '--vkui_internal--Image_border_start_end_radius': getBorderRadiusBySizeInPx(\n size,\n borderStartEndRadius,\n ),\n '--vkui_internal--Image_border_end_start_radius': getBorderRadiusBySizeInPx(\n size,\n borderEndStartRadius,\n ),\n '--vkui_internal--Image_border_end_end_radius': getBorderRadiusBySizeInPx(\n size,\n borderEndEndRadius,\n ),\n }),\n [\n borderRadius,\n borderStartStartRadius,\n borderStartEndRadius,\n borderEndStartRadius,\n borderEndEndRadius,\n size,\n ],\n );\n\n return (\n <ImageBase\n {...restProps}\n objectFit={objectFit}\n size={size}\n style={mergeStyle(borderStyles, style)}\n className={classNames(\n className,\n styles.host,\n borderStartStartRadius && styles.borderStartStartRadius,\n borderStartEndRadius && styles.borderStartEndRadius,\n borderEndStartRadius && styles.borderEndStartRadius,\n borderEndEndRadius && styles.borderEndEndRadius,\n )}\n />\n );\n};\n\nImage.Badge = ImageBadge;\nImage.Overlay = ImageBase.Overlay;\nImage.FloatElement = ImageBase.FloatElement;\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(Image.Badge, 'Image.Badge');\n defineComponentDisplayNames(Image.Overlay, 'Image.Overlay');\n defineComponentDisplayNames(Image.FloatElement, 'Image.FloatElement');\n}\n"],"names":["React","classNames","mergeStyle","defineComponentDisplayNames","ImageBase","ImageBadge","IMAGE_DEFAULT_SIZE","getBorderRadiusBySize","size","borderRadius","getBorderRadiusBySizeInPx","undefined","Image","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","style","className","objectFit","restProps","borderStyles","useMemo","Badge","Overlay","FloatElement","process","env","NODE_ENV"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,2BAA2B,QAAQ,iDAA8C;AAE1F,SAASC,SAAS,QAAyD,4BAAyB;AACpG,SAASC,UAAU,QAA8B,6BAA0B;AAK3E,MAAMC,qBAAqB;AAyB3B,MAAMC,wBAAwB,CAC5BC,MACAC;IAEA,OAAQA;QACN,KAAK;YAAK;gBACR,IAAID,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;QACA,KAAK;YAAK;gBACR,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;QACA,KAAK;YAAK;gBACR,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,IAAIA,QAAQ,IAAI;oBACd,OAAO;gBACT;gBACA,OAAO;YACT;IACF;AACF;AAEA,MAAME,4BAA4B,CAChCF,MACAC;IAEA,IAAI,CAACA,cAAc;QACjB,OAAOE;IACT;IAEA,OAAO,GAAGJ,sBAAsBC,MAAMC,cAAc,EAAE,CAAC;AACzD;AAEA;;CAEC,GACD,OAAO,MAAMG,QAIT;QAAC,EACHJ,OAAOF,kBAAkB,EACzBG,eAAe,GAAG,EAClBI,sBAAsB,EACtBC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,EAClBC,KAAK,EACLC,SAAS,EACTC,YAAY,OAAO,EAER,WADRC;QATHZ;QACAC;QACAI;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,eAAwDrB,MAAMsB,OAAO,CACzE,IAAO,CAAA;YACL,wCAAwCZ,0BAA0BF,MAAMC;YACxE,oDAAoDC,0BAClDF,MACAK;YAEF,kDAAkDH,0BAChDF,MACAM;YAEF,kDAAkDJ,0BAChDF,MACAO;YAEF,gDAAgDL,0BAC9CF,MACAQ;QAEJ,CAAA,GACA;QACEP;QACAI;QACAC;QACAC;QACAC;QACAR;KACD;IAGH,qBACE,KAACJ,mDACKgB;QACJD,WAAWA;QACXX,MAAMA;QACNS,OAAOf,WAAWmB,cAAcJ;QAChCC,WAAWjB,WACTiB,8BAEAL,+DACAC,2DACAC,2DACAC;;AAIR,EAAE;AAEFJ,MAAMW,KAAK,GAAGlB;AACdO,MAAMY,OAAO,GAAGpB,UAAUoB,OAAO;AACjCZ,MAAMa,YAAY,GAAGrB,UAAUqB,YAAY;AAE3C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzCzB,4BAA4BS,MAAMW,KAAK,EAAE;IACzCpB,4BAA4BS,MAAMY,OAAO,EAAE;IAC3CrB,4BAA4BS,MAAMa,YAAY,EAAE;AAClD"}
@@ -74,7 +74,7 @@ export interface ImageBaseProps extends React.ImgHTMLAttributes<HTMLElement>, An
74
74
  filter?: React.CSSProperties['filter'];
75
75
  }
76
76
  /**
77
- * @see https://vkcom.github.io/VKUI/#/ImageBase
77
+ * @see https://vkui.io/components/image-base
78
78
  */
79
79
  export declare const ImageBase: React.FC<ImageBaseProps> & {
80
80
  Badge: typeof ImageBaseBadge;
@@ -48,7 +48,7 @@ const sizeToNumber = (size)=>{
48
48
  return size;
49
49
  };
50
50
  /**
51
- * @see https://vkcom.github.io/VKUI/#/ImageBase
51
+ * @see https://vkui.io/components/image-base
52
52
  */ export const ImageBase = (_param)=>{
53
53
  var { alt, crossOrigin, decoding, loading, referrerPolicy, sizes, src, srcSet, useMap, fetchPriority, getRef, size: sizeProp, width: widthImg, height: heightImg, widthSize, heightSize, noBorder = false, fallbackIcon: fallbackIconProp, children, onLoad, onError, withTransparentBackground, objectFit = 'cover', objectPosition, filter, keepAspectRatio = false, getRootRef, elementTiming } = _param, restProps = _object_without_properties(_param, [
54
54
  "alt",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ImageBase/ImageBase.tsx"],"sourcesContent":["'use client';\n\nimport { useRef } from 'react';\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { minOr } from '../../lib/comparing';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type {\n AnchorHTMLAttributesOnly,\n CSSCustomProperties,\n HasRef,\n HasRootRef,\n LiteralUnion,\n} from '../../types';\nimport { Clickable } from '../Clickable/Clickable';\nimport { ImageBaseBadge, type ImageBaseBadgeProps } from './ImageBaseBadge/ImageBaseBadge';\nimport {\n type FloatElementIndentation,\n type FloatElementPlacement,\n ImageBaseFloatElement,\n type ImageBaseFloatElementProps,\n} from './ImageBaseFloatElement/ImageBaseFloatElement';\nimport { ImageBaseOverlay, type ImageBaseOverlayProps } from './ImageBaseOverlay/ImageBaseOverlay';\nimport { ImageBaseContext } from './context';\nimport type { ImageBaseContextProps, ImageBaseExpectedIconProps, ImageBaseSize } from './types';\nimport { validateFallbackIcon, validateSize } from './validators';\nimport styles from './ImageBase.module.css';\n\nexport type {\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseContextProps,\n ImageBaseFloatElementProps,\n FloatElementPlacement,\n FloatElementIndentation,\n};\n\nexport {\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './helpers';\n\nexport { ImageBaseContext };\n\n/**\n * Размер по умолчанию.\n */\nconst defaultSize = 24;\n\nexport interface ImageBaseProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n AnchorHTMLAttributesOnly,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Задаёт размер картинки.\n *\n * Используйте размеры заданные дизайн-системой `16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 56 | 64 | 72 | 80 | 88 | 96`.\n *\n * > ⚠️ Использование кастомного размера – это пограничный кейс.\n */\n size?: LiteralUnion<ImageBaseSize, number>;\n /**\n * Ширина изображения.\n */\n widthSize?: number | string;\n /**\n * Высота изображения.\n */\n heightSize?: number | string;\n /**\n * Отключает обводку.\n */\n noBorder?: boolean;\n /**\n * Фолбек на случай, если картинка не прогрузилась.\n *\n * > 📝 Нужный для `<ImageBase size={...} />` размер можно узнать из функции `getFallbackIconSizeByImageBaseSize()`.\n *\n * > Предпочтительней использовать иконки из `@vkontakte/icons`.\n *\n * > 📊️ Если вы хотите передать кастомную иконку, то следует именовать её по шаблону `Icon<size><name>`. Или же\n * > чтобы в неё был передан параметр `width`. Тогда мы сможем выводить в консоль подсказку правильного ли размера вы\n * > использовали иконку.\n *\n * > ⚠️ Может перекрывать `children`.\n */\n fallbackIcon?: React.ReactElement<ImageBaseExpectedIconProps>;\n /**\n * Отключает фон, заданный по умолчанию. Полезен для отображения картинок с прозрачностью.\n * @since 5.10.0\n */\n withTransparentBackground?: boolean;\n /**\n * Пользовательское значения стиля object-fit\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit).\n */\n objectFit?: React.CSSProperties['objectFit'];\n /**\n * Пользовательское значения стиля object-position\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-position).\n */\n objectPosition?: React.CSSProperties['objectPosition'];\n /**\n * Флаг для сохранения пропорций картинки.\n * Для корректной работы необходимо задать размеры хотя бы одной стороны картинки.\n */\n keepAspectRatio?: boolean;\n /**\n * Смотри https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/elementtiming.\n */\n elementTiming?: string;\n /**\n * Пользовательское значения стиля filter\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/filter).\n */\n filter?: React.CSSProperties['filter'];\n}\n\nconst getObjectFitClassName = (objectFit: React.CSSProperties['objectFit']) => {\n switch (objectFit) {\n case 'contain':\n return styles.imgObjectFitContain;\n case 'cover':\n return styles.imgObjectFitCover;\n case 'none':\n return styles.imgObjectFitNone;\n case 'scale-down':\n return styles.imgObjectFitScaleDown;\n }\n return undefined;\n};\n\nconst parsePx = (value: string): number | undefined => {\n if (value.endsWith('px')) {\n return parseInt(value);\n }\n return undefined;\n};\n\nconst sizeToNumber = (size: number | string | undefined): number | undefined => {\n if (typeof size === 'string') {\n return parsePx(size);\n }\n return size;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ImageBase\n */\nexport const ImageBase: React.FC<ImageBaseProps> & {\n Badge: typeof ImageBaseBadge;\n Overlay: typeof ImageBaseOverlay;\n FloatElement: typeof ImageBaseFloatElement;\n} = ({\n alt,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n fetchPriority,\n getRef,\n size: sizeProp,\n width: widthImg,\n height: heightImg,\n widthSize,\n heightSize,\n noBorder = false,\n fallbackIcon: fallbackIconProp,\n children,\n onLoad,\n onError,\n withTransparentBackground,\n objectFit = 'cover',\n objectPosition,\n filter,\n keepAspectRatio = false,\n getRootRef,\n elementTiming,\n ...restProps\n}: ImageBaseProps) => {\n const size = sizeProp ?? minOr([sizeToNumber(widthSize), sizeToNumber(heightSize)], defaultSize);\n const wrapperRef = useExternRef(getRootRef);\n\n const width = widthSize ?? (keepAspectRatio ? undefined : size);\n const height = heightSize ?? (keepAspectRatio ? undefined : size);\n\n const [loaded, setLoaded] = React.useState(false);\n const [failed, setFailed] = React.useState(false);\n\n const mouseOverHandlersRef = useRef<VoidFunction[]>([]);\n const mouseOutHandlersRef = useRef<VoidFunction[]>([]);\n\n const hasSrc = src || srcSet;\n const needShowFallbackIcon = (failed || !hasSrc) && React.isValidElement(fallbackIconProp);\n\n const fallbackIcon = needShowFallbackIcon ? fallbackIconProp : null;\n\n if (process.env.NODE_ENV === 'development') {\n validateSize(size);\n if (fallbackIcon) {\n validateFallbackIcon(size, { name: 'fallbackIcon', value: fallbackIcon });\n }\n }\n\n const handleImageLoad = (event: React.SyntheticEvent<HTMLImageElement>) => {\n if (loaded) {\n return;\n }\n\n setLoaded(true);\n setFailed(false);\n onLoad?.(event);\n };\n\n const handleImageError = (event: React.SyntheticEvent<HTMLImageElement>) => {\n setLoaded(false);\n setFailed(true);\n onError?.(event);\n };\n\n const imgRef = useExternRef(getRef);\n const isOnLoadStatusCheckedRef = React.useRef(false);\n React.useEffect(\n function dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater() {\n if (isOnLoadStatusCheckedRef.current) {\n return;\n }\n isOnLoadStatusCheckedRef.current = true;\n\n if (imgRef.current && imgRef.current.complete && !loaded) {\n const event = new Event('load');\n imgRef.current.dispatchEvent(event);\n }\n },\n [imgRef, loaded],\n );\n\n const onMouseOver = () => {\n mouseOverHandlersRef.current.forEach((fn) => fn());\n };\n\n const onMouseOut = () => {\n mouseOutHandlersRef.current.forEach((fn) => fn());\n };\n\n const contextValue = React.useMemo(\n () => ({\n size,\n onMouseOverHandlers: mouseOverHandlersRef.current,\n onMouseOutHandlers: mouseOutHandlersRef.current,\n }),\n [size],\n );\n\n const imgStyles:\n | CSSCustomProperties<React.CSSProperties['objectPosition'] | React.CSSProperties['filter']>\n | undefined =\n objectPosition || filter\n ? {\n '--vkui_internal--ImageBase_object_position': objectPosition,\n '--vkui_internal--ImageBase_object_filter': filter,\n }\n : undefined;\n\n const keepAspectRationStyles = keepAspectRatio\n ? {\n width: widthImg || width,\n height: heightImg || height,\n }\n : undefined;\n\n return (\n <ImageBaseContext.Provider value={contextValue}>\n <Clickable\n baseStyle={{ width, height }}\n baseClassName={classNames(\n styles.host,\n hasSrc && loaded && styles.loaded,\n withTransparentBackground && styles.transparentBackground,\n )}\n getRootRef={wrapperRef}\n onMouseOver={onMouseOver}\n onMouseOut={onMouseOut}\n {...restProps}\n >\n {hasSrc && (\n <img\n ref={imgRef}\n alt={alt}\n className={classNames(\n styles.img,\n getObjectFitClassName(objectFit),\n objectPosition && styles.withObjectPosition,\n filter && styles.withFilter,\n keepAspectRatio && styles.imgKeepRatio,\n )}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n style={mergeStyle(keepAspectRationStyles, imgStyles)}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={widthImg}\n height={heightImg}\n onLoad={handleImageLoad}\n onError={handleImageError}\n // @ts-expect-error: TS2322 отсутствует в @types/react\n elementtiming={elementTiming} // eslint-disable-line react/no-unknown-property\n {...getFetchPriorityProp(fetchPriority)}\n />\n )}\n {fallbackIcon && <div className={styles.fallback}>{fallbackIcon}</div>}\n {children && <div className={styles.children}>{children}</div>}\n {!noBorder && <div aria-hidden className={styles.border} />}\n </Clickable>\n </ImageBaseContext.Provider>\n );\n};\nImageBase.Badge = ImageBaseBadge;\nImageBase.Overlay = ImageBaseOverlay;\nImageBase.FloatElement = ImageBaseFloatElement;\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(ImageBase.Badge, 'ImageBase.Badge');\n defineComponentDisplayNames(ImageBase.Overlay, 'ImageBase.Overlay');\n defineComponentDisplayNames(ImageBase.FloatElement, 'ImageBase.FloatElement');\n}\n"],"names":["useRef","React","classNames","mergeStyle","useExternRef","minOr","defineComponentDisplayNames","getFetchPriorityProp","Clickable","ImageBaseBadge","ImageBaseFloatElement","ImageBaseOverlay","ImageBaseContext","validateFallbackIcon","validateSize","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","defaultSize","getObjectFitClassName","objectFit","undefined","parsePx","value","endsWith","parseInt","sizeToNumber","size","ImageBase","alt","crossOrigin","decoding","loading","referrerPolicy","sizes","src","srcSet","useMap","fetchPriority","getRef","sizeProp","width","widthImg","height","heightImg","widthSize","heightSize","noBorder","fallbackIcon","fallbackIconProp","children","onLoad","onError","withTransparentBackground","objectPosition","filter","keepAspectRatio","getRootRef","elementTiming","restProps","wrapperRef","loaded","setLoaded","useState","failed","setFailed","mouseOverHandlersRef","mouseOutHandlersRef","hasSrc","needShowFallbackIcon","isValidElement","process","env","NODE_ENV","name","handleImageLoad","event","handleImageError","imgRef","isOnLoadStatusCheckedRef","useEffect","dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater","current","complete","Event","dispatchEvent","onMouseOver","forEach","fn","onMouseOut","contextValue","useMemo","onMouseOverHandlers","onMouseOutHandlers","imgStyles","keepAspectRationStyles","Provider","baseStyle","baseClassName","img","ref","className","style","elementtiming","div","aria-hidden","Badge","Overlay","FloatElement"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/ImageBase/ImageBase.tsx"],"sourcesContent":["'use client';\n\nimport { useRef } from 'react';\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { minOr } from '../../lib/comparing';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type {\n AnchorHTMLAttributesOnly,\n CSSCustomProperties,\n HasRef,\n HasRootRef,\n LiteralUnion,\n} from '../../types';\nimport { Clickable } from '../Clickable/Clickable';\nimport { ImageBaseBadge, type ImageBaseBadgeProps } from './ImageBaseBadge/ImageBaseBadge';\nimport {\n type FloatElementIndentation,\n type FloatElementPlacement,\n ImageBaseFloatElement,\n type ImageBaseFloatElementProps,\n} from './ImageBaseFloatElement/ImageBaseFloatElement';\nimport { ImageBaseOverlay, type ImageBaseOverlayProps } from './ImageBaseOverlay/ImageBaseOverlay';\nimport { ImageBaseContext } from './context';\nimport type { ImageBaseContextProps, ImageBaseExpectedIconProps, ImageBaseSize } from './types';\nimport { validateFallbackIcon, validateSize } from './validators';\nimport styles from './ImageBase.module.css';\n\nexport type {\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseContextProps,\n ImageBaseFloatElementProps,\n FloatElementPlacement,\n FloatElementIndentation,\n};\n\nexport {\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './helpers';\n\nexport { ImageBaseContext };\n\n/**\n * Размер по умолчанию.\n */\nconst defaultSize = 24;\n\nexport interface ImageBaseProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n AnchorHTMLAttributesOnly,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Задаёт размер картинки.\n *\n * Используйте размеры заданные дизайн-системой `16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 56 | 64 | 72 | 80 | 88 | 96`.\n *\n * > ⚠️ Использование кастомного размера – это пограничный кейс.\n */\n size?: LiteralUnion<ImageBaseSize, number>;\n /**\n * Ширина изображения.\n */\n widthSize?: number | string;\n /**\n * Высота изображения.\n */\n heightSize?: number | string;\n /**\n * Отключает обводку.\n */\n noBorder?: boolean;\n /**\n * Фолбек на случай, если картинка не прогрузилась.\n *\n * > 📝 Нужный для `<ImageBase size={...} />` размер можно узнать из функции `getFallbackIconSizeByImageBaseSize()`.\n *\n * > Предпочтительней использовать иконки из `@vkontakte/icons`.\n *\n * > 📊️ Если вы хотите передать кастомную иконку, то следует именовать её по шаблону `Icon<size><name>`. Или же\n * > чтобы в неё был передан параметр `width`. Тогда мы сможем выводить в консоль подсказку правильного ли размера вы\n * > использовали иконку.\n *\n * > ⚠️ Может перекрывать `children`.\n */\n fallbackIcon?: React.ReactElement<ImageBaseExpectedIconProps>;\n /**\n * Отключает фон, заданный по умолчанию. Полезен для отображения картинок с прозрачностью.\n * @since 5.10.0\n */\n withTransparentBackground?: boolean;\n /**\n * Пользовательское значения стиля object-fit\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit).\n */\n objectFit?: React.CSSProperties['objectFit'];\n /**\n * Пользовательское значения стиля object-position\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-position).\n */\n objectPosition?: React.CSSProperties['objectPosition'];\n /**\n * Флаг для сохранения пропорций картинки.\n * Для корректной работы необходимо задать размеры хотя бы одной стороны картинки.\n */\n keepAspectRatio?: boolean;\n /**\n * Смотри https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/elementtiming.\n */\n elementTiming?: string;\n /**\n * Пользовательское значения стиля filter\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/filter).\n */\n filter?: React.CSSProperties['filter'];\n}\n\nconst getObjectFitClassName = (objectFit: React.CSSProperties['objectFit']) => {\n switch (objectFit) {\n case 'contain':\n return styles.imgObjectFitContain;\n case 'cover':\n return styles.imgObjectFitCover;\n case 'none':\n return styles.imgObjectFitNone;\n case 'scale-down':\n return styles.imgObjectFitScaleDown;\n }\n return undefined;\n};\n\nconst parsePx = (value: string): number | undefined => {\n if (value.endsWith('px')) {\n return parseInt(value);\n }\n return undefined;\n};\n\nconst sizeToNumber = (size: number | string | undefined): number | undefined => {\n if (typeof size === 'string') {\n return parsePx(size);\n }\n return size;\n};\n\n/**\n * @see https://vkui.io/components/image-base\n */\nexport const ImageBase: React.FC<ImageBaseProps> & {\n Badge: typeof ImageBaseBadge;\n Overlay: typeof ImageBaseOverlay;\n FloatElement: typeof ImageBaseFloatElement;\n} = ({\n alt,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n fetchPriority,\n getRef,\n size: sizeProp,\n width: widthImg,\n height: heightImg,\n widthSize,\n heightSize,\n noBorder = false,\n fallbackIcon: fallbackIconProp,\n children,\n onLoad,\n onError,\n withTransparentBackground,\n objectFit = 'cover',\n objectPosition,\n filter,\n keepAspectRatio = false,\n getRootRef,\n elementTiming,\n ...restProps\n}: ImageBaseProps) => {\n const size = sizeProp ?? minOr([sizeToNumber(widthSize), sizeToNumber(heightSize)], defaultSize);\n const wrapperRef = useExternRef(getRootRef);\n\n const width = widthSize ?? (keepAspectRatio ? undefined : size);\n const height = heightSize ?? (keepAspectRatio ? undefined : size);\n\n const [loaded, setLoaded] = React.useState(false);\n const [failed, setFailed] = React.useState(false);\n\n const mouseOverHandlersRef = useRef<VoidFunction[]>([]);\n const mouseOutHandlersRef = useRef<VoidFunction[]>([]);\n\n const hasSrc = src || srcSet;\n const needShowFallbackIcon = (failed || !hasSrc) && React.isValidElement(fallbackIconProp);\n\n const fallbackIcon = needShowFallbackIcon ? fallbackIconProp : null;\n\n if (process.env.NODE_ENV === 'development') {\n validateSize(size);\n if (fallbackIcon) {\n validateFallbackIcon(size, { name: 'fallbackIcon', value: fallbackIcon });\n }\n }\n\n const handleImageLoad = (event: React.SyntheticEvent<HTMLImageElement>) => {\n if (loaded) {\n return;\n }\n\n setLoaded(true);\n setFailed(false);\n onLoad?.(event);\n };\n\n const handleImageError = (event: React.SyntheticEvent<HTMLImageElement>) => {\n setLoaded(false);\n setFailed(true);\n onError?.(event);\n };\n\n const imgRef = useExternRef(getRef);\n const isOnLoadStatusCheckedRef = React.useRef(false);\n React.useEffect(\n function dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater() {\n if (isOnLoadStatusCheckedRef.current) {\n return;\n }\n isOnLoadStatusCheckedRef.current = true;\n\n if (imgRef.current && imgRef.current.complete && !loaded) {\n const event = new Event('load');\n imgRef.current.dispatchEvent(event);\n }\n },\n [imgRef, loaded],\n );\n\n const onMouseOver = () => {\n mouseOverHandlersRef.current.forEach((fn) => fn());\n };\n\n const onMouseOut = () => {\n mouseOutHandlersRef.current.forEach((fn) => fn());\n };\n\n const contextValue = React.useMemo(\n () => ({\n size,\n onMouseOverHandlers: mouseOverHandlersRef.current,\n onMouseOutHandlers: mouseOutHandlersRef.current,\n }),\n [size],\n );\n\n const imgStyles:\n | CSSCustomProperties<React.CSSProperties['objectPosition'] | React.CSSProperties['filter']>\n | undefined =\n objectPosition || filter\n ? {\n '--vkui_internal--ImageBase_object_position': objectPosition,\n '--vkui_internal--ImageBase_object_filter': filter,\n }\n : undefined;\n\n const keepAspectRationStyles = keepAspectRatio\n ? {\n width: widthImg || width,\n height: heightImg || height,\n }\n : undefined;\n\n return (\n <ImageBaseContext.Provider value={contextValue}>\n <Clickable\n baseStyle={{ width, height }}\n baseClassName={classNames(\n styles.host,\n hasSrc && loaded && styles.loaded,\n withTransparentBackground && styles.transparentBackground,\n )}\n getRootRef={wrapperRef}\n onMouseOver={onMouseOver}\n onMouseOut={onMouseOut}\n {...restProps}\n >\n {hasSrc && (\n <img\n ref={imgRef}\n alt={alt}\n className={classNames(\n styles.img,\n getObjectFitClassName(objectFit),\n objectPosition && styles.withObjectPosition,\n filter && styles.withFilter,\n keepAspectRatio && styles.imgKeepRatio,\n )}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n style={mergeStyle(keepAspectRationStyles, imgStyles)}\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={widthImg}\n height={heightImg}\n onLoad={handleImageLoad}\n onError={handleImageError}\n // @ts-expect-error: TS2322 отсутствует в @types/react\n elementtiming={elementTiming} // eslint-disable-line react/no-unknown-property\n {...getFetchPriorityProp(fetchPriority)}\n />\n )}\n {fallbackIcon && <div className={styles.fallback}>{fallbackIcon}</div>}\n {children && <div className={styles.children}>{children}</div>}\n {!noBorder && <div aria-hidden className={styles.border} />}\n </Clickable>\n </ImageBaseContext.Provider>\n );\n};\nImageBase.Badge = ImageBaseBadge;\nImageBase.Overlay = ImageBaseOverlay;\nImageBase.FloatElement = ImageBaseFloatElement;\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(ImageBase.Badge, 'ImageBase.Badge');\n defineComponentDisplayNames(ImageBase.Overlay, 'ImageBase.Overlay');\n defineComponentDisplayNames(ImageBase.FloatElement, 'ImageBase.FloatElement');\n}\n"],"names":["useRef","React","classNames","mergeStyle","useExternRef","minOr","defineComponentDisplayNames","getFetchPriorityProp","Clickable","ImageBaseBadge","ImageBaseFloatElement","ImageBaseOverlay","ImageBaseContext","validateFallbackIcon","validateSize","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","defaultSize","getObjectFitClassName","objectFit","undefined","parsePx","value","endsWith","parseInt","sizeToNumber","size","ImageBase","alt","crossOrigin","decoding","loading","referrerPolicy","sizes","src","srcSet","useMap","fetchPriority","getRef","sizeProp","width","widthImg","height","heightImg","widthSize","heightSize","noBorder","fallbackIcon","fallbackIconProp","children","onLoad","onError","withTransparentBackground","objectPosition","filter","keepAspectRatio","getRootRef","elementTiming","restProps","wrapperRef","loaded","setLoaded","useState","failed","setFailed","mouseOverHandlersRef","mouseOutHandlersRef","hasSrc","needShowFallbackIcon","isValidElement","process","env","NODE_ENV","name","handleImageLoad","event","handleImageError","imgRef","isOnLoadStatusCheckedRef","useEffect","dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater","current","complete","Event","dispatchEvent","onMouseOver","forEach","fn","onMouseOut","contextValue","useMemo","onMouseOverHandlers","onMouseOutHandlers","imgStyles","keepAspectRationStyles","Provider","baseStyle","baseClassName","img","ref","className","style","elementtiming","div","aria-hidden","Badge","Overlay","FloatElement"],"mappings":"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"}
@@ -7,7 +7,7 @@ export interface InfoRowProps extends HTMLAttributesWithRootRef<HTMLDivElement>
7
7
  header: React.ReactNode;
8
8
  }
9
9
  /**
10
- * @see https://vkcom.github.io/VKUI/#/InfoRow
10
+ * @see https://vkui.io/components/info-row
11
11
  */
12
12
  export declare const InfoRow: ({ header, children, className, ...restProps }: InfoRowProps) => React.ReactNode;
13
13
  //# sourceMappingURL=InfoRow.d.ts.map
@@ -8,7 +8,7 @@ import { Headline } from "../Typography/Headline/Headline.js";
8
8
  import { Subhead } from "../Typography/Subhead/Subhead.js";
9
9
  import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
10
10
  /**
11
- * @see https://vkcom.github.io/VKUI/#/InfoRow
11
+ * @see https://vkui.io/components/info-row
12
12
  */ export const InfoRow = (_param)=>{
13
13
  var { header, children, className } = _param, restProps = _object_without_properties(_param, [
14
14
  "header",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/InfoRow/InfoRow.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './InfoRow.module.css';\n\nexport interface InfoRowProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Элемент, отображаемый над содержимым.\n */\n header: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/InfoRow\n */\nexport const InfoRow = ({\n header,\n children,\n className,\n ...restProps\n}: InfoRowProps): React.ReactNode => (\n <Headline\n {...restProps}\n Component=\"span\"\n className={classNames(styles.host, className)}\n weight=\"3\"\n >\n {hasReactNode(header) && (\n <Subhead Component=\"strong\" className={styles.header}>\n {header}\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n </Subhead>\n )}\n {children}\n </Headline>\n);\n"],"names":["React","classNames","hasReactNode","Headline","Subhead","VisuallyHidden","InfoRow","header","children","className","restProps","Component","weight"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,cAAc,QAAQ,sCAAmC;AAUlE;;CAEC,GACD,OAAO,MAAMC,UAAU;QAAC,EACtBC,MAAM,EACNC,QAAQ,EACRC,SAAS,EAEI,WADVC;QAHHH;QACAC;QACAC;;yBAGA,MAACN,kDACKO;QACJC,WAAU;QACVF,WAAWR,gCAAwBQ;QACnCG,QAAO;;YAENV,aAAaK,yBACZ,MAACH;gBAAQO,WAAU;gBAASF,SAAS;;oBAClCF;kCACD,KAACF;kCAAe;;;;YAGnBG;;;EAEH"}
1
+ {"version":3,"sources":["../../../src/components/InfoRow/InfoRow.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './InfoRow.module.css';\n\nexport interface InfoRowProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Элемент, отображаемый над содержимым.\n */\n header: React.ReactNode;\n}\n\n/**\n * @see https://vkui.io/components/info-row\n */\nexport const InfoRow = ({\n header,\n children,\n className,\n ...restProps\n}: InfoRowProps): React.ReactNode => (\n <Headline\n {...restProps}\n Component=\"span\"\n className={classNames(styles.host, className)}\n weight=\"3\"\n >\n {hasReactNode(header) && (\n <Subhead Component=\"strong\" className={styles.header}>\n {header}\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n </Subhead>\n )}\n {children}\n </Headline>\n);\n"],"names":["React","classNames","hasReactNode","Headline","Subhead","VisuallyHidden","InfoRow","header","children","className","restProps","Component","weight"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,cAAc,QAAQ,sCAAmC;AAUlE;;CAEC,GACD,OAAO,MAAMC,UAAU;QAAC,EACtBC,MAAM,EACNC,QAAQ,EACRC,SAAS,EAEI,WADVC;QAHHH;QACAC;QACAC;;yBAGA,MAACN,kDACKO;QACJC,WAAU;QACVF,WAAWR,gCAAwBQ;QACnCG,QAAO;;YAENV,aAAaK,yBACZ,MAACH;gBAAQO,WAAU;gBAASF,SAAS;;oBAClCF;kCACD,KAACF;kCAAe;;;;YAGnBG;;;EAEH"}
@@ -4,7 +4,7 @@ import { type FormFieldProps } from '../FormField/FormField';
4
4
  export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement>, HasRef<HTMLInputElement>, HasRootRef<HTMLDivElement>, HasAlign, Omit<FormFieldProps, 'maxHeight'> {
5
5
  }
6
6
  /**
7
- * @see https://vkcom.github.io/VKUI/#/Input
7
+ * @see https://vkui.io/components/input
8
8
  */
9
9
  export declare const Input: ({ type, align, getRef, className, getRootRef, style, before, after, status, mode, ...restProps }: InputProps) => React.ReactNode;
10
10
  //# sourceMappingURL=Input.d.ts.map
@@ -13,7 +13,7 @@ const sizeYClassNames = {
13
13
  compact: "vkuiInput__sizeYCompact"
14
14
  };
15
15
  /**
16
- * @see https://vkcom.github.io/VKUI/#/Input
16
+ * @see https://vkui.io/components/input
17
17
  */ export const Input = (_param)=>{
18
18
  var { type = 'text', align = 'left', getRef, className, getRootRef, style, before, after, status, mode } = _param, restProps = _object_without_properties(_param, [
19
19
  "type",