@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/ImageBase/ImageBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { minOr } from '../../lib/comparing';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type { AnchorHTMLAttributesOnly, HasRef, HasRootRef, LiteralUnion } from '../../types';\nimport { Clickable } from '../Clickable/Clickable';\nimport { ImageBaseBadge, type ImageBaseBadgeProps } from './ImageBaseBadge/ImageBaseBadge';\nimport { ImageBaseOverlay, type ImageBaseOverlayProps } from './ImageBaseOverlay/ImageBaseOverlay';\nimport { ImageBaseContext } from './context';\nimport type { ImageBaseContextProps, ImageBaseExpectedIconProps, ImageBaseSize } from './types';\nimport { validateFallbackIcon, validateSize } from './validators';\nimport styles from './ImageBase.module.css';\n\nexport type {\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseContextProps,\n};\n\nexport {\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './helpers';\n\nexport { ImageBaseContext };\n\n/**\n * Размер по умолчанию.\n */\nconst defaultSize = 24;\n\nexport interface ImageBaseProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n AnchorHTMLAttributesOnly,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Задаёт размер картинки.\n *\n * Используйте размеры заданные дизайн-системой `16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 56 | 64 | 72 | 80 | 88 | 96`.\n *\n * > ⚠️ Использование кастомного размера – это пограничный кейс.\n */\n size?: LiteralUnion<ImageBaseSize, number>;\n /**\n * Ширина изображения\n */\n widthSize?: number | string;\n /**\n * Высота изображения\n */\n heightSize?: number | string;\n /**\n * Отключает обводку.\n */\n noBorder?: boolean;\n /**\n * Фолбек на случай, если картинка не прогрузилась.\n *\n * > 📝 Нужный для `<ImageBase size={...} />` размер можно узнать из функции `getFallbackIconSizeByImageBaseSize()`.\n *\n * > Предпочтительней использовать иконки из `@vkontakte/icons`.\n *\n * > 📊️ Если вы хотите передать кастомную иконку, то следует именовать её по шаблону `Icon<size><name>`. Или же\n * > чтобы в неё был передан параметр `width`. Тогда мы сможем выводить в консоль подсказку правильного ли размера вы\n * > использовали иконку.\n *\n * > ⚠️ Может перекрывать `children`.\n */\n fallbackIcon?: React.ReactElement<ImageBaseExpectedIconProps>;\n /**\n * Отключает фон, заданный по умолчанию. Полезен для отображения картинок с прозрачностью.\n * @since 5.10.0\n */\n withTransparentBackground?: boolean;\n /**\n * Пользовательское значения стиля object-fit\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit)\n */\n objectFit?: React.CSSProperties['objectFit'];\n /**\n * Флаг для сохранения пропорций картинки.\n * Для корректной работы необходимо задать размеры хотя бы одной стороны картинки\n */\n keepAspectRatio?: boolean;\n}\n\nconst getObjectFitClassName = (objectFit: React.CSSProperties['objectFit']) => {\n switch (objectFit) {\n case 'contain':\n return styles.imgObjectFitContain;\n case 'cover':\n return styles.imgObjectFitCover;\n case 'none':\n return styles.imgObjectFitNone;\n case 'scale-down':\n return styles.imgObjectFitScaleDown;\n }\n return undefined;\n};\n\nconst parsePx = (value: string): number | undefined => {\n if (value.endsWith('px')) {\n return parseInt(value);\n }\n return undefined;\n};\n\nconst sizeToNumber = (size: number | string | undefined): number | undefined => {\n if (typeof size === 'string') {\n return parsePx(size);\n }\n return size;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ImageBase\n */\nexport const ImageBase: React.FC<ImageBaseProps> & {\n Badge: typeof ImageBaseBadge;\n Overlay: typeof ImageBaseOverlay;\n} = ({\n alt,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n fetchPriority,\n getRef,\n size: sizeProp,\n width: widthImg,\n height: heightImg,\n widthSize,\n heightSize,\n style,\n noBorder = false,\n fallbackIcon: fallbackIconProp,\n children,\n onLoad,\n onError,\n withTransparentBackground,\n objectFit = 'cover',\n keepAspectRatio = false,\n ...restProps\n}: ImageBaseProps) => {\n const size = sizeProp ?? minOr([sizeToNumber(widthSize), sizeToNumber(heightSize)], defaultSize);\n\n const width = widthSize ?? (keepAspectRatio ? undefined : size);\n const height = heightSize ?? (keepAspectRatio ? undefined : size);\n\n const [loaded, setLoaded] = React.useState(false);\n const [failed, setFailed] = React.useState(false);\n\n const hasSrc = src || srcSet;\n const needShowFallbackIcon = (failed || !hasSrc) && React.isValidElement(fallbackIconProp);\n\n const fallbackIcon = needShowFallbackIcon ? fallbackIconProp : null;\n\n if (process.env.NODE_ENV === 'development') {\n validateSize(size);\n if (fallbackIcon) {\n validateFallbackIcon(size, { name: 'fallbackIcon', value: fallbackIcon });\n }\n }\n\n const handleImageLoad = (event: React.SyntheticEvent<HTMLImageElement>) => {\n if (loaded) {\n return;\n }\n\n setLoaded(true);\n setFailed(false);\n onLoad?.(event);\n };\n\n const handleImageError = (event: React.SyntheticEvent<HTMLImageElement>) => {\n setLoaded(false);\n setFailed(true);\n onError?.(event);\n };\n\n const imgRef = useExternRef(getRef);\n const isOnLoadStatusCheckedRef = React.useRef(false);\n React.useEffect(\n function dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater() {\n if (isOnLoadStatusCheckedRef.current) {\n return;\n }\n isOnLoadStatusCheckedRef.current = true;\n\n if (imgRef.current && imgRef.current.complete && !loaded) {\n const event = new Event('load');\n imgRef.current.dispatchEvent(event);\n }\n },\n [imgRef, loaded],\n );\n\n return (\n <ImageBaseContext.Provider value={{ size }}>\n <Clickable\n style={{ width, height, ...style }}\n baseClassName={classNames(\n styles.host,\n loaded && styles.loaded,\n withTransparentBackground && styles.transparentBackground,\n )}\n {...restProps}\n >\n {hasSrc && (\n <img\n ref={imgRef}\n alt={alt}\n className={classNames(\n styles.img,\n getObjectFitClassName(objectFit),\n keepAspectRatio && styles.imgKeepRatio,\n )}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n style={\n keepAspectRatio\n ? {\n width: widthImg || width,\n height: heightImg || height,\n }\n : undefined\n }\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={widthImg}\n height={heightImg}\n onLoad={handleImageLoad}\n onError={handleImageError}\n {...getFetchPriorityProp(fetchPriority)}\n />\n )}\n {fallbackIcon && <div className={styles.fallback}>{fallbackIcon}</div>}\n {children && <div className={styles.children}>{children}</div>}\n {!noBorder && <div aria-hidden className={styles.border} />}\n </Clickable>\n </ImageBaseContext.Provider>\n );\n};\n\nImageBase.displayName = 'ImageBase';\n\nImageBase.Badge = ImageBaseBadge;\nImageBase.Badge.displayName = 'ImageBase.Badge';\n\nImageBase.Overlay = ImageBaseOverlay;\nImageBase.Overlay.displayName = 'ImageBase.Overlay';\n"],"names":["React","classNames","useExternRef","minOr","getFetchPriorityProp","Clickable","ImageBaseBadge","ImageBaseOverlay","ImageBaseContext","validateFallbackIcon","validateSize","styles","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","defaultSize","getObjectFitClassName","objectFit","imgObjectFitContain","imgObjectFitCover","imgObjectFitNone","imgObjectFitScaleDown","undefined","parsePx","value","endsWith","parseInt","sizeToNumber","size","ImageBase","alt","crossOrigin","decoding","loading","referrerPolicy","sizes","src","srcSet","useMap","fetchPriority","getRef","sizeProp","width","widthImg","height","heightImg","widthSize","heightSize","style","noBorder","fallbackIcon","fallbackIconProp","children","onLoad","onError","withTransparentBackground","keepAspectRatio","restProps","loaded","setLoaded","useState","failed","setFailed","hasSrc","needShowFallbackIcon","isValidElement","process","env","NODE_ENV","name","handleImageLoad","event","handleImageError","imgRef","isOnLoadStatusCheckedRef","useRef","useEffect","dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater","current","complete","Event","dispatchEvent","Provider","baseClassName","host","transparentBackground","img","ref","className","imgKeepRatio","div","fallback","aria-hidden","border","displayName","Badge","Overlay"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/ImageBase/ImageBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { minOr } from '../../lib/comparing';\nimport { getFetchPriorityProp } from '../../lib/utils';\nimport type { AnchorHTMLAttributesOnly, HasRef, HasRootRef, LiteralUnion } from '../../types';\nimport { Clickable } from '../Clickable/Clickable';\nimport { ImageBaseBadge, type ImageBaseBadgeProps } from './ImageBaseBadge/ImageBaseBadge';\nimport { ImageBaseOverlay, type ImageBaseOverlayProps } from './ImageBaseOverlay/ImageBaseOverlay';\nimport { ImageBaseContext } from './context';\nimport type { ImageBaseContextProps, ImageBaseExpectedIconProps, ImageBaseSize } from './types';\nimport { validateFallbackIcon, validateSize } from './validators';\nimport styles from './ImageBase.module.css';\n\nexport type {\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseContextProps,\n};\n\nexport {\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './helpers';\n\nexport { ImageBaseContext };\n\n/**\n * Размер по умолчанию.\n */\nconst defaultSize = 24;\n\nexport interface ImageBaseProps\n extends React.ImgHTMLAttributes<HTMLElement>,\n AnchorHTMLAttributesOnly,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLImageElement> {\n /**\n * Задаёт размер картинки.\n *\n * Используйте размеры заданные дизайн-системой `16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 56 | 64 | 72 | 80 | 88 | 96`.\n *\n * > ⚠️ Использование кастомного размера – это пограничный кейс.\n */\n size?: LiteralUnion<ImageBaseSize, number>;\n /**\n * Ширина изображения\n */\n widthSize?: number | string;\n /**\n * Высота изображения\n */\n heightSize?: number | string;\n /**\n * Отключает обводку.\n */\n noBorder?: boolean;\n /**\n * Фолбек на случай, если картинка не прогрузилась.\n *\n * > 📝 Нужный для `<ImageBase size={...} />` размер можно узнать из функции `getFallbackIconSizeByImageBaseSize()`.\n *\n * > Предпочтительней использовать иконки из `@vkontakte/icons`.\n *\n * > 📊️ Если вы хотите передать кастомную иконку, то следует именовать её по шаблону `Icon<size><name>`. Или же\n * > чтобы в неё был передан параметр `width`. Тогда мы сможем выводить в консоль подсказку правильного ли размера вы\n * > использовали иконку.\n *\n * > ⚠️ Может перекрывать `children`.\n */\n fallbackIcon?: React.ReactElement<ImageBaseExpectedIconProps>;\n /**\n * Отключает фон, заданный по умолчанию. Полезен для отображения картинок с прозрачностью.\n * @since 5.10.0\n */\n withTransparentBackground?: boolean;\n /**\n * Пользовательское значения стиля object-fit\n * Подробнее можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/CSS/object-fit)\n */\n objectFit?: React.CSSProperties['objectFit'];\n /**\n * Флаг для сохранения пропорций картинки.\n * Для корректной работы необходимо задать размеры хотя бы одной стороны картинки\n */\n keepAspectRatio?: boolean;\n}\n\nconst getObjectFitClassName = (objectFit: React.CSSProperties['objectFit']) => {\n switch (objectFit) {\n case 'contain':\n return styles.imgObjectFitContain;\n case 'cover':\n return styles.imgObjectFitCover;\n case 'none':\n return styles.imgObjectFitNone;\n case 'scale-down':\n return styles.imgObjectFitScaleDown;\n }\n return undefined;\n};\n\nconst parsePx = (value: string): number | undefined => {\n if (value.endsWith('px')) {\n return parseInt(value);\n }\n return undefined;\n};\n\nconst sizeToNumber = (size: number | string | undefined): number | undefined => {\n if (typeof size === 'string') {\n return parsePx(size);\n }\n return size;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ImageBase\n */\nexport const ImageBase: React.FC<ImageBaseProps> & {\n Badge: typeof ImageBaseBadge;\n Overlay: typeof ImageBaseOverlay;\n} = ({\n alt,\n crossOrigin,\n decoding,\n loading,\n referrerPolicy,\n sizes,\n src,\n srcSet,\n useMap,\n fetchPriority,\n getRef,\n size: sizeProp,\n width: widthImg,\n height: heightImg,\n widthSize,\n heightSize,\n noBorder = false,\n fallbackIcon: fallbackIconProp,\n children,\n onLoad,\n onError,\n withTransparentBackground,\n objectFit = 'cover',\n keepAspectRatio = false,\n ...restProps\n}: ImageBaseProps) => {\n const size = sizeProp ?? minOr([sizeToNumber(widthSize), sizeToNumber(heightSize)], defaultSize);\n\n const width = widthSize ?? (keepAspectRatio ? undefined : size);\n const height = heightSize ?? (keepAspectRatio ? undefined : size);\n\n const [loaded, setLoaded] = React.useState(false);\n const [failed, setFailed] = React.useState(false);\n\n const hasSrc = src || srcSet;\n const needShowFallbackIcon = (failed || !hasSrc) && React.isValidElement(fallbackIconProp);\n\n const fallbackIcon = needShowFallbackIcon ? fallbackIconProp : null;\n\n if (process.env.NODE_ENV === 'development') {\n validateSize(size);\n if (fallbackIcon) {\n validateFallbackIcon(size, { name: 'fallbackIcon', value: fallbackIcon });\n }\n }\n\n const handleImageLoad = (event: React.SyntheticEvent<HTMLImageElement>) => {\n if (loaded) {\n return;\n }\n\n setLoaded(true);\n setFailed(false);\n onLoad?.(event);\n };\n\n const handleImageError = (event: React.SyntheticEvent<HTMLImageElement>) => {\n setLoaded(false);\n setFailed(true);\n onError?.(event);\n };\n\n const imgRef = useExternRef(getRef);\n const isOnLoadStatusCheckedRef = React.useRef(false);\n React.useEffect(\n function dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater() {\n if (isOnLoadStatusCheckedRef.current) {\n return;\n }\n isOnLoadStatusCheckedRef.current = true;\n\n if (imgRef.current && imgRef.current.complete && !loaded) {\n const event = new Event('load');\n imgRef.current.dispatchEvent(event);\n }\n },\n [imgRef, loaded],\n );\n\n return (\n <ImageBaseContext.Provider value={{ size }}>\n <Clickable\n baseStyle={{ width, height }}\n baseClassName={classNames(\n styles.host,\n loaded && styles.loaded,\n withTransparentBackground && styles.transparentBackground,\n )}\n {...restProps}\n >\n {hasSrc && (\n <img\n ref={imgRef}\n alt={alt}\n className={classNames(\n styles.img,\n getObjectFitClassName(objectFit),\n keepAspectRatio && styles.imgKeepRatio,\n )}\n crossOrigin={crossOrigin}\n decoding={decoding}\n loading={loading}\n referrerPolicy={referrerPolicy}\n style={\n keepAspectRatio\n ? {\n width: widthImg || width,\n height: heightImg || height,\n }\n : undefined\n }\n sizes={sizes}\n src={src}\n srcSet={srcSet}\n useMap={useMap}\n width={widthImg}\n height={heightImg}\n onLoad={handleImageLoad}\n onError={handleImageError}\n {...getFetchPriorityProp(fetchPriority)}\n />\n )}\n {fallbackIcon && <div className={styles.fallback}>{fallbackIcon}</div>}\n {children && <div className={styles.children}>{children}</div>}\n {!noBorder && <div aria-hidden className={styles.border} />}\n </Clickable>\n </ImageBaseContext.Provider>\n );\n};\n\nImageBase.displayName = 'ImageBase';\n\nImageBase.Badge = ImageBaseBadge;\nImageBase.Badge.displayName = 'ImageBase.Badge';\n\nImageBase.Overlay = ImageBaseOverlay;\nImageBase.Overlay.displayName = 'ImageBase.Overlay';\n"],"names":["React","classNames","useExternRef","minOr","getFetchPriorityProp","Clickable","ImageBaseBadge","ImageBaseOverlay","ImageBaseContext","validateFallbackIcon","validateSize","styles","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","defaultSize","getObjectFitClassName","objectFit","imgObjectFitContain","imgObjectFitCover","imgObjectFitNone","imgObjectFitScaleDown","undefined","parsePx","value","endsWith","parseInt","sizeToNumber","size","ImageBase","alt","crossOrigin","decoding","loading","referrerPolicy","sizes","src","srcSet","useMap","fetchPriority","getRef","sizeProp","width","widthImg","height","heightImg","widthSize","heightSize","noBorder","fallbackIcon","fallbackIconProp","children","onLoad","onError","withTransparentBackground","keepAspectRatio","restProps","loaded","setLoaded","useState","failed","setFailed","hasSrc","needShowFallbackIcon","isValidElement","process","env","NODE_ENV","name","handleImageLoad","event","handleImageError","imgRef","isOnLoadStatusCheckedRef","useRef","useEffect","dispatchLoadEventForAlreadyLoadedResourceIfReactInitializedLater","current","complete","Event","dispatchEvent","Provider","baseStyle","baseClassName","host","transparentBackground","img","ref","className","imgKeepRatio","style","div","fallback","aria-hidden","border","displayName","Badge","Overlay"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Tappable } from "../Tappable/Tappable.js";
4
4
  import styles from "./Link.module.css";
5
5
  /**
6
6
  * @see https://vkcom.github.io/VKUI/#/Link
7
- */ export const Link = ({ before: beforeProp, after: afterProp, noUnderline, hasVisited, children, className, ...restProps })=>{
7
+ */ export const Link = ({ before: beforeProp, after: afterProp, noUnderline, hasVisited, children, ...restProps })=>{
8
8
  const before = beforeProp ? /*#__PURE__*/ _jsx("span", {
9
9
  className: styles.before,
10
10
  children: beforeProp
@@ -16,7 +16,7 @@ import styles from "./Link.module.css";
16
16
  return /*#__PURE__*/ _jsxs(Tappable, {
17
17
  Component: restProps.href ? 'a' : 'button',
18
18
  ...restProps,
19
- className: classNames(styles.host, hasVisited && styles.hasVisited, noUnderline ? undefined : styles.withUnderline, className),
19
+ baseClassName: classNames(styles.host, hasVisited && styles.hasVisited, noUnderline ? undefined : styles.withUnderline),
20
20
  hasHover: false,
21
21
  activeMode: "opacity",
22
22
  hoverMode: "none",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Link/Link.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport styles from './Link.module.css';\n\nexport interface LinkProps extends TappableProps {\n /**\n * Иконка слева.\n */\n before?: ReactElement;\n /**\n * Иконка справа.\n */\n after?: ReactElement;\n /**\n * Выключает появления нижнего подчеркивания при наведении.\n */\n noUnderline?: boolean;\n /**\n * Включает состояние `visited`, которое позволяет пользователю понять посещал ли он ссылку или нет.\n */\n hasVisited?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Link\n */\nexport const Link = ({\n before: beforeProp,\n after: afterProp,\n noUnderline,\n hasVisited,\n children,\n className,\n ...restProps\n}: LinkProps): React.ReactNode => {\n const before = beforeProp ? <span className={styles.before}>{beforeProp}</span> : null;\n const after = afterProp ? <span className={styles.after}>{afterProp}</span> : null;\n\n return (\n <Tappable\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n className={classNames(\n styles.host,\n hasVisited && styles.hasVisited,\n noUnderline ? undefined : styles.withUnderline,\n className,\n )}\n hasHover={false}\n activeMode=\"opacity\"\n hoverMode=\"none\"\n focusVisibleMode=\"outside\"\n >\n {before}\n {children}\n {after}\n </Tappable>\n );\n};\n"],"names":["classNames","Tappable","styles","Link","before","beforeProp","after","afterProp","noUnderline","hasVisited","children","className","restProps","span","Component","href","host","undefined","withUnderline","hasHover","activeMode","hoverMode","focusVisibleMode"],"mappings":";AACA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,OAAOC,YAAY,oBAAoB;AAqBvC;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,QAAQC,UAAU,EAClBC,OAAOC,SAAS,EAChBC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACT,GAAGC,WACO;IACV,MAAMR,SAASC,2BAAa,KAACQ;QAAKF,WAAWT,OAAOE,MAAM;kBAAGC;SAAqB;IAClF,MAAMC,QAAQC,0BAAY,KAACM;QAAKF,WAAWT,OAAOI,KAAK;kBAAGC;SAAoB;IAE9E,qBACE,MAACN;QACCa,WAAWF,UAAUG,IAAI,GAAG,MAAM;QACjC,GAAGH,SAAS;QACbD,WAAWX,WACTE,OAAOc,IAAI,EACXP,cAAcP,OAAOO,UAAU,EAC/BD,cAAcS,YAAYf,OAAOgB,aAAa,EAC9CP;QAEFQ,UAAU;QACVC,YAAW;QACXC,WAAU;QACVC,kBAAiB;;YAEhBlB;YACAM;YACAJ;;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Link/Link.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport styles from './Link.module.css';\n\nexport interface LinkProps extends TappableProps {\n /**\n * Иконка слева.\n */\n before?: ReactElement;\n /**\n * Иконка справа.\n */\n after?: ReactElement;\n /**\n * Выключает появления нижнего подчеркивания при наведении.\n */\n noUnderline?: boolean;\n /**\n * Включает состояние `visited`, которое позволяет пользователю понять посещал ли он ссылку или нет.\n */\n hasVisited?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Link\n */\nexport const Link = ({\n before: beforeProp,\n after: afterProp,\n noUnderline,\n hasVisited,\n children,\n ...restProps\n}: LinkProps): React.ReactNode => {\n const before = beforeProp ? <span className={styles.before}>{beforeProp}</span> : null;\n const after = afterProp ? <span className={styles.after}>{afterProp}</span> : null;\n\n return (\n <Tappable\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n baseClassName={classNames(\n styles.host,\n hasVisited && styles.hasVisited,\n noUnderline ? undefined : styles.withUnderline,\n )}\n hasHover={false}\n activeMode=\"opacity\"\n hoverMode=\"none\"\n focusVisibleMode=\"outside\"\n >\n {before}\n {children}\n {after}\n </Tappable>\n );\n};\n"],"names":["classNames","Tappable","styles","Link","before","beforeProp","after","afterProp","noUnderline","hasVisited","children","restProps","span","className","Component","href","baseClassName","host","undefined","withUnderline","hasHover","activeMode","hoverMode","focusVisibleMode"],"mappings":";AACA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,OAAOC,YAAY,oBAAoB;AAqBvC;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,QAAQC,UAAU,EAClBC,OAAOC,SAAS,EAChBC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACR,GAAGC,WACO;IACV,MAAMP,SAASC,2BAAa,KAACO;QAAKC,WAAWX,OAAOE,MAAM;kBAAGC;SAAqB;IAClF,MAAMC,QAAQC,0BAAY,KAACK;QAAKC,WAAWX,OAAOI,KAAK;kBAAGC;SAAoB;IAE9E,qBACE,MAACN;QACCa,WAAWH,UAAUI,IAAI,GAAG,MAAM;QACjC,GAAGJ,SAAS;QACbK,eAAehB,WACbE,OAAOe,IAAI,EACXR,cAAcP,OAAOO,UAAU,EAC/BD,cAAcU,YAAYhB,OAAOiB,aAAa;QAEhDC,UAAU;QACVC,YAAW;QACXC,WAAU;QACVC,kBAAiB;;YAEhBnB;YACAM;YACAJ;;;AAGP,EAAE"}
@@ -1,18 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- import { classNames } from "@vkontakte/vkjs";
4
3
  import { DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP } from "../../hooks/useDraggableWithDomApi/index.js";
5
4
  import { RootComponent } from "../RootComponent/RootComponent.js";
6
5
  import styles from "./List.module.css";
7
6
  /**
8
7
  * @see https://vkcom.github.io/VKUI/#/List
9
- */ export const List = ({ children, gap = 0, className, style, ...restProps })=>{
8
+ */ export const List = ({ children, gap = 0, ...restProps })=>{
10
9
  return /*#__PURE__*/ _jsxs(RootComponent, {
11
10
  role: "list",
12
- className: classNames(styles.host, className),
13
- style: {
14
- gridGap: gap,
15
- ...style
11
+ baseClassName: styles.host,
12
+ baseStyle: {
13
+ gridGap: gap
16
14
  },
17
15
  ...restProps,
18
16
  children: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/List/List.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP } from '../../hooks/useDraggableWithDomApi';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './List.module.css';\n\nexport type ListProps = HTMLAttributesWithRootRef<HTMLDivElement> & {\n /**\n * Задает отступ между элементами\n */\n gap?: number;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/List\n */\nexport const List = ({\n children,\n gap = 0,\n className,\n style,\n ...restProps\n}: ListProps): React.ReactNode => {\n return (\n <RootComponent\n role=\"list\"\n className={classNames(styles.host, className)}\n style={{\n gridGap: gap,\n ...style,\n }}\n {...restProps}\n >\n {children}\n <div\n aria-hidden\n {...DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP}\n className={styles.placeholder}\n ></div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP","RootComponent","styles","List","children","gap","className","style","restProps","role","host","gridGap","div","aria-hidden","placeholder"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,qCAAqC,QAAQ,8CAAqC;AAE3F,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,oBAAoB;AASvC;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,QAAQ,EACRC,MAAM,CAAC,EACPC,SAAS,EACTC,KAAK,EACL,GAAGC,WACO;IACV,qBACE,MAACP;QACCQ,MAAK;QACLH,WAAWP,WAAWG,OAAOQ,IAAI,EAAEJ;QACnCC,OAAO;YACLI,SAASN;YACT,GAAGE,KAAK;QACV;QACC,GAAGC,SAAS;;YAEZJ;0BACD,KAACQ;gBACCC,aAAW;gBACV,GAAGb,qCAAqC;gBACzCM,WAAWJ,OAAOY,WAAW;;;;AAIrC,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/List/List.tsx"],"sourcesContent":["import * as React from 'react';\nimport { DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP } from '../../hooks/useDraggableWithDomApi';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './List.module.css';\n\nexport type ListProps = HTMLAttributesWithRootRef<HTMLDivElement> & {\n /**\n * Задает отступ между элементами\n */\n gap?: number;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/List\n */\nexport const List = ({ children, gap = 0, ...restProps }: ListProps): React.ReactNode => {\n return (\n <RootComponent\n role=\"list\"\n baseClassName={styles.host}\n baseStyle={{\n gridGap: gap,\n }}\n {...restProps}\n >\n {children}\n <div\n aria-hidden\n {...DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP}\n className={styles.placeholder}\n ></div>\n </RootComponent>\n );\n};\n"],"names":["React","DATA_DRAGGABLE_PLACEHOLDER_REACT_PROP","RootComponent","styles","List","children","gap","restProps","role","baseClassName","host","baseStyle","gridGap","div","aria-hidden","className","placeholder"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,qCAAqC,QAAQ,8CAAqC;AAE3F,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,oBAAoB;AASvC;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EAAEC,QAAQ,EAAEC,MAAM,CAAC,EAAE,GAAGC,WAAsB;IACjE,qBACE,MAACL;QACCM,MAAK;QACLC,eAAeN,OAAOO,IAAI;QAC1BC,WAAW;YACTC,SAASN;QACX;QACC,GAAGC,SAAS;;YAEZF;0BACD,KAACQ;gBACCC,aAAW;gBACV,GAAGb,qCAAqC;gBACzCc,WAAWZ,OAAOa,WAAW;;;;AAIrC,EAAE"}
@@ -18,8 +18,8 @@ const stylesTextWrap = {
18
18
  };
19
19
  /**
20
20
  * @see https://vkcom.github.io/VKUI/#/MiniInfoCell
21
- */ export const MiniInfoCell = ({ before, after, children, mode = 'base', textWrap = 'nowrap', chevron = false, className, ...restProps })=>{
22
- const cellClasses = classNames(styles.host, stylesTextWrap[textWrap], mode !== 'base' && stylesMode[mode], className);
21
+ */ export const MiniInfoCell = ({ before, after, children, mode = 'base', textWrap = 'nowrap', chevron = false, ...restProps })=>{
22
+ const cellClasses = classNames(styles.host, stylesTextWrap[textWrap], mode !== 'base' && stylesMode[mode]);
23
23
  const cellContent = /*#__PURE__*/ _jsxs(React.Fragment, {
24
24
  children: [
25
25
  hasReactNode(before) && /*#__PURE__*/ _jsx("span", {
@@ -47,7 +47,7 @@ const stylesTextWrap = {
47
47
  Component: "div",
48
48
  role: "button",
49
49
  ...restProps,
50
- className: cellClasses,
50
+ baseClassName: cellClasses,
51
51
  children: cellContent
52
52
  }) : /*#__PURE__*/ _jsx(RootComponent, {
53
53
  ...restProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/MiniInfoCell/MiniInfoCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Chevron } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Paragraph } from '../Typography/Paragraph/Paragraph';\nimport styles from './MiniInfoCell.module.css';\n\nconst stylesMode = {\n add: styles.modeAdd,\n accent: styles.modeAccent,\n more: styles.modeMore,\n};\n\nconst stylesTextWrap = {\n nowrap: styles.textWrapNowrap,\n full: styles.textWrapFull,\n short: styles.textWrapShort,\n};\n\nexport interface MiniInfoCellProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Иконка слева.<br />\n * Рекомендуется использовать иконки размера 20.\n */\n before?: React.ReactNode;\n\n /**\n * Содержимое справа.<br />\n * `<UsersStack size=\"s\" />` или `<Avatar size={24} />`\n */\n after?: React.ReactNode;\n\n /**\n * Тип ячейки:\n *\n * - `base` – базовая ячейка с серой иконкой и серым текстом.<br />\n * В компонент можно передать `Link`, чтобы визуально сделать часть текста ссылкой.\n * - `add` – тип ячейки, который показывает, что взаимодействие с ней должно вызывать действие добавления чего-то.\n * - `more` – взаимодействие с такой ячейкой должно открывать какую-то подробную информацию.\n */\n mode?: 'base' | 'accent' | 'add' | 'more';\n\n /**\n * Тип отображения текста:\n *\n * - `nowrap` – в одну строку, текст не переносится и обрезается.\n * - `short` – максимально отображается 3 строки, остальное обрезается.\n * - `full` – текст отображается полностью. В дизайне это свойство `multiline`\n */\n textWrap?: 'nowrap' | 'short' | 'full';\n\n /**\n * Передавать `true`, если предполагается переход при клике по ячейке.\n */\n chevron?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/MiniInfoCell\n */\nexport const MiniInfoCell = ({\n before,\n after,\n children,\n mode = 'base',\n textWrap = 'nowrap',\n chevron = false,\n className,\n ...restProps\n}: MiniInfoCellProps): React.ReactNode => {\n const cellClasses = classNames(\n styles.host,\n stylesTextWrap[textWrap],\n mode !== 'base' && stylesMode[mode],\n className,\n );\n\n const cellContent = (\n <React.Fragment>\n {hasReactNode(before) && <span className={styles.before}>{before}</span>}\n <div className={styles.middle}>\n <Paragraph className={styles.content} weight={mode === 'more' ? '2' : undefined}>\n {children}\n </Paragraph>\n {chevron && <Icon16Chevron />}\n </div>\n {hasReactNode(after) && <span className={styles.after}>{after}</span>}\n </React.Fragment>\n );\n\n return restProps.onClick ? (\n <Tappable Component=\"div\" role=\"button\" {...restProps} className={cellClasses}>\n {cellContent}\n </Tappable>\n ) : (\n <RootComponent {...restProps} baseClassName={cellClasses}>\n {cellContent}\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Chevron","classNames","hasReactNode","RootComponent","Tappable","Paragraph","styles","stylesMode","add","modeAdd","accent","modeAccent","more","modeMore","stylesTextWrap","nowrap","textWrapNowrap","full","textWrapFull","short","textWrapShort","MiniInfoCell","before","after","children","mode","textWrap","chevron","className","restProps","cellClasses","host","cellContent","Fragment","span","div","middle","content","weight","undefined","onClick","Component","role","baseClassName"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,SAAS,QAAQ,uCAAoC;AAC9D,OAAOC,YAAY,4BAA4B;AAE/C,MAAMC,aAAa;IACjBC,KAAKF,OAAOG,OAAO;IACnBC,QAAQJ,OAAOK,UAAU;IACzBC,MAAMN,OAAOO,QAAQ;AACvB;AAEA,MAAMC,iBAAiB;IACrBC,QAAQT,OAAOU,cAAc;IAC7BC,MAAMX,OAAOY,YAAY;IACzBC,OAAOb,OAAOc,aAAa;AAC7B;AAwCA;;CAEC,GACD,OAAO,MAAMC,eAAe,CAAC,EAC3BC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,OAAO,MAAM,EACbC,WAAW,QAAQ,EACnBC,UAAU,KAAK,EACfC,SAAS,EACT,GAAGC,WACe;IAClB,MAAMC,cAAc7B,WAClBK,OAAOyB,IAAI,EACXjB,cAAc,CAACY,SAAS,EACxBD,SAAS,UAAUlB,UAAU,CAACkB,KAAK,EACnCG;IAGF,MAAMI,4BACJ,MAACjC,MAAMkC,QAAQ;;YACZ/B,aAAaoB,yBAAW,KAACY;gBAAKN,WAAWtB,OAAOgB,MAAM;0BAAGA;;0BAC1D,MAACa;gBAAIP,WAAWtB,OAAO8B,MAAM;;kCAC3B,KAAC/B;wBAAUuB,WAAWtB,OAAO+B,OAAO;wBAAEC,QAAQb,SAAS,SAAS,MAAMc;kCACnEf;;oBAEFG,yBAAW,KAAC3B;;;YAEdE,aAAaqB,wBAAU,KAACW;gBAAKN,WAAWtB,OAAOiB,KAAK;0BAAGA;;;;IAI5D,OAAOM,UAAUW,OAAO,iBACtB,KAACpC;QAASqC,WAAU;QAAMC,MAAK;QAAU,GAAGb,SAAS;QAAED,WAAWE;kBAC/DE;uBAGH,KAAC7B;QAAe,GAAG0B,SAAS;QAAEc,eAAeb;kBAC1CE;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/MiniInfoCell/MiniInfoCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Chevron } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Paragraph } from '../Typography/Paragraph/Paragraph';\nimport styles from './MiniInfoCell.module.css';\n\nconst stylesMode = {\n add: styles.modeAdd,\n accent: styles.modeAccent,\n more: styles.modeMore,\n};\n\nconst stylesTextWrap = {\n nowrap: styles.textWrapNowrap,\n full: styles.textWrapFull,\n short: styles.textWrapShort,\n};\n\nexport interface MiniInfoCellProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Иконка слева.<br />\n * Рекомендуется использовать иконки размера 20.\n */\n before?: React.ReactNode;\n\n /**\n * Содержимое справа.<br />\n * `<UsersStack size=\"s\" />` или `<Avatar size={24} />`\n */\n after?: React.ReactNode;\n\n /**\n * Тип ячейки:\n *\n * - `base` – базовая ячейка с серой иконкой и серым текстом.<br />\n * В компонент можно передать `Link`, чтобы визуально сделать часть текста ссылкой.\n * - `add` – тип ячейки, который показывает, что взаимодействие с ней должно вызывать действие добавления чего-то.\n * - `more` – взаимодействие с такой ячейкой должно открывать какую-то подробную информацию.\n */\n mode?: 'base' | 'accent' | 'add' | 'more';\n\n /**\n * Тип отображения текста:\n *\n * - `nowrap` – в одну строку, текст не переносится и обрезается.\n * - `short` – максимально отображается 3 строки, остальное обрезается.\n * - `full` – текст отображается полностью. В дизайне это свойство `multiline`\n */\n textWrap?: 'nowrap' | 'short' | 'full';\n\n /**\n * Передавать `true`, если предполагается переход при клике по ячейке.\n */\n chevron?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/MiniInfoCell\n */\nexport const MiniInfoCell = ({\n before,\n after,\n children,\n mode = 'base',\n textWrap = 'nowrap',\n chevron = false,\n ...restProps\n}: MiniInfoCellProps): React.ReactNode => {\n const cellClasses = classNames(\n styles.host,\n stylesTextWrap[textWrap],\n mode !== 'base' && stylesMode[mode],\n );\n\n const cellContent = (\n <React.Fragment>\n {hasReactNode(before) && <span className={styles.before}>{before}</span>}\n <div className={styles.middle}>\n <Paragraph className={styles.content} weight={mode === 'more' ? '2' : undefined}>\n {children}\n </Paragraph>\n {chevron && <Icon16Chevron />}\n </div>\n {hasReactNode(after) && <span className={styles.after}>{after}</span>}\n </React.Fragment>\n );\n\n return restProps.onClick ? (\n <Tappable Component=\"div\" role=\"button\" {...restProps} baseClassName={cellClasses}>\n {cellContent}\n </Tappable>\n ) : (\n <RootComponent {...restProps} baseClassName={cellClasses}>\n {cellContent}\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Chevron","classNames","hasReactNode","RootComponent","Tappable","Paragraph","styles","stylesMode","add","modeAdd","accent","modeAccent","more","modeMore","stylesTextWrap","nowrap","textWrapNowrap","full","textWrapFull","short","textWrapShort","MiniInfoCell","before","after","children","mode","textWrap","chevron","restProps","cellClasses","host","cellContent","Fragment","span","className","div","middle","content","weight","undefined","onClick","Component","role","baseClassName"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,SAAS,QAAQ,uCAAoC;AAC9D,OAAOC,YAAY,4BAA4B;AAE/C,MAAMC,aAAa;IACjBC,KAAKF,OAAOG,OAAO;IACnBC,QAAQJ,OAAOK,UAAU;IACzBC,MAAMN,OAAOO,QAAQ;AACvB;AAEA,MAAMC,iBAAiB;IACrBC,QAAQT,OAAOU,cAAc;IAC7BC,MAAMX,OAAOY,YAAY;IACzBC,OAAOb,OAAOc,aAAa;AAC7B;AAwCA;;CAEC,GACD,OAAO,MAAMC,eAAe,CAAC,EAC3BC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,OAAO,MAAM,EACbC,WAAW,QAAQ,EACnBC,UAAU,KAAK,EACf,GAAGC,WACe;IAClB,MAAMC,cAAc5B,WAClBK,OAAOwB,IAAI,EACXhB,cAAc,CAACY,SAAS,EACxBD,SAAS,UAAUlB,UAAU,CAACkB,KAAK;IAGrC,MAAMM,4BACJ,MAAChC,MAAMiC,QAAQ;;YACZ9B,aAAaoB,yBAAW,KAACW;gBAAKC,WAAW5B,OAAOgB,MAAM;0BAAGA;;0BAC1D,MAACa;gBAAID,WAAW5B,OAAO8B,MAAM;;kCAC3B,KAAC/B;wBAAU6B,WAAW5B,OAAO+B,OAAO;wBAAEC,QAAQb,SAAS,SAAS,MAAMc;kCACnEf;;oBAEFG,yBAAW,KAAC3B;;;YAEdE,aAAaqB,wBAAU,KAACU;gBAAKC,WAAW5B,OAAOiB,KAAK;0BAAGA;;;;IAI5D,OAAOK,UAAUY,OAAO,iBACtB,KAACpC;QAASqC,WAAU;QAAMC,MAAK;QAAU,GAAGd,SAAS;QAAEe,eAAed;kBACnEE;uBAGH,KAAC5B;QAAe,GAAGyB,SAAS;QAAEe,eAAed;kBAC1CE;;AAGP,EAAE"}
@@ -13,7 +13,7 @@ import { ModalCardBaseCloseButton } from "./ModalCardBaseCloseButton.js";
13
13
  import styles from "./ModalCardBase.module.css";
14
14
  /**
15
15
  * @see https://vkcom.github.io/VKUI/#/ModalCardBase
16
- */ export const ModalCardBase = ({ icon, title, titleComponent = 'span', description, descriptionComponent = 'span', children, actions, onClose, dismissLabel = 'Скрыть', style, size: sizeProp, modalDismissButtonTestId, dismissButtonMode = 'outside', preventClose, ...restProps })=>{
16
+ */ export const ModalCardBase = ({ icon, title, titleComponent = 'span', description, descriptionComponent = 'span', children, actions, onClose, dismissLabel = 'Скрыть', size: sizeProp, modalDismissButtonTestId, dismissButtonMode = 'outside', preventClose, ...restProps })=>{
17
17
  const platform = usePlatform();
18
18
  const { isDesktop } = useAdaptivityWithJSMediaQueries();
19
19
  const size = isDesktop ? sizeProp : undefined;
@@ -23,9 +23,8 @@ import styles from "./ModalCardBase.module.css";
23
23
  return /*#__PURE__*/ _jsx(RootComponent, {
24
24
  ...restProps,
25
25
  baseClassName: classNames('vkuiInternalModalCardBase', platform === 'ios' && styles.ios, isDesktop && styles.desktop, withSafeZone && styles.withSafeZone),
26
- style: {
27
- maxWidth: size,
28
- ...style
26
+ baseStyle: {
27
+ maxWidth: size
29
28
  },
30
29
  children: /*#__PURE__*/ _jsxs("div", {
31
30
  className: styles.container,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalCardBase/ModalCardBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { AdaptivityContext } from '../AdaptivityProvider/AdaptivityContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Spacing } from '../Spacing/Spacing';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Title } from '../Typography/Title/Title';\nimport { ModalCardBaseCloseButton } from './ModalCardBaseCloseButton';\nimport styles from './ModalCardBase.module.css';\n\nexport interface ModalCardBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'title'> {\n /**\n * Иконка.\n *\n * Может быть компонентом иконки, например, `<Icon56MoneyTransferOutline />`, или `<Avatar size={72} src=\"\" />`\n */\n icon?: React.ReactNode;\n\n /**\n * Заголовок карточки\n */\n title?: React.ReactNode;\n /* Позволяет поменять тег используемый для заголовка */\n titleComponent?: React.ElementType;\n\n /**\n * Описание\n */\n description?: React.ReactNode;\n /* Позволяет поменять тег используемый для описания */\n descriptionComponent?: React.ElementType;\n\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button) с параметрами:\n *\n * - `size=\"l\" mode=\"primary\" stretched`\n * - `size=\"l\" mode=\"secondary\" stretched`\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `gap=\"s\" mode=\"horizontal\" stretched`\n * - `gap=\"m\" mode=\"vertical\" stretched`\n */\n actions?: React.ReactNode;\n\n onClose?: VoidFunction;\n\n /**\n * Текст кнопки закрытия. Делает ее доступной для ассистивных технологий\n */\n dismissLabel?: string;\n\n /**\n * Задаёт контенту максимальную ширину для десктопной версии.\n */\n size?: number;\n\n /**\n * `data-testid` для кнопки закрытия\n */\n modalDismissButtonTestId?: string;\n /**\n * Расположение кнопки закрытия (внутри и вне `popout'a`)\n *\n * Доступно только в `compact`-режиме\n *\n * На `iOS` в `regular`-режиме всегда включен `inside`\n *\n * ⚠️ ВНИМАНИЕ: использование `none` скрывает крестик, это негативно сказывается на пользовательском опыте\n */\n dismissButtonMode?: 'inside' | 'outside' | 'none';\n /**\n * Позволяет отключить возможность закрытия модальной страницы (смахивание, клавиша `ESC`, клик по подложке)\n *\n * ⚠️ ВНИМАНИЕ: использование этой опции негативно сказывается на пользовательском опыте\n */\n preventClose?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalCardBase\n */\nexport const ModalCardBase = ({\n icon,\n title,\n titleComponent = 'span',\n description,\n descriptionComponent = 'span',\n children,\n actions,\n onClose,\n dismissLabel = 'Скрыть',\n style,\n size: sizeProp,\n modalDismissButtonTestId,\n dismissButtonMode = 'outside',\n preventClose,\n ...restProps\n}: ModalCardBaseProps): React.ReactNode => {\n const platform = usePlatform();\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n const size = isDesktop ? sizeProp : undefined;\n const withSafeZone =\n !icon &&\n (dismissButtonMode === 'inside' ||\n (platform === 'ios' && !isDesktop && dismissButtonMode !== 'none'));\n\n const hasTitle = hasReactNode(title);\n const hasDescription = hasReactNode(description);\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n 'vkuiInternalModalCardBase',\n platform === 'ios' && styles.ios,\n isDesktop && styles.desktop,\n withSafeZone && styles.withSafeZone,\n )}\n style={{\n maxWidth: size,\n ...style,\n }}\n >\n <div className={styles.container}>\n {hasReactNode(icon) && <div className={styles.icon}>{icon}</div>}\n {hasReactNode(title) && (\n <Title level=\"2\" weight=\"2\" className={styles.title} Component={titleComponent}>\n {title}\n </Title>\n )}\n {hasTitle && hasDescription && <Spacing size={8} />}\n {hasDescription && (\n <AdaptivityContext.Provider value={{ sizeY: 'regular' }}>\n <Subhead className={styles.description} Component={descriptionComponent}>\n {description}\n </Subhead>\n </AdaptivityContext.Provider>\n )}\n\n {children}\n\n {hasReactNode(actions) && <div className={styles.actions}>{actions}</div>}\n\n {dismissButtonMode !== 'none' && (\n <ModalCardBaseCloseButton\n testId={modalDismissButtonTestId}\n onClose={onClose}\n mode={dismissButtonMode}\n >\n {dismissLabel}\n </ModalCardBaseCloseButton>\n )}\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivityWithJSMediaQueries","usePlatform","AdaptivityContext","RootComponent","Spacing","Subhead","Title","ModalCardBaseCloseButton","styles","ModalCardBase","icon","title","titleComponent","description","descriptionComponent","children","actions","onClose","dismissLabel","style","size","sizeProp","modalDismissButtonTestId","dismissButtonMode","preventClose","restProps","platform","isDesktop","undefined","withSafeZone","hasTitle","hasDescription","baseClassName","ios","desktop","maxWidth","div","className","container","level","weight","Component","Provider","value","sizeY","testId","mode"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,+BAA+B,QAAQ,iDAA8C;AAC9F,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,iBAAiB,QAAQ,6CAA0C;AAC5E,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,KAAK,QAAQ,+BAA4B;AAClD,SAASC,wBAAwB,QAAQ,gCAA6B;AACtE,OAAOC,YAAY,6BAA6B;AAwEhD;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,MAAM,EACvBC,WAAW,EACXC,uBAAuB,MAAM,EAC7BC,QAAQ,EACRC,OAAO,EACPC,OAAO,EACPC,eAAe,QAAQ,EACvBC,KAAK,EACLC,MAAMC,QAAQ,EACdC,wBAAwB,EACxBC,oBAAoB,SAAS,EAC7BC,YAAY,EACZ,GAAGC,WACgB;IACnB,MAAMC,WAAWzB;IACjB,MAAM,EAAE0B,SAAS,EAAE,GAAG3B;IAEtB,MAAMoB,OAAOO,YAAYN,WAAWO;IACpC,MAAMC,eACJ,CAACnB,QACAa,CAAAA,sBAAsB,YACpBG,aAAa,SAAS,CAACC,aAAaJ,sBAAsB,MAAM;IAErE,MAAMO,WAAW/B,aAAaY;IAC9B,MAAMoB,iBAAiBhC,aAAac;IACpC,qBACE,KAACV;QACE,GAAGsB,SAAS;QACbO,eAAelC,WACb,6BACA4B,aAAa,SAASlB,OAAOyB,GAAG,EAChCN,aAAanB,OAAO0B,OAAO,EAC3BL,gBAAgBrB,OAAOqB,YAAY;QAErCV,OAAO;YACLgB,UAAUf;YACV,GAAGD,KAAK;QACV;kBAEA,cAAA,MAACiB;YAAIC,WAAW7B,OAAO8B,SAAS;;gBAC7BvC,aAAaW,uBAAS,KAAC0B;oBAAIC,WAAW7B,OAAOE,IAAI;8BAAGA;;gBACpDX,aAAaY,wBACZ,KAACL;oBAAMiC,OAAM;oBAAIC,QAAO;oBAAIH,WAAW7B,OAAOG,KAAK;oBAAE8B,WAAW7B;8BAC7DD;;gBAGJmB,YAAYC,gCAAkB,KAAC3B;oBAAQgB,MAAM;;gBAC7CW,gCACC,KAAC7B,kBAAkBwC,QAAQ;oBAACC,OAAO;wBAAEC,OAAO;oBAAU;8BACpD,cAAA,KAACvC;wBAAQgC,WAAW7B,OAAOK,WAAW;wBAAE4B,WAAW3B;kCAChDD;;;gBAKNE;gBAEAhB,aAAaiB,0BAAY,KAACoB;oBAAIC,WAAW7B,OAAOQ,OAAO;8BAAGA;;gBAE1DO,sBAAsB,wBACrB,KAAChB;oBACCsC,QAAQvB;oBACRL,SAASA;oBACT6B,MAAMvB;8BAELL;;;;;AAMb,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ModalCardBase/ModalCardBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { AdaptivityContext } from '../AdaptivityProvider/AdaptivityContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Spacing } from '../Spacing/Spacing';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Title } from '../Typography/Title/Title';\nimport { ModalCardBaseCloseButton } from './ModalCardBaseCloseButton';\nimport styles from './ModalCardBase.module.css';\n\nexport interface ModalCardBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'title'> {\n /**\n * Иконка.\n *\n * Может быть компонентом иконки, например, `<Icon56MoneyTransferOutline />`, или `<Avatar size={72} src=\"\" />`\n */\n icon?: React.ReactNode;\n\n /**\n * Заголовок карточки\n */\n title?: React.ReactNode;\n /* Позволяет поменять тег используемый для заголовка */\n titleComponent?: React.ElementType;\n\n /**\n * Описание\n */\n description?: React.ReactNode;\n /* Позволяет поменять тег используемый для описания */\n descriptionComponent?: React.ElementType;\n\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button) с параметрами:\n *\n * - `size=\"l\" mode=\"primary\" stretched`\n * - `size=\"l\" mode=\"secondary\" stretched`\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `gap=\"s\" mode=\"horizontal\" stretched`\n * - `gap=\"m\" mode=\"vertical\" stretched`\n */\n actions?: React.ReactNode;\n\n onClose?: VoidFunction;\n\n /**\n * Текст кнопки закрытия. Делает ее доступной для ассистивных технологий\n */\n dismissLabel?: string;\n\n /**\n * Задаёт контенту максимальную ширину для десктопной версии.\n */\n size?: number;\n\n /**\n * `data-testid` для кнопки закрытия\n */\n modalDismissButtonTestId?: string;\n /**\n * Расположение кнопки закрытия (внутри и вне `popout'a`)\n *\n * Доступно только в `compact`-режиме\n *\n * На `iOS` в `regular`-режиме всегда включен `inside`\n *\n * ⚠️ ВНИМАНИЕ: использование `none` скрывает крестик, это негативно сказывается на пользовательском опыте\n */\n dismissButtonMode?: 'inside' | 'outside' | 'none';\n /**\n * Позволяет отключить возможность закрытия модальной страницы (смахивание, клавиша `ESC`, клик по подложке)\n *\n * ⚠️ ВНИМАНИЕ: использование этой опции негативно сказывается на пользовательском опыте\n */\n preventClose?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalCardBase\n */\nexport const ModalCardBase = ({\n icon,\n title,\n titleComponent = 'span',\n description,\n descriptionComponent = 'span',\n children,\n actions,\n onClose,\n dismissLabel = 'Скрыть',\n size: sizeProp,\n modalDismissButtonTestId,\n dismissButtonMode = 'outside',\n preventClose,\n ...restProps\n}: ModalCardBaseProps): React.ReactNode => {\n const platform = usePlatform();\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n const size = isDesktop ? sizeProp : undefined;\n const withSafeZone =\n !icon &&\n (dismissButtonMode === 'inside' ||\n (platform === 'ios' && !isDesktop && dismissButtonMode !== 'none'));\n\n const hasTitle = hasReactNode(title);\n const hasDescription = hasReactNode(description);\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n 'vkuiInternalModalCardBase',\n platform === 'ios' && styles.ios,\n isDesktop && styles.desktop,\n withSafeZone && styles.withSafeZone,\n )}\n baseStyle={{\n maxWidth: size,\n }}\n >\n <div className={styles.container}>\n {hasReactNode(icon) && <div className={styles.icon}>{icon}</div>}\n {hasReactNode(title) && (\n <Title level=\"2\" weight=\"2\" className={styles.title} Component={titleComponent}>\n {title}\n </Title>\n )}\n {hasTitle && hasDescription && <Spacing size={8} />}\n {hasDescription && (\n <AdaptivityContext.Provider value={{ sizeY: 'regular' }}>\n <Subhead className={styles.description} Component={descriptionComponent}>\n {description}\n </Subhead>\n </AdaptivityContext.Provider>\n )}\n\n {children}\n\n {hasReactNode(actions) && <div className={styles.actions}>{actions}</div>}\n\n {dismissButtonMode !== 'none' && (\n <ModalCardBaseCloseButton\n testId={modalDismissButtonTestId}\n onClose={onClose}\n mode={dismissButtonMode}\n >\n {dismissLabel}\n </ModalCardBaseCloseButton>\n )}\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivityWithJSMediaQueries","usePlatform","AdaptivityContext","RootComponent","Spacing","Subhead","Title","ModalCardBaseCloseButton","styles","ModalCardBase","icon","title","titleComponent","description","descriptionComponent","children","actions","onClose","dismissLabel","size","sizeProp","modalDismissButtonTestId","dismissButtonMode","preventClose","restProps","platform","isDesktop","undefined","withSafeZone","hasTitle","hasDescription","baseClassName","ios","desktop","baseStyle","maxWidth","div","className","container","level","weight","Component","Provider","value","sizeY","testId","mode"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,+BAA+B,QAAQ,iDAA8C;AAC9F,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,iBAAiB,QAAQ,6CAA0C;AAC5E,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,KAAK,QAAQ,+BAA4B;AAClD,SAASC,wBAAwB,QAAQ,gCAA6B;AACtE,OAAOC,YAAY,6BAA6B;AAwEhD;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,MAAM,EACvBC,WAAW,EACXC,uBAAuB,MAAM,EAC7BC,QAAQ,EACRC,OAAO,EACPC,OAAO,EACPC,eAAe,QAAQ,EACvBC,MAAMC,QAAQ,EACdC,wBAAwB,EACxBC,oBAAoB,SAAS,EAC7BC,YAAY,EACZ,GAAGC,WACgB;IACnB,MAAMC,WAAWxB;IACjB,MAAM,EAAEyB,SAAS,EAAE,GAAG1B;IAEtB,MAAMmB,OAAOO,YAAYN,WAAWO;IACpC,MAAMC,eACJ,CAAClB,QACAY,CAAAA,sBAAsB,YACpBG,aAAa,SAAS,CAACC,aAAaJ,sBAAsB,MAAM;IAErE,MAAMO,WAAW9B,aAAaY;IAC9B,MAAMmB,iBAAiB/B,aAAac;IACpC,qBACE,KAACV;QACE,GAAGqB,SAAS;QACbO,eAAejC,WACb,6BACA2B,aAAa,SAASjB,OAAOwB,GAAG,EAChCN,aAAalB,OAAOyB,OAAO,EAC3BL,gBAAgBpB,OAAOoB,YAAY;QAErCM,WAAW;YACTC,UAAUhB;QACZ;kBAEA,cAAA,MAACiB;YAAIC,WAAW7B,OAAO8B,SAAS;;gBAC7BvC,aAAaW,uBAAS,KAAC0B;oBAAIC,WAAW7B,OAAOE,IAAI;8BAAGA;;gBACpDX,aAAaY,wBACZ,KAACL;oBAAMiC,OAAM;oBAAIC,QAAO;oBAAIH,WAAW7B,OAAOG,KAAK;oBAAE8B,WAAW7B;8BAC7DD;;gBAGJkB,YAAYC,gCAAkB,KAAC1B;oBAAQe,MAAM;;gBAC7CW,gCACC,KAAC5B,kBAAkBwC,QAAQ;oBAACC,OAAO;wBAAEC,OAAO;oBAAU;8BACpD,cAAA,KAACvC;wBAAQgC,WAAW7B,OAAOK,WAAW;wBAAE4B,WAAW3B;kCAChDD;;;gBAKNE;gBAEAhB,aAAaiB,0BAAY,KAACoB;oBAAIC,WAAW7B,OAAOQ,OAAO;8BAAGA;;gBAE1DM,sBAAsB,wBACrB,KAACf;oBACCsC,QAAQxB;oBACRJ,SAASA;oBACT6B,MAAMxB;8BAELJ;;;;;AAMb,EAAE"}
@@ -1,15 +1,14 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { Icon20Cancel } from "@vkontakte/icons";
4
- import { classNames } from "@vkontakte/vkjs";
5
4
  import { Tappable } from "../Tappable/Tappable.js";
6
5
  import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
7
6
  import styles from "./ModalDismissButton.module.css";
8
7
  /**
9
8
  * @see https://vkcom.github.io/VKUI/#/ModalDismissButton
10
- */ export const ModalDismissButton = ({ children = 'Закрыть', className, ...restProps })=>{
9
+ */ export const ModalDismissButton = ({ children = 'Закрыть', ...restProps })=>{
11
10
  return /*#__PURE__*/ _jsxs(Tappable, {
12
- className: classNames(styles.host, className),
11
+ baseClassName: styles.host,
13
12
  ...restProps,
14
13
  activeMode: styles.active,
15
14
  hoverMode: styles.hover,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalDismissButton/ModalDismissButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon20Cancel } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './ModalDismissButton.module.css';\n\nexport type ModalDismissButtonProps = Omit<TappableProps, 'mode' | 'onClose'>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalDismissButton\n */\nexport const ModalDismissButton = ({\n children = 'Закрыть',\n className,\n ...restProps\n}: ModalDismissButtonProps): React.ReactNode => {\n return (\n <Tappable\n className={classNames(styles.host, className)}\n {...restProps}\n activeMode={styles.active}\n hoverMode={styles.hover}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n <Icon20Cancel />\n </Tappable>\n );\n};\n"],"names":["React","Icon20Cancel","classNames","Tappable","VisuallyHidden","styles","ModalDismissButton","children","className","restProps","host","activeMode","active","hoverMode","hover"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,kCAAkC;AAIrD;;CAEC,GACD,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,WAAW,SAAS,EACpBC,SAAS,EACT,GAAGC,WACqB;IACxB,qBACE,MAACN;QACCK,WAAWN,WAAWG,OAAOK,IAAI,EAAEF;QAClC,GAAGC,SAAS;QACbE,YAAYN,OAAOO,MAAM;QACzBC,WAAWR,OAAOS,KAAK;;YAEtBP,0BAAY,KAACH;0BAAgBG;;0BAC9B,KAACN;;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ModalDismissButton/ModalDismissButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon20Cancel } from '@vkontakte/icons';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './ModalDismissButton.module.css';\n\nexport type ModalDismissButtonProps = Omit<TappableProps, 'mode' | 'onClose'>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalDismissButton\n */\nexport const ModalDismissButton = ({\n children = 'Закрыть',\n ...restProps\n}: ModalDismissButtonProps): React.ReactNode => {\n return (\n <Tappable\n baseClassName={styles.host}\n {...restProps}\n activeMode={styles.active}\n hoverMode={styles.hover}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n <Icon20Cancel />\n </Tappable>\n );\n};\n"],"names":["React","Icon20Cancel","Tappable","VisuallyHidden","styles","ModalDismissButton","children","restProps","baseClassName","host","activeMode","active","hoverMode","hover"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,kCAAkC;AAIrD;;CAEC,GACD,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,WAAW,SAAS,EACpB,GAAGC,WACqB;IACxB,qBACE,MAACL;QACCM,eAAeJ,OAAOK,IAAI;QACzB,GAAGF,SAAS;QACbG,YAAYN,OAAOO,MAAM;QACzBC,WAAWR,OAAOS,KAAK;;YAEtBP,0BAAY,KAACH;0BAAgBG;;0BAC9B,KAACL;;;AAGP,EAAE"}
@@ -20,6 +20,7 @@
20
20
 
21
21
  .hostPositionFixed {
22
22
  position: fixed;
23
+ z-index: var(--vkui--z_index_modal);
23
24
  }
24
25
 
25
26
  .hostStateEnter {
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { noop } from "@vkontakte/vkjs";
5
5
  import { warnOnce } from "../../lib/warnOnce.js";
6
- import { ModalPopoutPortal } from "../AppRoot/ModalPopoutPortal.js";
6
+ import { AppRootPortal } from "../AppRoot/AppRootPortal.js";
7
7
  import { ModalOverlay } from "../ModalOverlay/ModalOverlay.js";
8
8
  import { ModalRootContext, ModalRootOverlayContext } from "./ModalRootContext.js";
9
9
  const warn = warnOnce('ModalRoot');
@@ -39,7 +39,7 @@ const warn = warnOnce('ModalRoot');
39
39
  onOpened
40
40
  ]);
41
41
  const modalOverlayRef = React.useRef(null);
42
- return /*#__PURE__*/ _jsx(ModalPopoutPortal, {
42
+ return /*#__PURE__*/ _jsx(AppRootPortal, {
43
43
  usePortal: usePortal,
44
44
  children: /*#__PURE__*/ _jsx(ModalRootContext.Provider, {
45
45
  value: contextValue,
@@ -47,6 +47,7 @@ const warn = warnOnce('ModalRoot');
47
47
  value: modalOverlayRef,
48
48
  children: [
49
49
  /*#__PURE__*/ _jsx(ModalOverlay, {
50
+ position: "fixed",
50
51
  visible: typeof activeModal === 'string',
51
52
  getRootRef: modalOverlayRef
52
53
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRoot.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { ModalPopoutPortal } from '../AppRoot/ModalPopoutPortal';\nimport { ModalOverlay } from '../ModalOverlay/ModalOverlay';\nimport { ModalRootContext, ModalRootOverlayContext } from './ModalRootContext';\nimport type { ModalRootProps } from './types';\n\nconst warn = warnOnce('ModalRoot');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalRoot\n */\nexport const ModalRoot = ({\n activeModal,\n children,\n modalOverlayTestId,\n noFocusToDialog,\n usePortal,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n}: ModalRootProps): React.ReactNode => {\n const contextValue = React.useMemo(\n () => ({\n isInsideModal: true,\n\n // base props\n activeModal,\n modalOverlayTestId,\n noFocusToDialog,\n\n // callbacks\n onOpen,\n onOpened,\n onClose,\n onClosed,\n\n // TODO [>=8] Удалить метод\n updateModalHeight:\n /* istanbul ignore next: deprecated */\n process.env.NODE_ENV === 'development'\n ? () => {\n warn('Метод updateModalHeight() устарел и будет удалён в VKUI v8');\n }\n : noop,\n\n // TODO [>=8] Удалить метод\n registerModal:\n /* istanbul ignore next: deprecated */\n process.env.NODE_ENV === 'development'\n ? () => {\n warn('Метод registerModal() устарел и будет удалён в VKUI v8');\n }\n : noop,\n }),\n [activeModal, modalOverlayTestId, noFocusToDialog, onClose, onClosed, onOpen, onOpened],\n );\n const modalOverlayRef = React.useRef<HTMLDivElement>(null);\n return (\n <ModalPopoutPortal usePortal={usePortal}>\n <ModalRootContext.Provider value={contextValue}>\n <ModalRootOverlayContext.Provider value={modalOverlayRef}>\n <ModalOverlay visible={typeof activeModal === 'string'} getRootRef={modalOverlayRef} />\n {children}\n </ModalRootOverlayContext.Provider>\n </ModalRootContext.Provider>\n </ModalPopoutPortal>\n );\n};\n"],"names":["React","noop","warnOnce","ModalPopoutPortal","ModalOverlay","ModalRootContext","ModalRootOverlayContext","warn","ModalRoot","activeModal","children","modalOverlayTestId","noFocusToDialog","usePortal","onOpen","onOpened","onClose","onClosed","contextValue","useMemo","isInsideModal","updateModalHeight","process","env","NODE_ENV","registerModal","modalOverlayRef","useRef","Provider","value","visible","getRootRef"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,iBAAiB,QAAQ,kCAA+B;AACjE,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,wBAAqB;AAG/E,MAAMC,OAAOL,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMM,YAAY,CAAC,EACxBC,WAAW,EACXC,QAAQ,EACRC,kBAAkB,EAClBC,eAAe,EACfC,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACO;IACf,MAAMC,eAAelB,MAAMmB,OAAO,CAChC,IAAO,CAAA;YACLC,eAAe;YAEf,aAAa;YACbX;YACAE;YACAC;YAEA,YAAY;YACZE;YACAC;YACAC;YACAC;YAEA,2BAA2B;YAC3BI,mBACE,oCAAoC,GACpCC,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBACrB;gBACEjB,KAAK;YACP,IACAN;YAEN,2BAA2B;YAC3BwB,eACE,oCAAoC,GACpCH,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBACrB;gBACEjB,KAAK;YACP,IACAN;QACR,CAAA,GACA;QAACQ;QAAaE;QAAoBC;QAAiBI;QAASC;QAAUH;QAAQC;KAAS;IAEzF,MAAMW,kBAAkB1B,MAAM2B,MAAM,CAAiB;IACrD,qBACE,KAACxB;QAAkBU,WAAWA;kBAC5B,cAAA,KAACR,iBAAiBuB,QAAQ;YAACC,OAAOX;sBAChC,cAAA,MAACZ,wBAAwBsB,QAAQ;gBAACC,OAAOH;;kCACvC,KAACtB;wBAAa0B,SAAS,OAAOrB,gBAAgB;wBAAUsB,YAAYL;;oBACnEhB;;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRoot.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { AppRootPortal } from '../AppRoot/AppRootPortal';\nimport { ModalOverlay } from '../ModalOverlay/ModalOverlay';\nimport { ModalRootContext, ModalRootOverlayContext } from './ModalRootContext';\nimport type { ModalRootProps } from './types';\n\nconst warn = warnOnce('ModalRoot');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalRoot\n */\nexport const ModalRoot = ({\n activeModal,\n children,\n modalOverlayTestId,\n noFocusToDialog,\n usePortal,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n}: ModalRootProps): React.ReactNode => {\n const contextValue = React.useMemo(\n () => ({\n isInsideModal: true,\n\n // base props\n activeModal,\n modalOverlayTestId,\n noFocusToDialog,\n\n // callbacks\n onOpen,\n onOpened,\n onClose,\n onClosed,\n\n // TODO [>=8] Удалить метод\n updateModalHeight:\n /* istanbul ignore next: deprecated */\n process.env.NODE_ENV === 'development'\n ? () => {\n warn('Метод updateModalHeight() устарел и будет удалён в VKUI v8');\n }\n : noop,\n\n // TODO [>=8] Удалить метод\n registerModal:\n /* istanbul ignore next: deprecated */\n process.env.NODE_ENV === 'development'\n ? () => {\n warn('Метод registerModal() устарел и будет удалён в VKUI v8');\n }\n : noop,\n }),\n [activeModal, modalOverlayTestId, noFocusToDialog, onClose, onClosed, onOpen, onOpened],\n );\n const modalOverlayRef = React.useRef<HTMLDivElement>(null);\n return (\n <AppRootPortal usePortal={usePortal}>\n <ModalRootContext.Provider value={contextValue}>\n <ModalRootOverlayContext.Provider value={modalOverlayRef}>\n <ModalOverlay\n position=\"fixed\"\n visible={typeof activeModal === 'string'}\n getRootRef={modalOverlayRef}\n />\n {children}\n </ModalRootOverlayContext.Provider>\n </ModalRootContext.Provider>\n </AppRootPortal>\n );\n};\n"],"names":["React","noop","warnOnce","AppRootPortal","ModalOverlay","ModalRootContext","ModalRootOverlayContext","warn","ModalRoot","activeModal","children","modalOverlayTestId","noFocusToDialog","usePortal","onOpen","onOpened","onClose","onClosed","contextValue","useMemo","isInsideModal","updateModalHeight","process","env","NODE_ENV","registerModal","modalOverlayRef","useRef","Provider","value","position","visible","getRootRef"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,aAAa,QAAQ,8BAA2B;AACzD,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,wBAAqB;AAG/E,MAAMC,OAAOL,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMM,YAAY,CAAC,EACxBC,WAAW,EACXC,QAAQ,EACRC,kBAAkB,EAClBC,eAAe,EACfC,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACO;IACf,MAAMC,eAAelB,MAAMmB,OAAO,CAChC,IAAO,CAAA;YACLC,eAAe;YAEf,aAAa;YACbX;YACAE;YACAC;YAEA,YAAY;YACZE;YACAC;YACAC;YACAC;YAEA,2BAA2B;YAC3BI,mBACE,oCAAoC,GACpCC,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBACrB;gBACEjB,KAAK;YACP,IACAN;YAEN,2BAA2B;YAC3BwB,eACE,oCAAoC,GACpCH,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBACrB;gBACEjB,KAAK;YACP,IACAN;QACR,CAAA,GACA;QAACQ;QAAaE;QAAoBC;QAAiBI;QAASC;QAAUH;QAAQC;KAAS;IAEzF,MAAMW,kBAAkB1B,MAAM2B,MAAM,CAAiB;IACrD,qBACE,KAACxB;QAAcU,WAAWA;kBACxB,cAAA,KAACR,iBAAiBuB,QAAQ;YAACC,OAAOX;sBAChC,cAAA,MAACZ,wBAAwBsB,QAAQ;gBAACC,OAAOH;;kCACvC,KAACtB;wBACC0B,UAAS;wBACTC,SAAS,OAAOtB,gBAAgB;wBAChCuB,YAAYN;;oBAEbhB;;;;;AAKX,EAAE"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { createContext } from "react";
2
3
  import { noop } from "@vkontakte/vkjs";
3
4
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootContext.tsx"],"sourcesContent":["import { createContext, type RefObject } from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport type { ModalRootContextInterface } from './types';\n\n/**\n * Сохраняем `ref` компонента `ModalOverlay` из `ModalRoot` в контекст, чтобы можно было пробросить\n * его до `ModalPage` и `ModalCard`.\n *\n * @private\n */\nexport const ModalRootOverlayContext = createContext<RefObject<HTMLDivElement>>({ current: null });\n\nexport const ModalRootContext = createContext<ModalRootContextInterface>({\n updateModalHeight: noop,\n registerModal: noop,\n isInsideModal: false,\n});\n"],"names":["createContext","noop","ModalRootOverlayContext","current","ModalRootContext","updateModalHeight","registerModal","isInsideModal"],"mappings":"AAAA,SAASA,aAAa,QAAwB,QAAQ;AACtD,SAASC,IAAI,QAAQ,kBAAkB;AAGvC;;;;;CAKC,GACD,OAAO,MAAMC,wCAA0BF,cAAyC;IAAEG,SAAS;AAAK,GAAG;AAEnG,OAAO,MAAMC,iCAAmBJ,cAAyC;IACvEK,mBAAmBJ;IACnBK,eAAeL;IACfM,eAAe;AACjB,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootContext.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, type RefObject } from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport type { ModalRootContextInterface } from './types';\n\n/**\n * Сохраняем `ref` компонента `ModalOverlay` из `ModalRoot` в контекст, чтобы можно было пробросить\n * его до `ModalPage` и `ModalCard`.\n *\n * @private\n */\nexport const ModalRootOverlayContext = createContext<RefObject<HTMLDivElement>>({ current: null });\n\nexport const ModalRootContext = createContext<ModalRootContextInterface>({\n updateModalHeight: noop,\n registerModal: noop,\n isInsideModal: false,\n});\n"],"names":["createContext","noop","ModalRootOverlayContext","current","ModalRootContext","updateModalHeight","registerModal","isInsideModal"],"mappings":"AAAA;AAEA,SAASA,aAAa,QAAwB,QAAQ;AACtD,SAASC,IAAI,QAAQ,kBAAkB;AAGvC;;;;;CAKC,GACD,OAAO,MAAMC,wCAA0BF,cAAyC;IAAEG,SAAS;AAAK,GAAG;AAEnG,OAAO,MAAMC,iCAAmBJ,cAAyC;IACvEK,mBAAmBJ;IACnBK,eAAeL;IACfM,eAAe;AACjB,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/types.ts"],"sourcesContent":["/** TODO [>=8] Удалить deprecated типы */\nimport type { AppRootPortalProps } from '../AppRoot/AppRootPortal';\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport type ModalType = 'page' | 'card';\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport type TranslateRange = [number, number];\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport interface ModalElements {\n modalElement?: HTMLElement | null;\n innerElement?: HTMLElement | null;\n headerElement?: HTMLElement | null;\n contentElement?: HTMLElement | null;\n bottomInset?: HTMLElement | null;\n}\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport interface ModalsStateEntry extends ModalElements {\n id: string | null;\n /**\n * Событие начала открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Событие открытия модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Событие начала закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Событие закрытия модалки.\n */\n onClosed?: VoidFunction;\n type?: ModalType;\n\n settlingHeight?: number;\n expandable?: boolean;\n\n /**\n * Процент текущего сдвига модалки\n */\n translateY?: number;\n /**\n * Процент сдвига модалки в изначальном состоянии\n */\n translateYFrom?: number;\n /**\n * Процент сдвига модалки во время взаимодействия с ней (потянуть, чтобы открыть или закрыть)\n */\n translateYCurrent?: number;\n\n touchStartContentScrollTop?: number;\n touchMovePositive?: boolean | null;\n touchShiftYPercent?: number;\n\n expanded?: boolean;\n collapsed?: boolean;\n hidden?: boolean;\n\n contentScrolled?: boolean;\n contentScrollStopTimeout?: ReturnType<typeof setTimeout>;\n\n expandedRange?: TranslateRange;\n collapsedRange?: TranslateRange;\n hiddenRange?: TranslateRange;\n /**\n * Отключает возможность закрыть модалку стандартными способами\n */\n preventClose?: boolean;\n}\n\nexport type ModalRootActiveModal = string | null;\n\nexport type ModalRootCallbackFunction = (modalId: string) => void;\n\ntype ModalRootBaseProps = {\n activeModal?: ModalRootActiveModal;\n\n /**\n * `data-testid` для маски\n */\n modalOverlayTestId?: string;\n\n /**\n * Отключает фокус на контейнер диалогового окна при открытии.\n */\n noFocusToDialog?: boolean;\n\n usePortal?: AppRootPortalProps['usePortal'];\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?: ModalRootCallbackFunction;\n};\n\nexport interface ModalRootProps extends ModalRootBaseProps {\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\ntype ModalRootContextBaseInterface = {\n /**\n * Обозначает, в контексте ли модального окна мы сейчас.\n */\n isInsideModal: boolean;\n\n /**\n * С **VKUI v7** задача с обновлением высоты контента при `dynamicContentHeight` решается через CSS.\n *\n * @deprecated будет удалён в **VKUI v8**\n */\n updateModalHeight: VoidFunction;\n\n /**\n * С **VKUI v7** регистрация модальных окон больше не требуется.\n *\n * @deprecated будет удалён в **VKUI v8**\n */\n registerModal: (data: ModalElements & Required<Pick<ModalsStateEntry, 'type' | 'id'>>) => void;\n};\n\nexport interface ModalRootContextInterface\n extends ModalRootContextBaseInterface,\n ModalRootBaseProps {}\n\nexport interface UseModalRootContext extends ModalRootContextBaseInterface {\n onClose?: VoidFunction;\n}\n"],"names":[],"mappings":"AAAA,uCAAuC,GAwJvC,WAEC"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/types.ts"],"sourcesContent":["/** TODO [>=8] Удалить deprecated типы */\n\nimport type { AppRootPortalProps } from '../AppRoot/AppRootPortal';\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport type ModalType = 'page' | 'card';\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport type TranslateRange = [number, number];\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport interface ModalElements {\n modalElement?: HTMLElement | null;\n innerElement?: HTMLElement | null;\n headerElement?: HTMLElement | null;\n contentElement?: HTMLElement | null;\n bottomInset?: HTMLElement | null;\n}\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport interface ModalsStateEntry extends ModalElements {\n id: string | null;\n /**\n * Событие начала открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Событие открытия модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Событие начала закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Событие закрытия модалки.\n */\n onClosed?: VoidFunction;\n type?: ModalType;\n\n settlingHeight?: number;\n expandable?: boolean;\n\n /**\n * Процент текущего сдвига модалки\n */\n translateY?: number;\n /**\n * Процент сдвига модалки в изначальном состоянии\n */\n translateYFrom?: number;\n /**\n * Процент сдвига модалки во время взаимодействия с ней (потянуть, чтобы открыть или закрыть)\n */\n translateYCurrent?: number;\n\n touchStartContentScrollTop?: number;\n touchMovePositive?: boolean | null;\n touchShiftYPercent?: number;\n\n expanded?: boolean;\n collapsed?: boolean;\n hidden?: boolean;\n\n contentScrolled?: boolean;\n contentScrollStopTimeout?: ReturnType<typeof setTimeout>;\n\n expandedRange?: TranslateRange;\n collapsedRange?: TranslateRange;\n hiddenRange?: TranslateRange;\n /**\n * Отключает возможность закрыть модалку стандартными способами\n */\n preventClose?: boolean;\n}\n\nexport type ModalRootActiveModal = string | null;\n\nexport type ModalRootCallbackFunction = (modalId: string) => void;\n\ntype ModalRootBaseProps = {\n activeModal?: ModalRootActiveModal;\n\n /**\n * `data-testid` для маски\n */\n modalOverlayTestId?: string;\n\n /**\n * Отключает фокус на контейнер диалогового окна при открытии.\n */\n noFocusToDialog?: boolean;\n\n usePortal?: AppRootPortalProps['usePortal'];\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?: ModalRootCallbackFunction;\n};\n\nexport interface ModalRootProps extends ModalRootBaseProps {\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\ntype ModalRootContextBaseInterface = {\n /**\n * Обозначает, в контексте ли модального окна мы сейчас.\n */\n isInsideModal: boolean;\n\n /**\n * С **VKUI v7** задача с обновлением высоты контента при `dynamicContentHeight` решается через CSS.\n *\n * @deprecated будет удалён в **VKUI v8**\n */\n updateModalHeight: VoidFunction;\n\n /**\n * С **VKUI v7** регистрация модальных окон больше не требуется.\n *\n * @deprecated будет удалён в **VKUI v8**\n */\n registerModal: (data: ModalElements & Required<Pick<ModalsStateEntry, 'type' | 'id'>>) => void;\n};\n\nexport interface ModalRootContextInterface\n extends ModalRootContextBaseInterface,\n ModalRootBaseProps {}\n\nexport interface UseModalRootContext extends ModalRootContextBaseInterface {\n onClose?: VoidFunction;\n}\n"],"names":[],"mappings":"AAAA,uCAAuC,GAyJvC,WAEC"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import * as React from "react";
2
3
  export const NavViewIdContext = /*#__PURE__*/ React.createContext(undefined);
3
4
  export const NavPanelIdContext = /*#__PURE__*/ React.createContext(undefined);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/NavIdContext/NavIdContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport const NavViewIdContext: React.Context<string | undefined> = React.createContext<\n string | undefined\n>(undefined);\nexport const NavPanelIdContext: React.Context<string | undefined> = React.createContext<\n string | undefined\n>(undefined);\n"],"names":["React","NavViewIdContext","createContext","undefined","NavPanelIdContext"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,MAAMC,iCAAsDD,MAAME,aAAa,CAEpFC,WAAW;AACb,OAAO,MAAMC,kCAAuDJ,MAAME,aAAa,CAErFC,WAAW"}
1
+ {"version":3,"sources":["../../../../src/components/NavIdContext/NavIdContext.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nexport const NavViewIdContext: React.Context<string | undefined> = React.createContext<\n string | undefined\n>(undefined);\nexport const NavPanelIdContext: React.Context<string | undefined> = React.createContext<\n string | undefined\n>(undefined);\n"],"names":["React","NavViewIdContext","createContext","undefined","NavPanelIdContext"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,MAAMC,iCAAsDD,MAAME,aAAa,CAEpFC,WAAW;AACb,OAAO,MAAMC,kCAAuDJ,MAAME,aAAa,CAErFC,WAAW"}
@@ -2,6 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { hasReactNode } from "@vkontakte/vkjs";
5
+ import { mergeStyle } from "../../helpers/mergeStyle.js";
5
6
  import { useExternRef } from "../../hooks/useExternRef.js";
6
7
  import { usePatchChildren } from "../../hooks/usePatchChildren.js";
7
8
  import { createPortal } from "../../lib/createPortal.js";
@@ -48,16 +49,13 @@ const warn = warnOnce('OnboardingTooltip');
48
49
  let tooltip = null;
49
50
  if (shown) {
50
51
  const floatingStyle = convertFloatingDataToReactCSSProperties(positionStrategy, floatingDataX, floatingDataY);
51
- if (styleProp) {
52
- Object.assign(floatingStyle, styleProp);
53
- }
54
52
  tooltip = createPortal(/*#__PURE__*/ _jsxs(_Fragment, {
55
53
  children: [
56
54
  /*#__PURE__*/ _jsx(TooltipBase, {
57
55
  ...restProps,
58
56
  id: tooltipId,
59
57
  getRootRef: tooltipRef,
60
- style: floatingStyle,
58
+ style: mergeStyle(floatingStyle, styleProp),
61
59
  maxWidth: maxWidth,
62
60
  arrowProps: disableArrow ? undefined : {
63
61
  offset: arrowOffset,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePatchChildren } from '../../hooks/usePatchChildren';\nimport { createPortal } from '../../lib/createPortal';\nimport {\n autoUpdateFloatingElement,\n convertFloatingDataToReactCSSProperties,\n type FloatingComponentProps,\n useFloating,\n useFloatingMiddlewaresBootstrap,\n usePlacementChangeCallback,\n} from '../../lib/floating';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { DEFAULT_ARROW_HEIGHT, DEFAULT_ARROW_PADDING } from '../FloatingArrow/DefaultIcon';\nimport type { FloatingArrowProps } from '../FloatingArrow/FloatingArrow';\nimport { useNavTransition } from '../NavTransitionContext/NavTransitionContext';\nimport { TOOLTIP_MAX_WIDTH, TooltipBase, type TooltipBaseProps } from '../TooltipBase/TooltipBase';\nimport { onboardingTooltipContainerAttr } from './OnboardingTooltipContainer';\nimport styles from './OnboardingTooltip.module.css';\n\nconst warn = warnOnce('OnboardingTooltip');\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrowHeight'\n | 'arrowPadding'\n | 'arrowRef'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'shown'\n | 'children'\n | 'onPlacementChange'\n | 'disableFlipMiddleware'\n>;\n\ntype AllowedTooltipBaseProps = Omit<\n TooltipBaseProps,\n 'arrowProps' | 'closeIconLabel' | 'onCloseIconClick'\n>;\n\ntype AllowedFloatingArrowProps = {\n /**\n * Сдвиг стрелки относительно текущих координат.\n */\n arrowOffset?: FloatingArrowProps['offset'];\n /**\n * Включает абсолютное смещение по `arrowOffset`.\n */\n isStaticArrowOffset?: FloatingArrowProps['isStaticOffset'];\n};\n\nexport interface OnboardingTooltipProps\n extends AllowedFloatingComponentProps,\n AllowedTooltipBaseProps,\n AllowedFloatingArrowProps {\n /**\n * Скрывает стрелку, указывающую на якорный элемент.\n */\n disableArrow?: boolean;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: (this: void) => void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tooltip\n */\nexport const OnboardingTooltip = ({\n id: idProp,\n children,\n shown: shownProp = true,\n arrowPadding = DEFAULT_ARROW_PADDING,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n offsetByMainAxis = 0,\n offsetByCrossAxis = 0,\n arrowOffset = 0,\n isStaticArrowOffset = false,\n onClose,\n placement: placementProp = 'bottom-start',\n maxWidth = TOOLTIP_MAX_WIDTH,\n style: styleProp,\n getRootRef,\n disableArrow = false,\n onPlacementChange,\n disableFlipMiddleware = false,\n ...restProps\n}: OnboardingTooltipProps): React.ReactNode => {\n const generatedId = React.useId();\n const tooltipId = idProp || generatedId;\n const { entering } = useNavTransition();\n\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n const [tooltipContainer, setTooltipContainer] = React.useState<HTMLElement | null>(null);\n const [positionStrategy, setPositionStrategy] = React.useState<'fixed' | 'absolute'>('absolute');\n const shown = shownProp && tooltipContainer && !entering;\n\n const { middlewares, strictPlacement } = useFloatingMiddlewaresBootstrap({\n placement: placementProp,\n offsetByMainAxis,\n offsetByCrossAxis,\n arrowRef,\n arrow: !disableArrow,\n arrowHeight,\n arrowPadding,\n disableFlipMiddleware,\n });\n const {\n x: floatingDataX,\n y: floatingDataY,\n refs,\n placement: resolvedPlacement,\n middlewareData: { arrow: arrowCoords },\n } = useFloating({\n strategy: positionStrategy,\n placement: strictPlacement,\n middleware: middlewares,\n whileElementsMounted: autoUpdateFloatingElement,\n });\n const tooltipRef = useExternRef<HTMLDivElement>(getRootRef, refs.setFloating);\n const [childRef, child] = usePatchChildren(children, {\n 'aria-describedby': shown ? tooltipId : undefined,\n });\n\n usePlacementChangeCallback(placementProp, resolvedPlacement, onPlacementChange);\n\n let tooltip: React.ReactPortal | null = null;\n if (shown) {\n const floatingStyle = convertFloatingDataToReactCSSProperties(\n positionStrategy,\n floatingDataX,\n floatingDataY,\n );\n\n if (styleProp) {\n Object.assign(floatingStyle, styleProp);\n }\n\n tooltip = createPortal(\n <>\n <TooltipBase\n {...restProps}\n id={tooltipId}\n getRootRef={tooltipRef}\n style={floatingStyle}\n maxWidth={maxWidth}\n arrowProps={\n disableArrow\n ? undefined\n : {\n offset: arrowOffset,\n isStaticOffset: isStaticArrowOffset,\n coords: arrowCoords,\n placement: resolvedPlacement,\n getRootRef: setArrowRef,\n }\n }\n />\n <div className={styles.overlay} onClickCapture={onClose} />\n </>,\n tooltipContainer,\n );\n }\n\n useIsomorphicLayoutEffect(\n function initialize() {\n const referenceEl = childRef.current;\n if (referenceEl) {\n setTooltipContainer(\n referenceEl.closest<HTMLDivElement>(`[${onboardingTooltipContainerAttr}]`), // eslint-disable-line no-restricted-properties\n );\n setPositionStrategy(referenceEl.style.position === 'fixed' ? 'fixed' : 'absolute');\n refs.setReference(referenceEl);\n }\n },\n [childRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild = hasReactNode(children) && typeof children !== 'object';\n (multiChildren || primitiveChild) &&\n warn(\n [\n 'children должен быть одним React элементом, получено',\n multiChildren && 'несколько',\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(' '),\n 'error',\n );\n\n if (refs.reference.current && !tooltipContainer) {\n throw new Error('Use TooltipContainer for Tooltip outside Panel (see docs)');\n }\n }\n\n return (\n <React.Fragment>\n {child}\n {tooltip}\n </React.Fragment>\n );\n};\n"],"names":["React","hasReactNode","useExternRef","usePatchChildren","createPortal","autoUpdateFloatingElement","convertFloatingDataToReactCSSProperties","useFloating","useFloatingMiddlewaresBootstrap","usePlacementChangeCallback","useIsomorphicLayoutEffect","warnOnce","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","useNavTransition","TOOLTIP_MAX_WIDTH","TooltipBase","onboardingTooltipContainerAttr","styles","warn","OnboardingTooltip","id","idProp","children","shown","shownProp","arrowPadding","arrowHeight","offsetByMainAxis","offsetByCrossAxis","arrowOffset","isStaticArrowOffset","onClose","placement","placementProp","maxWidth","style","styleProp","getRootRef","disableArrow","onPlacementChange","disableFlipMiddleware","restProps","generatedId","useId","tooltipId","entering","arrowRef","setArrowRef","useState","tooltipContainer","setTooltipContainer","positionStrategy","setPositionStrategy","middlewares","strictPlacement","arrow","x","floatingDataX","y","floatingDataY","refs","resolvedPlacement","middlewareData","arrowCoords","strategy","middleware","whileElementsMounted","tooltipRef","setFloating","childRef","child","undefined","tooltip","floatingStyle","Object","assign","arrowProps","offset","isStaticOffset","coords","div","className","overlay","onClickCapture","initialize","referenceEl","current","closest","position","setReference","process","env","NODE_ENV","multiChildren","Children","count","primitiveChild","JSON","stringify","filter","Boolean","join","reference","Error","Fragment"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePatchChildren } from '../../hooks/usePatchChildren';\nimport { createPortal } from '../../lib/createPortal';\nimport {\n autoUpdateFloatingElement,\n convertFloatingDataToReactCSSProperties,\n type FloatingComponentProps,\n useFloating,\n useFloatingMiddlewaresBootstrap,\n usePlacementChangeCallback,\n} from '../../lib/floating';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { DEFAULT_ARROW_HEIGHT, DEFAULT_ARROW_PADDING } from '../FloatingArrow/DefaultIcon';\nimport type { FloatingArrowProps } from '../FloatingArrow/FloatingArrow';\nimport { useNavTransition } from '../NavTransitionContext/NavTransitionContext';\nimport { TOOLTIP_MAX_WIDTH, TooltipBase, type TooltipBaseProps } from '../TooltipBase/TooltipBase';\nimport { onboardingTooltipContainerAttr } from './OnboardingTooltipContainer';\nimport styles from './OnboardingTooltip.module.css';\n\nconst warn = warnOnce('OnboardingTooltip');\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrowHeight'\n | 'arrowPadding'\n | 'arrowRef'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'shown'\n | 'children'\n | 'onPlacementChange'\n | 'disableFlipMiddleware'\n>;\n\ntype AllowedTooltipBaseProps = Omit<\n TooltipBaseProps,\n 'arrowProps' | 'closeIconLabel' | 'onCloseIconClick'\n>;\n\ntype AllowedFloatingArrowProps = {\n /**\n * Сдвиг стрелки относительно текущих координат.\n */\n arrowOffset?: FloatingArrowProps['offset'];\n /**\n * Включает абсолютное смещение по `arrowOffset`.\n */\n isStaticArrowOffset?: FloatingArrowProps['isStaticOffset'];\n};\n\nexport interface OnboardingTooltipProps\n extends AllowedFloatingComponentProps,\n AllowedTooltipBaseProps,\n AllowedFloatingArrowProps {\n /**\n * Скрывает стрелку, указывающую на якорный элемент.\n */\n disableArrow?: boolean;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: (this: void) => void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tooltip\n */\nexport const OnboardingTooltip = ({\n id: idProp,\n children,\n shown: shownProp = true,\n arrowPadding = DEFAULT_ARROW_PADDING,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n offsetByMainAxis = 0,\n offsetByCrossAxis = 0,\n arrowOffset = 0,\n isStaticArrowOffset = false,\n onClose,\n placement: placementProp = 'bottom-start',\n maxWidth = TOOLTIP_MAX_WIDTH,\n style: styleProp,\n getRootRef,\n disableArrow = false,\n onPlacementChange,\n disableFlipMiddleware = false,\n ...restProps\n}: OnboardingTooltipProps): React.ReactNode => {\n const generatedId = React.useId();\n const tooltipId = idProp || generatedId;\n const { entering } = useNavTransition();\n\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n const [tooltipContainer, setTooltipContainer] = React.useState<HTMLElement | null>(null);\n const [positionStrategy, setPositionStrategy] = React.useState<'fixed' | 'absolute'>('absolute');\n const shown = shownProp && tooltipContainer && !entering;\n\n const { middlewares, strictPlacement } = useFloatingMiddlewaresBootstrap({\n placement: placementProp,\n offsetByMainAxis,\n offsetByCrossAxis,\n arrowRef,\n arrow: !disableArrow,\n arrowHeight,\n arrowPadding,\n disableFlipMiddleware,\n });\n const {\n x: floatingDataX,\n y: floatingDataY,\n refs,\n placement: resolvedPlacement,\n middlewareData: { arrow: arrowCoords },\n } = useFloating({\n strategy: positionStrategy,\n placement: strictPlacement,\n middleware: middlewares,\n whileElementsMounted: autoUpdateFloatingElement,\n });\n const tooltipRef = useExternRef<HTMLDivElement>(getRootRef, refs.setFloating);\n const [childRef, child] = usePatchChildren(children, {\n 'aria-describedby': shown ? tooltipId : undefined,\n });\n\n usePlacementChangeCallback(placementProp, resolvedPlacement, onPlacementChange);\n\n let tooltip: React.ReactPortal | null = null;\n if (shown) {\n const floatingStyle = convertFloatingDataToReactCSSProperties(\n positionStrategy,\n floatingDataX,\n floatingDataY,\n );\n\n tooltip = createPortal(\n <>\n <TooltipBase\n {...restProps}\n id={tooltipId}\n getRootRef={tooltipRef}\n style={mergeStyle(floatingStyle, styleProp)}\n maxWidth={maxWidth}\n arrowProps={\n disableArrow\n ? undefined\n : {\n offset: arrowOffset,\n isStaticOffset: isStaticArrowOffset,\n coords: arrowCoords,\n placement: resolvedPlacement,\n getRootRef: setArrowRef,\n }\n }\n />\n <div className={styles.overlay} onClickCapture={onClose} />\n </>,\n tooltipContainer,\n );\n }\n\n useIsomorphicLayoutEffect(\n function initialize() {\n const referenceEl = childRef.current;\n if (referenceEl) {\n setTooltipContainer(\n referenceEl.closest<HTMLDivElement>(`[${onboardingTooltipContainerAttr}]`), // eslint-disable-line no-restricted-properties\n );\n setPositionStrategy(referenceEl.style.position === 'fixed' ? 'fixed' : 'absolute');\n refs.setReference(referenceEl);\n }\n },\n [childRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild = hasReactNode(children) && typeof children !== 'object';\n (multiChildren || primitiveChild) &&\n warn(\n [\n 'children должен быть одним React элементом, получено',\n multiChildren && 'несколько',\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(' '),\n 'error',\n );\n\n if (refs.reference.current && !tooltipContainer) {\n throw new Error('Use TooltipContainer for Tooltip outside Panel (see docs)');\n }\n }\n\n return (\n <React.Fragment>\n {child}\n {tooltip}\n </React.Fragment>\n );\n};\n"],"names":["React","hasReactNode","mergeStyle","useExternRef","usePatchChildren","createPortal","autoUpdateFloatingElement","convertFloatingDataToReactCSSProperties","useFloating","useFloatingMiddlewaresBootstrap","usePlacementChangeCallback","useIsomorphicLayoutEffect","warnOnce","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","useNavTransition","TOOLTIP_MAX_WIDTH","TooltipBase","onboardingTooltipContainerAttr","styles","warn","OnboardingTooltip","id","idProp","children","shown","shownProp","arrowPadding","arrowHeight","offsetByMainAxis","offsetByCrossAxis","arrowOffset","isStaticArrowOffset","onClose","placement","placementProp","maxWidth","style","styleProp","getRootRef","disableArrow","onPlacementChange","disableFlipMiddleware","restProps","generatedId","useId","tooltipId","entering","arrowRef","setArrowRef","useState","tooltipContainer","setTooltipContainer","positionStrategy","setPositionStrategy","middlewares","strictPlacement","arrow","x","floatingDataX","y","floatingDataY","refs","resolvedPlacement","middlewareData","arrowCoords","strategy","middleware","whileElementsMounted","tooltipRef","setFloating","childRef","child","undefined","tooltip","floatingStyle","arrowProps","offset","isStaticOffset","coords","div","className","overlay","onClickCapture","initialize","referenceEl","current","closest","position","setReference","process","env","NODE_ENV","multiChildren","Children","count","primitiveChild","JSON","stringify","filter","Boolean","join","reference","Error","Fragment"],"mappings":"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"}
@@ -32,7 +32,7 @@ const ButtonTypography = ({ primary, children })=>{
32
32
  const warn = warnOnce('PanelHeaderButton');
33
33
  /**
34
34
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
35
- */ export const PanelHeaderButton = ({ children, primary = false, label, className, ...restProps })=>{
35
+ */ export const PanelHeaderButton = ({ children, primary = false, label, ...restProps })=>{
36
36
  const isPrimitive = isPrimitiveReactNode(children);
37
37
  const isPrimitiveLabel = isPrimitiveReactNode(label);
38
38
  const platform = usePlatform();
@@ -74,7 +74,7 @@ const warn = warnOnce('PanelHeaderButton');
74
74
  hoverMode: hoverMode,
75
75
  activeEffectDelay: 200,
76
76
  activeMode: activeMode,
77
- className: classNames(styles.host, platformClassNames.hasOwnProperty(platform) ? platformClassNames[platform] : platformClassNames.android, onlyPrimitive && styles.primitive, !isPrimitive && !isPrimitiveLabel && styles.notPrimitive, className),
77
+ baseClassName: classNames(styles.host, platformClassNames.hasOwnProperty(platform) ? platformClassNames[platform] : platformClassNames.android, onlyPrimitive && styles.primitive, !isPrimitive && !isPrimitiveLabel && styles.notPrimitive),
78
78
  children: [
79
79
  isPrimitive ? /*#__PURE__*/ _jsx(ButtonTypography, {
80
80
  primary: primary,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/PanelHeaderButton/PanelHeaderButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, isPrimitiveReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './PanelHeaderButton.module.css';\n\nconst platformClassNames = {\n ios: styles.ios,\n android: styles.android,\n vkcom: styles.vkcom,\n};\n\nexport interface PanelHeaderButtonProps extends Omit<TappableProps, 'label'> {\n primary?: boolean;\n // TODO [>=7]: добавить св-во `indicator`, чтобы разграничить кейсы\n label?: React.ReactNode;\n}\n\ninterface ButtonTypographyProps extends React.AllHTMLAttributes<HTMLElement> {\n primary?: PanelHeaderButtonProps['primary'];\n}\n\nconst ButtonTypography = ({ primary, children }: ButtonTypographyProps) => {\n const platform = usePlatform();\n\n if (platform === 'ios') {\n return (\n <Title Component=\"span\" level=\"3\" weight={primary ? '1' : '3'}>\n {children}\n </Title>\n );\n }\n\n return <Text weight={platform === 'vkcom' ? undefined : '2'}>{children}</Text>;\n};\n\nconst warn = warnOnce('PanelHeaderButton');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderButton = ({\n children,\n primary = false,\n label,\n className,\n ...restProps\n}: PanelHeaderButtonProps): React.ReactNode => {\n const isPrimitive = isPrimitiveReactNode(children);\n const isPrimitiveLabel = isPrimitiveReactNode(label);\n const platform = usePlatform();\n\n let hoverMode;\n let activeMode;\n\n switch (platform) {\n case 'ios':\n hoverMode = 'background';\n activeMode = 'opacity';\n break;\n case 'vkcom':\n hoverMode = styles.hover;\n activeMode = styles.active;\n break;\n default:\n hoverMode = 'background';\n activeMode = 'background';\n }\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore next: проверка в dev mode, тест на hasAccessibleName() есть в lib/accessibility.test.tsx */\n const isAccessible = hasAccessibleName({\n children: [children, label],\n ...restProps,\n });\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y[restProps.href ? 'link-name' : 'button-name'], 'error');\n }\n }\n const elements = [label, children].filter((item) => !!item);\n\n const onlyPrimitive = elements.length === 1 && isPrimitiveReactNode(elements[0]);\n\n return (\n <Tappable\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n hoverMode={hoverMode}\n activeEffectDelay={200}\n activeMode={activeMode}\n className={classNames(\n styles.host,\n platformClassNames.hasOwnProperty(platform)\n ? platformClassNames[platform]\n : platformClassNames.android,\n onlyPrimitive && styles.primitive,\n !isPrimitive && !isPrimitiveLabel && styles.notPrimitive,\n className,\n )}\n >\n {isPrimitive ? <ButtonTypography primary={primary}>{children}</ButtonTypography> : children}\n {isPrimitiveLabel ? (\n <ButtonTypography primary={primary} className={styles.label}>\n {label}\n </ButtonTypography>\n ) : (\n label\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","isPrimitiveReactNode","usePlatform","hasAccessibleName","COMMON_WARNINGS","warnOnce","Tappable","Text","Title","styles","platformClassNames","ios","android","vkcom","ButtonTypography","primary","children","platform","Component","level","weight","undefined","warn","PanelHeaderButton","label","className","restProps","isPrimitive","isPrimitiveLabel","hoverMode","activeMode","hover","active","process","env","NODE_ENV","isAccessible","a11y","href","elements","filter","item","onlyPrimitive","length","activeEffectDelay","host","hasOwnProperty","primitive","notPrimitive"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,oBAAoB,QAAQ,kBAAkB;AACnE,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/D,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,IAAI,QAAQ,6BAA0B;AAC/C,SAASC,KAAK,QAAQ,+BAA4B;AAClD,OAAOC,YAAY,iCAAiC;AAEpD,MAAMC,qBAAqB;IACzBC,KAAKF,OAAOE,GAAG;IACfC,SAASH,OAAOG,OAAO;IACvBC,OAAOJ,OAAOI,KAAK;AACrB;AAYA,MAAMC,mBAAmB,CAAC,EAAEC,OAAO,EAAEC,QAAQ,EAAyB;IACpE,MAAMC,WAAWf;IAEjB,IAAIe,aAAa,OAAO;QACtB,qBACE,KAACT;YAAMU,WAAU;YAAOC,OAAM;YAAIC,QAAQL,UAAU,MAAM;sBACvDC;;IAGP;IAEA,qBAAO,KAACT;QAAKa,QAAQH,aAAa,UAAUI,YAAY;kBAAML;;AAChE;AAEA,MAAMM,OAAOjB,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMkB,oBAAoB,CAAC,EAChCP,QAAQ,EACRD,UAAU,KAAK,EACfS,KAAK,EACLC,SAAS,EACT,GAAGC,WACoB;IACvB,MAAMC,cAAc1B,qBAAqBe;IACzC,MAAMY,mBAAmB3B,qBAAqBuB;IAC9C,MAAMP,WAAWf;IAEjB,IAAI2B;IACJ,IAAIC;IAEJ,OAAQb;QACN,KAAK;YACHY,YAAY;YACZC,aAAa;YACb;QACF,KAAK;YACHD,YAAYpB,OAAOsB,KAAK;YACxBD,aAAarB,OAAOuB,MAAM;YAC1B;QACF;YACEH,YAAY;YACZC,aAAa;IACjB;IAEA,IAAIG,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAejC,kBAAkB;YACrCa,UAAU;gBAACA;gBAAUQ;aAAM;YAC3B,GAAGE,SAAS;QACd;QAEA,IAAI,CAACU,cAAc;YACjBd,KAAKlB,gBAAgBiC,IAAI,CAACX,UAAUY,IAAI,GAAG,cAAc,cAAc,EAAE;QAC3E;IACF;IACA,MAAMC,WAAW;QAACf;QAAOR;KAAS,CAACwB,MAAM,CAAC,CAACC,OAAS,CAAC,CAACA;IAEtD,MAAMC,gBAAgBH,SAASI,MAAM,KAAK,KAAK1C,qBAAqBsC,QAAQ,CAAC,EAAE;IAE/E,qBACE,MAACjC;QACCY,WAAWQ,UAAUY,IAAI,GAAG,MAAM;QACjC,GAAGZ,SAAS;QACbG,WAAWA;QACXe,mBAAmB;QACnBd,YAAYA;QACZL,WAAWzB,WACTS,OAAOoC,IAAI,EACXnC,mBAAmBoC,cAAc,CAAC7B,YAC9BP,kBAAkB,CAACO,SAAS,GAC5BP,mBAAmBE,OAAO,EAC9B8B,iBAAiBjC,OAAOsC,SAAS,EACjC,CAACpB,eAAe,CAACC,oBAAoBnB,OAAOuC,YAAY,EACxDvB;;YAGDE,4BAAc,KAACb;gBAAiBC,SAASA;0BAAUC;iBAA+BA;YAClFY,iCACC,KAACd;gBAAiBC,SAASA;gBAASU,WAAWhB,OAAOe,KAAK;0BACxDA;iBAGHA;;;AAIR,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/PanelHeaderButton/PanelHeaderButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, isPrimitiveReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { hasAccessibleName } from '../../lib/accessibility';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './PanelHeaderButton.module.css';\n\nconst platformClassNames = {\n ios: styles.ios,\n android: styles.android,\n vkcom: styles.vkcom,\n};\n\nexport interface PanelHeaderButtonProps extends Omit<TappableProps, 'label'> {\n primary?: boolean;\n // TODO [>=7]: добавить св-во `indicator`, чтобы разграничить кейсы\n label?: React.ReactNode;\n}\n\ninterface ButtonTypographyProps extends React.AllHTMLAttributes<HTMLElement> {\n primary?: PanelHeaderButtonProps['primary'];\n}\n\nconst ButtonTypography = ({ primary, children }: ButtonTypographyProps) => {\n const platform = usePlatform();\n\n if (platform === 'ios') {\n return (\n <Title Component=\"span\" level=\"3\" weight={primary ? '1' : '3'}>\n {children}\n </Title>\n );\n }\n\n return <Text weight={platform === 'vkcom' ? undefined : '2'}>{children}</Text>;\n};\n\nconst warn = warnOnce('PanelHeaderButton');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderButton = ({\n children,\n primary = false,\n label,\n ...restProps\n}: PanelHeaderButtonProps): React.ReactNode => {\n const isPrimitive = isPrimitiveReactNode(children);\n const isPrimitiveLabel = isPrimitiveReactNode(label);\n const platform = usePlatform();\n\n let hoverMode;\n let activeMode;\n\n switch (platform) {\n case 'ios':\n hoverMode = 'background';\n activeMode = 'opacity';\n break;\n case 'vkcom':\n hoverMode = styles.hover;\n activeMode = styles.active;\n break;\n default:\n hoverMode = 'background';\n activeMode = 'background';\n }\n\n if (process.env.NODE_ENV === 'development') {\n /* istanbul ignore next: проверка в dev mode, тест на hasAccessibleName() есть в lib/accessibility.test.tsx */\n const isAccessible = hasAccessibleName({\n children: [children, label],\n ...restProps,\n });\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y[restProps.href ? 'link-name' : 'button-name'], 'error');\n }\n }\n const elements = [label, children].filter((item) => !!item);\n\n const onlyPrimitive = elements.length === 1 && isPrimitiveReactNode(elements[0]);\n\n return (\n <Tappable\n Component={restProps.href ? 'a' : 'button'}\n {...restProps}\n hoverMode={hoverMode}\n activeEffectDelay={200}\n activeMode={activeMode}\n baseClassName={classNames(\n styles.host,\n platformClassNames.hasOwnProperty(platform)\n ? platformClassNames[platform]\n : platformClassNames.android,\n onlyPrimitive && styles.primitive,\n !isPrimitive && !isPrimitiveLabel && styles.notPrimitive,\n )}\n >\n {isPrimitive ? <ButtonTypography primary={primary}>{children}</ButtonTypography> : children}\n {isPrimitiveLabel ? (\n <ButtonTypography primary={primary} className={styles.label}>\n {label}\n </ButtonTypography>\n ) : (\n label\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","isPrimitiveReactNode","usePlatform","hasAccessibleName","COMMON_WARNINGS","warnOnce","Tappable","Text","Title","styles","platformClassNames","ios","android","vkcom","ButtonTypography","primary","children","platform","Component","level","weight","undefined","warn","PanelHeaderButton","label","restProps","isPrimitive","isPrimitiveLabel","hoverMode","activeMode","hover","active","process","env","NODE_ENV","isAccessible","a11y","href","elements","filter","item","onlyPrimitive","length","activeEffectDelay","baseClassName","host","hasOwnProperty","primitive","notPrimitive","className"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,oBAAoB,QAAQ,kBAAkB;AACnE,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,6BAA0B;AAC5D,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/D,SAASC,QAAQ,QAA4B,0BAAuB;AACpE,SAASC,IAAI,QAAQ,6BAA0B;AAC/C,SAASC,KAAK,QAAQ,+BAA4B;AAClD,OAAOC,YAAY,iCAAiC;AAEpD,MAAMC,qBAAqB;IACzBC,KAAKF,OAAOE,GAAG;IACfC,SAASH,OAAOG,OAAO;IACvBC,OAAOJ,OAAOI,KAAK;AACrB;AAYA,MAAMC,mBAAmB,CAAC,EAAEC,OAAO,EAAEC,QAAQ,EAAyB;IACpE,MAAMC,WAAWf;IAEjB,IAAIe,aAAa,OAAO;QACtB,qBACE,KAACT;YAAMU,WAAU;YAAOC,OAAM;YAAIC,QAAQL,UAAU,MAAM;sBACvDC;;IAGP;IAEA,qBAAO,KAACT;QAAKa,QAAQH,aAAa,UAAUI,YAAY;kBAAML;;AAChE;AAEA,MAAMM,OAAOjB,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMkB,oBAAoB,CAAC,EAChCP,QAAQ,EACRD,UAAU,KAAK,EACfS,KAAK,EACL,GAAGC,WACoB;IACvB,MAAMC,cAAczB,qBAAqBe;IACzC,MAAMW,mBAAmB1B,qBAAqBuB;IAC9C,MAAMP,WAAWf;IAEjB,IAAI0B;IACJ,IAAIC;IAEJ,OAAQZ;QACN,KAAK;YACHW,YAAY;YACZC,aAAa;YACb;QACF,KAAK;YACHD,YAAYnB,OAAOqB,KAAK;YACxBD,aAAapB,OAAOsB,MAAM;YAC1B;QACF;YACEH,YAAY;YACZC,aAAa;IACjB;IAEA,IAAIG,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAehC,kBAAkB;YACrCa,UAAU;gBAACA;gBAAUQ;aAAM;YAC3B,GAAGC,SAAS;QACd;QAEA,IAAI,CAACU,cAAc;YACjBb,KAAKlB,gBAAgBgC,IAAI,CAACX,UAAUY,IAAI,GAAG,cAAc,cAAc,EAAE;QAC3E;IACF;IACA,MAAMC,WAAW;QAACd;QAAOR;KAAS,CAACuB,MAAM,CAAC,CAACC,OAAS,CAAC,CAACA;IAEtD,MAAMC,gBAAgBH,SAASI,MAAM,KAAK,KAAKzC,qBAAqBqC,QAAQ,CAAC,EAAE;IAE/E,qBACE,MAAChC;QACCY,WAAWO,UAAUY,IAAI,GAAG,MAAM;QACjC,GAAGZ,SAAS;QACbG,WAAWA;QACXe,mBAAmB;QACnBd,YAAYA;QACZe,eAAe5C,WACbS,OAAOoC,IAAI,EACXnC,mBAAmBoC,cAAc,CAAC7B,YAC9BP,kBAAkB,CAACO,SAAS,GAC5BP,mBAAmBE,OAAO,EAC9B6B,iBAAiBhC,OAAOsC,SAAS,EACjC,CAACrB,eAAe,CAACC,oBAAoBlB,OAAOuC,YAAY;;YAGzDtB,4BAAc,KAACZ;gBAAiBC,SAASA;0BAAUC;iBAA+BA;YAClFW,iCACC,KAACb;gBAAiBC,SAASA;gBAASkC,WAAWxC,OAAOe,KAAK;0BACxDA;iBAGHA;;;AAIR,EAAE"}
@@ -15,7 +15,7 @@ import styles from "./Popper.module.css";
15
15
  placement: placementProp = 'bottom-start', sameWidth, hideWhenReferenceHidden, offsetByMainAxis = 8, offsetByCrossAxis = 0, arrow, arrowHeight = DEFAULT_ARROW_HEIGHT, arrowPadding = DEFAULT_ARROW_PADDING, customMiddlewares, disableFlipMiddleware = false, // UseFloatingProps
16
16
  autoUpdateOnTargetResize = false, // ArrowProps
17
17
  arrowProps, ArrowIcon = DefaultIcon, // rest
18
- targetRef, getRootRef, children, usePortal = true, style: styleProp, onPlacementChange, ...restProps })=>{
18
+ targetRef, getRootRef, children, usePortal = true, onPlacementChange, ...restProps })=>{
19
19
  const [arrowRef, setArrowRef] = React.useState(null);
20
20
  const { strictPlacement, middlewares } = useFloatingMiddlewaresBootstrap({
21
21
  placement: placementProp,
@@ -52,10 +52,7 @@ targetRef, getRootRef, children, usePortal = true, style: styleProp, onPlacement
52
52
  ...restProps,
53
53
  baseClassName: styles.host,
54
54
  getRootRef: handleRootRef,
55
- style: {
56
- ...convertFloatingDataToReactCSSProperties(floatingPositionStrategy, floatingDataX, floatingDataY, sameWidth ? null : undefined, middlewareData),
57
- ...styleProp
58
- },
55
+ baseStyle: convertFloatingDataToReactCSSProperties(floatingPositionStrategy, floatingDataX, floatingDataY, sameWidth ? null : undefined, middlewareData),
59
56
  children: [
60
57
  arrow && /*#__PURE__*/ _jsx(FloatingArrow, {
61
58
  ...arrowProps,