@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/index.ts"],"sourcesContent":["import './styles/constants.css';\nimport './styles/adaptivity.module.css';\nimport './styles/dynamicTokens.css';\nimport './styles/focusVisible.module.css';\nimport './styles/animationFades.module.css';\nimport './styles/transformOriginByPlacement.module.css';\nimport './styles/gaps.module.css';\n\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { AppRootPortal } from './components/AppRoot/AppRootPortal';\nexport type { AppRootProps } from './components/AppRoot/AppRoot';\nexport type { SafeAreaInsets } from './components/AppRoot/types';\n\n/**\n * Typography\n */\nexport type { TypographyProps } from './components/Typography/Typography';\nexport { DisplayTitle } from './components/Typography/DisplayTitle/DisplayTitle';\nexport type { DisplayTitleProps } from './components/Typography/DisplayTitle/DisplayTitle';\nexport { Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { Paragraph } from './components/Typography/Paragraph/Paragraph';\nexport type { ParagraphProps } from './components/Typography/Paragraph/Paragraph';\nexport { Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\nexport { Footnote } from './components/Typography/Footnote/Footnote';\nexport type { FootnoteProps } from './components/Typography/Footnote/Footnote';\nexport { Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { EllipsisText } from './components/Typography/EllipsisText/EllipsisText';\nexport type { EllipsisTextProps } from './components/Typography/EllipsisText/EllipsisText';\n/**\n * Service\n */\nexport { UnstyledTextField } from './components/UnstyledTextField/UnstyledTextField';\nexport type {\n UnstyledTextFieldAsInputProps,\n UnstyledTextFieldAsTextareaProps,\n UnstyledTextFieldBaseProps,\n UnstyledTextFieldProps,\n} from './components/UnstyledTextField/UnstyledTextField';\nexport { Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\nexport {\n ImageBaseContext,\n ImageBase,\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './components/ImageBase/ImageBase';\nexport type {\n ImageBaseProps,\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n} from './components/ImageBase/ImageBase';\n\n/**\n * Primitives\n */\nexport { Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { ToolButton } from './components/ToolButton/ToolButton';\nexport type { ToolButtonProps } from './components/ToolButton/ToolButton';\n\n/**\n * Layout\n */\nexport { Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { ScrollArrow } from './components/ScrollArrow/ScrollArrow';\nexport type { ScrollArrowProps } from './components/ScrollArrow/ScrollArrow';\nexport { HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { AspectRatio } from './components/AspectRatio/AspectRatio';\nexport type { AspectRatioProps } from './components/AspectRatio/AspectRatio';\nexport { Flex } from './components/Flex/Flex';\nexport type { FlexProps } from './components/Flex/Flex';\nexport type { FlexItemProps } from './components/Flex/FlexItem/FlexItem';\nexport { SimpleGrid } from './components/SimpleGrid/SimpleGrid';\nexport type { SimpleGridProps } from './components/SimpleGrid/SimpleGrid';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type {\n ActionSheetProps,\n ActionSheetOnCloseOptions,\n} from './components/ActionSheet/ActionSheet';\nexport { ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { ActionSheetDefaultIosCloseItem } from './components/ActionSheet/ActionSheetDefaultIosCloseItem';\nexport { ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport { ScreenSpinnerContext } from './components/ScreenSpinner/context';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerContextProps } from './components/ScreenSpinner/context';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\nexport { Tooltip } from './components/Tooltip/Tooltip';\nexport type {\n TooltipProps,\n TooltipOnShownChange,\n TooltipArrowProps,\n} from './components/Tooltip/Tooltip';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRootAdaptive';\nexport type { ModalRootProps } from './components/ModalRoot/types';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps } from './components/ModalPage/ModalPage';\nexport { ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps } from './components/ModalCard/ModalCard';\nexport { ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { ContentBadge } from './components/ContentBadge/ContentBadge';\nexport type { ContentBadgeProps } from './components/ContentBadge/ContentBadge';\nexport { ButtonGroup } from './components/ButtonGroup/ButtonGroup';\nexport type { ButtonGroupProps } from './components/ButtonGroup/ButtonGroup';\nexport { Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { List } from './components/List/List';\nexport type { ListProps } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport type { CellCheckboxProps } from './components/Cell/CellCheckbox/CellCheckbox';\nexport { RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { HorizontalCellShowMore } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport type { HorizontalCellShowMoreProps } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport { Footer } from './components/Footer/Footer';\nexport type { FooterProps } from './components/Footer/Footer';\nexport { InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { Avatar } from './components/Avatar/Avatar';\nexport type { GetInitialsFontSizeType } from './components/Avatar/helpers';\nexport type {\n AvatarProps,\n AvatarBadgeProps,\n AvatarBadgeWithPresetProps,\n AvatarOverlayProps,\n} from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps, GridAvatarBadgeProps } from './components/GridAvatar/GridAvatar';\nexport { Image } from './components/Image/Image';\nexport type { ImageProps, ImageBadgeProps, ImageOverlayProps } from './components/Image/Image';\nexport { Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { Search } from './components/Search/Search';\nexport type { SearchProps, RenderIconButtonFn } from './components/Search/Search';\nexport { Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { Mark } from './components/Mark/Mark';\nexport type { MarkProps } from './components/Mark/Mark';\nexport { OnboardingTooltip } from './components/OnboardingTooltip/OnboardingTooltip';\nexport type { OnboardingTooltipProps } from './components/OnboardingTooltip/OnboardingTooltip';\nexport { OnboardingTooltipContainer } from './components/OnboardingTooltip/OnboardingTooltipContainer';\nexport { Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { UsersStack } from './components/UsersStack/UsersStack';\nexport type {\n UsersStackProps,\n UsersStackPhoto,\n UsersStackRenderWrapperProps,\n} from './components/UsersStack/UsersStack';\nexport { Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { Placeholder } from './components/Placeholder/Placeholder';\nexport type {\n PlaceholderProps,\n PlaceholderContainerProps,\n PlaceholderIconProps,\n PlaceholderTitleProps,\n PlaceholderDescriptionProps,\n PlaceholderActionsProps,\n} from './components/Placeholder/Placeholder';\nexport { Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\nexport { Pagination } from './components/Pagination/Pagination';\nexport type { PaginationProps } from './components/Pagination/Pagination';\nexport type { CustomPaginationPageButtonProps } from './components/Pagination/PaginationPage/PaginationPageButton';\nexport type { CustomPaginationNavigationButton } from './components/Pagination/PaginationNavigationButton/PaginationNavigationButton';\nexport { Accordion } from './components/Accordion/Accordion';\nexport type { AccordionProps } from './components/Accordion/Accordion';\nexport type { AccordionSummaryProps } from './components/Accordion/AccordionSummary';\nexport type { AccordionContentProps } from './components/Accordion/AccordionContent';\n\n/**\n * Forms\n */\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemTopProps } from './components/FormItem/FormItemTop/FormItemTop';\nexport type { FormItemTopLabelProps } from './components/FormItem/FormItemTop/FormItemTopLabel';\nexport type { FormItemTopAsideProps } from './components/FormItem/FormItemTop/FormItemTopAside';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps, FieldIconsAlign } from './components/FormField/FormField';\nexport { FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { DropZone } from './components/DropZone/DropZone';\nexport type { DropZoneProps } from './components/DropZone/DropZone';\nexport { Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport { Chip } from './components/ChipsInputBase/Chip/Chip';\nexport type {\n ChipProps,\n ChipOption,\n RenderChipProps,\n ChipOptionValue,\n ChipOptionLabel,\n} from './components/ChipsInputBase/types';\nexport { ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { ChipsSelect } from './components/ChipsSelect/ChipsSelect';\nexport type { ChipsSelectProps } from './components/ChipsSelect/ChipsSelect';\nexport type { FormFieldClearButtonProps } from './components/FormFieldClearButton/FormFieldClearButton';\nexport { Slider } from './components/Slider/Slider';\nexport type { SliderBaseProps, SliderProps, SliderMultipleProps } from './components/Slider/Slider';\nexport { Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { SelectionControl } from './components/SelectionControl/SelectionControl';\nexport type { SelectionControlProps } from './components/SelectionControl/SelectionControl';\nexport { Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { RadioGroup } from './components/RadioGroup/RadioGroup';\nexport type { RadioGroupProps } from './components/RadioGroup/RadioGroup';\nexport { Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport type { CheckboxInputIconType } from './components/Checkbox/CheckboxInput/CheckboxInput';\nexport { Select } from './components/Select/Select';\nexport { SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type {\n SelectProps,\n CustomSelectOptionInterface,\n CustomSelectRenderOption,\n CustomSelectClearButtonProps,\n} from './components/CustomSelect/CustomSelect';\nexport { CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { SegmentedControl } from './components/SegmentedControl/SegmentedControl';\nexport type {\n SegmentedControlProps,\n SegmentedControlOptionInterface,\n SegmentedControlValue,\n} from './components/SegmentedControl/SegmentedControl';\nexport { Calendar } from './components/Calendar/Calendar';\nexport type { CalendarProps } from './components/Calendar/Calendar';\nexport { CalendarRange } from './components/CalendarRange/CalendarRange';\nexport type { CalendarRangeProps } from './components/CalendarRange/CalendarRange';\nexport { DateInput } from './components/DateInput/DateInput';\nexport type { DateInputProps } from './components/DateInput/DateInput';\nexport { DateRangeInput } from './components/DateRangeInput/DateRangeInput';\nexport type { DateRangeInputProps } from './components/DateRangeInput/DateRangeInput';\nexport { Skeleton } from './components/Skeleton/Skeleton';\nexport type { SkeletonProps } from './components/Skeleton/Skeleton';\n\n/**\n * Helpers\n */\nexport { Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps, CustomTouchEvent } from './components/Touch/Touch';\nexport { PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport type { PanelHeaderBackProps } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\nexport { VisuallyHidden } from './components/VisuallyHidden/VisuallyHidden';\nexport type { VisuallyHiddenProps } from './components/VisuallyHidden/VisuallyHidden';\nexport { AdaptiveIconRenderer } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\nexport type { AdaptiveIconRendererProps } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\n\n/**\n * Wrappers\n */\nexport { AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport type { AdaptivityProviderProps } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n useConfigProvider,\n ConfigProviderContext,\n} from './components/ConfigProvider/ConfigProviderContext';\nexport { ColorSchemeProvider } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport type { ColorSchemeProviderProps } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport { ColorScheme } from './lib/colorScheme';\nexport type { ColorSchemeType } from './lib/colorScheme';\nexport { LocaleProvider } from './components/LocaleProvider/LocaleProvider';\nexport type { LocaleProviderProps } from './components/LocaleProvider/LocaleProvider';\nexport { PlatformProvider } from './components/PlatformProvider/PlatformProvider';\nexport type { PlatformProviderProps } from './components/PlatformProvider/PlatformProvider';\nexport { Popover } from './components/Popover/Popover';\nexport type {\n PopoverProps,\n PopoverOnShownChange,\n PopoverArrowProps,\n PopoverContentRenderProp,\n} from './components/Popover/Popover';\n\n/**\n * HOCs\n */\nexport { withPlatform } from './hoc/withPlatform';\n\n/**\n * Hooks\n */\nexport { usePlatform } from './hooks/usePlatform';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport {\n type UseAdaptivityConditionalRender,\n useAdaptivityConditionalRender,\n} from './hooks/useAdaptivityConditionalRender';\nexport {\n type UseAdaptivityWithJSMediaQueries,\n useAdaptivityWithJSMediaQueries,\n} from './hooks/useAdaptivityWithJSMediaQueries';\nexport { useColorScheme } from './hooks/useColorScheme';\nexport { usePagination } from './hooks/usePagination';\nexport { type Orientation, useOrientationChange } from './hooks/useOrientationChange';\nexport { usePatchChildren } from './hooks/usePatchChildren';\nexport { useTodayDate } from './hooks/useTodayDate';\nexport { useScrollLock } from './components/AppRoot/ScrollContext';\nexport { useNavTransition } from './components/NavTransitionContext/NavTransitionContext';\nexport { useNavDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useNavId } from './components/NavIdContext/useNavId';\nexport type { TransitionDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useModalRootContext } from './components/ModalRoot/useModalRootContext';\n\n/**\n * Utils\n */\nexport { classNames } from '@vkontakte/vkjs';\nexport { animate } from './lib/animate';\nexport { defaultFilterFn as filterFnForSelect } from './lib/select';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport type { SSRWrapperProps } from './lib/SSR';\nexport { platform, Platform } from './lib/platform';\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n getViewWidthByViewportWidth,\n getViewHeightByViewportHeight,\n} from './lib/adaptivity';\nexport {\n type Placement as FloatingPlacement,\n type PlacementWithAuto as FloatingPlacementWithAuto,\n} from './lib/floating';\nexport type { AdaptivityProps } from './components/AdaptivityProvider/AdaptivityContext';\nexport { calcInitialsAvatarColor } from './helpers/avatar';\nexport { CustomScrollView } from './components/CustomScrollView/CustomScrollView';\nexport type { CustomScrollViewProps } from './components/CustomScrollView/CustomScrollView';\nexport { Popper } from './components/Popper/Popper';\nexport type { PopperProps } from './components/Popper/Popper';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasRef, HasRootRef } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { TransitionContextProps } from './components/NavTransitionContext/NavTransitionContext';\n\n/**\n * Unstable\n */\nexport { ViewInfinite as unstable_ViewInfinite } from './components/View/ViewInfinite';\nexport type { ViewInfiniteProps as unstable_ViewInfiniteProps } from './components/View/ViewInfinite';\n\nimport './styles/common.css';\n"],"names":["AppRoot","AppRootPortal","DisplayTitle","Title","Headline","Text","Paragraph","Subhead","Footnote","Caption","EllipsisText","UnstyledTextField","Tappable","FixedLayout","ImageBaseContext","ImageBase","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","Button","IconButton","ToolButton","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","ScrollArrow","HorizontalScroll","AspectRatio","Flex","SimpleGrid","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ActionSheetDefaultIosCloseItem","ScreenSpinner","ScreenSpinnerContext","Snackbar","Tooltip","ModalRoot","withModalRootContext","ModalRootContext","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","Badge","ContentBadge","ButtonGroup","Card","CardGrid","CardScroll","ContentCard","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","CellButton","HorizontalCell","HorizontalCellShowMore","Footer","InfoRow","Gallery","Avatar","GridAvatar","Image","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Mark","OnboardingTooltip","OnboardingTooltipContainer","Counter","UsersStack","Separator","Spacing","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","Pagination","Accordion","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","DropZone","Input","Chip","ChipsInput","ChipsSelect","Slider","Textarea","SelectionControl","Radio","RadioGroup","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","SegmentedControl","Calendar","CalendarRange","DateInput","DateRangeInput","Skeleton","Div","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","VisuallyHidden","AdaptiveIconRenderer","AdaptivityProvider","ConfigProvider","useConfigProvider","ConfigProviderContext","ColorSchemeProvider","ColorScheme","LocaleProvider","PlatformProvider","Popover","withPlatform","usePlatform","useAdaptivity","useAdaptivityConditionalRender","useAdaptivityWithJSMediaQueries","useColorScheme","usePagination","useOrientationChange","usePatchChildren","useTodayDate","useScrollLock","useNavTransition","useNavDirection","useNavId","useModalRootContext","classNames","animate","defaultFilterFn","filterFnForSelect","removeObjectKeys","SSRWrapper","platform","Platform","ViewWidth","ViewHeight","SizeType","getViewWidthByViewportWidth","getViewHeightByViewportHeight","calcInitialsAvatarColor","CustomScrollView","Popper","ViewInfinite","unstable_ViewInfinite"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import './styles/constants.css';\nimport './styles/adaptivity.module.css';\nimport './styles/dynamicTokens.css';\nimport './styles/focusVisible.module.css';\nimport './styles/animationFades.module.css';\nimport './styles/transformOriginByPlacement.module.css';\nimport './styles/gaps.module.css';\n\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { AppRootPortal } from './components/AppRoot/AppRootPortal';\nexport type { AppRootProps } from './components/AppRoot/AppRoot';\nexport type { SafeAreaInsets } from './components/AppRoot/types';\n\n/**\n * Typography\n */\nexport type { TypographyProps } from './components/Typography/Typography';\nexport { DisplayTitle } from './components/Typography/DisplayTitle/DisplayTitle';\nexport type { DisplayTitleProps } from './components/Typography/DisplayTitle/DisplayTitle';\nexport { Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { Paragraph } from './components/Typography/Paragraph/Paragraph';\nexport type { ParagraphProps } from './components/Typography/Paragraph/Paragraph';\nexport { Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\nexport { Footnote } from './components/Typography/Footnote/Footnote';\nexport type { FootnoteProps } from './components/Typography/Footnote/Footnote';\nexport { Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { EllipsisText } from './components/Typography/EllipsisText/EllipsisText';\nexport type { EllipsisTextProps } from './components/Typography/EllipsisText/EllipsisText';\n/**\n * Service\n */\nexport { UnstyledTextField } from './components/UnstyledTextField/UnstyledTextField';\nexport type {\n UnstyledTextFieldAsInputProps,\n UnstyledTextFieldAsTextareaProps,\n UnstyledTextFieldBaseProps,\n UnstyledTextFieldProps,\n} from './components/UnstyledTextField/UnstyledTextField';\nexport { Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\nexport {\n ImageBaseContext,\n ImageBase,\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './components/ImageBase/ImageBase';\nexport type {\n ImageBaseProps,\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n} from './components/ImageBase/ImageBase';\n\n/**\n * Primitives\n */\nexport { Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { ToolButton } from './components/ToolButton/ToolButton';\nexport type { ToolButtonProps } from './components/ToolButton/ToolButton';\n\n/**\n * Layout\n */\nexport { Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { ScrollArrow } from './components/ScrollArrow/ScrollArrow';\nexport type { ScrollArrowProps } from './components/ScrollArrow/ScrollArrow';\nexport { HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { AspectRatio } from './components/AspectRatio/AspectRatio';\nexport type { AspectRatioProps } from './components/AspectRatio/AspectRatio';\nexport { Flex } from './components/Flex/Flex';\nexport type { FlexProps } from './components/Flex/Flex';\nexport type { FlexItemProps } from './components/Flex/FlexItem/FlexItem';\nexport { SimpleGrid } from './components/SimpleGrid/SimpleGrid';\nexport type { SimpleGridProps } from './components/SimpleGrid/SimpleGrid';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type {\n ActionSheetProps,\n ActionSheetOnCloseOptions,\n} from './components/ActionSheet/ActionSheet';\nexport { ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { ActionSheetDefaultIosCloseItem } from './components/ActionSheet/ActionSheetDefaultIosCloseItem';\nexport { ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport { ScreenSpinnerContext } from './components/ScreenSpinner/context';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerContextProps } from './components/ScreenSpinner/context';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\nexport { Tooltip } from './components/Tooltip/Tooltip';\nexport type {\n TooltipProps,\n TooltipOnShownChange,\n TooltipArrowProps,\n} from './components/Tooltip/Tooltip';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRoot';\nexport type {\n ModalRootProps,\n ModalRootContextInterface,\n UseModalRootContext,\n} from './components/ModalRoot/types';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { useModalRootContext } from './components/ModalRoot/useModalRootContext';\nexport { ModalPageContent } from './components/ModalPageContent/ModalPageContent';\nexport { ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps } from './components/ModalPage/types';\nexport { ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps } from './components/ModalCard/types';\nexport { ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { ContentBadge } from './components/ContentBadge/ContentBadge';\nexport type { ContentBadgeProps } from './components/ContentBadge/ContentBadge';\nexport { ButtonGroup } from './components/ButtonGroup/ButtonGroup';\nexport type { ButtonGroupProps } from './components/ButtonGroup/ButtonGroup';\nexport { Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { List } from './components/List/List';\nexport type { ListProps } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport type { CellCheckboxProps } from './components/Cell/CellCheckbox/CellCheckbox';\nexport { RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { HorizontalCellShowMore } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport type { HorizontalCellShowMoreProps } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport { Footer } from './components/Footer/Footer';\nexport type { FooterProps } from './components/Footer/Footer';\nexport { InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { Avatar } from './components/Avatar/Avatar';\nexport type { GetInitialsFontSizeType } from './components/Avatar/helpers';\nexport type {\n AvatarProps,\n AvatarBadgeProps,\n AvatarBadgeWithPresetProps,\n AvatarOverlayProps,\n} from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps, GridAvatarBadgeProps } from './components/GridAvatar/GridAvatar';\nexport { Image } from './components/Image/Image';\nexport type { ImageProps, ImageBadgeProps, ImageOverlayProps } from './components/Image/Image';\nexport { Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { Search } from './components/Search/Search';\nexport type { SearchProps, RenderIconButtonFn } from './components/Search/Search';\nexport { Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { Mark } from './components/Mark/Mark';\nexport type { MarkProps } from './components/Mark/Mark';\nexport { OnboardingTooltip } from './components/OnboardingTooltip/OnboardingTooltip';\nexport type { OnboardingTooltipProps } from './components/OnboardingTooltip/OnboardingTooltip';\nexport { OnboardingTooltipContainer } from './components/OnboardingTooltip/OnboardingTooltipContainer';\nexport { Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { UsersStack } from './components/UsersStack/UsersStack';\nexport type {\n UsersStackProps,\n UsersStackPhoto,\n UsersStackRenderWrapperProps,\n} from './components/UsersStack/UsersStack';\nexport { Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { Placeholder } from './components/Placeholder/Placeholder';\nexport type {\n PlaceholderProps,\n PlaceholderContainerProps,\n PlaceholderIconProps,\n PlaceholderTitleProps,\n PlaceholderDescriptionProps,\n PlaceholderActionsProps,\n} from './components/Placeholder/Placeholder';\nexport { Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\nexport { Pagination } from './components/Pagination/Pagination';\nexport type { PaginationProps } from './components/Pagination/Pagination';\nexport type { CustomPaginationPageButtonProps } from './components/Pagination/PaginationPage/PaginationPageButton';\nexport type { CustomPaginationNavigationButton } from './components/Pagination/PaginationNavigationButton/PaginationNavigationButton';\nexport { Accordion } from './components/Accordion/Accordion';\nexport type { AccordionProps } from './components/Accordion/Accordion';\nexport type { AccordionSummaryProps } from './components/Accordion/AccordionSummary';\nexport type { AccordionContentProps } from './components/Accordion/AccordionContent';\n\n/**\n * Forms\n */\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemTopProps } from './components/FormItem/FormItemTop/FormItemTop';\nexport type { FormItemTopLabelProps } from './components/FormItem/FormItemTop/FormItemTopLabel';\nexport type { FormItemTopAsideProps } from './components/FormItem/FormItemTop/FormItemTopAside';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps, FieldIconsAlign } from './components/FormField/FormField';\nexport { FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { DropZone } from './components/DropZone/DropZone';\nexport type { DropZoneProps } from './components/DropZone/DropZone';\nexport { Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport { Chip } from './components/ChipsInputBase/Chip/Chip';\nexport type {\n ChipProps,\n ChipOption,\n RenderChipProps,\n ChipOptionValue,\n ChipOptionLabel,\n} from './components/ChipsInputBase/types';\nexport { ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { ChipsSelect } from './components/ChipsSelect/ChipsSelect';\nexport type { ChipsSelectProps } from './components/ChipsSelect/ChipsSelect';\nexport type { FormFieldClearButtonProps } from './components/FormFieldClearButton/FormFieldClearButton';\nexport { Slider } from './components/Slider/Slider';\nexport type { SliderBaseProps, SliderProps, SliderMultipleProps } from './components/Slider/Slider';\nexport { Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { SelectionControl } from './components/SelectionControl/SelectionControl';\nexport type { SelectionControlProps } from './components/SelectionControl/SelectionControl';\nexport { Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { RadioGroup } from './components/RadioGroup/RadioGroup';\nexport type { RadioGroupProps } from './components/RadioGroup/RadioGroup';\nexport { Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport type { CheckboxInputIconType } from './components/Checkbox/CheckboxInput/CheckboxInput';\nexport { Select } from './components/Select/Select';\nexport { SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type {\n SelectProps,\n CustomSelectOptionInterface,\n CustomSelectRenderOption,\n CustomSelectClearButtonProps,\n} from './components/CustomSelect/CustomSelect';\nexport { CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { SegmentedControl } from './components/SegmentedControl/SegmentedControl';\nexport type {\n SegmentedControlProps,\n SegmentedControlOptionInterface,\n SegmentedControlValue,\n} from './components/SegmentedControl/SegmentedControl';\nexport { Calendar } from './components/Calendar/Calendar';\nexport type { CalendarProps } from './components/Calendar/Calendar';\nexport { CalendarRange } from './components/CalendarRange/CalendarRange';\nexport type { CalendarRangeProps } from './components/CalendarRange/CalendarRange';\nexport { DateInput } from './components/DateInput/DateInput';\nexport type { DateInputProps } from './components/DateInput/DateInput';\nexport { DateRangeInput } from './components/DateRangeInput/DateRangeInput';\nexport type { DateRangeInputProps } from './components/DateRangeInput/DateRangeInput';\nexport { Skeleton } from './components/Skeleton/Skeleton';\nexport type { SkeletonProps } from './components/Skeleton/Skeleton';\n\n/**\n * Helpers\n */\nexport { Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport {\n DEFAULT_ARROW_HEIGHT,\n DEFAULT_ARROW_WIDTH,\n DEFAULT_ARROW_PADDING,\n DefaultIcon,\n} from './components/FloatingArrow/DefaultIcon';\nexport { FloatingArrow } from './components/FloatingArrow/FloatingArrow';\nexport type { FloatingArrowProps } from './components/FloatingArrow/FloatingArrow';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps, CustomTouchEvent } from './components/Touch/Touch';\nexport { PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport type { PanelHeaderCloseProps } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport type { PanelHeaderBackProps } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport type { PanelHeaderSubmitProps } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\nexport { VisuallyHidden } from './components/VisuallyHidden/VisuallyHidden';\nexport type { VisuallyHiddenProps } from './components/VisuallyHidden/VisuallyHidden';\nexport { AdaptiveIconRenderer } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\nexport type { AdaptiveIconRendererProps } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\n\n/**\n * Wrappers\n */\nexport { AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport type { AdaptivityProviderProps } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n useConfigProvider,\n ConfigProviderContext,\n} from './components/ConfigProvider/ConfigProviderContext';\nexport { ColorSchemeProvider } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport type { ColorSchemeProviderProps } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport { ColorScheme } from './lib/colorScheme';\nexport type { ColorSchemeType } from './lib/colorScheme';\nexport { LocaleProvider } from './components/LocaleProvider/LocaleProvider';\nexport type { LocaleProviderProps } from './components/LocaleProvider/LocaleProvider';\nexport { PlatformProvider } from './components/PlatformProvider/PlatformProvider';\nexport type { PlatformProviderProps } from './components/PlatformProvider/PlatformProvider';\nexport { Popover } from './components/Popover/Popover';\nexport type {\n PopoverProps,\n PopoverOnShownChange,\n PopoverArrowProps,\n PopoverContentRenderProp,\n} from './components/Popover/Popover';\n\n/**\n * HOCs\n */\nexport { withPlatform } from './hoc/withPlatform';\n\n/**\n * Hooks\n */\nexport { usePlatform } from './hooks/usePlatform';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport {\n type UseAdaptivityConditionalRender,\n useAdaptivityConditionalRender,\n} from './hooks/useAdaptivityConditionalRender';\nexport {\n type UseAdaptivityWithJSMediaQueries,\n useAdaptivityWithJSMediaQueries,\n} from './hooks/useAdaptivityWithJSMediaQueries';\nexport { useColorScheme } from './hooks/useColorScheme';\nexport { usePagination } from './hooks/usePagination';\nexport { type Orientation, useOrientationChange } from './hooks/useOrientationChange';\nexport { usePatchChildren } from './hooks/usePatchChildren';\nexport { useTodayDate } from './hooks/useTodayDate';\nexport { useScrollLock } from './components/AppRoot/ScrollContext';\nexport { useNavTransition } from './components/NavTransitionContext/NavTransitionContext';\nexport { useNavDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useNavId } from './components/NavIdContext/useNavId';\nexport type { TransitionDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\n\n/**\n * Utils\n */\nexport { classNames } from '@vkontakte/vkjs';\nexport { animate } from './lib/animate';\nexport { defaultFilterFn as filterFnForSelect } from './lib/select';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport type { SSRWrapperProps } from './lib/SSR';\nexport { platform, Platform } from './lib/platform';\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n getViewWidthByViewportWidth,\n getViewHeightByViewportHeight,\n} from './lib/adaptivity';\nexport {\n type Placement as FloatingPlacement,\n type PlacementWithAuto as FloatingPlacementWithAuto,\n} from './lib/floating';\nexport type { AdaptivityProps } from './components/AdaptivityProvider/AdaptivityContext';\nexport { calcInitialsAvatarColor } from './helpers/avatar';\nexport { CustomScrollView } from './components/CustomScrollView/CustomScrollView';\nexport type { CustomScrollViewProps } from './components/CustomScrollView/CustomScrollView';\nexport { Popper } from './components/Popper/Popper';\nexport type { PopperProps } from './components/Popper/Popper';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasRef, HasRootRef } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { TransitionContextProps } from './components/NavTransitionContext/NavTransitionContext';\n\n/**\n * Unstable\n */\nexport { ViewInfinite as unstable_ViewInfinite } from './components/View/ViewInfinite';\nexport type { ViewInfiniteProps as unstable_ViewInfiniteProps } from './components/View/ViewInfinite';\nexport { ModalPageFooter as unstable_ModalPageFooter } from './components/ModalPageFooter/ModalPageFooter';\nexport type { ModalPageFooterProps as unstable_ModalPageFooterProps } from './components/ModalPageFooter/ModalPageFooter';\n\nimport './styles/common.css';\n"],"names":["AppRoot","AppRootPortal","DisplayTitle","Title","Headline","Text","Paragraph","Subhead","Footnote","Caption","EllipsisText","UnstyledTextField","Tappable","FixedLayout","ImageBaseContext","ImageBase","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","Button","IconButton","ToolButton","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","ScrollArrow","HorizontalScroll","AspectRatio","Flex","SimpleGrid","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ActionSheetDefaultIosCloseItem","ScreenSpinner","ScreenSpinnerContext","Snackbar","Tooltip","ModalRoot","withModalRootContext","ModalRootContext","useModalRootContext","ModalPageContent","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","Badge","ContentBadge","ButtonGroup","Card","CardGrid","CardScroll","ContentCard","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","CellButton","HorizontalCell","HorizontalCellShowMore","Footer","InfoRow","Gallery","Avatar","GridAvatar","Image","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Mark","OnboardingTooltip","OnboardingTooltipContainer","Counter","UsersStack","Separator","Spacing","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","Pagination","Accordion","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","DropZone","Input","Chip","ChipsInput","ChipsSelect","Slider","Textarea","SelectionControl","Radio","RadioGroup","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","SegmentedControl","Calendar","CalendarRange","DateInput","DateRangeInput","Skeleton","Div","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_WIDTH","DEFAULT_ARROW_PADDING","DefaultIcon","FloatingArrow","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","VisuallyHidden","AdaptiveIconRenderer","AdaptivityProvider","ConfigProvider","useConfigProvider","ConfigProviderContext","ColorSchemeProvider","ColorScheme","LocaleProvider","PlatformProvider","Popover","withPlatform","usePlatform","useAdaptivity","useAdaptivityConditionalRender","useAdaptivityWithJSMediaQueries","useColorScheme","usePagination","useOrientationChange","usePatchChildren","useTodayDate","useScrollLock","useNavTransition","useNavDirection","useNavId","classNames","animate","defaultFilterFn","filterFnForSelect","removeObjectKeys","SSRWrapper","platform","Platform","ViewWidth","ViewHeight","SizeType","getViewWidthByViewportWidth","getViewHeightByViewportHeight","calcInitialsAvatarColor","CustomScrollView","Popper","ViewInfinite","unstable_ViewInfinite","ModalPageFooter","unstable_ModalPageFooter"],"mappings":"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"}
@@ -2,9 +2,7 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { ConfigProviderOverride } from "../components/ConfigProvider/ConfigProviderOverride.js";
5
- import { useObjectMemo } from "../hooks/useObjectMemo.js";
6
5
  import { computeBrowserInfo } from "./browser.js";
7
- import { DOMContext, getDOM } from "./dom.js";
8
6
  import { platform as getPlatform } from "./platform.js";
9
7
  /**
10
8
  * @see https://vkcom.github.io/VKUI/#/SSR
@@ -12,13 +10,9 @@ import { platform as getPlatform } from "./platform.js";
12
10
  if (!browserInfo && userAgent) {
13
11
  browserInfo = computeBrowserInfo(userAgent);
14
12
  }
15
- const dom = useObjectMemo(getDOM());
16
13
  return /*#__PURE__*/ _jsx(ConfigProviderOverride, {
17
14
  platform: getPlatform(browserInfo),
18
- children: /*#__PURE__*/ _jsx(DOMContext.Provider, {
19
- value: dom,
20
- children: children
21
- })
15
+ children: children
22
16
  });
23
17
  };
24
18
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/SSR.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ConfigProviderOverride } from '../components/ConfigProvider/ConfigProviderOverride';\nimport { useObjectMemo } from '../hooks/useObjectMemo';\nimport { type BrowserInfo, computeBrowserInfo } from './browser';\nimport { DOMContext, getDOM } from './dom';\nimport { platform as getPlatform } from './platform';\n\nexport interface SSRWrapperProps {\n userAgent?: string;\n browserInfo?: BrowserInfo;\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SSR\n */\nexport const SSRWrapper: React.FC<SSRWrapperProps> = ({ userAgent, browserInfo, children }) => {\n if (!browserInfo && userAgent) {\n browserInfo = computeBrowserInfo(userAgent);\n }\n\n const dom = useObjectMemo(getDOM());\n\n return (\n <ConfigProviderOverride platform={getPlatform(browserInfo)}>\n <DOMContext.Provider value={dom}>{children}</DOMContext.Provider>\n </ConfigProviderOverride>\n );\n};\n"],"names":["React","ConfigProviderOverride","useObjectMemo","computeBrowserInfo","DOMContext","getDOM","platform","getPlatform","SSRWrapper","userAgent","browserInfo","children","dom","Provider","value"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ,yDAAsD;AAC7F,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAA2BC,kBAAkB,QAAQ,eAAY;AACjE,SAASC,UAAU,EAAEC,MAAM,QAAQ,WAAQ;AAC3C,SAASC,YAAYC,WAAW,QAAQ,gBAAa;AAQrD;;CAEC,GACD,OAAO,MAAMC,aAAwC,CAAC,EAAEC,SAAS,EAAEC,WAAW,EAAEC,QAAQ,EAAE;IACxF,IAAI,CAACD,eAAeD,WAAW;QAC7BC,cAAcP,mBAAmBM;IACnC;IAEA,MAAMG,MAAMV,cAAcG;IAE1B,qBACE,KAACJ;QAAuBK,UAAUC,YAAYG;kBAC5C,cAAA,KAACN,WAAWS,QAAQ;YAACC,OAAOF;sBAAMD;;;AAGxC,EAAE"}
1
+ {"version":3,"sources":["../../../src/lib/SSR.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ConfigProviderOverride } from '../components/ConfigProvider/ConfigProviderOverride';\nimport { type BrowserInfo, computeBrowserInfo } from './browser';\nimport { platform as getPlatform } from './platform';\n\nexport interface SSRWrapperProps {\n userAgent?: string;\n browserInfo?: BrowserInfo;\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SSR\n */\nexport const SSRWrapper: React.FC<SSRWrapperProps> = ({ userAgent, browserInfo, children }) => {\n if (!browserInfo && userAgent) {\n browserInfo = computeBrowserInfo(userAgent);\n }\n\n return (\n <ConfigProviderOverride platform={getPlatform(browserInfo)}>{children}</ConfigProviderOverride>\n );\n};\n"],"names":["React","ConfigProviderOverride","computeBrowserInfo","platform","getPlatform","SSRWrapper","userAgent","browserInfo","children"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,sBAAsB,QAAQ,yDAAsD;AAC7F,SAA2BC,kBAAkB,QAAQ,eAAY;AACjE,SAASC,YAAYC,WAAW,QAAQ,gBAAa;AAQrD;;CAEC,GACD,OAAO,MAAMC,aAAwC,CAAC,EAAEC,SAAS,EAAEC,WAAW,EAAEC,QAAQ,EAAE;IACxF,IAAI,CAACD,eAAeD,WAAW;QAC7BC,cAAcL,mBAAmBI;IACnC;IAEA,qBACE,KAACL;QAAuBE,UAAUC,YAAYG;kBAAeC;;AAEjE,EAAE"}
@@ -1,4 +1,5 @@
1
- import { BREAKPOINTS } from "./breakpoints.js";
1
+ import { getWindow } from "../dom.js";
2
+ import { BREAKPOINTS, MEDIA_QUERIES } from "./breakpoints.js";
2
3
  import { VIEW_WIDTH_TO_CSS_BREAKPOINT_MAP, ViewHeight, ViewWidth } from "./constants.js";
3
4
  /**
4
5
  * @public
@@ -77,6 +78,11 @@ export function tryToCheckIsDesktop(viewWidth, viewHeight, hasPointer, platform)
77
78
  const otherParametersIsLikeDesktop = hasPointer || (viewHeight !== undefined ? viewHeight >= ViewHeight.MEDIUM : false);
78
79
  return widthIsLikeDesktop && otherParametersIsLikeDesktop || IS_VKCOM_CRUTCH;
79
80
  }
81
+ export function isSmallTablePlus(el) {
82
+ const win = getWindow(el);
83
+ // eslint-disable-next-line no-restricted-properties
84
+ return win ? win.matchMedia(MEDIA_QUERIES.SMALL_TABLET_PLUS).matches : false;
85
+ }
80
86
  /**
81
87
  * Конвертирует `viewWidth` в CSS брейкпоинты (см. тесты для наглядности).
82
88
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/adaptivity/functions.ts"],"sourcesContent":["import type { Exact } from '../../types';\nimport { type PlatformType } from '../platform';\nimport { BREAKPOINTS } from './breakpoints';\nimport {\n type SizeTypeValues,\n VIEW_WIDTH_TO_CSS_BREAKPOINT_MAP,\n ViewHeight,\n type ViewHeightType,\n ViewWidth,\n type ViewWidthType,\n} from './constants';\nimport type { CSSBreakpointsClassNames, MediaQueries } from './types';\n\n/**\n * @public\n */\nexport function getViewWidthByViewportWidth(viewportWidth: number): ViewWidthType {\n if (viewportWidth >= BREAKPOINTS.DESKTOP) {\n return ViewWidth.DESKTOP;\n }\n if (viewportWidth >= BREAKPOINTS.TABLET) {\n return ViewWidth.TABLET;\n }\n if (viewportWidth >= BREAKPOINTS.SMALL_TABLET) {\n return ViewWidth.SMALL_TABLET;\n }\n if (viewportWidth >= BREAKPOINTS.MOBILE) {\n return ViewWidth.MOBILE;\n }\n return ViewWidth.SMALL_MOBILE;\n}\n\nexport function getViewWidthByMediaQueries(mediaQueries: MediaQueries): ViewWidthType {\n /* eslint-disable no-restricted-properties */\n if (mediaQueries.desktopPlus.matches) {\n return ViewWidth.DESKTOP;\n }\n if (mediaQueries.tablet.matches) {\n return ViewWidth.TABLET;\n }\n if (mediaQueries.smallTablet.matches) {\n return ViewWidth.SMALL_TABLET;\n }\n if (mediaQueries.mobile.matches) {\n return ViewWidth.MOBILE;\n }\n /* eslint-enable no-restricted-properties */\n return ViewWidth.SMALL_MOBILE;\n}\n\n/**\n * @public\n */\nexport function getViewHeightByViewportHeight(viewportHeight: number): ViewHeightType {\n if (viewportHeight >= BREAKPOINTS.MEDIUM_HEIGHT) {\n return ViewHeight.MEDIUM;\n }\n if (viewportHeight >= BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT) {\n return ViewHeight.SMALL;\n }\n return ViewHeight.EXTRA_SMALL;\n}\n\nexport function getViewHeightByMediaQueries(mediaQueries: MediaQueries): ViewHeightType {\n /* eslint-disable no-restricted-properties */\n if (mediaQueries.mediumHeight.matches) {\n return ViewHeight.MEDIUM;\n }\n if (mediaQueries.mobileLandscapeHeight.matches) {\n return ViewHeight.SMALL;\n }\n /* eslint-enable no-restricted-properties */\n return ViewHeight.EXTRA_SMALL;\n}\n\nexport function getSizeX(viewWidth: ViewWidthType): SizeTypeValues {\n return viewWidth <= ViewWidth.MOBILE ? 'compact' : 'regular';\n}\n\nexport function isCompactByViewWidth(\n viewWidth: ViewWidthType | undefined,\n hasPointer?: boolean,\n): boolean | undefined {\n return viewWidth !== undefined && viewWidth >= ViewWidth.SMALL_TABLET && hasPointer;\n}\n\nexport function isCompactByViewHeight(viewHeight: ViewHeightType | undefined): boolean {\n return viewHeight !== undefined && viewHeight <= ViewHeight.EXTRA_SMALL;\n}\n\nexport function getSizeY(\n viewWidth: ViewWidthType,\n viewHeight: ViewHeightType,\n hasPointer: boolean,\n): SizeTypeValues {\n if (isCompactByViewWidth(viewWidth, hasPointer) || isCompactByViewHeight(viewHeight)) {\n return 'compact';\n }\n return 'regular';\n}\n\n/**\n * Проверка на Desktop.\n *\n * Функция гарантировано вернёт `boolean` или `null` в зависимости от условий.\n *\n * Возвращаем `null` в случае, если у нас недостаточно данных, чтобы определить платформу.\n *\n * ⚠️ При передаче 'vkcom' всегда будет возвращать `true`.\n */\nexport function tryToCheckIsDesktop(viewWidth: ViewWidthType, viewHeight: ViewHeightType, hasPointer: undefined | boolean, platform?: PlatformType): boolean; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: ViewWidthType, viewHeight: undefined, hasPointer: boolean, platform?: PlatformType): boolean; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: undefined | ViewWidthType, viewHeight: undefined, hasPointer: undefined, platform?: PlatformType): null; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: undefined, viewHeight: undefined | ViewHeightType, hasPointer: undefined, platform?: PlatformType): null; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: undefined, viewHeight: undefined, hasPointer: undefined | boolean, platform?: PlatformType): null; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: undefined | ViewWidthType, viewHeight: undefined | ViewHeightType, hasPointer: undefined | boolean, platform?: PlatformType): null | boolean; // prettier-ignore\nexport function tryToCheckIsDesktop(\n viewWidth: undefined | ViewWidthType,\n viewHeight: undefined | ViewHeightType,\n hasPointer: undefined | boolean,\n platform?: PlatformType,\n): null | boolean {\n // см. https://github.com/VKCOM/VKUI/pull/2473\n const IS_VKCOM_CRUTCH = platform === 'vkcom';\n\n if (\n ((viewWidth === undefined || hasPointer === undefined) &&\n (viewWidth === undefined || viewHeight === undefined)) ||\n (hasPointer === undefined && viewHeight === undefined)\n ) {\n return IS_VKCOM_CRUTCH ? true : null;\n }\n\n const widthIsLikeDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const otherParametersIsLikeDesktop =\n hasPointer || (viewHeight !== undefined ? viewHeight >= ViewHeight.MEDIUM : false);\n\n return (widthIsLikeDesktop && otherParametersIsLikeDesktop) || IS_VKCOM_CRUTCH;\n}\n\n/**\n * Конвертирует `viewWidth` в CSS брейкпоинты (см. тесты для наглядности).\n *\n * > Note: используется восклицательный знак (!), чтобы принудить TS поверить, что св-во точно не может быть\n * > `undefined`. Это всё из-за применения `Partial<...>` для объекта.\n */\nexport function viewWidthToClassName<T extends Partial<CSSBreakpointsClassNames>>(\n breakpointClassNames: Exact<CSSBreakpointsClassNames, T>,\n viewWidth: ViewWidthType | 'none' = 'none',\n): string | null {\n if (viewWidth === 'none') {\n return breakpointClassNames.hasOwnProperty('none') ? breakpointClassNames['none']! : null;\n }\n\n const breakpoints: string[] = [];\n const breakpointName = VIEW_WIDTH_TO_CSS_BREAKPOINT_MAP[viewWidth];\n\n if (breakpointClassNames.hasOwnProperty(breakpointName)) {\n breakpoints.push(breakpointClassNames[breakpointName]!);\n }\n\n if (viewWidth >= ViewWidth.MOBILE) {\n if (breakpointClassNames.hasOwnProperty('mobilePlus')) {\n breakpoints.push(breakpointClassNames['mobilePlus']!);\n }\n }\n\n if (viewWidth >= ViewWidth.SMALL_TABLET) {\n if (breakpointClassNames.hasOwnProperty('smallTabletPlus')) {\n breakpoints.push(breakpointClassNames['smallTabletPlus']!);\n }\n } else {\n if (breakpointClassNames.hasOwnProperty('smallTabletMinus')) {\n breakpoints.push(breakpointClassNames['smallTabletMinus']!);\n }\n }\n\n if (viewWidth >= ViewWidth.TABLET) {\n if (breakpointClassNames.hasOwnProperty('tabletPlus')) {\n breakpoints.push(breakpointClassNames['tabletPlus']!);\n }\n } else {\n if (breakpointClassNames.hasOwnProperty('tabletMinus')) {\n breakpoints.push(breakpointClassNames['tabletMinus']!);\n }\n }\n\n return breakpoints.length > 0 ? breakpoints.join(' ') : null;\n}\n"],"names":["BREAKPOINTS","VIEW_WIDTH_TO_CSS_BREAKPOINT_MAP","ViewHeight","ViewWidth","getViewWidthByViewportWidth","viewportWidth","DESKTOP","TABLET","SMALL_TABLET","MOBILE","SMALL_MOBILE","getViewWidthByMediaQueries","mediaQueries","desktopPlus","matches","tablet","smallTablet","mobile","getViewHeightByViewportHeight","viewportHeight","MEDIUM_HEIGHT","MEDIUM","MOBILE_LANDSCAPE_HEIGHT","SMALL","EXTRA_SMALL","getViewHeightByMediaQueries","mediumHeight","mobileLandscapeHeight","getSizeX","viewWidth","isCompactByViewWidth","hasPointer","undefined","isCompactByViewHeight","viewHeight","getSizeY","tryToCheckIsDesktop","platform","IS_VKCOM_CRUTCH","widthIsLikeDesktop","otherParametersIsLikeDesktop","viewWidthToClassName","breakpointClassNames","hasOwnProperty","breakpoints","breakpointName","push","length","join"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/lib/adaptivity/functions.ts"],"sourcesContent":["import type { Exact } from '../../types';\nimport { getWindow } from '../dom';\nimport { type PlatformType } from '../platform';\nimport { BREAKPOINTS, MEDIA_QUERIES } from './breakpoints';\nimport {\n type SizeTypeValues,\n VIEW_WIDTH_TO_CSS_BREAKPOINT_MAP,\n ViewHeight,\n type ViewHeightType,\n ViewWidth,\n type ViewWidthType,\n} from './constants';\nimport type { CSSBreakpointsClassNames, MediaQueries } from './types';\n\n/**\n * @public\n */\nexport function getViewWidthByViewportWidth(viewportWidth: number): ViewWidthType {\n if (viewportWidth >= BREAKPOINTS.DESKTOP) {\n return ViewWidth.DESKTOP;\n }\n if (viewportWidth >= BREAKPOINTS.TABLET) {\n return ViewWidth.TABLET;\n }\n if (viewportWidth >= BREAKPOINTS.SMALL_TABLET) {\n return ViewWidth.SMALL_TABLET;\n }\n if (viewportWidth >= BREAKPOINTS.MOBILE) {\n return ViewWidth.MOBILE;\n }\n return ViewWidth.SMALL_MOBILE;\n}\n\nexport function getViewWidthByMediaQueries(mediaQueries: MediaQueries): ViewWidthType {\n /* eslint-disable no-restricted-properties */\n if (mediaQueries.desktopPlus.matches) {\n return ViewWidth.DESKTOP;\n }\n if (mediaQueries.tablet.matches) {\n return ViewWidth.TABLET;\n }\n if (mediaQueries.smallTablet.matches) {\n return ViewWidth.SMALL_TABLET;\n }\n if (mediaQueries.mobile.matches) {\n return ViewWidth.MOBILE;\n }\n /* eslint-enable no-restricted-properties */\n return ViewWidth.SMALL_MOBILE;\n}\n\n/**\n * @public\n */\nexport function getViewHeightByViewportHeight(viewportHeight: number): ViewHeightType {\n if (viewportHeight >= BREAKPOINTS.MEDIUM_HEIGHT) {\n return ViewHeight.MEDIUM;\n }\n if (viewportHeight >= BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT) {\n return ViewHeight.SMALL;\n }\n return ViewHeight.EXTRA_SMALL;\n}\n\nexport function getViewHeightByMediaQueries(mediaQueries: MediaQueries): ViewHeightType {\n /* eslint-disable no-restricted-properties */\n if (mediaQueries.mediumHeight.matches) {\n return ViewHeight.MEDIUM;\n }\n if (mediaQueries.mobileLandscapeHeight.matches) {\n return ViewHeight.SMALL;\n }\n /* eslint-enable no-restricted-properties */\n return ViewHeight.EXTRA_SMALL;\n}\n\nexport function getSizeX(viewWidth: ViewWidthType): SizeTypeValues {\n return viewWidth <= ViewWidth.MOBILE ? 'compact' : 'regular';\n}\n\nexport function isCompactByViewWidth(\n viewWidth: ViewWidthType | undefined,\n hasPointer?: boolean,\n): boolean | undefined {\n return viewWidth !== undefined && viewWidth >= ViewWidth.SMALL_TABLET && hasPointer;\n}\n\nexport function isCompactByViewHeight(viewHeight: ViewHeightType | undefined): boolean {\n return viewHeight !== undefined && viewHeight <= ViewHeight.EXTRA_SMALL;\n}\n\nexport function getSizeY(\n viewWidth: ViewWidthType,\n viewHeight: ViewHeightType,\n hasPointer: boolean,\n): SizeTypeValues {\n if (isCompactByViewWidth(viewWidth, hasPointer) || isCompactByViewHeight(viewHeight)) {\n return 'compact';\n }\n return 'regular';\n}\n\n/**\n * Проверка на Desktop.\n *\n * Функция гарантировано вернёт `boolean` или `null` в зависимости от условий.\n *\n * Возвращаем `null` в случае, если у нас недостаточно данных, чтобы определить платформу.\n *\n * ⚠️ При передаче 'vkcom' всегда будет возвращать `true`.\n */\nexport function tryToCheckIsDesktop(viewWidth: ViewWidthType, viewHeight: ViewHeightType, hasPointer: undefined | boolean, platform?: PlatformType): boolean; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: ViewWidthType, viewHeight: undefined, hasPointer: boolean, platform?: PlatformType): boolean; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: undefined | ViewWidthType, viewHeight: undefined, hasPointer: undefined, platform?: PlatformType): null; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: undefined, viewHeight: undefined | ViewHeightType, hasPointer: undefined, platform?: PlatformType): null; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: undefined, viewHeight: undefined, hasPointer: undefined | boolean, platform?: PlatformType): null; // prettier-ignore\nexport function tryToCheckIsDesktop(viewWidth: undefined | ViewWidthType, viewHeight: undefined | ViewHeightType, hasPointer: undefined | boolean, platform?: PlatformType): null | boolean; // prettier-ignore\nexport function tryToCheckIsDesktop(\n viewWidth: undefined | ViewWidthType,\n viewHeight: undefined | ViewHeightType,\n hasPointer: undefined | boolean,\n platform?: PlatformType,\n): null | boolean {\n // см. https://github.com/VKCOM/VKUI/pull/2473\n const IS_VKCOM_CRUTCH = platform === 'vkcom';\n\n if (\n ((viewWidth === undefined || hasPointer === undefined) &&\n (viewWidth === undefined || viewHeight === undefined)) ||\n (hasPointer === undefined && viewHeight === undefined)\n ) {\n return IS_VKCOM_CRUTCH ? true : null;\n }\n\n const widthIsLikeDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const otherParametersIsLikeDesktop =\n hasPointer || (viewHeight !== undefined ? viewHeight >= ViewHeight.MEDIUM : false);\n\n return (widthIsLikeDesktop && otherParametersIsLikeDesktop) || IS_VKCOM_CRUTCH;\n}\n\nexport function isSmallTablePlus(el: HTMLElement) {\n const win = getWindow(el);\n // eslint-disable-next-line no-restricted-properties\n return win ? win.matchMedia(MEDIA_QUERIES.SMALL_TABLET_PLUS).matches : false;\n}\n\n/**\n * Конвертирует `viewWidth` в CSS брейкпоинты (см. тесты для наглядности).\n *\n * > Note: используется восклицательный знак (!), чтобы принудить TS поверить, что св-во точно не может быть\n * > `undefined`. Это всё из-за применения `Partial<...>` для объекта.\n */\nexport function viewWidthToClassName<T extends Partial<CSSBreakpointsClassNames>>(\n breakpointClassNames: Exact<CSSBreakpointsClassNames, T>,\n viewWidth: ViewWidthType | 'none' = 'none',\n): string | null {\n if (viewWidth === 'none') {\n return breakpointClassNames.hasOwnProperty('none') ? breakpointClassNames['none']! : null;\n }\n\n const breakpoints: string[] = [];\n const breakpointName = VIEW_WIDTH_TO_CSS_BREAKPOINT_MAP[viewWidth];\n\n if (breakpointClassNames.hasOwnProperty(breakpointName)) {\n breakpoints.push(breakpointClassNames[breakpointName]!);\n }\n\n if (viewWidth >= ViewWidth.MOBILE) {\n if (breakpointClassNames.hasOwnProperty('mobilePlus')) {\n breakpoints.push(breakpointClassNames['mobilePlus']!);\n }\n }\n\n if (viewWidth >= ViewWidth.SMALL_TABLET) {\n if (breakpointClassNames.hasOwnProperty('smallTabletPlus')) {\n breakpoints.push(breakpointClassNames['smallTabletPlus']!);\n }\n } else {\n if (breakpointClassNames.hasOwnProperty('smallTabletMinus')) {\n breakpoints.push(breakpointClassNames['smallTabletMinus']!);\n }\n }\n\n if (viewWidth >= ViewWidth.TABLET) {\n if (breakpointClassNames.hasOwnProperty('tabletPlus')) {\n breakpoints.push(breakpointClassNames['tabletPlus']!);\n }\n } else {\n if (breakpointClassNames.hasOwnProperty('tabletMinus')) {\n breakpoints.push(breakpointClassNames['tabletMinus']!);\n }\n }\n\n return breakpoints.length > 0 ? breakpoints.join(' ') : null;\n}\n"],"names":["getWindow","BREAKPOINTS","MEDIA_QUERIES","VIEW_WIDTH_TO_CSS_BREAKPOINT_MAP","ViewHeight","ViewWidth","getViewWidthByViewportWidth","viewportWidth","DESKTOP","TABLET","SMALL_TABLET","MOBILE","SMALL_MOBILE","getViewWidthByMediaQueries","mediaQueries","desktopPlus","matches","tablet","smallTablet","mobile","getViewHeightByViewportHeight","viewportHeight","MEDIUM_HEIGHT","MEDIUM","MOBILE_LANDSCAPE_HEIGHT","SMALL","EXTRA_SMALL","getViewHeightByMediaQueries","mediumHeight","mobileLandscapeHeight","getSizeX","viewWidth","isCompactByViewWidth","hasPointer","undefined","isCompactByViewHeight","viewHeight","getSizeY","tryToCheckIsDesktop","platform","IS_VKCOM_CRUTCH","widthIsLikeDesktop","otherParametersIsLikeDesktop","isSmallTablePlus","el","win","matchMedia","SMALL_TABLET_PLUS","viewWidthToClassName","breakpointClassNames","hasOwnProperty","breakpoints","breakpointName","push","length","join"],"mappings":"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"}
@@ -1,11 +1,13 @@
1
- import { useState } from "react";
1
+ import * as React from "react";
2
2
  import { noop } from "@vkontakte/vkjs";
3
- import { usePrevious } from "../../hooks/usePrevious.js";
4
3
  import { useStableCallback } from "../../hooks/useStableCallback.js";
5
4
  import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect.js";
6
5
  export const useCSSKeyframesAnimationController = (stateProp, { onEnter: onEnterProp, onEntering, onEntered, onExit: onExitProp, onExiting, onExited } = {}, disableInitAnimation = false)=>{
7
- const [state, setState] = useState(()=>disableInitAnimation ? stateProp === 'enter' ? 'entered' : 'exited' : stateProp);
8
- const prevState = usePrevious(stateProp);
6
+ const [state, setState] = React.useState(()=>disableInitAnimation ? stateProp === 'enter' ? 'entered' : 'exited' : stateProp);
7
+ const prevStateRef = React.useRef(undefined);
8
+ React.useEffect(()=>{
9
+ prevStateRef.current = stateProp;
10
+ });
9
11
  const onAnimationStart = ()=>{
10
12
  if (state === 'enter') {
11
13
  setState('entering');
@@ -35,6 +37,7 @@ export const useCSSKeyframesAnimationController = (stateProp, { onEnter: onEnter
35
37
  const onEnter = useStableCallback(onEnterProp || noop);
36
38
  const onExit = useStableCallback(onExitProp || noop);
37
39
  useIsomorphicLayoutEffect(function updateState() {
40
+ const prevState = prevStateRef.current;
38
41
  if (prevState === stateProp) {
39
42
  return;
40
43
  }
@@ -56,7 +59,6 @@ export const useCSSKeyframesAnimationController = (stateProp, { onEnter: onEnter
56
59
  }
57
60
  }, [
58
61
  state,
59
- prevState,
60
62
  stateProp,
61
63
  onEnter,
62
64
  onExit
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/animation/useCSSKeyframesAnimationController.ts"],"sourcesContent":["import { useState } from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\nexport type UseCSSAnimationControllerCallback = {\n onEnter?: VoidFunction;\n onEntering?: VoidFunction;\n onEntered?: VoidFunction;\n onExit?: VoidFunction;\n onExiting?: VoidFunction;\n onExited?: VoidFunction;\n};\n\nexport type AnimationState = 'enter' | 'entering' | 'entered' | 'exit' | 'exiting' | 'exited';\n\nexport type AnimationHandlers = { onAnimationStart: VoidFunction; onAnimationEnd: VoidFunction };\n\nexport const useCSSKeyframesAnimationController = (\n stateProp: 'enter' | 'exit',\n {\n onEnter: onEnterProp,\n onEntering,\n onEntered,\n onExit: onExitProp,\n onExiting,\n onExited,\n }: UseCSSAnimationControllerCallback = {},\n disableInitAnimation = false,\n): [AnimationState, AnimationHandlers] => {\n const [state, setState] = useState<AnimationState>(() =>\n disableInitAnimation ? (stateProp === 'enter' ? 'entered' : 'exited') : stateProp,\n );\n const prevState = usePrevious(stateProp);\n\n const onAnimationStart = () => {\n if (state === 'enter') {\n setState('entering');\n if (onEntering) {\n onEntering();\n }\n } else if (state === 'exit') {\n setState('exiting');\n if (onExiting) {\n onExiting();\n }\n }\n };\n\n const onAnimationEnd = () => {\n if (state === 'entering') {\n setState('entered');\n if (onEntered) {\n onEntered();\n }\n } else if (state === 'exiting') {\n setState('exited');\n if (onExited) {\n onExited();\n }\n }\n };\n\n const onEnter = useStableCallback(onEnterProp || noop);\n const onExit = useStableCallback(onExitProp || noop);\n\n useIsomorphicLayoutEffect(\n function updateState() {\n if (prevState === stateProp) {\n return;\n }\n switch (stateProp) {\n case 'enter':\n if (state === 'entering' || state === 'entered') {\n break;\n }\n\n setState('enter');\n onEnter();\n break;\n case 'exit':\n if (state === 'exiting' || state === 'exited') {\n break;\n }\n\n setState('exit');\n onExit();\n break;\n }\n },\n [state, prevState, stateProp, onEnter, onExit],\n );\n\n return [state, { onAnimationStart, onAnimationEnd }];\n};\n"],"names":["useState","noop","usePrevious","useStableCallback","useIsomorphicLayoutEffect","useCSSKeyframesAnimationController","stateProp","onEnter","onEnterProp","onEntering","onEntered","onExit","onExitProp","onExiting","onExited","disableInitAnimation","state","setState","prevState","onAnimationStart","onAnimationEnd","updateState"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,QAAQ;AACjC,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,yBAAyB,QAAQ,kCAA+B;AAezE,OAAO,MAAMC,qCAAqC,CAChDC,WACA,EACEC,SAASC,WAAW,EACpBC,UAAU,EACVC,SAAS,EACTC,QAAQC,UAAU,EAClBC,SAAS,EACTC,QAAQ,EAC0B,GAAG,CAAC,CAAC,EACzCC,uBAAuB,KAAK;IAE5B,MAAM,CAACC,OAAOC,SAAS,GAAGjB,SAAyB,IACjDe,uBAAwBT,cAAc,UAAU,YAAY,WAAYA;IAE1E,MAAMY,YAAYhB,YAAYI;IAE9B,MAAMa,mBAAmB;QACvB,IAAIH,UAAU,SAAS;YACrBC,SAAS;YACT,IAAIR,YAAY;gBACdA;YACF;QACF,OAAO,IAAIO,UAAU,QAAQ;YAC3BC,SAAS;YACT,IAAIJ,WAAW;gBACbA;YACF;QACF;IACF;IAEA,MAAMO,iBAAiB;QACrB,IAAIJ,UAAU,YAAY;YACxBC,SAAS;YACT,IAAIP,WAAW;gBACbA;YACF;QACF,OAAO,IAAIM,UAAU,WAAW;YAC9BC,SAAS;YACT,IAAIH,UAAU;gBACZA;YACF;QACF;IACF;IAEA,MAAMP,UAAUJ,kBAAkBK,eAAeP;IACjD,MAAMU,SAASR,kBAAkBS,cAAcX;IAE/CG,0BACE,SAASiB;QACP,IAAIH,cAAcZ,WAAW;YAC3B;QACF;QACA,OAAQA;YACN,KAAK;gBACH,IAAIU,UAAU,cAAcA,UAAU,WAAW;oBAC/C;gBACF;gBAEAC,SAAS;gBACTV;gBACA;YACF,KAAK;gBACH,IAAIS,UAAU,aAAaA,UAAU,UAAU;oBAC7C;gBACF;gBAEAC,SAAS;gBACTN;gBACA;QACJ;IACF,GACA;QAACK;QAAOE;QAAWZ;QAAWC;QAASI;KAAO;IAGhD,OAAO;QAACK;QAAO;YAAEG;YAAkBC;QAAe;KAAE;AACtD,EAAE"}
1
+ {"version":3,"sources":["../../../../src/lib/animation/useCSSKeyframesAnimationController.ts"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\nexport type UseCSSAnimationControllerCallback = {\n onEnter?: VoidFunction;\n onEntering?: VoidFunction;\n onEntered?: VoidFunction;\n onExit?: VoidFunction;\n onExiting?: VoidFunction;\n onExited?: VoidFunction;\n};\n\nexport type AnimationState = 'enter' | 'entering' | 'entered' | 'exit' | 'exiting' | 'exited';\n\nexport type AnimationHandlers = { onAnimationStart: VoidFunction; onAnimationEnd: VoidFunction };\n\nexport const useCSSKeyframesAnimationController = (\n stateProp: 'enter' | 'exit',\n {\n onEnter: onEnterProp,\n onEntering,\n onEntered,\n onExit: onExitProp,\n onExiting,\n onExited,\n }: UseCSSAnimationControllerCallback = {},\n disableInitAnimation = false,\n): [AnimationState, AnimationHandlers] => {\n const [state, setState] = React.useState<AnimationState>(() =>\n disableInitAnimation ? (stateProp === 'enter' ? 'entered' : 'exited') : stateProp,\n );\n\n const prevStateRef = React.useRef<'enter' | 'exit' | undefined>(undefined);\n React.useEffect(() => {\n prevStateRef.current = stateProp;\n });\n\n const onAnimationStart = () => {\n if (state === 'enter') {\n setState('entering');\n if (onEntering) {\n onEntering();\n }\n } else if (state === 'exit') {\n setState('exiting');\n if (onExiting) {\n onExiting();\n }\n }\n };\n\n const onAnimationEnd = () => {\n if (state === 'entering') {\n setState('entered');\n if (onEntered) {\n onEntered();\n }\n } else if (state === 'exiting') {\n setState('exited');\n if (onExited) {\n onExited();\n }\n }\n };\n\n const onEnter = useStableCallback(onEnterProp || noop);\n const onExit = useStableCallback(onExitProp || noop);\n\n useIsomorphicLayoutEffect(\n function updateState() {\n const prevState = prevStateRef.current;\n\n if (prevState === stateProp) {\n return;\n }\n switch (stateProp) {\n case 'enter':\n if (state === 'entering' || state === 'entered') {\n break;\n }\n\n setState('enter');\n onEnter();\n break;\n case 'exit':\n if (state === 'exiting' || state === 'exited') {\n break;\n }\n\n setState('exit');\n onExit();\n break;\n }\n },\n [state, stateProp, onEnter, onExit],\n );\n\n return [state, { onAnimationStart, onAnimationEnd }];\n};\n"],"names":["React","noop","useStableCallback","useIsomorphicLayoutEffect","useCSSKeyframesAnimationController","stateProp","onEnter","onEnterProp","onEntering","onEntered","onExit","onExitProp","onExiting","onExited","disableInitAnimation","state","setState","useState","prevStateRef","useRef","undefined","useEffect","current","onAnimationStart","onAnimationEnd","updateState","prevState"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,yBAAyB,QAAQ,kCAA+B;AAezE,OAAO,MAAMC,qCAAqC,CAChDC,WACA,EACEC,SAASC,WAAW,EACpBC,UAAU,EACVC,SAAS,EACTC,QAAQC,UAAU,EAClBC,SAAS,EACTC,QAAQ,EAC0B,GAAG,CAAC,CAAC,EACzCC,uBAAuB,KAAK;IAE5B,MAAM,CAACC,OAAOC,SAAS,GAAGhB,MAAMiB,QAAQ,CAAiB,IACvDH,uBAAwBT,cAAc,UAAU,YAAY,WAAYA;IAG1E,MAAMa,eAAelB,MAAMmB,MAAM,CAA+BC;IAChEpB,MAAMqB,SAAS,CAAC;QACdH,aAAaI,OAAO,GAAGjB;IACzB;IAEA,MAAMkB,mBAAmB;QACvB,IAAIR,UAAU,SAAS;YACrBC,SAAS;YACT,IAAIR,YAAY;gBACdA;YACF;QACF,OAAO,IAAIO,UAAU,QAAQ;YAC3BC,SAAS;YACT,IAAIJ,WAAW;gBACbA;YACF;QACF;IACF;IAEA,MAAMY,iBAAiB;QACrB,IAAIT,UAAU,YAAY;YACxBC,SAAS;YACT,IAAIP,WAAW;gBACbA;YACF;QACF,OAAO,IAAIM,UAAU,WAAW;YAC9BC,SAAS;YACT,IAAIH,UAAU;gBACZA;YACF;QACF;IACF;IAEA,MAAMP,UAAUJ,kBAAkBK,eAAeN;IACjD,MAAMS,SAASR,kBAAkBS,cAAcV;IAE/CE,0BACE,SAASsB;QACP,MAAMC,YAAYR,aAAaI,OAAO;QAEtC,IAAII,cAAcrB,WAAW;YAC3B;QACF;QACA,OAAQA;YACN,KAAK;gBACH,IAAIU,UAAU,cAAcA,UAAU,WAAW;oBAC/C;gBACF;gBAEAC,SAAS;gBACTV;gBACA;YACF,KAAK;gBACH,IAAIS,UAAU,aAAaA,UAAU,UAAU;oBAC7C;gBACF;gBAEAC,SAAS;gBACTN;gBACA;QACJ;IACF,GACA;QAACK;QAAOV;QAAWC;QAASI;KAAO;IAGrC,OAAO;QAACK;QAAO;YAAEQ;YAAkBC;QAAe;KAAE;AACtD,EAAE"}
@@ -1,7 +1,7 @@
1
- import { useEffect, useRef, useState } from "react";
1
+ import { useEffect, useRef } from "react";
2
2
  import { noop } from "@vkontakte/vkjs";
3
- import { usePrevious } from "../../hooks/usePrevious.js";
4
3
  import { useStableCallback } from "../../hooks/useStableCallback.js";
4
+ import { useStateWithPrev } from "../../hooks/useStateWithPrev.js";
5
5
  /* istanbul ignore next: особенность рендера в браузере когда меняется className, в Jest не воспроизвести */ const forceReflowForFixNewMountedElement = (node)=>void node?.scrollTop;
6
6
  /**
7
7
  * Хук основан на компоненте `CSSTransition` из библиотеки `react-transition-group`.
@@ -17,7 +17,7 @@ import { useStableCallback } from "../../hooks/useStableCallback.js";
17
17
  const onExiting = useStableCallback(onExitingProp || noop);
18
18
  const onExited = useStableCallback(onExitedProp || noop);
19
19
  const ref = useRef(null);
20
- const [state, setState] = useState(()=>{
20
+ const [[state, prevState], setState] = useStateWithPrev(()=>{
21
21
  if (!inProp) {
22
22
  return 'exited';
23
23
  }
@@ -27,7 +27,6 @@ import { useStableCallback } from "../../hooks/useStableCallback.js";
27
27
  }
28
28
  return 'entered';
29
29
  });
30
- const prevState = usePrevious(state);
31
30
  useEffect(function updateState() {
32
31
  if (inProp) {
33
32
  switch(state){
@@ -93,6 +92,7 @@ import { useStableCallback } from "../../hooks/useStableCallback.js";
93
92
  inProp,
94
93
  state,
95
94
  prevState,
95
+ setState,
96
96
  enableAppear,
97
97
  enableEnter,
98
98
  onEnter,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/animation/useCSSTransition.ts"],"sourcesContent":["import {\n type TransitionEvent,\n type TransitionEventHandler,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { useStableCallback } from '../../hooks/useStableCallback';\n\n/* istanbul ignore next: особенность рендера в браузере когда меняется className, в Jest не воспроизвести */\nconst forceReflowForFixNewMountedElement = (node: Element | null) => void node?.scrollTop;\n\nexport type UseCSSTransitionState =\n | 'appear'\n | 'appearing'\n | 'appeared'\n | 'enter'\n | 'entering'\n | 'entered'\n | 'exit'\n | 'exiting'\n | 'exited';\n\nexport type UseCSSTransitionOptions = {\n enableAppear?: boolean;\n enableEnter?: boolean;\n enableExit?: boolean;\n onEnter?: (appear?: boolean) => void;\n onEntering?: (appear?: boolean) => void;\n onEntered?: (propertyName?: string, appear?: boolean) => void;\n onExit?: () => void;\n onExiting?: () => void;\n onExited?: (propertyName?: string) => void;\n};\n\nexport type UseCSSTransition<Ref extends Element = Element> = [\n state: UseCSSTransitionState,\n {\n ref: React.RefObject<Ref>;\n onTransitionEnd?: TransitionEventHandler;\n },\n];\n\n/**\n * Хук основан на компоненте `CSSTransition` из библиотеки `react-transition-group`.\n *\n * @link https://reactcommunity.org/react-transition-group/css-transition\n *\n * @private\n */\nexport const useCSSTransition = <Ref extends Element = Element>(\n inProp?: boolean,\n {\n enableAppear = false,\n enableEnter = true,\n enableExit = true,\n onEnter: onEnterProp,\n onEntering: onEnteringProp,\n onEntered: onEnteredProp,\n onExit: onExitProp,\n onExiting: onExitingProp,\n onExited: onExitedProp,\n }: UseCSSTransitionOptions = {},\n): UseCSSTransition<Ref> => {\n const onEnter = useStableCallback(onEnterProp || noop);\n const onEntering = useStableCallback(onEnteringProp || noop);\n const onEntered = useStableCallback(onEnteredProp || noop);\n const onExit = useStableCallback(onExitProp || noop);\n const onExiting = useStableCallback(onExitingProp || noop);\n const onExited = useStableCallback(onExitedProp || noop);\n\n const ref = useRef<Ref | null>(null);\n const [state, setState] = useState<UseCSSTransitionState>(() => {\n if (!inProp) {\n return 'exited';\n }\n\n if (enableAppear) {\n onEnter(true);\n return 'appear';\n }\n\n return 'entered';\n });\n const prevState = usePrevious(state);\n\n useEffect(\n function updateState() {\n if (inProp) {\n switch (state) {\n case 'appear':\n forceReflowForFixNewMountedElement(ref.current);\n setState('appearing');\n onEntering(true);\n break;\n case 'enter':\n forceReflowForFixNewMountedElement(ref.current);\n setState('entering');\n onEntering();\n break;\n case 'exiting':\n if (enableEnter) {\n setState('entering');\n onEntering();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n case 'exited':\n if (enableEnter) {\n setState('enter');\n onEnter();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n }\n } else {\n switch (state) {\n case 'exit':\n forceReflowForFixNewMountedElement(ref.current);\n setState('exiting');\n onExiting();\n break;\n case 'appearing':\n case 'entering':\n if (enableExit) {\n setState('exiting');\n onExiting();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n case 'appeared':\n case 'entered':\n if (enableExit) {\n setState('exit');\n onExit();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n }\n }\n },\n [\n inProp,\n\n state,\n prevState,\n\n enableAppear,\n enableEnter,\n onEnter,\n onEntering,\n onEntered,\n\n enableExit,\n onExit,\n onExiting,\n onExited,\n ],\n );\n\n const onTransitionEnd = (event: TransitionEvent) => {\n /* istanbul ignore if: на всякий случай предупреждаем всплытие, нет смысла проверять условие */\n if (event.target !== ref.current) {\n return;\n }\n\n switch (state) {\n case 'appearing':\n setState('appeared');\n onEntered(event.propertyName, true);\n break;\n case 'entering':\n setState('entered');\n onEntered(event.propertyName);\n break;\n case 'exiting':\n setState('exited');\n onExited(event.propertyName);\n break;\n }\n };\n\n return [\n state,\n {\n ref,\n onTransitionEnd:\n state !== 'appeared' && state !== 'entered' && state !== 'exited'\n ? onTransitionEnd\n : undefined,\n },\n ];\n};\n"],"names":["useEffect","useRef","useState","noop","usePrevious","useStableCallback","forceReflowForFixNewMountedElement","node","scrollTop","useCSSTransition","inProp","enableAppear","enableEnter","enableExit","onEnter","onEnterProp","onEntering","onEnteringProp","onEntered","onEnteredProp","onExit","onExitProp","onExiting","onExitingProp","onExited","onExitedProp","ref","state","setState","prevState","updateState","current","onTransitionEnd","event","target","propertyName","undefined"],"mappings":"AAAA,SAGEA,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,QAAQ;AACf,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,mCAAgC;AAElE,0GAA0G,GAC1G,MAAMC,qCAAqC,CAACC,OAAyB,KAAKA,MAAMC;AAiChF;;;;;;CAMC,GACD,OAAO,MAAMC,mBAAmB,CAC9BC,QACA,EACEC,eAAe,KAAK,EACpBC,cAAc,IAAI,EAClBC,aAAa,IAAI,EACjBC,SAASC,WAAW,EACpBC,YAAYC,cAAc,EAC1BC,WAAWC,aAAa,EACxBC,QAAQC,UAAU,EAClBC,WAAWC,aAAa,EACxBC,UAAUC,YAAY,EACE,GAAG,CAAC,CAAC;IAE/B,MAAMX,UAAUT,kBAAkBU,eAAeZ;IACjD,MAAMa,aAAaX,kBAAkBY,kBAAkBd;IACvD,MAAMe,YAAYb,kBAAkBc,iBAAiBhB;IACrD,MAAMiB,SAASf,kBAAkBgB,cAAclB;IAC/C,MAAMmB,YAAYjB,kBAAkBkB,iBAAiBpB;IACrD,MAAMqB,WAAWnB,kBAAkBoB,gBAAgBtB;IAEnD,MAAMuB,MAAMzB,OAAmB;IAC/B,MAAM,CAAC0B,OAAOC,SAAS,GAAG1B,SAAgC;QACxD,IAAI,CAACQ,QAAQ;YACX,OAAO;QACT;QAEA,IAAIC,cAAc;YAChBG,QAAQ;YACR,OAAO;QACT;QAEA,OAAO;IACT;IACA,MAAMe,YAAYzB,YAAYuB;IAE9B3B,UACE,SAAS8B;QACP,IAAIpB,QAAQ;YACV,OAAQiB;gBACN,KAAK;oBACHrB,mCAAmCoB,IAAIK,OAAO;oBAC9CH,SAAS;oBACTZ,WAAW;oBACX;gBACF,KAAK;oBACHV,mCAAmCoB,IAAIK,OAAO;oBAC9CH,SAAS;oBACTZ;oBACA;gBACF,KAAK;oBACH,IAAIJ,aAAa;wBACfgB,SAAS;wBACTZ;wBACA;oBACF;oBAEAY,SAAS;oBACTV;oBACA;gBACF,KAAK;oBACH,IAAIN,aAAa;wBACfgB,SAAS;wBACTd;wBACA;oBACF;oBAEAc,SAAS;oBACTV;oBACA;YACJ;QACF,OAAO;YACL,OAAQS;gBACN,KAAK;oBACHrB,mCAAmCoB,IAAIK,OAAO;oBAC9CH,SAAS;oBACTN;oBACA;gBACF,KAAK;gBACL,KAAK;oBACH,IAAIT,YAAY;wBACde,SAAS;wBACTN;wBACA;oBACF;oBAEAM,SAAS;oBACTJ;oBACA;gBACF,KAAK;gBACL,KAAK;oBACH,IAAIX,YAAY;wBACde,SAAS;wBACTR;wBACA;oBACF;oBAEAQ,SAAS;oBACTJ;oBACA;YACJ;QACF;IACF,GACA;QACEd;QAEAiB;QACAE;QAEAlB;QACAC;QACAE;QACAE;QACAE;QAEAL;QACAO;QACAE;QACAE;KACD;IAGH,MAAMQ,kBAAkB,CAACC;QACvB,6FAA6F,GAC7F,IAAIA,MAAMC,MAAM,KAAKR,IAAIK,OAAO,EAAE;YAChC;QACF;QAEA,OAAQJ;YACN,KAAK;gBACHC,SAAS;gBACTV,UAAUe,MAAME,YAAY,EAAE;gBAC9B;YACF,KAAK;gBACHP,SAAS;gBACTV,UAAUe,MAAME,YAAY;gBAC5B;YACF,KAAK;gBACHP,SAAS;gBACTJ,SAASS,MAAME,YAAY;gBAC3B;QACJ;IACF;IAEA,OAAO;QACLR;QACA;YACED;YACAM,iBACEL,UAAU,cAAcA,UAAU,aAAaA,UAAU,WACrDK,kBACAI;QACR;KACD;AACH,EAAE"}
1
+ {"version":3,"sources":["../../../../src/lib/animation/useCSSTransition.ts"],"sourcesContent":["import { type TransitionEvent, type TransitionEventHandler, useEffect, useRef } from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { useStateWithPrev } from '../../hooks/useStateWithPrev';\n\n/* istanbul ignore next: особенность рендера в браузере когда меняется className, в Jest не воспроизвести */\nconst forceReflowForFixNewMountedElement = (node: Element | null) => void node?.scrollTop;\n\nexport type UseCSSTransitionState =\n | 'appear'\n | 'appearing'\n | 'appeared'\n | 'enter'\n | 'entering'\n | 'entered'\n | 'exit'\n | 'exiting'\n | 'exited';\n\nexport type UseCSSTransitionOptions = {\n enableAppear?: boolean;\n enableEnter?: boolean;\n enableExit?: boolean;\n onEnter?: (appear?: boolean) => void;\n onEntering?: (appear?: boolean) => void;\n onEntered?: (propertyName?: string, appear?: boolean) => void;\n onExit?: () => void;\n onExiting?: () => void;\n onExited?: (propertyName?: string) => void;\n};\n\nexport type UseCSSTransition<Ref extends Element = Element> = [\n state: UseCSSTransitionState,\n {\n ref: React.RefObject<Ref>;\n onTransitionEnd?: TransitionEventHandler;\n },\n];\n\n/**\n * Хук основан на компоненте `CSSTransition` из библиотеки `react-transition-group`.\n *\n * @link https://reactcommunity.org/react-transition-group/css-transition\n *\n * @private\n */\nexport const useCSSTransition = <Ref extends Element = Element>(\n inProp?: boolean,\n {\n enableAppear = false,\n enableEnter = true,\n enableExit = true,\n onEnter: onEnterProp,\n onEntering: onEnteringProp,\n onEntered: onEnteredProp,\n onExit: onExitProp,\n onExiting: onExitingProp,\n onExited: onExitedProp,\n }: UseCSSTransitionOptions = {},\n): UseCSSTransition<Ref> => {\n const onEnter = useStableCallback(onEnterProp || noop);\n const onEntering = useStableCallback(onEnteringProp || noop);\n const onEntered = useStableCallback(onEnteredProp || noop);\n const onExit = useStableCallback(onExitProp || noop);\n const onExiting = useStableCallback(onExitingProp || noop);\n const onExited = useStableCallback(onExitedProp || noop);\n\n const ref = useRef<Ref | null>(null);\n const [[state, prevState], setState] = useStateWithPrev<UseCSSTransitionState>(() => {\n if (!inProp) {\n return 'exited';\n }\n\n if (enableAppear) {\n onEnter(true);\n return 'appear';\n }\n\n return 'entered';\n });\n\n useEffect(\n function updateState() {\n if (inProp) {\n switch (state) {\n case 'appear':\n forceReflowForFixNewMountedElement(ref.current);\n setState('appearing');\n onEntering(true);\n break;\n case 'enter':\n forceReflowForFixNewMountedElement(ref.current);\n setState('entering');\n onEntering();\n break;\n case 'exiting':\n if (enableEnter) {\n setState('entering');\n onEntering();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n case 'exited':\n if (enableEnter) {\n setState('enter');\n onEnter();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n }\n } else {\n switch (state) {\n case 'exit':\n forceReflowForFixNewMountedElement(ref.current);\n setState('exiting');\n onExiting();\n break;\n case 'appearing':\n case 'entering':\n if (enableExit) {\n setState('exiting');\n onExiting();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n case 'appeared':\n case 'entered':\n if (enableExit) {\n setState('exit');\n onExit();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n }\n }\n },\n [\n inProp,\n\n state,\n prevState,\n setState,\n\n enableAppear,\n enableEnter,\n onEnter,\n onEntering,\n onEntered,\n\n enableExit,\n onExit,\n onExiting,\n onExited,\n ],\n );\n\n const onTransitionEnd = (event: TransitionEvent) => {\n /* istanbul ignore if: на всякий случай предупреждаем всплытие, нет смысла проверять условие */\n if (event.target !== ref.current) {\n return;\n }\n\n switch (state) {\n case 'appearing':\n setState('appeared');\n onEntered(event.propertyName, true);\n break;\n case 'entering':\n setState('entered');\n onEntered(event.propertyName);\n break;\n case 'exiting':\n setState('exited');\n onExited(event.propertyName);\n break;\n }\n };\n\n return [\n state,\n {\n ref,\n onTransitionEnd:\n state !== 'appeared' && state !== 'entered' && state !== 'exited'\n ? onTransitionEnd\n : undefined,\n },\n ];\n};\n"],"names":["useEffect","useRef","noop","useStableCallback","useStateWithPrev","forceReflowForFixNewMountedElement","node","scrollTop","useCSSTransition","inProp","enableAppear","enableEnter","enableExit","onEnter","onEnterProp","onEntering","onEnteringProp","onEntered","onEnteredProp","onExit","onExitProp","onExiting","onExitingProp","onExited","onExitedProp","ref","state","prevState","setState","updateState","current","onTransitionEnd","event","target","propertyName","undefined"],"mappings":"AAAA,SAA4DA,SAAS,EAAEC,MAAM,QAAQ,QAAQ;AAC7F,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,gBAAgB,QAAQ,kCAA+B;AAEhE,0GAA0G,GAC1G,MAAMC,qCAAqC,CAACC,OAAyB,KAAKA,MAAMC;AAiChF;;;;;;CAMC,GACD,OAAO,MAAMC,mBAAmB,CAC9BC,QACA,EACEC,eAAe,KAAK,EACpBC,cAAc,IAAI,EAClBC,aAAa,IAAI,EACjBC,SAASC,WAAW,EACpBC,YAAYC,cAAc,EAC1BC,WAAWC,aAAa,EACxBC,QAAQC,UAAU,EAClBC,WAAWC,aAAa,EACxBC,UAAUC,YAAY,EACE,GAAG,CAAC,CAAC;IAE/B,MAAMX,UAAUV,kBAAkBW,eAAeZ;IACjD,MAAMa,aAAaZ,kBAAkBa,kBAAkBd;IACvD,MAAMe,YAAYd,kBAAkBe,iBAAiBhB;IACrD,MAAMiB,SAAShB,kBAAkBiB,cAAclB;IAC/C,MAAMmB,YAAYlB,kBAAkBmB,iBAAiBpB;IACrD,MAAMqB,WAAWpB,kBAAkBqB,gBAAgBtB;IAEnD,MAAMuB,MAAMxB,OAAmB;IAC/B,MAAM,CAAC,CAACyB,OAAOC,UAAU,EAAEC,SAAS,GAAGxB,iBAAwC;QAC7E,IAAI,CAACK,QAAQ;YACX,OAAO;QACT;QAEA,IAAIC,cAAc;YAChBG,QAAQ;YACR,OAAO;QACT;QAEA,OAAO;IACT;IAEAb,UACE,SAAS6B;QACP,IAAIpB,QAAQ;YACV,OAAQiB;gBACN,KAAK;oBACHrB,mCAAmCoB,IAAIK,OAAO;oBAC9CF,SAAS;oBACTb,WAAW;oBACX;gBACF,KAAK;oBACHV,mCAAmCoB,IAAIK,OAAO;oBAC9CF,SAAS;oBACTb;oBACA;gBACF,KAAK;oBACH,IAAIJ,aAAa;wBACfiB,SAAS;wBACTb;wBACA;oBACF;oBAEAa,SAAS;oBACTX;oBACA;gBACF,KAAK;oBACH,IAAIN,aAAa;wBACfiB,SAAS;wBACTf;wBACA;oBACF;oBAEAe,SAAS;oBACTX;oBACA;YACJ;QACF,OAAO;YACL,OAAQS;gBACN,KAAK;oBACHrB,mCAAmCoB,IAAIK,OAAO;oBAC9CF,SAAS;oBACTP;oBACA;gBACF,KAAK;gBACL,KAAK;oBACH,IAAIT,YAAY;wBACdgB,SAAS;wBACTP;wBACA;oBACF;oBAEAO,SAAS;oBACTL;oBACA;gBACF,KAAK;gBACL,KAAK;oBACH,IAAIX,YAAY;wBACdgB,SAAS;wBACTT;wBACA;oBACF;oBAEAS,SAAS;oBACTL;oBACA;YACJ;QACF;IACF,GACA;QACEd;QAEAiB;QACAC;QACAC;QAEAlB;QACAC;QACAE;QACAE;QACAE;QAEAL;QACAO;QACAE;QACAE;KACD;IAGH,MAAMQ,kBAAkB,CAACC;QACvB,6FAA6F,GAC7F,IAAIA,MAAMC,MAAM,KAAKR,IAAIK,OAAO,EAAE;YAChC;QACF;QAEA,OAAQJ;YACN,KAAK;gBACHE,SAAS;gBACTX,UAAUe,MAAME,YAAY,EAAE;gBAC9B;YACF,KAAK;gBACHN,SAAS;gBACTX,UAAUe,MAAME,YAAY;gBAC5B;YACF,KAAK;gBACHN,SAAS;gBACTL,SAASS,MAAME,YAAY;gBAC3B;QACJ;IACF;IAEA,OAAO;QACLR;QACA;YACED;YACAM,iBACEL,UAAU,cAAcA,UAAU,aAAaA,UAAU,WACrDK,kBACAI;QACR;KACD;AACH,EAAE"}
@@ -3,10 +3,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { canUseDOM } from "@vkontakte/vkjs";
5
5
  import { rectToClientRect } from "@vkontakte/vkui-floating-ui/core";
6
- import { getNearestOverflowAncestor as getNearestOverflowAncestorLib, getWindow, isElement, isHTMLElement } from "@vkontakte/vkui-floating-ui/utils/dom";
7
- export { getWindow, getNodeScroll, isHTMLElement, isElement } from "@vkontakte/vkui-floating-ui/utils/dom";
6
+ import { getParentNode, getWindow, isElement, isHTMLElement, isLastTraversableNode, isOverflowElement } from "@vkontakte/vkui-floating-ui/utils/dom";
7
+ export { getWindow, getNodeScroll, isHTMLElement, isElement, getParentNode } from "@vkontakte/vkui-floating-ui/utils/dom";
8
8
  export { canUseDOM, canUseEventListeners, onDOMLoaded } from "@vkontakte/vkjs";
9
- /* eslint-disable no-restricted-globals */ export const getDOM = ()=>({
9
+ /* eslint-disable no-restricted-globals */ const getDOM = ()=>({
10
10
  window: canUseDOM ? window : undefined,
11
11
  document: canUseDOM ? document : undefined
12
12
  });
@@ -107,14 +107,19 @@ export const getRelativeBoundingClientRect = (parent, child)=>{
107
107
  height: childRect.height
108
108
  });
109
109
  };
110
- /**
111
- * Адаптер над getNearestOverflowAncestor из @floating-ui/utils/dom.
112
- *
113
- * document.body подменяем на window, т.к. на document.body нельзя применить скролл.
114
- */ export const getNearestOverflowAncestor = (childEl)=>{
115
- const foundAncestor = getNearestOverflowAncestorLib(childEl);
116
- return isBody(foundAncestor) ? getWindow(foundAncestor) : isHTMLElement(childEl) ? foundAncestor : null;
117
- };
110
+ export function getNearestOverflowAncestor(node, terminalNode) {
111
+ const parentNode = getParentNode(node);
112
+ if (terminalNode === parentNode) {
113
+ return null; /* [1] */
114
+ }
115
+ if (isLastTraversableNode(parentNode)) {
116
+ return getWindow(parentNode); /* [2] */
117
+ }
118
+ if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
119
+ return parentNode;
120
+ }
121
+ return getNearestOverflowAncestor(parentNode, terminalNode);
122
+ }
118
123
  export const getScrollHeight = (node)=>{
119
124
  return isWindow(node) ? node.document.documentElement.scrollHeight : node.scrollHeight;
120
125
  };
@@ -204,5 +209,54 @@ export const getFirstTouchEventData = (event)=>{
204
209
  window1.removeEventListener('touchmove', handleWindowTouchMove, options);
205
210
  };
206
211
  };
212
+ const nonTextInputTypes = {
213
+ button: true,
214
+ submit: true,
215
+ reset: true,
216
+ color: true,
217
+ file: true,
218
+ image: true,
219
+ checkbox: true,
220
+ radio: true
221
+ }; // prettier-ignore
222
+ export const isHTMLContentEditableElement = (el)=>{
223
+ if (el === null) {
224
+ return false;
225
+ }
226
+ if (el.tagName === 'INPUT') {
227
+ // @ts-expect-error: TS2339 за счёт `tagName` удовлетворяемся, что это `HTMLInputElement`
228
+ return !nonTextInputTypes[el.type]; // prettier-ignore
229
+ }
230
+ return el.tagName === 'TEXTAREA' || // eslint-disable-next-line no-restricted-properties
231
+ el.closest('[contenteditable=true]') !== null;
232
+ };
233
+ /**
234
+ * Фоллбек `visualViewport` для **Safari 12**.
235
+ */ export function getVisualViewport(win) {
236
+ const result = {
237
+ offsetTop: 0,
238
+ offsetLeft: 0,
239
+ width: 0,
240
+ height: 0
241
+ };
242
+ if (win.visualViewport) {
243
+ const { offsetTop, offsetLeft, width, height } = win.visualViewport;
244
+ result.offsetTop = Math.round(offsetTop);
245
+ result.offsetLeft = offsetLeft;
246
+ result.width = width;
247
+ result.height = Math.round(height);
248
+ return result;
249
+ }
250
+ // TODO[Safari@>=13] Удалить фоллбек
251
+ result.offsetTop = win.pageYOffset;
252
+ result.offsetLeft = win.pageXOffset;
253
+ result.width = win.innerWidth; // note: вызывает reflow в отличии от visualViewport
254
+ result.height = win.innerHeight; // note: вызывает reflow в отличии от visualViewport
255
+ return result;
256
+ }
257
+ export const hasSelectionWithRangeType = (node)=>{
258
+ const selection = getWindow(node).getSelection();
259
+ return selection ? selection.type === 'Range' : false;
260
+ };
207
261
 
208
262
  //# sourceMappingURL=dom.js.map