@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/TabsItem/TabsItem.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { useDOM } from '../../lib/dom';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { AnchorHTMLAttributesOnly, HTMLAttributesWithRootRef } from '../../types';\nimport { type TabsContextProps, TabsModeContext } from '../Tabs/Tabs';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './TabsItem.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst stylesMode = {\n default: styles.modeDefault,\n accent: styles.modeAccent,\n secondary: styles.modeSecondary,\n};\n\nconst fillModeClassNames = {\n stretched: styles.stretched,\n shrinked: styles.shrinked,\n};\n\nexport interface TabsItemProps\n extends HTMLAttributesWithRootRef<HTMLElement>,\n AnchorHTMLAttributesOnly,\n Pick<\n TappableProps,\n | 'activeMode'\n | 'hoverMode'\n | 'hovered'\n | 'activated'\n | 'hasActive'\n | 'hasHover'\n | 'focusVisibleMode'\n > {\n /**\n * Добавляет иконку слева.\n *\n * - Для `mode=\"default\"` используйте иконки размером 24.\n * - Для всех остальных `mode` используйте иконки размером 20.\n */\n before?: React.ReactNode;\n /**\n * Добавляет элемент слева от `after`.\n *\n * - `React.ReactElement` – либо [`Badge`](https://vkcom.github.io/VKUI/#/Badge) с параметром `mode=\"prominent\"`.\n * либо [`Counter`](https://vkcom.github.io/VKUI/#/Counter) с параметрами `mode=\"prominent\" size=\"s\"`.\n * - `number` – для показа текстового блока с переданным числом.\n */\n status?: React.ReactElement | number;\n /**\n * Добавляет иконку справа.\n *\n * Например, `<Icon16Dropdown />`\n */\n after?: React.ReactNode;\n selected?: boolean;\n disabled?: boolean;\n}\n\nconst warn = warnOnce('TabsItem');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabsItem\n */\nexport const TabsItem = ({\n before,\n children,\n status,\n after,\n selected = false,\n className,\n role = 'tab',\n tabIndex: tabIndexProp,\n getRootRef,\n hoverMode = styles.hover,\n activeMode = '',\n hovered,\n activated,\n hasHover,\n hasActive = false,\n focusVisibleMode = 'inside',\n ...restProps\n}: TabsItemProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n const {\n mode,\n withGaps,\n layoutFillMode,\n scrollBehaviorToSelectedTab,\n withScrollToSelectedTab,\n }: TabsContextProps = React.useContext(TabsModeContext);\n let statusComponent = null;\n\n const isTabFlow = role === 'tab';\n\n if (hasReactNode(status)) {\n statusComponent =\n typeof status === 'number' ? (\n <Subhead\n Component=\"span\"\n className={classNames(styles.status, styles.statusCount)}\n weight=\"2\"\n >\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </Subhead>\n ) : (\n <span className={styles.status}>\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </span>\n );\n }\n\n if (process.env.NODE_ENV === 'development' && isTabFlow) {\n if (!restProps['aria-controls']) {\n warn(`Передайте в \"aria-controls\" id контролируемого блока`, 'warn');\n } else if (!restProps['id']) {\n warn(\n `Передайте \"id\" компоненту для использования в \"aria-labelledby\" контролируемого блока`,\n 'warn',\n );\n }\n }\n\n let tabIndex = tabIndexProp;\n if (isTabFlow && tabIndex === undefined) {\n tabIndex = selected ? 0 : -1;\n }\n\n const rootRef = useExternRef(getRootRef);\n\n const prevSelected = usePrevious(selected);\n const isInitialRender = prevSelected === undefined;\n const shouldScrollToSelected =\n withScrollToSelectedTab && !isInitialRender && prevSelected !== selected && selected;\n\n const { document } = useDOM();\n React.useEffect(\n function scrollToSelectedItem() {\n if (!shouldScrollToSelected || !rootRef.current || !document) {\n return;\n }\n\n const tabDOMRect = rootRef.current.getBoundingClientRect();\n const isTabVerticallyOutsideOfViewport =\n tabDOMRect.top < 0 || tabDOMRect.bottom > document.documentElement.clientHeight;\n\n /* проверяем, возможен ли вертикальный скролл, а он возможен для scrollIntoView если\n * элемент вертикально вне зоны видимости */\n if (isTabVerticallyOutsideOfViewport) {\n return;\n }\n\n /* Не все браузеры поддерживают используемые нами опции. */\n try {\n rootRef.current.scrollIntoView({\n inline: scrollBehaviorToSelectedTab,\n block: 'nearest',\n behavior: 'smooth',\n });\n } catch {\n /* Вызывать scrollIntoView с булевым аргументом не следует, потому что это повлечёт\n * вертикальный скролл.\n **/\n }\n },\n [rootRef, document, shouldScrollToSelected, scrollBehaviorToSelectedTab],\n );\n\n return (\n <Tappable\n {...restProps}\n getRootRef={rootRef}\n className={classNames(\n styles.host,\n mode && stylesMode[mode],\n selected && styles.selected,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n withGaps && styles.withGaps,\n layoutFillMode !== 'auto' && fillModeClassNames[layoutFillMode],\n className,\n )}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n hovered={hovered}\n activated={activated}\n focusVisibleMode={focusVisibleMode}\n role={role}\n aria-selected={selected}\n tabIndex={tabIndex}\n >\n {before && <div className={styles.before}>{before}</div>}\n <Headline\n Component=\"span\"\n className={styles.label}\n level={mode === 'default' ? '1' : '2'}\n weight=\"2\"\n >\n {children}\n </Headline>\n {statusComponent}\n {after && <div className={styles.after}>{after}</div>}\n {mode === 'default' && (\n <div className={styles.underline} aria-hidden data-selected={selected} />\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","useExternRef","usePrevious","useDOM","warnOnce","TabsModeContext","Tappable","Headline","Subhead","VisuallyHidden","sizeYClassNames","none","compact","stylesMode","default","accent","secondary","fillModeClassNames","stretched","shrinked","warn","TabsItem","before","children","status","after","selected","className","role","tabIndex","tabIndexProp","getRootRef","hoverMode","activeMode","hovered","activated","hasHover","hasActive","focusVisibleMode","restProps","sizeY","mode","withGaps","layoutFillMode","scrollBehaviorToSelectedTab","withScrollToSelectedTab","useContext","statusComponent","isTabFlow","Component","weight","span","process","env","NODE_ENV","undefined","rootRef","prevSelected","isInitialRender","shouldScrollToSelected","document","useEffect","scrollToSelectedItem","current","tabDOMRect","getBoundingClientRect","isTabVerticallyOutsideOfViewport","top","bottom","documentElement","clientHeight","scrollIntoView","inline","block","behavior","aria-selected","div","level","aria-hidden","data-selected"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/TabsItem/TabsItem.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { useDOM } from '../../lib/dom';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { AnchorHTMLAttributesOnly, HTMLAttributesWithRootRef } from '../../types';\nimport { type TabsContextProps, TabsModeContext } from '../Tabs/Tabs';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './TabsItem.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nconst stylesMode = {\n default: styles.modeDefault,\n accent: styles.modeAccent,\n secondary: styles.modeSecondary,\n};\n\nconst fillModeClassNames = {\n stretched: styles.stretched,\n shrinked: styles.shrinked,\n};\n\nexport interface TabsItemProps\n extends HTMLAttributesWithRootRef<HTMLElement>,\n AnchorHTMLAttributesOnly,\n Pick<\n TappableProps,\n | 'activeMode'\n | 'hoverMode'\n | 'hovered'\n | 'activated'\n | 'hasActive'\n | 'hasHover'\n | 'focusVisibleMode'\n > {\n /**\n * Добавляет иконку слева.\n *\n * - Для `mode=\"default\"` используйте иконки размером 24.\n * - Для всех остальных `mode` используйте иконки размером 20.\n */\n before?: React.ReactNode;\n /**\n * Добавляет элемент слева от `after`.\n *\n * - `React.ReactElement` – либо [`Badge`](https://vkcom.github.io/VKUI/#/Badge) с параметром `mode=\"prominent\"`.\n * либо [`Counter`](https://vkcom.github.io/VKUI/#/Counter) с параметрами `mode=\"prominent\" size=\"s\"`.\n * - `number` – для показа текстового блока с переданным числом.\n */\n status?: React.ReactElement | number;\n /**\n * Добавляет иконку справа.\n *\n * Например, `<Icon16Dropdown />`\n */\n after?: React.ReactNode;\n selected?: boolean;\n disabled?: boolean;\n}\n\nconst warn = warnOnce('TabsItem');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/TabsItem\n */\nexport const TabsItem = ({\n before,\n children,\n status,\n after,\n selected = false,\n role = 'tab',\n tabIndex: tabIndexProp,\n getRootRef,\n hoverMode = styles.hover,\n activeMode = '',\n hovered,\n activated,\n hasHover,\n hasActive = false,\n focusVisibleMode = 'inside',\n ...restProps\n}: TabsItemProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n const {\n mode,\n withGaps,\n layoutFillMode,\n scrollBehaviorToSelectedTab,\n withScrollToSelectedTab,\n }: TabsContextProps = React.useContext(TabsModeContext);\n let statusComponent = null;\n\n const isTabFlow = role === 'tab';\n\n if (hasReactNode(status)) {\n statusComponent =\n typeof status === 'number' ? (\n <Subhead\n Component=\"span\"\n className={classNames(styles.status, styles.statusCount)}\n weight=\"2\"\n >\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </Subhead>\n ) : (\n <span className={styles.status}>\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </span>\n );\n }\n\n if (process.env.NODE_ENV === 'development' && isTabFlow) {\n if (!restProps['aria-controls']) {\n warn(`Передайте в \"aria-controls\" id контролируемого блока`, 'warn');\n } else if (!restProps['id']) {\n warn(\n `Передайте \"id\" компоненту для использования в \"aria-labelledby\" контролируемого блока`,\n 'warn',\n );\n }\n }\n\n let tabIndex = tabIndexProp;\n if (isTabFlow && tabIndex === undefined) {\n tabIndex = selected ? 0 : -1;\n }\n\n const rootRef = useExternRef(getRootRef);\n\n const prevSelected = usePrevious(selected);\n const isInitialRender = prevSelected === undefined;\n const shouldScrollToSelected =\n withScrollToSelectedTab && !isInitialRender && prevSelected !== selected && selected;\n\n const { document } = useDOM();\n React.useEffect(\n function scrollToSelectedItem() {\n if (!shouldScrollToSelected || !rootRef.current || !document) {\n return;\n }\n\n const tabDOMRect = rootRef.current.getBoundingClientRect();\n const isTabVerticallyOutsideOfViewport =\n tabDOMRect.top < 0 || tabDOMRect.bottom > document.documentElement.clientHeight;\n\n /* проверяем, возможен ли вертикальный скролл, а он возможен для scrollIntoView если\n * элемент вертикально вне зоны видимости */\n if (isTabVerticallyOutsideOfViewport) {\n return;\n }\n\n /* Не все браузеры поддерживают используемые нами опции. */\n try {\n rootRef.current.scrollIntoView({\n inline: scrollBehaviorToSelectedTab,\n block: 'nearest',\n behavior: 'smooth',\n });\n } catch {\n /* Вызывать scrollIntoView с булевым аргументом не следует, потому что это повлечёт\n * вертикальный скролл.\n **/\n }\n },\n [rootRef, document, shouldScrollToSelected, scrollBehaviorToSelectedTab],\n );\n\n return (\n <Tappable\n {...restProps}\n getRootRef={rootRef}\n baseClassName={classNames(\n styles.host,\n mode && stylesMode[mode],\n selected && styles.selected,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n withGaps && styles.withGaps,\n layoutFillMode !== 'auto' && fillModeClassNames[layoutFillMode],\n )}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n hovered={hovered}\n activated={activated}\n focusVisibleMode={focusVisibleMode}\n role={role}\n aria-selected={selected}\n tabIndex={tabIndex}\n >\n {before && <div className={styles.before}>{before}</div>}\n <Headline\n Component=\"span\"\n className={styles.label}\n level={mode === 'default' ? '1' : '2'}\n weight=\"2\"\n >\n {children}\n </Headline>\n {statusComponent}\n {after && <div className={styles.after}>{after}</div>}\n {mode === 'default' && (\n <div className={styles.underline} aria-hidden data-selected={selected} />\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","useExternRef","usePrevious","useDOM","warnOnce","TabsModeContext","Tappable","Headline","Subhead","VisuallyHidden","sizeYClassNames","none","compact","stylesMode","default","accent","secondary","fillModeClassNames","stretched","shrinked","warn","TabsItem","before","children","status","after","selected","role","tabIndex","tabIndexProp","getRootRef","hoverMode","activeMode","hovered","activated","hasHover","hasActive","focusVisibleMode","restProps","sizeY","mode","withGaps","layoutFillMode","scrollBehaviorToSelectedTab","withScrollToSelectedTab","useContext","statusComponent","isTabFlow","Component","className","weight","span","process","env","NODE_ENV","undefined","rootRef","prevSelected","isInitialRender","shouldScrollToSelected","document","useEffect","scrollToSelectedItem","current","tabDOMRect","getBoundingClientRect","isTabVerticallyOutsideOfViewport","top","bottom","documentElement","clientHeight","scrollIntoView","inline","block","behavior","baseClassName","aria-selected","div","level","aria-hidden","data-selected"],"mappings":"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"}
@@ -18,6 +18,6 @@ export interface ToolButtonProps extends TappableProps, AdaptiveIconRendererProp
18
18
  *
19
19
  * @see https://vkcom.github.io/VKUI/#/ToolButton
20
20
  */
21
- export declare const ToolButton: ({ mode, appearance, direction, className, children, IconCompact, IconRegular, rounded, ...restProps }: ToolButtonProps) => React.ReactNode;
21
+ export declare const ToolButton: ({ mode, appearance, direction, children, IconCompact, IconRegular, rounded, ...restProps }: ToolButtonProps) => React.ReactNode;
22
22
  export declare function getRoundedClassName(direction: 'row' | 'column', hasChildren: boolean): string | undefined;
23
23
  //# sourceMappingURL=ToolButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolButton.d.ts","sourceRoot":"","sources":["../../../src/components/ToolButton/ToolButton.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAyBpE,MAAM,WAAW,eAAgB,SAAQ,aAAa,EAAE,yBAAyB;IAC/E,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;IACxD,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,0GAUpB,eAAe,KAAG,KAAK,CAAC,SA0B1B,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,GAAG,QAAQ,EAC3B,WAAW,EAAE,OAAO,GACnB,MAAM,GAAG,SAAS,CAOpB"}
1
+ {"version":3,"file":"ToolButton.d.ts","sourceRoot":"","sources":["../../../src/components/ToolButton/ToolButton.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAyBpE,MAAM,WAAW,eAAgB,SAAQ,aAAa,EAAE,yBAAyB;IAC/E,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;IACxD,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,+FASpB,eAAe,KAAG,KAAK,CAAC,SAyB1B,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,GAAG,QAAQ,EAC3B,WAAW,EAAE,OAAO,GACnB,MAAM,GAAG,SAAS,CAOpB"}
@@ -32,11 +32,10 @@ const sizeYClassNames = {
32
32
  *
33
33
  * @see https://vkcom.github.io/VKUI/#/ToolButton
34
34
  */ export const ToolButton = (_param)=>{
35
- var { mode = 'primary', appearance = 'accent', direction = 'row', className, children, IconCompact, IconRegular, rounded } = _param, restProps = _object_without_properties(_param, [
35
+ var { mode = 'primary', appearance = 'accent', direction = 'row', children, IconCompact, IconRegular, rounded } = _param, restProps = _object_without_properties(_param, [
36
36
  "mode",
37
37
  "appearance",
38
38
  "direction",
39
- "className",
40
39
  "children",
41
40
  "IconCompact",
42
41
  "IconRegular",
@@ -49,7 +48,7 @@ const sizeYClassNames = {
49
48
  activeMode: "vkuiToolButton__active",
50
49
  Component: restProps.href ? 'a' : 'button',
51
50
  focusVisibleMode: "outside",
52
- className: classNames(className, "vkuiToolButton__host", rounded && getRoundedClassName(direction, hasChildren), hasChildren && direction === 'row' && "vkuiToolButton__withFakeEndIcon", stylesMode[mode], stylesAppearance[appearance], stylesDirection[direction], sizeY !== 'compact' && sizeYClassNames[sizeY])
51
+ baseClassName: classNames("vkuiToolButton__host", rounded && getRoundedClassName(direction, hasChildren), hasChildren && direction === 'row' && "vkuiToolButton__withFakeEndIcon", stylesMode[mode], stylesAppearance[appearance], stylesDirection[direction], sizeY !== 'compact' && sizeYClassNames[sizeY])
53
52
  }, restProps), {
54
53
  children: [
55
54
  /*#__PURE__*/ _jsx(AdaptiveIconRenderer, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ToolButton/ToolButton.tsx"],"sourcesContent":["'use client';\n\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport {\n AdaptiveIconRenderer,\n type AdaptiveIconRendererProps,\n} from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport styles from './ToolButton.module.css';\n\nconst stylesMode = {\n primary: styles.modePrimary,\n secondary: styles.modeSecondary,\n tertiary: styles.modeTertiary,\n outline: styles.modeOutline,\n};\n\nconst stylesAppearance = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n};\n\nconst stylesDirection = {\n row: styles.directionRow,\n column: styles.directionColumn,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n regular: styles.sizeYRegular,\n};\n\nexport interface ToolButtonProps extends TappableProps, AdaptiveIconRendererProps {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline';\n appearance?: 'accent' | 'neutral';\n direction?: 'row' | 'column';\n /**\n * Задаёт `50%` закругления для контейнера.\n *\n * > Note: игнорируется при `direction=\"column\"` если передан `children`.\n */\n rounded?: boolean;\n}\n\n/**\n * Кнопки, которые используются для вызова инструмента, вставки аттачей или\n * для форматирования. Их можно использовать как кнопки для разового действия\n * или для включения/выключения режима.\n *\n * @see https://vkcom.github.io/VKUI/#/ToolButton\n */\nexport const ToolButton = ({\n mode = 'primary',\n appearance = 'accent',\n direction = 'row',\n className,\n children,\n IconCompact,\n IconRegular,\n rounded,\n ...restProps\n}: ToolButtonProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n const hasChildren = hasReactNode(children);\n\n return (\n <Tappable\n hoverMode={styles.hover}\n activeMode={styles.active}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n className={classNames(\n className,\n styles.host,\n rounded && getRoundedClassName(direction, hasChildren),\n hasChildren && direction === 'row' && styles.withFakeEndIcon,\n stylesMode[mode],\n stylesAppearance[appearance],\n stylesDirection[direction],\n sizeY !== 'compact' && sizeYClassNames[sizeY],\n )}\n {...restProps}\n >\n <AdaptiveIconRenderer IconCompact={IconCompact} IconRegular={IconRegular} />\n {hasChildren && <span className={styles.text}>{children}</span>}\n </Tappable>\n );\n};\n\nexport function getRoundedClassName(\n direction: 'row' | 'column',\n hasChildren: boolean,\n): string | undefined {\n switch (direction) {\n case 'row':\n return styles.rounded;\n case 'column':\n return hasChildren ? undefined : styles.rounded;\n }\n}\n"],"names":["classNames","hasReactNode","useAdaptivity","AdaptiveIconRenderer","Tappable","stylesMode","primary","secondary","tertiary","outline","stylesAppearance","accent","neutral","stylesDirection","row","column","sizeYClassNames","none","regular","ToolButton","mode","appearance","direction","className","children","IconCompact","IconRegular","rounded","restProps","sizeY","hasChildren","hoverMode","activeMode","Component","href","focusVisibleMode","getRoundedClassName","span","undefined"],"mappings":"AAAA;;;;;AAEA,SAASA,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SACEC,oBAAoB,QAEf,kDAA+C;AACtD,SAASC,QAAQ,QAA4B,0BAAuB;AAGpE,MAAMC,aAAa;IACjBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;AACT;AAEA,MAAMC,mBAAmB;IACvBC,MAAM;IACNC,OAAO;AACT;AAEA,MAAMC,kBAAkB;IACtBC,GAAG;IACHC,MAAM;AACR;AAEA,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAcA;;;;;;CAMC,GACD,OAAO,MAAMC,aAAa;QAAC,EACzBC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,YAAY,KAAK,EACjBC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,WAAW,EACXC,OAAO,EAES,WADbC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAG3B;IAC3B,MAAM4B,cAAc7B,aAAauB;IAEjC,qBACE,MAACpB;QACC2B,SAAS;QACTC,UAAU;QACVC,WAAWL,UAAUM,IAAI,GAAG,MAAM;QAClCC,kBAAiB;QACjBZ,WAAWvB,WACTuB,mCAEAI,WAAWS,oBAAoBd,WAAWQ,cAC1CA,eAAeR,cAAc,4CAC7BjB,UAAU,CAACe,KAAK,EAChBV,gBAAgB,CAACW,WAAW,EAC5BR,eAAe,CAACS,UAAU,EAC1BO,UAAU,aAAab,eAAe,CAACa,MAAM;OAE3CD;;0BAEJ,KAACzB;gBAAqBsB,aAAaA;gBAAaC,aAAaA;;YAC5DI,6BAAe,KAACO;gBAAKd,SAAS;0BAAgBC;;;;AAGrD,EAAE;AAEF,OAAO,SAASY,oBACdd,SAA2B,EAC3BQ,WAAoB;IAEpB,OAAQR;QACN,KAAK;YACH;QACF,KAAK;YACH,OAAOQ,cAAcQ;IACzB;AACF"}
1
+ {"version":3,"sources":["../../../src/components/ToolButton/ToolButton.tsx"],"sourcesContent":["'use client';\n\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport {\n AdaptiveIconRenderer,\n type AdaptiveIconRendererProps,\n} from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport styles from './ToolButton.module.css';\n\nconst stylesMode = {\n primary: styles.modePrimary,\n secondary: styles.modeSecondary,\n tertiary: styles.modeTertiary,\n outline: styles.modeOutline,\n};\n\nconst stylesAppearance = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n};\n\nconst stylesDirection = {\n row: styles.directionRow,\n column: styles.directionColumn,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n regular: styles.sizeYRegular,\n};\n\nexport interface ToolButtonProps extends TappableProps, AdaptiveIconRendererProps {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline';\n appearance?: 'accent' | 'neutral';\n direction?: 'row' | 'column';\n /**\n * Задаёт `50%` закругления для контейнера.\n *\n * > Note: игнорируется при `direction=\"column\"` если передан `children`.\n */\n rounded?: boolean;\n}\n\n/**\n * Кнопки, которые используются для вызова инструмента, вставки аттачей или\n * для форматирования. Их можно использовать как кнопки для разового действия\n * или для включения/выключения режима.\n *\n * @see https://vkcom.github.io/VKUI/#/ToolButton\n */\nexport const ToolButton = ({\n mode = 'primary',\n appearance = 'accent',\n direction = 'row',\n children,\n IconCompact,\n IconRegular,\n rounded,\n ...restProps\n}: ToolButtonProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n const hasChildren = hasReactNode(children);\n\n return (\n <Tappable\n hoverMode={styles.hover}\n activeMode={styles.active}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n baseClassName={classNames(\n styles.host,\n rounded && getRoundedClassName(direction, hasChildren),\n hasChildren && direction === 'row' && styles.withFakeEndIcon,\n stylesMode[mode],\n stylesAppearance[appearance],\n stylesDirection[direction],\n sizeY !== 'compact' && sizeYClassNames[sizeY],\n )}\n {...restProps}\n >\n <AdaptiveIconRenderer IconCompact={IconCompact} IconRegular={IconRegular} />\n {hasChildren && <span className={styles.text}>{children}</span>}\n </Tappable>\n );\n};\n\nexport function getRoundedClassName(\n direction: 'row' | 'column',\n hasChildren: boolean,\n): string | undefined {\n switch (direction) {\n case 'row':\n return styles.rounded;\n case 'column':\n return hasChildren ? undefined : styles.rounded;\n }\n}\n"],"names":["classNames","hasReactNode","useAdaptivity","AdaptiveIconRenderer","Tappable","stylesMode","primary","secondary","tertiary","outline","stylesAppearance","accent","neutral","stylesDirection","row","column","sizeYClassNames","none","regular","ToolButton","mode","appearance","direction","children","IconCompact","IconRegular","rounded","restProps","sizeY","hasChildren","hoverMode","activeMode","Component","href","focusVisibleMode","baseClassName","getRoundedClassName","span","className","undefined"],"mappings":"AAAA;;;;;AAEA,SAASA,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SACEC,oBAAoB,QAEf,kDAA+C;AACtD,SAASC,QAAQ,QAA4B,0BAAuB;AAGpE,MAAMC,aAAa;IACjBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;AACT;AAEA,MAAMC,mBAAmB;IACvBC,MAAM;IACNC,OAAO;AACT;AAEA,MAAMC,kBAAkB;IACtBC,GAAG;IACHC,MAAM;AACR;AAEA,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAcA;;;;;;CAMC,GACD,OAAO,MAAMC,aAAa;QAAC,EACzBC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,YAAY,KAAK,EACjBC,QAAQ,EACRC,WAAW,EACXC,WAAW,EACXC,OAAO,EAES,WADbC;QAPHP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAG1B;IAC3B,MAAM2B,cAAc5B,aAAasB;IAEjC,qBACE,MAACnB;QACC0B,SAAS;QACTC,UAAU;QACVC,WAAWL,UAAUM,IAAI,GAAG,MAAM;QAClCC,kBAAiB;QACjBC,eAAenC,mCAEb0B,WAAWU,oBAAoBd,WAAWO,cAC1CA,eAAeP,cAAc,4CAC7BjB,UAAU,CAACe,KAAK,EAChBV,gBAAgB,CAACW,WAAW,EAC5BR,eAAe,CAACS,UAAU,EAC1BM,UAAU,aAAaZ,eAAe,CAACY,MAAM;OAE3CD;;0BAEJ,KAACxB;gBAAqBqB,aAAaA;gBAAaC,aAAaA;;YAC5DI,6BAAe,KAACQ;gBAAKC,SAAS;0BAAgBf;;;;AAGrD,EAAE;AAEF,OAAO,SAASa,oBACdd,SAA2B,EAC3BO,WAAoB;IAEpB,OAAQP;QACN,KAAK;YACH;QACF,KAAK;YACH,OAAOO,cAAcU;IACzB;AACF"}
@@ -22,5 +22,5 @@ export interface WriteBarIconProps extends React.ButtonHTMLAttributes<HTMLButton
22
22
  /**
23
23
  * @see https://vkcom.github.io/VKUI/#/WriteBarIcon
24
24
  */
25
- export declare const WriteBarIcon: ({ mode, children, count, className, label: labelProp, ...restProps }: WriteBarIconProps) => React.ReactNode;
25
+ export declare const WriteBarIcon: ({ mode, children, count, label: labelProp, ...restProps }: WriteBarIconProps) => React.ReactNode;
26
26
  //# sourceMappingURL=WriteBarIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WriteBarIcon.d.ts","sourceRoot":"","sources":["../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4B/B,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACtF;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;GAEG;AACH,eAAO,MAAM,YAAY,yEAOtB,iBAAiB,KAAG,KAAK,CAAC,SAsE5B,CAAC"}
1
+ {"version":3,"file":"WriteBarIcon.d.ts","sourceRoot":"","sources":["../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4B/B,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACtF;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;GAEG;AACH,eAAO,MAAM,YAAY,8DAMtB,iBAAiB,KAAG,KAAK,CAAC,SAqE5B,CAAC"}
@@ -22,11 +22,10 @@ const warn = warnOnce('WriteBarIcon');
22
22
  /**
23
23
  * @see https://vkcom.github.io/VKUI/#/WriteBarIcon
24
24
  */ export const WriteBarIcon = (_param)=>{
25
- var { mode, children, count, className, label: labelProp } = _param, restProps = _object_without_properties(_param, [
25
+ var { mode, children, count, label: labelProp } = _param, restProps = _object_without_properties(_param, [
26
26
  "mode",
27
27
  "children",
28
28
  "count",
29
- "className",
30
29
  "label"
31
30
  ]);
32
31
  const platform = usePlatform();
@@ -69,7 +68,7 @@ const warn = warnOnce('WriteBarIcon');
69
68
  Component: "button",
70
69
  hasHover: false,
71
70
  activeMode: "vkuiWriteBarIcon__active",
72
- className: classNames("vkuiWriteBarIcon__host", platform === 'ios' && "vkuiWriteBarIcon__ios", mode === 'send' && "vkuiWriteBarIcon__modeSend", mode === 'done' && "vkuiWriteBarIcon__modeDone", className),
71
+ baseClassName: classNames("vkuiWriteBarIcon__host", platform === 'ios' && "vkuiWriteBarIcon__ios", mode === 'send' && "vkuiWriteBarIcon__modeSend", mode === 'done' && "vkuiWriteBarIcon__modeDone"),
73
72
  children: [
74
73
  /*#__PURE__*/ _jsxs("span", {
75
74
  className: "vkuiWriteBarIcon__in",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon24Attach,\n Icon24CheckCircleOutline,\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon28Send,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Counter } from '../Counter/Counter';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './WriteBarIcon.module.css';\n\nconst predefinedLabel = {\n attach: 'Прикрепить файл',\n send: 'Отправить',\n done: 'Готово',\n};\n\nexport interface WriteBarIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки и установки текста кнопки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируются, а для `label` по умолчанию используется текст на \"ru_RU\".\n *\n * Валидные значения:\n * - `attach` – иконка прикрепления, текст по умолчанию — \"Прикрепить файл\";\n * - `send` – иконка отправки, текст по умолчанию — \"Отправить\";\n * - `done` – иконка отправки в режиме редактирования, текст по умолчанию — \"Готово\";\n */\n mode?: 'attach' | 'send' | 'done';\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n /**\n * Текст кнопки. Необходим для ассистивных технологий.\n */\n label?: string;\n}\n\nconst warn = warnOnce('WriteBarIcon');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBarIcon\n */\nexport const WriteBarIcon = ({\n mode,\n children,\n count,\n className,\n label: labelProp,\n ...restProps\n}: WriteBarIconProps): React.ReactNode => {\n const platform = usePlatform();\n\n let predefinedIcons;\n\n switch (mode) {\n case 'attach':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon28AddCircleOutline : Icon24Attach,\n IconRegular: platform === 'ios' ? Icon28AddCircleOutline : Icon28AttachOutline,\n };\n break;\n\n case 'send':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon48WritebarSend : Icon24Send,\n IconRegular: platform === 'ios' ? Icon48WritebarSend : Icon28Send,\n };\n break;\n\n case 'done':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon48WritebarDone : Icon24CheckCircleOutline,\n IconRegular: platform === 'ios' ? Icon48WritebarDone : Icon28CheckCircleOutline,\n };\n break;\n\n default:\n break;\n }\n\n const label = labelProp ?? (mode && predefinedLabel[mode]);\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore next: проверка в dev mode, тест на hasAccessibleName() есть в lib/accessibility.test.tsx */\n const isAccessible = hasAccessibleName({\n children: [children, label],\n ...restProps,\n });\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y['button-name'], 'error');\n }\n }\n\n return (\n <Tappable\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode={styles.active}\n className={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n mode === 'send' && styles.modeSend,\n mode === 'done' && styles.modeDone,\n className,\n )}\n >\n <span className={styles.in}>\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n {predefinedIcons ? <AdaptiveIconRenderer {...predefinedIcons} /> : children}\n </span>\n {hasReactNode(count) && (\n <Counter className={styles.counter} size=\"s\">\n {count}\n </Counter>\n )}\n </Tappable>\n );\n};\n"],"names":["React","Icon24Attach","Icon24CheckCircleOutline","Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon28Send","Icon48WritebarDone","Icon48WritebarSend","classNames","hasReactNode","usePlatform","hasAccessibleName","COMMON_WARNINGS","warnOnce","AdaptiveIconRenderer","Counter","Tappable","VisuallyHidden","predefinedLabel","attach","send","done","warn","WriteBarIcon","mode","children","count","className","label","labelProp","restProps","platform","predefinedIcons","IconCompact","IconRegular","process","env","NODE_ENV","isAccessible","a11y","Component","hasHover","activeMode","span","size"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,YAAY,EACZC,wBAAwB,EACxBC,UAAU,EACVC,sBAAsB,EACtBC,mBAAmB,EACnBC,wBAAwB,EACxBC,UAAU,EACVC,kBAAkB,EAClBC,kBAAkB,QACb,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/D,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,QAAQ;IACRC,MAAM;IACNC,MAAM;AACR;AAuBA,MAAMC,OAAOT,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMU,eAAe;QAAC,EAC3BC,IAAI,EACJC,QAAQ,EACRC,KAAK,EACLC,SAAS,EACTC,OAAOC,SAAS,EAEE,WADfC;QALHN;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAMG,WAAWrB;IAEjB,IAAIsB;IAEJ,OAAQR;QACN,KAAK;YACHQ,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQ7B,yBAAyBH;gBAC3DmC,aAAaH,aAAa,QAAQ7B,yBAAyBC;YAC7D;YACA;QAEF,KAAK;YACH6B,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQxB,qBAAqBN;gBACvDiC,aAAaH,aAAa,QAAQxB,qBAAqBF;YACzD;YACA;QAEF,KAAK;YACH2B,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQzB,qBAAqBN;gBACvDkC,aAAaH,aAAa,QAAQzB,qBAAqBF;YACzD;YACA;QAEF;YACE;IACJ;IAEA,MAAMwB,QAAQC,sBAAAA,uBAAAA,YAAcL,QAAQN,eAAe,CAACM,KAAK;IAEzD,IAAIW,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAe3B,kBAAkB;YACrCc,UAAU;gBAACA;gBAAUG;aAAM;WACxBE;QAGL,IAAI,CAACQ,cAAc;YACjBhB,KAAKV,gBAAgB2B,IAAI,CAAC,cAAc,EAAE;QAC5C;IACF;IAEA,qBACE,MAACvB,kDACKc;QACJU,WAAU;QACVC,UAAU;QACVC,UAAU;QACVf,WAAWnB,qCAETuB,aAAa,kCACbP,SAAS,wCACTA,SAAS,wCACTG;;0BAGF,MAACgB;gBAAKhB,SAAS;;oBACZC,uBAAS,KAACX;kCAAgBW;;oBAC1BI,gCAAkB,KAAClB,yCAAyBkB,oBAAsBP;;;YAEpEhB,aAAaiB,wBACZ,KAACX;gBAAQY,SAAS;gBAAkBiB,MAAK;0BACtClB;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon24Attach,\n Icon24CheckCircleOutline,\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon28Send,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Counter } from '../Counter/Counter';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './WriteBarIcon.module.css';\n\nconst predefinedLabel = {\n attach: 'Прикрепить файл',\n send: 'Отправить',\n done: 'Готово',\n};\n\nexport interface WriteBarIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки и установки текста кнопки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируются, а для `label` по умолчанию используется текст на \"ru_RU\".\n *\n * Валидные значения:\n * - `attach` – иконка прикрепления, текст по умолчанию — \"Прикрепить файл\";\n * - `send` – иконка отправки, текст по умолчанию — \"Отправить\";\n * - `done` – иконка отправки в режиме редактирования, текст по умолчанию — \"Готово\";\n */\n mode?: 'attach' | 'send' | 'done';\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n /**\n * Текст кнопки. Необходим для ассистивных технологий.\n */\n label?: string;\n}\n\nconst warn = warnOnce('WriteBarIcon');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBarIcon\n */\nexport const WriteBarIcon = ({\n mode,\n children,\n count,\n label: labelProp,\n ...restProps\n}: WriteBarIconProps): React.ReactNode => {\n const platform = usePlatform();\n\n let predefinedIcons;\n\n switch (mode) {\n case 'attach':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon28AddCircleOutline : Icon24Attach,\n IconRegular: platform === 'ios' ? Icon28AddCircleOutline : Icon28AttachOutline,\n };\n break;\n\n case 'send':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon48WritebarSend : Icon24Send,\n IconRegular: platform === 'ios' ? Icon48WritebarSend : Icon28Send,\n };\n break;\n\n case 'done':\n predefinedIcons = {\n IconCompact: platform === 'ios' ? Icon48WritebarDone : Icon24CheckCircleOutline,\n IconRegular: platform === 'ios' ? Icon48WritebarDone : Icon28CheckCircleOutline,\n };\n break;\n\n default:\n break;\n }\n\n const label = labelProp ?? (mode && predefinedLabel[mode]);\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore next: проверка в dev mode, тест на hasAccessibleName() есть в lib/accessibility.test.tsx */\n const isAccessible = hasAccessibleName({\n children: [children, label],\n ...restProps,\n });\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y['button-name'], 'error');\n }\n }\n\n return (\n <Tappable\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode={styles.active}\n baseClassName={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n mode === 'send' && styles.modeSend,\n mode === 'done' && styles.modeDone,\n )}\n >\n <span className={styles.in}>\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n {predefinedIcons ? <AdaptiveIconRenderer {...predefinedIcons} /> : children}\n </span>\n {hasReactNode(count) && (\n <Counter className={styles.counter} size=\"s\">\n {count}\n </Counter>\n )}\n </Tappable>\n );\n};\n"],"names":["React","Icon24Attach","Icon24CheckCircleOutline","Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon28Send","Icon48WritebarDone","Icon48WritebarSend","classNames","hasReactNode","usePlatform","hasAccessibleName","COMMON_WARNINGS","warnOnce","AdaptiveIconRenderer","Counter","Tappable","VisuallyHidden","predefinedLabel","attach","send","done","warn","WriteBarIcon","mode","children","count","label","labelProp","restProps","platform","predefinedIcons","IconCompact","IconRegular","process","env","NODE_ENV","isAccessible","a11y","Component","hasHover","activeMode","baseClassName","span","className","size"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,YAAY,EACZC,wBAAwB,EACxBC,UAAU,EACVC,sBAAsB,EACtBC,mBAAmB,EACnBC,wBAAwB,EACxBC,UAAU,EACVC,kBAAkB,EAClBC,kBAAkB,QACb,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/D,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,QAAQ;IACRC,MAAM;IACNC,MAAM;AACR;AAuBA,MAAMC,OAAOT,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMU,eAAe;QAAC,EAC3BC,IAAI,EACJC,QAAQ,EACRC,KAAK,EACLC,OAAOC,SAAS,EAEE,WADfC;QAJHL;QACAC;QACAC;QACAC;;IAGA,MAAMG,WAAWpB;IAEjB,IAAIqB;IAEJ,OAAQP;QACN,KAAK;YACHO,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQ5B,yBAAyBH;gBAC3DkC,aAAaH,aAAa,QAAQ5B,yBAAyBC;YAC7D;YACA;QAEF,KAAK;YACH4B,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQvB,qBAAqBN;gBACvDgC,aAAaH,aAAa,QAAQvB,qBAAqBF;YACzD;YACA;QAEF,KAAK;YACH0B,kBAAkB;gBAChBC,aAAaF,aAAa,QAAQxB,qBAAqBN;gBACvDiC,aAAaH,aAAa,QAAQxB,qBAAqBF;YACzD;YACA;QAEF;YACE;IACJ;IAEA,MAAMuB,QAAQC,sBAAAA,uBAAAA,YAAcJ,QAAQN,eAAe,CAACM,KAAK;IAEzD,IAAIU,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAe1B,kBAAkB;YACrCc,UAAU;gBAACA;gBAAUE;aAAM;WACxBE;QAGL,IAAI,CAACQ,cAAc;YACjBf,KAAKV,gBAAgB0B,IAAI,CAAC,cAAc,EAAE;QAC5C;IACF;IAEA,qBACE,MAACtB,kDACKa;QACJU,WAAU;QACVC,UAAU;QACVC,UAAU;QACVC,eAAelC,qCAEbsB,aAAa,kCACbN,SAAS,wCACTA,SAAS;;0BAGX,MAACmB;gBAAKC,SAAS;;oBACZjB,uBAAS,KAACV;kCAAgBU;;oBAC1BI,gCAAkB,KAACjB,yCAAyBiB,oBAAsBN;;;YAEpEhB,aAAaiB,wBACZ,KAACX;gBAAQ6B,SAAS;gBAAkBC,MAAK;0BACtCnB;;;;AAKX,EAAE"}