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

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 (620) hide show
  1. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  2. package/dist/components/Accordion/Accordion.js +9 -5
  3. package/dist/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  5. package/dist/components/ActionSheet/ActionSheet.js +20 -14
  6. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  7. package/dist/components/Alert/Alert.d.ts +3 -1
  8. package/dist/components/Alert/Alert.d.ts.map +1 -1
  9. package/dist/components/Alert/Alert.js +61 -56
  10. package/dist/components/Alert/Alert.js.map +1 -1
  11. package/dist/components/AppRoot/AppRoot.d.ts +2 -1
  12. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  13. package/dist/components/AppRoot/AppRoot.js +75 -102
  14. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  15. package/dist/components/AppRoot/AppRootContext.d.ts +6 -1
  16. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  17. package/dist/components/AppRoot/AppRootContext.js +5 -1
  18. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  19. package/dist/components/AppRoot/AppRootPortal.d.ts +6 -2
  20. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  21. package/dist/components/AppRoot/AppRootPortal.js +49 -27
  22. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  23. package/dist/components/AppRoot/AppRootStyleContainer.d.ts +16 -0
  24. package/dist/components/AppRoot/AppRootStyleContainer.d.ts.map +1 -0
  25. package/dist/components/AppRoot/AppRootStyleContainer.js +57 -0
  26. package/dist/components/AppRoot/AppRootStyleContainer.js.map +1 -0
  27. package/dist/components/AppRoot/ModalPopoutPortal.d.ts +11 -0
  28. package/dist/components/AppRoot/ModalPopoutPortal.d.ts.map +1 -0
  29. package/dist/components/AppRoot/ModalPopoutPortal.js +28 -0
  30. package/dist/components/AppRoot/ModalPopoutPortal.js.map +1 -0
  31. package/dist/components/AppRoot/helpers.d.ts +2 -12
  32. package/dist/components/AppRoot/helpers.d.ts.map +1 -1
  33. package/dist/components/AppRoot/helpers.js +6 -56
  34. package/dist/components/AppRoot/helpers.js.map +1 -1
  35. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  36. package/dist/components/BaseGallery/CarouselBase/CarouselBase.d.ts.map +1 -1
  37. package/dist/components/BaseGallery/CarouselBase/CarouselBase.js +1 -0
  38. package/dist/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
  39. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  40. package/dist/components/CalendarHeader/CalendarHeader.js +2 -2
  41. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  42. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  43. package/dist/components/CalendarTime/CalendarTime.js +2 -2
  44. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  45. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  46. package/dist/components/ConfigProvider/ConfigProvider.js +15 -7
  47. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  48. package/dist/components/Counter/Counter.d.ts +16 -6
  49. package/dist/components/Counter/Counter.d.ts.map +1 -1
  50. package/dist/components/Counter/Counter.js +50 -5
  51. package/dist/components/Counter/Counter.js.map +1 -1
  52. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  53. package/dist/components/CustomSelect/CustomSelect.js +7 -1
  54. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  55. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  56. package/dist/components/FormItem/FormItem.js +5 -3
  57. package/dist/components/FormItem/FormItem.js.map +1 -1
  58. package/dist/components/Gallery/Gallery.js.map +1 -1
  59. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  60. package/dist/components/Group/GroupContainer.js +2 -2
  61. package/dist/components/Group/GroupContainer.js.map +1 -1
  62. package/dist/components/Link/Link.d.ts +15 -2
  63. package/dist/components/Link/Link.d.ts.map +1 -1
  64. package/dist/components/Link/Link.js +20 -5
  65. package/dist/components/Link/Link.js.map +1 -1
  66. package/dist/components/ModalCard/ModalCard.d.ts +2 -6
  67. package/dist/components/ModalCard/ModalCard.d.ts.map +1 -1
  68. package/dist/components/ModalCard/ModalCard.js +40 -65
  69. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  70. package/dist/components/ModalCard/ModalCardInternal.d.ts +13 -0
  71. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -0
  72. package/dist/components/ModalCard/ModalCardInternal.js +147 -0
  73. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -0
  74. package/dist/components/ModalCard/types.d.ts +44 -0
  75. package/dist/components/ModalCard/types.d.ts.map +1 -0
  76. package/dist/components/ModalCard/types.js +3 -0
  77. package/dist/components/ModalCard/types.js.map +1 -0
  78. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  79. package/dist/components/ModalCardBase/ModalCardBase.js +1 -3
  80. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  81. package/dist/components/ModalOutlet/ModalOutlet.d.ts +9 -0
  82. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -0
  83. package/dist/components/ModalOutlet/ModalOutlet.js +25 -0
  84. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -0
  85. package/dist/components/ModalOverlay/ModalOverlay.d.ts +12 -0
  86. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -0
  87. package/dist/components/ModalOverlay/ModalOverlay.js +47 -0
  88. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -0
  89. package/dist/components/ModalPage/ModalPage.d.ts +2 -60
  90. package/dist/components/ModalPage/ModalPage.d.ts.map +1 -1
  91. package/dist/components/ModalPage/ModalPage.js +39 -111
  92. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  93. package/dist/components/ModalPage/ModalPageInternal.d.ts +13 -0
  94. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -0
  95. package/dist/components/ModalPage/ModalPageInternal.js +181 -0
  96. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -0
  97. package/dist/components/ModalPage/types.d.ts +104 -0
  98. package/dist/components/ModalPage/types.d.ts.map +1 -0
  99. package/dist/components/ModalPage/types.js +3 -0
  100. package/dist/components/ModalPage/types.js.map +1 -0
  101. package/dist/components/ModalPageContent/ModalPageContent.d.ts +4 -0
  102. package/dist/components/ModalPageContent/ModalPageContent.d.ts.map +1 -0
  103. package/dist/components/ModalPageContent/ModalPageContent.js +22 -0
  104. package/dist/components/ModalPageContent/ModalPageContent.js.map +1 -0
  105. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +7 -0
  106. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -0
  107. package/dist/components/ModalPageFooter/ModalPageFooter.js +30 -0
  108. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -0
  109. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  110. package/dist/components/ModalPageHeader/ModalPageHeader.js +4 -4
  111. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  112. package/dist/components/ModalRoot/ModalRoot.d.ts +5 -2
  113. package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  114. package/dist/components/ModalRoot/ModalRoot.js +52 -590
  115. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  116. package/dist/components/ModalRoot/ModalRootContext.d.ts +8 -18
  117. package/dist/components/ModalRoot/ModalRootContext.d.ts.map +1 -1
  118. package/dist/components/ModalRoot/ModalRootContext.js +13 -40
  119. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  120. package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.d.ts +13 -0
  121. package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.d.ts.map +1 -0
  122. package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js +33 -0
  123. package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js.map +1 -0
  124. package/dist/components/ModalRoot/types.d.ts +52 -21
  125. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  126. package/dist/components/ModalRoot/types.js +1 -1
  127. package/dist/components/ModalRoot/types.js.map +1 -1
  128. package/dist/components/ModalRoot/useModalManager.d.ts +27 -38
  129. package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
  130. package/dist/components/ModalRoot/useModalManager.js +37 -193
  131. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  132. package/dist/components/ModalRoot/useModalRootContext.d.ts +2 -2
  133. package/dist/components/ModalRoot/useModalRootContext.d.ts.map +1 -1
  134. package/dist/components/ModalRoot/useModalRootContext.js +18 -2
  135. package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
  136. package/dist/components/ModalRoot/withModalRootContext.d.ts +6 -1
  137. package/dist/components/ModalRoot/withModalRootContext.d.ts.map +1 -1
  138. package/dist/components/ModalRoot/withModalRootContext.js +7 -4
  139. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  140. package/dist/components/NativeSelect/NativeSelect.d.ts +5 -6
  141. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  142. package/dist/components/NativeSelect/NativeSelect.js +7 -1
  143. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  144. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
  145. package/dist/components/NavTransitionContext/NavTransitionContext.js +6 -4
  146. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  147. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  148. package/dist/components/PanelHeader/PanelHeader.js +2 -2
  149. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  150. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -4
  151. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  152. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +10 -12
  153. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  154. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  155. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +6 -1
  156. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  157. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -1
  158. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts.map +1 -1
  159. package/dist/components/PanelHeaderClose/PanelHeaderClose.js +9 -13
  160. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  161. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -1
  162. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
  163. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -11
  164. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  165. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -1
  166. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts.map +1 -1
  167. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +10 -14
  168. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  169. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +5 -1
  170. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  171. package/dist/components/PopoutWrapper/PopoutWrapper.js +6 -2
  172. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  173. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  174. package/dist/components/PullToRefresh/PullToRefresh.js +9 -8
  175. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  176. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts.map +1 -1
  177. package/dist/components/ScreenSpinner/ScreenSpinner.js +23 -18
  178. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  179. package/dist/components/ScreenSpinner/types.d.ts +2 -0
  180. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  181. package/dist/components/ScreenSpinner/types.js.map +1 -1
  182. package/dist/components/Separator/Separator.d.ts +2 -0
  183. package/dist/components/Separator/Separator.d.ts.map +1 -1
  184. package/dist/components/Separator/Separator.js +4 -5
  185. package/dist/components/Separator/Separator.js.map +1 -1
  186. package/dist/components/Skeleton/Skeleton.js +4 -4
  187. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  188. package/dist/components/Spacing/Spacing.d.ts +3 -1
  189. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  190. package/dist/components/Spacing/Spacing.js +4 -5
  191. package/dist/components/Spacing/Spacing.js.map +1 -1
  192. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  193. package/dist/components/SplitCol/SplitCol.js +7 -5
  194. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  195. package/dist/components/SplitLayout/SplitLayout.d.ts +9 -1
  196. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  197. package/dist/components/SplitLayout/SplitLayout.js +17 -12
  198. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  199. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  200. package/dist/components/Tappable/Tappable.js +1 -1
  201. package/dist/components/Tappable/Tappable.js.map +1 -1
  202. package/dist/components/View/useLayoutEffectCall.d.ts +1 -1
  203. package/dist/components/View/useLayoutEffectCall.d.ts.map +1 -1
  204. package/dist/components/View/useLayoutEffectCall.js +8 -33
  205. package/dist/components/View/useLayoutEffectCall.js.map +1 -1
  206. package/dist/components.css +1 -1
  207. package/dist/components.css.map +1 -1
  208. package/dist/context/ModalContext.d.ts +15 -0
  209. package/dist/context/ModalContext.d.ts.map +1 -0
  210. package/dist/context/ModalContext.js +13 -0
  211. package/dist/context/ModalContext.js.map +1 -0
  212. package/dist/cssm/components/Accordion/Accordion.js +9 -5
  213. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  214. package/dist/cssm/components/ActionSheet/ActionSheet.js +20 -14
  215. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  216. package/dist/cssm/components/Alert/Alert.js +60 -56
  217. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  218. package/dist/cssm/components/AppRoot/AppRoot.js +73 -100
  219. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  220. package/dist/cssm/components/AppRoot/AppRoot.module.css +2 -40
  221. package/dist/cssm/components/AppRoot/AppRootContext.js +5 -1
  222. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  223. package/dist/cssm/components/AppRoot/AppRootPortal.js +49 -27
  224. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  225. package/dist/cssm/components/AppRoot/AppRootStyleContainer.js +57 -0
  226. package/dist/cssm/components/AppRoot/AppRootStyleContainer.js.map +1 -0
  227. package/dist/cssm/components/AppRoot/AppRootStyleContainer.module.css +87 -0
  228. package/dist/cssm/components/AppRoot/ModalPopoutPortal.js +27 -0
  229. package/dist/cssm/components/AppRoot/ModalPopoutPortal.js.map +1 -0
  230. package/dist/cssm/components/AppRoot/helpers.js +6 -56
  231. package/dist/cssm/components/AppRoot/helpers.js.map +1 -1
  232. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  233. package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.js +1 -0
  234. package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
  235. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +2 -2
  236. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  237. package/dist/cssm/components/CalendarTime/CalendarTime.js +2 -2
  238. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  239. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +15 -7
  240. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  241. package/dist/cssm/components/Counter/Counter.js +48 -4
  242. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  243. package/dist/cssm/components/Counter/Counter.module.css +81 -12
  244. package/dist/cssm/components/CustomSelect/CustomSelect.js +7 -1
  245. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  246. package/dist/cssm/components/FormItem/FormItem.js +5 -3
  247. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  248. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  249. package/dist/cssm/components/Group/GroupContainer.js +2 -2
  250. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  251. package/dist/cssm/components/Link/Link.js +17 -5
  252. package/dist/cssm/components/Link/Link.js.map +1 -1
  253. package/dist/cssm/components/Link/Link.module.css +13 -4
  254. package/dist/cssm/components/ModalCard/ModalCard.js +30 -51
  255. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  256. package/dist/cssm/components/ModalCard/ModalCard.module.css +62 -44
  257. package/dist/cssm/components/ModalCard/ModalCardInternal.js +122 -0
  258. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -0
  259. package/dist/cssm/components/ModalCard/types.js +3 -0
  260. package/dist/cssm/components/ModalCard/types.js.map +1 -0
  261. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -3
  262. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  263. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +0 -2
  264. package/dist/cssm/components/ModalOutlet/ModalOutlet.js +17 -0
  265. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -0
  266. package/dist/cssm/components/ModalOutlet/ModalOutlet.module.css +17 -0
  267. package/dist/cssm/components/ModalOverlay/ModalOverlay.js +40 -0
  268. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -0
  269. package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +71 -0
  270. package/dist/cssm/components/ModalPage/ModalPage.js +32 -99
  271. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  272. package/dist/cssm/components/ModalPage/ModalPage.module.css +125 -123
  273. package/dist/cssm/components/ModalPage/ModalPageInternal.js +161 -0
  274. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -0
  275. package/dist/cssm/components/ModalPage/types.js +3 -0
  276. package/dist/cssm/components/ModalPage/types.js.map +1 -0
  277. package/dist/cssm/components/ModalPageContent/ModalPageContent.js +15 -0
  278. package/dist/cssm/components/ModalPageContent/ModalPageContent.js.map +1 -0
  279. package/dist/cssm/components/ModalPageContent/ModalPageContent.module.css +4 -0
  280. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js +23 -0
  281. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -0
  282. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.module.css +35 -0
  283. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +4 -4
  284. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  285. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +8 -2
  286. package/dist/cssm/components/ModalRoot/ModalRoot.js +52 -571
  287. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  288. package/dist/cssm/components/ModalRoot/ModalRootContext.js +13 -40
  289. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  290. package/dist/cssm/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js +27 -0
  291. package/dist/cssm/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js.map +1 -0
  292. package/dist/cssm/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.module.css +8 -0
  293. package/dist/cssm/components/ModalRoot/types.js +1 -1
  294. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  295. package/dist/cssm/components/ModalRoot/useModalManager.js +36 -194
  296. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  297. package/dist/cssm/components/ModalRoot/useModalRootContext.js +18 -2
  298. package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
  299. package/dist/cssm/components/ModalRoot/withModalRootContext.js +7 -4
  300. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  301. package/dist/cssm/components/NativeSelect/NativeSelect.js +7 -1
  302. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  303. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +6 -4
  304. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  305. package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -2
  306. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  307. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +9 -12
  308. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  309. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +6 -1
  310. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  311. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +8 -12
  312. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  313. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -11
  314. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  315. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +8 -12
  316. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  317. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +5 -1
  318. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  319. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +9 -8
  320. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  321. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +23 -19
  322. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  323. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  324. package/dist/cssm/components/Search/Search.module.css +2 -2
  325. package/dist/cssm/components/Separator/Separator.js +9 -8
  326. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  327. package/dist/cssm/components/Skeleton/Skeleton.js +4 -4
  328. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  329. package/dist/cssm/components/Spacing/Spacing.js +6 -7
  330. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  331. package/dist/cssm/components/SplitCol/SplitCol.js +7 -5
  332. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  333. package/dist/cssm/components/SplitLayout/SplitLayout.js +14 -9
  334. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  335. package/dist/cssm/components/Tappable/Tappable.js +1 -1
  336. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  337. package/dist/cssm/components/View/useLayoutEffectCall.js +8 -23
  338. package/dist/cssm/components/View/useLayoutEffectCall.js.map +1 -1
  339. package/dist/cssm/context/ModalContext.js +13 -0
  340. package/dist/cssm/context/ModalContext.js.map +1 -0
  341. package/dist/cssm/helpers/range.js +3 -0
  342. package/dist/cssm/helpers/range.js.map +1 -1
  343. package/dist/cssm/hooks/useObjectMemo.js +6 -2
  344. package/dist/cssm/hooks/useObjectMemo.js.map +1 -1
  345. package/dist/cssm/hooks/usePrevious.js +9 -2
  346. package/dist/cssm/hooks/usePrevious.js.map +1 -1
  347. package/dist/cssm/hooks/useStableCallback.js +1 -1
  348. package/dist/cssm/hooks/useStableCallback.js.map +1 -1
  349. package/dist/cssm/hooks/useStateWithPrev.js +34 -0
  350. package/dist/cssm/hooks/useStateWithPrev.js.map +1 -0
  351. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js +23 -0
  352. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -0
  353. package/dist/cssm/hooks/useSyncHTMLWithTokens.js +19 -0
  354. package/dist/cssm/hooks/useSyncHTMLWithTokens.js.map +1 -0
  355. package/dist/cssm/hooks/useVirtualKeyboardState.js +134 -0
  356. package/dist/cssm/hooks/useVirtualKeyboardState.js.map +1 -0
  357. package/dist/cssm/index.js +6 -2
  358. package/dist/cssm/index.js.map +1 -1
  359. package/dist/cssm/lib/SSR.js +1 -7
  360. package/dist/cssm/lib/SSR.js.map +1 -1
  361. package/dist/cssm/lib/adaptivity/functions.js +7 -1
  362. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  363. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js +7 -5
  364. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  365. package/dist/cssm/lib/animation/useCSSTransition.js +4 -4
  366. package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
  367. package/dist/cssm/lib/dom.js +65 -11
  368. package/dist/cssm/lib/dom.js.map +1 -1
  369. package/dist/cssm/lib/floating/usePlacementChangeCallback.js +6 -3
  370. package/dist/cssm/lib/floating/usePlacementChangeCallback.js.map +1 -1
  371. package/dist/cssm/lib/sheet/constants.js +23 -0
  372. package/dist/cssm/lib/sheet/constants.js.map +1 -0
  373. package/dist/cssm/lib/sheet/controllers/BottomSheetController.js +252 -0
  374. package/dist/cssm/lib/sheet/controllers/BottomSheetController.js.map +1 -0
  375. package/dist/cssm/lib/sheet/controllers/CSSTransitionController.js +50 -0
  376. package/dist/cssm/lib/sheet/controllers/CSSTransitionController.js.map +1 -0
  377. package/dist/cssm/lib/sheet/index.js +4 -0
  378. package/dist/cssm/lib/sheet/index.js.map +1 -0
  379. package/dist/cssm/lib/sheet/useBottomSheet.js +116 -0
  380. package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -0
  381. package/dist/cssm/lib/spacings/sizes.js +23 -0
  382. package/dist/cssm/lib/spacings/sizes.js.map +1 -1
  383. package/dist/cssm/lib/touch/UIPanGestureRecognizer.js +10 -0
  384. package/dist/cssm/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  385. package/dist/cssm/lib/touch/index.js.map +1 -1
  386. package/dist/cssm/styles/common.css +31 -34
  387. package/dist/cssm/styles/constants.css +5 -0
  388. package/dist/helpers/range.d.ts +1 -0
  389. package/dist/helpers/range.d.ts.map +1 -1
  390. package/dist/helpers/range.js +3 -0
  391. package/dist/helpers/range.js.map +1 -1
  392. package/dist/hooks/useObjectMemo.d.ts +3 -0
  393. package/dist/hooks/useObjectMemo.d.ts.map +1 -1
  394. package/dist/hooks/useObjectMemo.js +6 -2
  395. package/dist/hooks/useObjectMemo.js.map +1 -1
  396. package/dist/hooks/usePrevious.d.ts +3 -0
  397. package/dist/hooks/usePrevious.d.ts.map +1 -1
  398. package/dist/hooks/usePrevious.js +9 -2
  399. package/dist/hooks/usePrevious.js.map +1 -1
  400. package/dist/hooks/useStableCallback.js +1 -1
  401. package/dist/hooks/useStableCallback.js.map +1 -1
  402. package/dist/hooks/useStateWithPrev.d.ts +12 -0
  403. package/dist/hooks/useStateWithPrev.d.ts.map +1 -0
  404. package/dist/hooks/useStateWithPrev.js +34 -0
  405. package/dist/hooks/useStateWithPrev.js.map +1 -0
  406. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +8 -0
  407. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -0
  408. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js +24 -0
  409. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -0
  410. package/dist/hooks/useSyncHTMLWithTokens.d.ts +5 -0
  411. package/dist/hooks/useSyncHTMLWithTokens.d.ts.map +1 -0
  412. package/dist/hooks/useSyncHTMLWithTokens.js +20 -0
  413. package/dist/hooks/useSyncHTMLWithTokens.js.map +1 -0
  414. package/dist/hooks/useVirtualKeyboardState.d.ts +32 -0
  415. package/dist/hooks/useVirtualKeyboardState.d.ts.map +1 -0
  416. package/dist/hooks/useVirtualKeyboardState.js +134 -0
  417. package/dist/hooks/useVirtualKeyboardState.js.map +1 -0
  418. package/dist/index.d.ts +13 -5
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +6 -2
  421. package/dist/index.js.map +1 -1
  422. package/dist/lib/SSR.d.ts.map +1 -1
  423. package/dist/lib/SSR.js +1 -7
  424. package/dist/lib/SSR.js.map +1 -1
  425. package/dist/lib/adaptivity/functions.d.ts +1 -0
  426. package/dist/lib/adaptivity/functions.d.ts.map +1 -1
  427. package/dist/lib/adaptivity/functions.js +7 -1
  428. package/dist/lib/adaptivity/functions.js.map +1 -1
  429. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  430. package/dist/lib/animation/useCSSKeyframesAnimationController.js +7 -5
  431. package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  432. package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
  433. package/dist/lib/animation/useCSSTransition.js +4 -4
  434. package/dist/lib/animation/useCSSTransition.js.map +1 -1
  435. package/dist/lib/dom.d.ts +20 -5
  436. package/dist/lib/dom.d.ts.map +1 -1
  437. package/dist/lib/dom.js +65 -11
  438. package/dist/lib/dom.js.map +1 -1
  439. package/dist/lib/floating/usePlacementChangeCallback.d.ts.map +1 -1
  440. package/dist/lib/floating/usePlacementChangeCallback.js +6 -3
  441. package/dist/lib/floating/usePlacementChangeCallback.js.map +1 -1
  442. package/dist/lib/sheet/constants.d.ts +28 -0
  443. package/dist/lib/sheet/constants.d.ts.map +1 -0
  444. package/dist/lib/sheet/constants.js +23 -0
  445. package/dist/lib/sheet/constants.js.map +1 -0
  446. package/dist/lib/sheet/controllers/BottomSheetController.d.ts +51 -0
  447. package/dist/lib/sheet/controllers/BottomSheetController.d.ts.map +1 -0
  448. package/dist/lib/sheet/controllers/BottomSheetController.js +259 -0
  449. package/dist/lib/sheet/controllers/BottomSheetController.js.map +1 -0
  450. package/dist/lib/sheet/controllers/CSSTransitionController.d.ts +14 -0
  451. package/dist/lib/sheet/controllers/CSSTransitionController.d.ts.map +1 -0
  452. package/dist/lib/sheet/controllers/CSSTransitionController.js +51 -0
  453. package/dist/lib/sheet/controllers/CSSTransitionController.js.map +1 -0
  454. package/dist/lib/sheet/index.d.ts +3 -0
  455. package/dist/lib/sheet/index.d.ts.map +1 -0
  456. package/dist/lib/sheet/index.js +4 -0
  457. package/dist/lib/sheet/index.js.map +1 -0
  458. package/dist/lib/sheet/useBottomSheet.d.ts +56 -0
  459. package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -0
  460. package/dist/lib/sheet/useBottomSheet.js +116 -0
  461. package/dist/lib/sheet/useBottomSheet.js.map +1 -0
  462. package/dist/lib/spacings/sizes.d.ts +3 -2
  463. package/dist/lib/spacings/sizes.d.ts.map +1 -1
  464. package/dist/lib/spacings/sizes.js +23 -0
  465. package/dist/lib/spacings/sizes.js.map +1 -1
  466. package/dist/lib/touch/UIPanGestureRecognizer.d.ts +8 -9
  467. package/dist/lib/touch/UIPanGestureRecognizer.d.ts.map +1 -1
  468. package/dist/lib/touch/UIPanGestureRecognizer.js +10 -0
  469. package/dist/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  470. package/dist/lib/touch/index.d.ts +1 -1
  471. package/dist/lib/touch/index.d.ts.map +1 -1
  472. package/dist/lib/touch/index.js.map +1 -1
  473. package/dist/vkui.css +1 -1
  474. package/dist/vkui.css.map +1 -1
  475. package/package.json +9 -6
  476. package/src/components/Accordion/Accordion.tsx +9 -7
  477. package/src/components/ActionSheet/ActionSheet.tsx +18 -13
  478. package/src/components/Alert/Alert.tsx +65 -59
  479. package/src/components/AppRoot/AppRoot.module.css +2 -30
  480. package/src/components/AppRoot/AppRoot.tsx +90 -122
  481. package/src/components/AppRoot/AppRootContext.ts +11 -2
  482. package/src/components/AppRoot/AppRootPortal.tsx +71 -30
  483. package/src/components/AppRoot/AppRootStyleContainer.module.css +77 -0
  484. package/src/components/AppRoot/AppRootStyleContainer.tsx +72 -0
  485. package/src/components/AppRoot/ModalPopoutPortal.tsx +27 -0
  486. package/src/components/AppRoot/helpers.ts +10 -65
  487. package/src/components/BaseGallery/BaseGallery.tsx +1 -1
  488. package/src/components/BaseGallery/CarouselBase/CarouselBase.tsx +1 -0
  489. package/src/components/CalendarHeader/CalendarHeader.tsx +5 -2
  490. package/src/components/CalendarTime/CalendarTime.tsx +5 -2
  491. package/src/components/ConfigProvider/ConfigProvider.tsx +22 -11
  492. package/src/components/Counter/Counter.module.css +80 -12
  493. package/src/components/Counter/Counter.tsx +64 -7
  494. package/src/components/CustomSelect/CustomSelect.tsx +7 -1
  495. package/src/components/FormItem/FormItem.tsx +1 -2
  496. package/src/components/Gallery/Gallery.tsx +1 -1
  497. package/src/components/Group/GroupContainer.tsx +2 -2
  498. package/src/components/Link/Link.module.css +11 -3
  499. package/src/components/Link/Link.tsx +28 -2
  500. package/src/components/ModalCard/ModalCard.module.css +60 -44
  501. package/src/components/ModalCard/ModalCard.tsx +41 -74
  502. package/src/components/ModalCard/ModalCardInternal.tsx +175 -0
  503. package/src/components/ModalCard/types.ts +51 -0
  504. package/src/components/ModalCardBase/ModalCardBase.module.css +0 -1
  505. package/src/components/ModalCardBase/ModalCardBase.tsx +1 -8
  506. package/src/components/ModalOutlet/ModalOutlet.module.css +16 -0
  507. package/src/components/ModalOutlet/ModalOutlet.tsx +31 -0
  508. package/src/components/ModalOverlay/ModalOverlay.module.css +65 -0
  509. package/src/components/ModalOverlay/ModalOverlay.tsx +66 -0
  510. package/src/components/ModalPage/ModalPage.module.css +124 -123
  511. package/src/components/ModalPage/ModalPage.tsx +42 -164
  512. package/src/components/ModalPage/ModalPageInternal.tsx +229 -0
  513. package/src/components/ModalPage/types.ts +112 -0
  514. package/src/components/ModalPageContent/ModalPageContent.module.css +4 -0
  515. package/src/components/ModalPageContent/ModalPageContent.tsx +25 -0
  516. package/src/components/ModalPageFooter/ModalPageFooter.module.css +33 -0
  517. package/src/components/ModalPageFooter/ModalPageFooter.tsx +31 -0
  518. package/src/components/ModalPageHeader/ModalPageHeader.module.css +8 -2
  519. package/src/components/ModalPageHeader/ModalPageHeader.tsx +5 -5
  520. package/src/components/ModalRoot/ModalRoot.tsx +62 -716
  521. package/src/components/ModalRoot/ModalRootContext.tsx +13 -50
  522. package/src/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.module.css +6 -0
  523. package/src/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.tsx +37 -0
  524. package/src/components/ModalRoot/types.ts +60 -20
  525. package/src/components/ModalRoot/useModalManager.tsx +74 -228
  526. package/src/components/ModalRoot/useModalRootContext.ts +21 -0
  527. package/src/components/ModalRoot/withModalRootContext.tsx +8 -3
  528. package/src/components/NativeSelect/NativeSelect.tsx +12 -9
  529. package/src/components/NavTransitionContext/NavTransitionContext.tsx +7 -4
  530. package/src/components/PanelHeader/PanelHeader.tsx +2 -2
  531. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +14 -12
  532. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +4 -1
  533. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +10 -13
  534. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +10 -12
  535. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +11 -10
  536. package/src/components/PopoutWrapper/PopoutWrapper.tsx +9 -0
  537. package/src/components/PullToRefresh/PullToRefresh.tsx +11 -7
  538. package/src/components/ScreenSpinner/ScreenSpinner.tsx +10 -6
  539. package/src/components/ScreenSpinner/types.tsx +2 -0
  540. package/src/components/Search/Search.module.css +2 -2
  541. package/src/components/Separator/Separator.tsx +32 -20
  542. package/src/components/Skeleton/Skeleton.tsx +4 -4
  543. package/src/components/Spacing/Spacing.tsx +17 -10
  544. package/src/components/SplitCol/SplitCol.tsx +7 -5
  545. package/src/components/SplitLayout/SplitLayout.tsx +20 -10
  546. package/src/components/Tappable/Tappable.tsx +1 -0
  547. package/src/components/View/useLayoutEffectCall.tsx +7 -29
  548. package/src/context/ModalContext.tsx +18 -0
  549. package/src/helpers/range.ts +4 -0
  550. package/src/hooks/useObjectMemo.ts +6 -0
  551. package/src/hooks/usePrevious.ts +9 -0
  552. package/src/hooks/useStableCallback.ts +1 -1
  553. package/src/hooks/useStateWithPrev.ts +43 -0
  554. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +39 -0
  555. package/src/hooks/useSyncHTMLWithTokens.ts +27 -0
  556. package/src/hooks/useVirtualKeyboardState.ts +152 -0
  557. package/src/index.ts +22 -5
  558. package/src/lib/SSR.tsx +1 -7
  559. package/src/lib/adaptivity/functions.ts +8 -1
  560. package/src/lib/animation/useCSSKeyframesAnimationController.ts +10 -5
  561. package/src/lib/animation/useCSSTransition.ts +4 -10
  562. package/src/lib/dom.tsx +85 -13
  563. package/src/lib/floating/usePlacementChangeCallback.ts +9 -3
  564. package/src/lib/sheet/constants.ts +32 -0
  565. package/src/lib/sheet/controllers/BottomSheetController.ts +382 -0
  566. package/src/lib/sheet/controllers/CSSTransitionController.ts +51 -0
  567. package/src/lib/sheet/index.ts +10 -0
  568. package/src/lib/sheet/useBottomSheet.ts +175 -0
  569. package/src/lib/spacings/sizes.ts +17 -2
  570. package/src/lib/touch/UIPanGestureRecognizer.ts +12 -9
  571. package/src/lib/touch/index.ts +4 -1
  572. package/src/styles/common.css +31 -41
  573. package/src/styles/constants.css +5 -0
  574. package/dist/components/ModalPage/ModalPageContext.d.ts +0 -6
  575. package/dist/components/ModalPage/ModalPageContext.d.ts.map +0 -1
  576. package/dist/components/ModalPage/ModalPageContext.js +0 -4
  577. package/dist/components/ModalPage/ModalPageContext.js.map +0 -1
  578. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +0 -7
  579. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts.map +0 -1
  580. package/dist/components/ModalRoot/ModalRootAdaptive.js +0 -18
  581. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +0 -1
  582. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +0 -4
  583. package/dist/components/ModalRoot/ModalRootDesktop.d.ts.map +0 -1
  584. package/dist/components/ModalRoot/ModalRootDesktop.js +0 -186
  585. package/dist/components/ModalRoot/ModalRootDesktop.js.map +0 -1
  586. package/dist/components/ModalRoot/constants.d.ts +0 -2
  587. package/dist/components/ModalRoot/constants.d.ts.map +0 -1
  588. package/dist/components/ModalRoot/constants.js +0 -3
  589. package/dist/components/ModalRoot/constants.js.map +0 -1
  590. package/dist/components/PopoutRoot/PopoutRoot.d.ts +0 -19
  591. package/dist/components/PopoutRoot/PopoutRoot.d.ts.map +0 -1
  592. package/dist/components/PopoutRoot/PopoutRoot.js +0 -55
  593. package/dist/components/PopoutRoot/PopoutRoot.js.map +0 -1
  594. package/dist/cssm/components/ModalPage/ModalPageContext.js +0 -4
  595. package/dist/cssm/components/ModalPage/ModalPageContext.js.map +0 -1
  596. package/dist/cssm/components/ModalRoot/ModalRoot.module.css +0 -61
  597. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +0 -19
  598. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +0 -1
  599. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +0 -179
  600. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +0 -1
  601. package/dist/cssm/components/ModalRoot/constants.js +0 -3
  602. package/dist/cssm/components/ModalRoot/constants.js.map +0 -1
  603. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +0 -41
  604. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +0 -1
  605. package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +0 -28
  606. package/dist/cssm/hooks/useKeyboard.js +0 -40
  607. package/dist/cssm/hooks/useKeyboard.js.map +0 -1
  608. package/dist/hooks/useKeyboard.d.ts +0 -11
  609. package/dist/hooks/useKeyboard.d.ts.map +0 -1
  610. package/dist/hooks/useKeyboard.js +0 -42
  611. package/dist/hooks/useKeyboard.js.map +0 -1
  612. package/src/components/ModalPage/ModalPageContext.tsx +0 -8
  613. package/src/components/ModalRoot/ModalRoot.module.css +0 -59
  614. package/src/components/ModalRoot/ModalRootAdaptive.tsx +0 -21
  615. package/src/components/ModalRoot/ModalRootDesktop.tsx +0 -243
  616. package/src/components/ModalRoot/constants.ts +0 -1
  617. package/src/components/ModalRoot/useModalRootContext.tsx +0 -5
  618. package/src/components/PopoutRoot/PopoutRoot.module.css +0 -28
  619. package/src/components/PopoutRoot/PopoutRoot.tsx +0 -51
  620. package/src/hooks/useKeyboard.ts +0 -56
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeader/PanelHeader.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type {\n HasComponent,\n HasDataAttribute,\n HasRef,\n HTMLAttributesWithRootRef,\n} from '../../types';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { ModalRootContext } from '../ModalRoot/ModalRootContext';\nimport { OnboardingTooltipContainer } from '../OnboardingTooltip/OnboardingTooltipContainer';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Separator } from '../Separator/Separator';\nimport { Spacing } from '../Spacing/Spacing';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './PanelHeader.module.css';\n\nconst platformClassNames = {\n ios: styles.ios,\n android: styles.android,\n vkcom: classNames(styles.vkcom, 'vkuiInternalPanelHeader--vkcom'),\n};\n\nconst sizeXClassNames = {\n none: styles.sizeXNone,\n regular: styles.sizeXRegular,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface PanelHeaderProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n before?: React.ReactNode;\n /**\n * Добавляет элемент справа.\n *\n * При передаче нескольких элементов, расставляет отступы между ними.\n */\n after?: React.ReactNode;\n /**\n * Тип разделителя под шапкой.\n *\n * - `\"none\"` означает, что разделитель не нужен\n * - `\"separator\"` включает сепаратор при условии, что это:\n * - либо платформа `vkcom`\n * - либо платформа `android`/`ios` при `<AdaptivityProvider sizeX=\"compact\" />`\n * - `\"spacing\"` включает отступ, если это платформа `android`/`ios` при `<AdaptivityProvider sizeX=\"regular\" />`\n * - `\"auto\"` автоматически подбирает либо `\"separator\"`, либо `\"spacing\"` по их условиям\n */\n delimiter?: 'auto' | 'none' | 'separator' | 'spacing';\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Высота шапки будет игнорироваться контентом панели\n */\n float?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n /**\n * По умолчанию как `Component` используется `span`.\n */\n typographyProps?: HasComponent & React.HTMLAttributes<HTMLElement> & HasDataAttribute;\n}\n\ninterface PanelHeaderInProps {\n before?: PanelHeaderProps['before'];\n after?: PanelHeaderProps['after'];\n children?: PanelHeaderProps['children'];\n typographyProps?: PanelHeaderProps['typographyProps'];\n}\n\nconst PanelHeaderIn = ({ before, after, children, typographyProps = {} }: PanelHeaderInProps) => {\n const { Component = 'span', ...restProps } = typographyProps;\n const { hasCustomPanelHeaderAfter, customPanelHeaderAfterMinWidth } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n const afterSlotProps =\n !hasCustomPanelHeaderAfter || isInsideModal\n ? {\n children: after,\n }\n : {\n style: { minWidth: customPanelHeaderAfterMinWidth },\n };\n const typographyNode: React.ReactNode =\n platform === 'vkcom' ? (\n <Text weight=\"2\" Component={Component} {...restProps}>\n {children}\n </Text>\n ) : (\n <Component className={styles.contentIn} {...restProps}>\n {children}\n </Component>\n );\n\n return (\n <OnboardingTooltipContainer fixed className={styles.in}>\n <div className={classNames(styles.before, 'vkuiInternalPanelHeader__before')}>{before}</div>\n <div className={styles.content}>{typographyNode}</div>\n <div\n className={classNames(styles.after, 'vkuiInternalPanelHeader__after')}\n {...afterSlotProps}\n />\n </OnboardingTooltipContainer>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = ({\n before,\n children,\n after,\n float = false,\n transparent = false,\n delimiter = 'auto',\n shadow,\n getRef,\n getRootRef,\n fixed,\n typographyProps,\n ...restProps\n}: PanelHeaderProps): React.ReactNode => {\n const platform = usePlatform();\n const { sizeX = 'none', sizeY = 'none' } = useAdaptivity();\n const { sizeX: adaptiveSizeX } = useAdaptivityConditionalRender();\n const isVKCOM = platform === 'vkcom';\n const isFixed = fixed !== undefined ? fixed : !isVKCOM;\n const separatorVisible = delimiter === 'auto' || delimiter === 'separator';\n const staticSeparatorVisible = !float && separatorVisible;\n const staticSpacingVisible = !float && (delimiter === 'auto' || delimiter === 'spacing');\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalPanelHeader',\n platformClassNames.hasOwnProperty(platform)\n ? platformClassNames[platform]\n : platformClassNames.android,\n transparent && styles.trnsp,\n shadow && styles.shadow,\n !float && classNames(styles.static, 'vkuiInternalPanelHeader--static'),\n staticSeparatorVisible && classNames(styles.sep, 'vkuiInternalPanelHeader--sep'),\n !before && classNames(styles.noBefore, 'vkuiInternalPanelHeader--no-before'),\n !after && styles.noAfter,\n isFixed && styles.hasFixed,\n sizeX !== 'compact' && sizeXClassNames[sizeX],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n )}\n getRootRef={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout\n className={classNames(styles.fixed, 'vkuiInternalPanelHeader__fixed')}\n vertical=\"top\"\n getRootRef={getRef}\n >\n <PanelHeaderIn before={before} after={after} typographyProps={typographyProps}>\n {children}\n </PanelHeaderIn>\n </FixedLayout>\n ) : (\n <PanelHeaderIn before={before} after={after} typographyProps={typographyProps}>\n {children}\n </PanelHeaderIn>\n )}\n {!isVKCOM && (\n <>\n {staticSeparatorVisible && adaptiveSizeX.compact && (\n <Separator className={adaptiveSizeX.compact.className} padding />\n )}\n {staticSpacingVisible && adaptiveSizeX.regular && (\n <Spacing className={adaptiveSizeX.regular.className} size={16} />\n )}\n </>\n )}\n {separatorVisible && isVKCOM && <Separator className={styles.separator} />}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useAdaptivityConditionalRender","usePlatform","useConfigProvider","FixedLayout","ModalRootContext","OnboardingTooltipContainer","RootComponent","Separator","Spacing","Text","platformClassNames","ios","android","vkcom","sizeXClassNames","none","regular","sizeYClassNames","compact","PanelHeaderIn","before","after","children","typographyProps","Component","restProps","hasCustomPanelHeaderAfter","customPanelHeaderAfterMinWidth","isInsideModal","useContext","platform","afterSlotProps","style","minWidth","typographyNode","weight","className","fixed","div","PanelHeader","float","transparent","delimiter","shadow","getRef","getRootRef","sizeX","sizeY","adaptiveSizeX","isVKCOM","isFixed","undefined","separatorVisible","staticSeparatorVisible","staticSpacingVisible","baseClassName","hasOwnProperty","vertical","padding","size"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeader/PanelHeader.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useModalContext } from '../../context/ModalContext';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type {\n HasComponent,\n HasDataAttribute,\n HasRef,\n HTMLAttributesWithRootRef,\n} from '../../types';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { OnboardingTooltipContainer } from '../OnboardingTooltip/OnboardingTooltipContainer';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Separator } from '../Separator/Separator';\nimport { Spacing } from '../Spacing/Spacing';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './PanelHeader.module.css';\n\nconst platformClassNames = {\n ios: styles.ios,\n android: styles.android,\n vkcom: classNames(styles.vkcom, 'vkuiInternalPanelHeader--vkcom'),\n};\n\nconst sizeXClassNames = {\n none: styles.sizeXNone,\n regular: styles.sizeXRegular,\n};\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport interface PanelHeaderProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n before?: React.ReactNode;\n /**\n * Добавляет элемент справа.\n *\n * При передаче нескольких элементов, расставляет отступы между ними.\n */\n after?: React.ReactNode;\n /**\n * Тип разделителя под шапкой.\n *\n * - `\"none\"` означает, что разделитель не нужен\n * - `\"separator\"` включает сепаратор при условии, что это:\n * - либо платформа `vkcom`\n * - либо платформа `android`/`ios` при `<AdaptivityProvider sizeX=\"compact\" />`\n * - `\"spacing\"` включает отступ, если это платформа `android`/`ios` при `<AdaptivityProvider sizeX=\"regular\" />`\n * - `\"auto\"` автоматически подбирает либо `\"separator\"`, либо `\"spacing\"` по их условиям\n */\n delimiter?: 'auto' | 'none' | 'separator' | 'spacing';\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Высота шапки будет игнорироваться контентом панели\n */\n float?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n /**\n * По умолчанию как `Component` используется `span`.\n */\n typographyProps?: HasComponent & React.HTMLAttributes<HTMLElement> & HasDataAttribute;\n}\n\ninterface PanelHeaderInProps {\n before?: PanelHeaderProps['before'];\n after?: PanelHeaderProps['after'];\n children?: PanelHeaderProps['children'];\n typographyProps?: PanelHeaderProps['typographyProps'];\n}\n\nconst PanelHeaderIn = ({ before, after, children, typographyProps = {} }: PanelHeaderInProps) => {\n const { Component = 'span', ...restProps } = typographyProps;\n const { hasCustomPanelHeaderAfter, customPanelHeaderAfterMinWidth } = useConfigProvider();\n const isInsideModal = useModalContext().id !== null;\n const platform = usePlatform();\n\n const afterSlotProps =\n !hasCustomPanelHeaderAfter || isInsideModal\n ? {\n children: after,\n }\n : {\n style: { minWidth: customPanelHeaderAfterMinWidth },\n };\n const typographyNode: React.ReactNode =\n platform === 'vkcom' ? (\n <Text weight=\"2\" Component={Component} {...restProps}>\n {children}\n </Text>\n ) : (\n <Component className={styles.contentIn} {...restProps}>\n {children}\n </Component>\n );\n\n return (\n <OnboardingTooltipContainer fixed className={styles.in}>\n <div className={classNames(styles.before, 'vkuiInternalPanelHeader__before')}>{before}</div>\n <div className={styles.content}>{typographyNode}</div>\n <div\n className={classNames(styles.after, 'vkuiInternalPanelHeader__after')}\n {...afterSlotProps}\n />\n </OnboardingTooltipContainer>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = ({\n before,\n children,\n after,\n float = false,\n transparent = false,\n delimiter = 'auto',\n shadow,\n getRef,\n getRootRef,\n fixed,\n typographyProps,\n ...restProps\n}: PanelHeaderProps): React.ReactNode => {\n const platform = usePlatform();\n const { sizeX = 'none', sizeY = 'none' } = useAdaptivity();\n const { sizeX: adaptiveSizeX } = useAdaptivityConditionalRender();\n const isVKCOM = platform === 'vkcom';\n const isFixed = fixed !== undefined ? fixed : !isVKCOM;\n const separatorVisible = delimiter === 'auto' || delimiter === 'separator';\n const staticSeparatorVisible = !float && separatorVisible;\n const staticSpacingVisible = !float && (delimiter === 'auto' || delimiter === 'spacing');\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalPanelHeader',\n platformClassNames.hasOwnProperty(platform)\n ? platformClassNames[platform]\n : platformClassNames.android,\n transparent && styles.trnsp,\n shadow && styles.shadow,\n !float && classNames(styles.static, 'vkuiInternalPanelHeader--static'),\n staticSeparatorVisible && classNames(styles.sep, 'vkuiInternalPanelHeader--sep'),\n !before && classNames(styles.noBefore, 'vkuiInternalPanelHeader--no-before'),\n !after && styles.noAfter,\n isFixed && styles.hasFixed,\n sizeX !== 'compact' && sizeXClassNames[sizeX],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n )}\n getRootRef={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout\n className={classNames(styles.fixed, 'vkuiInternalPanelHeader__fixed')}\n vertical=\"top\"\n getRootRef={getRef}\n >\n <PanelHeaderIn before={before} after={after} typographyProps={typographyProps}>\n {children}\n </PanelHeaderIn>\n </FixedLayout>\n ) : (\n <PanelHeaderIn before={before} after={after} typographyProps={typographyProps}>\n {children}\n </PanelHeaderIn>\n )}\n {!isVKCOM && (\n <>\n {staticSeparatorVisible && adaptiveSizeX.compact && (\n <Separator className={adaptiveSizeX.compact.className} padding />\n )}\n {staticSpacingVisible && adaptiveSizeX.regular && (\n <Spacing className={adaptiveSizeX.regular.className} size={16} />\n )}\n </>\n )}\n {separatorVisible && isVKCOM && <Separator className={styles.separator} />}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useModalContext","useAdaptivity","useAdaptivityConditionalRender","usePlatform","useConfigProvider","FixedLayout","OnboardingTooltipContainer","RootComponent","Separator","Spacing","Text","platformClassNames","ios","android","vkcom","sizeXClassNames","none","regular","sizeYClassNames","compact","PanelHeaderIn","before","after","children","typographyProps","Component","restProps","hasCustomPanelHeaderAfter","customPanelHeaderAfterMinWidth","isInsideModal","id","platform","afterSlotProps","style","minWidth","typographyNode","weight","className","fixed","div","PanelHeader","float","transparent","delimiter","shadow","getRef","getRootRef","sizeX","sizeY","adaptiveSizeX","isVKCOM","isFixed","undefined","separatorVisible","staticSeparatorVisible","staticSpacingVisible","baseClassName","hasOwnProperty","vertical","padding","size"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { type PanelHeaderButtonProps } from '../PanelHeaderButton/PanelHeaderButton';
3
- export interface PanelHeaderBackProps extends Omit<PanelHeaderButtonProps, 'children'> {
4
- children?: string;
5
- }
3
+ export type PanelHeaderBackProps = Omit<PanelHeaderButtonProps, 'children'> & {
4
+ hideLabelOnVKCom?: boolean;
5
+ hideLabelOnIOS?: boolean;
6
+ };
6
7
  /**
7
8
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
8
9
  */
9
- export declare const PanelHeaderBack: ({ label, className, children, ...restProps }: PanelHeaderButtonProps) => React.ReactNode;
10
+ export declare const PanelHeaderBack: ({ label, className, hideLabelOnVKCom, hideLabelOnIOS, ...restProps }: PanelHeaderBackProps) => React.ReactNode;
10
11
  //# sourceMappingURL=PanelHeaderBack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PanelHeaderBack.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderBack/PanelHeaderBack.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAShD,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAuBD;;GAEG;AACH,eAAO,MAAM,eAAe,iDAKzB,sBAAsB,KAAG,KAAK,CAAC,SAuBjC,CAAC"}
1
+ {"version":3,"file":"PanelHeaderBack.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderBack/PanelHeaderBack.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAShD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAuBF;;GAEG;AACH,eAAO,MAAM,eAAe,yEAMzB,oBAAoB,KAAG,KAAK,CAAC,SAuB/B,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
5
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
7
7
  import { Icon20ChevronLeftOutline, Icon24ArrowLeftOutline, Icon28ArrowLeftOutline, Icon28ChevronBack, Icon28ChevronLeftOutline } from "@vkontakte/icons";
8
8
  import { classNames } from "@vkontakte/vkjs";
@@ -34,25 +34,23 @@ const getBackIcon = (platform)=>{
34
34
  /**
35
35
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
36
36
  */ export const PanelHeaderBack = (_param)=>{
37
- var { label, className, children = 'Назад' } = _param, restProps = _object_without_properties(_param, [
37
+ var { label = 'Назад', className, hideLabelOnVKCom = false, hideLabelOnIOS = false } = _param, restProps = _object_without_properties(_param, [
38
38
  "label",
39
39
  "className",
40
- "children"
40
+ "hideLabelOnVKCom",
41
+ "hideLabelOnIOS"
41
42
  ]);
42
43
  const platform = usePlatform();
43
44
  const { sizeX = 'none' } = useAdaptivity();
44
45
  // также label нужно скрывать при platform === 'ios' && sizeX === regular
45
46
  // https://github.com/VKCOM/VKUI/blob/master/src/components/PanelHeaderButton/PanelHeaderButton.css#L104
46
- const showLabel = platform === 'vkcom' || platform === 'ios';
47
- return /*#__PURE__*/ _jsxs(PanelHeaderButton, _object_spread_props(_object_spread({}, restProps), {
47
+ const showLabel = platform === 'vkcom' && !hideLabelOnVKCom || platform === 'ios' && !hideLabelOnIOS;
48
+ return /*#__PURE__*/ _jsx(PanelHeaderButton, _object_spread_props(_object_spread({}, restProps), {
48
49
  className: classNames(sizeX !== 'regular' && sizeXClassNames[sizeX], platform === 'ios' && "vkuiPanelHeaderButton__backIos", platform === 'vkcom' && "vkuiPanelHeaderButton__backVkcom", showLabel && !!label && "vkuiPanelHeaderButton__backHasLabel", className),
49
- label: showLabel && label,
50
- children: [
51
- children && /*#__PURE__*/ _jsx(VisuallyHidden, {
52
- children: children
53
- }),
54
- getBackIcon(platform)
55
- ]
50
+ label: showLabel ? label : label && /*#__PURE__*/ _jsx(VisuallyHidden, {
51
+ children: label
52
+ }),
53
+ children: getBackIcon(platform)
56
54
  }));
57
55
  };
58
56
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeaderBack/PanelHeaderBack.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon20ChevronLeftOutline,\n Icon24ArrowLeftOutline,\n Icon28ArrowLeftOutline,\n Icon28ChevronBack,\n Icon28ChevronLeftOutline,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { PlatformType } from '../../lib/platform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from '../PanelHeaderButton/PanelHeaderButton.module.css';\n\nconst sizeXClassNames = {\n none: styles.backSizeXNone,\n compact: styles.backSizeXCompact,\n};\n\nexport interface PanelHeaderBackProps extends Omit<PanelHeaderButtonProps, 'children'> {\n children?: string;\n}\n\nconst getBackIcon = (platform: PlatformType) => {\n switch (platform) {\n case 'ios':\n return <Icon28ChevronBack />;\n case 'vkcom':\n return (\n <AdaptiveIconRenderer\n IconCompact={Icon20ChevronLeftOutline}\n IconRegular={Icon28ChevronLeftOutline}\n />\n );\n default:\n return (\n <AdaptiveIconRenderer\n IconCompact={Icon24ArrowLeftOutline}\n IconRegular={Icon28ArrowLeftOutline}\n />\n );\n }\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderBack = ({\n label,\n className,\n children = 'Назад',\n ...restProps\n}: PanelHeaderButtonProps): React.ReactNode => {\n const platform = usePlatform();\n const { sizeX = 'none' } = useAdaptivity();\n // также label нужно скрывать при platform === 'ios' && sizeX === regular\n // https://github.com/VKCOM/VKUI/blob/master/src/components/PanelHeaderButton/PanelHeaderButton.css#L104\n const showLabel = platform === 'vkcom' || platform === 'ios';\n\n return (\n <PanelHeaderButton\n {...restProps}\n className={classNames(\n sizeX !== 'regular' && sizeXClassNames[sizeX],\n platform === 'ios' && styles['backIos'],\n platform === 'vkcom' && styles['backVkcom'],\n showLabel && !!label && styles['backHasLabel'],\n className,\n )}\n label={showLabel && label}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n {getBackIcon(platform)}\n </PanelHeaderButton>\n );\n};\n"],"names":["React","Icon20ChevronLeftOutline","Icon24ArrowLeftOutline","Icon28ArrowLeftOutline","Icon28ChevronBack","Icon28ChevronLeftOutline","classNames","useAdaptivity","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","sizeXClassNames","none","compact","getBackIcon","platform","IconCompact","IconRegular","PanelHeaderBack","label","className","children","restProps","sizeX","showLabel"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,wBAAwB,EACxBC,sBAAsB,EACtBC,sBAAsB,EACtBC,iBAAiB,EACjBC,wBAAwB,QACnB,mBAAmB;AAC1B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAMA,MAAMC,cAAc,CAACC;IACnB,OAAQA;QACN,KAAK;YACH,qBAAO,KAACZ;QACV,KAAK;YACH,qBACE,KAACK;gBACCQ,aAAahB;gBACbiB,aAAab;;QAGnB;YACE,qBACE,KAACI;gBACCQ,aAAaf;gBACbgB,aAAaf;;IAGrB;AACF;AAEA;;CAEC,GACD,OAAO,MAAMgB,kBAAkB;QAAC,EAC9BC,KAAK,EACLC,SAAS,EACTC,WAAW,OAAO,EAEK,WADpBC;QAHHH;QACAC;QACAC;;IAGA,MAAMN,WAAWR;IACjB,MAAM,EAAEgB,QAAQ,MAAM,EAAE,GAAGjB;IAC3B,yEAAyE;IACzE,wGAAwG;IACxG,MAAMkB,YAAYT,aAAa,WAAWA,aAAa;IAEvD,qBACE,MAACN,2DACKa;QACJF,WAAWf,WACTkB,UAAU,aAAaZ,eAAe,CAACY,MAAM,EAC7CR,aAAa,2CACbA,aAAa,+CACbS,aAAa,CAAC,CAACL,gDACfC;QAEFD,OAAOK,aAAaL;;YAEnBE,0BAAY,KAACX;0BAAgBW;;YAC7BP,YAAYC;;;AAGnB,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderBack/PanelHeaderBack.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon20ChevronLeftOutline,\n Icon24ArrowLeftOutline,\n Icon28ArrowLeftOutline,\n Icon28ChevronBack,\n Icon28ChevronLeftOutline,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { PlatformType } from '../../lib/platform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from '../PanelHeaderButton/PanelHeaderButton.module.css';\n\nconst sizeXClassNames = {\n none: styles.backSizeXNone,\n compact: styles.backSizeXCompact,\n};\n\nexport type PanelHeaderBackProps = Omit<PanelHeaderButtonProps, 'children'> & {\n hideLabelOnVKCom?: boolean;\n hideLabelOnIOS?: boolean;\n};\n\nconst getBackIcon = (platform: PlatformType) => {\n switch (platform) {\n case 'ios':\n return <Icon28ChevronBack />;\n case 'vkcom':\n return (\n <AdaptiveIconRenderer\n IconCompact={Icon20ChevronLeftOutline}\n IconRegular={Icon28ChevronLeftOutline}\n />\n );\n default:\n return (\n <AdaptiveIconRenderer\n IconCompact={Icon24ArrowLeftOutline}\n IconRegular={Icon28ArrowLeftOutline}\n />\n );\n }\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderBack = ({\n label = 'Назад',\n className,\n hideLabelOnVKCom = false,\n hideLabelOnIOS = false,\n ...restProps\n}: PanelHeaderBackProps): React.ReactNode => {\n const platform = usePlatform();\n const { sizeX = 'none' } = useAdaptivity();\n // также label нужно скрывать при platform === 'ios' && sizeX === regular\n // https://github.com/VKCOM/VKUI/blob/master/src/components/PanelHeaderButton/PanelHeaderButton.css#L104\n const showLabel =\n (platform === 'vkcom' && !hideLabelOnVKCom) || (platform === 'ios' && !hideLabelOnIOS);\n\n return (\n <PanelHeaderButton\n {...restProps}\n className={classNames(\n sizeX !== 'regular' && sizeXClassNames[sizeX],\n platform === 'ios' && styles.backIos,\n platform === 'vkcom' && styles.backVkcom,\n showLabel && !!label && styles.backHasLabel,\n className,\n )}\n label={showLabel ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}\n >\n {getBackIcon(platform)}\n </PanelHeaderButton>\n );\n};\n"],"names":["React","Icon20ChevronLeftOutline","Icon24ArrowLeftOutline","Icon28ArrowLeftOutline","Icon28ChevronBack","Icon28ChevronLeftOutline","classNames","useAdaptivity","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","sizeXClassNames","none","compact","getBackIcon","platform","IconCompact","IconRegular","PanelHeaderBack","label","className","hideLabelOnVKCom","hideLabelOnIOS","restProps","sizeX","showLabel"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,wBAAwB,EACxBC,sBAAsB,EACtBC,sBAAsB,EACtBC,iBAAiB,EACjBC,wBAAwB,QACnB,mBAAmB;AAC1B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAOA,MAAMC,cAAc,CAACC;IACnB,OAAQA;QACN,KAAK;YACH,qBAAO,KAACZ;QACV,KAAK;YACH,qBACE,KAACK;gBACCQ,aAAahB;gBACbiB,aAAab;;QAGnB;YACE,qBACE,KAACI;gBACCQ,aAAaf;gBACbgB,aAAaf;;IAGrB;AACF;AAEA;;CAEC,GACD,OAAO,MAAMgB,kBAAkB;QAAC,EAC9BC,QAAQ,OAAO,EACfC,SAAS,EACTC,mBAAmB,KAAK,EACxBC,iBAAiB,KAAK,EAED,WADlBC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,MAAMP,WAAWR;IACjB,MAAM,EAAEiB,QAAQ,MAAM,EAAE,GAAGlB;IAC3B,yEAAyE;IACzE,wGAAwG;IACxG,MAAMmB,YACJ,AAACV,aAAa,WAAW,CAACM,oBAAsBN,aAAa,SAAS,CAACO;IAEzE,qBACE,KAACb,2DACKc;QACJH,WAAWf,WACTmB,UAAU,aAAab,eAAe,CAACa,MAAM,EAC7CT,aAAa,2CACbA,aAAa,+CACbU,aAAa,CAAC,CAACN,gDACfC;QAEFD,OAAOM,YAAYN,QAAQA,uBAAS,KAACT;sBAAgBS;;kBAEpDL,YAAYC;;AAGnB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"PanelHeaderButton.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderButton/PanelHeaderButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAWpE,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAsBD;;GAEG;AACH,eAAO,MAAM,iBAAiB,0DAM3B,sBAAsB,KAAG,KAAK,CAAC,SA6DjC,CAAC"}
1
+ {"version":3,"file":"PanelHeaderButton.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderButton/PanelHeaderButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAWpE,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAsBD;;GAEG;AACH,eAAO,MAAM,iBAAiB,0DAM3B,sBAAsB,KAAG,KAAK,CAAC,SAgEjC,CAAC"}
@@ -70,13 +70,18 @@ const warn = warnOnce('PanelHeaderButton');
70
70
  warn(COMMON_WARNINGS.a11y[restProps.href ? 'link-name' : 'button-name'], 'error');
71
71
  }
72
72
  }
73
+ const elements = [
74
+ label,
75
+ children
76
+ ].filter((item)=>!!item);
77
+ const onlyPrimitive = elements.length === 1 && isPrimitiveReactNode(elements[0]);
73
78
  return /*#__PURE__*/ _jsxs(Tappable, _object_spread_props(_object_spread({
74
79
  Component: restProps.href ? 'a' : 'button'
75
80
  }, restProps), {
76
81
  hoverMode: hoverMode,
77
82
  activeEffectDelay: 200,
78
83
  activeMode: activeMode,
79
- className: classNames("vkuiPanelHeaderButton__host", platformClassNames.hasOwnProperty(platform) ? platformClassNames[platform] : platformClassNames.android, isPrimitive && "vkuiPanelHeaderButton__primitive", !isPrimitive && !isPrimitiveLabel && "vkuiPanelHeaderButton__notPrimitive", className),
84
+ className: classNames("vkuiPanelHeaderButton__host", platformClassNames.hasOwnProperty(platform) ? platformClassNames[platform] : platformClassNames.android, onlyPrimitive && "vkuiPanelHeaderButton__primitive", !isPrimitive && !isPrimitiveLabel && "vkuiPanelHeaderButton__notPrimitive", className),
80
85
  children: [
81
86
  isPrimitive ? /*#__PURE__*/ _jsx(ButtonTypography, {
82
87
  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\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 isPrimitive && 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","platformClassNames","ios","android","vkcom","ButtonTypography","primary","children","platform","Component","level","weight","undefined","warn","PanelHeaderButton","label","className","restProps","isPrimitive","isPrimitiveLabel","hoverMode","activeMode","process","env","NODE_ENV","isAccessible","a11y","href","activeEffectDelay","hasOwnProperty"],"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;AAGlD,MAAMC,qBAAqB;IACzBC,GAAG;IACHC,OAAO;IACPC,KAAK;AACP;AAYA,MAAMC,mBAAmB,CAAC,EAAEC,OAAO,EAAEC,QAAQ,EAAyB;IACpE,MAAMC,WAAWd;IAEjB,IAAIc,aAAa,OAAO;QACtB,qBACE,KAACR;YAAMS,WAAU;YAAOC,OAAM;YAAIC,QAAQL,UAAU,MAAM;sBACvDC;;IAGP;IAEA,qBAAO,KAACR;QAAKY,QAAQH,aAAa,UAAUI,YAAY;kBAAML;;AAChE;AAEA,MAAMM,OAAOhB,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMiB,oBAAoB;QAAC,EAChCP,QAAQ,EACRD,UAAU,KAAK,EACfS,KAAK,EACLC,SAAS,EAEc,WADpBC;QAJHV;QACAD;QACAS;QACAC;;IAGA,MAAME,cAAczB,qBAAqBc;IACzC,MAAMY,mBAAmB1B,qBAAqBsB;IAC9C,MAAMP,WAAWd;IAEjB,IAAI0B;IACJ,IAAIC;IAEJ,OAAQb;QACN,KAAK;YACHY,YAAY;YACZC,aAAa;YACb;QACF,KAAK;YACHD;YACAC;YACA;QACF;YACED,YAAY;YACZC,aAAa;IACjB;IAEA,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAe9B,kBAAkB;YACrCY,UAAU;gBAACA;gBAAUQ;aAAM;WACxBE;QAGL,IAAI,CAACQ,cAAc;YACjBZ,KAAKjB,gBAAgB8B,IAAI,CAACT,UAAUU,IAAI,GAAG,cAAc,cAAc,EAAE;QAC3E;IACF;IAEA,qBACE,MAAC7B;QACCW,WAAWQ,UAAUU,IAAI,GAAG,MAAM;OAC9BV;QACJG,WAAWA;QACXQ,mBAAmB;QACnBP,YAAYA;QACZL,WAAWxB,0CAETS,mBAAmB4B,cAAc,CAACrB,YAC9BP,kBAAkB,CAACO,SAAS,GAC5BP,mBAAmBE,OAAO,EAC9Be,mDACA,CAACA,eAAe,CAACC,2DACjBH;;YAGDE,4BAAc,KAACb;gBAAiBC,SAASA;0BAAUC;iBAA+BA;YAClFY,iCACC,KAACd;gBAAiBC,SAASA;gBAASU,SAAS;0BAC1CD;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 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","platformClassNames","ios","android","vkcom","ButtonTypography","primary","children","platform","Component","level","weight","undefined","warn","PanelHeaderButton","label","className","restProps","isPrimitive","isPrimitiveLabel","hoverMode","activeMode","process","env","NODE_ENV","isAccessible","a11y","href","elements","filter","item","onlyPrimitive","length","activeEffectDelay","hasOwnProperty"],"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;AAGlD,MAAMC,qBAAqB;IACzBC,GAAG;IACHC,OAAO;IACPC,KAAK;AACP;AAYA,MAAMC,mBAAmB,CAAC,EAAEC,OAAO,EAAEC,QAAQ,EAAyB;IACpE,MAAMC,WAAWd;IAEjB,IAAIc,aAAa,OAAO;QACtB,qBACE,KAACR;YAAMS,WAAU;YAAOC,OAAM;YAAIC,QAAQL,UAAU,MAAM;sBACvDC;;IAGP;IAEA,qBAAO,KAACR;QAAKY,QAAQH,aAAa,UAAUI,YAAY;kBAAML;;AAChE;AAEA,MAAMM,OAAOhB,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMiB,oBAAoB;QAAC,EAChCP,QAAQ,EACRD,UAAU,KAAK,EACfS,KAAK,EACLC,SAAS,EAEc,WADpBC;QAJHV;QACAD;QACAS;QACAC;;IAGA,MAAME,cAAczB,qBAAqBc;IACzC,MAAMY,mBAAmB1B,qBAAqBsB;IAC9C,MAAMP,WAAWd;IAEjB,IAAI0B;IACJ,IAAIC;IAEJ,OAAQb;QACN,KAAK;YACHY,YAAY;YACZC,aAAa;YACb;QACF,KAAK;YACHD;YACAC;YACA;QACF;YACED,YAAY;YACZC,aAAa;IACjB;IAEA,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,4GAA4G,GAC5G,MAAMC,eAAe9B,kBAAkB;YACrCY,UAAU;gBAACA;gBAAUQ;aAAM;WACxBE;QAGL,IAAI,CAACQ,cAAc;YACjBZ,KAAKjB,gBAAgB8B,IAAI,CAACT,UAAUU,IAAI,GAAG,cAAc,cAAc,EAAE;QAC3E;IACF;IACA,MAAMC,WAAW;QAACb;QAAOR;KAAS,CAACsB,MAAM,CAAC,CAACC,OAAS,CAAC,CAACA;IAEtD,MAAMC,gBAAgBH,SAASI,MAAM,KAAK,KAAKvC,qBAAqBmC,QAAQ,CAAC,EAAE;IAE/E,qBACE,MAAC9B;QACCW,WAAWQ,UAAUU,IAAI,GAAG,MAAM;OAC9BV;QACJG,WAAWA;QACXa,mBAAmB;QACnBZ,YAAYA;QACZL,WAAWxB,0CAETS,mBAAmBiC,cAAc,CAAC1B,YAC9BP,kBAAkB,CAACO,SAAS,GAC5BP,mBAAmBE,OAAO,EAC9B4B,qDACA,CAACb,eAAe,CAACC,2DACjBH;;YAGDE,4BAAc,KAACb;gBAAiBC,SAASA;0BAAUC;iBAA+BA;YAClFY,iCACC,KAACd;gBAAiBC,SAASA;gBAASU,SAAS;0BAC1CD;iBAGHA;;;AAIR,EAAE"}
@@ -1,6 +1,7 @@
1
1
  import { type PanelHeaderButtonProps } from '../PanelHeaderButton/PanelHeaderButton';
2
+ export type PanelHeaderCloseProps = Omit<PanelHeaderButtonProps, 'children'>;
2
3
  /**
3
4
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
4
5
  */
5
- export declare const PanelHeaderClose: ({ children, ...restProps }: PanelHeaderButtonProps) => React.ReactNode;
6
+ export declare const PanelHeaderClose: ({ label, ...restProps }: PanelHeaderCloseProps) => React.ReactNode;
6
7
  //# sourceMappingURL=PanelHeaderClose.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PanelHeaderClose.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderClose/PanelHeaderClose.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAGhD;;GAEG;AACH,eAAO,MAAM,gBAAgB,+BAG1B,sBAAsB,KAAG,KAAK,CAAC,SAkBjC,CAAC"}
1
+ {"version":3,"file":"PanelHeaderClose.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderClose/PanelHeaderClose.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAGhD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,gBAAgB,4BAG1B,qBAAqB,KAAG,KAAK,CAAC,SAahC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
5
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import { Icon24CancelOutline, Icon28CancelOutline } from "@vkontakte/icons";
7
7
  import { usePlatform } from "../../hooks/usePlatform.js";
8
8
  import { AdaptiveIconRenderer } from "../AdaptiveIconRenderer/AdaptiveIconRenderer.js";
@@ -11,21 +11,17 @@ import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
11
11
  /**
12
12
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
13
13
  */ export const PanelHeaderClose = (_param)=>{
14
- var { children = 'Отмена' } = _param, restProps = _object_without_properties(_param, [
15
- "children"
14
+ var { label = 'Отмена' } = _param, restProps = _object_without_properties(_param, [
15
+ "label"
16
16
  ]);
17
17
  const platform = usePlatform();
18
18
  return /*#__PURE__*/ _jsx(PanelHeaderButton, _object_spread_props(_object_spread({}, restProps), {
19
- children: platform === 'ios' ? children : /*#__PURE__*/ _jsxs(_Fragment, {
20
- children: [
21
- /*#__PURE__*/ _jsx(VisuallyHidden, {
22
- children: children
23
- }),
24
- /*#__PURE__*/ _jsx(AdaptiveIconRenderer, {
25
- IconCompact: Icon24CancelOutline,
26
- IconRegular: Icon28CancelOutline
27
- })
28
- ]
19
+ label: platform === 'ios' ? label : label && /*#__PURE__*/ _jsx(VisuallyHidden, {
20
+ children: label
21
+ }),
22
+ children: platform !== 'ios' && /*#__PURE__*/ _jsx(AdaptiveIconRenderer, {
23
+ IconCompact: Icon24CancelOutline,
24
+ IconRegular: Icon28CancelOutline
29
25
  })
30
26
  }));
31
27
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeaderClose/PanelHeaderClose.tsx"],"sourcesContent":["'use client';\n\nimport { Icon24CancelOutline, Icon28CancelOutline } from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderClose = ({\n children = 'Отмена',\n ...restProps\n}: PanelHeaderButtonProps): React.ReactNode => {\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton {...restProps}>\n {platform === 'ios' ? (\n children\n ) : (\n <>\n <VisuallyHidden>{children}</VisuallyHidden>\n <AdaptiveIconRenderer\n IconCompact={Icon24CancelOutline}\n IconRegular={Icon28CancelOutline}\n />\n </>\n )}\n </PanelHeaderButton>\n );\n};\n"],"names":["Icon24CancelOutline","Icon28CancelOutline","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","PanelHeaderClose","children","restProps","platform","IconCompact","IconRegular"],"mappings":"AAAA;;;;;AAEA,SAASA,mBAAmB,EAAEC,mBAAmB,QAAQ,mBAAmB;AAC5E,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAElE;;CAEC,GACD,OAAO,MAAMC,mBAAmB;QAAC,EAC/BC,WAAW,QAAQ,EAEI,WADpBC;QADHD;;IAGA,MAAME,WAAWP;IAEjB,qBACE,KAACE,2DAAsBI;kBACpBC,aAAa,QACZF,yBAEA;;8BACE,KAACF;8BAAgBE;;8BACjB,KAACJ;oBACCO,aAAaV;oBACbW,aAAaV;;;;;AAMzB,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderClose/PanelHeaderClose.tsx"],"sourcesContent":["'use client';\n\nimport { Icon24CancelOutline, Icon28CancelOutline } from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nexport type PanelHeaderCloseProps = Omit<PanelHeaderButtonProps, 'children'>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderClose = ({\n label = 'Отмена',\n ...restProps\n}: PanelHeaderCloseProps): React.ReactNode => {\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton\n {...restProps}\n label={platform === 'ios' ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}\n >\n {platform !== 'ios' && (\n <AdaptiveIconRenderer IconCompact={Icon24CancelOutline} IconRegular={Icon28CancelOutline} />\n )}\n </PanelHeaderButton>\n );\n};\n"],"names":["Icon24CancelOutline","Icon28CancelOutline","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","PanelHeaderClose","label","restProps","platform","IconCompact","IconRegular"],"mappings":"AAAA;;;;;AAEA,SAASA,mBAAmB,EAAEC,mBAAmB,QAAQ,mBAAmB;AAC5E,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAIlE;;CAEC,GACD,OAAO,MAAMC,mBAAmB;QAAC,EAC/BC,QAAQ,QAAQ,EAEM,WADnBC;QADHD;;IAGA,MAAME,WAAWP;IAEjB,qBACE,KAACE,2DACKI;QACJD,OAAOE,aAAa,QAAQF,QAAQA,uBAAS,KAACF;sBAAgBE;;kBAE7DE,aAAa,uBACZ,KAACN;YAAqBO,aAAaV;YAAqBW,aAAaV;;;AAI7E,EAAE"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type PanelHeaderButtonProps } from '../PanelHeaderButton/PanelHeaderButton';
3
- export interface PanelHeaderEditProps extends PanelHeaderButtonProps {
3
+ export interface PanelHeaderEditProps extends Omit<PanelHeaderButtonProps, 'label' | 'children'> {
4
4
  /**
5
5
  * Включен ли режим редактирования
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PanelHeaderEdit.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAGhD,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,qDAKzB,oBAAoB,KAAG,KAAK,CAAC,SAmB/B,CAAC"}
1
+ {"version":3,"file":"PanelHeaderEdit.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAGhD,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,OAAO,GAAG,UAAU,CAAC;IAC9F;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,qDAKzB,oBAAoB,KAAG,KAAK,CAAC,SAiB/B,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
5
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import * as React from "react";
7
7
  import { Icon24DoneOutline, Icon24PenOutline, Icon28DoneOutline, Icon28EditOutline } from "@vkontakte/icons";
8
8
  import { usePlatform } from "../../hooks/usePlatform.js";
@@ -20,16 +20,12 @@ import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
20
20
  const platform = usePlatform();
21
21
  const label = isActive ? doneLabel : editLabel;
22
22
  return /*#__PURE__*/ _jsx(PanelHeaderButton, _object_spread_props(_object_spread({}, restProps), {
23
- children: platform === 'ios' ? label : /*#__PURE__*/ _jsxs(_Fragment, {
24
- children: [
25
- /*#__PURE__*/ _jsx(VisuallyHidden, {
26
- children: label
27
- }),
28
- /*#__PURE__*/ _jsx(AdaptiveIconRenderer, {
29
- IconCompact: isActive ? Icon24DoneOutline : Icon24PenOutline,
30
- IconRegular: isActive ? Icon28DoneOutline : Icon28EditOutline
31
- })
32
- ]
23
+ label: platform === 'ios' ? label : label && /*#__PURE__*/ _jsx(VisuallyHidden, {
24
+ children: label
25
+ }),
26
+ children: platform !== 'ios' && /*#__PURE__*/ _jsx(AdaptiveIconRenderer, {
27
+ IconCompact: isActive ? Icon24DoneOutline : Icon24PenOutline,
28
+ IconRegular: isActive ? Icon28DoneOutline : Icon28EditOutline
33
29
  })
34
30
  }));
35
31
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon24DoneOutline,\n Icon24PenOutline,\n Icon28DoneOutline,\n Icon28EditOutline,\n} from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nexport interface PanelHeaderEditProps extends PanelHeaderButtonProps {\n /**\n * Включен ли режим редактирования\n */\n isActive?: boolean;\n /**\n * Текст кнопки, когда режим редактирования не активен. Визуально скрыт везде, кроме iOS\n */\n editLabel?: string;\n /**\n * Текст кнопки при активном режиме редактирования для выхода из него. Визуально скрыт везде, кроме iOS\n */\n doneLabel?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderEdit = ({\n isActive = false,\n editLabel = 'Редактировать',\n doneLabel = 'Готово',\n ...restProps\n}: PanelHeaderEditProps): React.ReactNode => {\n const platform = usePlatform();\n const label = isActive ? doneLabel : editLabel;\n\n return (\n <PanelHeaderButton {...restProps}>\n {platform === 'ios' ? (\n label\n ) : (\n <>\n <VisuallyHidden>{label}</VisuallyHidden>\n <AdaptiveIconRenderer\n IconCompact={isActive ? Icon24DoneOutline : Icon24PenOutline}\n IconRegular={isActive ? Icon28DoneOutline : Icon28EditOutline}\n />\n </>\n )}\n </PanelHeaderButton>\n );\n};\n"],"names":["React","Icon24DoneOutline","Icon24PenOutline","Icon28DoneOutline","Icon28EditOutline","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","PanelHeaderEdit","isActive","editLabel","doneLabel","restProps","platform","label","IconCompact","IconRegular"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,QACZ,mBAAmB;AAC1B,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAiBlE;;CAEC,GACD,OAAO,MAAMC,kBAAkB;QAAC,EAC9BC,WAAW,KAAK,EAChBC,YAAY,eAAe,EAC3BC,YAAY,QAAQ,EAEC,WADlBC;QAHHH;QACAC;QACAC;;IAGA,MAAME,WAAWT;IACjB,MAAMU,QAAQL,WAAWE,YAAYD;IAErC,qBACE,KAACJ,2DAAsBM;kBACpBC,aAAa,QACZC,sBAEA;;8BACE,KAACP;8BAAgBO;;8BACjB,KAACT;oBACCU,aAAaN,WAAWT,oBAAoBC;oBAC5Ce,aAAaP,WAAWP,oBAAoBC;;;;;AAMxD,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderEdit/PanelHeaderEdit.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport {\n Icon24DoneOutline,\n Icon24PenOutline,\n Icon28DoneOutline,\n Icon28EditOutline,\n} from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nexport interface PanelHeaderEditProps extends Omit<PanelHeaderButtonProps, 'label' | 'children'> {\n /**\n * Включен ли режим редактирования\n */\n isActive?: boolean;\n /**\n * Текст кнопки, когда режим редактирования не активен. Визуально скрыт везде, кроме iOS\n */\n editLabel?: string;\n /**\n * Текст кнопки при активном режиме редактирования для выхода из него. Визуально скрыт везде, кроме iOS\n */\n doneLabel?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderEdit = ({\n isActive = false,\n editLabel = 'Редактировать',\n doneLabel = 'Готово',\n ...restProps\n}: PanelHeaderEditProps): React.ReactNode => {\n const platform = usePlatform();\n const label = isActive ? doneLabel : editLabel;\n\n return (\n <PanelHeaderButton\n {...restProps}\n label={platform === 'ios' ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}\n >\n {platform !== 'ios' && (\n <AdaptiveIconRenderer\n IconCompact={isActive ? Icon24DoneOutline : Icon24PenOutline}\n IconRegular={isActive ? Icon28DoneOutline : Icon28EditOutline}\n />\n )}\n </PanelHeaderButton>\n );\n};\n"],"names":["React","Icon24DoneOutline","Icon24PenOutline","Icon28DoneOutline","Icon28EditOutline","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","PanelHeaderEdit","isActive","editLabel","doneLabel","restProps","platform","label","IconCompact","IconRegular"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,iBAAiB,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,QACZ,mBAAmB;AAC1B,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAiBlE;;CAEC,GACD,OAAO,MAAMC,kBAAkB;QAAC,EAC9BC,WAAW,KAAK,EAChBC,YAAY,eAAe,EAC3BC,YAAY,QAAQ,EAEC,WADlBC;QAHHH;QACAC;QACAC;;IAGA,MAAME,WAAWT;IACjB,MAAMU,QAAQL,WAAWE,YAAYD;IAErC,qBACE,KAACJ,2DACKM;QACJE,OAAOD,aAAa,QAAQC,QAAQA,uBAAS,KAACP;sBAAgBO;;kBAE7DD,aAAa,uBACZ,KAACR;YACCU,aAAaN,WAAWT,oBAAoBC;YAC5Ce,aAAaP,WAAWP,oBAAoBC;;;AAKtD,EAAE"}
@@ -1,6 +1,7 @@
1
1
  import { type PanelHeaderButtonProps } from '../PanelHeaderButton/PanelHeaderButton';
2
+ export type PanelHeaderSubmitProps = Omit<PanelHeaderButtonProps, 'children'>;
2
3
  /**
3
4
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
4
5
  */
5
- export declare const PanelHeaderSubmit: ({ children, ...restProps }: PanelHeaderButtonProps) => React.ReactNode;
6
+ export declare const PanelHeaderSubmit: ({ label, ...restProps }: PanelHeaderSubmitProps) => React.ReactNode;
6
7
  //# sourceMappingURL=PanelHeaderSubmit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PanelHeaderSubmit.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAGhD;;GAEG;AACH,eAAO,MAAM,iBAAiB,+BAG3B,sBAAsB,KAAG,KAAK,CAAC,SAejC,CAAC"}
1
+ {"version":3,"file":"PanelHeaderSubmit.d.ts","sourceRoot":"","sources":["../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wCAAwC,CAAC;AAGhD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,iBAAiB,4BAG3B,sBAAsB,KAAG,KAAK,CAAC,SAcjC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
5
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import { Icon24DoneOutline, Icon28DoneOutline } from "@vkontakte/icons";
7
7
  import { usePlatform } from "../../hooks/usePlatform.js";
8
8
  import { AdaptiveIconRenderer } from "../AdaptiveIconRenderer/AdaptiveIconRenderer.js";
@@ -11,23 +11,19 @@ import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
11
11
  /**
12
12
  * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
13
13
  */ export const PanelHeaderSubmit = (_param)=>{
14
- var { children = 'Готово' } = _param, restProps = _object_without_properties(_param, [
15
- "children"
14
+ var { label = 'Готово' } = _param, restProps = _object_without_properties(_param, [
15
+ "label"
16
16
  ]);
17
17
  const platform = usePlatform();
18
18
  return /*#__PURE__*/ _jsx(PanelHeaderButton, _object_spread_props(_object_spread({
19
- primary: true
19
+ primary: true,
20
+ label: platform === 'ios' ? label : label && /*#__PURE__*/ _jsx(VisuallyHidden, {
21
+ children: label
22
+ })
20
23
  }, restProps), {
21
- children: platform === 'ios' ? children : /*#__PURE__*/ _jsxs(_Fragment, {
22
- children: [
23
- /*#__PURE__*/ _jsx(VisuallyHidden, {
24
- children: children
25
- }),
26
- /*#__PURE__*/ _jsx(AdaptiveIconRenderer, {
27
- IconCompact: Icon24DoneOutline,
28
- IconRegular: Icon28DoneOutline
29
- })
30
- ]
24
+ children: platform !== 'ios' && /*#__PURE__*/ _jsx(AdaptiveIconRenderer, {
25
+ IconCompact: Icon24DoneOutline,
26
+ IconRegular: Icon28DoneOutline
31
27
  })
32
28
  }));
33
29
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"sourcesContent":["'use client';\n\nimport { Icon24DoneOutline, Icon28DoneOutline } from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderSubmit = ({\n children = 'Готово',\n ...restProps\n}: PanelHeaderButtonProps): React.ReactNode => {\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton primary {...restProps}>\n {platform === 'ios' ? (\n children\n ) : (\n <>\n <VisuallyHidden>{children}</VisuallyHidden>\n <AdaptiveIconRenderer IconCompact={Icon24DoneOutline} IconRegular={Icon28DoneOutline} />\n </>\n )}\n </PanelHeaderButton>\n );\n};\n"],"names":["Icon24DoneOutline","Icon28DoneOutline","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","PanelHeaderSubmit","children","restProps","platform","primary","IconCompact","IconRegular"],"mappings":"AAAA;;;;;AAEA,SAASA,iBAAiB,EAAEC,iBAAiB,QAAQ,mBAAmB;AACxE,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAElE;;CAEC,GACD,OAAO,MAAMC,oBAAoB;QAAC,EAChCC,WAAW,QAAQ,EAEI,WADpBC;QADHD;;IAGA,MAAME,WAAWP;IAEjB,qBACE,KAACE;QAAkBM,OAAO;OAAKF;kBAC5BC,aAAa,QACZF,yBAEA;;8BACE,KAACF;8BAAgBE;;8BACjB,KAACJ;oBAAqBQ,aAAaX;oBAAmBY,aAAaX;;;;;AAK7E,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx"],"sourcesContent":["'use client';\n\nimport { Icon24DoneOutline, Icon28DoneOutline } from '@vkontakte/icons';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport {\n PanelHeaderButton,\n type PanelHeaderButtonProps,\n} from '../PanelHeaderButton/PanelHeaderButton';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nexport type PanelHeaderSubmitProps = Omit<PanelHeaderButtonProps, 'children'>;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeaderButton\n */\nexport const PanelHeaderSubmit = ({\n label = 'Готово',\n ...restProps\n}: PanelHeaderSubmitProps): React.ReactNode => {\n const platform = usePlatform();\n\n return (\n <PanelHeaderButton\n primary\n label={platform === 'ios' ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}\n {...restProps}\n >\n {platform !== 'ios' && (\n <AdaptiveIconRenderer IconCompact={Icon24DoneOutline} IconRegular={Icon28DoneOutline} />\n )}\n </PanelHeaderButton>\n );\n};\n"],"names":["Icon24DoneOutline","Icon28DoneOutline","usePlatform","AdaptiveIconRenderer","PanelHeaderButton","VisuallyHidden","PanelHeaderSubmit","label","restProps","platform","primary","IconCompact","IconRegular"],"mappings":"AAAA;;;;;AAEA,SAASA,iBAAiB,EAAEC,iBAAiB,QAAQ,mBAAmB;AACxE,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,oBAAoB,QAAQ,kDAA+C;AACpF,SACEC,iBAAiB,QAEZ,4CAAyC;AAChD,SAASC,cAAc,QAAQ,sCAAmC;AAIlE;;CAEC,GACD,OAAO,MAAMC,oBAAoB;QAAC,EAChCC,QAAQ,QAAQ,EAEO,WADpBC;QADHD;;IAGA,MAAME,WAAWP;IAEjB,qBACE,KAACE;QACCM,OAAO;QACPH,OAAOE,aAAa,QAAQF,QAAQA,uBAAS,KAACF;sBAAgBE;;OAC1DC;kBAEHC,aAAa,uBACZ,KAACN;YAAqBQ,aAAaX;YAAmBY,aAAaX;;;AAI3E,EAAE"}
@@ -23,9 +23,13 @@ export interface PopoutWrapperProps extends HTMLAttributesWithRootRef<HTMLDivEle
23
23
  * Спрячет компонент через fade-out анимацию.
24
24
  */
25
25
  closing?: boolean;
26
+ /**
27
+ * Позволяет задать z-index через токен или числом
28
+ */
29
+ zIndex?: number | string;
26
30
  }
27
31
  /**
28
32
  * @see https://vkcom.github.io/VKUI/#/PopoutWrapper
29
33
  */
30
- export declare const PopoutWrapper: ({ alignY, alignX, closing, noBackground, fixed, children, onClick, ...restProps }: PopoutWrapperProps) => React.ReactNode;
34
+ export declare const PopoutWrapper: ({ alignY, alignX, closing, noBackground, fixed, children, onClick, zIndex, ...restProps }: PopoutWrapperProps) => React.ReactNode;
31
35
  //# sourceMappingURL=PopoutWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopoutWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAgB7D,MAAM,WAAW,kBAAmB,SAAQ,yBAAyB,CAAC,cAAc,CAAC;IACnF;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,sFASvB,kBAAkB,KAAG,KAAK,CAAC,SAmB7B,CAAC"}
1
+ {"version":3,"file":"PopoutWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAgB7D,MAAM,WAAW,kBAAmB,SAAQ,yBAAyB,CAAC,cAAc,CAAC;IACnF;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,8FAUvB,kBAAkB,KAAG,KAAK,CAAC,SAuB7B,CAAC"}
@@ -19,17 +19,21 @@ const stylesAlignY = {
19
19
  /**
20
20
  * @see https://vkcom.github.io/VKUI/#/PopoutWrapper
21
21
  */ export const PopoutWrapper = (_param)=>{
22
- var { alignY = 'center', alignX = 'center', closing = false, noBackground = false, fixed = true, children, onClick } = _param, restProps = _object_without_properties(_param, [
22
+ var { alignY = 'center', alignX = 'center', closing = false, noBackground = false, fixed = true, children, onClick, zIndex = 'var(--vkui--z_index_popout)' } = _param, restProps = _object_without_properties(_param, [
23
23
  "alignY",
24
24
  "alignX",
25
25
  "closing",
26
26
  "noBackground",
27
27
  "fixed",
28
28
  "children",
29
- "onClick"
29
+ "onClick",
30
+ "zIndex"
30
31
  ]);
31
32
  return /*#__PURE__*/ _jsx(RootComponent, _object_spread_props(_object_spread({}, restProps), {
32
33
  baseClassName: classNames("vkuiPopoutWrapper__host", stylesAlignY[alignY], stylesAlignX[alignX], closing ? "vkuiPopoutWrapper__closing" : "vkuiPopoutWrapper__opened", fixed && "vkuiPopoutWrapper__fixed", !noBackground && "vkuiPopoutWrapper__masked"),
34
+ style: _object_spread({
35
+ zIndex
36
+ }, restProps.style),
33
37
  children: /*#__PURE__*/ _jsxs("div", {
34
38
  className: "vkuiPopoutWrapper__container",
35
39
  children: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './PopoutWrapper.module.css';\n\nconst stylesAlignX = {\n center: styles.alignXCenter,\n left: styles.alignXLeft,\n right: styles.alignXRight,\n};\n\nconst stylesAlignY = {\n center: styles.alignYCenter,\n top: styles.alignYTop,\n bottom: styles.alignYBottom,\n};\n\nexport interface PopoutWrapperProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Позволяет сделать прозрачную подложку\n */\n noBackground?: boolean;\n /**\n * Включает фиксированное позиционирование.\n *\n * По умолчанию у компонента не задан никакой `position`.\n */\n fixed?: boolean;\n /**\n * Выравнивает контент по горизонтали.\n */\n alignX?: 'left' | 'center' | 'right';\n /**\n * Выравнивает контент по вертикали.\n */\n alignY?: 'top' | 'center' | 'bottom';\n /**\n * Спрячет компонент через fade-out анимацию.\n */\n closing?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PopoutWrapper\n */\nexport const PopoutWrapper = ({\n alignY = 'center',\n alignX = 'center',\n closing = false,\n noBackground = false,\n fixed = true,\n children,\n onClick,\n ...restProps\n}: PopoutWrapperProps): React.ReactNode => {\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n stylesAlignY[alignY],\n stylesAlignX[alignX],\n closing ? styles.closing : styles.opened,\n fixed && styles.fixed,\n !noBackground && styles.masked,\n )}\n >\n <div className={styles.container}>\n <div className={styles.overlay} onClick={onClick} />\n <div className={styles.content}>{children}</div>\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","RootComponent","stylesAlignX","center","left","right","stylesAlignY","top","bottom","PopoutWrapper","alignY","alignX","closing","noBackground","fixed","children","onClick","restProps","baseClassName","div","className"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAG/D,MAAMC,eAAe;IACnBC,MAAM;IACNC,IAAI;IACJC,KAAK;AACP;AAEA,MAAMC,eAAe;IACnBH,MAAM;IACNI,GAAG;IACHC,MAAM;AACR;AA2BA;;CAEC,GACD,OAAO,MAAMC,gBAAgB;QAAC,EAC5BC,SAAS,QAAQ,EACjBC,SAAS,QAAQ,EACjBC,UAAU,KAAK,EACfC,eAAe,KAAK,EACpBC,QAAQ,IAAI,EACZC,QAAQ,EACRC,OAAO,EAEY,WADhBC;QAPHP;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,KAACf,uDACKgB;QACJC,eAAelB,sCAEbM,YAAY,CAACI,OAAO,EACpBR,YAAY,CAACS,OAAO,EACpBC,sEACAE,qCACA,CAACD;kBAGH,cAAA,MAACM;YAAIC,SAAS;;8BACZ,KAACD;oBAAIC,SAAS;oBAAkBJ,SAASA;;8BACzC,KAACG;oBAAIC,SAAS;8BAAmBL;;;;;AAIzC,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/PopoutWrapper/PopoutWrapper.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './PopoutWrapper.module.css';\n\nconst stylesAlignX = {\n center: styles.alignXCenter,\n left: styles.alignXLeft,\n right: styles.alignXRight,\n};\n\nconst stylesAlignY = {\n center: styles.alignYCenter,\n top: styles.alignYTop,\n bottom: styles.alignYBottom,\n};\n\nexport interface PopoutWrapperProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Позволяет сделать прозрачную подложку\n */\n noBackground?: boolean;\n /**\n * Включает фиксированное позиционирование.\n *\n * По умолчанию у компонента не задан никакой `position`.\n */\n fixed?: boolean;\n /**\n * Выравнивает контент по горизонтали.\n */\n alignX?: 'left' | 'center' | 'right';\n /**\n * Выравнивает контент по вертикали.\n */\n alignY?: 'top' | 'center' | 'bottom';\n /**\n * Спрячет компонент через fade-out анимацию.\n */\n closing?: boolean;\n /**\n * Позволяет задать z-index через токен или числом\n */\n zIndex?: number | string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PopoutWrapper\n */\nexport const PopoutWrapper = ({\n alignY = 'center',\n alignX = 'center',\n closing = false,\n noBackground = false,\n fixed = true,\n children,\n onClick,\n zIndex = 'var(--vkui--z_index_popout)',\n ...restProps\n}: PopoutWrapperProps): React.ReactNode => {\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n stylesAlignY[alignY],\n stylesAlignX[alignX],\n closing ? styles.closing : styles.opened,\n fixed && styles.fixed,\n !noBackground && styles.masked,\n )}\n style={{\n zIndex,\n ...restProps.style,\n }}\n >\n <div className={styles.container}>\n <div className={styles.overlay} onClick={onClick} />\n <div className={styles.content}>{children}</div>\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","RootComponent","stylesAlignX","center","left","right","stylesAlignY","top","bottom","PopoutWrapper","alignY","alignX","closing","noBackground","fixed","children","onClick","zIndex","restProps","baseClassName","style","div","className"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,oCAAiC;AAG/D,MAAMC,eAAe;IACnBC,MAAM;IACNC,IAAI;IACJC,KAAK;AACP;AAEA,MAAMC,eAAe;IACnBH,MAAM;IACNI,GAAG;IACHC,MAAM;AACR;AA+BA;;CAEC,GACD,OAAO,MAAMC,gBAAgB;QAAC,EAC5BC,SAAS,QAAQ,EACjBC,SAAS,QAAQ,EACjBC,UAAU,KAAK,EACfC,eAAe,KAAK,EACpBC,QAAQ,IAAI,EACZC,QAAQ,EACRC,OAAO,EACPC,SAAS,6BAA6B,EAEnB,WADhBC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,KAAChB,uDACKiB;QACJC,eAAenB,sCAEbM,YAAY,CAACI,OAAO,EACpBR,YAAY,CAACS,OAAO,EACpBC,sEACAE,qCACA,CAACD;QAEHO,OAAO;YACLH;WACGC,UAAUE,KAAK;kBAGpB,cAAA,MAACC;YAAIC,SAAS;;8BACZ,KAACD;oBAAIC,SAAS;oBAAkBN,SAASA;;8BACzC,KAACK;oBAAIC,SAAS;8BAAmBP;;;;;AAIzC,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"PullToRefresh.d.ts","sourceRoot":"","sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,KAAK,QAAQ,EAAoD,MAAM,eAAe,CAAC;AAEhG,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,KAAK,sBAAsB,EAAa,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAqB/E,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,EAAE,UAAU,EAAE,WAAW;IAC3E;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc;IACd,MAAM,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,iEAMvB,kBAAkB,KAAG,KAAK,CAAC,SAiN7B,CAAC"}
1
+ {"version":3,"file":"PullToRefresh.d.ts","sourceRoot":"","sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,KAAK,QAAQ,EAAoD,MAAM,eAAe,CAAC;AAEhG,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,KAAK,sBAAsB,EAAa,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAqB/E,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,EAAE,UAAU,EAAE,WAAW;IAC3E;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc;IACd,MAAM,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,iEAMvB,kBAAkB,KAAG,KAAK,CAAC,SAqN7B,CAAC"}
@@ -7,7 +7,7 @@ import * as React from "react";
7
7
  import { classNames } from "@vkontakte/vkjs";
8
8
  import { clamp } from "../../helpers/math.js";
9
9
  import { usePlatform } from "../../hooks/usePlatform.js";
10
- import { usePrevious } from "../../hooks/usePrevious.js";
10
+ import { useStateWithPrev } from "../../hooks/useStateWithPrev.js";
11
11
  import { initializeBrowserGesturePreventionEffect, useDOM } from "../../lib/dom.js";
12
12
  import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect.js";
13
13
  import { useScroll } from "../AppRoot/ScrollContext.js";
@@ -40,7 +40,10 @@ function cancelEvent(event) {
40
40
  const platform = usePlatform();
41
41
  const scroll = useScroll();
42
42
  const { window } = useDOM();
43
- const prevIsFetching = usePrevious(isFetching);
43
+ const prevIsFetchingRef = React.useRef(undefined);
44
+ React.useEffect(()=>{
45
+ prevIsFetchingRef.current = isFetching;
46
+ });
44
47
  const initParams = React.useMemo(()=>({
45
48
  start: platform === 'ios' ? -10 : -45,
46
49
  max: platform === 'ios' ? 50 : 80,
@@ -54,8 +57,7 @@ function cancelEvent(event) {
54
57
  const [watching, setWatching] = React.useState(false);
55
58
  const [refreshing, setRefreshing] = React.useState(false);
56
59
  const [canRefresh, setCanRefresh] = React.useState(false);
57
- const [touchDown, setTouchDown] = React.useState(false);
58
- const prevTouchDown = usePrevious(touchDown);
60
+ const [[touchDown, prevTouchDown], setTouchDown] = useStateWithPrev(false);
59
61
  const touchY = React.useRef(0);
60
62
  const [contentShift, setContentShift] = React.useState(0);
61
63
  const [spinnerProgress, setSpinnerProgress] = React.useState(0);
@@ -79,21 +81,21 @@ function cancelEvent(event) {
79
81
  ]);
80
82
  const waitFetchingTimeoutId = React.useRef();
81
83
  useIsomorphicLayoutEffect(()=>{
84
+ const prevIsFetching = prevIsFetchingRef.current;
82
85
  if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {
83
86
  onRefreshingFinish();
84
87
  }
85
88
  }, [
86
- prevIsFetching,
87
89
  isFetching,
88
90
  onRefreshingFinish
89
91
  ]);
90
92
  useIsomorphicLayoutEffect(()=>{
93
+ const prevIsFetching = prevIsFetchingRef.current;
91
94
  if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {
92
95
  clearTimeout(waitFetchingTimeoutId.current);
93
96
  }
94
97
  }, [
95
- isFetching,
96
- prevIsFetching
98
+ isFetching
97
99
  ]);
98
100
  const runRefreshing = React.useCallback(()=>{
99
101
  if (!refreshing && onRefresh) {
@@ -128,7 +130,6 @@ function cancelEvent(event) {
128
130
  }
129
131
  }, [
130
132
  initParams,
131
- prevIsFetching,
132
133
  isFetching,
133
134
  onRefreshingFinish,
134
135
  prevTouchDown,