@vkontakte/vkui 7.0.0-dev-efd91c.2 → 7.0.0-dev-efd91c.3

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 (426) hide show
  1. package/dist/components/ActionSheet/ActionSheet.js +2 -2
  2. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  3. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  4. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  5. package/dist/components/ActionSheetItem/ActionSheetItem.js +2 -3
  6. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  7. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
  8. package/dist/components/AdaptivityProvider/AdaptivityContext.js +1 -0
  9. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  10. package/dist/components/Alert/Alert.js +2 -2
  11. package/dist/components/Alert/Alert.js.map +1 -1
  12. package/dist/components/Alert/AlertAction.js +1 -1
  13. package/dist/components/Alert/AlertAction.js.map +1 -1
  14. package/dist/components/AppRoot/AppRoot.d.ts +1 -1
  15. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  16. package/dist/components/AppRoot/AppRoot.js +6 -43
  17. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  18. package/dist/components/AppRoot/AppRootContext.d.ts +1 -3
  19. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  20. package/dist/components/AppRoot/AppRootContext.js +0 -3
  21. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  22. package/dist/components/AppRoot/AppRootPortal.d.ts +5 -5
  23. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  24. package/dist/components/AppRoot/AppRootPortal.js +12 -29
  25. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  26. package/dist/components/AppRoot/helpers.d.ts +0 -1
  27. package/dist/components/AppRoot/helpers.d.ts.map +1 -1
  28. package/dist/components/AppRoot/helpers.js +0 -1
  29. package/dist/components/AppRoot/helpers.js.map +1 -1
  30. package/dist/components/AspectRatio/AspectRatio.d.ts +1 -1
  31. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  32. package/dist/components/AspectRatio/AspectRatio.js +3 -4
  33. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  34. package/dist/components/Avatar/Avatar.d.ts +2 -1
  35. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  36. package/dist/components/Avatar/Avatar.js +2 -1
  37. package/dist/components/Avatar/Avatar.js.map +1 -1
  38. package/dist/components/Banner/Banner.d.ts +1 -1
  39. package/dist/components/Banner/Banner.d.ts.map +1 -1
  40. package/dist/components/Banner/Banner.js +2 -3
  41. package/dist/components/Banner/Banner.js.map +1 -1
  42. package/dist/components/Button/Button.d.ts +1 -1
  43. package/dist/components/Button/Button.d.ts.map +1 -1
  44. package/dist/components/Button/Button.js +2 -3
  45. package/dist/components/Button/Button.js.map +1 -1
  46. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  47. package/dist/components/CalendarDay/CalendarDay.js +2 -3
  48. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  49. package/dist/components/CalendarHeader/CalendarHeader.js +2 -2
  50. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  51. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts.map +1 -1
  52. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +2 -0
  53. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  54. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts.map +1 -1
  55. package/dist/components/ConfigProvider/ConfigProviderContext.js +1 -0
  56. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  57. package/dist/components/ContentBadge/ContentBadgeContext.d.ts.map +1 -1
  58. package/dist/components/ContentBadge/ContentBadgeContext.js +1 -0
  59. package/dist/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  60. package/dist/components/Counter/Counter.d.ts.map +1 -1
  61. package/dist/components/Counter/Counter.js +8 -9
  62. package/dist/components/Counter/Counter.js.map +1 -1
  63. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
  64. package/dist/components/CustomSelectOption/CustomSelectOption.js +5 -5
  65. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  66. package/dist/components/Flex/Flex.d.ts.map +1 -1
  67. package/dist/components/Flex/Flex.js +2 -3
  68. package/dist/components/Flex/Flex.js.map +1 -1
  69. package/dist/components/Flex/FlexItem/FlexItem.d.ts +1 -1
  70. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  71. package/dist/components/Flex/FlexItem/FlexItem.js +4 -5
  72. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  73. package/dist/components/FloatingArrow/DefaultIcon.d.ts +7 -3
  74. package/dist/components/FloatingArrow/DefaultIcon.d.ts.map +1 -1
  75. package/dist/components/FloatingArrow/DefaultIcon.js +10 -6
  76. package/dist/components/FloatingArrow/DefaultIcon.js.map +1 -1
  77. package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -2
  78. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  79. package/dist/components/FloatingArrow/FloatingArrow.js +9 -8
  80. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  81. package/dist/components/HorizontalCell/HorizontalCell.d.ts +11 -1
  82. package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
  83. package/dist/components/HorizontalCell/HorizontalCell.js +15 -7
  84. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  85. package/dist/components/IconButton/IconButton.d.ts +1 -1
  86. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  87. package/dist/components/IconButton/IconButton.js +3 -4
  88. package/dist/components/IconButton/IconButton.js.map +1 -1
  89. package/dist/components/Image/Image.d.ts.map +1 -1
  90. package/dist/components/Image/Image.js +2 -1
  91. package/dist/components/Image/Image.js.map +1 -1
  92. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  93. package/dist/components/ImageBase/ImageBase.js +3 -4
  94. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  95. package/dist/components/Link/Link.d.ts +1 -1
  96. package/dist/components/Link/Link.d.ts.map +1 -1
  97. package/dist/components/Link/Link.js +3 -4
  98. package/dist/components/Link/Link.js.map +1 -1
  99. package/dist/components/List/List.d.ts +1 -1
  100. package/dist/components/List/List.d.ts.map +1 -1
  101. package/dist/components/List/List.js +5 -8
  102. package/dist/components/List/List.js.map +1 -1
  103. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  104. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  105. package/dist/components/MiniInfoCell/MiniInfoCell.js +4 -5
  106. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  107. package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  108. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  109. package/dist/components/ModalCardBase/ModalCardBase.js +3 -4
  110. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  111. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  112. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  113. package/dist/components/ModalDismissButton/ModalDismissButton.js +3 -5
  114. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  115. package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  116. package/dist/components/ModalRoot/ModalRoot.js +3 -2
  117. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  118. package/dist/components/ModalRoot/ModalRootContext.d.ts.map +1 -1
  119. package/dist/components/ModalRoot/ModalRootContext.js +1 -0
  120. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  121. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  122. package/dist/components/ModalRoot/types.js.map +1 -1
  123. package/dist/components/NavIdContext/NavIdContext.d.ts.map +1 -1
  124. package/dist/components/NavIdContext/NavIdContext.js +1 -0
  125. package/dist/components/NavIdContext/NavIdContext.js.map +1 -1
  126. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  127. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +2 -4
  128. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  129. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  130. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  131. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +3 -4
  132. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  133. package/dist/components/Popper/Popper.d.ts +1 -1
  134. package/dist/components/Popper/Popper.d.ts.map +1 -1
  135. package/dist/components/Popper/Popper.js +2 -3
  136. package/dist/components/Popper/Popper.js.map +1 -1
  137. package/dist/components/Progress/Progress.d.ts +1 -1
  138. package/dist/components/Progress/Progress.d.ts.map +1 -1
  139. package/dist/components/Progress/Progress.js +4 -5
  140. package/dist/components/Progress/Progress.js.map +1 -1
  141. package/dist/components/RichCell/RichCell.d.ts.map +1 -1
  142. package/dist/components/RichCell/RichCell.js +2 -3
  143. package/dist/components/RichCell/RichCell.js.map +1 -1
  144. package/dist/components/RootComponent/RootComponent.d.ts +2 -1
  145. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  146. package/dist/components/RootComponent/RootComponent.js +6 -2
  147. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  148. package/dist/components/ScreenSpinner/ScreenSpinner.js +2 -2
  149. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  150. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  151. package/dist/components/ScreenSpinner/context.js +1 -0
  152. package/dist/components/ScreenSpinner/context.js.map +1 -1
  153. package/dist/components/Separator/Separator.d.ts +1 -1
  154. package/dist/components/Separator/Separator.d.ts.map +1 -1
  155. package/dist/components/Separator/Separator.js +2 -3
  156. package/dist/components/Separator/Separator.js.map +1 -1
  157. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  158. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  159. package/dist/components/SimpleCell/SimpleCell.js +2 -3
  160. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  161. package/dist/components/SimpleGrid/SimpleGrid.d.ts +1 -1
  162. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  163. package/dist/components/SimpleGrid/SimpleGrid.js +2 -3
  164. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  165. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  166. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  167. package/dist/components/Skeleton/Skeleton.js +2 -3
  168. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  169. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  170. package/dist/components/Snackbar/Snackbar.js +2 -3
  171. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  172. package/dist/components/Snackbar/utils.d.ts +1 -1
  173. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  174. package/dist/components/Snackbar/utils.js +6 -8
  175. package/dist/components/Snackbar/utils.js.map +1 -1
  176. package/dist/components/Spacing/Spacing.d.ts +1 -1
  177. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  178. package/dist/components/Spacing/Spacing.js +3 -4
  179. package/dist/components/Spacing/Spacing.js.map +1 -1
  180. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  181. package/dist/components/SplitCol/SplitCol.js +3 -4
  182. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  183. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  184. package/dist/components/SplitLayout/SplitLayout.js +1 -5
  185. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  186. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  187. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  188. package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -4
  189. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  190. package/dist/components/TabsItem/TabsItem.d.ts +1 -1
  191. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  192. package/dist/components/TabsItem/TabsItem.js +2 -3
  193. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  194. package/dist/components/ToolButton/ToolButton.d.ts +1 -1
  195. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  196. package/dist/components/ToolButton/ToolButton.js +2 -3
  197. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  198. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  199. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
  200. package/dist/components/WriteBarIcon/WriteBarIcon.js +2 -3
  201. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  202. package/dist/components.css +1 -1
  203. package/dist/components.css.map +1 -1
  204. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -2
  205. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  206. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +2 -2
  207. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  208. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js +1 -0
  209. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  210. package/dist/cssm/components/Alert/Alert.js +2 -2
  211. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  212. package/dist/cssm/components/Alert/AlertAction.js +1 -1
  213. package/dist/cssm/components/Alert/AlertAction.js.map +1 -1
  214. package/dist/cssm/components/AppRoot/AppRoot.js +6 -43
  215. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  216. package/dist/cssm/components/AppRoot/AppRootContext.js +0 -3
  217. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  218. package/dist/cssm/components/AppRoot/AppRootPortal.js +12 -29
  219. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  220. package/dist/cssm/components/AppRoot/helpers.js +0 -1
  221. package/dist/cssm/components/AppRoot/helpers.js.map +1 -1
  222. package/dist/cssm/components/AspectRatio/AspectRatio.js +2 -5
  223. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  224. package/dist/cssm/components/Avatar/Avatar.js +2 -1
  225. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  226. package/dist/cssm/components/Banner/Banner.js +2 -2
  227. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  228. package/dist/cssm/components/Button/Button.js +2 -2
  229. package/dist/cssm/components/Button/Button.js.map +1 -1
  230. package/dist/cssm/components/CalendarDay/CalendarDay.js +2 -2
  231. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  232. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +2 -2
  233. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  234. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +2 -0
  235. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  236. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +1 -0
  237. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  238. package/dist/cssm/components/ContentBadge/ContentBadgeContext.js +1 -0
  239. package/dist/cssm/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  240. package/dist/cssm/components/Counter/Counter.js +4 -7
  241. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  242. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +5 -6
  243. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  244. package/dist/cssm/components/Flex/Flex.js +2 -5
  245. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  246. package/dist/cssm/components/Flex/FlexItem/FlexItem.js +3 -4
  247. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  248. package/dist/cssm/components/FloatingArrow/DefaultIcon.js +10 -6
  249. package/dist/cssm/components/FloatingArrow/DefaultIcon.js.map +1 -1
  250. package/dist/cssm/components/FloatingArrow/FloatingArrow.js +9 -7
  251. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  252. package/dist/cssm/components/FloatingArrow/FloatingArrow.module.css +1 -1
  253. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +12 -9
  254. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  255. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +23 -6
  256. package/dist/cssm/components/IconButton/IconButton.js +2 -2
  257. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  258. package/dist/cssm/components/Image/Image.js +2 -4
  259. package/dist/cssm/components/Image/Image.js.map +1 -1
  260. package/dist/cssm/components/ImageBase/ImageBase.js +3 -4
  261. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  262. package/dist/cssm/components/Link/Link.js +2 -2
  263. package/dist/cssm/components/Link/Link.js.map +1 -1
  264. package/dist/cssm/components/List/List.js +4 -6
  265. package/dist/cssm/components/List/List.js.map +1 -1
  266. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +3 -3
  267. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  268. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +3 -4
  269. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  270. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +2 -3
  271. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  272. package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +1 -0
  273. package/dist/cssm/components/ModalRoot/ModalRoot.js +3 -2
  274. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  275. package/dist/cssm/components/ModalRoot/ModalRootContext.js +1 -0
  276. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  277. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  278. package/dist/cssm/components/NavIdContext/NavIdContext.js +1 -0
  279. package/dist/cssm/components/NavIdContext/NavIdContext.js.map +1 -1
  280. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +2 -4
  281. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  282. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
  283. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  284. package/dist/cssm/components/Popper/Popper.js +2 -5
  285. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  286. package/dist/cssm/components/Progress/Progress.js +2 -5
  287. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  288. package/dist/cssm/components/RichCell/RichCell.js +2 -2
  289. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  290. package/dist/cssm/components/RootComponent/RootComponent.js +3 -1
  291. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  292. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -2
  293. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  294. package/dist/cssm/components/ScreenSpinner/context.js +1 -0
  295. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  296. package/dist/cssm/components/Separator/Separator.js +2 -5
  297. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  298. package/dist/cssm/components/SimpleCell/SimpleCell.js +2 -2
  299. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  300. package/dist/cssm/components/SimpleGrid/SimpleGrid.js +2 -5
  301. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  302. package/dist/cssm/components/Skeleton/Skeleton.js +2 -5
  303. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  304. package/dist/cssm/components/Snackbar/Snackbar.js +2 -2
  305. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  306. package/dist/cssm/components/Snackbar/utils.js +2 -4
  307. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  308. package/dist/cssm/components/Spacing/Spacing.js +2 -5
  309. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  310. package/dist/cssm/components/SplitCol/SplitCol.js +3 -4
  311. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  312. package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -5
  313. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  314. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +2 -2
  315. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  316. package/dist/cssm/components/TabsItem/TabsItem.js +2 -2
  317. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  318. package/dist/cssm/components/ToolButton/ToolButton.js +2 -2
  319. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  320. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +2 -2
  321. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  322. package/dist/cssm/helpers/mergeStyle.js +16 -0
  323. package/dist/cssm/helpers/mergeStyle.js.map +1 -0
  324. package/dist/cssm/hooks/useBooleanState.js +2 -4
  325. package/dist/cssm/hooks/useBooleanState.js.map +1 -1
  326. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js +13 -5
  327. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  328. package/dist/cssm/index.js +1 -1
  329. package/dist/cssm/index.js.map +1 -1
  330. package/dist/cssm/styles/common.css +5 -0
  331. package/dist/cssm/styles/themes.css +7 -9
  332. package/dist/cssm/types.js.map +1 -1
  333. package/dist/helpers/getMergedSameEventsByProps.d.ts.map +1 -1
  334. package/dist/helpers/mergeStyle.d.ts +11 -0
  335. package/dist/helpers/mergeStyle.d.ts.map +1 -0
  336. package/dist/helpers/mergeStyle.js +14 -0
  337. package/dist/helpers/mergeStyle.js.map +1 -0
  338. package/dist/hooks/useBooleanState.js +2 -4
  339. package/dist/hooks/useBooleanState.js.map +1 -1
  340. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
  341. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js +15 -6
  342. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  343. package/dist/index.d.ts +1 -1
  344. package/dist/index.d.ts.map +1 -1
  345. package/dist/index.js +1 -1
  346. package/dist/index.js.map +1 -1
  347. package/dist/types.d.ts +1 -1
  348. package/dist/types.d.ts.map +1 -1
  349. package/dist/types.js.map +1 -1
  350. package/dist/vkui.css +1 -1
  351. package/dist/vkui.css.map +1 -1
  352. package/package.json +8 -6
  353. package/src/components/ActionSheet/ActionSheet.tsx +3 -3
  354. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -3
  355. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +2 -0
  356. package/src/components/Alert/Alert.tsx +3 -3
  357. package/src/components/Alert/AlertAction.tsx +1 -1
  358. package/src/components/AppRoot/AppRoot.tsx +4 -49
  359. package/src/components/AppRoot/AppRootContext.ts +1 -6
  360. package/src/components/AppRoot/AppRootPortal.tsx +22 -40
  361. package/src/components/AppRoot/helpers.ts +0 -3
  362. package/src/components/AspectRatio/AspectRatio.tsx +2 -7
  363. package/src/components/Avatar/Avatar.tsx +6 -2
  364. package/src/components/Banner/Banner.tsx +0 -2
  365. package/src/components/Button/Button.tsx +1 -3
  366. package/src/components/CalendarDay/CalendarDay.tsx +1 -2
  367. package/src/components/CalendarHeader/CalendarHeader.tsx +2 -2
  368. package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +4 -0
  369. package/src/components/ConfigProvider/ConfigProviderContext.tsx +2 -0
  370. package/src/components/ContentBadge/ContentBadgeContext.tsx +2 -0
  371. package/src/components/Counter/Counter.tsx +20 -21
  372. package/src/components/CustomSelectOption/CustomSelectOption.tsx +6 -6
  373. package/src/components/Flex/Flex.tsx +1 -2
  374. package/src/components/Flex/FlexItem/FlexItem.tsx +1 -2
  375. package/src/components/FloatingArrow/DefaultIcon.tsx +11 -8
  376. package/src/components/FloatingArrow/FloatingArrow.module.css +1 -1
  377. package/src/components/FloatingArrow/FloatingArrow.tsx +9 -8
  378. package/src/components/HorizontalCell/HorizontalCell.module.css +23 -6
  379. package/src/components/HorizontalCell/HorizontalCell.tsx +38 -6
  380. package/src/components/IconButton/IconButton.tsx +2 -8
  381. package/src/components/Image/Image.tsx +4 -2
  382. package/src/components/ImageBase/ImageBase.tsx +1 -2
  383. package/src/components/Link/Link.tsx +1 -3
  384. package/src/components/List/List.tsx +3 -11
  385. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -3
  386. package/src/components/ModalCardBase/ModalCardBase.tsx +1 -3
  387. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -3
  388. package/src/components/ModalOverlay/ModalOverlay.module.css +1 -0
  389. package/src/components/ModalRoot/ModalRoot.tsx +8 -4
  390. package/src/components/ModalRoot/ModalRootContext.tsx +2 -0
  391. package/src/components/ModalRoot/types.ts +1 -0
  392. package/src/components/NavIdContext/NavIdContext.tsx +2 -0
  393. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +2 -5
  394. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +1 -3
  395. package/src/components/Popper/Popper.tsx +7 -11
  396. package/src/components/Progress/Progress.tsx +1 -2
  397. package/src/components/RichCell/RichCell.tsx +1 -3
  398. package/src/components/RootComponent/RootComponent.tsx +5 -0
  399. package/src/components/ScreenSpinner/ScreenSpinner.tsx +3 -3
  400. package/src/components/ScreenSpinner/context.ts +2 -0
  401. package/src/components/Separator/Separator.tsx +1 -9
  402. package/src/components/SimpleCell/SimpleCell.tsx +1 -3
  403. package/src/components/SimpleGrid/SimpleGrid.tsx +1 -2
  404. package/src/components/Skeleton/Skeleton.tsx +1 -2
  405. package/src/components/Snackbar/Snackbar.tsx +1 -2
  406. package/src/components/Snackbar/utils.ts +3 -4
  407. package/src/components/Spacing/Spacing.tsx +2 -9
  408. package/src/components/SplitCol/SplitCol.tsx +1 -3
  409. package/src/components/SplitLayout/SplitLayout.tsx +1 -7
  410. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -3
  411. package/src/components/TabsItem/TabsItem.tsx +1 -3
  412. package/src/components/ToolButton/ToolButton.tsx +1 -3
  413. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -3
  414. package/src/helpers/mergeStyle.ts +15 -0
  415. package/src/hooks/useBooleanState.ts +2 -2
  416. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +10 -5
  417. package/src/index.ts +3 -3
  418. package/src/styles/common.css +7 -0
  419. package/src/types.ts +4 -1
  420. package/dist/components/AppRoot/ModalPopoutPortal.d.ts +0 -11
  421. package/dist/components/AppRoot/ModalPopoutPortal.d.ts.map +0 -1
  422. package/dist/components/AppRoot/ModalPopoutPortal.js +0 -28
  423. package/dist/components/AppRoot/ModalPopoutPortal.js.map +0 -1
  424. package/dist/cssm/components/AppRoot/ModalPopoutPortal.js +0 -27
  425. package/dist/cssm/components/AppRoot/ModalPopoutPortal.js.map +0 -1
  426. package/src/components/AppRoot/ModalPopoutPortal.tsx +0 -27
@@ -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 { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { useDOM } from '../../lib/dom';\nimport type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Skeleton.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.MutableRefObject<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 useGlobalEventListener(window, 'resize', 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 * > на экране должен заменяться заглушкой.\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 style,\n children,\n colorFrom,\n colorTo,\n noAnimation = false,\n duration,\n margin,\n getRootRef,\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(styles.host, disableAnimation && styles.disableAnimation)}\n style={{ ...skeletonStyle, ...style }}\n {...restProps}\n >\n {children || <>&zwnj;</>}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","millisecondsInSecond","useExternRef","useGlobalEventListener","useStateWithPrev","useDOM","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","style","children","colorFrom","colorTo","noAnimation","margin","getRootRef","restProps","skeletonStyle","Number","isFinite","Component","baseClassName"],"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 { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\nimport { useDOM } from '../../lib/dom';\nimport type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Skeleton.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.MutableRefObject<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 useGlobalEventListener(window, 'resize', 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 * > на экране должен заменяться заглушкой.\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 ...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(styles.host, disableAnimation && styles.disableAnimation)}\n baseStyle={skeletonStyle}\n {...restProps}\n >\n {children || <>&zwnj;</>}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","millisecondsInSecond","useExternRef","useGlobalEventListener","useStateWithPrev","useDOM","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","restProps","skeletonStyle","Number","isFinite","Component","baseClassName","baseStyle"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar.d.ts","sourceRoot":"","sources":["../../../src/components/Snackbar/Snackbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA2B5D,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,EAC7D,UAAU;IACZ;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAClD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CAgOrE,CAAC"}
1
+ {"version":3,"file":"Snackbar.d.ts","sourceRoot":"","sources":["../../../src/components/Snackbar/Snackbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAa,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA2B5D,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,EAC7D,UAAU;IACZ;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAClD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,KAAK,CAAA;CA+NrE,CAAC"}
@@ -37,7 +37,7 @@ const animationStateClassNames = {
37
37
  /**
38
38
  * @see https://vkcom.github.io/VKUI/#/Snackbar
39
39
  */ export const Snackbar = (_param)=>{
40
- var { placement = 'bottom-start', children, layout, action, before, after, duration = 4000, onActionClick, onClose, mode = 'default', subtitle, offsetY, style, getRootRef } = _param, restProps = _object_without_properties(_param, [
40
+ var { placement = 'bottom-start', children, layout, action, before, after, duration = 4000, onActionClick, onClose, mode = 'default', subtitle, offsetY, getRootRef } = _param, restProps = _object_without_properties(_param, [
41
41
  "placement",
42
42
  "children",
43
43
  "layout",
@@ -50,7 +50,6 @@ const animationStateClassNames = {
50
50
  "mode",
51
51
  "subtitle",
52
52
  "offsetY",
53
- "style",
54
53
  "getRootRef"
55
54
  ]);
56
55
  const platform = usePlatform();
@@ -156,7 +155,7 @@ const animationStateClassNames = {
156
155
  return /*#__PURE__*/ _jsx(RootComponent, _object_spread_props(_object_spread({}, restProps), {
157
156
  role: "presentation",
158
157
  baseClassName: classNames("vkuiSnackbar__host", platform === 'ios' && "vkuiSnackbar__ios", touched && "vkuiSnackbar__touched", placementClassNames[placement], animationStateClassNames[animationState]),
159
- style: resolveOffsetYCssStyle(placement, style, offsetY),
158
+ baseStyle: resolveOffsetYCssStyle(placement, offsetY),
160
159
  getRootRef: rootRef,
161
160
  children: /*#__PURE__*/ _jsx("div", _object_spread_props(_object_spread({
162
161
  role: "alert",
@@ -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 { 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 style,\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 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>>();\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 );\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 )\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 )}\n style={resolveOffsetYCssStyle(placement, style, 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","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","style","getRootRef","restProps","platform","open","setOpen","useState","touched","setTouched","rootRef","focused","inRef","useRef","panGestureRecognizer","shiftDataRef","rafRef","closeTimeoutIdRef","mediaQueries","animationState","animationHandlers","onExited","clearRAF","useCallback","current","cancelAnimationFrame","updateShiftAxisCSSProperties","x","y","direction","requestAnimationFrame","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","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 { 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 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>>();\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 );\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 )\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 )}\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","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","rootRef","focused","inRef","useRef","panGestureRecognizer","shiftDataRef","rafRef","closeTimeoutIdRef","mediaQueries","animationState","animationHandlers","onExited","clearRAF","useCallback","current","cancelAnimationFrame","updateShiftAxisCSSProperties","x","y","direction","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,7 +1,7 @@
1
1
  import type * as React from 'react';
2
2
  import type { MediaQueries } from '../../lib/adaptivity';
3
3
  import type { ShiftData, SnackbarPlacement } from './types';
4
- export declare function resolveOffsetYCssStyle(placement: SnackbarPlacement, style?: React.CSSProperties, offsetY?: React.CSSProperties['inset']): React.CSSProperties | undefined;
4
+ export declare function resolveOffsetYCssStyle(placement: SnackbarPlacement, offsetY?: React.CSSProperties['inset']): React.CSSProperties | undefined;
5
5
  export declare function getInitialShiftData(width: number, height: number, mediaQueries: MediaQueries): ShiftData;
6
6
  export declare function getMovedShiftData(placement: SnackbarPlacement, shiftData: ShiftData, nextShift: {
7
7
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Snackbar/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5D,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,iBAAiB,EAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,EAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GACrC,KAAK,CAAC,aAAa,GAAG,SAAS,CAcjC;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACzB,SAAS,CAUX;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,SAAS,CA2BX;AAID,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,OAAO,EAC3B,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CA+CT"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Snackbar/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5D,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GACrC,KAAK,CAAC,aAAa,GAAG,SAAS,CAcjC;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACzB,SAAS,CAUX;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,SAAS,CA2BX;AAID,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,OAAO,EAC3B,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CA+CT"}
@@ -1,23 +1,21 @@
1
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
1
  import { rubberbandIfOutOfBounds } from "../../lib/animation/index.js";
4
- export function resolveOffsetYCssStyle(placement, style, offsetY) {
2
+ export function resolveOffsetYCssStyle(placement, offsetY) {
5
3
  if (offsetY === undefined) {
6
- return style;
4
+ return undefined;
7
5
  }
8
6
  switch(placement){
9
7
  case 'top-start':
10
8
  case 'top':
11
9
  case 'top-end':
12
- return _object_spread_props(_object_spread({}, style), {
10
+ return {
13
11
  top: offsetY
14
- });
12
+ };
15
13
  case 'bottom-start':
16
14
  case 'bottom':
17
15
  case 'bottom-end':
18
- return _object_spread_props(_object_spread({}, style), {
16
+ return {
19
17
  bottom: offsetY
20
- });
18
+ };
21
19
  }
22
20
  }
23
21
  export function getInitialShiftData(width, height, mediaQueries) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Snackbar/utils.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { MediaQueries } from '../../lib/adaptivity';\nimport { rubberbandIfOutOfBounds } from '../../lib/animation';\nimport type { ShiftData, SnackbarPlacement } from './types';\n\nexport function resolveOffsetYCssStyle(\n placement: SnackbarPlacement,\n style?: React.CSSProperties,\n offsetY?: React.CSSProperties['inset'],\n): React.CSSProperties | undefined {\n if (offsetY === undefined) {\n return style;\n }\n switch (placement) {\n case 'top-start':\n case 'top':\n case 'top-end':\n return { ...style, top: offsetY };\n case 'bottom-start':\n case 'bottom':\n case 'bottom-end':\n return { ...style, bottom: offsetY };\n }\n}\n\nexport function getInitialShiftData(\n width: number,\n height: number,\n mediaQueries: MediaQueries,\n): ShiftData {\n return {\n shifted: false,\n direction: null,\n isDesktop: mediaQueries.smallTabletPlus.matches, // eslint-disable-line no-restricted-properties,\n x: 0,\n y: 0,\n width,\n height,\n };\n}\n\nexport function getMovedShiftData(\n placement: SnackbarPlacement,\n shiftData: ShiftData,\n nextShift: { x: number; y: number },\n): ShiftData {\n /* istanbul ignore else: TODO чтобы протестировать кейс в блоке else, нужно мокать useMediaQueries(), чтобы перебивать mediaQueries.smallTabletPlus.matches */\n if (shiftData.isDesktop) {\n if (placement.endsWith('start')) {\n shiftData.x = rubberbandIfOutOfBounds(nextShift.x, -shiftData.width, 0);\n } else if (placement.endsWith('end')) {\n shiftData.x = rubberbandIfOutOfBounds(nextShift.x, 0, shiftData.width);\n }\n\n if (placement.startsWith('bottom')) {\n shiftData.y = rubberbandIfOutOfBounds(nextShift.y, 0, shiftData.height);\n }\n } else if (placement.startsWith('bottom')) {\n shiftData.x = nextShift.x;\n\n const movingToLeft = nextShift.x < 0 ? -1 : null;\n const movingToRight = nextShift.x > 0 ? 1 : null;\n shiftData.direction = movingToLeft || movingToRight;\n }\n\n if (placement.startsWith('top')) {\n shiftData.y = rubberbandIfOutOfBounds(nextShift.y, -shiftData.height, 0);\n }\n\n shiftData.shifted = true;\n\n return shiftData;\n}\n\nconst MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE = 200;\n\nexport function shouldBeClosedByShiftData(\n placement: SnackbarPlacement,\n shiftData: ShiftData,\n relativeClientRect: DOMRect,\n velocity: { x: number; y: number },\n): boolean {\n if (!shiftData.shifted) {\n return false;\n }\n\n const shouldBeClosedThreshold = { x: false, y: false };\n const shouldBeClosedByVelocity = { x: false, y: false };\n\n /* istanbul ignore else: TODO чтобы протестировать кейс в блоке else, нужно мокать useMediaQueries(), чтобы перебивать mediaQueries.smallTabletPlus.matches */\n if (shiftData.isDesktop) {\n if (placement.endsWith('start')) {\n shouldBeClosedThreshold.x = relativeClientRect.x < -relativeClientRect.width / 2;\n shouldBeClosedByVelocity.x =\n relativeClientRect.x < 0 ? velocity.x < -MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE : false;\n } else if (placement.endsWith('end')) {\n shouldBeClosedThreshold.x = relativeClientRect.x > relativeClientRect.width / 2;\n shouldBeClosedByVelocity.x =\n relativeClientRect.x > 0 ? velocity.x > MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE : false;\n }\n\n if (placement.startsWith('bottom')) {\n shouldBeClosedThreshold.y = relativeClientRect.y > relativeClientRect.height / 2;\n shouldBeClosedByVelocity.y =\n relativeClientRect.y > 0 ? velocity.y > MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE : false;\n }\n } else if (placement.startsWith('bottom')) {\n shouldBeClosedThreshold.x =\n relativeClientRect.x < -relativeClientRect.width / 2 ||\n relativeClientRect.x > relativeClientRect.width / 2;\n shouldBeClosedByVelocity.x =\n (relativeClientRect.x < 0 && velocity.x < -MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE) ||\n (relativeClientRect.x > 0 && velocity.x > MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE);\n }\n\n if (placement.startsWith('top')) {\n shouldBeClosedThreshold.y = relativeClientRect.y < -relativeClientRect.height / 2;\n shouldBeClosedByVelocity.y =\n relativeClientRect.y < 0 ? velocity.y < -MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE : false;\n }\n\n return (\n shouldBeClosedThreshold.x ||\n shouldBeClosedByVelocity.x ||\n shouldBeClosedThreshold.y ||\n /* istanbul ignore next: подсвечивает жёлтым и пишет \"branch not covered\" */\n shouldBeClosedByVelocity.y\n );\n}\n"],"names":["rubberbandIfOutOfBounds","resolveOffsetYCssStyle","placement","style","offsetY","undefined","top","bottom","getInitialShiftData","width","height","mediaQueries","shifted","direction","isDesktop","smallTabletPlus","matches","x","y","getMovedShiftData","shiftData","nextShift","endsWith","startsWith","movingToLeft","movingToRight","MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE","shouldBeClosedByShiftData","relativeClientRect","velocity","shouldBeClosedThreshold","shouldBeClosedByVelocity"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Snackbar/utils.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { MediaQueries } from '../../lib/adaptivity';\nimport { rubberbandIfOutOfBounds } from '../../lib/animation';\nimport type { ShiftData, SnackbarPlacement } from './types';\n\nexport function resolveOffsetYCssStyle(\n placement: SnackbarPlacement,\n offsetY?: React.CSSProperties['inset'],\n): React.CSSProperties | undefined {\n if (offsetY === undefined) {\n return undefined;\n }\n switch (placement) {\n case 'top-start':\n case 'top':\n case 'top-end':\n return { top: offsetY };\n case 'bottom-start':\n case 'bottom':\n case 'bottom-end':\n return { bottom: offsetY };\n }\n}\n\nexport function getInitialShiftData(\n width: number,\n height: number,\n mediaQueries: MediaQueries,\n): ShiftData {\n return {\n shifted: false,\n direction: null,\n isDesktop: mediaQueries.smallTabletPlus.matches, // eslint-disable-line no-restricted-properties,\n x: 0,\n y: 0,\n width,\n height,\n };\n}\n\nexport function getMovedShiftData(\n placement: SnackbarPlacement,\n shiftData: ShiftData,\n nextShift: { x: number; y: number },\n): ShiftData {\n /* istanbul ignore else: TODO чтобы протестировать кейс в блоке else, нужно мокать useMediaQueries(), чтобы перебивать mediaQueries.smallTabletPlus.matches */\n if (shiftData.isDesktop) {\n if (placement.endsWith('start')) {\n shiftData.x = rubberbandIfOutOfBounds(nextShift.x, -shiftData.width, 0);\n } else if (placement.endsWith('end')) {\n shiftData.x = rubberbandIfOutOfBounds(nextShift.x, 0, shiftData.width);\n }\n\n if (placement.startsWith('bottom')) {\n shiftData.y = rubberbandIfOutOfBounds(nextShift.y, 0, shiftData.height);\n }\n } else if (placement.startsWith('bottom')) {\n shiftData.x = nextShift.x;\n\n const movingToLeft = nextShift.x < 0 ? -1 : null;\n const movingToRight = nextShift.x > 0 ? 1 : null;\n shiftData.direction = movingToLeft || movingToRight;\n }\n\n if (placement.startsWith('top')) {\n shiftData.y = rubberbandIfOutOfBounds(nextShift.y, -shiftData.height, 0);\n }\n\n shiftData.shifted = true;\n\n return shiftData;\n}\n\nconst MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE = 200;\n\nexport function shouldBeClosedByShiftData(\n placement: SnackbarPlacement,\n shiftData: ShiftData,\n relativeClientRect: DOMRect,\n velocity: { x: number; y: number },\n): boolean {\n if (!shiftData.shifted) {\n return false;\n }\n\n const shouldBeClosedThreshold = { x: false, y: false };\n const shouldBeClosedByVelocity = { x: false, y: false };\n\n /* istanbul ignore else: TODO чтобы протестировать кейс в блоке else, нужно мокать useMediaQueries(), чтобы перебивать mediaQueries.smallTabletPlus.matches */\n if (shiftData.isDesktop) {\n if (placement.endsWith('start')) {\n shouldBeClosedThreshold.x = relativeClientRect.x < -relativeClientRect.width / 2;\n shouldBeClosedByVelocity.x =\n relativeClientRect.x < 0 ? velocity.x < -MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE : false;\n } else if (placement.endsWith('end')) {\n shouldBeClosedThreshold.x = relativeClientRect.x > relativeClientRect.width / 2;\n shouldBeClosedByVelocity.x =\n relativeClientRect.x > 0 ? velocity.x > MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE : false;\n }\n\n if (placement.startsWith('bottom')) {\n shouldBeClosedThreshold.y = relativeClientRect.y > relativeClientRect.height / 2;\n shouldBeClosedByVelocity.y =\n relativeClientRect.y > 0 ? velocity.y > MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE : false;\n }\n } else if (placement.startsWith('bottom')) {\n shouldBeClosedThreshold.x =\n relativeClientRect.x < -relativeClientRect.width / 2 ||\n relativeClientRect.x > relativeClientRect.width / 2;\n shouldBeClosedByVelocity.x =\n (relativeClientRect.x < 0 && velocity.x < -MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE) ||\n (relativeClientRect.x > 0 && velocity.x > MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE);\n }\n\n if (placement.startsWith('top')) {\n shouldBeClosedThreshold.y = relativeClientRect.y < -relativeClientRect.height / 2;\n shouldBeClosedByVelocity.y =\n relativeClientRect.y < 0 ? velocity.y < -MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE : false;\n }\n\n return (\n shouldBeClosedThreshold.x ||\n shouldBeClosedByVelocity.x ||\n shouldBeClosedThreshold.y ||\n /* istanbul ignore next: подсвечивает жёлтым и пишет \"branch not covered\" */\n shouldBeClosedByVelocity.y\n );\n}\n"],"names":["rubberbandIfOutOfBounds","resolveOffsetYCssStyle","placement","offsetY","undefined","top","bottom","getInitialShiftData","width","height","mediaQueries","shifted","direction","isDesktop","smallTabletPlus","matches","x","y","getMovedShiftData","shiftData","nextShift","endsWith","startsWith","movingToLeft","movingToRight","MINIMUM_PAN_GESTURE_FOR_TRIGGER_CLOSE","shouldBeClosedByShiftData","relativeClientRect","velocity","shouldBeClosedThreshold","shouldBeClosedByVelocity"],"mappings":"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"}
@@ -19,5 +19,5 @@ export interface SpacingProps extends HTMLAttributesWithRootRef<HTMLDivElement>
19
19
  /**
20
20
  * @see https://vkcom.github.io/VKUI/#/Spacing
21
21
  */
22
- export declare const Spacing: ({ size, style, ...restProps }: SpacingProps) => React.ReactNode;
22
+ export declare const Spacing: ({ size, ...restProps }: SpacingProps) => React.ReactNode;
23
23
  //# sourceMappingURL=Spacing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spacing.d.ts","sourceRoot":"","sources":["../../../src/components/Spacing/Spacing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI7D,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAE7E,MAAM,WAAW,YAAa,SAAQ,yBAAyB,CAAC,cAAc,CAAC;IAC7E;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AACD;;GAEG;AACH,eAAO,MAAM,OAAO,kCAAyC,YAAY,KAAG,KAAK,CAAC,SAmBjF,CAAC"}
1
+ {"version":3,"file":"Spacing.d.ts","sourceRoot":"","sources":["../../../src/components/Spacing/Spacing.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI7D,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAE7E,MAAM,WAAW,YAAa,SAAQ,yBAAyB,CAAC,cAAc,CAAC;IAC7E;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AACD;;GAEG;AACH,eAAO,MAAM,OAAO,2BAAkC,YAAY,KAAG,KAAK,CAAC,SAY1E,CAAC"}
@@ -10,13 +10,12 @@ export const CUSTOM_CSS_TOKEN_FOR_USER_GAP = '--vkui_internal--spacing_size';
10
10
  /**
11
11
  * @see https://vkcom.github.io/VKUI/#/Spacing
12
12
  */ export const Spacing = (_param)=>{
13
- var { size = 'm', style } = _param, restProps = _object_without_properties(_param, [
14
- "size",
15
- "style"
13
+ var { size = 'm' } = _param, restProps = _object_without_properties(_param, [
14
+ "size"
16
15
  ]);
17
16
  const [spacingSizeClassName, spacingSizeStyle] = resolveSpacingSize(CUSTOM_CSS_TOKEN_FOR_USER_GAP, size);
18
17
  return /*#__PURE__*/ _jsx(RootComponent, _object_spread_props(_object_spread({}, restProps), {
19
- style: spacingSizeStyle ? _object_spread({}, spacingSizeStyle, style) : style,
18
+ baseStyle: spacingSizeStyle,
20
19
  baseClassName: classNames("vkuiSpacing__host", spacingSizeClassName)
21
20
  }));
22
21
  };
@@ -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', style, ...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 style={\n spacingSizeStyle\n ? {\n ...spacingSizeStyle,\n ...style,\n }\n : style\n }\n baseClassName={classNames(styles.host, spacingSizeClassName)}\n />\n );\n};\n"],"names":["React","classNames","resolveSpacingSize","RootComponent","CUSTOM_CSS_TOKEN_FOR_USER_GAP","Spacing","size","style","restProps","spacingSizeClassName","spacingSizeStyle","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,EAAEC,KAAK,EAA8B,WAAzBC;QAAtBF;QAAYC;;IACpC,MAAM,CAACE,sBAAsBC,iBAAiB,GAAGR,mBAC/CE,+BACAE;IAEF,qBACE,KAACH,uDACKK;QACJD,OACEG,mBACI,mBACKA,kBACAH,SAELA;QAENI,eAAeV,gCAAwBQ;;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://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 +1 @@
1
- {"version":3,"file":"SplitCol.d.ts","sourceRoot":"","sources":["../../../src/components/SplitCol/SplitCol.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAyC7D,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,cAAc,CAAC;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,UAAW,aAAa,KAAG,KAAK,CAAC,SAiDrD,CAAC"}
1
+ {"version":3,"file":"SplitCol.d.ts","sourceRoot":"","sources":["../../../src/components/SplitCol/SplitCol.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAyC7D,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,cAAc,CAAC;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,UAAW,aAAa,KAAG,KAAK,CAAC,SA+CrD,CAAC"}
@@ -48,14 +48,13 @@ function useTransitionAnimate(animateProp) {
48
48
  /**
49
49
  * @see https://vkcom.github.io/VKUI/#/SplitCol
50
50
  */ export const SplitCol = (props)=>{
51
- const { children, width, maxWidth, minWidth, animate: animateProp, fixed, style, autoSpaced, stretchedOnMobile, getRootRef } = props, restProps = _object_without_properties(props, [
51
+ const { children, width, maxWidth, minWidth, animate: animateProp, fixed, autoSpaced, stretchedOnMobile, getRootRef } = props, restProps = _object_without_properties(props, [
52
52
  "children",
53
53
  "width",
54
54
  "maxWidth",
55
55
  "minWidth",
56
56
  "animate",
57
57
  "fixed",
58
- "style",
59
58
  "autoSpaced",
60
59
  "stretchedOnMobile",
61
60
  "getRootRef"
@@ -71,11 +70,11 @@ function useTransitionAnimate(animateProp) {
71
70
  baseRef
72
71
  ]);
73
72
  return /*#__PURE__*/ _jsx(RootComponent, _object_spread_props(_object_spread({}, restProps), {
74
- style: _object_spread({
73
+ baseStyle: {
75
74
  width,
76
75
  maxWidth,
77
76
  minWidth
78
- }, style),
77
+ },
79
78
  getRootRef: baseRef,
80
79
  baseClassName: classNames("vkuiSplitCol__host", viewWidthToClassName(breakpointClassNames, viewWidth), autoSpaced && classNames("vkuiSplitCol__spacedAuto", 'vkuiInternalSplitCol--spaced-auto'), fixed && "vkuiSplitCol__fixed", stretchedOnMobile && "vkuiSplitCol__stretchedOnMobile"),
81
80
  children: /*#__PURE__*/ _jsx(SplitColContext.Provider, {
@@ -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 width?: number | string;\n maxWidth?: number | string;\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`\n */\n autoSpaced?: boolean;\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 style,\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 style={{\n width,\n maxWidth,\n minWidth,\n ...style,\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","style","autoSpaced","stretchedOnMobile","getRootRef","restProps","baseRef","contextValue","useMemo","colRef","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;AAqBA;;CAEC,GACD,OAAO,MAAMU,WAAW,CAACC;IACvB,MAAM,EACJC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRf,SAASF,WAAW,EACpBkB,KAAK,EACLC,KAAK,EACLC,UAAU,EACVC,iBAAiB,EACjBC,UAAU,EAEX,GAAGT,OADCU,uCACDV;QAXFC;QACAC;QACAC;QACAC;QACAf;QACAgB;QACAC;QACAC;QACAC;QACAC;;IAGF,MAAME,UAAUtC,aAAaoC;IAC7B,MAAM,EAAErB,SAAS,EAAE,GAAGhB;IACtB,MAAMiB,UAAUH,qBAAqBC;IAErC,MAAMyB,eAAe1C,MAAM2C,OAAO,CAChC,IAAO,CAAA;YACLC,QAAQH;YACRtB;QACF,CAAA,GACA;QAACA;QAASsB;KAAQ;IAGpB,qBACE,KAAChC,uDACK+B;QACJJ,OAAO;YACLJ;YACAC;YACAC;WACGE;QAELG,YAAYE;QACZI,eAAe5C,iCAEbK,qBAAqBK,sBAAsBO,YAC3CmB,cAAcpC,uCAA8B,sCAC5CkC,gCACAG;kBAGF,cAAA,KAAC5B,gBAAgBoC,QAAQ;YAACC,OAAOL;sBAC9BP,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 width?: number | string;\n maxWidth?: number | string;\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`\n */\n autoSpaced?: boolean;\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;AAqBA;;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 +1 @@
1
- {"version":3,"file":"SplitLayout.d.ts","sourceRoot":"","sources":["../../../src/components/SplitLayout/SplitLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAIrE,MAAM,WAAW,gBACf,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAC/C,MAAM,CAAC,cAAc,CAAC;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,6FAUrB,gBAAgB,KAAG,KAAK,CAAC,SA0B3B,CAAC"}
1
+ {"version":3,"file":"SplitLayout.d.ts","sourceRoot":"","sources":["../../../src/components/SplitLayout/SplitLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAGrE,MAAM,WAAW,gBACf,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAC/C,MAAM,CAAC,cAAc,CAAC;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,6FAUrB,gBAAgB,KAAG,KAAK,CAAC,SAsB3B,CAAC"}
@@ -5,9 +5,7 @@ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_
5
5
  import { jsxs as _jsxs } from "react/jsx-runtime";
6
6
  import * as React from "react";
7
7
  import { classNames } from "@vkontakte/vkjs";
8
- import { useExternRef } from "../../hooks/useExternRef.js";
9
8
  import { usePlatform } from "../../hooks/usePlatform.js";
10
- import { AppRootContext } from "../AppRoot/AppRootContext.js";
11
9
  /**
12
10
  * @see https://vkcom.github.io/VKUI/#/SplitLayout
13
11
  */ export const SplitLayout = (_param)=>{
@@ -22,11 +20,9 @@ import { AppRootContext } from "../AppRoot/AppRootContext.js";
22
20
  "popout"
23
21
  ]);
24
22
  const platform = usePlatform();
25
- const { popoutModalRoot } = React.useContext(AppRootContext);
26
- const rootRef = useExternRef(popoutModalRoot, getRootRef);
27
23
  return /*#__PURE__*/ _jsxs("div", {
28
24
  className: classNames("vkuiSplitLayout__host", platform === 'ios' && "vkuiSplitLayout__ios"),
29
- ref: rootRef,
25
+ ref: getRootRef,
30
26
  children: [
31
27
  header,
32
28
  /*#__PURE__*/ _jsxs("div", _object_spread_props(_object_spread({}, restProps), {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SplitLayout/SplitLayout.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasRef, HTMLAttributesWithRootRef } from '../../types';\nimport { AppRootContext } from '../AppRoot/AppRootContext';\nimport styles from './SplitLayout.module.css';\n\nexport interface SplitLayoutProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n *\n * @deprecated будет удалёно в **VKUI v8**\n * Начиная с **VKUI v7** компоненты можно располагать в любом\n * месте приложения в пределах `AppRoot`\n */\n popout?: React.ReactNode;\n /**\n * Свойство для отрисовки `ModalRoot`.\n *\n * @deprecated будет удалёно в **VKUI v8**\n * Начиная с **VKUI v7** `ModalRoot` можно располагать в любом\n * месте приложения в пределах `AppRoot`\n */\n modal?: React.ReactNode;\n header?: React.ReactNode;\n /**\n * Центрирует контент.\n */\n center?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitLayout\n */\nexport const SplitLayout = ({\n header,\n children,\n getRootRef,\n getRef,\n className,\n center,\n modal,\n popout,\n ...restProps\n}: SplitLayoutProps): React.ReactNode => {\n const platform = usePlatform();\n\n const { popoutModalRoot } = React.useContext(AppRootContext);\n\n const rootRef = useExternRef<HTMLDivElement>(popoutModalRoot, getRootRef);\n\n return (\n <div className={classNames(styles.host, platform === 'ios' && styles.ios)} ref={rootRef}>\n {header}\n <div\n {...restProps}\n ref={getRef}\n className={classNames(\n styles.inner,\n !!header && styles.innerHeader,\n center && styles.innerCenter,\n className,\n )}\n >\n {children}\n {modal}\n {popout}\n </div>\n </div>\n );\n};\n"],"names":["React","classNames","useExternRef","usePlatform","AppRootContext","SplitLayout","header","children","getRootRef","getRef","className","center","modal","popout","restProps","platform","popoutModalRoot","useContext","rootRef","div","ref"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,cAAc,QAAQ,+BAA4B;AA6B3D;;CAEC,GACD,OAAO,MAAMC,cAAc;QAAC,EAC1BC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,MAAM,EAEW,WADdC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWZ;IAEjB,MAAM,EAAEa,eAAe,EAAE,GAAGhB,MAAMiB,UAAU,CAACb;IAE7C,MAAMc,UAAUhB,aAA6Bc,iBAAiBR;IAE9D,qBACE,MAACW;QAAIT,WAAWT,oCAAwBc,aAAa;QAAsBK,KAAKF;;YAC7EZ;0BACD,MAACa,+CACKL;gBACJM,KAAKX;gBACLC,WAAWT,qCAET,CAAC,CAACK,0CACFK,0CACAD;;oBAGDH;oBACAK;oBACAC;;;;;AAIT,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/SplitLayout/SplitLayout.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasRef, HTMLAttributesWithRootRef } from '../../types';\nimport styles from './SplitLayout.module.css';\n\nexport interface SplitLayoutProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n *\n * @deprecated будет удалёно в **VKUI v8**\n * Начиная с **VKUI v7** компоненты можно располагать в любом\n * месте приложения в пределах `AppRoot`\n */\n popout?: React.ReactNode;\n /**\n * Свойство для отрисовки `ModalRoot`.\n *\n * @deprecated будет удалёно в **VKUI v8**\n * Начиная с **VKUI v7** `ModalRoot` можно располагать в любом\n * месте приложения в пределах `AppRoot`\n */\n modal?: React.ReactNode;\n header?: React.ReactNode;\n /**\n * Центрирует контент.\n */\n center?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitLayout\n */\nexport const SplitLayout = ({\n header,\n children,\n getRootRef,\n getRef,\n className,\n center,\n modal,\n popout,\n ...restProps\n}: SplitLayoutProps): React.ReactNode => {\n const platform = usePlatform();\n\n return (\n <div className={classNames(styles.host, platform === 'ios' && styles.ios)} ref={getRootRef}>\n {header}\n <div\n {...restProps}\n ref={getRef}\n className={classNames(\n styles.inner,\n !!header && styles.innerHeader,\n center && styles.innerCenter,\n className,\n )}\n >\n {children}\n {modal}\n {popout}\n </div>\n </div>\n );\n};\n"],"names":["React","classNames","usePlatform","SplitLayout","header","children","getRootRef","getRef","className","center","modal","popout","restProps","platform","div","ref"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,6BAA0B;AA8BtD;;CAEC,GACD,OAAO,MAAMC,cAAc;QAAC,EAC1BC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,MAAM,EAEW,WADdC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWX;IAEjB,qBACE,MAACY;QAAIN,WAAWP,oCAAwBY,aAAa;QAAsBE,KAAKT;;YAC7EF;0BACD,MAACU,+CACKF;gBACJG,KAAKR;gBACLC,WAAWP,qCAET,CAAC,CAACG,0CACFK,0CACAD;;oBAGDH;oBACAK;oBACAC;;;;;AAIT,EAAE"}
@@ -22,5 +22,5 @@ export interface SubnavigationButtonProps extends Omit<TappableProps, 'size'> {
22
22
  /**
23
23
  * @see https://vkcom.github.io/VKUI/#/SubnavigationButton
24
24
  */
25
- export declare const SubnavigationButton: ({ mode, appearance, size, selected, textLevel, before, after, chevron, children, className, ...restProps }: SubnavigationButtonProps) => React.ReactNode;
25
+ export declare const SubnavigationButton: ({ mode, appearance, size, selected, textLevel, before, after, chevron, children, ...restProps }: SubnavigationButtonProps) => React.ReactNode;
26
26
  //# sourceMappingURL=SubnavigationButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubnavigationButton.d.ts","sourceRoot":"","sources":["../../../src/components/SubnavigationButton/SubnavigationButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA2BpE,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IAC3E,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoBD;;GAEG;AACH,eAAO,MAAM,mBAAmB,+GAY7B,wBAAwB,KAAG,KAAK,CAAC,SAgCnC,CAAC"}
1
+ {"version":3,"file":"SubnavigationButton.d.ts","sourceRoot":"","sources":["../../../src/components/SubnavigationButton/SubnavigationButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA2BpE,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IAC3E,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoBD;;GAEG;AACH,eAAO,MAAM,mBAAmB,oGAW7B,wBAAwB,KAAG,KAAK,CAAC,SA+BnC,CAAC"}
@@ -42,7 +42,7 @@ const SubnavigationButtonTypography = (_param)=>{
42
42
  /**
43
43
  * @see https://vkcom.github.io/VKUI/#/SubnavigationButton
44
44
  */ export const SubnavigationButton = (_param)=>{
45
- var { mode = 'primary', appearance = 'accent', size = 'm', selected, textLevel = '1', before, after, chevron, children, className } = _param, restProps = _object_without_properties(_param, [
45
+ var { mode = 'primary', appearance = 'accent', size = 'm', selected, textLevel = '1', before, after, chevron, children } = _param, restProps = _object_without_properties(_param, [
46
46
  "mode",
47
47
  "appearance",
48
48
  "size",
@@ -51,14 +51,13 @@ const SubnavigationButtonTypography = (_param)=>{
51
51
  "before",
52
52
  "after",
53
53
  "chevron",
54
- "children",
55
- "className"
54
+ "children"
56
55
  ]);
57
56
  const { sizeY = 'none' } = useAdaptivity();
58
57
  return /*#__PURE__*/ _jsx(Tappable, _object_spread_props(_object_spread({}, restProps), {
59
58
  hasActive: false,
60
59
  focusVisibleMode: "outside",
61
- className: classNames("vkuiSubnavigationButton__host", sizeStyles[size], modeStyles[mode], appearanceStyles[appearance], selected && "vkuiSubnavigationButton__selected", sizeY !== 'regular' && sizeYClassNames[sizeY], className),
60
+ baseClassName: classNames("vkuiSubnavigationButton__host", sizeStyles[size], modeStyles[mode], appearanceStyles[appearance], selected && "vkuiSubnavigationButton__selected", sizeY !== 'regular' && sizeYClassNames[sizeY]),
62
61
  children: /*#__PURE__*/ _jsxs("span", {
63
62
  className: "vkuiSubnavigationButton__in",
64
63
  children: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SubnavigationButton/SubnavigationButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Dropdown } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport type { HasChildren, HasComponent } from '../../types';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './SubnavigationButton.module.css';\n\nconst appearanceStyles = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n};\n\nconst modeStyles = {\n primary: styles.modePrimary,\n outline: styles.modeOutline,\n tertiary: styles.modeTertiary,\n};\n\nconst sizeStyles = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface SubnavigationButtonProps extends Omit<TappableProps, 'size'> {\n mode?: 'primary' | 'outline' | 'tertiary';\n appearance?: 'accent' | 'neutral';\n size?: 's' | 'm' | 'l';\n selected?: boolean;\n /**\n * Размер шрифта. Этим свойством рекомендуется пользоваться, чтобы отрегулировать размер шрифта у кнопок в `<SubnavigationBar fixed />`\n */\n textLevel?: '1' | '2' | '3';\n /**\n * Рекомендуется использовать только иконки с размером 24\n */\n before?: React.ReactNode;\n /**\n * Рекомендуется использовать только `<Counter size=\"s\" />` или `<Badge />`\n */\n after?: React.ReactNode;\n chevron?: boolean;\n}\n\ntype SubnavigationButtonTypographyProps = Pick<\n SubnavigationButtonProps,\n 'textLevel' | 'className'\n> &\n HasComponent &\n HasChildren;\n\nconst SubnavigationButtonTypography = ({\n textLevel,\n ...restProps\n}: SubnavigationButtonTypographyProps) => {\n if (textLevel === '1') {\n return <Subhead {...restProps} />;\n }\n\n return <Caption level={textLevel === '2' ? '1' : '2'} {...restProps} />;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SubnavigationButton\n */\nexport const SubnavigationButton = ({\n mode = 'primary',\n appearance = 'accent',\n size = 'm',\n selected,\n textLevel = '1',\n before,\n after,\n chevron,\n children,\n className,\n ...restProps\n}: SubnavigationButtonProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n hasActive={false}\n focusVisibleMode=\"outside\"\n className={classNames(\n styles.host,\n sizeStyles[size],\n modeStyles[mode],\n appearanceStyles[appearance],\n selected && styles.selected,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n >\n <span className={styles.in}>\n {before && <span className={styles.before}>{before}</span>}\n <SubnavigationButtonTypography\n textLevel={textLevel}\n className={styles.label}\n Component=\"span\"\n >\n {children}\n </SubnavigationButtonTypography>\n {after && <span className={styles.after}>{after}</span>}\n {chevron && <Icon16Dropdown className={styles.chevronIcon} />}\n </span>\n </Tappable>\n );\n};\n"],"names":["React","Icon16Dropdown","classNames","useAdaptivity","Tappable","Caption","Subhead","appearanceStyles","accent","neutral","modeStyles","primary","outline","tertiary","sizeStyles","s","m","l","sizeYClassNames","none","compact","SubnavigationButtonTypography","textLevel","restProps","level","SubnavigationButton","mode","appearance","size","selected","before","after","chevron","children","className","sizeY","hasActive","focusVisibleMode","span","Component"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAE1D,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,OAAO,QAAQ,mCAAgC;AAGxD,MAAMC,mBAAmB;IACvBC,MAAM;IACNC,OAAO;AACT;AAEA,MAAMC,aAAa;IACjBC,OAAO;IACPC,OAAO;IACPC,QAAQ;AACV;AAEA,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;IACDC,CAAC;AACH;AAEA,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AA6BA,MAAMC,gCAAgC;QAAC,EACrCC,SAAS,EAE0B,WADhCC;QADHD;;IAGA,IAAIA,cAAc,KAAK;QACrB,qBAAO,KAAChB,4BAAYiB;IACtB;IAEA,qBAAO,KAAClB;QAAQmB,OAAOF,cAAc,MAAM,MAAM;OAASC;AAC5D;AAEA;;CAEC,GACD,OAAO,MAAME,sBAAsB;QAAC,EAClCC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,OAAO,GAAG,EACVC,QAAQ,EACRP,YAAY,GAAG,EACfQ,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACRC,SAAS,EAEgB,WADtBX;QAVHG;QACAC;QACAC;QACAC;QACAP;QACAQ;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAGhC;IAE3B,qBACE,KAACC,kDACKmB;QACJa,WAAW;QACXC,kBAAiB;QACjBH,WAAWhC,4CAETY,UAAU,CAACc,KAAK,EAChBlB,UAAU,CAACgB,KAAK,EAChBnB,gBAAgB,CAACoB,WAAW,EAC5BE,iDACAM,UAAU,aAAajB,eAAe,CAACiB,MAAM,EAC7CD;kBAGF,cAAA,MAACI;YAAKJ,SAAS;;gBACZJ,wBAAU,KAACQ;oBAAKJ,SAAS;8BAAkBJ;;8BAC5C,KAACT;oBACCC,WAAWA;oBACXY,SAAS;oBACTK,WAAU;8BAETN;;gBAEFF,uBAAS,KAACO;oBAAKJ,SAAS;8BAAiBH;;gBACzCC,yBAAW,KAAC/B;oBAAeiC,SAAS;;;;;AAI7C,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/SubnavigationButton/SubnavigationButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Dropdown } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport type { HasChildren, HasComponent } from '../../types';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './SubnavigationButton.module.css';\n\nconst appearanceStyles = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n};\n\nconst modeStyles = {\n primary: styles.modePrimary,\n outline: styles.modeOutline,\n tertiary: styles.modeTertiary,\n};\n\nconst sizeStyles = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface SubnavigationButtonProps extends Omit<TappableProps, 'size'> {\n mode?: 'primary' | 'outline' | 'tertiary';\n appearance?: 'accent' | 'neutral';\n size?: 's' | 'm' | 'l';\n selected?: boolean;\n /**\n * Размер шрифта. Этим свойством рекомендуется пользоваться, чтобы отрегулировать размер шрифта у кнопок в `<SubnavigationBar fixed />`\n */\n textLevel?: '1' | '2' | '3';\n /**\n * Рекомендуется использовать только иконки с размером 24\n */\n before?: React.ReactNode;\n /**\n * Рекомендуется использовать только `<Counter size=\"s\" />` или `<Badge />`\n */\n after?: React.ReactNode;\n chevron?: boolean;\n}\n\ntype SubnavigationButtonTypographyProps = Pick<\n SubnavigationButtonProps,\n 'textLevel' | 'className'\n> &\n HasComponent &\n HasChildren;\n\nconst SubnavigationButtonTypography = ({\n textLevel,\n ...restProps\n}: SubnavigationButtonTypographyProps) => {\n if (textLevel === '1') {\n return <Subhead {...restProps} />;\n }\n\n return <Caption level={textLevel === '2' ? '1' : '2'} {...restProps} />;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SubnavigationButton\n */\nexport const SubnavigationButton = ({\n mode = 'primary',\n appearance = 'accent',\n size = 'm',\n selected,\n textLevel = '1',\n before,\n after,\n chevron,\n children,\n ...restProps\n}: SubnavigationButtonProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n hasActive={false}\n focusVisibleMode=\"outside\"\n baseClassName={classNames(\n styles.host,\n sizeStyles[size],\n modeStyles[mode],\n appearanceStyles[appearance],\n selected && styles.selected,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n )}\n >\n <span className={styles.in}>\n {before && <span className={styles.before}>{before}</span>}\n <SubnavigationButtonTypography\n textLevel={textLevel}\n className={styles.label}\n Component=\"span\"\n >\n {children}\n </SubnavigationButtonTypography>\n {after && <span className={styles.after}>{after}</span>}\n {chevron && <Icon16Dropdown className={styles.chevronIcon} />}\n </span>\n </Tappable>\n );\n};\n"],"names":["React","Icon16Dropdown","classNames","useAdaptivity","Tappable","Caption","Subhead","appearanceStyles","accent","neutral","modeStyles","primary","outline","tertiary","sizeStyles","s","m","l","sizeYClassNames","none","compact","SubnavigationButtonTypography","textLevel","restProps","level","SubnavigationButton","mode","appearance","size","selected","before","after","chevron","children","sizeY","hasActive","focusVisibleMode","baseClassName","span","className","Component"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAE1D,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,OAAO,QAAQ,mCAAgC;AAGxD,MAAMC,mBAAmB;IACvBC,MAAM;IACNC,OAAO;AACT;AAEA,MAAMC,aAAa;IACjBC,OAAO;IACPC,OAAO;IACPC,QAAQ;AACV;AAEA,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;IACDC,CAAC;AACH;AAEA,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AA6BA,MAAMC,gCAAgC;QAAC,EACrCC,SAAS,EAE0B,WADhCC;QADHD;;IAGA,IAAIA,cAAc,KAAK;QACrB,qBAAO,KAAChB,4BAAYiB;IACtB;IAEA,qBAAO,KAAClB;QAAQmB,OAAOF,cAAc,MAAM,MAAM;OAASC;AAC5D;AAEA;;CAEC,GACD,OAAO,MAAME,sBAAsB;QAAC,EAClCC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,OAAO,GAAG,EACVC,QAAQ,EACRP,YAAY,GAAG,EACfQ,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,QAAQ,EAEiB,WADtBV;QATHG;QACAC;QACAC;QACAC;QACAP;QACAQ;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAG/B;IAE3B,qBACE,KAACC,kDACKmB;QACJY,WAAW;QACXC,kBAAiB;QACjBC,eAAenC,4CAEbY,UAAU,CAACc,KAAK,EAChBlB,UAAU,CAACgB,KAAK,EAChBnB,gBAAgB,CAACoB,WAAW,EAC5BE,iDACAK,UAAU,aAAahB,eAAe,CAACgB,MAAM;kBAG/C,cAAA,MAACI;YAAKC,SAAS;;gBACZT,wBAAU,KAACQ;oBAAKC,SAAS;8BAAkBT;;8BAC5C,KAACT;oBACCC,WAAWA;oBACXiB,SAAS;oBACTC,WAAU;8BAETP;;gBAEFF,uBAAS,KAACO;oBAAKC,SAAS;8BAAiBR;;gBACzCC,yBAAW,KAAC/B;oBAAesC,SAAS;;;;;AAI7C,EAAE"}
@@ -29,5 +29,5 @@ export interface TabsItemProps extends HTMLAttributesWithRootRef<HTMLElement>, A
29
29
  /**
30
30
  * @see https://vkcom.github.io/VKUI/#/TabsItem
31
31
  */
32
- export declare const TabsItem: ({ before, children, status, after, selected, className, role, tabIndex: tabIndexProp, getRootRef, hoverMode, activeMode, hovered, activated, hasHover, hasActive, focusVisibleMode, ...restProps }: TabsItemProps) => React.ReactNode;
32
+ export declare const TabsItem: ({ before, children, status, after, selected, role, tabIndex: tabIndexProp, getRootRef, hoverMode, activeMode, hovered, activated, hasHover, hasActive, focusVisibleMode, ...restProps }: TabsItemProps) => React.ReactNode;
33
33
  //# sourceMappingURL=TabsItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabsItem.d.ts","sourceRoot":"","sources":["../../../src/components/TabsItem/TabsItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsBpE,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,WAAW,CAAC,EAC5C,wBAAwB,EACxB,IAAI,CACF,aAAa,EACX,YAAY,GACZ,WAAW,GACX,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,GACV,kBAAkB,CACrB;IACH;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IACrC;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID;;GAEG;AACH,eAAO,MAAM,QAAQ,uMAkBlB,aAAa,KAAG,KAAK,CAAC,SAgIxB,CAAC"}
1
+ {"version":3,"file":"TabsItem.d.ts","sourceRoot":"","sources":["../../../src/components/TabsItem/TabsItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsBpE,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,WAAW,CAAC,EAC5C,wBAAwB,EACxB,IAAI,CACF,aAAa,EACX,YAAY,GACZ,WAAW,GACX,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,GACV,kBAAkB,CACrB;IACH;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IACrC;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID;;GAEG;AACH,eAAO,MAAM,QAAQ,4LAiBlB,aAAa,KAAG,KAAK,CAAC,SA+HxB,CAAC"}
@@ -32,13 +32,12 @@ const warn = warnOnce('TabsItem');
32
32
  /**
33
33
  * @see https://vkcom.github.io/VKUI/#/TabsItem
34
34
  */ export const TabsItem = (_param)=>{
35
- var { before, children, status, after, selected = false, className, role = 'tab', tabIndex: tabIndexProp, getRootRef, hoverMode = "vkuiTabsItem__hover", activeMode = '', hovered, activated, hasHover, hasActive = false, focusVisibleMode = 'inside' } = _param, restProps = _object_without_properties(_param, [
35
+ var { before, children, status, after, selected = false, role = 'tab', tabIndex: tabIndexProp, getRootRef, hoverMode = "vkuiTabsItem__hover", activeMode = '', hovered, activated, hasHover, hasActive = false, focusVisibleMode = 'inside' } = _param, restProps = _object_without_properties(_param, [
36
36
  "before",
37
37
  "children",
38
38
  "status",
39
39
  "after",
40
40
  "selected",
41
- "className",
42
41
  "role",
43
42
  "tabIndex",
44
43
  "getRootRef",
@@ -119,7 +118,7 @@ const warn = warnOnce('TabsItem');
119
118
  ]);
120
119
  return /*#__PURE__*/ _jsxs(Tappable, _object_spread_props(_object_spread({}, restProps), {
121
120
  getRootRef: rootRef,
122
- className: classNames("vkuiTabsItem__host", mode && stylesMode[mode], selected && "vkuiTabsItem__selected", sizeY !== 'regular' && sizeYClassNames[sizeY], withGaps && "vkuiTabsItem__withGaps", layoutFillMode !== 'auto' && fillModeClassNames[layoutFillMode], className),
121
+ baseClassName: classNames("vkuiTabsItem__host", mode && stylesMode[mode], selected && "vkuiTabsItem__selected", sizeY !== 'regular' && sizeYClassNames[sizeY], withGaps && "vkuiTabsItem__withGaps", layoutFillMode !== 'auto' && fillModeClassNames[layoutFillMode]),
123
122
  hoverMode: hoverMode,
124
123
  activeMode: activeMode,
125
124
  hasHover: hasHover,