@vkontakte/vkui 8.1.2 → 8.2.0

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 (653) hide show
  1. package/dist/components/ActionSheet/ActionSheet.d.ts +5 -4
  2. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  3. package/dist/components/ActionSheet/ActionSheet.js +2 -1
  4. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  5. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +3 -3
  6. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  7. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -2
  8. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  9. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  10. package/dist/components/AppRoot/AppRoot.js +0 -6
  11. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  12. package/dist/components/AppRoot/AppRootContext.d.ts +0 -1
  13. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  14. package/dist/components/AppRoot/AppRootContext.js +0 -1
  15. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  16. package/dist/components/Calendar/Calendar.d.ts +1 -1
  17. package/dist/components/Calendar/Calendar.js +2 -1
  18. package/dist/components/Calendar/Calendar.js.map +1 -1
  19. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  20. package/dist/components/CalendarDay/CalendarDay.js +4 -2
  21. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  22. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  23. package/dist/components/CalendarDays/CalendarDays.js +2 -2
  24. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  25. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  26. package/dist/components/CalendarHeader/CalendarHeader.js +4 -2
  27. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  28. package/dist/components/CalendarRange/CalendarRange.d.ts +2 -2
  29. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  30. package/dist/components/CalendarTime/CalendarTime.d.ts +1 -1
  31. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  32. package/dist/components/CalendarTime/CalendarTime.js +61 -50
  33. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  34. package/dist/components/CalendarTime/CalendarTimePicker.d.ts +11 -7
  35. package/dist/components/CalendarTime/CalendarTimePicker.d.ts.map +1 -1
  36. package/dist/components/CalendarTime/CalendarTimePicker.js +108 -48
  37. package/dist/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  38. package/dist/components/CalendarTime/ComboBox.d.ts +25 -0
  39. package/dist/components/CalendarTime/ComboBox.d.ts.map +1 -0
  40. package/dist/components/CalendarTime/ComboBox.js +112 -0
  41. package/dist/components/CalendarTime/ComboBox.js.map +1 -0
  42. package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
  43. package/dist/components/CardScroll/CardScroll.js +2 -2
  44. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  45. package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -1
  46. package/dist/components/CarouselBase/CarouselBase.js +3 -1
  47. package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
  48. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  49. package/dist/components/ChipsSelect/useChipsSelect.js +2 -1
  50. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  51. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  52. package/dist/components/ConfigProvider/ConfigProvider.js +8 -4
  53. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  54. package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts.map +1 -1
  55. package/dist/components/ConfigProvider/ConfigProviderOverride.js +5 -1
  56. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  57. package/dist/components/ConfigProvider/ConfigProviderSubContexts.d.ts +15 -0
  58. package/dist/components/ConfigProvider/ConfigProviderSubContexts.d.ts.map +1 -0
  59. package/dist/components/ConfigProvider/ConfigProviderSubContexts.js +25 -0
  60. package/dist/components/ConfigProvider/ConfigProviderSubContexts.js.map +1 -0
  61. package/dist/components/ContentBadge/ContentBadge.d.ts +14 -1
  62. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  63. package/dist/components/ContentBadge/ContentBadge.js +39 -1
  64. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  65. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  66. package/dist/components/CustomSelect/CustomSelect.js +16 -10
  67. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  68. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  69. package/dist/components/DateInput/DateInput.js +4 -3
  70. package/dist/components/DateInput/DateInput.js.map +1 -1
  71. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  72. package/dist/components/DateRangeInput/DateRangeInput.js +2 -2
  73. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  74. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  75. package/dist/components/Epic/ScrollSaver.js +1 -0
  76. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  77. package/dist/components/FixedLayout/ParentWidthWrapper.d.ts +6 -0
  78. package/dist/components/FixedLayout/ParentWidthWrapper.d.ts.map +1 -0
  79. package/dist/components/FixedLayout/ParentWidthWrapper.js +43 -0
  80. package/dist/components/FixedLayout/ParentWidthWrapper.js.map +1 -0
  81. package/dist/components/Flex/Flex.d.ts +7 -4
  82. package/dist/components/Flex/Flex.d.ts.map +1 -1
  83. package/dist/components/Flex/Flex.js +5 -2
  84. package/dist/components/Flex/Flex.js.map +1 -1
  85. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +3 -1
  86. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  87. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  88. package/dist/components/NativeSelect/NativeSelect.js +6 -2
  89. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  90. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts +2 -1
  91. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
  92. package/dist/components/NavTransitionContext/NavTransitionContext.js +8 -4
  93. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  94. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  95. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +4 -5
  96. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  97. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  98. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  99. package/dist/components/Popper/Popper.d.ts.map +1 -1
  100. package/dist/components/Popper/Popper.js +7 -4
  101. package/dist/components/Popper/Popper.js.map +1 -1
  102. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  103. package/dist/components/PullToRefresh/PullToRefresh.js +8 -4
  104. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  105. package/dist/components/Root/Root.d.ts +1 -1
  106. package/dist/components/Root/Root.d.ts.map +1 -1
  107. package/dist/components/Root/Root.js +43 -37
  108. package/dist/components/Root/Root.js.map +1 -1
  109. package/dist/components/SimpleGrid/SimpleGrid.d.ts +9 -8
  110. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  111. package/dist/components/SimpleGrid/SimpleGrid.js +9 -2
  112. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  113. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  114. package/dist/components/Skeleton/Skeleton.js +3 -4
  115. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  116. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  117. package/dist/components/Snackbar/Snackbar.js +6 -3
  118. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  119. package/dist/components/Spacing/Spacing.d.ts +1 -1
  120. package/dist/components/Spacing/Spacing.js.map +1 -1
  121. package/dist/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.d.ts +10 -0
  122. package/dist/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.d.ts.map +1 -0
  123. package/dist/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.js +54 -0
  124. package/dist/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.js.map +1 -0
  125. package/dist/components/Spinner/ExpressiveSpinner/icons.d.ts +18 -0
  126. package/dist/components/Spinner/ExpressiveSpinner/icons.d.ts.map +1 -0
  127. package/dist/components/Spinner/ExpressiveSpinner/icons.js +79 -0
  128. package/dist/components/Spinner/ExpressiveSpinner/icons.js.map +1 -0
  129. package/dist/components/Spinner/SvgIcon.d.ts +14 -0
  130. package/dist/components/Spinner/SvgIcon.d.ts.map +1 -0
  131. package/dist/components/Spinner/SvgIcon.js +20 -0
  132. package/dist/components/Spinner/SvgIcon.js.map +1 -0
  133. package/dist/components/Spinner/icons.d.ts +1 -1
  134. package/dist/components/Spinner/icons.d.ts.map +1 -1
  135. package/dist/components/Spinner/icons.js +10 -23
  136. package/dist/components/Spinner/icons.js.map +1 -1
  137. package/dist/components/SplitLayout/SplitLayout.d.ts +3 -3
  138. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  139. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  140. package/dist/components/TabsItem/TabsItem.js +2 -5
  141. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  142. package/dist/components/Tappable/Tappable.d.ts +2 -2
  143. package/dist/components/Tappable/Tappable.js.map +1 -1
  144. package/dist/components/View/View.d.ts.map +1 -1
  145. package/dist/components/View/View.js +50 -53
  146. package/dist/components/View/View.js.map +1 -1
  147. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  148. package/dist/components/View/ViewInfinite.js +34 -37
  149. package/dist/components/View/ViewInfinite.js.map +1 -1
  150. package/dist/components/WriteBar/WriteBar.d.ts +15 -1
  151. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  152. package/dist/components/WriteBar/WriteBar.js +35 -63
  153. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  154. package/dist/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.d.ts +5 -0
  155. package/dist/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.d.ts.map +1 -0
  156. package/dist/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.js +15 -0
  157. package/dist/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.js.map +1 -0
  158. package/dist/components/WriteBar/WriteBarFormField/WriteBarFormField.d.ts +8 -0
  159. package/dist/components/WriteBar/WriteBarFormField/WriteBarFormField.d.ts.map +1 -0
  160. package/dist/components/WriteBar/WriteBarFormField/WriteBarFormField.js +16 -0
  161. package/dist/components/WriteBar/WriteBarFormField/WriteBarFormField.js.map +1 -0
  162. package/dist/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.d.ts +5 -0
  163. package/dist/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.d.ts.map +1 -0
  164. package/dist/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.js +15 -0
  165. package/dist/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.js.map +1 -0
  166. package/dist/components/WriteBar/WriteBarRoot/WriteBarRoot.d.ts +10 -0
  167. package/dist/components/WriteBar/WriteBarRoot/WriteBarRoot.d.ts.map +1 -0
  168. package/dist/components/WriteBar/WriteBarRoot/WriteBarRoot.js +16 -0
  169. package/dist/components/WriteBar/WriteBarRoot/WriteBarRoot.js.map +1 -0
  170. package/dist/components/WriteBar/WriteBarTextarea/WriteBarTextarea.d.ts +10 -0
  171. package/dist/components/WriteBar/WriteBarTextarea/WriteBarTextarea.d.ts.map +1 -0
  172. package/dist/components/WriteBar/WriteBarTextarea/WriteBarTextarea.js +39 -0
  173. package/dist/components/WriteBar/WriteBarTextarea/WriteBarTextarea.js.map +1 -0
  174. package/dist/components.css +1 -1
  175. package/dist/components.css.map +1 -1
  176. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -1
  177. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  178. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  179. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -2
  180. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  181. package/dist/cssm/components/AppRoot/AppRoot.js +0 -6
  182. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  183. package/dist/cssm/components/AppRoot/AppRootContext.js +0 -1
  184. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  185. package/dist/cssm/components/Calendar/Calendar.js +2 -1
  186. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  187. package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -2
  188. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  189. package/dist/cssm/components/CalendarDays/CalendarDays.js +2 -2
  190. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  191. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +4 -2
  192. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  193. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  194. package/dist/cssm/components/CalendarTime/CalendarTime.js +61 -50
  195. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  196. package/dist/cssm/components/CalendarTime/CalendarTime.module.css +38 -0
  197. package/dist/cssm/components/CalendarTime/CalendarTimePicker.js +108 -48
  198. package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  199. package/dist/cssm/components/CalendarTime/ComboBox.js +113 -0
  200. package/dist/cssm/components/CalendarTime/ComboBox.js.map +1 -0
  201. package/dist/cssm/components/CardScroll/CardScroll.js +2 -2
  202. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  203. package/dist/cssm/components/CarouselBase/CarouselBase.js +3 -1
  204. package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
  205. package/dist/cssm/components/ChipsSelect/useChipsSelect.js +2 -1
  206. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  207. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +8 -4
  208. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  209. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +5 -1
  210. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  211. package/dist/cssm/components/ConfigProvider/ConfigProviderSubContexts.js +25 -0
  212. package/dist/cssm/components/ConfigProvider/ConfigProviderSubContexts.js.map +1 -0
  213. package/dist/cssm/components/ContentBadge/ContentBadge.js +39 -1
  214. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  215. package/dist/cssm/components/ContentBadge/ContentBadge.module.css +88 -90
  216. package/dist/cssm/components/CustomSelect/CustomSelect.js +16 -10
  217. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  218. package/dist/cssm/components/DateInput/DateInput.js +4 -3
  219. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  220. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -2
  221. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  222. package/dist/cssm/components/Epic/ScrollSaver.js +1 -0
  223. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  224. package/dist/cssm/components/FixedLayout/ParentWidthWrapper.js +43 -0
  225. package/dist/cssm/components/FixedLayout/ParentWidthWrapper.js.map +1 -0
  226. package/dist/cssm/components/Flex/Flex.js +5 -2
  227. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  228. package/dist/cssm/components/GridAvatar/GridAvatar.module.css +1 -1
  229. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js +3 -1
  230. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  231. package/dist/cssm/components/NativeSelect/NativeSelect.js +6 -2
  232. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  233. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +8 -4
  234. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  235. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +4 -5
  236. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  237. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  238. package/dist/cssm/components/Popper/Popper.js +7 -4
  239. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  240. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +8 -4
  241. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  242. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +1 -1
  243. package/dist/cssm/components/Root/Root.js +43 -37
  244. package/dist/cssm/components/Root/Root.js.map +1 -1
  245. package/dist/cssm/components/SimpleGrid/SimpleGrid.js +9 -2
  246. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  247. package/dist/cssm/components/Skeleton/Skeleton.js +3 -4
  248. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  249. package/dist/cssm/components/Snackbar/Snackbar.js +6 -3
  250. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  251. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  252. package/dist/cssm/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.js +56 -0
  253. package/dist/cssm/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.js.map +1 -0
  254. package/dist/cssm/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.module.css +13 -0
  255. package/dist/cssm/components/Spinner/ExpressiveSpinner/icons.js +79 -0
  256. package/dist/cssm/components/Spinner/ExpressiveSpinner/icons.js.map +1 -0
  257. package/dist/cssm/components/Spinner/SvgIcon.js +20 -0
  258. package/dist/cssm/components/Spinner/SvgIcon.js.map +1 -0
  259. package/dist/cssm/components/Spinner/icons.js +10 -23
  260. package/dist/cssm/components/Spinner/icons.js.map +1 -1
  261. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  262. package/dist/cssm/components/TabsItem/TabsItem.js +2 -5
  263. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  264. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  265. package/dist/cssm/components/View/View.js +50 -53
  266. package/dist/cssm/components/View/View.js.map +1 -1
  267. package/dist/cssm/components/View/ViewInfinite.js +34 -37
  268. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  269. package/dist/cssm/components/WriteBar/WriteBar.js +35 -64
  270. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  271. package/dist/cssm/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.js +16 -0
  272. package/dist/cssm/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.js.map +1 -0
  273. package/dist/cssm/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.module.css +12 -0
  274. package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormField.js +17 -0
  275. package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormField.js.map +1 -0
  276. package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormField.module.css +18 -0
  277. package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.js +16 -0
  278. package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.js.map +1 -0
  279. package/dist/cssm/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.module.css +3 -0
  280. package/dist/cssm/components/WriteBar/WriteBarRoot/WriteBarRoot.js +17 -0
  281. package/dist/cssm/components/WriteBar/WriteBarRoot/WriteBarRoot.js.map +1 -0
  282. package/dist/cssm/components/WriteBar/WriteBarRoot/WriteBarRoot.module.css +15 -0
  283. package/dist/cssm/components/WriteBar/WriteBarTextarea/WriteBarTextarea.js +40 -0
  284. package/dist/cssm/components/WriteBar/WriteBarTextarea/WriteBarTextarea.js.map +1 -0
  285. package/dist/cssm/components/WriteBar/WriteBarTextarea/WriteBarTextarea.module.css +43 -0
  286. package/dist/cssm/helpers/math.js +6 -0
  287. package/dist/cssm/helpers/math.js.map +1 -1
  288. package/dist/cssm/hoc/withPlatform.js +3 -2
  289. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  290. package/dist/cssm/hooks/useAdaptivityConditionalRender/types.js.map +1 -1
  291. package/dist/cssm/hooks/useAnimationFrame.js +40 -0
  292. package/dist/cssm/hooks/useAnimationFrame.js.map +1 -0
  293. package/dist/cssm/hooks/useAutoFocus.js +4 -1
  294. package/dist/cssm/hooks/useAutoFocus.js.map +1 -1
  295. package/dist/cssm/hooks/useColorScheme.js +3 -3
  296. package/dist/cssm/hooks/useColorScheme.js.map +1 -1
  297. package/dist/cssm/hooks/useConfigDirection.js +3 -3
  298. package/dist/cssm/hooks/useConfigDirection.js.map +1 -1
  299. package/dist/cssm/hooks/useDateInput.js +1 -2
  300. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  301. package/dist/cssm/hooks/useFocusTrap/useAutoFocus.js +1 -0
  302. package/dist/cssm/hooks/useFocusTrap/useAutoFocus.js.map +1 -1
  303. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +2 -0
  304. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  305. package/dist/cssm/hooks/useFocusVisible.js +8 -13
  306. package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
  307. package/dist/cssm/hooks/useFocusWithin.js +5 -4
  308. package/dist/cssm/hooks/useFocusWithin.js.map +1 -1
  309. package/dist/cssm/hooks/useGlobalEscKeyDown.js +17 -15
  310. package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
  311. package/dist/cssm/hooks/useGlobalOnClickOutside.js +6 -2
  312. package/dist/cssm/hooks/useGlobalOnClickOutside.js.map +1 -1
  313. package/dist/cssm/hooks/useKeyboardInputTracker.js +48 -41
  314. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  315. package/dist/cssm/hooks/useLatestRef.js +13 -0
  316. package/dist/cssm/hooks/useLatestRef.js.map +1 -0
  317. package/dist/cssm/hooks/useLocale.js +3 -3
  318. package/dist/cssm/hooks/useLocale.js.map +1 -1
  319. package/dist/cssm/hooks/useMediaQueryMatch.js +1 -0
  320. package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -1
  321. package/dist/cssm/hooks/useMutationObserver.js +3 -3
  322. package/dist/cssm/hooks/useMutationObserver.js.map +1 -1
  323. package/dist/cssm/hooks/usePlatform.js +3 -3
  324. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  325. package/dist/cssm/hooks/useResizeObserver.js +4 -6
  326. package/dist/cssm/hooks/useResizeObserver.js.map +1 -1
  327. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js +2 -1
  328. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  329. package/dist/cssm/hooks/useSyncHTMLWithTokens.js +3 -1
  330. package/dist/cssm/hooks/useSyncHTMLWithTokens.js.map +1 -1
  331. package/dist/cssm/hooks/useWaitTransitionFinish.js +13 -15
  332. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  333. package/dist/cssm/index.js +1 -0
  334. package/dist/cssm/index.js.map +1 -1
  335. package/dist/cssm/lib/array.js +18 -0
  336. package/dist/cssm/lib/array.js.map +1 -0
  337. package/dist/cssm/lib/curve.js +21 -0
  338. package/dist/cssm/lib/curve.js.map +1 -0
  339. package/dist/cssm/lib/dom.js +5 -2
  340. package/dist/cssm/lib/dom.js.map +1 -1
  341. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +4 -4
  342. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  343. package/dist/cssm/lib/fx.js +4 -55
  344. package/dist/cssm/lib/fx.js.map +1 -1
  345. package/dist/cssm/lib/layouts/index.js.map +1 -1
  346. package/dist/cssm/lib/layouts/layoutProps.js +11 -0
  347. package/dist/cssm/lib/layouts/layoutProps.js.map +1 -1
  348. package/dist/cssm/lib/layouts/resolveLayoutProps.js +13 -11
  349. package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
  350. package/dist/cssm/lib/layouts/types.js.map +1 -1
  351. package/dist/cssm/lib/material/shapes/Shape.js +18 -0
  352. package/dist/cssm/lib/material/shapes/Shape.js.map +1 -0
  353. package/dist/cssm/lib/material/shapes/shapes.js +2250 -0
  354. package/dist/cssm/lib/material/shapes/shapes.js.map +1 -0
  355. package/dist/cssm/lib/math.js +31 -0
  356. package/dist/cssm/lib/math.js.map +1 -0
  357. package/dist/cssm/lib/svg/path/approximate.js +57 -0
  358. package/dist/cssm/lib/svg/path/approximate.js.map +1 -0
  359. package/dist/cssm/lib/svg/path/interpolate.js +121 -0
  360. package/dist/cssm/lib/svg/path/interpolate.js.map +1 -0
  361. package/dist/cssm/lib/svg/path/path.js +50 -0
  362. package/dist/cssm/lib/svg/path/path.js.map +1 -0
  363. package/dist/cssm/lib/svg/path/point.js +3 -0
  364. package/dist/cssm/lib/svg/path/point.js.map +1 -0
  365. package/dist/cssm/lib/svg/path/transform.js +110 -0
  366. package/dist/cssm/lib/svg/path/transform.js.map +1 -0
  367. package/dist/cssm/lib/tokens/useTokenClassName.js +4 -1
  368. package/dist/cssm/lib/tokens/useTokenClassName.js.map +1 -1
  369. package/dist/cssm/lib/touch/UIPanGestureRecognizer.js +2 -2
  370. package/dist/cssm/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  371. package/dist/cssm/styles/layout.css +273 -0
  372. package/dist/cssm/types.js +1 -4
  373. package/dist/cssm/types.js.map +1 -1
  374. package/dist/helpers/math.d.ts +4 -0
  375. package/dist/helpers/math.d.ts.map +1 -1
  376. package/dist/helpers/math.js +6 -0
  377. package/dist/helpers/math.js.map +1 -1
  378. package/dist/hoc/withPlatform.d.ts +1 -1
  379. package/dist/hoc/withPlatform.d.ts.map +1 -1
  380. package/dist/hoc/withPlatform.js +3 -2
  381. package/dist/hoc/withPlatform.js.map +1 -1
  382. package/dist/hooks/useAdaptivityConditionalRender/types.d.ts +2 -2
  383. package/dist/hooks/useAdaptivityConditionalRender/types.js.map +1 -1
  384. package/dist/hooks/useAnimationFrame.d.ts +16 -0
  385. package/dist/hooks/useAnimationFrame.d.ts.map +1 -0
  386. package/dist/hooks/useAnimationFrame.js +40 -0
  387. package/dist/hooks/useAnimationFrame.js.map +1 -0
  388. package/dist/hooks/useAutoFocus.js +4 -1
  389. package/dist/hooks/useAutoFocus.js.map +1 -1
  390. package/dist/hooks/useColorScheme.d.ts.map +1 -1
  391. package/dist/hooks/useColorScheme.js +3 -3
  392. package/dist/hooks/useColorScheme.js.map +1 -1
  393. package/dist/hooks/useConfigDirection.d.ts.map +1 -1
  394. package/dist/hooks/useConfigDirection.js +3 -3
  395. package/dist/hooks/useConfigDirection.js.map +1 -1
  396. package/dist/hooks/useDateInput.d.ts.map +1 -1
  397. package/dist/hooks/useDateInput.js +1 -2
  398. package/dist/hooks/useDateInput.js.map +1 -1
  399. package/dist/hooks/useFocusTrap/useAutoFocus.js +1 -0
  400. package/dist/hooks/useFocusTrap/useAutoFocus.js.map +1 -1
  401. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
  402. package/dist/hooks/useFocusTrap/useFocusTrap.js +2 -0
  403. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  404. package/dist/hooks/useFocusVisible.d.ts.map +1 -1
  405. package/dist/hooks/useFocusVisible.js +8 -13
  406. package/dist/hooks/useFocusVisible.js.map +1 -1
  407. package/dist/hooks/useFocusWithin.d.ts.map +1 -1
  408. package/dist/hooks/useFocusWithin.js +5 -4
  409. package/dist/hooks/useFocusWithin.js.map +1 -1
  410. package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
  411. package/dist/hooks/useGlobalEscKeyDown.js +17 -15
  412. package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
  413. package/dist/hooks/useGlobalOnClickOutside.d.ts.map +1 -1
  414. package/dist/hooks/useGlobalOnClickOutside.js +6 -2
  415. package/dist/hooks/useGlobalOnClickOutside.js.map +1 -1
  416. package/dist/hooks/useKeyboardInputTracker.d.ts +1 -19
  417. package/dist/hooks/useKeyboardInputTracker.d.ts.map +1 -1
  418. package/dist/hooks/useKeyboardInputTracker.js +48 -41
  419. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  420. package/dist/hooks/useLatestRef.d.ts +3 -0
  421. package/dist/hooks/useLatestRef.d.ts.map +1 -0
  422. package/dist/hooks/useLatestRef.js +13 -0
  423. package/dist/hooks/useLatestRef.js.map +1 -0
  424. package/dist/hooks/useLocale.d.ts.map +1 -1
  425. package/dist/hooks/useLocale.js +3 -3
  426. package/dist/hooks/useLocale.js.map +1 -1
  427. package/dist/hooks/useMediaQueryMatch.js +1 -0
  428. package/dist/hooks/useMediaQueryMatch.js.map +1 -1
  429. package/dist/hooks/useMutationObserver.d.ts +1 -2
  430. package/dist/hooks/useMutationObserver.d.ts.map +1 -1
  431. package/dist/hooks/useMutationObserver.js +3 -3
  432. package/dist/hooks/useMutationObserver.js.map +1 -1
  433. package/dist/hooks/usePlatform.d.ts.map +1 -1
  434. package/dist/hooks/usePlatform.js +3 -3
  435. package/dist/hooks/usePlatform.js.map +1 -1
  436. package/dist/hooks/useResizeObserver.d.ts.map +1 -1
  437. package/dist/hooks/useResizeObserver.js +4 -6
  438. package/dist/hooks/useResizeObserver.js.map +1 -1
  439. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js +2 -1
  440. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  441. package/dist/hooks/useSyncHTMLWithTokens.js +3 -1
  442. package/dist/hooks/useSyncHTMLWithTokens.js.map +1 -1
  443. package/dist/hooks/useWaitTransitionFinish.d.ts.map +1 -1
  444. package/dist/hooks/useWaitTransitionFinish.js +13 -15
  445. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  446. package/dist/index.d.ts +1 -0
  447. package/dist/index.d.ts.map +1 -1
  448. package/dist/index.js +1 -0
  449. package/dist/index.js.map +1 -1
  450. package/dist/lib/array.d.ts +17 -0
  451. package/dist/lib/array.d.ts.map +1 -0
  452. package/dist/lib/array.js +18 -0
  453. package/dist/lib/array.js.map +1 -0
  454. package/dist/lib/curve.d.ts +9 -0
  455. package/dist/lib/curve.d.ts.map +1 -0
  456. package/dist/lib/curve.js +21 -0
  457. package/dist/lib/curve.js.map +1 -0
  458. package/dist/lib/dom.d.ts +2 -1
  459. package/dist/lib/dom.d.ts.map +1 -1
  460. package/dist/lib/dom.js +5 -2
  461. package/dist/lib/dom.js.map +1 -1
  462. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  463. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +4 -4
  464. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  465. package/dist/lib/fx.d.ts +1 -8
  466. package/dist/lib/fx.d.ts.map +1 -1
  467. package/dist/lib/fx.js +4 -55
  468. package/dist/lib/fx.js.map +1 -1
  469. package/dist/lib/layouts/index.d.ts +1 -1
  470. package/dist/lib/layouts/index.d.ts.map +1 -1
  471. package/dist/lib/layouts/index.js.map +1 -1
  472. package/dist/lib/layouts/layoutProps.d.ts +7 -0
  473. package/dist/lib/layouts/layoutProps.d.ts.map +1 -1
  474. package/dist/lib/layouts/layoutProps.js +11 -0
  475. package/dist/lib/layouts/layoutProps.js.map +1 -1
  476. package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
  477. package/dist/lib/layouts/resolveLayoutProps.js +13 -11
  478. package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
  479. package/dist/lib/layouts/types.d.ts +29 -0
  480. package/dist/lib/layouts/types.d.ts.map +1 -1
  481. package/dist/lib/layouts/types.js.map +1 -1
  482. package/dist/lib/material/shapes/Shape.d.ts +8 -0
  483. package/dist/lib/material/shapes/Shape.d.ts.map +1 -0
  484. package/dist/lib/material/shapes/Shape.js +18 -0
  485. package/dist/lib/material/shapes/Shape.js.map +1 -0
  486. package/dist/lib/material/shapes/shapes.d.ts +43 -0
  487. package/dist/lib/material/shapes/shapes.d.ts.map +1 -0
  488. package/dist/lib/material/shapes/shapes.js +2250 -0
  489. package/dist/lib/material/shapes/shapes.js.map +1 -0
  490. package/dist/lib/math.d.ts +23 -0
  491. package/dist/lib/math.d.ts.map +1 -0
  492. package/dist/lib/math.js +31 -0
  493. package/dist/lib/math.js.map +1 -0
  494. package/dist/lib/svg/path/approximate.d.ts +21 -0
  495. package/dist/lib/svg/path/approximate.d.ts.map +1 -0
  496. package/dist/lib/svg/path/approximate.js +57 -0
  497. package/dist/lib/svg/path/approximate.js.map +1 -0
  498. package/dist/lib/svg/path/interpolate.d.ts +5 -0
  499. package/dist/lib/svg/path/interpolate.d.ts.map +1 -0
  500. package/dist/lib/svg/path/interpolate.js +121 -0
  501. package/dist/lib/svg/path/interpolate.js.map +1 -0
  502. package/dist/lib/svg/path/path.d.ts +48 -0
  503. package/dist/lib/svg/path/path.d.ts.map +1 -0
  504. package/dist/lib/svg/path/path.js +50 -0
  505. package/dist/lib/svg/path/path.js.map +1 -0
  506. package/dist/lib/svg/path/point.d.ts +3 -0
  507. package/dist/lib/svg/path/point.d.ts.map +1 -0
  508. package/dist/lib/svg/path/point.js +3 -0
  509. package/dist/lib/svg/path/point.js.map +1 -0
  510. package/dist/lib/svg/path/transform.d.ts +64 -0
  511. package/dist/lib/svg/path/transform.d.ts.map +1 -0
  512. package/dist/lib/svg/path/transform.js +110 -0
  513. package/dist/lib/svg/path/transform.js.map +1 -0
  514. package/dist/lib/tokens/useTokenClassName.d.ts.map +1 -1
  515. package/dist/lib/tokens/useTokenClassName.js +4 -1
  516. package/dist/lib/tokens/useTokenClassName.js.map +1 -1
  517. package/dist/lib/touch/UIPanGestureRecognizer.d.ts.map +1 -1
  518. package/dist/lib/touch/UIPanGestureRecognizer.js +2 -2
  519. package/dist/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  520. package/dist/types.d.ts +9 -0
  521. package/dist/types.d.ts.map +1 -1
  522. package/dist/types.js +1 -4
  523. package/dist/types.js.map +1 -1
  524. package/dist/vkui.css +1 -1
  525. package/dist/vkui.css.map +1 -1
  526. package/package.json +7 -6
  527. package/src/components/ActionSheet/ActionSheet.tsx +6 -3
  528. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +3 -3
  529. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +2 -2
  530. package/src/components/AppRoot/AppRoot.tsx +1 -14
  531. package/src/components/AppRoot/AppRootContext.ts +0 -2
  532. package/src/components/Calendar/Calendar.tsx +2 -2
  533. package/src/components/CalendarDay/CalendarDay.tsx +4 -2
  534. package/src/components/CalendarDays/CalendarDays.tsx +2 -2
  535. package/src/components/CalendarHeader/CalendarHeader.tsx +4 -2
  536. package/src/components/CalendarRange/CalendarRange.tsx +2 -2
  537. package/src/components/CalendarTime/CalendarTime.module.css +38 -0
  538. package/src/components/CalendarTime/CalendarTime.module.css.d.ts.map +1 -1
  539. package/src/components/CalendarTime/CalendarTime.tsx +68 -55
  540. package/src/components/CalendarTime/CalendarTimePicker.tsx +148 -62
  541. package/src/components/CalendarTime/ComboBox.tsx +189 -0
  542. package/src/components/CardScroll/CardScroll.tsx +6 -5
  543. package/src/components/CarouselBase/CarouselBase.tsx +2 -1
  544. package/src/components/ChipsSelect/useChipsSelect.ts +1 -0
  545. package/src/components/ConfigProvider/ConfigProvider.tsx +6 -3
  546. package/src/components/ConfigProvider/ConfigProviderOverride.tsx +2 -1
  547. package/src/components/ConfigProvider/ConfigProviderSubContexts.tsx +43 -0
  548. package/src/components/ContentBadge/ContentBadge.module.css +84 -91
  549. package/src/components/ContentBadge/ContentBadge.module.css.d.ts.map +1 -1
  550. package/src/components/ContentBadge/ContentBadge.tsx +73 -5
  551. package/src/components/CustomSelect/CustomSelect.tsx +19 -10
  552. package/src/components/DateInput/DateInput.tsx +3 -3
  553. package/src/components/DateRangeInput/DateRangeInput.tsx +2 -2
  554. package/src/components/Epic/ScrollSaver.tsx +1 -0
  555. package/src/components/FixedLayout/ParentWidthWrapper.tsx +48 -0
  556. package/src/components/Flex/Flex.tsx +11 -6
  557. package/src/components/GridAvatar/GridAvatar.module.css +1 -1
  558. package/src/components/GridAvatar/GridAvatar.module.css.d.ts.map +1 -1
  559. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +1 -1
  560. package/src/components/NativeSelect/NativeSelect.tsx +4 -2
  561. package/src/components/NavTransitionContext/NavTransitionContext.tsx +5 -1
  562. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +3 -6
  563. package/src/components/PanelHeader/PanelHeader.tsx +1 -1
  564. package/src/components/Popper/Popper.tsx +8 -5
  565. package/src/components/PullToRefresh/PullToRefresh.module.css +1 -1
  566. package/src/components/PullToRefresh/PullToRefresh.tsx +10 -3
  567. package/src/components/Root/Root.tsx +60 -59
  568. package/src/components/SimpleGrid/SimpleGrid.tsx +25 -11
  569. package/src/components/Skeleton/Skeleton.tsx +6 -4
  570. package/src/components/Snackbar/Snackbar.tsx +6 -3
  571. package/src/components/Spacing/Spacing.tsx +1 -1
  572. package/src/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.module.css +13 -0
  573. package/src/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.module.css.d.ts.map +1 -0
  574. package/src/components/Spinner/ExpressiveSpinner/ExpressiveSpinner.tsx +73 -0
  575. package/src/components/Spinner/ExpressiveSpinner/icons.tsx +104 -0
  576. package/src/components/Spinner/SvgIcon.tsx +31 -0
  577. package/src/components/Spinner/icons.tsx +10 -13
  578. package/src/components/SplitLayout/SplitLayout.tsx +3 -3
  579. package/src/components/TabsItem/TabsItem.tsx +4 -5
  580. package/src/components/Tappable/Tappable.tsx +2 -2
  581. package/src/components/View/View.tsx +83 -89
  582. package/src/components/View/ViewInfinite.tsx +65 -69
  583. package/src/components/WriteBar/WriteBar.tsx +25 -59
  584. package/src/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.module.css +12 -0
  585. package/src/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.module.css.d.ts.map +1 -0
  586. package/src/components/WriteBar/WriteBarBeforeOrAfter/WriteBarBeforeOrAfter.tsx +20 -0
  587. package/src/components/WriteBar/WriteBarFormField/WriteBarFormField.module.css +18 -0
  588. package/src/components/WriteBar/WriteBarFormField/WriteBarFormField.module.css.d.ts.map +1 -0
  589. package/src/components/WriteBar/WriteBarFormField/WriteBarFormField.tsx +22 -0
  590. package/src/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.module.css +3 -0
  591. package/src/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.module.css.d.ts.map +1 -0
  592. package/src/components/WriteBar/WriteBarFormField/WriteBarFormFieldInlineAfter/WriteBarFormFieldInlineAfter.tsx +23 -0
  593. package/src/components/WriteBar/WriteBarRoot/WriteBarRoot.module.css +14 -0
  594. package/src/components/WriteBar/WriteBarRoot/WriteBarRoot.module.css.d.ts.map +1 -0
  595. package/src/components/WriteBar/WriteBarRoot/WriteBarRoot.tsx +31 -0
  596. package/src/components/WriteBar/WriteBarTextarea/WriteBarTextarea.module.css +42 -0
  597. package/src/components/WriteBar/WriteBarTextarea/WriteBarTextarea.module.css.d.ts.map +1 -0
  598. package/src/components/WriteBar/WriteBarTextarea/WriteBarTextarea.tsx +48 -0
  599. package/src/helpers/math.ts +8 -0
  600. package/src/hoc/withPlatform.tsx +3 -3
  601. package/src/hooks/useAdaptivityConditionalRender/types.ts +2 -2
  602. package/src/hooks/useAnimationFrame.tsx +42 -0
  603. package/src/hooks/useAutoFocus.ts +1 -1
  604. package/src/hooks/useColorScheme.ts +3 -4
  605. package/src/hooks/useConfigDirection.ts +3 -4
  606. package/src/hooks/useDateInput.ts +1 -2
  607. package/src/hooks/useFocusTrap/useAutoFocus.ts +1 -1
  608. package/src/hooks/useFocusTrap/useFocusTrap.tsx +2 -0
  609. package/src/hooks/useFocusVisible.ts +10 -18
  610. package/src/hooks/useFocusWithin.ts +26 -23
  611. package/src/hooks/useGlobalEscKeyDown.ts +12 -15
  612. package/src/hooks/useGlobalOnClickOutside.ts +5 -2
  613. package/src/hooks/useKeyboardInputTracker.ts +68 -55
  614. package/src/hooks/useLatestRef.ts +12 -0
  615. package/src/hooks/useLocale.ts +3 -4
  616. package/src/hooks/useMediaQueryMatch.ts +1 -1
  617. package/src/hooks/useMutationObserver.ts +2 -3
  618. package/src/hooks/usePlatform.ts +3 -4
  619. package/src/hooks/useResizeObserver.ts +4 -5
  620. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
  621. package/src/hooks/useSyncHTMLWithTokens.ts +1 -1
  622. package/src/hooks/useWaitTransitionFinish.ts +15 -15
  623. package/src/index.ts +1 -0
  624. package/src/lib/array.ts +19 -0
  625. package/src/lib/curve.ts +36 -0
  626. package/src/lib/dom.tsx +10 -4
  627. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +4 -5
  628. package/src/lib/fx.ts +5 -63
  629. package/src/lib/layouts/index.ts +1 -0
  630. package/src/lib/layouts/layoutProps.ts +8 -0
  631. package/src/lib/layouts/resolveLayoutProps.ts +19 -17
  632. package/src/lib/layouts/types.ts +29 -0
  633. package/src/lib/material/shapes/Shape.tsx +17 -0
  634. package/src/lib/material/shapes/shapes.ts +329 -0
  635. package/src/lib/math.ts +37 -0
  636. package/src/lib/svg/path/approximate.ts +81 -0
  637. package/src/lib/svg/path/interpolate.ts +151 -0
  638. package/src/lib/svg/path/path.ts +102 -0
  639. package/src/lib/svg/path/point.ts +2 -0
  640. package/src/lib/svg/path/transform.ts +147 -0
  641. package/src/lib/tokens/useTokenClassName.ts +7 -5
  642. package/src/lib/touch/UIPanGestureRecognizer.ts +2 -2
  643. package/src/types.ts +16 -0
  644. package/dist/cssm/components/WriteBar/WriteBar.module.css +0 -118
  645. package/dist/cssm/lib/floating/LockFloatingPosition/LockFloatingPosition.js +0 -6
  646. package/dist/cssm/lib/floating/LockFloatingPosition/LockFloatingPosition.js.map +0 -1
  647. package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.d.ts +0 -6
  648. package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.d.ts.map +0 -1
  649. package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.js +0 -6
  650. package/dist/lib/floating/LockFloatingPosition/LockFloatingPosition.js.map +0 -1
  651. package/src/components/WriteBar/WriteBar.module.css +0 -116
  652. package/src/components/WriteBar/WriteBar.module.css.d.ts.map +0 -1
  653. package/src/lib/floating/LockFloatingPosition/LockFloatingPosition.tsx +0 -6
@@ -0,0 +1,104 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { useAnimationFrame } from '../../../hooks/useAnimationFrame';
5
+ import { useReducedMotion } from '../../../lib/animation';
6
+ import * as shapes from '../../../lib/material/shapes/shapes';
7
+ import { interpolate } from '../../../lib/svg/path/interpolate';
8
+ import { svgPathToString } from '../../../lib/svg/path/path';
9
+ import * as operation from '../../../lib/svg/path/transform';
10
+ import { SvgIcon } from '../SvgIcon';
11
+
12
+ interface IconMaterialProps {
13
+ /**
14
+ * Список форм.
15
+ */
16
+ polygons: readonly shapes.ShapeParameters[];
17
+ /**
18
+ * Размер иконки.
19
+ */
20
+ size: number;
21
+ /**
22
+ * Отключение анимации.
23
+ */
24
+ disableAnimation: boolean;
25
+ }
26
+
27
+ export function IconMaterial(props: IconMaterialProps) {
28
+ return (
29
+ <SvgIcon size={props.size}>
30
+ <IconMaterialPath {...props} />
31
+ </SvgIcon>
32
+ );
33
+ }
34
+
35
+ const globalRotationDuration = 4666;
36
+ const morphDuration = 200;
37
+ const morphInterval = 650;
38
+ const fullRotation = 360;
39
+ const quarterRotation = fullRotation / 4;
40
+
41
+ function calcProgress(startTime: number, time: number, duration: number, delay = 0) {
42
+ const fullDuration = duration + delay;
43
+
44
+ const timeProgress = fullDuration * (((time - startTime) % fullDuration) / fullDuration);
45
+
46
+ if (timeProgress < delay) {
47
+ return 0;
48
+ }
49
+
50
+ return (timeProgress - delay) / duration;
51
+ }
52
+
53
+ function IconMaterialPath({ size, polygons, disableAnimation }: IconMaterialProps) {
54
+ const ref = React.useRef<SVGPathElement>(null);
55
+
56
+ const morphSequence = React.useMemo(() => {
57
+ function getShape(index: number, size: number) {
58
+ return shapes.shapeWithRotate(polygons[index], size);
59
+ }
60
+
61
+ return new Array(polygons.length).fill(0).map((_, index) => {
62
+ return interpolate(getShape(index, size), getShape((index + 1) % polygons.length, size), {
63
+ maxSegmentLength: 2,
64
+ });
65
+ });
66
+ }, [size, polygons]);
67
+
68
+ const initialPath = React.useMemo(() => svgPathToString(morphSequence[0](0)), [morphSequence]);
69
+
70
+ const callback = React.useCallback(
71
+ (time: number) => {
72
+ const rotationAnimationProgress = calcProgress(0, time, globalRotationDuration);
73
+ const globalRotation = rotationAnimationProgress * fullRotation;
74
+
75
+ // TODO: spring({
76
+ // dampingRatio: 0.6,
77
+ // stiffness: 200,
78
+ // visibilityThreshold: 0.1,
79
+ // })
80
+ const morphProgress = calcProgress(0, time, morphDuration, morphInterval);
81
+
82
+ const roundMorphIndex = Math.floor(time / (morphDuration + morphInterval));
83
+
84
+ const currentMorphIndex = roundMorphIndex % morphSequence.length;
85
+
86
+ const morphRotationTargetAngle = (roundMorphIndex * quarterRotation) % fullRotation;
87
+ const rotation = morphProgress * quarterRotation + morphRotationTargetAngle + globalRotation;
88
+
89
+ const morphFn = morphSequence[currentMorphIndex];
90
+ const morph = morphFn(morphProgress);
91
+
92
+ ref.current!.setAttribute(
93
+ 'd',
94
+ svgPathToString(operation.rotate(morph, size / 2, size / 2, rotation)),
95
+ );
96
+ },
97
+ [morphSequence, size],
98
+ );
99
+
100
+ const isReducedMotion = useReducedMotion();
101
+ useAnimationFrame(callback, disableAnimation || isReducedMotion);
102
+
103
+ return <path ref={ref} fill="currentColor" d={initialPath}></path>;
104
+ }
@@ -0,0 +1,31 @@
1
+ import { type HasRootRef } from '../../types';
2
+ import { RootComponent } from '../RootComponent/RootComponent';
3
+
4
+ /**
5
+ * Возвращает класс для иконки.
6
+ */
7
+ export function iconClassName(size: number) {
8
+ return `vkuiIcon vkuiIcon--${size} vkuiIcon--w-${size} vkuiIcon--h-${size}`;
9
+ }
10
+
11
+ interface SvgIconProps extends React.ComponentProps<'svg'>, HasRootRef<SVGElement> {
12
+ /**
13
+ * Размер иконки.
14
+ */
15
+ size: number;
16
+ }
17
+
18
+ export function SvgIcon({ size, children, ...restProps }: SvgIconProps) {
19
+ return (
20
+ <RootComponent
21
+ Component="svg"
22
+ baseClassName={iconClassName(size)}
23
+ aria-hidden="true"
24
+ width={size}
25
+ height={size}
26
+ {...restProps}
27
+ >
28
+ {children}
29
+ </RootComponent>
30
+ );
31
+ }
@@ -1,57 +1,54 @@
1
- import type * as React from 'react';
2
-
3
- function iconClassName(size: number) {
4
- return `vkuiIcon vkuiIcon--${size} vkuiIcon--w-${size} vkuiIcon--h-${size}`;
5
- }
1
+ import * as React from 'react';
2
+ import { SvgIcon } from './SvgIcon';
6
3
 
7
4
  export function Icon16Spinner({ children }: React.PropsWithChildren) {
8
5
  return (
9
- <svg className={iconClassName(16)} aria-hidden="true" width="16" height="16">
6
+ <SvgIcon size={16}>
10
7
  <path
11
8
  fill="currentColor"
12
9
  d="M8 3.25a4.75 4.75 0 0 0-4.149 7.065.75.75 0 1 1-1.31.732A6.25 6.25 0 1 1 8 14.25a.75.75 0 0 1 .001-1.5 4.75 4.75 0 1 0 0-9.5Z"
13
10
  >
14
11
  {children}
15
12
  </path>
16
- </svg>
13
+ </SvgIcon>
17
14
  );
18
15
  }
19
16
 
20
17
  export function Icon24Spinner({ children }: React.PropsWithChildren) {
21
18
  return (
22
- <svg className={iconClassName(24)} aria-hidden="true" width="24" height="24">
19
+ <SvgIcon size={24}>
23
20
  <path
24
21
  fill="currentColor"
25
22
  d="M16.394 5.077A8.2 8.2 0 0 0 4.58 15.49a.9.9 0 0 1-1.628.767A10 10 0 1 1 12 22a.9.9 0 0 1 0-1.8 8.2 8.2 0 0 0 4.394-15.123"
26
23
  >
27
24
  {children}
28
25
  </path>
29
- </svg>
26
+ </SvgIcon>
30
27
  );
31
28
  }
32
29
 
33
30
  export function Icon32Spinner({ children }: React.PropsWithChildren) {
34
31
  return (
35
- <svg className={iconClassName(32)} aria-hidden="true" width="32" height="32">
32
+ <SvgIcon size={32}>
36
33
  <path
37
34
  fill="currentColor"
38
35
  d="M16 32a1.5 1.5 0 0 1 0-3c7.18 0 13-5.82 13-13S23.18 3 16 3 3 8.82 3 16c0 1.557.273 3.074.8 4.502A1.5 1.5 0 1 1 .986 21.54 16 16 0 0 1 0 16C0 7.163 7.163 0 16 0s16 7.163 16 16-7.163 16-16 16"
39
36
  >
40
37
  {children}
41
38
  </path>
42
- </svg>
39
+ </SvgIcon>
43
40
  );
44
41
  }
45
42
 
46
43
  export function Icon44Spinner({ children }: React.PropsWithChildren) {
47
44
  return (
48
- <svg className={iconClassName(44)} aria-hidden="true" width="44" height="44">
45
+ <SvgIcon size={44}>
49
46
  <path
50
47
  fill="currentColor"
51
48
  d="M22 44a1.5 1.5 0 0 1 0-3c10.493 0 19-8.507 19-19S32.493 3 22 3 3 11.507 3 22c0 2.208.376 4.363 1.103 6.397a1.5 1.5 0 1 1-2.825 1.01A22 22 0 0 1 0 22C0 9.85 9.85 0 22 0s22 9.85 22 22-9.85 22-22 22"
52
49
  >
53
50
  {children}
54
51
  </path>
55
- </svg>
52
+ </SvgIcon>
56
53
  );
57
54
  }
@@ -13,7 +13,7 @@ const warn = warnOnce('SplitLayout');
13
13
 
14
14
  export interface SplitLayoutProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
15
15
  /**
16
- * @deprecated Since 7.9.0. Будет удалeно в **VKUI v9**.
16
+ * @deprecated Since 7.9.0. Будет удалено в **VKUI v9**.
17
17
  * Вместо этого используйте `slotProps={ content: { getRootRef: ... } }`.
18
18
  */
19
19
  getRef?: React.Ref<HTMLDivElement> | undefined;
@@ -35,7 +35,7 @@ export interface SplitLayoutProps extends HTMLAttributesWithRootRef<HTMLDivEleme
35
35
  /**
36
36
  * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.
37
37
  *
38
- * @deprecated Since 7.0.0. Будет удалeно в **VKUI v9**.
38
+ * @deprecated Since 7.0.0. Будет удалено в **VKUI v9**.
39
39
  * Начиная с **VKUI v7** компоненты можно располагать в любом
40
40
  * месте приложения в пределах `AppRoot`.
41
41
  */
@@ -43,7 +43,7 @@ export interface SplitLayoutProps extends HTMLAttributesWithRootRef<HTMLDivEleme
43
43
  /**
44
44
  * Свойство для отрисовки `ModalRoot`.
45
45
  *
46
- * @deprecated Since 7.0.0. Будет удалeно в **VKUI v9**.
46
+ * @deprecated Since 7.0.0. Будет удалено в **VKUI v9**.
47
47
  * Начиная с **VKUI v7** `ModalRoot` можно располагать в любом
48
48
  * месте приложения в пределах `AppRoot`.
49
49
  */
@@ -4,7 +4,6 @@ import * as React from 'react';
4
4
  import { classNames, hasReactNode } from '@vkontakte/vkjs';
5
5
  import { useAdaptivity } from '../../hooks/useAdaptivity';
6
6
  import { useExternRef } from '../../hooks/useExternRef';
7
- import { useDOM } from '../../lib/dom';
8
7
  import { warnOnce } from '../../lib/warnOnce';
9
8
  import type { AnchorHTMLAttributesOnly, HTMLAttributesWithRootRef } from '../../types';
10
9
  import { TabsControllerContext } from '../Tabs/TabsControllerContext';
@@ -147,7 +146,6 @@ export const TabsItem = ({
147
146
 
148
147
  const prevSelectedRef = React.useRef<boolean | undefined>(undefined);
149
148
 
150
- const { document } = useDOM();
151
149
  React.useEffect(
152
150
  function scrollToSelectedItem() {
153
151
  const isInitialRender = prevSelectedRef.current === undefined;
@@ -159,13 +157,14 @@ export const TabsItem = ({
159
157
 
160
158
  prevSelectedRef.current = selected;
161
159
 
162
- if (!shouldScrollToSelected || !rootRef.current || !document) {
160
+ if (!shouldScrollToSelected || !rootRef.current) {
163
161
  return;
164
162
  }
165
163
 
166
164
  const tabDOMRect = rootRef.current.getBoundingClientRect();
167
165
  const isTabVerticallyOutsideOfViewport =
168
- tabDOMRect.top < 0 || tabDOMRect.bottom > document.documentElement.clientHeight;
166
+ tabDOMRect.top < 0 ||
167
+ tabDOMRect.bottom > rootRef.current.ownerDocument.documentElement.clientHeight;
169
168
 
170
169
  /* проверяем, возможен ли вертикальный скролл, а он возможен для scrollIntoView если
171
170
  * элемент вертикально вне зоны видимости */
@@ -186,7 +185,7 @@ export const TabsItem = ({
186
185
  **/
187
186
  }
188
187
  },
189
- [rootRef, document, scrollBehaviorToSelectedTab, withScrollToSelectedTab, selected],
188
+ [rootRef, scrollBehaviorToSelectedTab, withScrollToSelectedTab, selected],
190
189
  );
191
190
 
192
191
  const _onClick: React.MouseEventHandler<HTMLElement> = React.useCallback(
@@ -44,13 +44,13 @@ export interface TappableProps extends ClickableProps, StateProps {
44
44
  */
45
45
  borderRadiusMode?: 'auto' | 'inherit' | undefined;
46
46
  /**
47
- * @deprecated Since 7.3.0. Будет удалeно в **VKUI v9**.
47
+ * @deprecated Since 7.3.0. Будет удалено в **VKUI v9**.
48
48
  *
49
49
  * Используйте свойство `activeMode`.
50
50
  */
51
51
  activeClassName?: string | undefined; // TODO [>=9]: удалить неиспользуемое свойство.
52
52
  /**
53
- * @deprecated Since 7.3.0. Будет удалeно в **VKUI v9**.
53
+ * @deprecated Since 7.3.0. Будет удалено в **VKUI v9**.
54
54
  *
55
55
  * Используйте свойство `hoverMode`.
56
56
  */
@@ -5,7 +5,6 @@ import { classNames } from '@vkontakte/vkjs';
5
5
  import { usePlatform } from '../../hooks/usePlatform';
6
6
  import { millisecondsInSecond } from '../../lib/date';
7
7
  import { blurActiveElement, useDOM } from '../../lib/dom';
8
- import { LockFloatingPositionContext } from '../../lib/floating/LockFloatingPosition/LockFloatingPosition';
9
8
  import { getNavId, type NavIdProps } from '../../lib/getNavId';
10
9
  import { warnOnce } from '../../lib/warnOnce';
11
10
  import type { HTMLAttributesWithRootRef } from '../../types';
@@ -457,96 +456,91 @@ export const View = ({
457
456
 
458
457
  return (
459
458
  <NavViewIdContext.Provider value={id}>
460
- <LockFloatingPositionContext.Provider value={swipingBack || animated}>
461
- <Touch
462
- Component="section"
463
- {...restProps}
464
- className={classNames(
465
- styles.host,
466
- platform === 'ios' && classNames(styles.ios, 'vkuiInternalView--ios'),
467
- !disableAnimation && animated && styles.animated,
468
- !disableAnimation && swipingBack && styles.swipingBack,
469
- disableAnimation && styles.noMotion,
470
- className,
471
- )}
472
- onMoveX={
473
- iOSSwipeBackSimulationEnabled
474
- ? handleTouchMoveXForIOSSwipeBackSimulation
475
- : platform === 'ios'
476
- ? handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext
477
- : undefined
478
- }
479
- onEnd={
480
- iOSSwipeBackSimulationEnabled ? handleTouchEndForIOSSwipeBackSimulation : undefined
481
- }
482
- >
483
- <div className={styles.panels}>
484
- {panels.map((panel) => {
485
- const panelId = getNavId(panel.props, warn);
486
-
487
- const isPanelActive = panelId === activePanel;
488
- const isPanelPrev = panelId === prevPanel;
489
- const isPanelNext = panelId === nextPanel;
490
- const isAnimatedTarget = animated && (isBack ? isPanelPrev : isPanelNext);
491
-
492
- const isSwipeBackPrev = panelId === swipeBackPrevPanel;
493
- const isSwipeBackNext = panelId === swipeBackNextPanel;
494
- const isSwipeBackTarget = swipeBackResult && isSwipeBackPrev;
495
-
496
- let scrollCompensateStyle: React.CSSProperties | undefined = undefined;
497
-
498
- if (isPanelPrev || (isPanelNext && isBack) || isSwipeBackPrev || isSwipeBackNext) {
499
- const marginTop = scrolls.get(panelId);
500
- if (marginTop !== undefined) {
501
- scrollCompensateStyle = { marginTop: -1 * marginTop };
502
- }
459
+ <Touch
460
+ Component="section"
461
+ {...restProps}
462
+ className={classNames(
463
+ styles.host,
464
+ platform === 'ios' && classNames(styles.ios, 'vkuiInternalView--ios'),
465
+ !disableAnimation && animated && styles.animated,
466
+ !disableAnimation && swipingBack && styles.swipingBack,
467
+ disableAnimation && styles.noMotion,
468
+ className,
469
+ )}
470
+ onMoveX={
471
+ iOSSwipeBackSimulationEnabled
472
+ ? handleTouchMoveXForIOSSwipeBackSimulation
473
+ : platform === 'ios'
474
+ ? handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext
475
+ : undefined
476
+ }
477
+ onEnd={iOSSwipeBackSimulationEnabled ? handleTouchEndForIOSSwipeBackSimulation : undefined}
478
+ >
479
+ <div className={styles.panels}>
480
+ {panels.map((panel) => {
481
+ const panelId = getNavId(panel.props, warn);
482
+
483
+ const isPanelActive = panelId === activePanel;
484
+ const isPanelPrev = panelId === prevPanel;
485
+ const isPanelNext = panelId === nextPanel;
486
+ const isAnimatedTarget = animated && (isBack ? isPanelPrev : isPanelNext);
487
+
488
+ const isSwipeBackPrev = panelId === swipeBackPrevPanel;
489
+ const isSwipeBackNext = panelId === swipeBackNextPanel;
490
+ const isSwipeBackTarget = swipeBackResult && isSwipeBackPrev;
491
+
492
+ let scrollCompensateStyle: React.CSSProperties | undefined = undefined;
493
+
494
+ if (isPanelPrev || (isPanelNext && isBack) || isSwipeBackPrev || isSwipeBackNext) {
495
+ const marginTop = scrolls.get(panelId);
496
+ if (marginTop !== undefined) {
497
+ scrollCompensateStyle = { marginTop: -1 * marginTop };
503
498
  }
504
-
505
- return (
506
- <div
507
- className={classNames(
508
- styles.panel,
509
-
510
- isPanelActive && styles.panelActive,
511
- isPanelPrev && styles.panelPrev,
512
- isPanelNext && styles.panelNext,
513
-
514
- isSwipeBackPrev && styles.panelSwipeBackPrev,
515
- isSwipeBackNext && styles.panelSwipeBackNext,
516
- swipeBackResult === 'success' && styles.panelSwipeBackSuccess,
517
- swipeBackResult === 'fail' && styles.panelSwipeBackFailed,
518
- )}
519
- onTransitionEnd={
520
- isSwipeBackTarget ? handleSwipeBackTargetTransitionEnd : undefined
521
- }
522
- onAnimationEnd={isAnimatedTarget ? handleAnimatedTargetAnimationEnd : undefined}
523
- ref={(el) => {
524
- panelId !== undefined && (panelNodes.current[panelId] = el);
525
- }}
526
- style={calcPanelSwipeStyles(isSwipeBackPrev, isSwipeBackNext)}
527
- key={panelId}
528
- >
529
- {platform === 'ios' && (
530
- <div
531
- className={styles.panelOverlay}
532
- style={calcPanelSwipeBackOverlayStyles(isSwipeBackNext)}
533
- />
534
- )}
535
- <div className={styles.panelIn} style={scrollCompensateStyle}>
536
- <NavTransitionDirectionProvider isBack={swipingBack || isBack}>
537
- <NavTransitionProvider
538
- entering={panelId === nextPanel || panelId === swipeBackNextPanel}
539
- >
540
- {panel}
541
- </NavTransitionProvider>
542
- </NavTransitionDirectionProvider>
543
- </div>
499
+ }
500
+
501
+ return (
502
+ <div
503
+ className={classNames(
504
+ styles.panel,
505
+
506
+ isPanelActive && styles.panelActive,
507
+ isPanelPrev && styles.panelPrev,
508
+ isPanelNext && styles.panelNext,
509
+
510
+ isSwipeBackPrev && styles.panelSwipeBackPrev,
511
+ isSwipeBackNext && styles.panelSwipeBackNext,
512
+ swipeBackResult === 'success' && styles.panelSwipeBackSuccess,
513
+ swipeBackResult === 'fail' && styles.panelSwipeBackFailed,
514
+ )}
515
+ onTransitionEnd={isSwipeBackTarget ? handleSwipeBackTargetTransitionEnd : undefined}
516
+ onAnimationEnd={isAnimatedTarget ? handleAnimatedTargetAnimationEnd : undefined}
517
+ ref={(el) => {
518
+ panelId !== undefined && (panelNodes.current[panelId] = el);
519
+ }}
520
+ style={calcPanelSwipeStyles(isSwipeBackPrev, isSwipeBackNext)}
521
+ key={panelId}
522
+ >
523
+ {platform === 'ios' && (
524
+ <div
525
+ className={styles.panelOverlay}
526
+ style={calcPanelSwipeBackOverlayStyles(isSwipeBackNext)}
527
+ />
528
+ )}
529
+ <div className={styles.panelIn} style={scrollCompensateStyle}>
530
+ <NavTransitionDirectionProvider isBack={swipingBack || isBack}>
531
+ <NavTransitionProvider
532
+ entering={panelId === nextPanel || panelId === swipeBackNextPanel}
533
+ animating={swipingBack || animated}
534
+ >
535
+ {panel}
536
+ </NavTransitionProvider>
537
+ </NavTransitionDirectionProvider>
544
538
  </div>
545
- );
546
- })}
547
- </div>
548
- </Touch>
549
- </LockFloatingPositionContext.Provider>
539
+ </div>
540
+ );
541
+ })}
542
+ </div>
543
+ </Touch>
550
544
  </NavViewIdContext.Provider>
551
545
  );
552
546
  };
@@ -6,7 +6,6 @@ import { withContext } from '../../hoc/withContext';
6
6
  import { withPlatform } from '../../hoc/withPlatform';
7
7
  import { millisecondsInSecond } from '../../lib/date';
8
8
  import { canUseDOM, type DOMProps, withDOM } from '../../lib/dom';
9
- import { LockFloatingPositionContext } from '../../lib/floating/LockFloatingPosition/LockFloatingPosition';
10
9
  import { getNavId, type NavIdProps } from '../../lib/getNavId';
11
10
  import { warnOnce } from '../../lib/warnOnce';
12
11
  import type { HasPlatform, HTMLAttributesWithRootRef } from '../../types';
@@ -601,78 +600,75 @@ class ViewInfiniteComponent extends React.Component<
601
600
 
602
601
  return (
603
602
  <NavViewIdContext.Provider value={id || nav}>
604
- <LockFloatingPositionContext.Provider value={swipingBack || animated}>
605
- <Touch
606
- Component="section"
607
- {...restProps}
608
- className={classNames(
609
- styles.host,
610
- platform === 'ios' && classNames(styles.ios, 'vkuiInternalView--ios'),
611
- !disableAnimation && this.state.animated && styles.animated,
612
- !disableAnimation && this.state.swipingBack && styles.swipingBack,
613
- disableAnimation && styles.noMotion,
614
- className,
615
- )}
616
- onMoveX={
617
- iOSSwipeBackSimulationEnabled
618
- ? this.handleTouchMoveXForIOSSwipeBackSimulation
619
- : platform === 'ios'
620
- ? this.handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext
621
- : undefined
622
- }
623
- onEnd={
624
- iOSSwipeBackSimulationEnabled
625
- ? this.handleTouchEndForIOSSwipeBackSimulation
603
+ <Touch
604
+ Component="section"
605
+ {...restProps}
606
+ className={classNames(
607
+ styles.host,
608
+ platform === 'ios' && classNames(styles.ios, 'vkuiInternalView--ios'),
609
+ !disableAnimation && this.state.animated && styles.animated,
610
+ !disableAnimation && this.state.swipingBack && styles.swipingBack,
611
+ disableAnimation && styles.noMotion,
612
+ className,
613
+ )}
614
+ onMoveX={
615
+ iOSSwipeBackSimulationEnabled
616
+ ? this.handleTouchMoveXForIOSSwipeBackSimulation
617
+ : platform === 'ios'
618
+ ? this.handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext
626
619
  : undefined
627
- }
628
- >
629
- <div className={styles.panels}>
630
- {panels.map((panel) => {
631
- const panelId = getNavId(panel.props, warn);
632
- const isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;
633
- const compensateScroll =
634
- isPrev || panelId === swipeBackNextPanel || (panelId === nextPanel && isBack);
635
- const isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);
636
- const scrollList = (panelId && this.scrolls.get(panelId)) || [];
637
- const scroll = scrollList[scrollList.length - 1] || 0;
638
-
639
- return (
620
+ }
621
+ onEnd={
622
+ iOSSwipeBackSimulationEnabled ? this.handleTouchEndForIOSSwipeBackSimulation : undefined
623
+ }
624
+ >
625
+ <div className={styles.panels}>
626
+ {panels.map((panel) => {
627
+ const panelId = getNavId(panel.props, warn);
628
+ const isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;
629
+ const compensateScroll =
630
+ isPrev || panelId === swipeBackNextPanel || (panelId === nextPanel && isBack);
631
+ const isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);
632
+ const scrollList = (panelId && this.scrolls.get(panelId)) || [];
633
+ const scroll = scrollList[scrollList.length - 1] || 0;
634
+
635
+ return (
636
+ <div
637
+ className={classNames(
638
+ styles.panel,
639
+ panelId === activePanel && styles.panelActive,
640
+ panelId === prevPanel && styles.panelPrev,
641
+ panelId === nextPanel && styles.panelNext,
642
+ panelId === swipeBackPrevPanel && styles.panelSwipeBackPrev,
643
+ panelId === swipeBackNextPanel && styles.panelSwipeBackNext,
644
+ swipeBackResult === 'success' && styles.panelSwipeBackSuccess,
645
+ swipeBackResult === 'fail' && styles.panelSwipeBackFailed,
646
+ )}
647
+ onAnimationEnd={isTransitionTarget ? this.transitionEndHandler : undefined}
648
+ ref={(el) => {
649
+ panelId !== undefined && (this.panelNodes[panelId] = el);
650
+ }}
651
+ style={this.calcPanelSwipeStyles(panelId)}
652
+ key={panelId}
653
+ >
640
654
  <div
641
- className={classNames(
642
- styles.panel,
643
- panelId === activePanel && styles.panelActive,
644
- panelId === prevPanel && styles.panelPrev,
645
- panelId === nextPanel && styles.panelNext,
646
- panelId === swipeBackPrevPanel && styles.panelSwipeBackPrev,
647
- panelId === swipeBackNextPanel && styles.panelSwipeBackNext,
648
- swipeBackResult === 'success' && styles.panelSwipeBackSuccess,
649
- swipeBackResult === 'fail' && styles.panelSwipeBackFailed,
650
- )}
651
- onAnimationEnd={isTransitionTarget ? this.transitionEndHandler : undefined}
652
- ref={(el) => {
653
- panelId !== undefined && (this.panelNodes[panelId] = el);
654
- }}
655
- style={this.calcPanelSwipeStyles(panelId)}
656
- key={panelId}
655
+ className={styles.panelIn}
656
+ style={{ marginTop: compensateScroll ? -scroll : undefined }}
657
657
  >
658
- <div
659
- className={styles.panelIn}
660
- style={{ marginTop: compensateScroll ? -scroll : undefined }}
661
- >
662
- <NavTransitionDirectionProvider isBack={swipingBack || isBack}>
663
- <NavTransitionProvider
664
- entering={panelId === nextPanel || panelId === swipeBackNextPanel}
665
- >
666
- {panel}
667
- </NavTransitionProvider>
668
- </NavTransitionDirectionProvider>
669
- </div>
658
+ <NavTransitionDirectionProvider isBack={swipingBack || isBack}>
659
+ <NavTransitionProvider
660
+ entering={panelId === nextPanel || panelId === swipeBackNextPanel}
661
+ animating={swipingBack || animated}
662
+ >
663
+ {panel}
664
+ </NavTransitionProvider>
665
+ </NavTransitionDirectionProvider>
670
666
  </div>
671
- );
672
- })}
673
- </div>
674
- </Touch>
675
- </LockFloatingPositionContext.Provider>
667
+ </div>
668
+ );
669
+ })}
670
+ </div>
671
+ </Touch>
676
672
  </NavViewIdContext.Provider>
677
673
  );
678
674
  }