@vkontakte/vkui 7.4.4 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (938) 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/ColorSchemeProvider/ColorSchemeProvider.d.ts +1 -1
  98. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
  99. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  100. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  101. package/dist/components/ConfigProvider/ConfigProvider.js +1 -1
  102. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  103. package/dist/components/ContentBadge/ContentBadge.d.ts +1 -1
  104. package/dist/components/ContentBadge/ContentBadge.js +1 -1
  105. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  106. package/dist/components/ContentCard/ContentCard.d.ts +1 -1
  107. package/dist/components/ContentCard/ContentCard.js +1 -1
  108. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  109. package/dist/components/Counter/Counter.d.ts +1 -1
  110. package/dist/components/Counter/Counter.js +1 -1
  111. package/dist/components/Counter/Counter.js.map +1 -1
  112. package/dist/components/CustomScrollView/CustomScrollView.d.ts +1 -1
  113. package/dist/components/CustomScrollView/CustomScrollView.js +1 -1
  114. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  115. package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
  116. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  117. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  118. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +3 -3
  119. package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
  120. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  121. package/dist/components/DateInput/DateInput.d.ts +1 -1
  122. package/dist/components/DateInput/DateInput.js +2 -3
  123. package/dist/components/DateInput/DateInput.js.map +1 -1
  124. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  125. package/dist/components/DateRangeInput/DateRangeInput.js +1 -1
  126. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  127. package/dist/components/DirectionProvider/DirectionProvider.d.ts +1 -1
  128. package/dist/components/DirectionProvider/DirectionProvider.js +1 -1
  129. package/dist/components/DirectionProvider/DirectionProvider.js.map +1 -1
  130. package/dist/components/Div/Div.d.ts +1 -1
  131. package/dist/components/Div/Div.js +1 -1
  132. package/dist/components/Div/Div.js.map +1 -1
  133. package/dist/components/DropZone/DropZone.d.ts +1 -1
  134. package/dist/components/DropZone/DropZone.js +1 -1
  135. package/dist/components/DropZone/DropZone.js.map +1 -1
  136. package/dist/components/Epic/Epic.d.ts +1 -1
  137. package/dist/components/Epic/Epic.js +1 -1
  138. package/dist/components/Epic/Epic.js.map +1 -1
  139. package/dist/components/Epic/ScrollSaver.d.ts +0 -3
  140. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  141. package/dist/components/Epic/ScrollSaver.js +1 -3
  142. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  143. package/dist/components/File/File.d.ts +1 -1
  144. package/dist/components/File/File.js +1 -1
  145. package/dist/components/File/File.js.map +1 -1
  146. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -1
  147. package/dist/components/FixedLayout/FixedLayout.js +1 -1
  148. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  149. package/dist/components/Flex/Flex.d.ts +3 -0
  150. package/dist/components/Flex/Flex.d.ts.map +1 -1
  151. package/dist/components/Flex/Flex.js +3 -1
  152. package/dist/components/Flex/Flex.js.map +1 -1
  153. package/dist/components/FocusTrap/FocusTrap.d.ts +0 -3
  154. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  155. package/dist/components/FocusTrap/FocusTrap.js +1 -3
  156. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  157. package/dist/components/Footer/Footer.d.ts +1 -1
  158. package/dist/components/Footer/Footer.js +1 -1
  159. package/dist/components/Footer/Footer.js.map +1 -1
  160. package/dist/components/FormField/FormField.d.ts +3 -3
  161. package/dist/components/FormField/FormField.js +1 -1
  162. package/dist/components/FormField/FormField.js.map +1 -1
  163. package/dist/components/FormItem/FormItem.d.ts +1 -1
  164. package/dist/components/FormItem/FormItem.js +1 -1
  165. package/dist/components/FormItem/FormItem.js.map +1 -1
  166. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  167. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +1 -1
  168. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  169. package/dist/components/FormStatus/FormStatus.d.ts +1 -1
  170. package/dist/components/FormStatus/FormStatus.js +1 -1
  171. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  172. package/dist/components/Gallery/Gallery.d.ts +1 -1
  173. package/dist/components/Gallery/Gallery.js +1 -1
  174. package/dist/components/Gallery/Gallery.js.map +1 -1
  175. package/dist/components/Gradient/Gradient.d.ts +1 -1
  176. package/dist/components/Gradient/Gradient.js +1 -1
  177. package/dist/components/Gradient/Gradient.js.map +1 -1
  178. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  179. package/dist/components/GridAvatar/GridAvatar.js +1 -1
  180. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  181. package/dist/components/Group/Group.d.ts +1 -1
  182. package/dist/components/Group/Group.js +1 -1
  183. package/dist/components/Group/Group.js.map +1 -1
  184. package/dist/components/Header/Header.d.ts +1 -1
  185. package/dist/components/Header/Header.js +1 -1
  186. package/dist/components/Header/Header.js.map +1 -1
  187. package/dist/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  188. package/dist/components/HorizontalCell/HorizontalCell.js +1 -1
  189. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  190. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +3 -0
  191. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  192. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +3 -1
  193. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  194. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  195. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -1
  196. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  197. package/dist/components/IconButton/IconButton.d.ts +1 -1
  198. package/dist/components/IconButton/IconButton.js +1 -1
  199. package/dist/components/IconButton/IconButton.js.map +1 -1
  200. package/dist/components/Image/Image.d.ts +1 -1
  201. package/dist/components/Image/Image.js +1 -1
  202. package/dist/components/Image/Image.js.map +1 -1
  203. package/dist/components/ImageBase/ImageBase.d.ts +1 -1
  204. package/dist/components/ImageBase/ImageBase.js +1 -1
  205. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  206. package/dist/components/InfoRow/InfoRow.d.ts +1 -1
  207. package/dist/components/InfoRow/InfoRow.js +1 -1
  208. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  209. package/dist/components/Input/Input.d.ts +1 -1
  210. package/dist/components/Input/Input.js +1 -1
  211. package/dist/components/Input/Input.js.map +1 -1
  212. package/dist/components/Link/Link.d.ts +1 -1
  213. package/dist/components/Link/Link.js +1 -1
  214. package/dist/components/Link/Link.js.map +1 -1
  215. package/dist/components/List/List.d.ts +1 -1
  216. package/dist/components/List/List.js +1 -1
  217. package/dist/components/List/List.js.map +1 -1
  218. package/dist/components/LocaleProvider/LocaleProvider.d.ts +1 -1
  219. package/dist/components/LocaleProvider/LocaleProvider.js +1 -1
  220. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
  221. package/dist/components/Mark/Mark.d.ts +1 -1
  222. package/dist/components/Mark/Mark.js +1 -1
  223. package/dist/components/Mark/Mark.js.map +1 -1
  224. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  225. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -1
  226. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  227. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  228. package/dist/components/ModalCard/ModalCard.js +1 -1
  229. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  230. package/dist/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  231. package/dist/components/ModalCardBase/ModalCardBase.js +1 -1
  232. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  233. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  234. package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -1
  235. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  236. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
  237. package/dist/components/ModalOutsideButton/ModalOutsideButton.js +1 -1
  238. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  239. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  240. package/dist/components/ModalPage/ModalPage.js +1 -1
  241. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  242. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
  243. package/dist/components/ModalPageHeader/ModalPageHeader.js +1 -1
  244. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  245. package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
  246. package/dist/components/ModalRoot/ModalRoot.js +1 -1
  247. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  248. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
  249. package/dist/components/NativeSelect/NativeSelect.js +1 -1
  250. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  251. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +1 -1
  252. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +1 -1
  253. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  254. package/dist/components/Pagination/Pagination.d.ts +3 -3
  255. package/dist/components/Pagination/Pagination.js +1 -1
  256. package/dist/components/Pagination/Pagination.js.map +1 -1
  257. package/dist/components/Panel/Panel.d.ts +3 -3
  258. package/dist/components/Panel/Panel.js +1 -1
  259. package/dist/components/Panel/Panel.js.map +1 -1
  260. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  261. package/dist/components/PanelHeader/PanelHeader.js +1 -1
  262. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  263. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  264. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +1 -1
  265. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  266. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  267. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  268. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  269. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +1 -1
  270. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  271. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  272. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  273. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +1 -1
  274. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  275. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  276. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  277. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  278. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -1
  279. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  280. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  281. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +1 -1
  282. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  283. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  284. package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
  285. package/dist/components/PanelSpinner/PanelSpinner.js +1 -1
  286. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  287. package/dist/components/Placeholder/Placeholder.d.ts +1 -1
  288. package/dist/components/Placeholder/Placeholder.js +1 -1
  289. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  290. package/dist/components/PlatformProvider/PlatformProvider.d.ts +1 -1
  291. package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
  292. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  293. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  294. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -1
  295. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  296. package/dist/components/Popover/Popover.d.ts +1 -1
  297. package/dist/components/Popover/Popover.js +1 -1
  298. package/dist/components/Popover/Popover.js.map +1 -1
  299. package/dist/components/Popper/Popper.d.ts +1 -1
  300. package/dist/components/Popper/Popper.js +1 -1
  301. package/dist/components/Popper/Popper.js.map +1 -1
  302. package/dist/components/Progress/Progress.d.ts +1 -1
  303. package/dist/components/Progress/Progress.js +1 -1
  304. package/dist/components/Progress/Progress.js.map +1 -1
  305. package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  306. package/dist/components/PullToRefresh/PullToRefresh.js +1 -1
  307. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  308. package/dist/components/Radio/Radio.d.ts +1 -1
  309. package/dist/components/Radio/Radio.js +1 -1
  310. package/dist/components/Radio/Radio.js.map +1 -1
  311. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  312. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  313. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  314. package/dist/components/RichCell/RichCell.d.ts +3 -3
  315. package/dist/components/RichCell/RichCell.js +1 -1
  316. package/dist/components/RichCell/RichCell.js.map +1 -1
  317. package/dist/components/Root/Root.d.ts +1 -1
  318. package/dist/components/Root/Root.js +1 -1
  319. package/dist/components/Root/Root.js.map +1 -1
  320. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +1 -1
  321. package/dist/components/ScreenSpinner/ScreenSpinner.js +1 -1
  322. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  323. package/dist/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  324. package/dist/components/ScrollArrow/ScrollArrow.js +1 -1
  325. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  326. package/dist/components/Search/Search.d.ts +1 -1
  327. package/dist/components/Search/Search.js +1 -1
  328. package/dist/components/Search/Search.js.map +1 -1
  329. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  330. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  331. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  332. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +0 -3
  333. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  334. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -3
  335. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  336. package/dist/components/Select/Select.d.ts +1 -1
  337. package/dist/components/Select/Select.js +1 -1
  338. package/dist/components/Select/Select.js.map +1 -1
  339. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  340. package/dist/components/SelectMimicry/SelectMimicry.js +1 -1
  341. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  342. package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
  343. package/dist/components/SelectionControl/SelectionControl.js +1 -1
  344. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  345. package/dist/components/Separator/Separator.d.ts +1 -1
  346. package/dist/components/Separator/Separator.js +1 -1
  347. package/dist/components/Separator/Separator.js.map +1 -1
  348. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  349. package/dist/components/SimpleCell/SimpleCell.js +1 -1
  350. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  351. package/dist/components/SimpleGrid/SimpleGrid.d.ts +3 -0
  352. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  353. package/dist/components/SimpleGrid/SimpleGrid.js +3 -1
  354. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  355. package/dist/components/Skeleton/Skeleton.d.ts +3 -0
  356. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  357. package/dist/components/Skeleton/Skeleton.js +3 -0
  358. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  359. package/dist/components/Slider/Slider.d.ts +1 -1
  360. package/dist/components/Slider/Slider.js +1 -1
  361. package/dist/components/Slider/Slider.js.map +1 -1
  362. package/dist/components/Snackbar/Snackbar.d.ts +1 -1
  363. package/dist/components/Snackbar/Snackbar.js +1 -1
  364. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  365. package/dist/components/Spacing/Spacing.d.ts +1 -1
  366. package/dist/components/Spacing/Spacing.js +1 -1
  367. package/dist/components/Spacing/Spacing.js.map +1 -1
  368. package/dist/components/Spinner/Spinner.d.ts +1 -1
  369. package/dist/components/Spinner/Spinner.js +1 -1
  370. package/dist/components/Spinner/Spinner.js.map +1 -1
  371. package/dist/components/SplitCol/SplitCol.d.ts +1 -1
  372. package/dist/components/SplitCol/SplitCol.js +1 -1
  373. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  374. package/dist/components/SplitLayout/SplitLayout.d.ts +1 -1
  375. package/dist/components/SplitLayout/SplitLayout.js +1 -1
  376. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  377. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  378. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -1
  379. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  380. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  381. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
  382. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  383. package/dist/components/Switch/Switch.d.ts +1 -1
  384. package/dist/components/Switch/Switch.js +1 -1
  385. package/dist/components/Switch/Switch.js.map +1 -1
  386. package/dist/components/Tabbar/Tabbar.d.ts +1 -1
  387. package/dist/components/Tabbar/Tabbar.js +1 -1
  388. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  389. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  390. package/dist/components/TabbarItem/TabbarItem.js +1 -1
  391. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  392. package/dist/components/Tabs/Tabs.d.ts +1 -1
  393. package/dist/components/Tabs/Tabs.js +1 -1
  394. package/dist/components/Tabs/Tabs.js.map +1 -1
  395. package/dist/components/TabsItem/TabsItem.d.ts +3 -3
  396. package/dist/components/TabsItem/TabsItem.js +1 -1
  397. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  398. package/dist/components/Textarea/Textarea.d.ts +1 -1
  399. package/dist/components/Textarea/Textarea.js +1 -1
  400. package/dist/components/Textarea/Textarea.js.map +1 -1
  401. package/dist/components/ToolButton/ToolButton.d.ts +1 -1
  402. package/dist/components/ToolButton/ToolButton.js +1 -1
  403. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  404. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  405. package/dist/components/Tooltip/Tooltip.js +1 -1
  406. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  407. package/dist/components/TooltipBase/TooltipBase.d.ts +0 -2
  408. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  409. package/dist/components/TooltipBase/TooltipBase.js +0 -2
  410. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  411. package/dist/components/Touch/Touch.d.ts +1 -1
  412. package/dist/components/Touch/Touch.js +1 -1
  413. package/dist/components/Touch/Touch.js.map +1 -1
  414. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  415. package/dist/components/Typography/Caption/Caption.js +1 -1
  416. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  417. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
  418. package/dist/components/Typography/DisplayTitle/DisplayTitle.js +1 -1
  419. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  420. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +1 -1
  421. package/dist/components/Typography/EllipsisText/EllipsisText.js +1 -1
  422. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  423. package/dist/components/Typography/Footnote/Footnote.d.ts +1 -1
  424. package/dist/components/Typography/Footnote/Footnote.js +1 -1
  425. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  426. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  427. package/dist/components/Typography/Headline/Headline.js +1 -1
  428. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  429. package/dist/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  430. package/dist/components/Typography/Paragraph/Paragraph.js +1 -1
  431. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  432. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -1
  433. package/dist/components/Typography/Subhead/Subhead.js +1 -1
  434. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  435. package/dist/components/Typography/Text/Text.d.ts +1 -1
  436. package/dist/components/Typography/Text/Text.js +1 -1
  437. package/dist/components/Typography/Text/Text.js.map +1 -1
  438. package/dist/components/Typography/Title/Title.d.ts +1 -1
  439. package/dist/components/Typography/Title/Title.js +1 -1
  440. package/dist/components/Typography/Title/Title.js.map +1 -1
  441. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +4 -1
  442. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  443. package/dist/components/UnstyledTextField/UnstyledTextField.js +4 -1
  444. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  445. package/dist/components/UsersStack/UsersStack.d.ts +1 -1
  446. package/dist/components/UsersStack/UsersStack.js +1 -1
  447. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  448. package/dist/components/View/View.d.ts +1 -1
  449. package/dist/components/View/View.js +1 -1
  450. package/dist/components/View/View.js.map +1 -1
  451. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  452. package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -1
  453. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  454. package/dist/components/WriteBar/WriteBar.d.ts +1 -1
  455. package/dist/components/WriteBar/WriteBar.js +1 -1
  456. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  457. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  458. package/dist/components/WriteBarIcon/WriteBarIcon.js +1 -1
  459. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  460. package/dist/components.css +1 -1
  461. package/dist/components.css.map +1 -1
  462. package/dist/cssm/components/Accordion/Accordion.js +6 -2
  463. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  464. package/dist/cssm/components/Accordion/AccordionContent.js +4 -1
  465. package/dist/cssm/components/Accordion/AccordionContent.js.map +1 -1
  466. package/dist/cssm/components/Accordion/AccordionContext.js +12 -0
  467. package/dist/cssm/components/Accordion/AccordionContext.js.map +1 -1
  468. package/dist/cssm/components/ActionSheet/ActionSheet.js +1 -1
  469. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  470. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +1 -1
  471. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  472. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +1 -1
  473. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  474. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
  475. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  476. package/dist/cssm/components/Alert/Alert.js +1 -1
  477. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  478. package/dist/cssm/components/AppRoot/AppRoot.js +1 -1
  479. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  480. package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
  481. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  482. package/dist/cssm/components/Avatar/Avatar.js +1 -1
  483. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  484. package/dist/cssm/components/Badge/Badge.js +1 -1
  485. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  486. package/dist/cssm/components/Banner/Banner.js +1 -1
  487. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  488. package/dist/cssm/components/Button/Button.js +1 -1
  489. package/dist/cssm/components/Button/Button.js.map +1 -1
  490. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -1
  491. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  492. package/dist/cssm/components/Calendar/Calendar.js +1 -1
  493. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  494. package/dist/cssm/components/CalendarRange/CalendarRange.js +1 -1
  495. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  496. package/dist/cssm/components/Card/Card.js +1 -1
  497. package/dist/cssm/components/Card/Card.js.map +1 -1
  498. package/dist/cssm/components/CardGrid/CardGrid.js +1 -1
  499. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  500. package/dist/cssm/components/CardScroll/CardScroll.js +1 -1
  501. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  502. package/dist/cssm/components/Cell/Cell.js +1 -1
  503. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  504. package/dist/cssm/components/CellButton/CellButton.js +1 -1
  505. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  506. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js +1 -1
  507. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js.map +1 -1
  508. package/dist/cssm/components/Checkbox/Checkbox.js +1 -1
  509. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  510. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  511. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  512. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js +1 -1
  513. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  514. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +59 -34
  515. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  516. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +17 -3
  517. package/dist/cssm/components/ChipsInputBase/helpers.js +2 -0
  518. package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
  519. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  520. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -4
  521. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  522. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
  523. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  524. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +1 -1
  525. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  526. package/dist/cssm/components/ContentBadge/ContentBadge.js +1 -1
  527. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  528. package/dist/cssm/components/ContentCard/ContentCard.js +1 -1
  529. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  530. package/dist/cssm/components/Counter/Counter.js +1 -1
  531. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  532. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +1 -1
  533. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  534. package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
  535. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  536. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
  537. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  538. package/dist/cssm/components/DateInput/DateInput.js +2 -3
  539. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  540. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +1 -1
  541. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  542. package/dist/cssm/components/DirectionProvider/DirectionProvider.js +1 -1
  543. package/dist/cssm/components/DirectionProvider/DirectionProvider.js.map +1 -1
  544. package/dist/cssm/components/Div/Div.js +1 -1
  545. package/dist/cssm/components/Div/Div.js.map +1 -1
  546. package/dist/cssm/components/DropZone/DropZone.js +1 -1
  547. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  548. package/dist/cssm/components/Epic/Epic.js +1 -1
  549. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  550. package/dist/cssm/components/Epic/ScrollSaver.js +1 -3
  551. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  552. package/dist/cssm/components/File/File.js +1 -1
  553. package/dist/cssm/components/File/File.js.map +1 -1
  554. package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -1
  555. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  556. package/dist/cssm/components/Flex/Flex.js +3 -1
  557. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  558. package/dist/cssm/components/FocusTrap/FocusTrap.js +1 -3
  559. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  560. package/dist/cssm/components/Footer/Footer.js +1 -1
  561. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  562. package/dist/cssm/components/FormField/FormField.js +1 -1
  563. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  564. package/dist/cssm/components/FormItem/FormItem.js +1 -1
  565. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  566. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +1 -1
  567. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  568. package/dist/cssm/components/FormStatus/FormStatus.js +1 -1
  569. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  570. package/dist/cssm/components/Gallery/Gallery.js +1 -1
  571. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  572. package/dist/cssm/components/Gradient/Gradient.js +1 -1
  573. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  574. package/dist/cssm/components/GridAvatar/GridAvatar.js +1 -1
  575. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  576. package/dist/cssm/components/Group/Group.js +1 -1
  577. package/dist/cssm/components/Group/Group.js.map +1 -1
  578. package/dist/cssm/components/Header/Header.js +1 -1
  579. package/dist/cssm/components/Header/Header.js.map +1 -1
  580. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -1
  581. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  582. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js +3 -1
  583. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  584. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -1
  585. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  586. package/dist/cssm/components/IconButton/IconButton.js +1 -1
  587. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  588. package/dist/cssm/components/Image/Image.js +1 -1
  589. package/dist/cssm/components/Image/Image.js.map +1 -1
  590. package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
  591. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  592. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  593. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  594. package/dist/cssm/components/Input/Input.js +1 -1
  595. package/dist/cssm/components/Input/Input.js.map +1 -1
  596. package/dist/cssm/components/Link/Link.js +1 -1
  597. package/dist/cssm/components/Link/Link.js.map +1 -1
  598. package/dist/cssm/components/List/List.js +1 -1
  599. package/dist/cssm/components/List/List.js.map +1 -1
  600. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
  601. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  602. package/dist/cssm/components/Mark/Mark.js +1 -1
  603. package/dist/cssm/components/Mark/Mark.js.map +1 -1
  604. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  605. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  606. package/dist/cssm/components/ModalCard/ModalCard.js +1 -1
  607. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  608. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -1
  609. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  610. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
  611. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  612. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js +1 -1
  613. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  614. package/dist/cssm/components/ModalPage/ModalPage.js +1 -1
  615. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  616. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +1 -1
  617. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  618. package/dist/cssm/components/ModalRoot/ModalRoot.js +1 -1
  619. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  620. package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -1
  621. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  622. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +1 -1
  623. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  624. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  625. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  626. package/dist/cssm/components/Panel/Panel.js +1 -1
  627. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  628. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -1
  629. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  630. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +1 -1
  631. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  632. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
  633. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  634. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  635. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  636. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +1 -1
  637. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  638. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +1 -1
  639. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  640. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  641. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  642. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  643. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  644. package/dist/cssm/components/PanelSpinner/PanelSpinner.js +1 -1
  645. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  646. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  647. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  648. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  649. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  650. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -1
  651. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  652. package/dist/cssm/components/Popover/Popover.js +1 -1
  653. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  654. package/dist/cssm/components/Popper/Popper.js +1 -1
  655. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  656. package/dist/cssm/components/Progress/Progress.js +1 -1
  657. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  658. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -1
  659. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  660. package/dist/cssm/components/Radio/Radio.js +1 -1
  661. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  662. package/dist/cssm/components/RadioGroup/RadioGroup.js +1 -1
  663. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  664. package/dist/cssm/components/RichCell/RichCell.js +1 -1
  665. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  666. package/dist/cssm/components/Root/Root.js +1 -1
  667. package/dist/cssm/components/Root/Root.js.map +1 -1
  668. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -1
  669. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  670. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +1 -1
  671. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  672. package/dist/cssm/components/Search/Search.js +1 -1
  673. package/dist/cssm/components/Search/Search.js.map +1 -1
  674. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +1 -1
  675. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  676. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +1 -3
  677. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  678. package/dist/cssm/components/Select/Select.js +1 -1
  679. package/dist/cssm/components/Select/Select.js.map +1 -1
  680. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +1 -1
  681. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  682. package/dist/cssm/components/SelectionControl/SelectionControl.js +1 -1
  683. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  684. package/dist/cssm/components/Separator/Separator.js +1 -1
  685. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  686. package/dist/cssm/components/SimpleCell/SimpleCell.js +1 -1
  687. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  688. package/dist/cssm/components/SimpleGrid/SimpleGrid.js +3 -1
  689. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  690. package/dist/cssm/components/Skeleton/Skeleton.js +3 -0
  691. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  692. package/dist/cssm/components/Slider/Slider.js +1 -1
  693. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  694. package/dist/cssm/components/Snackbar/Snackbar.js +1 -1
  695. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  696. package/dist/cssm/components/Spacing/Spacing.js +1 -1
  697. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  698. package/dist/cssm/components/Spinner/Spinner.js +1 -1
  699. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  700. package/dist/cssm/components/SplitCol/SplitCol.js +1 -1
  701. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  702. package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
  703. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  704. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  705. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  706. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  707. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  708. package/dist/cssm/components/Switch/Switch.js +1 -1
  709. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  710. package/dist/cssm/components/Tabbar/Tabbar.js +1 -1
  711. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  712. package/dist/cssm/components/TabbarItem/TabbarItem.js +1 -1
  713. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  714. package/dist/cssm/components/Tabs/Tabs.js +1 -1
  715. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  716. package/dist/cssm/components/TabsItem/TabsItem.js +1 -1
  717. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  718. package/dist/cssm/components/Textarea/Textarea.js +1 -1
  719. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  720. package/dist/cssm/components/ToolButton/ToolButton.js +1 -1
  721. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  722. package/dist/cssm/components/Tooltip/Tooltip.js +1 -1
  723. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  724. package/dist/cssm/components/TooltipBase/TooltipBase.js +0 -2
  725. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  726. package/dist/cssm/components/Touch/Touch.js +1 -1
  727. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  728. package/dist/cssm/components/Typography/Caption/Caption.js +1 -1
  729. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  730. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js +1 -1
  731. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  732. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js +1 -1
  733. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  734. package/dist/cssm/components/Typography/Footnote/Footnote.js +1 -1
  735. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  736. package/dist/cssm/components/Typography/Headline/Headline.js +1 -1
  737. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  738. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +1 -1
  739. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  740. package/dist/cssm/components/Typography/Subhead/Subhead.js +1 -1
  741. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  742. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  743. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  744. package/dist/cssm/components/Typography/Title/Title.js +1 -1
  745. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  746. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js +4 -1
  747. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  748. package/dist/cssm/components/UsersStack/UsersStack.js +1 -1
  749. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  750. package/dist/cssm/components/View/View.js +1 -1
  751. package/dist/cssm/components/View/View.js.map +1 -1
  752. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  753. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  754. package/dist/cssm/components/WriteBar/WriteBar.js +1 -1
  755. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  756. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  757. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  758. package/dist/cssm/hooks/useAdaptivity.js +1 -1
  759. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  760. package/dist/cssm/index.js +1 -1
  761. package/dist/cssm/index.js.map +1 -1
  762. package/dist/cssm/lib/SSR.js +1 -1
  763. package/dist/cssm/lib/SSR.js.map +1 -1
  764. package/dist/cssm/lib/accessibility.js +4 -0
  765. package/dist/cssm/lib/accessibility.js.map +1 -1
  766. package/dist/hooks/useAdaptivity.d.ts +1 -1
  767. package/dist/hooks/useAdaptivity.js +1 -1
  768. package/dist/hooks/useAdaptivity.js.map +1 -1
  769. package/dist/index.d.ts +1 -1
  770. package/dist/index.d.ts.map +1 -1
  771. package/dist/index.js +1 -1
  772. package/dist/index.js.map +1 -1
  773. package/dist/lib/SSR.d.ts +1 -1
  774. package/dist/lib/SSR.js +1 -1
  775. package/dist/lib/SSR.js.map +1 -1
  776. package/dist/lib/accessibility.d.ts +1 -1
  777. package/dist/lib/accessibility.d.ts.map +1 -1
  778. package/dist/lib/accessibility.js +4 -0
  779. package/dist/lib/accessibility.js.map +1 -1
  780. package/dist/vkui.css +1 -1
  781. package/dist/vkui.css.map +1 -1
  782. package/package.json +5 -4
  783. package/src/components/Accordion/Accordion.tsx +13 -4
  784. package/src/components/Accordion/AccordionContent.tsx +5 -1
  785. package/src/components/Accordion/AccordionContext.tsx +17 -0
  786. package/src/components/ActionSheet/ActionSheet.tsx +1 -1
  787. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  788. package/src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx +1 -1
  789. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +1 -1
  790. package/src/components/Alert/Alert.tsx +1 -1
  791. package/src/components/AppRoot/AppRoot.mdx +1 -1
  792. package/src/components/AppRoot/AppRoot.tsx +3 -3
  793. package/src/components/AspectRatio/AspectRatio.tsx +1 -1
  794. package/src/components/Avatar/Avatar.tsx +1 -1
  795. package/src/components/Badge/Badge.tsx +1 -1
  796. package/src/components/Banner/Banner.tsx +3 -3
  797. package/src/components/Button/Button.tsx +1 -1
  798. package/src/components/ButtonGroup/ButtonGroup.tsx +1 -1
  799. package/src/components/Calendar/Calendar.tsx +1 -1
  800. package/src/components/CalendarRange/CalendarRange.tsx +1 -1
  801. package/src/components/Card/Card.tsx +1 -1
  802. package/src/components/CardGrid/CardGrid.tsx +1 -1
  803. package/src/components/CardScroll/CardScroll.tsx +1 -1
  804. package/src/components/Cell/Cell.tsx +1 -1
  805. package/src/components/CellButton/CellButton.tsx +1 -1
  806. package/src/components/CellButtonGroup/CellButtonGroup.tsx +1 -1
  807. package/src/components/Checkbox/Checkbox.tsx +1 -1
  808. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  809. package/src/components/ChipsInputBase/Chip/Chip.tsx +1 -1
  810. package/src/components/ChipsInputBase/ChipsInputBase.module.css +15 -3
  811. package/src/components/ChipsInputBase/ChipsInputBase.module.css.d.ts.map +1 -1
  812. package/src/components/ChipsInputBase/ChipsInputBase.tsx +68 -37
  813. package/src/components/ChipsInputBase/helpers.ts +2 -0
  814. package/src/components/ChipsInputBase/types.ts +5 -1
  815. package/src/components/ChipsSelect/ChipsSelect.tsx +5 -2
  816. package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +1 -1
  817. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -1
  818. package/src/components/ContentBadge/ContentBadge.tsx +1 -1
  819. package/src/components/ContentCard/ContentCard.tsx +1 -1
  820. package/src/components/Counter/Counter.tsx +1 -1
  821. package/src/components/CustomScrollView/CustomScrollView.tsx +1 -1
  822. package/src/components/CustomSelect/CustomSelect.tsx +2 -2
  823. package/src/components/CustomSelectOption/CustomSelectOption.tsx +3 -3
  824. package/src/components/DateInput/DateInput.tsx +1 -1
  825. package/src/components/DateRangeInput/DateRangeInput.tsx +1 -1
  826. package/src/components/DirectionProvider/DirectionProvider.tsx +1 -1
  827. package/src/components/Div/Div.tsx +1 -1
  828. package/src/components/DropZone/DropZone.tsx +1 -1
  829. package/src/components/Epic/Epic.tsx +1 -1
  830. package/src/components/Epic/ScrollSaver.tsx +0 -3
  831. package/src/components/File/File.tsx +1 -1
  832. package/src/components/FixedLayout/FixedLayout.tsx +1 -1
  833. package/src/components/Flex/Flex.tsx +3 -0
  834. package/src/components/FocusTrap/FocusTrap.tsx +0 -3
  835. package/src/components/Footer/Footer.tsx +1 -1
  836. package/src/components/FormField/FormField.tsx +3 -3
  837. package/src/components/FormItem/FormItem.tsx +1 -1
  838. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -1
  839. package/src/components/FormStatus/FormStatus.tsx +1 -1
  840. package/src/components/Gallery/Gallery.tsx +1 -1
  841. package/src/components/Gradient/Gradient.tsx +1 -1
  842. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  843. package/src/components/Group/Group.tsx +1 -1
  844. package/src/components/Header/Header.tsx +1 -1
  845. package/src/components/HorizontalCell/HorizontalCell.tsx +1 -1
  846. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +3 -0
  847. package/src/components/HorizontalScroll/HorizontalScroll.tsx +1 -1
  848. package/src/components/IconButton/IconButton.tsx +1 -1
  849. package/src/components/Image/Image.tsx +1 -1
  850. package/src/components/ImageBase/ImageBase.tsx +1 -1
  851. package/src/components/InfoRow/InfoRow.tsx +1 -1
  852. package/src/components/Input/Input.tsx +1 -1
  853. package/src/components/Link/Link.tsx +1 -1
  854. package/src/components/List/List.tsx +1 -1
  855. package/src/components/LocaleProvider/LocaleProvider.tsx +1 -1
  856. package/src/components/Mark/Mark.tsx +1 -1
  857. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -1
  858. package/src/components/ModalCard/ModalCard.tsx +1 -1
  859. package/src/components/ModalCardBase/ModalCardBase.tsx +3 -3
  860. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  861. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
  862. package/src/components/ModalPage/ModalPage.tsx +1 -1
  863. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
  864. package/src/components/ModalRoot/ModalRoot.tsx +1 -1
  865. package/src/components/NativeSelect/NativeSelect.tsx +1 -1
  866. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +1 -1
  867. package/src/components/Pagination/Pagination.tsx +3 -3
  868. package/src/components/Panel/Panel.tsx +3 -3
  869. package/src/components/PanelHeader/PanelHeader.tsx +1 -1
  870. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -1
  871. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -1
  872. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +1 -1
  873. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +1 -1
  874. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +1 -1
  875. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -1
  876. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +1 -1
  877. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
  878. package/src/components/Placeholder/Placeholder.tsx +1 -1
  879. package/src/components/PlatformProvider/PlatformProvider.tsx +1 -1
  880. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -1
  881. package/src/components/Popover/Popover.tsx +1 -1
  882. package/src/components/Popper/Popper.tsx +1 -1
  883. package/src/components/Progress/Progress.tsx +1 -1
  884. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -1
  885. package/src/components/Radio/Radio.tsx +1 -1
  886. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  887. package/src/components/RichCell/RichCell.tsx +3 -3
  888. package/src/components/Root/Root.tsx +1 -1
  889. package/src/components/ScreenSpinner/ScreenSpinner.tsx +1 -1
  890. package/src/components/ScrollArrow/ScrollArrow.tsx +1 -1
  891. package/src/components/Search/Search.tsx +1 -1
  892. package/src/components/SegmentedControl/SegmentedControl.tsx +1 -1
  893. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +0 -3
  894. package/src/components/Select/Select.tsx +1 -1
  895. package/src/components/SelectMimicry/SelectMimicry.tsx +1 -1
  896. package/src/components/SelectionControl/SelectionControl.tsx +1 -1
  897. package/src/components/Separator/Separator.tsx +1 -1
  898. package/src/components/SimpleCell/SimpleCell.tsx +1 -1
  899. package/src/components/SimpleGrid/SimpleGrid.tsx +3 -0
  900. package/src/components/Skeleton/Skeleton.tsx +3 -0
  901. package/src/components/Slider/Slider.tsx +1 -1
  902. package/src/components/Snackbar/Snackbar.tsx +1 -1
  903. package/src/components/Spacing/Spacing.tsx +1 -1
  904. package/src/components/Spinner/Spinner.tsx +1 -1
  905. package/src/components/SplitCol/SplitCol.tsx +1 -1
  906. package/src/components/SplitLayout/SplitLayout.tsx +1 -1
  907. package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -1
  908. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  909. package/src/components/Switch/Switch.tsx +1 -1
  910. package/src/components/Tabbar/Tabbar.tsx +1 -1
  911. package/src/components/TabbarItem/TabbarItem.tsx +1 -1
  912. package/src/components/Tabs/Tabs.tsx +1 -1
  913. package/src/components/TabsItem/TabsItem.tsx +3 -3
  914. package/src/components/Textarea/Textarea.tsx +1 -1
  915. package/src/components/ToolButton/ToolButton.tsx +1 -1
  916. package/src/components/Tooltip/Tooltip.tsx +1 -1
  917. package/src/components/TooltipBase/TooltipBase.tsx +0 -2
  918. package/src/components/Touch/Touch.tsx +1 -1
  919. package/src/components/Typography/Caption/Caption.tsx +1 -1
  920. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
  921. package/src/components/Typography/EllipsisText/EllipsisText.tsx +1 -1
  922. package/src/components/Typography/Footnote/Footnote.tsx +1 -1
  923. package/src/components/Typography/Headline/Headline.tsx +1 -1
  924. package/src/components/Typography/Paragraph/Paragraph.tsx +1 -1
  925. package/src/components/Typography/Subhead/Subhead.tsx +1 -1
  926. package/src/components/Typography/Text/Text.tsx +1 -1
  927. package/src/components/Typography/Title/Title.tsx +1 -1
  928. package/src/components/UnstyledTextField/UnstyledTextField.mdx +1 -1
  929. package/src/components/UnstyledTextField/UnstyledTextField.tsx +4 -1
  930. package/src/components/UsersStack/UsersStack.tsx +1 -1
  931. package/src/components/View/View.tsx +1 -1
  932. package/src/components/VisuallyHidden/VisuallyHidden.tsx +1 -1
  933. package/src/components/WriteBar/WriteBar.tsx +1 -1
  934. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  935. package/src/hooks/useAdaptivity.ts +1 -1
  936. package/src/index.ts +1 -1
  937. package/src/lib/SSR.tsx +1 -1
  938. package/src/lib/accessibility.ts +6 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SimpleCell/SimpleCell.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasComponent } from '../../types';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Chevron } from './Chevron/Chevron';\nimport styles from './SimpleCell.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface SimpleCellOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`.\n */\n before?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится слева от текста `children`.\n */\n badgeBeforeTitle?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badgeAfterTitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится слева от текста `subtitle`.\n */\n badgeBeforeSubtitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится справа от текста `subtitle`.\n */\n badgeAfterSubtitle?: React.ReactNode;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode;\n /**\n * Дополнительная строка текста над `children`.\n */\n overTitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n /**\n * Управляет видимостью иконки шеврона `›`.\n *\n * - `auto` - добавляет шеврон справа только для платформы `ios`;\n * - `always` - всегда показывает шеврон.\n */\n chevron?: 'auto' | 'always';\n /**\n * Размер chevron.\n */\n chevronSize?: 's' | 'm';\n /**\n * Включает многострочный режим для отображения текста.\n */\n multiline?: boolean;\n}\n\nexport interface SimpleCellProps extends SimpleCellOwnProps, TappableOmitProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SimpleCell\n */\nexport const SimpleCell = ({\n badgeBeforeTitle,\n badgeAfterTitle,\n badgeBeforeSubtitle,\n badgeAfterSubtitle,\n before,\n indicator,\n children,\n after,\n chevron,\n multiline,\n overTitle,\n subtitle,\n extraSubtitle,\n chevronSize = 'm',\n ...restProps\n}: SimpleCellProps): React.ReactNode => {\n const platform = usePlatform();\n\n const hasChevron = chevron === 'always' || (chevron === 'auto' && platform === 'ios');\n\n const hasAfter = hasReactNode(after) || hasChevron;\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n baseClassName={classNames(\n styles.host,\n restProps.disabled && styles.disabled,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n multiline && styles.mult,\n )}\n >\n <div className={classNames(styles.before, platform === 'ios' && styles.beforeIos)}>\n {before}\n </div>\n <div className={styles.middle}>\n {overTitle && (\n <Subhead Component=\"span\" className={classNames(styles.text, styles.overTitle)}>\n {overTitle}\n </Subhead>\n )}\n <div className={styles.content}>\n {badgeBeforeTitle && <span className={styles.badge}>{badgeBeforeTitle}</span>}\n <Headline Component=\"span\" className={styles.children} weight=\"3\">\n {children}\n </Headline>\n {hasReactNode(badgeAfterTitle) && <span className={styles.badge}>{badgeAfterTitle}</span>}\n </div>\n {subtitle && (\n <div className={styles.content}>\n {badgeBeforeSubtitle && <span className={styles.badge}>{badgeBeforeSubtitle}</span>}\n <Footnote normalize={false} className={classNames(styles.text, styles.subtitle)}>\n {subtitle}\n </Footnote>\n {badgeAfterSubtitle && <span className={styles.badge}>{badgeAfterSubtitle}</span>}\n </div>\n )}\n {extraSubtitle && (\n <Footnote className={classNames(styles.text, styles.extraSubtitle)}>\n {extraSubtitle}\n </Footnote>\n )}\n </div>\n {hasReactNode(indicator) && (\n <Headline Component=\"span\" weight=\"3\" className={styles.indicator}>\n {indicator}\n </Headline>\n )}\n {hasAfter && (\n <div className={classNames(styles.after, 'vkuiInternalSimpleCell__after')}>\n {after}\n {hasChevron && <Chevron size={chevronSize} className={styles.chevronIcon} />}\n </div>\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","usePlatform","Tappable","Footnote","Headline","Subhead","Chevron","sizeYClassNames","none","compact","SimpleCell","badgeBeforeTitle","badgeAfterTitle","badgeBeforeSubtitle","badgeAfterSubtitle","before","indicator","children","after","chevron","multiline","overTitle","subtitle","extraSubtitle","chevronSize","restProps","platform","hasChevron","hasAfter","sizeY","baseClassName","disabled","div","className","Component","span","weight","normalize","size"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,OAAO,QAAQ,uBAAoB;AAG5C,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAkEA;;CAEC,GACD,OAAO,MAAMC,aAAa;QAAC,EACzBC,gBAAgB,EAChBC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,MAAM,EACNC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,OAAO,EACPC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,aAAa,EACbC,cAAc,GAAG,EAED,WADbC;QAdHd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWzB;IAEjB,MAAM0B,aAAaR,YAAY,YAAaA,YAAY,UAAUO,aAAa;IAE/E,MAAME,WAAW7B,aAAamB,UAAUS;IACxC,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAG7B;IAE3B,qBACE,MAACE,kDACKuB;QACJK,eAAehC,mCAEb2B,UAAUM,QAAQ,gCAClBF,UAAU,aAAatB,eAAe,CAACsB,MAAM,EAC7CT;;0BAGF,KAACY;gBAAIC,WAAWnC,qCAA0B4B,aAAa;0BACpDX;;0BAEH,MAACiB;gBAAIC,SAAS;;oBACXZ,2BACC,KAAChB;wBAAQ6B,WAAU;wBAAOD,WAAWnC;kCAClCuB;;kCAGL,MAACW;wBAAIC,SAAS;;4BACXtB,kCAAoB,KAACwB;gCAAKF,SAAS;0CAAiBtB;;0CACrD,KAACP;gCAAS8B,WAAU;gCAAOD,SAAS;gCAAmBG,QAAO;0CAC3DnB;;4BAEFlB,aAAaa,kCAAoB,KAACuB;gCAAKF,SAAS;0CAAiBrB;;;;oBAEnEU,0BACC,MAACU;wBAAIC,SAAS;;4BACXpB,qCAAuB,KAACsB;gCAAKF,SAAS;0CAAiBpB;;0CACxD,KAACV;gCAASkC,WAAW;gCAAOJ,WAAWnC;0CACpCwB;;4BAEFR,oCAAsB,KAACqB;gCAAKF,SAAS;0CAAiBnB;;;;oBAG1DS,+BACC,KAACpB;wBAAS8B,WAAWnC;kCAClByB;;;;YAINxB,aAAaiB,4BACZ,KAACZ;gBAAS8B,WAAU;gBAAOE,QAAO;gBAAIH,SAAS;0BAC5CjB;;YAGJY,0BACC,MAACI;gBAAIC,WAAWnC,oCAAyB;;oBACtCoB;oBACAS,4BAAc,KAACrB;wBAAQgC,MAAMd;wBAAaS,SAAS;;;;;;AAK9D,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/SimpleCell/SimpleCell.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasComponent } from '../../types';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Chevron } from './Chevron/Chevron';\nimport styles from './SimpleCell.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface SimpleCellOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`.\n */\n before?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится слева от текста `children`.\n */\n badgeBeforeTitle?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badgeAfterTitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится слева от текста `subtitle`.\n */\n badgeBeforeSubtitle?: React.ReactNode;\n /**\n * Иконка 12. Добавится справа от текста `subtitle`.\n */\n badgeAfterSubtitle?: React.ReactNode;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode;\n /**\n * Дополнительная строка текста над `children`.\n */\n overTitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Дополнительная строка текста под `children` и `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n /**\n * Управляет видимостью иконки шеврона `›`.\n *\n * - `auto` - добавляет шеврон справа только для платформы `ios`;\n * - `always` - всегда показывает шеврон.\n */\n chevron?: 'auto' | 'always';\n /**\n * Размер chevron.\n */\n chevronSize?: 's' | 'm';\n /**\n * Включает многострочный режим для отображения текста.\n */\n multiline?: boolean;\n}\n\nexport interface SimpleCellProps extends SimpleCellOwnProps, TappableOmitProps {}\n\n/**\n * @see https://vkui.io/components/simple-cell\n */\nexport const SimpleCell = ({\n badgeBeforeTitle,\n badgeAfterTitle,\n badgeBeforeSubtitle,\n badgeAfterSubtitle,\n before,\n indicator,\n children,\n after,\n chevron,\n multiline,\n overTitle,\n subtitle,\n extraSubtitle,\n chevronSize = 'm',\n ...restProps\n}: SimpleCellProps): React.ReactNode => {\n const platform = usePlatform();\n\n const hasChevron = chevron === 'always' || (chevron === 'auto' && platform === 'ios');\n\n const hasAfter = hasReactNode(after) || hasChevron;\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n baseClassName={classNames(\n styles.host,\n restProps.disabled && styles.disabled,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n multiline && styles.mult,\n )}\n >\n <div className={classNames(styles.before, platform === 'ios' && styles.beforeIos)}>\n {before}\n </div>\n <div className={styles.middle}>\n {overTitle && (\n <Subhead Component=\"span\" className={classNames(styles.text, styles.overTitle)}>\n {overTitle}\n </Subhead>\n )}\n <div className={styles.content}>\n {badgeBeforeTitle && <span className={styles.badge}>{badgeBeforeTitle}</span>}\n <Headline Component=\"span\" className={styles.children} weight=\"3\">\n {children}\n </Headline>\n {hasReactNode(badgeAfterTitle) && <span className={styles.badge}>{badgeAfterTitle}</span>}\n </div>\n {subtitle && (\n <div className={styles.content}>\n {badgeBeforeSubtitle && <span className={styles.badge}>{badgeBeforeSubtitle}</span>}\n <Footnote normalize={false} className={classNames(styles.text, styles.subtitle)}>\n {subtitle}\n </Footnote>\n {badgeAfterSubtitle && <span className={styles.badge}>{badgeAfterSubtitle}</span>}\n </div>\n )}\n {extraSubtitle && (\n <Footnote className={classNames(styles.text, styles.extraSubtitle)}>\n {extraSubtitle}\n </Footnote>\n )}\n </div>\n {hasReactNode(indicator) && (\n <Headline Component=\"span\" weight=\"3\" className={styles.indicator}>\n {indicator}\n </Headline>\n )}\n {hasAfter && (\n <div className={classNames(styles.after, 'vkuiInternalSimpleCell__after')}>\n {after}\n {hasChevron && <Chevron size={chevronSize} className={styles.chevronIcon} />}\n </div>\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","usePlatform","Tappable","Footnote","Headline","Subhead","Chevron","sizeYClassNames","none","compact","SimpleCell","badgeBeforeTitle","badgeAfterTitle","badgeBeforeSubtitle","badgeAfterSubtitle","before","indicator","children","after","chevron","multiline","overTitle","subtitle","extraSubtitle","chevronSize","restProps","platform","hasChevron","hasAfter","sizeY","baseClassName","disabled","div","className","Component","span","weight","normalize","size"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,OAAO,QAAQ,uBAAoB;AAG5C,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAkEA;;CAEC,GACD,OAAO,MAAMC,aAAa;QAAC,EACzBC,gBAAgB,EAChBC,eAAe,EACfC,mBAAmB,EACnBC,kBAAkB,EAClBC,MAAM,EACNC,SAAS,EACTC,QAAQ,EACRC,KAAK,EACLC,OAAO,EACPC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACRC,aAAa,EACbC,cAAc,GAAG,EAED,WADbC;QAdHd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWzB;IAEjB,MAAM0B,aAAaR,YAAY,YAAaA,YAAY,UAAUO,aAAa;IAE/E,MAAME,WAAW7B,aAAamB,UAAUS;IACxC,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAG7B;IAE3B,qBACE,MAACE,kDACKuB;QACJK,eAAehC,mCAEb2B,UAAUM,QAAQ,gCAClBF,UAAU,aAAatB,eAAe,CAACsB,MAAM,EAC7CT;;0BAGF,KAACY;gBAAIC,WAAWnC,qCAA0B4B,aAAa;0BACpDX;;0BAEH,MAACiB;gBAAIC,SAAS;;oBACXZ,2BACC,KAAChB;wBAAQ6B,WAAU;wBAAOD,WAAWnC;kCAClCuB;;kCAGL,MAACW;wBAAIC,SAAS;;4BACXtB,kCAAoB,KAACwB;gCAAKF,SAAS;0CAAiBtB;;0CACrD,KAACP;gCAAS8B,WAAU;gCAAOD,SAAS;gCAAmBG,QAAO;0CAC3DnB;;4BAEFlB,aAAaa,kCAAoB,KAACuB;gCAAKF,SAAS;0CAAiBrB;;;;oBAEnEU,0BACC,MAACU;wBAAIC,SAAS;;4BACXpB,qCAAuB,KAACsB;gCAAKF,SAAS;0CAAiBpB;;0CACxD,KAACV;gCAASkC,WAAW;gCAAOJ,WAAWnC;0CACpCwB;;4BAEFR,oCAAsB,KAACqB;gCAAKF,SAAS;0CAAiBnB;;;;oBAG1DS,+BACC,KAACpB;wBAAS8B,WAAWnC;kCAClByB;;;;YAINxB,aAAaiB,4BACZ,KAACZ;gBAAS8B,WAAU;gBAAOE,QAAO;gBAAIH,SAAS;0BAC5CjB;;YAGJY,0BACC,MAACI;gBAAIC,WAAWnC,oCAAyB;;oBACtCoB;oBACAS,4BAAc,KAACrB;wBAAQgC,MAAMd;wBAAaS,SAAS;;;;;;AAK9D,EAAE"}
@@ -28,5 +28,8 @@ export interface SimpleGridProps extends Omit<RootComponentProps<HTMLElement>, '
28
28
  */
29
29
  align?: 'start' | 'end' | 'center' | 'stretch' | 'baseline';
30
30
  }
31
+ /**
32
+ * @see https://vkui.io/components/simple-grid
33
+ */
31
34
  export declare const SimpleGrid: ({ columns, gap, margin, minColWidth, align, ...props }: SimpleGridProps) => import("react/jsx-runtime").JSX.Element;
32
35
  //# sourceMappingURL=SimpleGrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleGrid.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleGrid/SimpleGrid.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAiBzE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC7F;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IACxD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;CAC7D;AAED,eAAO,MAAM,UAAU,GAAI,wDAOxB,eAAe,4CA4BjB,CAAC"}
1
+ {"version":3,"file":"SimpleGrid.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleGrid/SimpleGrid.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAiBzE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC7F;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IACxD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,wDAOxB,eAAe,4CA4BjB,CAAC"}
@@ -17,7 +17,9 @@ const alignClassNames = {
17
17
  stretch: "vkuiSimpleGrid__alignStretch",
18
18
  baseline: "vkuiSimpleGrid__alignBaseline"
19
19
  };
20
- export const SimpleGrid = (_param)=>{
20
+ /**
21
+ * @see https://vkui.io/components/simple-grid
22
+ */ export const SimpleGrid = (_param)=>{
21
23
  var { columns = 1, gap, margin = 'none', minColWidth, align = 'stretch' } = _param, props = _object_without_properties(_param, [
22
24
  "columns",
23
25
  "gap",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SimpleGrid/SimpleGrid.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport {\n calculateGap,\n columnGapClassNames,\n type GapsProp,\n rowGapClassNames,\n} from '../../lib/layouts';\nimport type { CSSCustomProperties } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport type { RootComponentProps } from '../RootComponent/RootComponent';\nimport styles from './SimpleGrid.module.css';\n\nconst marginClassNames = {\n 'auto': styles.marginAuto,\n 'auto-inline': styles.marginAutoInline,\n 'auto-block': styles.marginAutoBlock,\n};\n\nconst alignClassNames = {\n start: styles.alignStart,\n end: styles.alignEnd,\n center: styles.alignCenter,\n stretch: styles.alignStretch,\n baseline: styles.alignBaseline,\n};\n\nexport interface SimpleGridProps extends Omit<RootComponentProps<HTMLElement>, 'baseClassName'> {\n /**\n * Количество колонок.\n */\n columns?: number;\n /**\n * Отступы между элементами.\n * Значение из списка предопределённых пресетов или число, которое будет приведено к пикселям.\n * Через массив можно задать отступ между столбцами и строками [row, column], если они отличаются.\n */\n gap?: GapsProp;\n /**\n * Управляет отступами вокруг контейнера\n * Значение `none` позволяет отключить отступы\n * Значение `auto` позволяет задать платформенные отступы\n * Значение `auto-inline` позволяет задать платформенные inline-отступы\n * Значение `auto-block` позволяет задать платформенные block-отступы.\n */\n margin?: 'none' | 'auto' | 'auto-inline' | 'auto-block';\n /**\n * Вместо задания количества колонок, можно указать минимальную ширину элементов.\n */\n minColWidth?: number;\n /**\n * Выравнивание элементов по вспомогательной оси, эквивалентно `align-items`.\n */\n align?: 'start' | 'end' | 'center' | 'stretch' | 'baseline';\n}\n\nexport const SimpleGrid = ({\n columns = 1,\n gap,\n margin = 'none',\n minColWidth,\n align = 'stretch',\n ...props\n}: SimpleGridProps) => {\n const style: CSSCustomProperties = {};\n const [rowGap, columnGap] = calculateGap(gap);\n if (typeof rowGap === 'number') {\n style['--vkui_internal--row_gap'] = `${rowGap}px`;\n }\n if (typeof columnGap === 'number') {\n style['--vkui_internal--column_gap'] = `${columnGap}px`;\n }\n style['--vkui_internal--grid_columns'] = `${columns}`;\n if (minColWidth) {\n style['--vkui_internal--min_col_width'] = `${minColWidth}px`;\n }\n\n return (\n <RootComponent\n {...props}\n baseClassName={classNames(\n styles.host,\n margin !== 'none' && marginClassNames[margin],\n alignClassNames[align],\n minColWidth && styles.withMinWidth,\n typeof columnGap === 'string' && columnGapClassNames[columnGap],\n typeof rowGap === 'string' && rowGapClassNames[rowGap],\n )}\n baseStyle={style}\n />\n );\n};\n"],"names":["classNames","calculateGap","columnGapClassNames","rowGapClassNames","RootComponent","marginClassNames","alignClassNames","start","end","center","stretch","baseline","SimpleGrid","columns","gap","margin","minColWidth","align","props","style","rowGap","columnGap","baseClassName","baseStyle"],"mappings":";;;;AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SACEC,YAAY,EACZC,mBAAmB,EAEnBC,gBAAgB,QACX,6BAAoB;AAE3B,SAASC,aAAa,QAAQ,oCAAiC;AAI/D,MAAMC,mBAAmB;IACvB,MAAM;IACN,aAAa;IACb,YAAY;AACd;AAEA,MAAMC,kBAAkB;IACtBC,KAAK;IACLC,GAAG;IACHC,MAAM;IACNC,OAAO;IACPC,QAAQ;AACV;AA+BA,OAAO,MAAMC,aAAa;QAAC,EACzBC,UAAU,CAAC,EACXC,GAAG,EACHC,SAAS,MAAM,EACfC,WAAW,EACXC,QAAQ,SAAS,EAED,WADbC;QALHL;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,QAA6B,CAAC;IACpC,MAAM,CAACC,QAAQC,UAAU,GAAGpB,aAAaa;IACzC,IAAI,OAAOM,WAAW,UAAU;QAC9BD,KAAK,CAAC,2BAA2B,GAAG,GAAGC,OAAO,EAAE,CAAC;IACnD;IACA,IAAI,OAAOC,cAAc,UAAU;QACjCF,KAAK,CAAC,8BAA8B,GAAG,GAAGE,UAAU,EAAE,CAAC;IACzD;IACAF,KAAK,CAAC,gCAAgC,GAAG,GAAGN,SAAS;IACrD,IAAIG,aAAa;QACfG,KAAK,CAAC,iCAAiC,GAAG,GAAGH,YAAY,EAAE,CAAC;IAC9D;IAEA,qBACE,KAACZ,uDACKc;QACJI,eAAetB,mCAEbe,WAAW,UAAUV,gBAAgB,CAACU,OAAO,EAC7CT,eAAe,CAACW,MAAM,EACtBD,+CACA,OAAOK,cAAc,YAAYnB,mBAAmB,CAACmB,UAAU,EAC/D,OAAOD,WAAW,YAAYjB,gBAAgB,CAACiB,OAAO;QAExDG,WAAWJ;;AAGjB,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/SimpleGrid/SimpleGrid.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport {\n calculateGap,\n columnGapClassNames,\n type GapsProp,\n rowGapClassNames,\n} from '../../lib/layouts';\nimport type { CSSCustomProperties } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport type { RootComponentProps } from '../RootComponent/RootComponent';\nimport styles from './SimpleGrid.module.css';\n\nconst marginClassNames = {\n 'auto': styles.marginAuto,\n 'auto-inline': styles.marginAutoInline,\n 'auto-block': styles.marginAutoBlock,\n};\n\nconst alignClassNames = {\n start: styles.alignStart,\n end: styles.alignEnd,\n center: styles.alignCenter,\n stretch: styles.alignStretch,\n baseline: styles.alignBaseline,\n};\n\nexport interface SimpleGridProps extends Omit<RootComponentProps<HTMLElement>, 'baseClassName'> {\n /**\n * Количество колонок.\n */\n columns?: number;\n /**\n * Отступы между элементами.\n * Значение из списка предопределённых пресетов или число, которое будет приведено к пикселям.\n * Через массив можно задать отступ между столбцами и строками [row, column], если они отличаются.\n */\n gap?: GapsProp;\n /**\n * Управляет отступами вокруг контейнера\n * Значение `none` позволяет отключить отступы\n * Значение `auto` позволяет задать платформенные отступы\n * Значение `auto-inline` позволяет задать платформенные inline-отступы\n * Значение `auto-block` позволяет задать платформенные block-отступы.\n */\n margin?: 'none' | 'auto' | 'auto-inline' | 'auto-block';\n /**\n * Вместо задания количества колонок, можно указать минимальную ширину элементов.\n */\n minColWidth?: number;\n /**\n * Выравнивание элементов по вспомогательной оси, эквивалентно `align-items`.\n */\n align?: 'start' | 'end' | 'center' | 'stretch' | 'baseline';\n}\n\n/**\n * @see https://vkui.io/components/simple-grid\n */\nexport const SimpleGrid = ({\n columns = 1,\n gap,\n margin = 'none',\n minColWidth,\n align = 'stretch',\n ...props\n}: SimpleGridProps) => {\n const style: CSSCustomProperties = {};\n const [rowGap, columnGap] = calculateGap(gap);\n if (typeof rowGap === 'number') {\n style['--vkui_internal--row_gap'] = `${rowGap}px`;\n }\n if (typeof columnGap === 'number') {\n style['--vkui_internal--column_gap'] = `${columnGap}px`;\n }\n style['--vkui_internal--grid_columns'] = `${columns}`;\n if (minColWidth) {\n style['--vkui_internal--min_col_width'] = `${minColWidth}px`;\n }\n\n return (\n <RootComponent\n {...props}\n baseClassName={classNames(\n styles.host,\n margin !== 'none' && marginClassNames[margin],\n alignClassNames[align],\n minColWidth && styles.withMinWidth,\n typeof columnGap === 'string' && columnGapClassNames[columnGap],\n typeof rowGap === 'string' && rowGapClassNames[rowGap],\n )}\n baseStyle={style}\n />\n );\n};\n"],"names":["classNames","calculateGap","columnGapClassNames","rowGapClassNames","RootComponent","marginClassNames","alignClassNames","start","end","center","stretch","baseline","SimpleGrid","columns","gap","margin","minColWidth","align","props","style","rowGap","columnGap","baseClassName","baseStyle"],"mappings":";;;;AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SACEC,YAAY,EACZC,mBAAmB,EAEnBC,gBAAgB,QACX,6BAAoB;AAE3B,SAASC,aAAa,QAAQ,oCAAiC;AAI/D,MAAMC,mBAAmB;IACvB,MAAM;IACN,aAAa;IACb,YAAY;AACd;AAEA,MAAMC,kBAAkB;IACtBC,KAAK;IACLC,GAAG;IACHC,MAAM;IACNC,OAAO;IACPC,QAAQ;AACV;AA+BA;;CAEC,GACD,OAAO,MAAMC,aAAa;QAAC,EACzBC,UAAU,CAAC,EACXC,GAAG,EACHC,SAAS,MAAM,EACfC,WAAW,EACXC,QAAQ,SAAS,EAED,WADbC;QALHL;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,QAA6B,CAAC;IACpC,MAAM,CAACC,QAAQC,UAAU,GAAGpB,aAAaa;IACzC,IAAI,OAAOM,WAAW,UAAU;QAC9BD,KAAK,CAAC,2BAA2B,GAAG,GAAGC,OAAO,EAAE,CAAC;IACnD;IACA,IAAI,OAAOC,cAAc,UAAU;QACjCF,KAAK,CAAC,8BAA8B,GAAG,GAAGE,UAAU,EAAE,CAAC;IACzD;IACAF,KAAK,CAAC,gCAAgC,GAAG,GAAGN,SAAS;IACrD,IAAIG,aAAa;QACfG,KAAK,CAAC,iCAAiC,GAAG,GAAGH,YAAY,EAAE,CAAC;IAC9D;IAEA,qBACE,KAACZ,uDACKc;QACJI,eAAetB,mCAEbe,WAAW,UAAUV,gBAAgB,CAACU,OAAO,EAC7CT,eAAe,CAACW,MAAM,EACtBD,+CACA,OAAOK,cAAc,YAAYnB,mBAAmB,CAACmB,UAAU,EAC/D,OAAOD,WAAW,YAAYjB,gBAAgB,CAACiB,OAAO;QAExDG,WAAWJ;;AAGjB,EAAE"}
@@ -32,6 +32,9 @@ export interface SkeletonProps extends HTMLAttributesWithRootRef<HTMLDivElement
32
32
  * > вписывается в слоты компонентов, которые обычно ожидают текст.
33
33
  *
34
34
  * @since 6.1.0
35
+ *
36
+ * @see https://vkui.io/components/skeleton
37
+ *
35
38
  */
36
39
  export declare const Skeleton: ({ width, height, inlineSize, blockSize, maxWidth, maxInlineSize, borderRadius, children, colorFrom, colorTo, noAnimation, duration, margin, getRootRef, visibilityDelay, ...restProps }: SkeletonProps) => React.ReactNode;
37
40
  //# sourceMappingURL=Skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAuB,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAgFlF,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,cAAc,GAAG,eAAe,CAAC,EACjE,IAAI,CACF,KAAK,CAAC,aAAa,EACjB,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,UAAU,GACV,eAAe,GACf,cAAc,GACd,QAAQ,CACX;IACH;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,yLAiBtB,aAAa,KAAG,KAAK,CAAC,SA6CxB,CAAC"}
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAuB,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAgFlF,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,cAAc,GAAG,eAAe,CAAC,EACjE,IAAI,CACF,KAAK,CAAC,aAAa,EACjB,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,UAAU,GACV,eAAe,GACf,cAAc,GACd,QAAQ,CACX;IACH;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,yLAiBtB,aAAa,KAAG,KAAK,CAAC,SA6CxB,CAAC"}
@@ -93,6 +93,9 @@ const CUSTOM_PROPERTY_GRADIENT_LEFT = '--vkui_internal--skeleton_gradient_left';
93
93
  * > вписывается в слоты компонентов, которые обычно ожидают текст.
94
94
  *
95
95
  * @since 6.1.0
96
+ *
97
+ * @see https://vkui.io/components/skeleton
98
+ *
96
99
  */ export const Skeleton = (_param)=>{
97
100
  var { width, height, inlineSize, blockSize, maxWidth, maxInlineSize, borderRadius, children, colorFrom, colorTo, noAnimation = false, duration, margin, getRootRef, visibilityDelay } = _param, restProps = _object_without_properties(_param, [
98
101
  "width",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { millisecondsInSecond } from 'date-fns/constants';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useResizeObserver } from '../../hooks/useResizeObserver';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { useDOM } from '../../lib/dom';\nimport { animationVisibilityDelayStyles } from '../../styles/animationVisibilityDelay';\nimport type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Skeleton.module.css';\nimport stylesDelay from '../../styles/animationVisibilityDelay.module.css';\n\nconst CUSTOM_PROPERTY_GRADIENT_LEFT = '--vkui_internal--skeleton_gradient_left';\n\n/**\n * Синхронизирует анимацию скелетонов с помощью временных отрезков.\n *\n * ## visibilitychange\n *\n * В синхронизацию не заложен механизм перехода на оптимизации браузеров при\n * переходе на другую вкладку, поскольку нет уверенности в реальности таких\n * кейсов со скелетонами. Если такой кейс принесут, необходимо обработать\n * событие `visibilitychange` используя функцию `syncAnimation`.\n *\n * Смотри https://developer.chrome.com/blog/page-lifecycle-api/.\n *\n * @param duration Длительность анимации в секундах.\n */\nfunction useSkeletonSyncAnimation(disableAnimation: boolean, duration = 1.5) {\n const [isAnimationStarted, setIsAnimationStarted] = React.useState<boolean>(false);\n const timer = React.useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n const syncAnimation = React.useCallback(() => {\n clearTimeout(timer.current);\n setIsAnimationStarted(false);\n\n const durationInMilliseconds = duration * millisecondsInSecond;\n const delay = durationInMilliseconds - (performance.now() % durationInMilliseconds);\n\n timer.current = setTimeout(() => setIsAnimationStarted(true), delay);\n\n return () => clearTimeout(timer.current);\n }, [duration]);\n\n React.useEffect(() => {\n if (disableAnimation) {\n setIsAnimationStarted(false);\n return;\n }\n\n if (isAnimationStarted) {\n return;\n }\n\n return syncAnimation();\n }, [disableAnimation, isAnimationStarted, syncAnimation]);\n\n return isAnimationStarted;\n}\n\n/**\n * Вычисляет позицию скелетона.\n */\nfunction useSkeletonPosition(rootRef: React.RefObject<HTMLElement | null>) {\n const { document, window } = useDOM();\n const [[skeletonGradientLeft, prevSkeletonGradientLeft], setSkeletonGradientLeft] =\n useStateWithPrev('0');\n\n const updatePosition = React.useCallback(() => {\n const el = rootRef.current;\n if (!el || !document) {\n return;\n }\n\n const value = -(el.getBoundingClientRect().left - document.body.getBoundingClientRect().left);\n const gradientValue = value === 0 ? '0' : `${value}px`;\n if (prevSkeletonGradientLeft !== gradientValue) {\n setSkeletonGradientLeft(gradientValue);\n }\n }, [document, prevSkeletonGradientLeft, rootRef, setSkeletonGradientLeft]);\n\n React.useEffect(updatePosition, [updatePosition]);\n useResizeObserver(window, updatePosition);\n\n return skeletonGradientLeft;\n}\n\nexport interface SkeletonProps\n extends HTMLAttributesWithRootRef<HTMLDivElement | HTMLSpanElement>,\n Pick<\n React.CSSProperties,\n | 'width'\n | 'height'\n | 'inlineSize'\n | 'blockSize'\n | 'maxWidth'\n | 'maxInlineSize'\n | 'borderRadius'\n | 'margin'\n > {\n /**\n * Начальный цвет анимации.\n */\n colorFrom?: string;\n\n /**\n * Финальный цвет анимации.\n */\n colorTo?: string;\n\n /**\n * Выключает анимацию, в результате чего показывается только один цвет.\n */\n noAnimation?: boolean;\n\n /**\n * Длительность анимации в секундах.\n */\n duration?: number;\n\n /**\n * Задерживает отрисовку элемента на заданное количество миллисекунд.\n */\n visibilityDelay?: number;\n}\n\n/**\n * > Старайтесь минимизировать количество заглушек на экране. Не каждый элемент\n * > на экране должен заменяться заглушкой.\n * >\n * > Текстовые блоки лучше сокращать до трёх строк. Ширина последней строки\n * > скелета вычисляется, как 75% от ширины текстового блока. Высота скелетона\n * > автоматически подстраивается под размер шрифта, поэтому идеально\n * > вписывается в слоты компонентов, которые обычно ожидают текст.\n *\n * @since 6.1.0\n */\nexport const Skeleton = ({\n width,\n height,\n inlineSize,\n blockSize,\n maxWidth,\n maxInlineSize,\n borderRadius,\n children,\n colorFrom,\n colorTo,\n noAnimation = false,\n duration,\n margin,\n getRootRef,\n visibilityDelay,\n ...restProps\n}: SkeletonProps): React.ReactNode => {\n const rootRef = useExternRef(getRootRef);\n\n const disableAnimation = !useSkeletonSyncAnimation(noAnimation, duration);\n const skeletonGradientLeft = useSkeletonPosition(rootRef);\n\n const skeletonStyle: React.CSSProperties & CSSCustomProperties = {\n width,\n height,\n inlineSize,\n blockSize,\n maxWidth,\n maxInlineSize,\n borderRadius,\n margin,\n [CUSTOM_PROPERTY_GRADIENT_LEFT]: skeletonGradientLeft,\n };\n\n if (colorFrom) {\n skeletonStyle['--vkui_internal--skeleton_color_from'] = colorFrom;\n }\n\n if (colorTo) {\n skeletonStyle['--vkui_internal--skeleton_color_to'] = colorTo;\n }\n\n if (Number.isFinite(duration)) {\n skeletonStyle['--vkui_internal--skeleton_animation_duration'] = `${duration}s`;\n }\n\n return (\n <RootComponent\n getRootRef={rootRef}\n Component=\"span\"\n baseClassName={classNames(\n styles.host,\n disableAnimation && styles.disableAnimation,\n visibilityDelay && stylesDelay.visibilityDelay,\n )}\n baseStyle={mergeStyle(skeletonStyle, animationVisibilityDelayStyles(visibilityDelay))}\n {...restProps}\n >\n {children || <>&zwnj;</>}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","millisecondsInSecond","mergeStyle","useExternRef","useResizeObserver","useStateWithPrev","useDOM","animationVisibilityDelayStyles","RootComponent","CUSTOM_PROPERTY_GRADIENT_LEFT","useSkeletonSyncAnimation","disableAnimation","duration","isAnimationStarted","setIsAnimationStarted","useState","timer","useRef","undefined","syncAnimation","useCallback","clearTimeout","current","durationInMilliseconds","delay","performance","now","setTimeout","useEffect","useSkeletonPosition","rootRef","document","window","skeletonGradientLeft","prevSkeletonGradientLeft","setSkeletonGradientLeft","updatePosition","el","value","getBoundingClientRect","left","body","gradientValue","Skeleton","width","height","inlineSize","blockSize","maxWidth","maxInlineSize","borderRadius","children","colorFrom","colorTo","noAnimation","margin","getRootRef","visibilityDelay","restProps","skeletonStyle","Number","isFinite","Component","baseClassName","baseStyle"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Skeleton/Skeleton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { millisecondsInSecond } from 'date-fns/constants';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useResizeObserver } from '../../hooks/useResizeObserver';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { useDOM } from '../../lib/dom';\nimport { animationVisibilityDelayStyles } from '../../styles/animationVisibilityDelay';\nimport type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Skeleton.module.css';\nimport stylesDelay from '../../styles/animationVisibilityDelay.module.css';\n\nconst CUSTOM_PROPERTY_GRADIENT_LEFT = '--vkui_internal--skeleton_gradient_left';\n\n/**\n * Синхронизирует анимацию скелетонов с помощью временных отрезков.\n *\n * ## visibilitychange\n *\n * В синхронизацию не заложен механизм перехода на оптимизации браузеров при\n * переходе на другую вкладку, поскольку нет уверенности в реальности таких\n * кейсов со скелетонами. Если такой кейс принесут, необходимо обработать\n * событие `visibilitychange` используя функцию `syncAnimation`.\n *\n * Смотри https://developer.chrome.com/blog/page-lifecycle-api/.\n *\n * @param duration Длительность анимации в секундах.\n */\nfunction useSkeletonSyncAnimation(disableAnimation: boolean, duration = 1.5) {\n const [isAnimationStarted, setIsAnimationStarted] = React.useState<boolean>(false);\n const timer = React.useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n const syncAnimation = React.useCallback(() => {\n clearTimeout(timer.current);\n setIsAnimationStarted(false);\n\n const durationInMilliseconds = duration * millisecondsInSecond;\n const delay = durationInMilliseconds - (performance.now() % durationInMilliseconds);\n\n timer.current = setTimeout(() => setIsAnimationStarted(true), delay);\n\n return () => clearTimeout(timer.current);\n }, [duration]);\n\n React.useEffect(() => {\n if (disableAnimation) {\n setIsAnimationStarted(false);\n return;\n }\n\n if (isAnimationStarted) {\n return;\n }\n\n return syncAnimation();\n }, [disableAnimation, isAnimationStarted, syncAnimation]);\n\n return isAnimationStarted;\n}\n\n/**\n * Вычисляет позицию скелетона.\n */\nfunction useSkeletonPosition(rootRef: React.RefObject<HTMLElement | null>) {\n const { document, window } = useDOM();\n const [[skeletonGradientLeft, prevSkeletonGradientLeft], setSkeletonGradientLeft] =\n useStateWithPrev('0');\n\n const updatePosition = React.useCallback(() => {\n const el = rootRef.current;\n if (!el || !document) {\n return;\n }\n\n const value = -(el.getBoundingClientRect().left - document.body.getBoundingClientRect().left);\n const gradientValue = value === 0 ? '0' : `${value}px`;\n if (prevSkeletonGradientLeft !== gradientValue) {\n setSkeletonGradientLeft(gradientValue);\n }\n }, [document, prevSkeletonGradientLeft, rootRef, setSkeletonGradientLeft]);\n\n React.useEffect(updatePosition, [updatePosition]);\n useResizeObserver(window, updatePosition);\n\n return skeletonGradientLeft;\n}\n\nexport interface SkeletonProps\n extends HTMLAttributesWithRootRef<HTMLDivElement | HTMLSpanElement>,\n Pick<\n React.CSSProperties,\n | 'width'\n | 'height'\n | 'inlineSize'\n | 'blockSize'\n | 'maxWidth'\n | 'maxInlineSize'\n | 'borderRadius'\n | 'margin'\n > {\n /**\n * Начальный цвет анимации.\n */\n colorFrom?: string;\n\n /**\n * Финальный цвет анимации.\n */\n colorTo?: string;\n\n /**\n * Выключает анимацию, в результате чего показывается только один цвет.\n */\n noAnimation?: boolean;\n\n /**\n * Длительность анимации в секундах.\n */\n duration?: number;\n\n /**\n * Задерживает отрисовку элемента на заданное количество миллисекунд.\n */\n visibilityDelay?: number;\n}\n\n/**\n * > Старайтесь минимизировать количество заглушек на экране. Не каждый элемент\n * > на экране должен заменяться заглушкой.\n * >\n * > Текстовые блоки лучше сокращать до трёх строк. Ширина последней строки\n * > скелета вычисляется, как 75% от ширины текстового блока. Высота скелетона\n * > автоматически подстраивается под размер шрифта, поэтому идеально\n * > вписывается в слоты компонентов, которые обычно ожидают текст.\n *\n * @since 6.1.0\n *\n * @see https://vkui.io/components/skeleton\n *\n */\nexport const Skeleton = ({\n width,\n height,\n inlineSize,\n blockSize,\n maxWidth,\n maxInlineSize,\n borderRadius,\n children,\n colorFrom,\n colorTo,\n noAnimation = false,\n duration,\n margin,\n getRootRef,\n visibilityDelay,\n ...restProps\n}: SkeletonProps): React.ReactNode => {\n const rootRef = useExternRef(getRootRef);\n\n const disableAnimation = !useSkeletonSyncAnimation(noAnimation, duration);\n const skeletonGradientLeft = useSkeletonPosition(rootRef);\n\n const skeletonStyle: React.CSSProperties & CSSCustomProperties = {\n width,\n height,\n inlineSize,\n blockSize,\n maxWidth,\n maxInlineSize,\n borderRadius,\n margin,\n [CUSTOM_PROPERTY_GRADIENT_LEFT]: skeletonGradientLeft,\n };\n\n if (colorFrom) {\n skeletonStyle['--vkui_internal--skeleton_color_from'] = colorFrom;\n }\n\n if (colorTo) {\n skeletonStyle['--vkui_internal--skeleton_color_to'] = colorTo;\n }\n\n if (Number.isFinite(duration)) {\n skeletonStyle['--vkui_internal--skeleton_animation_duration'] = `${duration}s`;\n }\n\n return (\n <RootComponent\n getRootRef={rootRef}\n Component=\"span\"\n baseClassName={classNames(\n styles.host,\n disableAnimation && styles.disableAnimation,\n visibilityDelay && stylesDelay.visibilityDelay,\n )}\n baseStyle={mergeStyle(skeletonStyle, animationVisibilityDelayStyles(visibilityDelay))}\n {...restProps}\n >\n {children || <>&zwnj;</>}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","millisecondsInSecond","mergeStyle","useExternRef","useResizeObserver","useStateWithPrev","useDOM","animationVisibilityDelayStyles","RootComponent","CUSTOM_PROPERTY_GRADIENT_LEFT","useSkeletonSyncAnimation","disableAnimation","duration","isAnimationStarted","setIsAnimationStarted","useState","timer","useRef","undefined","syncAnimation","useCallback","clearTimeout","current","durationInMilliseconds","delay","performance","now","setTimeout","useEffect","useSkeletonPosition","rootRef","document","window","skeletonGradientLeft","prevSkeletonGradientLeft","setSkeletonGradientLeft","updatePosition","el","value","getBoundingClientRect","left","body","gradientValue","Skeleton","width","height","inlineSize","blockSize","maxWidth","maxInlineSize","borderRadius","children","colorFrom","colorTo","noAnimation","margin","getRootRef","visibilityDelay","restProps","skeletonStyle","Number","isFinite","Component","baseClassName","baseStyle"],"mappings":"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"}
@@ -86,7 +86,7 @@ export interface SliderMultipleProps extends SliderBaseProps {
86
86
  onChange?: (value: [number, number], event: CustomTouchEvent | React.ChangeEvent) => void;
87
87
  }
88
88
  /**
89
- * @see https://vkcom.github.io/VKUI/#/Slider
89
+ * @see https://vkui.io/components/slider
90
90
  */
91
91
  export declare const Slider: ({ step, min, max, value: valueProp, multiple: multipleProp, defaultValue, disabled, className, getRootRef, getAriaLabel, getAriaValueText, startThumbTestId, endThumbTestId, onChange, withTooltip, size, style: styleProp, ...restProps }: SliderProps | SliderMultipleProps) => React.ReactNode;
92
92
  //# sourceMappingURL=Slider.d.ts.map
@@ -23,7 +23,7 @@ const sizeClassNames = {
23
23
  s: "vkuiSlider__sizeS"
24
24
  };
25
25
  /**
26
- * @see https://vkcom.github.io/VKUI/#/Slider
26
+ * @see https://vkui.io/components/slider
27
27
  */ export const Slider = (_param)=>{
28
28
  var { step = 1, min = 0, max = 100, value: valueProp, multiple: multipleProp, defaultValue = multipleProp ? [
29
29
  min,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { type CustomTouchEvent, type CustomTouchEventHandler, Touch } from '../Touch/Touch';\nimport { SliderThumb } from './SliderThumb/SliderThumb';\nimport {\n extractSliderAriaAttributesFromRestProps,\n getDraggingTypeByTargetDataset,\n isMultipleValues,\n offsetToValue,\n snapDirection,\n toPercent,\n updateInternalStateValue,\n updateInternalStateValueByNativeChange,\n} from './helpers';\nimport type { InternalDraggingType, InternalGestureRef, InternalValueState } from './types';\nimport styles from './Slider.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst sizeClassNames = {\n l: styles.sizeL,\n m: styles.sizeM,\n s: styles.sizeS,\n};\n\nexport interface SliderBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'> {\n /**\n * Минимальное значение слайдера.\n */\n min?: number;\n /**\n * Максимальное значение слайдера.\n */\n max?: number;\n /**\n * Шаг изменения значения слайдера.\n */\n step?: number;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n /**\n * Тоже самое, что и `aria-label`, но на вход можно получать индекс текущего ползунка и в зависимости от этого выдавать разный текст.\n *\n * > Перебивает `aria-label`.\n */\n getAriaLabel?: (index: number) => string;\n /**\n * В отличие от `aria-valuetext`, позволяет более гибко форматировать текст в зависимости от значения ползунка.\n *\n * Полезно при использовании компонента как неконтролируемого.\n *\n * > Перебивает `aria-valuetext`.\n */\n getAriaValueText?: (value: number, index: number) => string;\n /**\n * Включает отображение всплывающей подсказки при взаимодействии с ползунком.\n */\n withTooltip?: boolean;\n /**\n * Размер ползунка.\n */\n size?: 's' | 'm' | 'l';\n /**\n * Передает атрибут `data-testid` для первого ползунка.\n */\n startThumbTestId?: string;\n /**\n * Передает атрибут `data-testid` для второго ползунка когда `multiple=true`.\n */\n endThumbTestId?: string;\n}\n\nexport interface SliderProps extends SliderBaseProps {\n /**\n * Флаг множественного выбора (должен быть false или не указан).\n */\n multiple?: false;\n /**\n * Текущее значение слайдера.\n */\n value?: number;\n /**\n * Значение слайдера по умолчанию.\n */\n defaultValue?: number;\n /**\n * Обработчик изменения значения слайдера.\n */\n onChange?: (value: number, event: CustomTouchEvent | React.ChangeEvent) => void;\n}\n\nexport interface SliderMultipleProps extends SliderBaseProps {\n /**\n * Флаг множественного выбора (должен быть true).\n */\n multiple: true;\n /**\n * Текущие значения слайдера в виде массива [начальное, конечное].\n */\n value?: [number, number];\n /**\n * Значения слайдера по умолчанию в виде массива [начальное, конечное].\n */\n defaultValue?: [number, number];\n /**\n * Обработчик изменения значений слайдера.\n */\n onChange?: (value: [number, number], event: CustomTouchEvent | React.ChangeEvent) => void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Slider\n */\nexport const Slider = ({\n step = 1,\n min = 0,\n max = 100,\n value: valueProp,\n multiple: multipleProp,\n defaultValue = multipleProp ? [min, max] : min,\n disabled,\n className,\n getRootRef,\n getAriaLabel,\n getAriaValueText,\n startThumbTestId,\n endThumbTestId,\n onChange,\n withTooltip,\n size = 'l',\n style: styleProp,\n ...restProps\n}: SliderProps | SliderMultipleProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const isControlled = valueProp !== undefined;\n const [localValue, setValue] = React.useState(defaultValue);\n\n const value = React.useMemo<InternalValueState>(() => {\n const resolvedValue = isControlled ? valueProp : localValue;\n return Array.isArray(resolvedValue)\n ? [clamp(resolvedValue[0], min, max), clamp(resolvedValue[1], min, max)]\n : [clamp(resolvedValue, min, max), null];\n }, [isControlled, valueProp, localValue, min, max]);\n\n const [startValue, endValue] = value;\n const multiple = multipleProp && endValue !== null;\n const startValueInPercent = toPercent(startValue, min, max);\n const endReversedValueInPercent = multiple ? toPercent(endValue, min, max) : 0;\n const [activeThumb, setActiveThumb] = React.useState<InternalDraggingType | null>(null);\n\n const gesture = React.useRef<InternalGestureRef>({\n dragging: null,\n startX: 0,\n containerWidth: 0,\n }).current;\n const thumbsContainerRef = useExternRef(getRootRef);\n const thumbStartInputRef = React.useRef<HTMLInputElement>(null);\n const thumbEndInputRef = React.useRef<HTMLInputElement>(null);\n\n const { ariaLabel, ariaValueText, ariaLabelledBy, ...restPropsWithoutAriaAttributes } =\n extractSliderAriaAttributesFromRestProps(restProps);\n\n const changeValue = (\n nextValue: InternalValueState,\n event: CustomTouchEvent | React.ChangeEvent,\n ) => {\n if (disabled || (value[0] === nextValue[0] && value[1] === nextValue[1])) {\n return;\n }\n\n if (multipleProp) {\n if (isMultipleValues(nextValue)) {\n !isControlled && setValue(nextValue);\n onChange && onChange(nextValue, event);\n }\n } else {\n !isControlled && setValue(nextValue[0]);\n onChange && onChange(nextValue[0], event);\n }\n };\n\n const handlePointerStart: CustomTouchEventHandler = (event: CustomTouchEvent) => {\n if (!thumbsContainerRef.current) {\n return;\n }\n\n const { left: nextContainerX, width: nextContainerWidth } =\n thumbsContainerRef.current.getBoundingClientRect();\n\n // @ts-expect-error: TS2345 в VKUITouchEvent плохо описаны типы. `target` это просто `EventTarget`.\n const foundDraggingType = getDraggingTypeByTargetDataset(event.originalEvent.target);\n\n let nextStartX = event.startX - nextContainerX;\n if (isRtl) {\n nextStartX = nextContainerWidth - nextStartX;\n }\n const nextValue = offsetToValue(nextStartX, nextContainerWidth, min, max, step);\n const nextDragging = snapDirection(value, nextValue, foundDraggingType);\n\n gesture.dragging = nextDragging;\n gesture.containerWidth = nextContainerWidth;\n gesture.startX = nextStartX;\n\n const updatedInternalStateValue = updateInternalStateValue(\n value,\n nextValue,\n min,\n max,\n nextDragging,\n );\n\n const [nextStartValue, nextEndValue] = updatedInternalStateValue;\n if (\n thumbStartInputRef.current &&\n (foundDraggingType === 'start' ||\n (nextStartValue !== startValue && nextEndValue === endValue))\n ) {\n thumbStartInputRef.current.focus();\n event.originalEvent.preventDefault();\n } else if (\n thumbEndInputRef.current &&\n (foundDraggingType === 'end' || (nextEndValue !== endValue && nextStartValue === startValue))\n ) {\n thumbEndInputRef.current.focus();\n event.originalEvent.preventDefault();\n }\n\n changeValue(updatedInternalStateValue, event);\n\n event.originalEvent.stopPropagation();\n setActiveThumb(gesture.dragging);\n };\n\n const handlePointerMove: CustomTouchEventHandler = (event: CustomTouchEvent) => {\n const { startX, containerWidth, dragging } = gesture;\n\n const { shiftX = 0 } = event;\n const nextStartX = startX + (isRtl ? -shiftX : shiftX);\n const nextValue = offsetToValue(nextStartX, containerWidth, min, max, step);\n\n changeValue(updateInternalStateValue(value, nextValue, min, max, dragging), event);\n\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n };\n\n const handlePointerEnd: CustomTouchEventHandler = (event) => {\n gesture.dragging = null;\n event.originalEvent.stopPropagation();\n setActiveThumb(null);\n };\n\n const handleChangeByNativeInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n changeValue(\n updateInternalStateValueByNativeChange(\n value,\n Number(event.target.value),\n getDraggingTypeByTargetDataset(event.target),\n ),\n event,\n );\n };\n\n const style: CSSCustomProperties = {\n '--vkui_internal--Slider_start_value': String(startValueInPercent),\n '--vkui_internal--Slider_end_value': String(endReversedValueInPercent),\n };\n\n return (\n <Touch\n data-value={multiple ? `${startValue},${endValue}` : startValue}\n {...restPropsWithoutAriaAttributes}\n className={classNames(\n styles.host,\n disabled && styles.disabled,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n sizeClassNames[size],\n multiple && styles.multiple,\n isRtl && styles.rtl,\n className,\n )}\n style={mergeStyle(styleProp, style)}\n getRootRef={getRootRef}\n onStart={disabled ? undefined : handlePointerStart}\n onMove={disabled ? undefined : handlePointerMove}\n onEnd={disabled ? undefined : handlePointerEnd}\n >\n <div className={styles.track} />\n <div className={styles.trackFill} />\n <div ref={thumbsContainerRef} className={styles.thumbs}>\n <SliderThumb\n data-type=\"start\"\n className={classNames(styles.thumb, styles.thumbStart)}\n style={{\n // Меняем местами порядок слоёв, иначе, при достижении `start` и `end` 100%, `end` будет перекрывать `start`.\n zIndex: multiple && startValueInPercent >= 50 ? 2 : undefined,\n }}\n withTooltip={withTooltip}\n inputProps={{\n 'data-type': 'start',\n 'data-testid': startThumbTestId,\n 'ref': thumbStartInputRef,\n 'step': step,\n 'min': min,\n 'value': startValue,\n 'max': multiple ? endValue : max,\n 'disabled': disabled,\n 'aria-label': getAriaLabel ? getAriaLabel(0) : ariaLabel,\n 'aria-valuetext': getAriaValueText ? getAriaValueText(startValue, 0) : ariaValueText,\n 'aria-labelledby': ariaLabelledBy,\n 'onChange': handleChangeByNativeInput,\n }}\n isActive={activeThumb === 'start'}\n />\n {multiple && (\n <SliderThumb\n data-type=\"end\"\n className={classNames(styles.thumb, styles.thumbEnd)}\n withTooltip={withTooltip}\n inputProps={{\n 'data-type': 'end',\n 'data-testid': endThumbTestId,\n 'ref': thumbEndInputRef,\n 'step': step,\n 'min': startValue,\n 'value': endValue,\n 'max': max,\n 'disabled': disabled,\n 'aria-label': getAriaLabel ? getAriaLabel(1) : ariaLabel,\n 'aria-valuetext': getAriaValueText ? getAriaValueText(endValue, 1) : ariaValueText,\n 'aria-labelledby': ariaLabelledBy,\n 'onChange': handleChangeByNativeInput,\n }}\n isActive={activeThumb === 'end'}\n />\n )}\n </div>\n </Touch>\n );\n};\n"],"names":["React","classNames","clamp","mergeStyle","useAdaptivity","useConfigDirection","useExternRef","Touch","SliderThumb","extractSliderAriaAttributesFromRestProps","getDraggingTypeByTargetDataset","isMultipleValues","offsetToValue","snapDirection","toPercent","updateInternalStateValue","updateInternalStateValueByNativeChange","sizeYClassNames","none","compact","sizeClassNames","l","m","s","Slider","step","min","max","value","valueProp","multiple","multipleProp","defaultValue","disabled","className","getRootRef","getAriaLabel","getAriaValueText","startThumbTestId","endThumbTestId","onChange","withTooltip","size","style","styleProp","restProps","sizeY","direction","isRtl","isControlled","undefined","localValue","setValue","useState","useMemo","resolvedValue","Array","isArray","startValue","endValue","startValueInPercent","endReversedValueInPercent","activeThumb","setActiveThumb","gesture","useRef","dragging","startX","containerWidth","current","thumbsContainerRef","thumbStartInputRef","thumbEndInputRef","ariaLabel","ariaValueText","ariaLabelledBy","restPropsWithoutAriaAttributes","changeValue","nextValue","event","handlePointerStart","left","nextContainerX","width","nextContainerWidth","getBoundingClientRect","foundDraggingType","originalEvent","target","nextStartX","nextDragging","updatedInternalStateValue","nextStartValue","nextEndValue","focus","preventDefault","stopPropagation","handlePointerMove","shiftX","handlePointerEnd","handleChangeByNativeInput","Number","String","data-value","onStart","onMove","onEnd","div","ref","data-type","zIndex","inputProps","isActive"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Slider/Slider.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { type CustomTouchEvent, type CustomTouchEventHandler, Touch } from '../Touch/Touch';\nimport { SliderThumb } from './SliderThumb/SliderThumb';\nimport {\n extractSliderAriaAttributesFromRestProps,\n getDraggingTypeByTargetDataset,\n isMultipleValues,\n offsetToValue,\n snapDirection,\n toPercent,\n updateInternalStateValue,\n updateInternalStateValueByNativeChange,\n} from './helpers';\nimport type { InternalDraggingType, InternalGestureRef, InternalValueState } from './types';\nimport styles from './Slider.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst sizeClassNames = {\n l: styles.sizeL,\n m: styles.sizeM,\n s: styles.sizeS,\n};\n\nexport interface SliderBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'> {\n /**\n * Минимальное значение слайдера.\n */\n min?: number;\n /**\n * Максимальное значение слайдера.\n */\n max?: number;\n /**\n * Шаг изменения значения слайдера.\n */\n step?: number;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n /**\n * Тоже самое, что и `aria-label`, но на вход можно получать индекс текущего ползунка и в зависимости от этого выдавать разный текст.\n *\n * > Перебивает `aria-label`.\n */\n getAriaLabel?: (index: number) => string;\n /**\n * В отличие от `aria-valuetext`, позволяет более гибко форматировать текст в зависимости от значения ползунка.\n *\n * Полезно при использовании компонента как неконтролируемого.\n *\n * > Перебивает `aria-valuetext`.\n */\n getAriaValueText?: (value: number, index: number) => string;\n /**\n * Включает отображение всплывающей подсказки при взаимодействии с ползунком.\n */\n withTooltip?: boolean;\n /**\n * Размер ползунка.\n */\n size?: 's' | 'm' | 'l';\n /**\n * Передает атрибут `data-testid` для первого ползунка.\n */\n startThumbTestId?: string;\n /**\n * Передает атрибут `data-testid` для второго ползунка когда `multiple=true`.\n */\n endThumbTestId?: string;\n}\n\nexport interface SliderProps extends SliderBaseProps {\n /**\n * Флаг множественного выбора (должен быть false или не указан).\n */\n multiple?: false;\n /**\n * Текущее значение слайдера.\n */\n value?: number;\n /**\n * Значение слайдера по умолчанию.\n */\n defaultValue?: number;\n /**\n * Обработчик изменения значения слайдера.\n */\n onChange?: (value: number, event: CustomTouchEvent | React.ChangeEvent) => void;\n}\n\nexport interface SliderMultipleProps extends SliderBaseProps {\n /**\n * Флаг множественного выбора (должен быть true).\n */\n multiple: true;\n /**\n * Текущие значения слайдера в виде массива [начальное, конечное].\n */\n value?: [number, number];\n /**\n * Значения слайдера по умолчанию в виде массива [начальное, конечное].\n */\n defaultValue?: [number, number];\n /**\n * Обработчик изменения значений слайдера.\n */\n onChange?: (value: [number, number], event: CustomTouchEvent | React.ChangeEvent) => void;\n}\n\n/**\n * @see https://vkui.io/components/slider\n */\nexport const Slider = ({\n step = 1,\n min = 0,\n max = 100,\n value: valueProp,\n multiple: multipleProp,\n defaultValue = multipleProp ? [min, max] : min,\n disabled,\n className,\n getRootRef,\n getAriaLabel,\n getAriaValueText,\n startThumbTestId,\n endThumbTestId,\n onChange,\n withTooltip,\n size = 'l',\n style: styleProp,\n ...restProps\n}: SliderProps | SliderMultipleProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const isControlled = valueProp !== undefined;\n const [localValue, setValue] = React.useState(defaultValue);\n\n const value = React.useMemo<InternalValueState>(() => {\n const resolvedValue = isControlled ? valueProp : localValue;\n return Array.isArray(resolvedValue)\n ? [clamp(resolvedValue[0], min, max), clamp(resolvedValue[1], min, max)]\n : [clamp(resolvedValue, min, max), null];\n }, [isControlled, valueProp, localValue, min, max]);\n\n const [startValue, endValue] = value;\n const multiple = multipleProp && endValue !== null;\n const startValueInPercent = toPercent(startValue, min, max);\n const endReversedValueInPercent = multiple ? toPercent(endValue, min, max) : 0;\n const [activeThumb, setActiveThumb] = React.useState<InternalDraggingType | null>(null);\n\n const gesture = React.useRef<InternalGestureRef>({\n dragging: null,\n startX: 0,\n containerWidth: 0,\n }).current;\n const thumbsContainerRef = useExternRef(getRootRef);\n const thumbStartInputRef = React.useRef<HTMLInputElement>(null);\n const thumbEndInputRef = React.useRef<HTMLInputElement>(null);\n\n const { ariaLabel, ariaValueText, ariaLabelledBy, ...restPropsWithoutAriaAttributes } =\n extractSliderAriaAttributesFromRestProps(restProps);\n\n const changeValue = (\n nextValue: InternalValueState,\n event: CustomTouchEvent | React.ChangeEvent,\n ) => {\n if (disabled || (value[0] === nextValue[0] && value[1] === nextValue[1])) {\n return;\n }\n\n if (multipleProp) {\n if (isMultipleValues(nextValue)) {\n !isControlled && setValue(nextValue);\n onChange && onChange(nextValue, event);\n }\n } else {\n !isControlled && setValue(nextValue[0]);\n onChange && onChange(nextValue[0], event);\n }\n };\n\n const handlePointerStart: CustomTouchEventHandler = (event: CustomTouchEvent) => {\n if (!thumbsContainerRef.current) {\n return;\n }\n\n const { left: nextContainerX, width: nextContainerWidth } =\n thumbsContainerRef.current.getBoundingClientRect();\n\n // @ts-expect-error: TS2345 в VKUITouchEvent плохо описаны типы. `target` это просто `EventTarget`.\n const foundDraggingType = getDraggingTypeByTargetDataset(event.originalEvent.target);\n\n let nextStartX = event.startX - nextContainerX;\n if (isRtl) {\n nextStartX = nextContainerWidth - nextStartX;\n }\n const nextValue = offsetToValue(nextStartX, nextContainerWidth, min, max, step);\n const nextDragging = snapDirection(value, nextValue, foundDraggingType);\n\n gesture.dragging = nextDragging;\n gesture.containerWidth = nextContainerWidth;\n gesture.startX = nextStartX;\n\n const updatedInternalStateValue = updateInternalStateValue(\n value,\n nextValue,\n min,\n max,\n nextDragging,\n );\n\n const [nextStartValue, nextEndValue] = updatedInternalStateValue;\n if (\n thumbStartInputRef.current &&\n (foundDraggingType === 'start' ||\n (nextStartValue !== startValue && nextEndValue === endValue))\n ) {\n thumbStartInputRef.current.focus();\n event.originalEvent.preventDefault();\n } else if (\n thumbEndInputRef.current &&\n (foundDraggingType === 'end' || (nextEndValue !== endValue && nextStartValue === startValue))\n ) {\n thumbEndInputRef.current.focus();\n event.originalEvent.preventDefault();\n }\n\n changeValue(updatedInternalStateValue, event);\n\n event.originalEvent.stopPropagation();\n setActiveThumb(gesture.dragging);\n };\n\n const handlePointerMove: CustomTouchEventHandler = (event: CustomTouchEvent) => {\n const { startX, containerWidth, dragging } = gesture;\n\n const { shiftX = 0 } = event;\n const nextStartX = startX + (isRtl ? -shiftX : shiftX);\n const nextValue = offsetToValue(nextStartX, containerWidth, min, max, step);\n\n changeValue(updateInternalStateValue(value, nextValue, min, max, dragging), event);\n\n event.originalEvent.stopPropagation();\n event.originalEvent.preventDefault();\n };\n\n const handlePointerEnd: CustomTouchEventHandler = (event) => {\n gesture.dragging = null;\n event.originalEvent.stopPropagation();\n setActiveThumb(null);\n };\n\n const handleChangeByNativeInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n changeValue(\n updateInternalStateValueByNativeChange(\n value,\n Number(event.target.value),\n getDraggingTypeByTargetDataset(event.target),\n ),\n event,\n );\n };\n\n const style: CSSCustomProperties = {\n '--vkui_internal--Slider_start_value': String(startValueInPercent),\n '--vkui_internal--Slider_end_value': String(endReversedValueInPercent),\n };\n\n return (\n <Touch\n data-value={multiple ? `${startValue},${endValue}` : startValue}\n {...restPropsWithoutAriaAttributes}\n className={classNames(\n styles.host,\n disabled && styles.disabled,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n sizeClassNames[size],\n multiple && styles.multiple,\n isRtl && styles.rtl,\n className,\n )}\n style={mergeStyle(styleProp, style)}\n getRootRef={getRootRef}\n onStart={disabled ? undefined : handlePointerStart}\n onMove={disabled ? undefined : handlePointerMove}\n onEnd={disabled ? undefined : handlePointerEnd}\n >\n <div className={styles.track} />\n <div className={styles.trackFill} />\n <div ref={thumbsContainerRef} className={styles.thumbs}>\n <SliderThumb\n data-type=\"start\"\n className={classNames(styles.thumb, styles.thumbStart)}\n style={{\n // Меняем местами порядок слоёв, иначе, при достижении `start` и `end` 100%, `end` будет перекрывать `start`.\n zIndex: multiple && startValueInPercent >= 50 ? 2 : undefined,\n }}\n withTooltip={withTooltip}\n inputProps={{\n 'data-type': 'start',\n 'data-testid': startThumbTestId,\n 'ref': thumbStartInputRef,\n 'step': step,\n 'min': min,\n 'value': startValue,\n 'max': multiple ? endValue : max,\n 'disabled': disabled,\n 'aria-label': getAriaLabel ? getAriaLabel(0) : ariaLabel,\n 'aria-valuetext': getAriaValueText ? getAriaValueText(startValue, 0) : ariaValueText,\n 'aria-labelledby': ariaLabelledBy,\n 'onChange': handleChangeByNativeInput,\n }}\n isActive={activeThumb === 'start'}\n />\n {multiple && (\n <SliderThumb\n data-type=\"end\"\n className={classNames(styles.thumb, styles.thumbEnd)}\n withTooltip={withTooltip}\n inputProps={{\n 'data-type': 'end',\n 'data-testid': endThumbTestId,\n 'ref': thumbEndInputRef,\n 'step': step,\n 'min': startValue,\n 'value': endValue,\n 'max': max,\n 'disabled': disabled,\n 'aria-label': getAriaLabel ? getAriaLabel(1) : ariaLabel,\n 'aria-valuetext': getAriaValueText ? getAriaValueText(endValue, 1) : ariaValueText,\n 'aria-labelledby': ariaLabelledBy,\n 'onChange': handleChangeByNativeInput,\n }}\n isActive={activeThumb === 'end'}\n />\n )}\n </div>\n </Touch>\n );\n};\n"],"names":["React","classNames","clamp","mergeStyle","useAdaptivity","useConfigDirection","useExternRef","Touch","SliderThumb","extractSliderAriaAttributesFromRestProps","getDraggingTypeByTargetDataset","isMultipleValues","offsetToValue","snapDirection","toPercent","updateInternalStateValue","updateInternalStateValueByNativeChange","sizeYClassNames","none","compact","sizeClassNames","l","m","s","Slider","step","min","max","value","valueProp","multiple","multipleProp","defaultValue","disabled","className","getRootRef","getAriaLabel","getAriaValueText","startThumbTestId","endThumbTestId","onChange","withTooltip","size","style","styleProp","restProps","sizeY","direction","isRtl","isControlled","undefined","localValue","setValue","useState","useMemo","resolvedValue","Array","isArray","startValue","endValue","startValueInPercent","endReversedValueInPercent","activeThumb","setActiveThumb","gesture","useRef","dragging","startX","containerWidth","current","thumbsContainerRef","thumbStartInputRef","thumbEndInputRef","ariaLabel","ariaValueText","ariaLabelledBy","restPropsWithoutAriaAttributes","changeValue","nextValue","event","handlePointerStart","left","nextContainerX","width","nextContainerWidth","getBoundingClientRect","foundDraggingType","originalEvent","target","nextStartX","nextDragging","updatedInternalStateValue","nextStartValue","nextEndValue","focus","preventDefault","stopPropagation","handlePointerMove","shiftX","handlePointerEnd","handleChangeByNativeInput","Number","String","data-value","onStart","onMove","onEnd","div","ref","data-type","zIndex","inputProps","isActive"],"mappings":"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"}
@@ -38,7 +38,7 @@ export interface SnackbarProps extends Omit<HTMLAttributesWithRootRef<HTMLDivEle
38
38
  offsetY?: React.CSSProperties['bottom'];
39
39
  }
40
40
  /**
41
- * @see https://vkcom.github.io/VKUI/#/Snackbar
41
+ * @see https://vkui.io/components/snackbar
42
42
  */
43
43
  export declare const Snackbar: React.FC<SnackbarProps> & {
44
44
  Basic: typeof Basic;
@@ -36,7 +36,7 @@ const animationStateClassNames = {
36
36
  exited: undefined
37
37
  };
38
38
  /**
39
- * @see https://vkcom.github.io/VKUI/#/Snackbar
39
+ * @see https://vkui.io/components/snackbar
40
40
  */ export const Snackbar = (_param)=>{
41
41
  var { placement = 'bottom-start', children, layout, action, before, after, duration = 4000, onActionClick, onClose, mode = 'default', subtitle, offsetY, getRootRef } = _param, restProps = _object_without_properties(_param, [
42
42
  "placement",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Snackbar/Snackbar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useFocusWithin } from '../../hooks/useFocusWithin';\nimport { useGlobalEscKeyDown } from '../../hooks/useGlobalEscKeyDown';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useCSSKeyframesAnimationController } from '../../lib/animation';\nimport { getRelativeBoundingClientRect } from '../../lib/dom';\nimport { UIPanGestureRecognizer } from '../../lib/touch';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Basic, type BasicProps } from './subcomponents/Basic/Basic';\nimport type { ShiftData, SnackbarPlacement } from './types';\nimport {\n getInitialShiftData,\n getMovedShiftData,\n resolveOffsetYCssStyle,\n shouldBeClosedByShiftData,\n} from './utils';\nimport styles from './Snackbar.module.css';\n\nconst placementClassNames = {\n 'top-start': styles.placementTopStart,\n 'top': styles.placementTop,\n 'top-end': styles.placementTopEnd,\n 'bottom-start': styles.placementBottomStart,\n 'bottom': styles.placementBottom,\n 'bottom-end': styles.placementBottomEnd,\n};\n\nconst animationStateClassNames = {\n enter: styles.stateEnter,\n entering: styles.stateEntering,\n entered: styles.stateEntered,\n exit: styles.stateExit,\n exiting: styles.stateExiting,\n exited: undefined,\n};\n\nexport interface SnackbarProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'role'>,\n BasicProps {\n /**\n * Задаёт расположение компонента.\n *\n * > Note: в мобильном режиме:\n * > - `\"top-start\"`/`\"top-end\"` перебивается на `\"top\"`, чтобы поведение было схожим с нативными\n * > уведомлениями;\n * > - `\"bottom\"` перебивается на `\"bottom-start\"`, чтобы избежать вызова системных\n * > функций, таких как **Pull To Refresh** и **Режим управления одной рукой**.\n * > - `\"bottom-start\"`/`\"bottom-end\"` закрываются смахиванием в любое из направлений\n * > по горизонтальной оси.\n */\n placement?: SnackbarPlacement;\n /**\n * Название кнопки действия в уведомлении\n * Не может использоваться одновременно с `subtitle`.\n */\n action?: React.ReactNode;\n /**\n * Будет вызвано при нажатии на кнопку действия.\n */\n onActionClick?: (event: React.MouseEvent) => void;\n /**\n * Время в миллисекундах, через которое плашка скроется.\n */\n duration?: number;\n /**\n * Обработчик закрытия уведомления.\n */\n onClose: () => void;\n /**\n * Величина отступа снизу. Используется для позиционирования элемента в случае, когда нежелательно, чтобы Snackbar при появлении перекрывал важные элементы интерфейса.\n */\n offsetY?: React.CSSProperties['bottom'];\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Snackbar\n */\nexport const Snackbar: React.FC<SnackbarProps> & { Basic: typeof Basic } = ({\n placement = 'bottom-start',\n children,\n layout,\n action,\n before,\n after,\n duration = 4000,\n onActionClick,\n onClose,\n mode = 'default',\n subtitle,\n offsetY,\n getRootRef,\n ...restProps\n}: SnackbarProps) => {\n const platform = usePlatform();\n\n const [open, setOpen] = React.useState(true);\n const [touched, setTouched] = React.useState(false);\n\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const rootRef = useExternRef(getRootRef);\n const focused = useFocusWithin(rootRef);\n const inRef = React.useRef<HTMLDivElement>(null);\n const panGestureRecognizer = React.useRef<UIPanGestureRecognizer | null>(null);\n\n const shiftDataRef = React.useRef<ShiftData | null>(null);\n\n const rafRef = React.useRef<ReturnType<typeof requestAnimationFrame> | null>(null);\n const closeTimeoutIdRef = React.useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const mediaQueries = useMediaQueries();\n const [animationState, animationHandlers] = useCSSKeyframesAnimationController(\n open ? 'enter' : 'exit',\n {\n onExited: onClose,\n },\n );\n\n const clearRAF = React.useCallback(() => {\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n }, []);\n\n const updateShiftAxisCSSProperties = React.useCallback(\n (x: number | null, y: number | null, direction: number | null) => {\n rafRef.current = requestAnimationFrame(() => {\n if (rootRef.current) {\n x === null\n ? rootRef.current.style.removeProperty('--vkui_internal--snackbar_shift_x')\n : rootRef.current.style.setProperty('--vkui_internal--snackbar_shift_x', `${x}px`);\n y === null\n ? rootRef.current.style.removeProperty('--vkui_internal--snackbar_shift_y')\n : rootRef.current.style.setProperty('--vkui_internal--snackbar_shift_y', `${y}px`);\n direction === null\n ? rootRef.current.style.removeProperty('--vkui_internal--snackbar_direction')\n : /* istanbul ignore next: TODO чтобы протестировать кейс, нужно мокать useMediaQueries(), чтобы перебивать mediaQueries.smallTabletPlus.matches */\n rootRef.current.style.setProperty(\n '--vkui_internal--snackbar_direction',\n `${direction}`,\n );\n }\n });\n },\n [rootRef],\n );\n\n const close = React.useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleActionClick = (event: React.MouseEvent) => {\n close();\n if (action) {\n onActionClick?.(event);\n }\n };\n\n const handleTouchStart = (event: React.UIEvent<HTMLDivElement>) => {\n panGestureRecognizer.current = new UIPanGestureRecognizer();\n panGestureRecognizer.current.setStartCoords(event.nativeEvent);\n shiftDataRef.current = getInitialShiftData(\n rootRef.current!.offsetWidth,\n rootRef.current!.offsetHeight,\n mediaQueries,\n );\n setTouched(true);\n };\n\n const handleTouchMove = (event: React.UIEvent<HTMLDivElement>) => {\n if (shiftDataRef.current && panGestureRecognizer.current) {\n panGestureRecognizer.current.setInitialTimeOnce();\n panGestureRecognizer.current.setEndCoords(event.nativeEvent);\n shiftDataRef.current = getMovedShiftData(\n placement,\n shiftDataRef.current,\n panGestureRecognizer.current.delta(),\n isRtl,\n );\n\n if (shiftDataRef.current.shifted) {\n updateShiftAxisCSSProperties(\n shiftDataRef.current.x,\n shiftDataRef.current.y,\n shiftDataRef.current.direction,\n );\n }\n }\n };\n\n const handleTouchEnd = () => {\n if (\n touched &&\n shiftDataRef.current &&\n panGestureRecognizer.current &&\n shouldBeClosedByShiftData(\n placement,\n shiftDataRef.current,\n getRelativeBoundingClientRect(rootRef.current!, inRef.current!),\n panGestureRecognizer.current.velocity(),\n isRtl,\n )\n ) {\n close();\n }\n\n setTouched(false);\n };\n\n useIsomorphicLayoutEffect(\n function closeAfterDelay() {\n if (!open || focused || touched || animationState !== 'entered') {\n return;\n }\n closeTimeoutIdRef.current = setTimeout(close, duration);\n return function preventCloseAfterDelayOnUnmount() {\n clearTimeout(closeTimeoutIdRef.current);\n };\n },\n [open, focused, touched, animationState, close, duration],\n );\n\n useIsomorphicLayoutEffect(\n function clearUserInteractionDataAfterTouchEnd() {\n if (!touched) {\n clearRAF();\n shiftDataRef.current = null;\n panGestureRecognizer.current = null;\n\n if (open) {\n updateShiftAxisCSSProperties(null, null, null);\n }\n }\n },\n [touched, open, updateShiftAxisCSSProperties, clearRAF],\n );\n\n React.useEffect(() => clearRAF, [clearRAF]);\n\n useGlobalEscKeyDown(open, close);\n\n if (animationState === 'exited') {\n return null;\n }\n\n return (\n <RootComponent\n {...restProps}\n role=\"presentation\"\n baseClassName={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n touched && styles.touched,\n placementClassNames[placement],\n animationStateClassNames[animationState],\n isRtl && styles.rtl,\n )}\n baseStyle={resolveOffsetYCssStyle(placement, offsetY)}\n getRootRef={rootRef}\n >\n <div\n role=\"alert\"\n className={styles.in}\n ref={inRef}\n // mobile\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n // desktop\n onMouseDown={handleTouchStart}\n onMouseMove={handleTouchMove}\n onMouseUp={handleTouchEnd}\n onMouseLeave={handleTouchEnd}\n {...animationHandlers}\n >\n <Basic\n mode={mode}\n layout={layout}\n before={before}\n after={after}\n subtitle={subtitle}\n action={\n action && (\n <Button\n align=\"left\"\n mode=\"link\"\n appearance={\n mode === 'dark'\n ? /* istanbul ignore next: проверяется в e2e */\n 'overlay'\n : 'accent'\n }\n size=\"s\"\n onClick={handleActionClick}\n >\n {action}\n </Button>\n )\n }\n >\n {children}\n </Basic>\n </div>\n </RootComponent>\n );\n};\n\nSnackbar.Basic = Basic;\n"],"names":["React","classNames","useConfigDirection","useExternRef","useFocusWithin","useGlobalEscKeyDown","useMediaQueries","usePlatform","useCSSKeyframesAnimationController","getRelativeBoundingClientRect","UIPanGestureRecognizer","useIsomorphicLayoutEffect","Button","RootComponent","Basic","getInitialShiftData","getMovedShiftData","resolveOffsetYCssStyle","shouldBeClosedByShiftData","placementClassNames","animationStateClassNames","enter","entering","entered","exit","exiting","exited","undefined","Snackbar","placement","children","layout","action","before","after","duration","onActionClick","onClose","mode","subtitle","offsetY","getRootRef","restProps","platform","open","setOpen","useState","touched","setTouched","direction","isRtl","rootRef","focused","inRef","useRef","panGestureRecognizer","shiftDataRef","rafRef","closeTimeoutIdRef","mediaQueries","animationState","animationHandlers","onExited","clearRAF","useCallback","current","cancelAnimationFrame","updateShiftAxisCSSProperties","x","y","requestAnimationFrame","style","removeProperty","setProperty","close","handleActionClick","event","handleTouchStart","setStartCoords","nativeEvent","offsetWidth","offsetHeight","handleTouchMove","setInitialTimeOnce","setEndCoords","delta","shifted","handleTouchEnd","velocity","closeAfterDelay","setTimeout","preventCloseAfterDelayOnUnmount","clearTimeout","clearUserInteractionDataAfterTouchEnd","useEffect","role","baseClassName","baseStyle","div","className","ref","onTouchStart","onTouchMove","onTouchEnd","onMouseDown","onMouseMove","onMouseUp","onMouseLeave","align","appearance","size","onClick"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Snackbar/Snackbar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useFocusWithin } from '../../hooks/useFocusWithin';\nimport { useGlobalEscKeyDown } from '../../hooks/useGlobalEscKeyDown';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useCSSKeyframesAnimationController } from '../../lib/animation';\nimport { getRelativeBoundingClientRect } from '../../lib/dom';\nimport { UIPanGestureRecognizer } from '../../lib/touch';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Basic, type BasicProps } from './subcomponents/Basic/Basic';\nimport type { ShiftData, SnackbarPlacement } from './types';\nimport {\n getInitialShiftData,\n getMovedShiftData,\n resolveOffsetYCssStyle,\n shouldBeClosedByShiftData,\n} from './utils';\nimport styles from './Snackbar.module.css';\n\nconst placementClassNames = {\n 'top-start': styles.placementTopStart,\n 'top': styles.placementTop,\n 'top-end': styles.placementTopEnd,\n 'bottom-start': styles.placementBottomStart,\n 'bottom': styles.placementBottom,\n 'bottom-end': styles.placementBottomEnd,\n};\n\nconst animationStateClassNames = {\n enter: styles.stateEnter,\n entering: styles.stateEntering,\n entered: styles.stateEntered,\n exit: styles.stateExit,\n exiting: styles.stateExiting,\n exited: undefined,\n};\n\nexport interface SnackbarProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'role'>,\n BasicProps {\n /**\n * Задаёт расположение компонента.\n *\n * > Note: в мобильном режиме:\n * > - `\"top-start\"`/`\"top-end\"` перебивается на `\"top\"`, чтобы поведение было схожим с нативными\n * > уведомлениями;\n * > - `\"bottom\"` перебивается на `\"bottom-start\"`, чтобы избежать вызова системных\n * > функций, таких как **Pull To Refresh** и **Режим управления одной рукой**.\n * > - `\"bottom-start\"`/`\"bottom-end\"` закрываются смахиванием в любое из направлений\n * > по горизонтальной оси.\n */\n placement?: SnackbarPlacement;\n /**\n * Название кнопки действия в уведомлении\n * Не может использоваться одновременно с `subtitle`.\n */\n action?: React.ReactNode;\n /**\n * Будет вызвано при нажатии на кнопку действия.\n */\n onActionClick?: (event: React.MouseEvent) => void;\n /**\n * Время в миллисекундах, через которое плашка скроется.\n */\n duration?: number;\n /**\n * Обработчик закрытия уведомления.\n */\n onClose: () => void;\n /**\n * Величина отступа снизу. Используется для позиционирования элемента в случае, когда нежелательно, чтобы Snackbar при появлении перекрывал важные элементы интерфейса.\n */\n offsetY?: React.CSSProperties['bottom'];\n}\n\n/**\n * @see https://vkui.io/components/snackbar\n */\nexport const Snackbar: React.FC<SnackbarProps> & { Basic: typeof Basic } = ({\n placement = 'bottom-start',\n children,\n layout,\n action,\n before,\n after,\n duration = 4000,\n onActionClick,\n onClose,\n mode = 'default',\n subtitle,\n offsetY,\n getRootRef,\n ...restProps\n}: SnackbarProps) => {\n const platform = usePlatform();\n\n const [open, setOpen] = React.useState(true);\n const [touched, setTouched] = React.useState(false);\n\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const rootRef = useExternRef(getRootRef);\n const focused = useFocusWithin(rootRef);\n const inRef = React.useRef<HTMLDivElement>(null);\n const panGestureRecognizer = React.useRef<UIPanGestureRecognizer | null>(null);\n\n const shiftDataRef = React.useRef<ShiftData | null>(null);\n\n const rafRef = React.useRef<ReturnType<typeof requestAnimationFrame> | null>(null);\n const closeTimeoutIdRef = React.useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const mediaQueries = useMediaQueries();\n const [animationState, animationHandlers] = useCSSKeyframesAnimationController(\n open ? 'enter' : 'exit',\n {\n onExited: onClose,\n },\n );\n\n const clearRAF = React.useCallback(() => {\n if (rafRef.current !== null) {\n cancelAnimationFrame(rafRef.current);\n rafRef.current = null;\n }\n }, []);\n\n const updateShiftAxisCSSProperties = React.useCallback(\n (x: number | null, y: number | null, direction: number | null) => {\n rafRef.current = requestAnimationFrame(() => {\n if (rootRef.current) {\n x === null\n ? rootRef.current.style.removeProperty('--vkui_internal--snackbar_shift_x')\n : rootRef.current.style.setProperty('--vkui_internal--snackbar_shift_x', `${x}px`);\n y === null\n ? rootRef.current.style.removeProperty('--vkui_internal--snackbar_shift_y')\n : rootRef.current.style.setProperty('--vkui_internal--snackbar_shift_y', `${y}px`);\n direction === null\n ? rootRef.current.style.removeProperty('--vkui_internal--snackbar_direction')\n : /* istanbul ignore next: TODO чтобы протестировать кейс, нужно мокать useMediaQueries(), чтобы перебивать mediaQueries.smallTabletPlus.matches */\n rootRef.current.style.setProperty(\n '--vkui_internal--snackbar_direction',\n `${direction}`,\n );\n }\n });\n },\n [rootRef],\n );\n\n const close = React.useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleActionClick = (event: React.MouseEvent) => {\n close();\n if (action) {\n onActionClick?.(event);\n }\n };\n\n const handleTouchStart = (event: React.UIEvent<HTMLDivElement>) => {\n panGestureRecognizer.current = new UIPanGestureRecognizer();\n panGestureRecognizer.current.setStartCoords(event.nativeEvent);\n shiftDataRef.current = getInitialShiftData(\n rootRef.current!.offsetWidth,\n rootRef.current!.offsetHeight,\n mediaQueries,\n );\n setTouched(true);\n };\n\n const handleTouchMove = (event: React.UIEvent<HTMLDivElement>) => {\n if (shiftDataRef.current && panGestureRecognizer.current) {\n panGestureRecognizer.current.setInitialTimeOnce();\n panGestureRecognizer.current.setEndCoords(event.nativeEvent);\n shiftDataRef.current = getMovedShiftData(\n placement,\n shiftDataRef.current,\n panGestureRecognizer.current.delta(),\n isRtl,\n );\n\n if (shiftDataRef.current.shifted) {\n updateShiftAxisCSSProperties(\n shiftDataRef.current.x,\n shiftDataRef.current.y,\n shiftDataRef.current.direction,\n );\n }\n }\n };\n\n const handleTouchEnd = () => {\n if (\n touched &&\n shiftDataRef.current &&\n panGestureRecognizer.current &&\n shouldBeClosedByShiftData(\n placement,\n shiftDataRef.current,\n getRelativeBoundingClientRect(rootRef.current!, inRef.current!),\n panGestureRecognizer.current.velocity(),\n isRtl,\n )\n ) {\n close();\n }\n\n setTouched(false);\n };\n\n useIsomorphicLayoutEffect(\n function closeAfterDelay() {\n if (!open || focused || touched || animationState !== 'entered') {\n return;\n }\n closeTimeoutIdRef.current = setTimeout(close, duration);\n return function preventCloseAfterDelayOnUnmount() {\n clearTimeout(closeTimeoutIdRef.current);\n };\n },\n [open, focused, touched, animationState, close, duration],\n );\n\n useIsomorphicLayoutEffect(\n function clearUserInteractionDataAfterTouchEnd() {\n if (!touched) {\n clearRAF();\n shiftDataRef.current = null;\n panGestureRecognizer.current = null;\n\n if (open) {\n updateShiftAxisCSSProperties(null, null, null);\n }\n }\n },\n [touched, open, updateShiftAxisCSSProperties, clearRAF],\n );\n\n React.useEffect(() => clearRAF, [clearRAF]);\n\n useGlobalEscKeyDown(open, close);\n\n if (animationState === 'exited') {\n return null;\n }\n\n return (\n <RootComponent\n {...restProps}\n role=\"presentation\"\n baseClassName={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n touched && styles.touched,\n placementClassNames[placement],\n animationStateClassNames[animationState],\n isRtl && styles.rtl,\n )}\n baseStyle={resolveOffsetYCssStyle(placement, offsetY)}\n getRootRef={rootRef}\n >\n <div\n role=\"alert\"\n className={styles.in}\n ref={inRef}\n // mobile\n onTouchStart={handleTouchStart}\n onTouchMove={handleTouchMove}\n onTouchEnd={handleTouchEnd}\n // desktop\n onMouseDown={handleTouchStart}\n onMouseMove={handleTouchMove}\n onMouseUp={handleTouchEnd}\n onMouseLeave={handleTouchEnd}\n {...animationHandlers}\n >\n <Basic\n mode={mode}\n layout={layout}\n before={before}\n after={after}\n subtitle={subtitle}\n action={\n action && (\n <Button\n align=\"left\"\n mode=\"link\"\n appearance={\n mode === 'dark'\n ? /* istanbul ignore next: проверяется в e2e */\n 'overlay'\n : 'accent'\n }\n size=\"s\"\n onClick={handleActionClick}\n >\n {action}\n </Button>\n )\n }\n >\n {children}\n </Basic>\n </div>\n </RootComponent>\n );\n};\n\nSnackbar.Basic = Basic;\n"],"names":["React","classNames","useConfigDirection","useExternRef","useFocusWithin","useGlobalEscKeyDown","useMediaQueries","usePlatform","useCSSKeyframesAnimationController","getRelativeBoundingClientRect","UIPanGestureRecognizer","useIsomorphicLayoutEffect","Button","RootComponent","Basic","getInitialShiftData","getMovedShiftData","resolveOffsetYCssStyle","shouldBeClosedByShiftData","placementClassNames","animationStateClassNames","enter","entering","entered","exit","exiting","exited","undefined","Snackbar","placement","children","layout","action","before","after","duration","onActionClick","onClose","mode","subtitle","offsetY","getRootRef","restProps","platform","open","setOpen","useState","touched","setTouched","direction","isRtl","rootRef","focused","inRef","useRef","panGestureRecognizer","shiftDataRef","rafRef","closeTimeoutIdRef","mediaQueries","animationState","animationHandlers","onExited","clearRAF","useCallback","current","cancelAnimationFrame","updateShiftAxisCSSProperties","x","y","requestAnimationFrame","style","removeProperty","setProperty","close","handleActionClick","event","handleTouchStart","setStartCoords","nativeEvent","offsetWidth","offsetHeight","handleTouchMove","setInitialTimeOnce","setEndCoords","delta","shifted","handleTouchEnd","velocity","closeAfterDelay","setTimeout","preventCloseAfterDelayOnUnmount","clearTimeout","clearUserInteractionDataAfterTouchEnd","useEffect","role","baseClassName","baseStyle","div","className","ref","onTouchStart","onTouchMove","onTouchEnd","onMouseDown","onMouseMove","onMouseUp","onMouseLeave","align","appearance","size","onClick"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAAQ,oCAAiC;AACpE,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,cAAc,QAAQ,gCAA6B;AAC5D,SAASC,mBAAmB,QAAQ,qCAAkC;AACtE,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,kCAAkC,QAAQ,+BAAsB;AACzE,SAASC,6BAA6B,QAAQ,mBAAgB;AAC9D,SAASC,sBAAsB,QAAQ,2BAAkB;AACzD,SAASC,yBAAyB,QAAQ,yCAAsC;AAEhF,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,KAAK,QAAyB,iCAA8B;AAErE,SACEC,mBAAmB,EACnBC,iBAAiB,EACjBC,sBAAsB,EACtBC,yBAAyB,QACpB,aAAU;AAGjB,MAAMC,sBAAsB;IAC1B,WAAW;IACX,KAAK;IACL,SAAS;IACT,cAAc;IACd,QAAQ;IACR,YAAY;AACd;AAEA,MAAMC,2BAA2B;IAC/BC,KAAK;IACLC,QAAQ;IACRC,OAAO;IACPC,IAAI;IACJC,OAAO;IACPC,QAAQC;AACV;AAwCA;;CAEC,GACD,OAAO,MAAMC,WAA8D;QAAC,EAC1EC,YAAY,cAAc,EAC1BC,QAAQ,EACRC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,WAAW,IAAI,EACfC,aAAa,EACbC,OAAO,EACPC,OAAO,SAAS,EAChBC,QAAQ,EACRC,OAAO,EACPC,UAAU,EAEI,WADXC;QAbHb;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWpC;IAEjB,MAAM,CAACqC,MAAMC,QAAQ,GAAG7C,MAAM8C,QAAQ,CAAC;IACvC,MAAM,CAACC,SAASC,WAAW,GAAGhD,MAAM8C,QAAQ,CAAC;IAE7C,MAAMG,YAAY/C;IAClB,MAAMgD,QAAQD,cAAc;IAE5B,MAAME,UAAUhD,aAAasC;IAC7B,MAAMW,UAAUhD,eAAe+C;IAC/B,MAAME,QAAQrD,MAAMsD,MAAM,CAAiB;IAC3C,MAAMC,uBAAuBvD,MAAMsD,MAAM,CAAgC;IAEzE,MAAME,eAAexD,MAAMsD,MAAM,CAAmB;IAEpD,MAAMG,SAASzD,MAAMsD,MAAM,CAAkD;IAC7E,MAAMI,oBAAoB1D,MAAMsD,MAAM,CAA4C3B;IAClF,MAAMgC,eAAerD;IACrB,MAAM,CAACsD,gBAAgBC,kBAAkB,GAAGrD,mCAC1CoC,OAAO,UAAU,QACjB;QACEkB,UAAUzB;IACZ;IAGF,MAAM0B,WAAW/D,MAAMgE,WAAW,CAAC;QACjC,IAAIP,OAAOQ,OAAO,KAAK,MAAM;YAC3BC,qBAAqBT,OAAOQ,OAAO;YACnCR,OAAOQ,OAAO,GAAG;QACnB;IACF,GAAG,EAAE;IAEL,MAAME,+BAA+BnE,MAAMgE,WAAW,CACpD,CAACI,GAAkBC,GAAkBpB;QACnCQ,OAAOQ,OAAO,GAAGK,sBAAsB;YACrC,IAAInB,QAAQc,OAAO,EAAE;gBACnBG,MAAM,OACFjB,QAAQc,OAAO,CAACM,KAAK,CAACC,cAAc,CAAC,uCACrCrB,QAAQc,OAAO,CAACM,KAAK,CAACE,WAAW,CAAC,qCAAqC,GAAGL,EAAE,EAAE,CAAC;gBACnFC,MAAM,OACFlB,QAAQc,OAAO,CAACM,KAAK,CAACC,cAAc,CAAC,uCACrCrB,QAAQc,OAAO,CAACM,KAAK,CAACE,WAAW,CAAC,qCAAqC,GAAGJ,EAAE,EAAE,CAAC;gBACnFpB,cAAc,OACVE,QAAQc,OAAO,CAACM,KAAK,CAACC,cAAc,CAAC,yCACrC,+IAA+I,GAC/IrB,QAAQc,OAAO,CAACM,KAAK,CAACE,WAAW,CAC/B,uCACA,GAAGxB,WAAW;YAEtB;QACF;IACF,GACA;QAACE;KAAQ;IAGX,MAAMuB,QAAQ1E,MAAMgE,WAAW,CAAC;QAC9BnB,QAAQ;IACV,GAAG,EAAE;IAEL,MAAM8B,oBAAoB,CAACC;QACzBF;QACA,IAAI1C,QAAQ;YACVI,0BAAAA,oCAAAA,cAAgBwC;QAClB;IACF;IAEA,MAAMC,mBAAmB,CAACD;QACxBrB,qBAAqBU,OAAO,GAAG,IAAIvD;QACnC6C,qBAAqBU,OAAO,CAACa,cAAc,CAACF,MAAMG,WAAW;QAC7DvB,aAAaS,OAAO,GAAGlD,oBACrBoC,QAAQc,OAAO,CAAEe,WAAW,EAC5B7B,QAAQc,OAAO,CAAEgB,YAAY,EAC7BtB;QAEFX,WAAW;IACb;IAEA,MAAMkC,kBAAkB,CAACN;QACvB,IAAIpB,aAAaS,OAAO,IAAIV,qBAAqBU,OAAO,EAAE;YACxDV,qBAAqBU,OAAO,CAACkB,kBAAkB;YAC/C5B,qBAAqBU,OAAO,CAACmB,YAAY,CAACR,MAAMG,WAAW;YAC3DvB,aAAaS,OAAO,GAAGjD,kBACrBa,WACA2B,aAAaS,OAAO,EACpBV,qBAAqBU,OAAO,CAACoB,KAAK,IAClCnC;YAGF,IAAIM,aAAaS,OAAO,CAACqB,OAAO,EAAE;gBAChCnB,6BACEX,aAAaS,OAAO,CAACG,CAAC,EACtBZ,aAAaS,OAAO,CAACI,CAAC,EACtBb,aAAaS,OAAO,CAAChB,SAAS;YAElC;QACF;IACF;IAEA,MAAMsC,iBAAiB;QACrB,IACExC,WACAS,aAAaS,OAAO,IACpBV,qBAAqBU,OAAO,IAC5B/C,0BACEW,WACA2B,aAAaS,OAAO,EACpBxD,8BAA8B0C,QAAQc,OAAO,EAAGZ,MAAMY,OAAO,GAC7DV,qBAAqBU,OAAO,CAACuB,QAAQ,IACrCtC,QAEF;YACAwB;QACF;QAEA1B,WAAW;IACb;IAEArC,0BACE,SAAS8E;QACP,IAAI,CAAC7C,QAAQQ,WAAWL,WAAWa,mBAAmB,WAAW;YAC/D;QACF;QACAF,kBAAkBO,OAAO,GAAGyB,WAAWhB,OAAOvC;QAC9C,OAAO,SAASwD;YACdC,aAAalC,kBAAkBO,OAAO;QACxC;IACF,GACA;QAACrB;QAAMQ;QAASL;QAASa;QAAgBc;QAAOvC;KAAS;IAG3DxB,0BACE,SAASkF;QACP,IAAI,CAAC9C,SAAS;YACZgB;YACAP,aAAaS,OAAO,GAAG;YACvBV,qBAAqBU,OAAO,GAAG;YAE/B,IAAIrB,MAAM;gBACRuB,6BAA6B,MAAM,MAAM;YAC3C;QACF;IACF,GACA;QAACpB;QAASH;QAAMuB;QAA8BJ;KAAS;IAGzD/D,MAAM8F,SAAS,CAAC,IAAM/B,UAAU;QAACA;KAAS;IAE1C1D,oBAAoBuC,MAAM8B;IAE1B,IAAId,mBAAmB,UAAU;QAC/B,OAAO;IACT;IAEA,qBACE,KAAC/C,uDACK6B;QACJqD,MAAK;QACLC,eAAe/F,iCAEb0C,aAAa,8BACbI,oCACA5B,mBAAmB,CAACU,UAAU,EAC9BT,wBAAwB,CAACwC,eAAe,EACxCV;QAEF+C,WAAWhF,uBAAuBY,WAAWW;QAC7CC,YAAYU;kBAEZ,cAAA,KAAC+C;YACCH,MAAK;YACLI,SAAS;YACTC,KAAK/C;YACL,SAAS;YACTgD,cAAcxB;YACdyB,aAAapB;YACbqB,YAAYhB;YACZ,UAAU;YACViB,aAAa3B;YACb4B,aAAavB;YACbwB,WAAWnB;YACXoB,cAAcpB;WACV1B;sBAEJ,cAAA,KAAC/C;gBACCwB,MAAMA;gBACNP,QAAQA;gBACRE,QAAQA;gBACRC,OAAOA;gBACPK,UAAUA;gBACVP,QACEA,wBACE,KAACpB;oBACCgG,OAAM;oBACNtE,MAAK;oBACLuE,YACEvE,SAAS,SACL,2CAA2C,GAC3C,YACA;oBAENwE,MAAK;oBACLC,SAASpC;8BAER3C;;0BAKNF;;;;AAKX,EAAE;AAEFF,SAASd,KAAK,GAAGA"}
@@ -17,7 +17,7 @@ export interface SpacingProps extends HTMLAttributesWithRootRef<HTMLDivElement>
17
17
  children?: React.ReactNode;
18
18
  }
19
19
  /**
20
- * @see https://vkcom.github.io/VKUI/#/Spacing
20
+ * @see https://vkui.io/components/spacing
21
21
  */
22
22
  export declare const Spacing: ({ size, ...restProps }: SpacingProps) => React.ReactNode;
23
23
  //# sourceMappingURL=Spacing.d.ts.map
@@ -8,7 +8,7 @@ import { resolveSpacingSize } from "../../lib/spacings/sizes.js";
8
8
  import { RootComponent } from "../RootComponent/RootComponent.js";
9
9
  export const CUSTOM_CSS_TOKEN_FOR_USER_GAP = '--vkui_internal--spacing_size';
10
10
  /**
11
- * @see https://vkcom.github.io/VKUI/#/Spacing
11
+ * @see https://vkui.io/components/spacing
12
12
  */ export const Spacing = (_param)=>{
13
13
  var { size = 'm' } = _param, restProps = _object_without_properties(_param, [
14
14
  "size"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Spacing/Spacing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { resolveSpacingSize, type SpacingSizeProp } from '../../lib/spacings/sizes';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Spacing.module.css';\n\nexport const CUSTOM_CSS_TOKEN_FOR_USER_GAP = '--vkui_internal--spacing_size';\n\nexport interface SpacingProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Высота спэйсинга.\n *\n * Принимает значения дизайн-системы, числовые значения и css-переменные.\n */\n size?: SpacingSizeProp;\n /**\n * @deprecated 7.0.0.\n *\n * Свойство устарело и будет удалено в v8.\n */\n children?: React.ReactNode;\n}\n/**\n * @see https://vkcom.github.io/VKUI/#/Spacing\n */\nexport const Spacing = ({ size = 'm', ...restProps }: SpacingProps): React.ReactNode => {\n const [spacingSizeClassName, spacingSizeStyle] = resolveSpacingSize(\n CUSTOM_CSS_TOKEN_FOR_USER_GAP,\n size,\n );\n return (\n <RootComponent\n {...restProps}\n baseStyle={spacingSizeStyle}\n baseClassName={classNames(styles.host, spacingSizeClassName)}\n />\n );\n};\n"],"names":["React","classNames","resolveSpacingSize","RootComponent","CUSTOM_CSS_TOKEN_FOR_USER_GAP","Spacing","size","restProps","spacingSizeClassName","spacingSizeStyle","baseStyle","baseClassName"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAA8B,8BAA2B;AAEpF,SAASC,aAAa,QAAQ,oCAAiC;AAG/D,OAAO,MAAMC,gCAAgC,gCAAgC;AAgB7E;;CAEC,GACD,OAAO,MAAMC,UAAU;QAAC,EAAEC,OAAO,GAAG,EAA8B,WAAzBC;QAAfD;;IACxB,MAAM,CAACE,sBAAsBC,iBAAiB,GAAGP,mBAC/CE,+BACAE;IAEF,qBACE,KAACH,uDACKI;QACJG,WAAWD;QACXE,eAAeV,gCAAwBO;;AAG7C,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/Spacing/Spacing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { resolveSpacingSize, type SpacingSizeProp } from '../../lib/spacings/sizes';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Spacing.module.css';\n\nexport const CUSTOM_CSS_TOKEN_FOR_USER_GAP = '--vkui_internal--spacing_size';\n\nexport interface SpacingProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Высота спэйсинга.\n *\n * Принимает значения дизайн-системы, числовые значения и css-переменные.\n */\n size?: SpacingSizeProp;\n /**\n * @deprecated 7.0.0.\n *\n * Свойство устарело и будет удалено в v8.\n */\n children?: React.ReactNode;\n}\n/**\n * @see https://vkui.io/components/spacing\n */\nexport const Spacing = ({ size = 'm', ...restProps }: SpacingProps): React.ReactNode => {\n const [spacingSizeClassName, spacingSizeStyle] = resolveSpacingSize(\n CUSTOM_CSS_TOKEN_FOR_USER_GAP,\n size,\n );\n return (\n <RootComponent\n {...restProps}\n baseStyle={spacingSizeStyle}\n baseClassName={classNames(styles.host, spacingSizeClassName)}\n />\n );\n};\n"],"names":["React","classNames","resolveSpacingSize","RootComponent","CUSTOM_CSS_TOKEN_FOR_USER_GAP","Spacing","size","restProps","spacingSizeClassName","spacingSizeStyle","baseStyle","baseClassName"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAA8B,8BAA2B;AAEpF,SAASC,aAAa,QAAQ,oCAAiC;AAG/D,OAAO,MAAMC,gCAAgC,gCAAgC;AAgB7E;;CAEC,GACD,OAAO,MAAMC,UAAU;QAAC,EAAEC,OAAO,GAAG,EAA8B,WAAzBC;QAAfD;;IACxB,MAAM,CAACE,sBAAsBC,iBAAiB,GAAGP,mBAC/CE,+BACAE;IAEF,qBACE,KAACH,uDACKI;QACJG,WAAWD;QACXE,eAAeV,gCAAwBO;;AAG7C,EAAE"}
@@ -19,7 +19,7 @@ export interface SpinnerProps extends HTMLAttributesWithRootRef<HTMLSpanElement>
19
19
  visibilityDelay?: number;
20
20
  }
21
21
  /**
22
- * @see https://vkcom.github.io/VKUI/#/Spinner
22
+ * @see https://vkui.io/components/spinner
23
23
  */
24
24
  export declare const Spinner: React.MemoExoticComponent<({ size, children, disableAnimation, noColor, visibilityDelay, ...restProps }: SpinnerProps) => import("react/jsx-runtime").JSX.Element>;
25
25
  //# sourceMappingURL=Spinner.d.ts.map
@@ -17,7 +17,7 @@ const spinnerIconMap = {
17
17
  xl: Icon44Spinner
18
18
  };
19
19
  /**
20
- * @see https://vkcom.github.io/VKUI/#/Spinner
20
+ * @see https://vkui.io/components/spinner
21
21
  */ // eslint-disable-next-line react/display-name -- используется defineComponentDisplayNames
22
22
  export const Spinner = /*#__PURE__*/ React.memo((_param)=>{
23
23
  var { size = 'm', children = 'Загружается...', disableAnimation = false, noColor = false, visibilityDelay } = _param, restProps = _object_without_properties(_param, [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport { animationVisibilityDelayStyles } from '../../styles/animationVisibilityDelay';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { SpinnerAnimation } from './SpinnerAnimation';\nimport { Icon16Spinner, Icon24Spinner, Icon32Spinner, Icon44Spinner } from './icons';\nimport styles from './Spinner.module.css';\nimport stylesDelay from '../../styles/animationVisibilityDelay.module.css';\n\nconst spinnerIconMap = {\n s: Icon16Spinner,\n m: Icon24Spinner,\n l: Icon32Spinner,\n xl: Icon44Spinner,\n};\n\nexport interface SpinnerProps extends HTMLAttributesWithRootRef<HTMLSpanElement> {\n /**\n * Размер спиннера.\n */\n size?: 's' | 'm' | 'l' | 'xl';\n /**\n * Отключение анимации.\n */\n disableAnimation?: boolean;\n /**\n * Задать цвет можно будет через свойство color родителя.\n */\n noColor?: boolean;\n /**\n * Задерживает отрисовку элемента на заданное количество миллисекунд.\n */\n visibilityDelay?: number;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Spinner\n */\n// eslint-disable-next-line react/display-name -- используется defineComponentDisplayNames\nexport const Spinner = React.memo(\n ({\n size = 'm',\n children = 'Загружается...',\n disableAnimation = false,\n noColor = false,\n visibilityDelay,\n ...restProps\n }: SpinnerProps) => {\n const SpinnerIcon = spinnerIconMap[size];\n\n return (\n <RootComponent\n Component=\"span\"\n role=\"status\"\n {...restProps}\n baseClassName={classNames(\n styles.host,\n noColor && styles.noColor,\n visibilityDelay && stylesDelay.visibilityDelay,\n )}\n baseStyle={animationVisibilityDelayStyles(visibilityDelay)}\n >\n <SpinnerIcon>{disableAnimation ? null : <SpinnerAnimation size={size} />}</SpinnerIcon>\n {hasReactNode(children) && <VisuallyHidden>{children}</VisuallyHidden>}\n </RootComponent>\n );\n },\n);\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(Spinner, 'Spinner');\n}\n"],"names":["React","classNames","hasReactNode","defineComponentDisplayNames","animationVisibilityDelayStyles","RootComponent","VisuallyHidden","SpinnerAnimation","Icon16Spinner","Icon24Spinner","Icon32Spinner","Icon44Spinner","spinnerIconMap","s","m","l","xl","Spinner","memo","size","children","disableAnimation","noColor","visibilityDelay","restProps","SpinnerIcon","Component","role","baseClassName","baseStyle","process","env","NODE_ENV"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,2BAA2B,QAAQ,iDAA8C;AAC1F,SAASC,8BAA8B,QAAQ,2CAAwC;AAEvF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,cAAc,QAAQ,sCAAmC;AAClE,SAASC,gBAAgB,QAAQ,wBAAqB;AACtD,SAASC,aAAa,EAAEC,aAAa,EAAEC,aAAa,EAAEC,aAAa,QAAQ,aAAU;AAIrF,MAAMC,iBAAiB;IACrBC,GAAGL;IACHM,GAAGL;IACHM,GAAGL;IACHM,IAAIL;AACN;AAqBA;;CAEC,GACD,0FAA0F;AAC1F,OAAO,MAAMM,wBAAUjB,MAAMkB,IAAI,CAC/B;QAAC,EACCC,OAAO,GAAG,EACVC,WAAW,gBAAgB,EAC3BC,mBAAmB,KAAK,EACxBC,UAAU,KAAK,EACfC,eAAe,EAEF,WADVC;QALHL;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,cAAcb,cAAc,CAACO,KAAK;IAExC,qBACE,MAACd;QACCqB,WAAU;QACVC,MAAK;OACDH;QACJI,eAAe3B,gCAEbqB,mCACAC;QAEFM,WAAWzB,+BAA+BmB;;0BAE1C,KAACE;0BAAaJ,mBAAmB,qBAAO,KAACd;oBAAiBY,MAAMA;;;YAC/DjB,aAAakB,2BAAa,KAACd;0BAAgBc;;;;AAGlD,GACA;AAEF,IAAIU,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzC7B,4BAA4Bc,SAAS;AACvC"}
1
+ {"version":3,"sources":["../../../src/components/Spinner/Spinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport { animationVisibilityDelayStyles } from '../../styles/animationVisibilityDelay';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { SpinnerAnimation } from './SpinnerAnimation';\nimport { Icon16Spinner, Icon24Spinner, Icon32Spinner, Icon44Spinner } from './icons';\nimport styles from './Spinner.module.css';\nimport stylesDelay from '../../styles/animationVisibilityDelay.module.css';\n\nconst spinnerIconMap = {\n s: Icon16Spinner,\n m: Icon24Spinner,\n l: Icon32Spinner,\n xl: Icon44Spinner,\n};\n\nexport interface SpinnerProps extends HTMLAttributesWithRootRef<HTMLSpanElement> {\n /**\n * Размер спиннера.\n */\n size?: 's' | 'm' | 'l' | 'xl';\n /**\n * Отключение анимации.\n */\n disableAnimation?: boolean;\n /**\n * Задать цвет можно будет через свойство color родителя.\n */\n noColor?: boolean;\n /**\n * Задерживает отрисовку элемента на заданное количество миллисекунд.\n */\n visibilityDelay?: number;\n}\n\n/**\n * @see https://vkui.io/components/spinner\n */\n// eslint-disable-next-line react/display-name -- используется defineComponentDisplayNames\nexport const Spinner = React.memo(\n ({\n size = 'm',\n children = 'Загружается...',\n disableAnimation = false,\n noColor = false,\n visibilityDelay,\n ...restProps\n }: SpinnerProps) => {\n const SpinnerIcon = spinnerIconMap[size];\n\n return (\n <RootComponent\n Component=\"span\"\n role=\"status\"\n {...restProps}\n baseClassName={classNames(\n styles.host,\n noColor && styles.noColor,\n visibilityDelay && stylesDelay.visibilityDelay,\n )}\n baseStyle={animationVisibilityDelayStyles(visibilityDelay)}\n >\n <SpinnerIcon>{disableAnimation ? null : <SpinnerAnimation size={size} />}</SpinnerIcon>\n {hasReactNode(children) && <VisuallyHidden>{children}</VisuallyHidden>}\n </RootComponent>\n );\n },\n);\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(Spinner, 'Spinner');\n}\n"],"names":["React","classNames","hasReactNode","defineComponentDisplayNames","animationVisibilityDelayStyles","RootComponent","VisuallyHidden","SpinnerAnimation","Icon16Spinner","Icon24Spinner","Icon32Spinner","Icon44Spinner","spinnerIconMap","s","m","l","xl","Spinner","memo","size","children","disableAnimation","noColor","visibilityDelay","restProps","SpinnerIcon","Component","role","baseClassName","baseStyle","process","env","NODE_ENV"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,2BAA2B,QAAQ,iDAA8C;AAC1F,SAASC,8BAA8B,QAAQ,2CAAwC;AAEvF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,cAAc,QAAQ,sCAAmC;AAClE,SAASC,gBAAgB,QAAQ,wBAAqB;AACtD,SAASC,aAAa,EAAEC,aAAa,EAAEC,aAAa,EAAEC,aAAa,QAAQ,aAAU;AAIrF,MAAMC,iBAAiB;IACrBC,GAAGL;IACHM,GAAGL;IACHM,GAAGL;IACHM,IAAIL;AACN;AAqBA;;CAEC,GACD,0FAA0F;AAC1F,OAAO,MAAMM,wBAAUjB,MAAMkB,IAAI,CAC/B;QAAC,EACCC,OAAO,GAAG,EACVC,WAAW,gBAAgB,EAC3BC,mBAAmB,KAAK,EACxBC,UAAU,KAAK,EACfC,eAAe,EAEF,WADVC;QALHL;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,cAAcb,cAAc,CAACO,KAAK;IAExC,qBACE,MAACd;QACCqB,WAAU;QACVC,MAAK;OACDH;QACJI,eAAe3B,gCAEbqB,mCACAC;QAEFM,WAAWzB,+BAA+BmB;;0BAE1C,KAACE;0BAAaJ,mBAAmB,qBAAO,KAACd;oBAAiBY,MAAMA;;;YAC/DjB,aAAakB,2BAAa,KAACd;0BAAgBc;;;;AAGlD,GACA;AAEF,IAAIU,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzC7B,4BAA4Bc,SAAS;AACvC"}
@@ -31,7 +31,7 @@ export interface SplitColProps extends HTMLAttributesWithRootRef<HTMLDivElement>
31
31
  stretchedOnMobile?: boolean;
32
32
  }
33
33
  /**
34
- * @see https://vkcom.github.io/VKUI/#/SplitCol
34
+ * @see https://vkui.io/components/split-layout#split-col
35
35
  */
36
36
  export declare const SplitCol: (props: SplitColProps) => React.ReactNode;
37
37
  //# sourceMappingURL=SplitCol.d.ts.map
@@ -46,7 +46,7 @@ function useTransitionAnimate(animateProp) {
46
46
  return animate;
47
47
  }
48
48
  /**
49
- * @see https://vkcom.github.io/VKUI/#/SplitCol
49
+ * @see https://vkui.io/components/split-layout#split-col
50
50
  */ export const SplitCol = (props)=>{
51
51
  const { children, width, maxWidth, minWidth, animate: animateProp, fixed, autoSpaced, stretchedOnMobile, getRootRef } = props, restProps = _object_without_properties(props, [
52
52
  "children",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SplitCol/SplitCol.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { ViewWidth, viewWidthToClassName } from '../../lib/adaptivity';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../../lib/matchMedia';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from './SplitColContext';\nimport styles from './SplitCol.module.css';\n\nconst breakpointClassNames = {\n none: classNames(styles.viewWidthNone, 'vkuiInternalSplitCol--viewWidth-none'),\n tabletMinus: styles.viewWidthTabletMinus,\n smallTabletPlus: styles.viewWidthSmallTabletPlus,\n tabletPlus: 'vkuiInternalSplitCol--viewWidth-tabletPlus',\n};\n\nfunction useTransitionAnimate(animateProp?: boolean) {\n const { viewWidth } = useAdaptivity();\n const [animate, setAnimate] = React.useState(Boolean(animateProp));\n const mediaQueries = useMediaQueries();\n\n React.useEffect(() => {\n if (animateProp !== undefined) {\n setAnimate(animateProp);\n return;\n }\n\n if (viewWidth !== undefined) {\n setAnimate(viewWidth < ViewWidth.TABLET);\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const listener = () => setAnimate(!mediaQueries.smallTabletPlus.matches);\n listener();\n\n matchMediaListAddListener(mediaQueries.smallTabletPlus, listener);\n return () => {\n matchMediaListRemoveListener(mediaQueries.smallTabletPlus, listener);\n };\n }, [animateProp, viewWidth, mediaQueries]);\n\n return animate;\n}\n\nexport interface SplitColProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Ширина колонки.\n */\n width?: number | string;\n /**\n * Максимальная ширина колонки.\n */\n maxWidth?: number | string;\n /**\n * Минимальная ширина колонки.\n */\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации.\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`.\n */\n autoSpaced?: boolean;\n /**\n * Фиксированное положение колонки.\n */\n fixed?: boolean;\n /**\n * Если true, то ширина контейнера становится 100% при ширине меньше чем `tablet`.\n */\n stretchedOnMobile?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitCol\n */\nexport const SplitCol = (props: SplitColProps): React.ReactNode => {\n const {\n children,\n width,\n maxWidth,\n minWidth,\n animate: animateProp,\n fixed,\n autoSpaced,\n stretchedOnMobile,\n getRootRef,\n ...restProps\n } = props;\n const baseRef = useExternRef(getRootRef);\n const { viewWidth } = useAdaptivity();\n const animate = useTransitionAnimate(animateProp);\n\n const contextValue = React.useMemo(\n () => ({\n colRef: baseRef,\n animate,\n }),\n [animate, baseRef],\n );\n\n return (\n <RootComponent\n {...restProps}\n baseStyle={{\n width,\n maxWidth,\n minWidth,\n }}\n getRootRef={baseRef}\n baseClassName={classNames(\n styles.host,\n viewWidthToClassName(breakpointClassNames, viewWidth),\n autoSpaced && classNames(styles.spacedAuto, 'vkuiInternalSplitCol--spaced-auto'),\n fixed && styles.fixed,\n stretchedOnMobile && styles.stretchedOnMobile,\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? <div className={styles.fixedInner}>{children}</div> : children}\n </SplitColContext.Provider>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useMediaQueries","ViewWidth","viewWidthToClassName","matchMediaListAddListener","matchMediaListRemoveListener","RootComponent","SplitColContext","breakpointClassNames","none","tabletMinus","smallTabletPlus","tabletPlus","useTransitionAnimate","animateProp","viewWidth","animate","setAnimate","useState","Boolean","mediaQueries","useEffect","undefined","TABLET","listener","matches","SplitCol","props","children","width","maxWidth","minWidth","fixed","autoSpaced","stretchedOnMobile","getRootRef","restProps","baseRef","contextValue","useMemo","colRef","baseStyle","baseClassName","Provider","value","div","className"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,SAAS,EAAEC,oBAAoB,QAAQ,gCAAuB;AACvE,SAASC,yBAAyB,EAAEC,4BAA4B,QAAQ,0BAAuB;AAE/F,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,eAAe,QAAQ,uBAAoB;AAGpD,MAAMC,uBAAuB;IAC3BC,MAAMX,0CAAiC;IACvCY,WAAW;IACXC,eAAe;IACfC,YAAY;AACd;AAEA,SAASC,qBAAqBC,WAAqB;IACjD,MAAM,EAAEC,SAAS,EAAE,GAAGhB;IACtB,MAAM,CAACiB,SAASC,WAAW,GAAGpB,MAAMqB,QAAQ,CAACC,QAAQL;IACrD,MAAMM,eAAenB;IAErBJ,MAAMwB,SAAS,CAAC;QACd,IAAIP,gBAAgBQ,WAAW;YAC7BL,WAAWH;YACX;QACF;QAEA,IAAIC,cAAcO,WAAW;YAC3BL,WAAWF,YAAYb,UAAUqB,MAAM;YACvC;QACF;QAEA,oDAAoD;QACpD,MAAMC,WAAW,IAAMP,WAAW,CAACG,aAAaT,eAAe,CAACc,OAAO;QACvED;QAEApB,0BAA0BgB,aAAaT,eAAe,EAAEa;QACxD,OAAO;YACLnB,6BAA6Be,aAAaT,eAAe,EAAEa;QAC7D;IACF,GAAG;QAACV;QAAaC;QAAWK;KAAa;IAEzC,OAAOJ;AACT;AAiCA;;CAEC,GACD,OAAO,MAAMU,WAAW,CAACC;IACvB,MAAM,EACJC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRf,SAASF,WAAW,EACpBkB,KAAK,EACLC,UAAU,EACVC,iBAAiB,EACjBC,UAAU,EAEX,GAAGR,OADCS,uCACDT;QAVFC;QACAC;QACAC;QACAC;QACAf;QACAgB;QACAC;QACAC;QACAC;;IAGF,MAAME,UAAUrC,aAAamC;IAC7B,MAAM,EAAEpB,SAAS,EAAE,GAAGhB;IACtB,MAAMiB,UAAUH,qBAAqBC;IAErC,MAAMwB,eAAezC,MAAM0C,OAAO,CAChC,IAAO,CAAA;YACLC,QAAQH;YACRrB;QACF,CAAA,GACA;QAACA;QAASqB;KAAQ;IAGpB,qBACE,KAAC/B,uDACK8B;QACJK,WAAW;YACTZ;YACAC;YACAC;QACF;QACAI,YAAYE;QACZK,eAAe5C,iCAEbK,qBAAqBK,sBAAsBO,YAC3CkB,cAAcnC,uCAA8B,sCAC5CkC,gCACAE;kBAGF,cAAA,KAAC3B,gBAAgBoC,QAAQ;YAACC,OAAON;sBAC9BN,sBAAQ,KAACa;gBAAIC,SAAS;0BAAsBlB;iBAAkBA;;;AAIvE,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/SplitCol/SplitCol.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { ViewWidth, viewWidthToClassName } from '../../lib/adaptivity';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../../lib/matchMedia';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from './SplitColContext';\nimport styles from './SplitCol.module.css';\n\nconst breakpointClassNames = {\n none: classNames(styles.viewWidthNone, 'vkuiInternalSplitCol--viewWidth-none'),\n tabletMinus: styles.viewWidthTabletMinus,\n smallTabletPlus: styles.viewWidthSmallTabletPlus,\n tabletPlus: 'vkuiInternalSplitCol--viewWidth-tabletPlus',\n};\n\nfunction useTransitionAnimate(animateProp?: boolean) {\n const { viewWidth } = useAdaptivity();\n const [animate, setAnimate] = React.useState(Boolean(animateProp));\n const mediaQueries = useMediaQueries();\n\n React.useEffect(() => {\n if (animateProp !== undefined) {\n setAnimate(animateProp);\n return;\n }\n\n if (viewWidth !== undefined) {\n setAnimate(viewWidth < ViewWidth.TABLET);\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const listener = () => setAnimate(!mediaQueries.smallTabletPlus.matches);\n listener();\n\n matchMediaListAddListener(mediaQueries.smallTabletPlus, listener);\n return () => {\n matchMediaListRemoveListener(mediaQueries.smallTabletPlus, listener);\n };\n }, [animateProp, viewWidth, mediaQueries]);\n\n return animate;\n}\n\nexport interface SplitColProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Ширина колонки.\n */\n width?: number | string;\n /**\n * Максимальная ширина колонки.\n */\n maxWidth?: number | string;\n /**\n * Минимальная ширина колонки.\n */\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации.\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`.\n */\n autoSpaced?: boolean;\n /**\n * Фиксированное положение колонки.\n */\n fixed?: boolean;\n /**\n * Если true, то ширина контейнера становится 100% при ширине меньше чем `tablet`.\n */\n stretchedOnMobile?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/split-layout#split-col\n */\nexport const SplitCol = (props: SplitColProps): React.ReactNode => {\n const {\n children,\n width,\n maxWidth,\n minWidth,\n animate: animateProp,\n fixed,\n autoSpaced,\n stretchedOnMobile,\n getRootRef,\n ...restProps\n } = props;\n const baseRef = useExternRef(getRootRef);\n const { viewWidth } = useAdaptivity();\n const animate = useTransitionAnimate(animateProp);\n\n const contextValue = React.useMemo(\n () => ({\n colRef: baseRef,\n animate,\n }),\n [animate, baseRef],\n );\n\n return (\n <RootComponent\n {...restProps}\n baseStyle={{\n width,\n maxWidth,\n minWidth,\n }}\n getRootRef={baseRef}\n baseClassName={classNames(\n styles.host,\n viewWidthToClassName(breakpointClassNames, viewWidth),\n autoSpaced && classNames(styles.spacedAuto, 'vkuiInternalSplitCol--spaced-auto'),\n fixed && styles.fixed,\n stretchedOnMobile && styles.stretchedOnMobile,\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? <div className={styles.fixedInner}>{children}</div> : children}\n </SplitColContext.Provider>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useMediaQueries","ViewWidth","viewWidthToClassName","matchMediaListAddListener","matchMediaListRemoveListener","RootComponent","SplitColContext","breakpointClassNames","none","tabletMinus","smallTabletPlus","tabletPlus","useTransitionAnimate","animateProp","viewWidth","animate","setAnimate","useState","Boolean","mediaQueries","useEffect","undefined","TABLET","listener","matches","SplitCol","props","children","width","maxWidth","minWidth","fixed","autoSpaced","stretchedOnMobile","getRootRef","restProps","baseRef","contextValue","useMemo","colRef","baseStyle","baseClassName","Provider","value","div","className"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,SAAS,EAAEC,oBAAoB,QAAQ,gCAAuB;AACvE,SAASC,yBAAyB,EAAEC,4BAA4B,QAAQ,0BAAuB;AAE/F,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,eAAe,QAAQ,uBAAoB;AAGpD,MAAMC,uBAAuB;IAC3BC,MAAMX,0CAAiC;IACvCY,WAAW;IACXC,eAAe;IACfC,YAAY;AACd;AAEA,SAASC,qBAAqBC,WAAqB;IACjD,MAAM,EAAEC,SAAS,EAAE,GAAGhB;IACtB,MAAM,CAACiB,SAASC,WAAW,GAAGpB,MAAMqB,QAAQ,CAACC,QAAQL;IACrD,MAAMM,eAAenB;IAErBJ,MAAMwB,SAAS,CAAC;QACd,IAAIP,gBAAgBQ,WAAW;YAC7BL,WAAWH;YACX;QACF;QAEA,IAAIC,cAAcO,WAAW;YAC3BL,WAAWF,YAAYb,UAAUqB,MAAM;YACvC;QACF;QAEA,oDAAoD;QACpD,MAAMC,WAAW,IAAMP,WAAW,CAACG,aAAaT,eAAe,CAACc,OAAO;QACvED;QAEApB,0BAA0BgB,aAAaT,eAAe,EAAEa;QACxD,OAAO;YACLnB,6BAA6Be,aAAaT,eAAe,EAAEa;QAC7D;IACF,GAAG;QAACV;QAAaC;QAAWK;KAAa;IAEzC,OAAOJ;AACT;AAiCA;;CAEC,GACD,OAAO,MAAMU,WAAW,CAACC;IACvB,MAAM,EACJC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRf,SAASF,WAAW,EACpBkB,KAAK,EACLC,UAAU,EACVC,iBAAiB,EACjBC,UAAU,EAEX,GAAGR,OADCS,uCACDT;QAVFC;QACAC;QACAC;QACAC;QACAf;QACAgB;QACAC;QACAC;QACAC;;IAGF,MAAME,UAAUrC,aAAamC;IAC7B,MAAM,EAAEpB,SAAS,EAAE,GAAGhB;IACtB,MAAMiB,UAAUH,qBAAqBC;IAErC,MAAMwB,eAAezC,MAAM0C,OAAO,CAChC,IAAO,CAAA;YACLC,QAAQH;YACRrB;QACF,CAAA,GACA;QAACA;QAASqB;KAAQ;IAGpB,qBACE,KAAC/B,uDACK8B;QACJK,WAAW;YACTZ;YACAC;YACAC;QACF;QACAI,YAAYE;QACZK,eAAe5C,iCAEbK,qBAAqBK,sBAAsBO,YAC3CkB,cAAcnC,uCAA8B,sCAC5CkC,gCACAE;kBAGF,cAAA,KAAC3B,gBAAgBoC,QAAQ;YAACC,OAAON;sBAC9BN,sBAAQ,KAACa;gBAAIC,SAAS;0BAAsBlB;iBAAkBA;;;AAIvE,EAAE"}
@@ -27,7 +27,7 @@ export interface SplitLayoutProps extends HTMLAttributesWithRootRef<HTMLDivEleme
27
27
  center?: boolean;
28
28
  }
29
29
  /**
30
- * @see https://vkcom.github.io/VKUI/#/SplitLayout
30
+ * @see https://vkui.io/components/split-layout
31
31
  */
32
32
  export declare const SplitLayout: ({ header, children, getRootRef, getRef, className, center, modal, popout, ...restProps }: SplitLayoutProps) => React.ReactNode;
33
33
  //# sourceMappingURL=SplitLayout.d.ts.map
@@ -7,7 +7,7 @@ import * as React from "react";
7
7
  import { classNames } from "@vkontakte/vkjs";
8
8
  import { usePlatform } from "../../hooks/usePlatform.js";
9
9
  /**
10
- * @see https://vkcom.github.io/VKUI/#/SplitLayout
10
+ * @see https://vkui.io/components/split-layout
11
11
  */ export const SplitLayout = (_param)=>{
12
12
  var { header, children, getRootRef, getRef, className, center, modal, popout } = _param, restProps = _object_without_properties(_param, [
13
13
  "header",