@vkontakte/vkui 6.0.0-beta.2 → 6.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (725) hide show
  1. package/README.md +9 -5
  2. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  3. package/dist/cjs/components/ActionSheet/ActionSheet.js +0 -1
  4. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  5. package/dist/cjs/components/AppRoot/AppRoot.d.ts.map +1 -1
  6. package/dist/cjs/components/AppRoot/AppRoot.js +4 -8
  7. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  8. package/dist/cjs/components/AppRoot/helpers.d.ts +2 -4
  9. package/dist/cjs/components/AppRoot/helpers.d.ts.map +1 -1
  10. package/dist/cjs/components/AppRoot/helpers.js +2 -3
  11. package/dist/cjs/components/AppRoot/helpers.js.map +1 -1
  12. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts.map +1 -1
  13. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +2 -7
  14. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  15. package/dist/cjs/components/Badge/Badge.js +2 -2
  16. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  17. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +1 -1
  18. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  19. package/dist/cjs/components/BaseGallery/BaseGallery.js +27 -23
  20. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  21. package/dist/cjs/components/BaseGallery/CarouselBase/CarouselBase.d.ts +1 -1
  22. package/dist/cjs/components/BaseGallery/CarouselBase/CarouselBase.d.ts.map +1 -1
  23. package/dist/cjs/components/BaseGallery/CarouselBase/CarouselBase.js +22 -18
  24. package/dist/cjs/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
  25. package/dist/cjs/components/BaseGallery/types.d.ts +4 -1
  26. package/dist/cjs/components/BaseGallery/types.d.ts.map +1 -1
  27. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  28. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +9 -3
  29. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  30. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +7 -7
  31. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  32. package/dist/cjs/components/CalendarRange/CalendarRange.js +2 -2
  33. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  34. package/dist/cjs/components/CardScroll/CardScroll.d.ts +2 -2
  35. package/dist/cjs/components/CardScroll/CardScroll.d.ts.map +1 -1
  36. package/dist/cjs/components/CardScroll/CardScroll.js +3 -3
  37. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  38. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +3 -3
  39. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  40. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +3 -3
  41. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  42. package/dist/cjs/components/Clickable/Clickable.js +2 -2
  43. package/dist/cjs/components/Clickable/Clickable.js.map +1 -1
  44. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  45. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  46. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +4 -6
  47. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  48. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +25 -1
  49. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts.map +1 -1
  50. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +2 -0
  51. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  52. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +4 -1
  53. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  54. package/dist/cjs/components/CustomSelect/CustomSelect.js +3 -3
  55. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  56. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +5 -2
  57. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  58. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -4
  59. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  60. package/dist/cjs/components/Gallery/Gallery.d.ts.map +1 -1
  61. package/dist/cjs/components/Gallery/Gallery.js +1 -2
  62. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  63. package/dist/cjs/components/ImageBase/ImageBase.d.ts +3 -3
  64. package/dist/cjs/components/ImageBase/ImageBase.d.ts.map +1 -1
  65. package/dist/cjs/components/ImageBase/ImageBase.js +3 -3
  66. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  67. package/dist/cjs/components/InfoRow/InfoRow.js +2 -2
  68. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  69. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts +3 -2
  70. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  71. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +4 -5
  72. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  73. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  74. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +14 -4
  75. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  76. package/dist/cjs/components/PanelHeader/PanelHeader.js +20 -18
  77. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  78. package/dist/cjs/components/PanelSpinner/PanelSpinner.js +2 -2
  79. package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
  80. package/dist/cjs/components/Placeholder/Placeholder.d.ts +4 -4
  81. package/dist/cjs/components/Placeholder/Placeholder.d.ts.map +1 -1
  82. package/dist/cjs/components/Placeholder/Placeholder.js +14 -14
  83. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  84. package/dist/cjs/components/PlatformProvider/PlatformProvider.d.ts.map +1 -1
  85. package/dist/cjs/components/PlatformProvider/PlatformProvider.js +2 -7
  86. package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
  87. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +4 -4
  88. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  89. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +3 -3
  90. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  91. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +4 -4
  92. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  93. package/dist/cjs/components/RadioGroup/RadioGroup.js +2 -2
  94. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  95. package/dist/cjs/components/RootComponent/RootComponent.js +2 -2
  96. package/dist/cjs/components/RootComponent/RootComponent.js.map +1 -1
  97. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +1 -1
  98. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  99. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +2 -2
  100. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  101. package/dist/cjs/components/Select/Select.js +2 -2
  102. package/dist/cjs/components/Select/Select.js.map +1 -1
  103. package/dist/cjs/components/Separator/Separator.js +2 -2
  104. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  105. package/dist/cjs/components/Tabbar/Tabbar.d.ts +3 -3
  106. package/dist/cjs/components/Tabbar/Tabbar.d.ts.map +1 -1
  107. package/dist/cjs/components/Tabbar/Tabbar.js +3 -3
  108. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  109. package/dist/cjs/components/Tappable/Tappable.d.ts +0 -1
  110. package/dist/cjs/components/Tappable/Tappable.d.ts.map +1 -1
  111. package/dist/cjs/components/Tappable/Tappable.js +1 -1
  112. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  113. package/dist/cjs/components/Typography/Footnote/Footnote.js +2 -2
  114. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  115. package/dist/cjs/components/Typography/Typography.js +2 -2
  116. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  117. package/dist/cjs/components/View/View.d.ts.map +1 -1
  118. package/dist/cjs/components/View/View.js +17 -4
  119. package/dist/cjs/components/View/View.js.map +1 -1
  120. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +2 -2
  121. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  122. package/dist/cjs/hooks/useAppearance.d.ts.map +1 -1
  123. package/dist/cjs/hooks/useAppearance.js +2 -1
  124. package/dist/cjs/hooks/useAppearance.js.map +1 -1
  125. package/dist/cjs/hooks/useDateInput.js +2 -2
  126. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  127. package/dist/cjs/lib/appearance/index.d.ts +1 -0
  128. package/dist/cjs/lib/appearance/index.d.ts.map +1 -1
  129. package/dist/cjs/lib/appearance/index.js +12 -3
  130. package/dist/cjs/lib/appearance/index.js.map +1 -1
  131. package/dist/cjs/lib/platform.d.ts +5 -5
  132. package/dist/cjs/lib/platform.d.ts.map +1 -1
  133. package/dist/cjs/lib/platform.js.map +1 -1
  134. package/dist/cjs/lib/tokens/TokensClassProvider.d.ts +6 -0
  135. package/dist/cjs/lib/tokens/TokensClassProvider.d.ts.map +1 -0
  136. package/dist/cjs/lib/tokens/TokensClassProvider.js +30 -0
  137. package/dist/cjs/lib/tokens/TokensClassProvider.js.map +1 -0
  138. package/dist/cjs/lib/tokens/constants.d.ts +15 -0
  139. package/dist/cjs/lib/tokens/constants.d.ts.map +1 -0
  140. package/dist/cjs/lib/tokens/constants.js +26 -0
  141. package/dist/cjs/lib/tokens/constants.js.map +1 -0
  142. package/dist/cjs/lib/tokens/index.d.ts +5 -0
  143. package/dist/cjs/lib/tokens/index.d.ts.map +1 -0
  144. package/dist/cjs/lib/tokens/index.js +26 -0
  145. package/dist/cjs/lib/tokens/index.js.map +1 -0
  146. package/dist/cjs/lib/tokens/types.d.ts +33 -0
  147. package/dist/cjs/lib/tokens/types.d.ts.map +1 -0
  148. package/dist/cjs/lib/tokens/types.js +6 -0
  149. package/dist/cjs/lib/tokens/types.js.map +1 -0
  150. package/dist/cjs/lib/tokens/useTokenClassName.d.ts +5 -0
  151. package/dist/cjs/lib/tokens/useTokenClassName.d.ts.map +1 -0
  152. package/dist/cjs/lib/tokens/useTokenClassName.js +27 -0
  153. package/dist/cjs/lib/tokens/useTokenClassName.js.map +1 -0
  154. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  155. package/dist/components/ActionSheet/ActionSheet.js +0 -1
  156. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  157. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  158. package/dist/components/AppRoot/AppRoot.js +4 -8
  159. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  160. package/dist/components/AppRoot/helpers.d.ts +2 -4
  161. package/dist/components/AppRoot/helpers.d.ts.map +1 -1
  162. package/dist/components/AppRoot/helpers.js +2 -3
  163. package/dist/components/AppRoot/helpers.js.map +1 -1
  164. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts.map +1 -1
  165. package/dist/components/AppearanceProvider/AppearanceProvider.js +2 -7
  166. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  167. package/dist/components/Badge/Badge.js +2 -2
  168. package/dist/components/Badge/Badge.js.map +1 -1
  169. package/dist/components/BaseGallery/BaseGallery.d.ts +1 -1
  170. package/dist/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  171. package/dist/components/BaseGallery/BaseGallery.js +27 -23
  172. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  173. package/dist/components/BaseGallery/CarouselBase/CarouselBase.d.ts +1 -1
  174. package/dist/components/BaseGallery/CarouselBase/CarouselBase.d.ts.map +1 -1
  175. package/dist/components/BaseGallery/CarouselBase/CarouselBase.js +22 -18
  176. package/dist/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
  177. package/dist/components/BaseGallery/types.d.ts +4 -1
  178. package/dist/components/BaseGallery/types.d.ts.map +1 -1
  179. package/dist/components/BaseGallery/types.js.map +1 -1
  180. package/dist/components/CalendarHeader/CalendarHeader.d.ts +9 -3
  181. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  182. package/dist/components/CalendarHeader/CalendarHeader.js +7 -7
  183. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  184. package/dist/components/CalendarRange/CalendarRange.js +2 -2
  185. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  186. package/dist/components/CardScroll/CardScroll.d.ts +2 -2
  187. package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
  188. package/dist/components/CardScroll/CardScroll.js +3 -3
  189. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  190. package/dist/components/ChipsSelect/ChipsSelect.d.ts +3 -3
  191. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  192. package/dist/components/ChipsSelect/ChipsSelect.js +3 -3
  193. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  194. package/dist/components/Clickable/Clickable.js +2 -2
  195. package/dist/components/Clickable/Clickable.js.map +1 -1
  196. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  197. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  198. package/dist/components/ConfigProvider/ConfigProvider.js +4 -6
  199. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  200. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +25 -1
  201. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts.map +1 -1
  202. package/dist/components/ConfigProvider/ConfigProviderContext.js +2 -0
  203. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  204. package/dist/components/CustomSelect/CustomSelect.d.ts +4 -1
  205. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  206. package/dist/components/CustomSelect/CustomSelect.js +3 -3
  207. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  208. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +5 -2
  209. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  210. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -4
  211. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  212. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  213. package/dist/components/Gallery/Gallery.js +1 -2
  214. package/dist/components/Gallery/Gallery.js.map +1 -1
  215. package/dist/components/ImageBase/ImageBase.d.ts +3 -3
  216. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  217. package/dist/components/ImageBase/ImageBase.js +3 -3
  218. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  219. package/dist/components/InfoRow/InfoRow.js +2 -2
  220. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  221. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +3 -2
  222. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  223. package/dist/components/ModalPageHeader/ModalPageHeader.js +4 -5
  224. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  225. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  226. package/dist/components/PanelHeader/PanelHeader.d.ts +14 -4
  227. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  228. package/dist/components/PanelHeader/PanelHeader.js +20 -18
  229. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  230. package/dist/components/PanelSpinner/PanelSpinner.js +2 -2
  231. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  232. package/dist/components/Placeholder/Placeholder.d.ts +4 -4
  233. package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
  234. package/dist/components/Placeholder/Placeholder.js +14 -14
  235. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  236. package/dist/components/PlatformProvider/PlatformProvider.d.ts.map +1 -1
  237. package/dist/components/PlatformProvider/PlatformProvider.js +2 -7
  238. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  239. package/dist/components/PopoutRoot/PopoutRoot.js +4 -4
  240. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  241. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +3 -3
  242. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  243. package/dist/components/PopoutWrapper/PopoutWrapper.js +4 -4
  244. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  245. package/dist/components/RadioGroup/RadioGroup.js +2 -2
  246. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  247. package/dist/components/RootComponent/RootComponent.js +2 -2
  248. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  249. package/dist/components/ScreenSpinner/ScreenSpinner.js +1 -1
  250. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  251. package/dist/components/SegmentedControl/SegmentedControl.js +2 -2
  252. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  253. package/dist/components/Select/Select.js +2 -2
  254. package/dist/components/Select/Select.js.map +1 -1
  255. package/dist/components/Separator/Separator.js +2 -2
  256. package/dist/components/Separator/Separator.js.map +1 -1
  257. package/dist/components/Tabbar/Tabbar.d.ts +3 -3
  258. package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
  259. package/dist/components/Tabbar/Tabbar.js +3 -3
  260. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  261. package/dist/components/Tappable/Tappable.d.ts +0 -1
  262. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  263. package/dist/components/Tappable/Tappable.js +1 -1
  264. package/dist/components/Tappable/Tappable.js.map +1 -1
  265. package/dist/components/Typography/Footnote/Footnote.js +2 -2
  266. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  267. package/dist/components/Typography/Typography.js +2 -2
  268. package/dist/components/Typography/Typography.js.map +1 -1
  269. package/dist/components/View/View.d.ts.map +1 -1
  270. package/dist/components/View/View.js +17 -4
  271. package/dist/components/View/View.js.map +1 -1
  272. package/dist/components/VisuallyHidden/VisuallyHidden.js +2 -2
  273. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  274. package/dist/components.css +6 -6
  275. package/dist/components.css.map +1 -1
  276. package/dist/components.js.tmp +2236 -2191
  277. package/dist/cssm/components/Accordion/Accordion.module.css +2 -1
  278. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  279. package/dist/cssm/components/ActionSheet/ActionSheet.js +0 -1
  280. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  281. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +1 -0
  282. package/dist/cssm/components/Alert/Alert.module.css +1 -1
  283. package/dist/cssm/components/AppRoot/AppRoot.d.ts.map +1 -1
  284. package/dist/cssm/components/AppRoot/AppRoot.js +4 -8
  285. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  286. package/dist/cssm/components/AppRoot/AppRoot.module.css +2 -0
  287. package/dist/cssm/components/AppRoot/helpers.d.ts +2 -4
  288. package/dist/cssm/components/AppRoot/helpers.d.ts.map +1 -1
  289. package/dist/cssm/components/AppRoot/helpers.js +2 -3
  290. package/dist/cssm/components/AppRoot/helpers.js.map +1 -1
  291. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts.map +1 -1
  292. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +2 -7
  293. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  294. package/dist/cssm/components/AspectRatio/AspectRatio.module.css +2 -2
  295. package/dist/cssm/components/Badge/Badge.module.css +2 -0
  296. package/dist/cssm/components/Banner/Banner.module.css +7 -1
  297. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +1 -1
  298. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  299. package/dist/cssm/components/BaseGallery/BaseGallery.js +30 -26
  300. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  301. package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.d.ts +1 -1
  302. package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.d.ts.map +1 -1
  303. package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.js +21 -17
  304. package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
  305. package/dist/cssm/components/BaseGallery/types.d.ts +4 -1
  306. package/dist/cssm/components/BaseGallery/types.d.ts.map +1 -1
  307. package/dist/cssm/components/BaseGallery/types.js.map +1 -1
  308. package/dist/cssm/components/ButtonGroup/ButtonGroup.module.css +2 -2
  309. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +9 -3
  310. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  311. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +5 -5
  312. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  313. package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -2
  314. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  315. package/dist/cssm/components/Card/Card.module.css +36 -0
  316. package/dist/cssm/components/CardGrid/CardGrid.module.css +7 -0
  317. package/dist/cssm/components/CardScroll/CardScroll.d.ts +2 -2
  318. package/dist/cssm/components/CardScroll/CardScroll.d.ts.map +1 -1
  319. package/dist/cssm/components/CardScroll/CardScroll.js +2 -2
  320. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  321. package/dist/cssm/components/CardScroll/CardScroll.module.css +12 -0
  322. package/dist/cssm/components/Cell/Cell.module.css +9 -1
  323. package/dist/cssm/components/Cell/CellDragger/CellDragger.module.css +1 -1
  324. package/dist/cssm/components/CellButton/CellButton.module.css +5 -1
  325. package/dist/cssm/components/Checkbox/Checkbox.module.css +2 -0
  326. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +3 -3
  327. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  328. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
  329. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  330. package/dist/cssm/components/Clickable/Clickable.module.css +0 -22
  331. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  332. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  333. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +4 -6
  334. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  335. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +25 -1
  336. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts.map +1 -1
  337. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +2 -0
  338. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  339. package/dist/cssm/components/Counter/Counter.module.css +4 -0
  340. package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +4 -0
  341. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +4 -1
  342. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  343. package/dist/cssm/components/CustomSelect/CustomSelect.js +2 -2
  344. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  345. package/dist/cssm/components/CustomSelect/CustomSelectInput.module.css +2 -0
  346. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +5 -2
  347. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  348. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +3 -3
  349. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  350. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +2 -0
  351. package/dist/cssm/components/FixedLayout/FixedLayout.module.css +3 -1
  352. package/dist/cssm/components/FormField/FormField.module.css +21 -1
  353. package/dist/cssm/components/FormItem/FormItem.module.css +15 -0
  354. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +5 -0
  355. package/dist/cssm/components/Gallery/Gallery.d.ts.map +1 -1
  356. package/dist/cssm/components/Gallery/Gallery.js +1 -2
  357. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  358. package/dist/cssm/components/Group/Group.module.css +1 -1
  359. package/dist/cssm/components/Header/Header.module.css +13 -3
  360. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +2 -2
  361. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +6 -0
  362. package/dist/cssm/components/IconButton/IconButton.module.css +33 -0
  363. package/dist/cssm/components/ImageBase/ImageBase.d.ts +3 -3
  364. package/dist/cssm/components/ImageBase/ImageBase.d.ts.map +1 -1
  365. package/dist/cssm/components/ImageBase/ImageBase.js +2 -2
  366. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  367. package/dist/cssm/components/ImageBase/ImageBase.module.css +4 -0
  368. package/dist/cssm/components/Link/Link.module.css +1 -1
  369. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +4 -0
  370. package/dist/cssm/components/ModalCard/ModalCard.module.css +2 -0
  371. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.module.css +1 -1
  372. package/dist/cssm/components/ModalPage/ModalPage.module.css +10 -0
  373. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.d.ts +3 -2
  374. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  375. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -4
  376. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  377. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +2 -0
  378. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  379. package/dist/cssm/components/Panel/Panel.module.css +10 -80
  380. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +14 -4
  381. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  382. package/dist/cssm/components/PanelHeader/PanelHeader.js +17 -15
  383. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  384. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +19 -5
  385. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +11 -1
  386. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +2 -0
  387. package/dist/cssm/components/Placeholder/Placeholder.d.ts +4 -4
  388. package/dist/cssm/components/Placeholder/Placeholder.d.ts.map +1 -1
  389. package/dist/cssm/components/Placeholder/Placeholder.js +4 -4
  390. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  391. package/dist/cssm/components/PlatformProvider/PlatformProvider.d.ts.map +1 -1
  392. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +2 -7
  393. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  394. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +3 -3
  395. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  396. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +3 -3
  397. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  398. package/dist/cssm/components/Radio/Radio.module.css +4 -0
  399. package/dist/cssm/components/RadioGroup/RadioGroup.module.css +2 -0
  400. package/dist/cssm/components/Removable/Removable.module.css +7 -0
  401. package/dist/cssm/components/RichCell/RichCell.module.css +2 -0
  402. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -1
  403. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  404. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +3 -1
  405. package/dist/cssm/components/Search/Search.module.css +1 -1
  406. package/dist/cssm/components/Select/Select.js +1 -1
  407. package/dist/cssm/components/Select/Select.js.map +1 -1
  408. package/dist/cssm/components/Select/Select.module.css +2 -0
  409. package/dist/cssm/components/Separator/Separator.module.css +3 -0
  410. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +9 -3
  411. package/dist/cssm/components/Snackbar/Snackbar.module.css +2 -0
  412. package/dist/cssm/components/Spinner/Spinner.module.css +2 -0
  413. package/dist/cssm/components/Switch/Switch.module.css +2 -0
  414. package/dist/cssm/components/Tabbar/Tabbar.d.ts +3 -3
  415. package/dist/cssm/components/Tabbar/Tabbar.d.ts.map +1 -1
  416. package/dist/cssm/components/Tabbar/Tabbar.js +2 -2
  417. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  418. package/dist/cssm/components/TabbarItem/TabbarItem.module.css +10 -0
  419. package/dist/cssm/components/Tabs/Tabs.module.css +11 -1
  420. package/dist/cssm/components/TabsItem/TabsItem.module.css +6 -0
  421. package/dist/cssm/components/Tappable/Tappable.d.ts +0 -1
  422. package/dist/cssm/components/Tappable/Tappable.d.ts.map +1 -1
  423. package/dist/cssm/components/Tappable/Tappable.js +0 -1
  424. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  425. package/dist/cssm/components/Tappable/Tappable.module.css +19 -0
  426. package/dist/cssm/components/Typography/Typography.module.css +1 -1
  427. package/dist/cssm/components/View/View.d.ts.map +1 -1
  428. package/dist/cssm/components/View/View.js +17 -4
  429. package/dist/cssm/components/View/View.js.map +1 -1
  430. package/dist/cssm/components/View/View.module.css +2 -0
  431. package/dist/cssm/hooks/useAppearance.d.ts.map +1 -1
  432. package/dist/cssm/hooks/useAppearance.js +2 -1
  433. package/dist/cssm/hooks/useAppearance.js.map +1 -1
  434. package/dist/cssm/hooks/useDateInput.js +2 -2
  435. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  436. package/dist/cssm/lib/appearance/index.d.ts +1 -0
  437. package/dist/cssm/lib/appearance/index.d.ts.map +1 -1
  438. package/dist/cssm/lib/appearance/index.js +1 -0
  439. package/dist/cssm/lib/appearance/index.js.map +1 -1
  440. package/dist/cssm/lib/platform.d.ts +5 -5
  441. package/dist/cssm/lib/platform.d.ts.map +1 -1
  442. package/dist/cssm/lib/platform.js.map +1 -1
  443. package/dist/cssm/lib/tokens/TokensClassProvider.d.ts +6 -0
  444. package/dist/cssm/lib/tokens/TokensClassProvider.d.ts.map +1 -0
  445. package/dist/cssm/lib/tokens/TokensClassProvider.js +19 -0
  446. package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -0
  447. package/dist/cssm/lib/tokens/constants.d.ts +15 -0
  448. package/dist/cssm/lib/tokens/constants.d.ts.map +1 -0
  449. package/dist/cssm/lib/tokens/constants.js +16 -0
  450. package/dist/cssm/lib/tokens/constants.js.map +1 -0
  451. package/dist/cssm/lib/tokens/index.d.ts +5 -0
  452. package/dist/cssm/lib/tokens/index.d.ts.map +1 -0
  453. package/dist/cssm/lib/tokens/index.js +5 -0
  454. package/dist/cssm/lib/tokens/index.js.map +1 -0
  455. package/dist/cssm/lib/tokens/types.d.ts +33 -0
  456. package/dist/cssm/lib/tokens/types.d.ts.map +1 -0
  457. package/dist/cssm/lib/tokens/types.js +3 -0
  458. package/dist/cssm/lib/tokens/types.js.map +1 -0
  459. package/dist/cssm/lib/tokens/useTokenClassName.d.ts +5 -0
  460. package/dist/cssm/lib/tokens/useTokenClassName.d.ts.map +1 -0
  461. package/dist/cssm/lib/tokens/useTokenClassName.js +18 -0
  462. package/dist/cssm/lib/tokens/useTokenClassName.js.map +1 -0
  463. package/dist/cssm/styles/focusVisible.module.css +1 -1
  464. package/dist/hooks/useAppearance.d.ts.map +1 -1
  465. package/dist/hooks/useAppearance.js +2 -1
  466. package/dist/hooks/useAppearance.js.map +1 -1
  467. package/dist/hooks/useDateInput.js +2 -2
  468. package/dist/hooks/useDateInput.js.map +1 -1
  469. package/dist/lib/appearance/index.d.ts +1 -0
  470. package/dist/lib/appearance/index.d.ts.map +1 -1
  471. package/dist/lib/appearance/index.js +1 -0
  472. package/dist/lib/appearance/index.js.map +1 -1
  473. package/dist/lib/platform.d.ts +5 -5
  474. package/dist/lib/platform.d.ts.map +1 -1
  475. package/dist/lib/platform.js.map +1 -1
  476. package/dist/lib/tokens/TokensClassProvider.d.ts +6 -0
  477. package/dist/lib/tokens/TokensClassProvider.d.ts.map +1 -0
  478. package/dist/lib/tokens/TokensClassProvider.js +19 -0
  479. package/dist/lib/tokens/TokensClassProvider.js.map +1 -0
  480. package/dist/lib/tokens/constants.d.ts +15 -0
  481. package/dist/lib/tokens/constants.d.ts.map +1 -0
  482. package/dist/lib/tokens/constants.js +16 -0
  483. package/dist/lib/tokens/constants.js.map +1 -0
  484. package/dist/lib/tokens/index.d.ts +5 -0
  485. package/dist/lib/tokens/index.d.ts.map +1 -0
  486. package/dist/lib/tokens/index.js +5 -0
  487. package/dist/lib/tokens/index.js.map +1 -0
  488. package/dist/lib/tokens/types.d.ts +33 -0
  489. package/dist/lib/tokens/types.d.ts.map +1 -0
  490. package/dist/lib/tokens/types.js +3 -0
  491. package/dist/lib/tokens/types.js.map +1 -0
  492. package/dist/lib/tokens/useTokenClassName.d.ts +5 -0
  493. package/dist/lib/tokens/useTokenClassName.d.ts.map +1 -0
  494. package/dist/lib/tokens/useTokenClassName.js +18 -0
  495. package/dist/lib/tokens/useTokenClassName.js.map +1 -0
  496. package/dist/vkui.css +6 -6
  497. package/dist/vkui.css.map +1 -1
  498. package/dist/vkui.js.tmp +2236 -2191
  499. package/package.json +2 -2
  500. package/src/components/Accordion/Accordion.module.css +0 -1
  501. package/src/components/ActionSheet/ActionSheet.e2e-playground.tsx +7 -1
  502. package/src/components/ActionSheet/ActionSheet.e2e.tsx +10 -0
  503. package/src/components/ActionSheet/ActionSheet.tsx +0 -1
  504. package/src/components/ActionSheet/Readme.md +1 -1
  505. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-chromium-dark-1-snap.png +2 -2
  506. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-chromium-light-1-snap.png +2 -2
  507. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-firefox-dark-1-snap.png +2 -2
  508. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-firefox-light-1-snap.png +2 -2
  509. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-webkit-dark-1-snap.png +2 -2
  510. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-desktop-sizey-regular-vkcom-webkit-light-1-snap.png +2 -2
  511. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-mobile-sizey-regular-android-chromium-dark-1-snap.png +2 -2
  512. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-mobile-sizey-regular-android-chromium-light-1-snap.png +2 -2
  513. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-mobile-sizey-regular-ios-webkit-dark-1-snap.png +2 -2
  514. package/src/components/ActionSheet/__image_snapshots__/actionsheet-viewwidth-mobile-sizey-regular-ios-webkit-light-1-snap.png +2 -2
  515. package/src/components/ActionSheetItem/ActionSheetItem.module.css +1 -0
  516. package/src/components/Alert/Alert.module.css +1 -1
  517. package/src/components/Alert/Alert.test.tsx +2 -1
  518. package/src/components/Alert/Readme.md +1 -1
  519. package/src/components/AppRoot/AppRoot.module.css +1 -0
  520. package/src/components/AppRoot/AppRoot.test.tsx +70 -53
  521. package/src/components/AppRoot/AppRoot.tsx +4 -8
  522. package/src/components/AppRoot/Readme.md +1 -1
  523. package/src/components/AppRoot/helpers.ts +3 -7
  524. package/src/components/AppearanceProvider/AppearanceProvider.tsx +2 -7
  525. package/src/components/AspectRatio/AspectRatio.module.css +2 -2
  526. package/src/components/Avatar/Avatar.e2e-playground.tsx +1 -1
  527. package/src/components/Avatar/Readme.md +1 -1
  528. package/src/components/Avatar/__image_snapshots__/avatar-android-chromium-dark-1-snap.png +2 -2
  529. package/src/components/Avatar/__image_snapshots__/avatar-android-chromium-light-1-snap.png +2 -2
  530. package/src/components/Avatar/__image_snapshots__/avatar-ios-webkit-dark-1-snap.png +2 -2
  531. package/src/components/Avatar/__image_snapshots__/avatar-ios-webkit-light-1-snap.png +2 -2
  532. package/src/components/Avatar/__image_snapshots__/avatar-vkcom-chromium-dark-1-snap.png +2 -2
  533. package/src/components/Avatar/__image_snapshots__/avatar-vkcom-chromium-light-1-snap.png +2 -2
  534. package/src/components/Avatar/__image_snapshots__/avatar-vkcom-firefox-dark-1-snap.png +2 -2
  535. package/src/components/Avatar/__image_snapshots__/avatar-vkcom-firefox-light-1-snap.png +2 -2
  536. package/src/components/Avatar/__image_snapshots__/avatar-vkcom-webkit-dark-1-snap.png +2 -2
  537. package/src/components/Avatar/__image_snapshots__/avatar-vkcom-webkit-light-1-snap.png +2 -2
  538. package/src/components/Badge/Badge.module.css +1 -0
  539. package/src/components/Banner/Banner.module.css +4 -1
  540. package/src/components/BaseGallery/BaseGallery.tsx +25 -21
  541. package/src/components/BaseGallery/CarouselBase/CarouselBase.tsx +27 -23
  542. package/src/components/BaseGallery/types.ts +4 -1
  543. package/src/components/ButtonGroup/ButtonGroup.module.css +2 -2
  544. package/src/components/CalendarHeader/CalendarHeader.test.tsx +23 -8
  545. package/src/components/CalendarHeader/CalendarHeader.tsx +14 -8
  546. package/src/components/CalendarRange/CalendarRange.tsx +2 -2
  547. package/src/components/Card/Card.module.css +20 -0
  548. package/src/components/CardGrid/CardGrid.module.css +4 -0
  549. package/src/components/CardScroll/CardScroll.e2e-playground.tsx +1 -1
  550. package/src/components/CardScroll/CardScroll.module.css +8 -0
  551. package/src/components/CardScroll/CardScroll.tsx +3 -3
  552. package/src/components/CardScroll/__image_snapshots__/cardscroll-android-chromium-dark-1-snap.png +2 -2
  553. package/src/components/CardScroll/__image_snapshots__/cardscroll-android-chromium-light-1-snap.png +2 -2
  554. package/src/components/CardScroll/__image_snapshots__/cardscroll-ios-webkit-dark-1-snap.png +2 -2
  555. package/src/components/CardScroll/__image_snapshots__/cardscroll-ios-webkit-light-1-snap.png +2 -2
  556. package/src/components/CardScroll/__image_snapshots__/cardscroll-vkcom-chromium-dark-1-snap.png +2 -2
  557. package/src/components/CardScroll/__image_snapshots__/cardscroll-vkcom-chromium-light-1-snap.png +2 -2
  558. package/src/components/CardScroll/__image_snapshots__/cardscroll-vkcom-firefox-dark-1-snap.png +2 -2
  559. package/src/components/CardScroll/__image_snapshots__/cardscroll-vkcom-firefox-light-1-snap.png +2 -2
  560. package/src/components/CardScroll/__image_snapshots__/cardscroll-vkcom-webkit-dark-1-snap.png +2 -2
  561. package/src/components/CardScroll/__image_snapshots__/cardscroll-vkcom-webkit-light-1-snap.png +2 -2
  562. package/src/components/Cell/Cell.module.css +5 -1
  563. package/src/components/Cell/CellDragger/CellDragger.module.css +1 -1
  564. package/src/components/CellButton/CellButton.module.css +3 -1
  565. package/src/components/Checkbox/Checkbox.module.css +1 -0
  566. package/src/components/ChipsSelect/ChipsSelect.tsx +4 -4
  567. package/src/components/Clickable/Clickable.module.css +0 -20
  568. package/src/components/ConfigProvider/ConfigProvider.test.tsx +54 -8
  569. package/src/components/ConfigProvider/ConfigProvider.tsx +5 -5
  570. package/src/components/ConfigProvider/ConfigProviderContext.tsx +26 -1
  571. package/src/components/ConfigProvider/Readme.md +4 -4
  572. package/src/components/Counter/Counter.module.css +2 -0
  573. package/src/components/CustomScrollView/CustomScrollView.module.css +2 -0
  574. package/src/components/CustomSelect/CustomSelect.tsx +6 -3
  575. package/src/components/CustomSelect/CustomSelectInput.module.css +1 -0
  576. package/src/components/CustomSelectDropdown/CustomSelectDropdown.module.css +1 -0
  577. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +7 -4
  578. package/src/components/Epic/Epic.stories.tsx +1 -1
  579. package/src/components/Epic/Readme.md +1 -1
  580. package/src/components/FixedLayout/FixedLayout.module.css +2 -1
  581. package/src/components/FormField/FormField.module.css +11 -1
  582. package/src/components/FormField/Readme.md +1 -1
  583. package/src/components/FormItem/FormItem.module.css +8 -0
  584. package/src/components/FormLayoutGroup/FormLayoutGroup.module.css +3 -0
  585. package/src/components/Gallery/Gallery.tsx +1 -2
  586. package/src/components/Gallery/Readme.md +4 -4
  587. package/src/components/Group/Group.module.css +1 -1
  588. package/src/components/Header/Header.module.css +8 -2
  589. package/src/components/HorizontalCell/HorizontalCell.module.css +2 -2
  590. package/src/components/HorizontalScroll/HorizontalScroll.module.css +3 -0
  591. package/src/components/IconButton/IconButton.module.css +19 -0
  592. package/src/components/Image/Image.e2e-playground.tsx +1 -1
  593. package/src/components/Image/__image_snapshots__/image-android-chromium-dark-1-snap.png +2 -2
  594. package/src/components/Image/__image_snapshots__/image-android-chromium-light-1-snap.png +2 -2
  595. package/src/components/Image/__image_snapshots__/image-ios-webkit-dark-1-snap.png +2 -2
  596. package/src/components/Image/__image_snapshots__/image-ios-webkit-light-1-snap.png +2 -2
  597. package/src/components/Image/__image_snapshots__/image-vkcom-chromium-dark-1-snap.png +2 -2
  598. package/src/components/Image/__image_snapshots__/image-vkcom-chromium-light-1-snap.png +2 -2
  599. package/src/components/Image/__image_snapshots__/image-vkcom-firefox-dark-1-snap.png +2 -2
  600. package/src/components/Image/__image_snapshots__/image-vkcom-firefox-light-1-snap.png +2 -2
  601. package/src/components/Image/__image_snapshots__/image-vkcom-webkit-dark-1-snap.png +2 -2
  602. package/src/components/Image/__image_snapshots__/image-vkcom-webkit-light-1-snap.png +2 -2
  603. package/src/components/ImageBase/ImageBase.module.css +2 -0
  604. package/src/components/ImageBase/ImageBase.tsx +4 -4
  605. package/src/components/Input/Readme.md +7 -2
  606. package/src/components/Link/Link.module.css +1 -1
  607. package/src/components/MiniInfoCell/MiniInfoCell.module.css +2 -0
  608. package/src/components/ModalCard/ModalCard.module.css +1 -0
  609. package/src/components/ModalCardBase/Readme.md +1 -1
  610. package/src/components/ModalDismissButton/ModalDismissButton.module.css +1 -1
  611. package/src/components/ModalPage/ModalPage.module.css +5 -0
  612. package/src/components/ModalPageHeader/ModalPageHeader.module.css +1 -0
  613. package/src/components/ModalPageHeader/ModalPageHeader.tsx +7 -6
  614. package/src/components/ModalPageHeader/__image_snapshots__/modalpageheader-viewwidth-desktop-android-chromium-dark-1-snap.png +2 -2
  615. package/src/components/ModalPageHeader/__image_snapshots__/modalpageheader-viewwidth-desktop-android-chromium-light-1-snap.png +2 -2
  616. package/src/components/ModalPageHeader/__image_snapshots__/modalpageheader-viewwidth-desktop-ios-only-ios-webkit-dark-1-snap.png +2 -2
  617. package/src/components/ModalPageHeader/__image_snapshots__/modalpageheader-viewwidth-desktop-ios-only-ios-webkit-light-1-snap.png +2 -2
  618. package/src/components/ModalPageHeader/__image_snapshots__/modalpageheader-viewwidth-mobile-android-chromium-dark-1-snap.png +2 -2
  619. package/src/components/ModalPageHeader/__image_snapshots__/modalpageheader-viewwidth-mobile-android-chromium-light-1-snap.png +2 -2
  620. package/src/components/ModalPageHeader/__image_snapshots__/modalpageheader-viewwidth-mobile-ios-only-ios-webkit-dark-1-snap.png +2 -2
  621. package/src/components/ModalPageHeader/__image_snapshots__/modalpageheader-viewwidth-mobile-ios-only-ios-webkit-light-1-snap.png +2 -2
  622. package/src/components/ModalRoot/Readme.md +1 -1
  623. package/src/components/OnboardingTooltip/Readme.md +1 -1
  624. package/src/components/Panel/Panel.module.css +8 -73
  625. package/src/components/Panel/Panel.stories.tsx +1 -1
  626. package/src/components/Panel/Readme.md +1 -1
  627. package/src/components/PanelHeader/PanelHeader.e2e-playground.tsx +35 -0
  628. package/src/components/PanelHeader/PanelHeader.e2e.tsx +16 -0
  629. package/src/components/PanelHeader/PanelHeader.module.css +14 -5
  630. package/src/components/PanelHeader/PanelHeader.tsx +54 -52
  631. package/src/components/PanelHeader/Readme.md +13 -7
  632. package/src/components/PanelHeader/__image_snapshots__/panelheader-android-chromium-light-1-snap.png +3 -0
  633. package/src/components/PanelHeader/__image_snapshots__/panelheader-ios-webkit-light-1-snap.png +3 -0
  634. package/src/components/PanelHeader/__image_snapshots__/panelheader-vkcom-chromium-light-1-snap.png +3 -0
  635. package/src/components/PanelHeader/__image_snapshots__/panelheader-vkcom-firefox-light-1-snap.png +3 -0
  636. package/src/components/PanelHeader/__image_snapshots__/panelheader-vkcom-webkit-light-1-snap.png +3 -0
  637. package/src/components/PanelHeaderButton/PanelHeaderButton.module.css +6 -1
  638. package/src/components/PanelHeaderContent/PanelHeaderContent.module.css +1 -0
  639. package/src/components/PanelHeaderContent/Readme.md +2 -4
  640. package/src/components/PanelHeaderContext/Readme.md +1 -1
  641. package/src/components/PanelSpinner/Readme.md +1 -1
  642. package/src/components/Placeholder/Placeholder.tsx +6 -6
  643. package/src/components/PlatformProvider/PlatformProvider.tsx +2 -7
  644. package/src/components/PopoutWrapper/PopoutWrapper.test.tsx +4 -4
  645. package/src/components/PopoutWrapper/PopoutWrapper.tsx +5 -5
  646. package/src/components/PullToRefresh/PullToRefresh.test.tsx +7 -2
  647. package/src/components/Radio/Radio.module.css +2 -0
  648. package/src/components/RadioGroup/RadioGroup.module.css +1 -0
  649. package/src/components/Removable/Removable.module.css +4 -0
  650. package/src/components/RichCell/RichCell.module.css +1 -0
  651. package/src/components/ScreenSpinner/Readme.md +3 -3
  652. package/src/components/ScreenSpinner/ScreenSpinner.module.css +2 -1
  653. package/src/components/ScreenSpinner/ScreenSpinner.tsx +1 -1
  654. package/src/components/Search/Readme.md +7 -3
  655. package/src/components/Search/Search.module.css +1 -1
  656. package/src/components/Select/Select.module.css +1 -0
  657. package/src/components/Select/Select.tsx +1 -1
  658. package/src/components/Separator/Separator.module.css +2 -0
  659. package/src/components/SimpleCell/SimpleCell.module.css +6 -3
  660. package/src/components/Snackbar/Snackbar.module.css +1 -0
  661. package/src/components/Spinner/Readme.md +1 -1
  662. package/src/components/Spinner/Spinner.module.css +1 -1
  663. package/src/components/SplitLayout/Readme.md +1 -1
  664. package/src/components/SplitLayout/SplitLayout.stories.tsx +1 -1
  665. package/src/components/SubnavigationButton/Readme.md +1 -1
  666. package/src/components/Switch/Switch.module.css +1 -0
  667. package/src/components/Tabbar/Readme.md +3 -3
  668. package/src/components/Tabbar/Tabbar.e2e-playground.tsx +1 -1
  669. package/src/components/Tabbar/Tabbar.tsx +4 -4
  670. package/src/components/Tabbar/__image_snapshots__/tabbar-android-chromium-dark-1-snap.png +2 -2
  671. package/src/components/Tabbar/__image_snapshots__/tabbar-android-chromium-light-1-snap.png +2 -2
  672. package/src/components/Tabbar/__image_snapshots__/tabbar-ios-webkit-dark-1-snap.png +2 -2
  673. package/src/components/Tabbar/__image_snapshots__/tabbar-ios-webkit-light-1-snap.png +2 -2
  674. package/src/components/TabbarItem/TabbarItem.module.css +5 -0
  675. package/src/components/Tabs/Tabs.module.css +6 -1
  676. package/src/components/TabsItem/Readme.md +1 -1
  677. package/src/components/TabsItem/TabsItem.module.css +3 -0
  678. package/src/components/Tappable/Readme.md +2 -2
  679. package/src/components/Tappable/Tappable.module.css +17 -0
  680. package/src/components/Tappable/Tappable.tsx +0 -2
  681. package/src/components/TooltipBase/Readme.md +2 -2
  682. package/src/components/Typography/Typography.module.css +1 -1
  683. package/src/components/View/View.module.css +1 -0
  684. package/src/components/View/View.test.tsx +17 -2
  685. package/src/components/View/View.tsx +28 -5
  686. package/src/hooks/useAppearance.ts +2 -1
  687. package/src/hooks/useDateInput.ts +2 -2
  688. package/src/lib/appearance/index.ts +2 -0
  689. package/src/lib/platform.ts +5 -5
  690. package/src/lib/tokens/TokensClassProvider.tsx +32 -0
  691. package/src/lib/tokens/constants.ts +14 -0
  692. package/src/lib/tokens/index.ts +11 -0
  693. package/src/lib/tokens/types.ts +35 -0
  694. package/src/lib/tokens/useTokenClassName.test.tsx +27 -0
  695. package/src/lib/tokens/useTokenClassName.ts +46 -0
  696. package/src/storybook/VKUIDecorators.tsx +1 -1
  697. package/src/styles/focusVisible.module.css +1 -1
  698. package/src/testing/e2e/ComponentPlayground.tsx +1 -1
  699. package/src/testing/e2e/index.playwright.ts +3 -1
  700. package/dist/cjs/helpers/generateVKUITokensClassName.d.ts +0 -2
  701. package/dist/cjs/helpers/generateVKUITokensClassName.d.ts.map +0 -1
  702. package/dist/cjs/helpers/generateVKUITokensClassName.js +0 -29
  703. package/dist/cjs/helpers/generateVKUITokensClassName.js.map +0 -1
  704. package/dist/cjs/lib/tokensClassProvider.d.ts +0 -8
  705. package/dist/cjs/lib/tokensClassProvider.d.ts.map +0 -1
  706. package/dist/cjs/lib/tokensClassProvider.js +0 -26
  707. package/dist/cjs/lib/tokensClassProvider.js.map +0 -1
  708. package/dist/cssm/helpers/generateVKUITokensClassName.d.ts +0 -2
  709. package/dist/cssm/helpers/generateVKUITokensClassName.d.ts.map +0 -1
  710. package/dist/cssm/helpers/generateVKUITokensClassName.js +0 -19
  711. package/dist/cssm/helpers/generateVKUITokensClassName.js.map +0 -1
  712. package/dist/cssm/lib/tokensClassProvider.d.ts +0 -8
  713. package/dist/cssm/lib/tokensClassProvider.d.ts.map +0 -1
  714. package/dist/cssm/lib/tokensClassProvider.js +0 -15
  715. package/dist/cssm/lib/tokensClassProvider.js.map +0 -1
  716. package/dist/helpers/generateVKUITokensClassName.d.ts +0 -2
  717. package/dist/helpers/generateVKUITokensClassName.d.ts.map +0 -1
  718. package/dist/helpers/generateVKUITokensClassName.js +0 -19
  719. package/dist/helpers/generateVKUITokensClassName.js.map +0 -1
  720. package/dist/lib/tokensClassProvider.d.ts +0 -8
  721. package/dist/lib/tokensClassProvider.d.ts.map +0 -1
  722. package/dist/lib/tokensClassProvider.js +0 -15
  723. package/dist/lib/tokensClassProvider.js.map +0 -1
  724. package/src/helpers/generateVKUITokensClassName.ts +0 -18
  725. package/src/lib/tokensClassProvider.tsx +0 -31
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
+ <!-- TODO [>=6] Удалить пути до 6.0.0-beta.3 -->
2
+
1
3
  <h1 align="center">
2
- <a href="https://vkcom.github.io/VKUI/">
4
+ <a href="https://vkcom.github.io/VKUI/6.0.0-beta.3/">
3
5
  <picture>
4
6
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/VKCOM/VKUI/d72dcc219bc4b441b2740b69d9343aea14d66c7f/docs/assets/vkui-logo-light.svg">
5
7
  <img src="https://raw.githubusercontent.com/VKCOM/VKUI/d72dcc219bc4b441b2740b69d9343aea14d66c7f/docs/assets/vkui-logo-dark.svg" width="150" alt="VKUI logo" />
@@ -12,9 +14,9 @@
12
14
  </p>
13
15
  <p align="center">
14
16
  VKUI — это библиотека адаптивных React-компонентов<br> для создания веб-приложений.<br>
15
- Библиотека основана на <a href="https://www.figma.com/@vk">дизайн-системе ВКонтакте</a> и реализует её интерфейсы для различных платформ.<br>
17
+ Библиотека основана на <a href="https://www.figma.com/@vk">дизайн-системе VK</a> и реализует её интерфейсы для различных платформ.<br>
16
18
  Релизы: <a href="https://github.com/VKCOM/VKUI/releases">https://github.com/VKCOM/VKUI/releases</a>.<br>
17
- Гайд по миграции <a href="https://vkcom.github.io/VKUI/#/Migration">на версию 5</a>.
19
+ Гайд по миграции <a href="https://vkcom.github.io/VKUI/6.0.0-beta.3/#/Migrations">на версию 6</a>.
18
20
  </p>
19
21
 
20
22
  ## Установка
@@ -60,9 +62,11 @@ import {
60
62
  import '@vkontakte/vkui/dist/vkui.css';
61
63
 
62
64
  const Example = () => {
65
+ const platform = usePlatform();
66
+
63
67
  return (
64
68
  <AppRoot>
65
- <SplitLayout header={<PanelHeader separator={false} />}>
69
+ <SplitLayout header={platform !== 'vkcom' && <PanelHeader delimiter="none" />}>
66
70
  <SplitCol autoSpaced>
67
71
  <View activePanel="main">
68
72
  <Panel id="main">
@@ -100,7 +104,7 @@ root.render(
100
104
 
101
105
  ## Документация
102
106
 
103
- В [документации](https://vkcom.github.io/VKUI/) вы сможете найти информацию об использовании компонентов и утилит.
107
+ В [документации](https://vkcom.github.io/VKUI/6.0.0-beta.3/) вы сможете найти информацию об использовании компонентов и утилит.
104
108
 
105
109
  ## Сообщить о проблеме
106
110
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionSheet.d.ts","sourceRoot":"","sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,KAAK,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAC/D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,qBAAqB,GAAG,WAAW,CAAC,EAClF,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAClD;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,6HAWrB,gBAAgB,sBAsGlB,CAAC"}
1
+ {"version":3,"file":"ActionSheet.d.ts","sourceRoot":"","sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAG9C,KAAK,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAC/D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,qBAAqB,GAAG,WAAW,CAAC,EAClF,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAClD;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,6HAWrB,gBAAgB,sBAqGlB,CAAC"}
@@ -115,7 +115,6 @@ const ActionSheet = (_param)=>{
115
115
  className: className,
116
116
  style: style,
117
117
  onClick: onClose,
118
- hasMask: true,
119
118
  fixed: true
120
119
  }, actionSheet);
121
120
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport { ActionSheetDefaultIosCloseItem } from './ActionSheetDefaultIosCloseItem';\nimport { ActionSheetDropdownMenu } from './ActionSheetDropdownMenu';\nimport { ActionSheetDropdownSheet } from './ActionSheetDropdownSheet';\nimport { SharedDropdownProps } from './types';\nimport styles from './ActionSheet.module.css';\n\ntype CloseInitiators = 'action-item' | 'cancel-item' | 'other';\nexport interface ActionSheetOnCloseOptions {\n closedBy: CloseInitiators;\n}\n\nexport interface ActionSheetProps\n extends Pick<SharedDropdownProps, 'toggleRef' | 'popupOffsetDistance' | 'placement'>,\n React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи.\n */\n onClose(options: ActionSheetOnCloseOptions): void;\n /**\n * Только мобильный iOS.\n */\n iosCloseItem?: React.ReactNode;\n mode?: 'sheet' | 'menu';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ActionSheet\n */\nexport const ActionSheet = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n popupOffsetDistance,\n placement,\n mode: modeProp,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closingBy, setClosingBy] = React.useState<undefined | CloseInitiators>(undefined);\n const onClose = () => setClosingBy('other');\n const _action = React.useRef(noop);\n\n const afterClose = () => {\n restProps.onClose({ closedBy: closingBy || 'other' });\n _action.current();\n _action.current = noop;\n };\n\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n const mode = modeProp ?? (isDesktop ? 'menu' : 'sheet');\n\n useScrollLock(mode === 'sheet');\n\n let timeout = platform === 'ios' ? 300 : 200;\n\n if (mode === 'menu') {\n timeout = 0;\n }\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closingBy) {\n fallbackTransitionFinish.set();\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closingBy, fallbackTransitionFinish]);\n\n const onItemClick = React.useCallback<ItemClickHandler>(\n ({ action, immediateAction, autoClose, isCancelItem }) =>\n (event) => {\n event.persist();\n immediateAction && immediateAction(event);\n if (autoClose) {\n _action.current = () => action && action(event);\n setClosingBy(isCancelItem ? 'cancel-item' : 'action-item');\n } else {\n action && action(event);\n }\n },\n [],\n );\n const contextValue = useObjectMemo({ onItemClick, mode });\n\n const DropdownComponent = mode === 'menu' ? ActionSheetDropdownMenu : ActionSheetDropdownSheet;\n\n const dropdownProps =\n mode === 'menu' ? Object.assign(restProps, { popupOffsetDistance, placement }) : restProps;\n\n const actionSheet = (\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={Boolean(closingBy)}\n timeout={timeout}\n {...dropdownProps}\n onClose={onClose}\n className={mode === 'menu' ? className : undefined}\n style={mode === 'menu' ? style : undefined}\n >\n <div className={styles['ActionSheet__content-wrapper']}>\n {(header || text) && (\n <div className={styles['ActionSheet__header']}>\n {header && (\n <Footnote weight=\"2\" className={styles['ActionSheet__title']}>\n {header}\n </Footnote>\n )}\n {text && <Footnote className={styles['ActionSheet__text']}>{text}</Footnote>}\n </div>\n )}\n {children}\n </div>\n {platform === 'ios' && mode === 'sheet' && (\n <div className={styles['ActionSheet__close-item-wrapper--ios']}>\n {iosCloseItem ?? <ActionSheetDefaultIosCloseItem />}\n </div>\n )}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n );\n\n if (mode === 'menu') {\n return actionSheet;\n }\n\n return (\n <PopoutWrapper\n closing={Boolean(closingBy)}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={onClose}\n hasMask\n fixed\n >\n {actionSheet}\n </PopoutWrapper>\n );\n};\n"],"names":["ActionSheet","children","className","header","text","style","iosCloseItem","popupOffsetDistance","placement","mode","modeProp","restProps","platform","usePlatform","closingBy","setClosingBy","React","useState","undefined","onClose","_action","useRef","noop","afterClose","closedBy","current","isDesktop","useAdaptivityWithJSMediaQueries","useScrollLock","timeout","fallbackTransitionFinish","useTimeout","useEffect","set","clear","onItemClick","useCallback","action","immediateAction","autoClose","isCancelItem","event","persist","contextValue","useObjectMemo","DropdownComponent","ActionSheetDropdownMenu","ActionSheetDropdownSheet","dropdownProps","Object","assign","actionSheet","ActionSheetContext","Provider","value","closing","Boolean","div","Footnote","weight","ActionSheetDefaultIosCloseItem","PopoutWrapper","alignY","onClick","hasMask","fixed"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport { ActionSheetDefaultIosCloseItem } from './ActionSheetDefaultIosCloseItem';\nimport { ActionSheetDropdownMenu } from './ActionSheetDropdownMenu';\nimport { ActionSheetDropdownSheet } from './ActionSheetDropdownSheet';\nimport { SharedDropdownProps } from './types';\nimport styles from './ActionSheet.module.css';\n\ntype CloseInitiators = 'action-item' | 'cancel-item' | 'other';\nexport interface ActionSheetOnCloseOptions {\n closedBy: CloseInitiators;\n}\n\nexport interface ActionSheetProps\n extends Pick<SharedDropdownProps, 'toggleRef' | 'popupOffsetDistance' | 'placement'>,\n React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи.\n */\n onClose(options: ActionSheetOnCloseOptions): void;\n /**\n * Только мобильный iOS.\n */\n iosCloseItem?: React.ReactNode;\n mode?: 'sheet' | 'menu';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ActionSheet\n */\nexport const ActionSheet = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n popupOffsetDistance,\n placement,\n mode: modeProp,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closingBy, setClosingBy] = React.useState<undefined | CloseInitiators>(undefined);\n const onClose = () => setClosingBy('other');\n const _action = React.useRef(noop);\n\n const afterClose = () => {\n restProps.onClose({ closedBy: closingBy || 'other' });\n _action.current();\n _action.current = noop;\n };\n\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n const mode = modeProp ?? (isDesktop ? 'menu' : 'sheet');\n\n useScrollLock(mode === 'sheet');\n\n let timeout = platform === 'ios' ? 300 : 200;\n\n if (mode === 'menu') {\n timeout = 0;\n }\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closingBy) {\n fallbackTransitionFinish.set();\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closingBy, fallbackTransitionFinish]);\n\n const onItemClick = React.useCallback<ItemClickHandler>(\n ({ action, immediateAction, autoClose, isCancelItem }) =>\n (event) => {\n event.persist();\n immediateAction && immediateAction(event);\n if (autoClose) {\n _action.current = () => action && action(event);\n setClosingBy(isCancelItem ? 'cancel-item' : 'action-item');\n } else {\n action && action(event);\n }\n },\n [],\n );\n const contextValue = useObjectMemo({ onItemClick, mode });\n\n const DropdownComponent = mode === 'menu' ? ActionSheetDropdownMenu : ActionSheetDropdownSheet;\n\n const dropdownProps =\n mode === 'menu' ? Object.assign(restProps, { popupOffsetDistance, placement }) : restProps;\n\n const actionSheet = (\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={Boolean(closingBy)}\n timeout={timeout}\n {...dropdownProps}\n onClose={onClose}\n className={mode === 'menu' ? className : undefined}\n style={mode === 'menu' ? style : undefined}\n >\n <div className={styles['ActionSheet__content-wrapper']}>\n {(header || text) && (\n <div className={styles['ActionSheet__header']}>\n {header && (\n <Footnote weight=\"2\" className={styles['ActionSheet__title']}>\n {header}\n </Footnote>\n )}\n {text && <Footnote className={styles['ActionSheet__text']}>{text}</Footnote>}\n </div>\n )}\n {children}\n </div>\n {platform === 'ios' && mode === 'sheet' && (\n <div className={styles['ActionSheet__close-item-wrapper--ios']}>\n {iosCloseItem ?? <ActionSheetDefaultIosCloseItem />}\n </div>\n )}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n );\n\n if (mode === 'menu') {\n return actionSheet;\n }\n\n return (\n <PopoutWrapper\n closing={Boolean(closingBy)}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={onClose}\n fixed\n >\n {actionSheet}\n </PopoutWrapper>\n );\n};\n"],"names":["ActionSheet","children","className","header","text","style","iosCloseItem","popupOffsetDistance","placement","mode","modeProp","restProps","platform","usePlatform","closingBy","setClosingBy","React","useState","undefined","onClose","_action","useRef","noop","afterClose","closedBy","current","isDesktop","useAdaptivityWithJSMediaQueries","useScrollLock","timeout","fallbackTransitionFinish","useTimeout","useEffect","set","clear","onItemClick","useCallback","action","immediateAction","autoClose","isCancelItem","event","persist","contextValue","useObjectMemo","DropdownComponent","ActionSheetDropdownMenu","ActionSheetDropdownSheet","dropdownProps","Object","assign","actionSheet","ActionSheetContext","Provider","value","closing","Boolean","div","Footnote","weight","ActionSheetDefaultIosCloseItem","PopoutWrapper","alignY","onClick","fixed"],"mappings":";;;;+BAwCaA;;;eAAAA;;;;;;;iEAxCU;sBACF;iDAC2B;+BAClB;6BACF;4BACD;+BACG;+BACA;0BACL;oCAC4B;gDACN;yCACP;0CACC;AA4BlC,MAAMA,cAAc;QAAC,EAC1BC,QAAQ,EACRC,SAAS,EACTC,MAAM,EACNC,IAAI,EACJC,KAAK,EACLC,YAAY,EACZC,mBAAmB,EACnBC,SAAS,EACTC,MAAMC,QAAQ,EAEG,WADdC;QATHV;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAMG,WAAWC,IAAAA,wBAAW;IAC5B,MAAM,CAACC,WAAWC,aAAa,GAAGC,OAAMC,QAAQ,CAA8BC;IAC9E,MAAMC,UAAU,IAAMJ,aAAa;IACnC,MAAMK,UAAUJ,OAAMK,MAAM,CAACC,UAAI;IAEjC,MAAMC,aAAa;QACjBZ,UAAUQ,OAAO,CAAC;YAAEK,UAAUV,aAAa;QAAQ;QACnDM,QAAQK,OAAO;QACfL,QAAQK,OAAO,GAAGH,UAAI;IACxB;IAEA,MAAM,EAAEI,SAAS,EAAE,GAAGC,IAAAA,gEAA+B;IACrD,MAAMlB,OAAOC,qBAAAA,sBAAAA,WAAagB,YAAY,SAAS;IAE/CE,IAAAA,4BAAa,EAACnB,SAAS;IAEvB,IAAIoB,UAAUjB,aAAa,QAAQ,MAAM;IAEzC,IAAIH,SAAS,QAAQ;QACnBoB,UAAU;IACZ;IAEA,MAAMC,2BAA2BC,IAAAA,sBAAU,EAACR,YAAYM;IACxDb,OAAMgB,SAAS,CAAC;QACd,IAAIlB,WAAW;YACbgB,yBAAyBG,GAAG;QAC9B,OAAO;YACLH,yBAAyBI,KAAK;QAChC;IACF,GAAG;QAACpB;QAAWgB;KAAyB;IAExC,MAAMK,cAAcnB,OAAMoB,WAAW,CACnC,CAAC,EAAEC,MAAM,EAAEC,eAAe,EAAEC,SAAS,EAAEC,YAAY,EAAE,GACnD,CAACC;YACCA,MAAMC,OAAO;YACbJ,mBAAmBA,gBAAgBG;YACnC,IAAIF,WAAW;gBACbnB,QAAQK,OAAO,GAAG,IAAMY,UAAUA,OAAOI;gBACzC1B,aAAayB,eAAe,gBAAgB;YAC9C,OAAO;gBACLH,UAAUA,OAAOI;YACnB;QACF,GACF,EAAE;IAEJ,MAAME,eAAeC,IAAAA,4BAAa,EAAC;QAAET;QAAa1B;IAAK;IAEvD,MAAMoC,oBAAoBpC,SAAS,SAASqC,gDAAuB,GAAGC,kDAAwB;IAE9F,MAAMC,gBACJvC,SAAS,SAASwC,OAAOC,MAAM,CAACvC,WAAW;QAAEJ;QAAqBC;IAAU,KAAKG;IAEnF,MAAMwC,4BACJ,qBAACC,sCAAkB,CAACC,QAAQ;QAACC,OAAOX;qBAClC,qBAACE;QACCU,SAASC,QAAQ1C;QACjBe,SAASA;OACLmB;QACJ7B,SAASA;QACTjB,WAAWO,SAAS,SAASP,YAAYgB;QACzCb,OAAOI,SAAS,SAASJ,QAAQa;sBAEjC,qBAACuC;QAAIvD,SAAS;OACX,AAACC,CAAAA,UAAUC,IAAG,mBACb,qBAACqD;QAAIvD,SAAS;OACXC,wBACC,qBAACuD,kBAAQ;QAACC,QAAO;QAAIzD,SAAS;OAC3BC,SAGJC,sBAAQ,qBAACsD,kBAAQ;QAACxD,SAAS;OAAgCE,QAG/DH,WAEFW,aAAa,SAASH,SAAS,yBAC9B,qBAACgD;QAAIvD,SAAS;OACXI,yBAAAA,0BAAAA,6BAAgB,qBAACsD,8DAA8B;IAO1D,IAAInD,SAAS,QAAQ;QACnB,OAAO0C;IACT;IAEA,qBACE,qBAACU,4BAAa;QACZN,SAASC,QAAQ1C;QACjBgD,QAAO;QACP5D,WAAWA;QACXG,OAAOA;QACP0D,SAAS5C;QACT6C,OAAAA;OAECb;AAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppRoot.d.ts","sourceRoot":"","sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzF,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC/D;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,8CAA8C,CAAC,EAAE,OAAO,CAAC;IACzD;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,2LAWjB,YAAY,sBAoJd,CAAC"}
1
+ {"version":3,"file":"AppRoot.d.ts","sourceRoot":"","sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzF,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,wBAAwB;IACxB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC/D;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,8CAA8C,CAAC,EAAE,OAAO,CAAC;IACzD;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,2LAWjB,YAAY,sBAiJd,CAAC"}
@@ -14,11 +14,10 @@ const _object_without_properties = require("@swc/helpers/_/_object_without_prope
14
14
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
15
15
  const _vkjs = require("@vkontakte/vkjs");
16
16
  const _useAdaptivity = require("../../hooks/useAdaptivity");
17
- const _useAppearance = require("../../hooks/useAppearance");
18
17
  const _useKeyboardInputTracker = require("../../hooks/useKeyboardInputTracker");
19
18
  const _useObjectMemo = require("../../hooks/useObjectMemo");
20
- const _usePlatform = require("../../hooks/usePlatform");
21
19
  const _dom = require("../../lib/dom");
20
+ const _tokens = require("../../lib/tokens");
22
21
  const _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
23
22
  const _AppRootContext = require("./AppRootContext");
24
23
  const _ScrollContext = require("./ScrollContext");
@@ -36,8 +35,7 @@ const AppRoot = (_param)=>{
36
35
  "layout"
37
36
  ]);
38
37
  const { hasPointer, sizeX = 'none', sizeY = 'none' } = (0, _useAdaptivity.useAdaptivity)();
39
- const platform = (0, _usePlatform.usePlatform)();
40
- const appearance = (0, _useAppearance.useAppearance)();
38
+ const tokensClassName = (0, _tokens.useTokensClassName)();
41
39
  const safeAreaInsets = (0, _useObjectMemo.useObjectMemo)(safeAreaInsetsProp);
42
40
  const isKeyboardInputActiveRef = (0, _useKeyboardInputTracker.useKeyboardInputTracker)();
43
41
  const appRootRef = _react.useRef(null);
@@ -71,8 +69,7 @@ const AppRoot = (_param)=>{
71
69
  const [baseClassNames, stylesClassNames] = (0, _helpers.getClassNamesByMode)({
72
70
  mode,
73
71
  layout,
74
- platform,
75
- appearance,
72
+ tokensClassName,
76
73
  sizeX,
77
74
  sizeY
78
75
  });
@@ -119,8 +116,7 @@ const AppRoot = (_param)=>{
119
116
  mode,
120
117
  layout,
121
118
  disableParentTransformForPositionFixedElements,
122
- platform,
123
- appearance,
119
+ tokensClassName,
124
120
  sizeX,
125
121
  sizeY,
126
122
  safeAreaInsets
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useKeyboardInputTracker } from '../../hooks/useKeyboardInputTracker';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { getDocumentBody } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { AppRootContext } from './AppRootContext';\nimport { ElementScrollController, GlobalScrollController } from './ScrollContext';\nimport {\n extractPortalRootByProp,\n getClassNamesByMode,\n getParentElement,\n setSafeAreaInsets,\n} from './helpers';\nimport type { AppRootLayout, AppRootMode, AppRootScroll, SafeAreaInsets } from './types';\nimport styles from './AppRoot.module.css';\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Режим встраивания */\n mode?: AppRootMode;\n /**\n * - `global` (по умолчанию) — VKUI-приложение скроллится вместе со страницей.\n * - `contain` — VKUI-приложение живет в отдельной зоне и скроллится независимо внутри `AppRoot` (например, в модалке).\n *\n * Полезно при использовании `mode=\"embedded\"`.\n */\n scroll?: AppRootScroll;\n /**\n * см. документацию [mdn web docs | env#values](https://developer.mozilla.org/en-US/docs/Web/CSS/env#values).\n */\n safeAreaInsets?: SafeAreaInsets;\n /**\n * Кастомный root-элемент портала\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /**\n * Отключает рендер всплывающих компонентов в отдельном контейнере\n */\n disablePortal?: boolean;\n /**\n * По умолчанию, mode=\"embedded\" переносит систему координат элементов с `position: fixed` на\n * свой контейнер через `transform: translate3d(0, 0, 0)`.\n *\n * Это поведение можно отключить с помощью этого параметра.\n */\n disableParentTransformForPositionFixedElements?: boolean;\n /**\n * Глобально задаёт тип оформления макета для компонентов\n * [Panel](https://vkcom.github.io/VKUI/#/Panel) и [Group](https://vkcom.github.io/VKUI/#/Group).\n */\n layout?: AppRootLayout;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = ({\n children,\n mode = 'full',\n scroll = 'global',\n portalRoot: portalRootProp = null,\n disablePortal = false,\n disableParentTransformForPositionFixedElements,\n className,\n safeAreaInsets: safeAreaInsetsProp,\n layout,\n ...props\n}: AppRootProps) => {\n const { hasPointer, sizeX = 'none', sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n const appearance = useAppearance();\n\n const safeAreaInsets = useObjectMemo(safeAreaInsetsProp);\n const isKeyboardInputActiveRef = useKeyboardInputTracker();\n const appRootRef = React.useRef<HTMLDivElement | null>(null);\n const portalRootRef = React.useRef<HTMLElement | null>(null);\n\n useIsomorphicLayoutEffect(\n function setupPortalRoot() {\n const portalByProp = portalRootProp ? extractPortalRootByProp(portalRootProp) : null;\n\n if (portalByProp) {\n portalRootRef.current = portalByProp;\n return function cleanup() {\n portalRootRef.current = null;\n };\n }\n\n const documentBody = getDocumentBody(appRootRef.current);\n const portal = documentBody.ownerDocument.createElement('div');\n documentBody.appendChild(portal);\n portalRootRef.current = portal;\n return function cleanup() {\n documentBody.removeChild(portal);\n portalRootRef.current = null;\n };\n },\n [portalRootProp],\n );\n\n useIsomorphicLayoutEffect(\n function setupContainers() {\n if (!appRootRef.current || !portalRootRef.current) {\n return;\n }\n\n const parentElement = getParentElement(appRootRef.current);\n const documentBody = getDocumentBody(appRootRef.current);\n const documentElement = documentBody.ownerDocument.documentElement;\n\n const [baseClassNames, stylesClassNames] = getClassNamesByMode({\n mode,\n layout,\n platform,\n appearance,\n sizeX,\n sizeY,\n });\n\n /* eslint-disable no-restricted-properties */\n switch (mode) {\n case 'full': {\n if (parentElement) {\n parentElement.classList.add(...baseClassNames);\n }\n\n documentElement.classList.add(...stylesClassNames, 'vkui');\n const unsetSafeAreaInsets = setSafeAreaInsets(safeAreaInsets, documentElement);\n\n return function cleanup() {\n if (parentElement) {\n parentElement.classList.remove(...baseClassNames);\n }\n\n documentElement.classList.remove(...stylesClassNames, 'vkui');\n unsetSafeAreaInsets();\n };\n }\n case 'embedded': {\n if (parentElement) {\n parentElement.classList.add(...baseClassNames, ...stylesClassNames);\n if (!disableParentTransformForPositionFixedElements) {\n parentElement.style.setProperty('transform', 'translate3d(0, 0, 0)');\n }\n const unsetSafeAreaInsets = setSafeAreaInsets(safeAreaInsets, parentElement, portalRootRef.current); // prettier-ignore\n return function cleanup() {\n parentElement.classList.remove(...baseClassNames, ...stylesClassNames);\n if (!disableParentTransformForPositionFixedElements) {\n parentElement.style.removeProperty('transform');\n }\n unsetSafeAreaInsets();\n };\n }\n /* istanbul ignore next: node.parentElement может быть null, но такой кейс в теории невозможен */\n return;\n }\n /* istanbul ignore next: не покрывается за счёт теста на <AppRoot mode=\"partial\" /> */\n case 'partial': {\n return;\n }\n }\n /* eslint-enable no-restricted-properties */\n },\n [\n mode,\n layout,\n disableParentTransformForPositionFixedElements,\n platform,\n appearance,\n sizeX,\n sizeY,\n safeAreaInsets,\n ],\n );\n\n const ScrollController = React.useMemo(\n () => (scroll === 'contain' ? ElementScrollController : GlobalScrollController),\n [scroll],\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: appRootRef,\n portalRoot: portalRootRef,\n embedded: mode === 'embedded',\n mode,\n disablePortal,\n layout,\n get keyboardInput() {\n return isKeyboardInputActiveRef.current;\n },\n }}\n >\n <ScrollController elRef={appRootRef}>{children}</ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === 'partial' ? (\n content\n ) : (\n <div\n ref={appRootRef}\n className={classNames(\n styles['AppRoot'],\n hasPointer === undefined\n ? styles['AppRoot--pointer-none']\n : !hasPointer && styles['AppRoot--pointer-has-not'],\n className,\n )}\n {...props}\n >\n {content}\n </div>\n );\n};\n"],"names":["AppRoot","children","mode","scroll","portalRoot","portalRootProp","disablePortal","disableParentTransformForPositionFixedElements","className","safeAreaInsets","safeAreaInsetsProp","layout","props","hasPointer","sizeX","sizeY","useAdaptivity","platform","usePlatform","appearance","useAppearance","useObjectMemo","isKeyboardInputActiveRef","useKeyboardInputTracker","appRootRef","React","useRef","portalRootRef","useIsomorphicLayoutEffect","setupPortalRoot","portalByProp","extractPortalRootByProp","current","cleanup","documentBody","getDocumentBody","portal","ownerDocument","createElement","appendChild","removeChild","setupContainers","parentElement","getParentElement","documentElement","baseClassNames","stylesClassNames","getClassNamesByMode","classList","add","unsetSafeAreaInsets","setSafeAreaInsets","remove","style","setProperty","removeProperty","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","AppRootContext","Provider","value","appRoot","embedded","keyboardInput","elRef","div","ref","classNames","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useKeyboardInputTracker } from '../../hooks/useKeyboardInputTracker';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { getDocumentBody } from '../../lib/dom';\nimport { useTokensClassName } from '../../lib/tokens';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { AppRootContext } from './AppRootContext';\nimport { ElementScrollController, GlobalScrollController } from './ScrollContext';\nimport {\n extractPortalRootByProp,\n getClassNamesByMode,\n getParentElement,\n setSafeAreaInsets,\n} from './helpers';\nimport type { AppRootLayout, AppRootMode, AppRootScroll, SafeAreaInsets } from './types';\nimport styles from './AppRoot.module.css';\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Режим встраивания */\n mode?: AppRootMode;\n /**\n * - `global` (по умолчанию) — VKUI-приложение скроллится вместе со страницей.\n * - `contain` — VKUI-приложение живет в отдельной зоне и скроллится независимо внутри `AppRoot` (например, в модалке).\n *\n * Полезно при использовании `mode=\"embedded\"`.\n */\n scroll?: AppRootScroll;\n /**\n * см. документацию [mdn web docs | env#values](https://developer.mozilla.org/en-US/docs/Web/CSS/env#values).\n */\n safeAreaInsets?: SafeAreaInsets;\n /**\n * Кастомный root-элемент портала\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /**\n * Отключает рендер всплывающих компонентов в отдельном контейнере\n */\n disablePortal?: boolean;\n /**\n * По умолчанию, mode=\"embedded\" переносит систему координат элементов с `position: fixed` на\n * свой контейнер через `transform: translate3d(0, 0, 0)`.\n *\n * Это поведение можно отключить с помощью этого параметра.\n */\n disableParentTransformForPositionFixedElements?: boolean;\n /**\n * Глобально задаёт тип оформления макета для компонентов\n * [Panel](https://vkcom.github.io/VKUI/#/Panel) и [Group](https://vkcom.github.io/VKUI/#/Group).\n */\n layout?: AppRootLayout;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = ({\n children,\n mode = 'full',\n scroll = 'global',\n portalRoot: portalRootProp = null,\n disablePortal = false,\n disableParentTransformForPositionFixedElements,\n className,\n safeAreaInsets: safeAreaInsetsProp,\n layout,\n ...props\n}: AppRootProps) => {\n const { hasPointer, sizeX = 'none', sizeY = 'none' } = useAdaptivity();\n const tokensClassName = useTokensClassName();\n\n const safeAreaInsets = useObjectMemo(safeAreaInsetsProp);\n const isKeyboardInputActiveRef = useKeyboardInputTracker();\n const appRootRef = React.useRef<HTMLDivElement | null>(null);\n const portalRootRef = React.useRef<HTMLElement | null>(null);\n\n useIsomorphicLayoutEffect(\n function setupPortalRoot() {\n const portalByProp = portalRootProp ? extractPortalRootByProp(portalRootProp) : null;\n\n if (portalByProp) {\n portalRootRef.current = portalByProp;\n return function cleanup() {\n portalRootRef.current = null;\n };\n }\n\n const documentBody = getDocumentBody(appRootRef.current);\n const portal = documentBody.ownerDocument.createElement('div');\n documentBody.appendChild(portal);\n portalRootRef.current = portal;\n return function cleanup() {\n documentBody.removeChild(portal);\n portalRootRef.current = null;\n };\n },\n [portalRootProp],\n );\n\n useIsomorphicLayoutEffect(\n function setupContainers() {\n if (!appRootRef.current || !portalRootRef.current) {\n return;\n }\n\n const parentElement = getParentElement(appRootRef.current);\n const documentBody = getDocumentBody(appRootRef.current);\n const documentElement = documentBody.ownerDocument.documentElement;\n\n const [baseClassNames, stylesClassNames] = getClassNamesByMode({\n mode,\n layout,\n tokensClassName,\n sizeX,\n sizeY,\n });\n\n /* eslint-disable no-restricted-properties */\n switch (mode) {\n case 'full': {\n if (parentElement) {\n parentElement.classList.add(...baseClassNames);\n }\n\n documentElement.classList.add(...stylesClassNames, 'vkui');\n const unsetSafeAreaInsets = setSafeAreaInsets(safeAreaInsets, documentElement);\n\n return function cleanup() {\n if (parentElement) {\n parentElement.classList.remove(...baseClassNames);\n }\n\n documentElement.classList.remove(...stylesClassNames, 'vkui');\n unsetSafeAreaInsets();\n };\n }\n case 'embedded': {\n if (parentElement) {\n parentElement.classList.add(...baseClassNames, ...stylesClassNames);\n if (!disableParentTransformForPositionFixedElements) {\n parentElement.style.setProperty('transform', 'translate3d(0, 0, 0)');\n }\n const unsetSafeAreaInsets = setSafeAreaInsets(safeAreaInsets, parentElement, portalRootRef.current); // prettier-ignore\n return function cleanup() {\n parentElement.classList.remove(...baseClassNames, ...stylesClassNames);\n if (!disableParentTransformForPositionFixedElements) {\n parentElement.style.removeProperty('transform');\n }\n unsetSafeAreaInsets();\n };\n }\n /* istanbul ignore next: node.parentElement может быть null, но такой кейс в теории невозможен */\n return;\n }\n /* istanbul ignore next: не покрывается за счёт теста на <AppRoot mode=\"partial\" /> */\n case 'partial': {\n return;\n }\n }\n /* eslint-enable no-restricted-properties */\n },\n [\n mode,\n layout,\n disableParentTransformForPositionFixedElements,\n tokensClassName,\n sizeX,\n sizeY,\n safeAreaInsets,\n ],\n );\n\n const ScrollController = React.useMemo(\n () => (scroll === 'contain' ? ElementScrollController : GlobalScrollController),\n [scroll],\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: appRootRef,\n portalRoot: portalRootRef,\n embedded: mode === 'embedded',\n mode,\n disablePortal,\n layout,\n get keyboardInput() {\n return isKeyboardInputActiveRef.current;\n },\n }}\n >\n <ScrollController elRef={appRootRef}>{children}</ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === 'partial' ? (\n content\n ) : (\n <div\n ref={appRootRef}\n className={classNames(\n styles['AppRoot'],\n hasPointer === undefined\n ? styles['AppRoot--pointer-none']\n : !hasPointer && styles['AppRoot--pointer-has-not'],\n className,\n )}\n {...props}\n >\n {content}\n </div>\n );\n};\n"],"names":["AppRoot","children","mode","scroll","portalRoot","portalRootProp","disablePortal","disableParentTransformForPositionFixedElements","className","safeAreaInsets","safeAreaInsetsProp","layout","props","hasPointer","sizeX","sizeY","useAdaptivity","tokensClassName","useTokensClassName","useObjectMemo","isKeyboardInputActiveRef","useKeyboardInputTracker","appRootRef","React","useRef","portalRootRef","useIsomorphicLayoutEffect","setupPortalRoot","portalByProp","extractPortalRootByProp","current","cleanup","documentBody","getDocumentBody","portal","ownerDocument","createElement","appendChild","removeChild","setupContainers","parentElement","getParentElement","documentElement","baseClassNames","stylesClassNames","getClassNamesByMode","classList","add","unsetSafeAreaInsets","setSafeAreaInsets","remove","style","setProperty","removeProperty","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","AppRootContext","Provider","value","appRoot","embedded","keyboardInput","elRef","div","ref","classNames","undefined"],"mappings":"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"}
@@ -1,15 +1,13 @@
1
1
  import type { SizeTypeValues } from '../../lib/adaptivity';
2
- import type { AppearanceType } from '../../lib/appearance';
3
2
  import type { AppRootLayout, AppRootMode, SafeAreaInsets } from './types';
4
3
  type ContainerClassNamesProps = {
5
4
  mode: AppRootMode;
6
5
  layout?: AppRootLayout;
7
- platform: string;
8
- appearance: AppearanceType;
6
+ tokensClassName: string;
9
7
  sizeX: SizeTypeValues | 'none';
10
8
  sizeY: SizeTypeValues | 'none';
11
9
  };
12
- export declare function getClassNamesByMode({ mode, layout, platform, appearance, sizeX, sizeY, }: ContainerClassNamesProps): [string[], string[]];
10
+ export declare function getClassNamesByMode({ mode, layout, tokensClassName, sizeX, sizeY, }: ContainerClassNamesProps): [string[], string[]];
13
11
  export declare const getParentElement: (el: HTMLElement | null) => HTMLElement | null;
14
12
  export declare const extractPortalRootByProp: (portalRootProp: HTMLElement | React.RefObject<HTMLElement>) => HTMLElement | null;
15
13
  export declare const CUSTOM_PROPERTY_INSET_PREFIX = "--vkui_internal--safe_area_inset_";
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/components/AppRoot/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE1E,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;IAC/B,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,UAAU,EACV,KAAK,EACL,KAAK,GACN,EAAE,wBAAwB,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CA0BjD;AAED,eAAO,MAAM,gBAAgB,OAAQ,WAAW,GAAG,IAAI,uBAAmC,CAAC;AAE3F,eAAO,MAAM,uBAAuB,mBAClB,WAAW,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,uBACgB,CAAC;AAE7E,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAEhF,eAAO,MAAM,iBAAiB,mBACZ,cAAc,GAAG,SAAS,iBAC3B,WAAW,oBACR,WAAW,eA4B9B,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/components/AppRoot/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE1E,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;IAC/B,KAAK,EAAE,cAAc,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,eAAe,EACf,KAAK,EACL,KAAK,GACN,EAAE,wBAAwB,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CA0BjD;AAED,eAAO,MAAM,gBAAgB,OAAQ,WAAW,GAAG,IAAI,uBAAmC,CAAC;AAE3F,eAAO,MAAM,uBAAuB,mBAClB,WAAW,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,uBACgB,CAAC;AAE7E,eAAO,MAAM,4BAA4B,sCAAsC,CAAC;AAEhF,eAAO,MAAM,iBAAiB,mBACZ,cAAc,GAAG,SAAS,iBAC3B,WAAW,oBACR,WAAW,eA4B9B,CAAC"}
@@ -25,14 +25,13 @@ _export(exports, {
25
25
  return setSafeAreaInsets;
26
26
  }
27
27
  });
28
- const _generateVKUITokensClassName = require("../../helpers/generateVKUITokensClassName");
29
28
  const _isRefObject = require("../../lib/isRefObject");
30
- function getClassNamesByMode({ mode, layout, platform, appearance, sizeX, sizeY }) {
29
+ function getClassNamesByMode({ mode, layout, tokensClassName, sizeX, sizeY }) {
31
30
  const baseClassNames = [
32
31
  'vkui__root'
33
32
  ];
34
33
  const stylesClassNames = [
35
- (0, _generateVKUITokensClassName.generateVKUITokensClassName)(platform, appearance)
34
+ tokensClassName
36
35
  ];
37
36
  if (mode === 'full' || mode === 'embedded') {
38
37
  if (layout) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/helpers.ts"],"sourcesContent":["import { generateVKUITokensClassName } from '../../helpers/generateVKUITokensClassName';\nimport type { SizeTypeValues } from '../../lib/adaptivity';\nimport type { AppearanceType } from '../../lib/appearance';\nimport { isRefObject } from '../../lib/isRefObject';\nimport type { AppRootLayout, AppRootMode, SafeAreaInsets } from './types';\n\ntype ContainerClassNamesProps = {\n mode: AppRootMode;\n layout?: AppRootLayout;\n platform: string;\n appearance: AppearanceType;\n sizeX: SizeTypeValues | 'none';\n sizeY: SizeTypeValues | 'none';\n};\n\nexport function getClassNamesByMode({\n mode,\n layout,\n platform,\n appearance,\n sizeX,\n sizeY,\n}: ContainerClassNamesProps): [string[], string[]] {\n const baseClassNames: string[] = ['vkui__root'];\n const stylesClassNames: string[] = [generateVKUITokensClassName(platform, appearance)];\n\n if (mode === 'full' || mode === 'embedded') {\n if (layout) {\n const vkuiLayoutClassNames = { card: 'vkui--layout-card', plain: 'vkui--layout-plain' };\n stylesClassNames.push(vkuiLayoutClassNames[layout]);\n }\n\n if (sizeX !== 'compact') {\n const vkuiSizeXClassNames = { none: 'vkui--sizeX-none', regular: 'vkui--sizeX-regular' };\n stylesClassNames.push(vkuiSizeXClassNames[sizeX]);\n }\n\n if (sizeY !== 'regular') {\n const vkuiSizeYClassNames = { none: 'vkui--sizeY-none', compact: 'vkui--sizeY-compact' };\n stylesClassNames.push(vkuiSizeYClassNames[sizeY]);\n }\n\n if (mode === 'embedded') {\n baseClassNames.push('vkui__root--embedded');\n }\n }\n\n return [baseClassNames, stylesClassNames];\n}\n\nexport const getParentElement = (el: HTMLElement | null) => (el ? el.parentElement : null);\n\nexport const extractPortalRootByProp = (\n portalRootProp: HTMLElement | React.RefObject<HTMLElement>,\n) => (isRefObject(portalRootProp) ? portalRootProp.current : portalRootProp);\n\nexport const CUSTOM_PROPERTY_INSET_PREFIX = `--vkui_internal--safe_area_inset_`;\n\nexport const setSafeAreaInsets = (\n safeAreaInsets: SafeAreaInsets | undefined,\n rootContainer: HTMLElement,\n portalContainer?: HTMLElement,\n) => {\n if (!safeAreaInsets) {\n return () => void 0;\n }\n\n for (const key in safeAreaInsets) {\n if (safeAreaInsets.hasOwnProperty(key) && typeof safeAreaInsets[key] === 'number') {\n const propertyKey = `${CUSTOM_PROPERTY_INSET_PREFIX}${key}`;\n const propertyValue = safeAreaInsets[key];\n rootContainer.style.setProperty(propertyKey, `${propertyValue}px`);\n if (portalContainer) {\n portalContainer.style.setProperty(propertyKey, `${propertyValue}px`);\n }\n }\n }\n\n return function unset() {\n for (const key in safeAreaInsets) {\n if (safeAreaInsets.hasOwnProperty(key)) {\n const propertyKey = `${CUSTOM_PROPERTY_INSET_PREFIX}${key}`;\n rootContainer.style.removeProperty(propertyKey);\n if (portalContainer) {\n portalContainer.style.removeProperty(propertyKey);\n }\n }\n }\n };\n};\n"],"names":["CUSTOM_PROPERTY_INSET_PREFIX","extractPortalRootByProp","getClassNamesByMode","getParentElement","setSafeAreaInsets","mode","layout","platform","appearance","sizeX","sizeY","baseClassNames","stylesClassNames","generateVKUITokensClassName","vkuiLayoutClassNames","card","plain","push","vkuiSizeXClassNames","none","regular","vkuiSizeYClassNames","compact","el","parentElement","portalRootProp","isRefObject","current","safeAreaInsets","rootContainer","portalContainer","key","hasOwnProperty","propertyKey","propertyValue","style","setProperty","unset","removeProperty"],"mappings":";;;;;;;;;;;IAwDaA,4BAA4B;eAA5BA;;IAJAC,uBAAuB;eAAvBA;;IArCGC,mBAAmB;eAAnBA;;IAmCHC,gBAAgB;eAAhBA;;IAQAC,iBAAiB;eAAjBA;;;6CA1D+B;6BAGhB;AAYrB,SAASF,oBAAoB,EAClCG,IAAI,EACJC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,KAAK,EACoB;IACzB,MAAMC,iBAA2B;QAAC;KAAa;IAC/C,MAAMC,mBAA6B;QAACC,IAAAA,wDAA2B,EAACN,UAAUC;KAAY;IAEtF,IAAIH,SAAS,UAAUA,SAAS,YAAY;QAC1C,IAAIC,QAAQ;YACV,MAAMQ,uBAAuB;gBAAEC,MAAM;gBAAqBC,OAAO;YAAqB;YACtFJ,iBAAiBK,IAAI,CAACH,oBAAoB,CAACR,OAAO;QACpD;QAEA,IAAIG,UAAU,WAAW;YACvB,MAAMS,sBAAsB;gBAAEC,MAAM;gBAAoBC,SAAS;YAAsB;YACvFR,iBAAiBK,IAAI,CAACC,mBAAmB,CAACT,MAAM;QAClD;QAEA,IAAIC,UAAU,WAAW;YACvB,MAAMW,sBAAsB;gBAAEF,MAAM;gBAAoBG,SAAS;YAAsB;YACvFV,iBAAiBK,IAAI,CAACI,mBAAmB,CAACX,MAAM;QAClD;QAEA,IAAIL,SAAS,YAAY;YACvBM,eAAeM,IAAI,CAAC;QACtB;IACF;IAEA,OAAO;QAACN;QAAgBC;KAAiB;AAC3C;AAEO,MAAMT,mBAAmB,CAACoB,KAA4BA,KAAKA,GAAGC,aAAa,GAAG;AAE9E,MAAMvB,0BAA0B,CACrCwB,iBACIC,IAAAA,wBAAW,EAACD,kBAAkBA,eAAeE,OAAO,GAAGF;AAEtD,MAAMzB,+BAA+B,CAAC,iCAAiC,CAAC;AAExE,MAAMI,oBAAoB,CAC/BwB,gBACAC,eACAC;IAEA,IAAI,CAACF,gBAAgB;QACnB,OAAO,IAAM,KAAK;IACpB;IAEA,IAAK,MAAMG,OAAOH,eAAgB;QAChC,IAAIA,eAAeI,cAAc,CAACD,QAAQ,OAAOH,cAAc,CAACG,IAAI,KAAK,UAAU;YACjF,MAAME,cAAc,CAAC,EAAEjC,6BAA6B,EAAE+B,IAAI,CAAC;YAC3D,MAAMG,gBAAgBN,cAAc,CAACG,IAAI;YACzCF,cAAcM,KAAK,CAACC,WAAW,CAACH,aAAa,CAAC,EAAEC,cAAc,EAAE,CAAC;YACjE,IAAIJ,iBAAiB;gBACnBA,gBAAgBK,KAAK,CAACC,WAAW,CAACH,aAAa,CAAC,EAAEC,cAAc,EAAE,CAAC;YACrE;QACF;IACF;IAEA,OAAO,SAASG;QACd,IAAK,MAAMN,OAAOH,eAAgB;YAChC,IAAIA,eAAeI,cAAc,CAACD,MAAM;gBACtC,MAAME,cAAc,CAAC,EAAEjC,6BAA6B,EAAE+B,IAAI,CAAC;gBAC3DF,cAAcM,KAAK,CAACG,cAAc,CAACL;gBACnC,IAAIH,iBAAiB;oBACnBA,gBAAgBK,KAAK,CAACG,cAAc,CAACL;gBACvC;YACF;QACF;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/helpers.ts"],"sourcesContent":["import type { SizeTypeValues } from '../../lib/adaptivity';\nimport { isRefObject } from '../../lib/isRefObject';\nimport type { AppRootLayout, AppRootMode, SafeAreaInsets } from './types';\n\ntype ContainerClassNamesProps = {\n mode: AppRootMode;\n layout?: AppRootLayout;\n tokensClassName: string;\n sizeX: SizeTypeValues | 'none';\n sizeY: SizeTypeValues | 'none';\n};\n\nexport function getClassNamesByMode({\n mode,\n layout,\n tokensClassName,\n sizeX,\n sizeY,\n}: ContainerClassNamesProps): [string[], string[]] {\n const baseClassNames: string[] = ['vkui__root'];\n const stylesClassNames: string[] = [tokensClassName];\n\n if (mode === 'full' || mode === 'embedded') {\n if (layout) {\n const vkuiLayoutClassNames = { card: 'vkui--layout-card', plain: 'vkui--layout-plain' };\n stylesClassNames.push(vkuiLayoutClassNames[layout]);\n }\n\n if (sizeX !== 'compact') {\n const vkuiSizeXClassNames = { none: 'vkui--sizeX-none', regular: 'vkui--sizeX-regular' };\n stylesClassNames.push(vkuiSizeXClassNames[sizeX]);\n }\n\n if (sizeY !== 'regular') {\n const vkuiSizeYClassNames = { none: 'vkui--sizeY-none', compact: 'vkui--sizeY-compact' };\n stylesClassNames.push(vkuiSizeYClassNames[sizeY]);\n }\n\n if (mode === 'embedded') {\n baseClassNames.push('vkui__root--embedded');\n }\n }\n\n return [baseClassNames, stylesClassNames];\n}\n\nexport const getParentElement = (el: HTMLElement | null) => (el ? el.parentElement : null);\n\nexport const extractPortalRootByProp = (\n portalRootProp: HTMLElement | React.RefObject<HTMLElement>,\n) => (isRefObject(portalRootProp) ? portalRootProp.current : portalRootProp);\n\nexport const CUSTOM_PROPERTY_INSET_PREFIX = `--vkui_internal--safe_area_inset_`;\n\nexport const setSafeAreaInsets = (\n safeAreaInsets: SafeAreaInsets | undefined,\n rootContainer: HTMLElement,\n portalContainer?: HTMLElement,\n) => {\n if (!safeAreaInsets) {\n return () => void 0;\n }\n\n for (const key in safeAreaInsets) {\n if (safeAreaInsets.hasOwnProperty(key) && typeof safeAreaInsets[key] === 'number') {\n const propertyKey = `${CUSTOM_PROPERTY_INSET_PREFIX}${key}`;\n const propertyValue = safeAreaInsets[key];\n rootContainer.style.setProperty(propertyKey, `${propertyValue}px`);\n if (portalContainer) {\n portalContainer.style.setProperty(propertyKey, `${propertyValue}px`);\n }\n }\n }\n\n return function unset() {\n for (const key in safeAreaInsets) {\n if (safeAreaInsets.hasOwnProperty(key)) {\n const propertyKey = `${CUSTOM_PROPERTY_INSET_PREFIX}${key}`;\n rootContainer.style.removeProperty(propertyKey);\n if (portalContainer) {\n portalContainer.style.removeProperty(propertyKey);\n }\n }\n }\n };\n};\n"],"names":["CUSTOM_PROPERTY_INSET_PREFIX","extractPortalRootByProp","getClassNamesByMode","getParentElement","setSafeAreaInsets","mode","layout","tokensClassName","sizeX","sizeY","baseClassNames","stylesClassNames","vkuiLayoutClassNames","card","plain","push","vkuiSizeXClassNames","none","regular","vkuiSizeYClassNames","compact","el","parentElement","portalRootProp","isRefObject","current","safeAreaInsets","rootContainer","portalContainer","key","hasOwnProperty","propertyKey","propertyValue","style","setProperty","unset","removeProperty"],"mappings":";;;;;;;;;;;IAoDaA,4BAA4B;eAA5BA;;IAJAC,uBAAuB;eAAvBA;;IApCGC,mBAAmB;eAAnBA;;IAkCHC,gBAAgB;eAAhBA;;IAQAC,iBAAiB;eAAjBA;;;6BArDe;AAWrB,SAASF,oBAAoB,EAClCG,IAAI,EACJC,MAAM,EACNC,eAAe,EACfC,KAAK,EACLC,KAAK,EACoB;IACzB,MAAMC,iBAA2B;QAAC;KAAa;IAC/C,MAAMC,mBAA6B;QAACJ;KAAgB;IAEpD,IAAIF,SAAS,UAAUA,SAAS,YAAY;QAC1C,IAAIC,QAAQ;YACV,MAAMM,uBAAuB;gBAAEC,MAAM;gBAAqBC,OAAO;YAAqB;YACtFH,iBAAiBI,IAAI,CAACH,oBAAoB,CAACN,OAAO;QACpD;QAEA,IAAIE,UAAU,WAAW;YACvB,MAAMQ,sBAAsB;gBAAEC,MAAM;gBAAoBC,SAAS;YAAsB;YACvFP,iBAAiBI,IAAI,CAACC,mBAAmB,CAACR,MAAM;QAClD;QAEA,IAAIC,UAAU,WAAW;YACvB,MAAMU,sBAAsB;gBAAEF,MAAM;gBAAoBG,SAAS;YAAsB;YACvFT,iBAAiBI,IAAI,CAACI,mBAAmB,CAACV,MAAM;QAClD;QAEA,IAAIJ,SAAS,YAAY;YACvBK,eAAeK,IAAI,CAAC;QACtB;IACF;IAEA,OAAO;QAACL;QAAgBC;KAAiB;AAC3C;AAEO,MAAMR,mBAAmB,CAACkB,KAA4BA,KAAKA,GAAGC,aAAa,GAAG;AAE9E,MAAMrB,0BAA0B,CACrCsB,iBACIC,IAAAA,wBAAW,EAACD,kBAAkBA,eAAeE,OAAO,GAAGF;AAEtD,MAAMvB,+BAA+B,CAAC,iCAAiC,CAAC;AAExE,MAAMI,oBAAoB,CAC/BsB,gBACAC,eACAC;IAEA,IAAI,CAACF,gBAAgB;QACnB,OAAO,IAAM,KAAK;IACpB;IAEA,IAAK,MAAMG,OAAOH,eAAgB;QAChC,IAAIA,eAAeI,cAAc,CAACD,QAAQ,OAAOH,cAAc,CAACG,IAAI,KAAK,UAAU;YACjF,MAAME,cAAc,CAAC,EAAE/B,6BAA6B,EAAE6B,IAAI,CAAC;YAC3D,MAAMG,gBAAgBN,cAAc,CAACG,IAAI;YACzCF,cAAcM,KAAK,CAACC,WAAW,CAACH,aAAa,CAAC,EAAEC,cAAc,EAAE,CAAC;YACjE,IAAIJ,iBAAiB;gBACnBA,gBAAgBK,KAAK,CAACC,WAAW,CAACH,aAAa,CAAC,EAAEC,cAAc,EAAE,CAAC;YACrE;QACF;IACF;IAEA,OAAO,SAASG;QACd,IAAK,MAAMN,OAAOH,eAAgB;YAChC,IAAIA,eAAeI,cAAc,CAACD,MAAM;gBACtC,MAAME,cAAc,CAAC,EAAE/B,6BAA6B,EAAE6B,IAAI,CAAC;gBAC3DF,cAAcM,KAAK,CAACG,cAAc,CAACL;gBACnC,IAAIH,iBAAiB;oBACnBA,gBAAgBK,KAAK,CAACG,cAAc,CAACL;gBACvC;YACF;QACF;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppearanceProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,wBAAyB,uBAAuB,sBAU9E,CAAC"}
1
+ {"version":3,"file":"AppearanceProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,wBAAyB,uBAAuB,sBAM9E,CAAC"}
@@ -10,17 +10,12 @@ Object.defineProperty(exports, "AppearanceProvider", {
10
10
  });
11
11
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
12
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
- const _usePlatform = require("../../hooks/usePlatform");
14
- const _tokensClassProvider = require("../../lib/tokensClassProvider");
13
+ const _tokens = require("../../lib/tokens");
15
14
  const _ConfigProviderOverride = require("../ConfigProvider/ConfigProviderOverride");
16
15
  const AppearanceProvider = ({ value, children })=>{
17
- const platform = (0, _usePlatform.usePlatform)();
18
16
  return /*#__PURE__*/ _react.createElement(_ConfigProviderOverride.ConfigProviderOverride, {
19
17
  appearance: value
20
- }, /*#__PURE__*/ _react.createElement(_tokensClassProvider.TokensClassProvider, {
21
- platform: platform,
22
- appearance: value
23
- }, children));
18
+ }, /*#__PURE__*/ _react.createElement(_tokens.TokensClassProvider, null, children));
24
19
  };
25
20
 
26
21
  //# sourceMappingURL=AppearanceProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { AppearanceType } from '../../lib/appearance';\nimport { TokensClassProvider } from '../../lib/tokensClassProvider';\nimport { ConfigProviderOverride } from '../ConfigProvider/ConfigProviderOverride';\n\nexport interface AppearanceProviderProps {\n value: AppearanceType;\n children: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider = ({ value, children }: AppearanceProviderProps) => {\n const platform = usePlatform();\n\n return (\n <ConfigProviderOverride appearance={value}>\n <TokensClassProvider platform={platform} appearance={value}>\n {children}\n </TokensClassProvider>\n </ConfigProviderOverride>\n );\n};\n"],"names":["AppearanceProvider","value","children","platform","usePlatform","ConfigProviderOverride","appearance","TokensClassProvider"],"mappings":";;;;+BAcaA;;;eAAAA;;;;iEAdU;6BACK;qCAEQ;wCACG;AAUhC,MAAMA,qBAAqB,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAA2B;IAC7E,MAAMC,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,qBAACC,8CAAsB;QAACC,YAAYL;qBAClC,qBAACM,wCAAmB;QAACJ,UAAUA;QAAUG,YAAYL;OAClDC;AAIT"}
1
+ {"version":3,"sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { AppearanceType } from '../../lib/appearance';\nimport { TokensClassProvider } from '../../lib/tokens';\nimport { ConfigProviderOverride } from '../ConfigProvider/ConfigProviderOverride';\n\nexport interface AppearanceProviderProps {\n value: AppearanceType;\n children: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider = ({ value, children }: AppearanceProviderProps) => {\n return (\n <ConfigProviderOverride appearance={value}>\n <TokensClassProvider>{children}</TokensClassProvider>\n </ConfigProviderOverride>\n );\n};\n"],"names":["AppearanceProvider","value","children","ConfigProviderOverride","appearance","TokensClassProvider"],"mappings":";;;;+BAaaA;;;eAAAA;;;;iEAbU;wBAEa;wCACG;AAUhC,MAAMA,qBAAqB,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAA2B;IAC7E,qBACE,qBAACC,8CAAsB;QAACC,YAAYH;qBAClC,qBAACI,2BAAmB,QAAEH;AAG5B"}
@@ -19,12 +19,12 @@ const stylesMode = {
19
19
  new: "vkuiBadge--mode-new",
20
20
  prominent: "vkuiBadge--mode-prominent"
21
21
  };
22
- const Badge = (_param)=>/*#__PURE__*/ {
22
+ const Badge = (_param)=>{
23
23
  var { mode = 'new', children } = _param, restProps = _object_without_properties._(_param, [
24
24
  "mode",
25
25
  "children"
26
26
  ]);
27
- return _react.createElement(_RootComponent.RootComponent, _object_spread._({
27
+ return /*#__PURE__*/ _react.createElement(_RootComponent.RootComponent, _object_spread._({
28
28
  Component: "span",
29
29
  baseClassName: (0, _vkjs.classNames)("vkuiBadge", stylesMode[mode])
30
30
  }, restProps), children && /*#__PURE__*/ _react.createElement(_VisuallyHidden.VisuallyHidden, null, children));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { RootComponent, RootComponentProps } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Badge.module.css';\n\nconst stylesMode = {\n new: styles['Badge--mode-new'],\n prominent: styles['Badge--mode-prominent'],\n};\n\nexport interface BadgeProps extends RootComponentProps<HTMLSpanElement> {\n mode: 'new' | 'prominent';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n */\nexport const Badge = ({ mode = 'new', children, ...restProps }: BadgeProps) => (\n <RootComponent\n Component=\"span\"\n baseClassName={classNames(styles['Badge'], stylesMode[mode])}\n {...restProps}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n </RootComponent>\n);\n"],"names":["Badge","stylesMode","new","prominent","mode","children","restProps","RootComponent","Component","baseClassName","classNames","VisuallyHidden"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;iEAlBU;sBACI;+BACuB;gCACnB;AAG/B,MAAMC,aAAa;IACjBC,GAAG;IACHC,SAAS;AACX;AASO,MAAMH,QAAQ;QAAC,EAAEI,OAAO,KAAK,EAAEC,QAAQ,EAA4B,WAAvBC;QAA3BF;QAAcC;;WACpC,qBAACE,4BAAa;QACZC,WAAU;QACVC,eAAeC,IAAAA,gBAAU,eAAkBT,UAAU,CAACG,KAAK;OACvDE,YAEHD,0BAAY,qBAACM,8BAAc,QAAEN;AACjB"}
1
+ {"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { RootComponent, RootComponentProps } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Badge.module.css';\n\nconst stylesMode = {\n new: styles['Badge--mode-new'],\n prominent: styles['Badge--mode-prominent'],\n};\n\nexport interface BadgeProps extends RootComponentProps<HTMLSpanElement> {\n mode: 'new' | 'prominent';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n */\nexport const Badge = ({ mode = 'new', children, ...restProps }: BadgeProps) => (\n <RootComponent\n Component=\"span\"\n baseClassName={classNames(styles['Badge'], stylesMode[mode])}\n {...restProps}\n >\n {children && <VisuallyHidden>{children}</VisuallyHidden>}\n </RootComponent>\n);\n"],"names":["Badge","stylesMode","new","prominent","mode","children","restProps","RootComponent","Component","baseClassName","classNames","VisuallyHidden"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;iEAlBU;sBACI;+BACuB;gCACnB;AAG/B,MAAMC,aAAa;IACjBC,GAAG;IACHC,SAAS;AACX;AASO,MAAMH,QAAQ;QAAC,EAAEI,OAAO,KAAK,EAAEC,QAAQ,EAA4B,WAAvBC;QAA3BF;QAAcC;;yBACpC,qBAACE,4BAAa;QACZC,WAAU;QACVC,eAAeC,IAAAA,gBAAU,eAAkBT,UAAU,CAACG,KAAK;OACvDE,YAEHD,0BAAY,qBAACM,8BAAc,QAAEN"}
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { BaseGalleryProps } from './types';
3
- export declare const BaseGallery: ({ bullets, getRootRef, children, slideWidth, slideIndex, isDraggable: isDraggableProp, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align, showArrows, getRef, arrowSize, ...restProps }: BaseGalleryProps) => React.JSX.Element;
3
+ export declare const BaseGallery: ({ bullets, getRootRef, children, slideWidth, slideIndex, dragDisabled, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align, showArrows, getRef, arrowSize, ...restProps }: BaseGalleryProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=BaseGallery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseGallery.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseGallery/BaseGallery.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAAE,gBAAgB,EAAkD,MAAM,SAAS,CAAC;AA2B3F,eAAO,MAAM,WAAW,4MAiBrB,gBAAgB,sBAsUlB,CAAC"}
1
+ {"version":3,"file":"BaseGallery.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseGallery/BaseGallery.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAAE,gBAAgB,EAAkD,MAAM,SAAS,CAAC;AA2B3F,eAAO,MAAM,WAAW,4LAiBrB,gBAAgB,sBA0UlB,CAAC"}
@@ -45,13 +45,13 @@ const stylesBullets = {
45
45
  light: "vkuiBaseGallery__bullets--light"
46
46
  };
47
47
  const BaseGallery = (_param)=>{
48
- var { bullets = false, getRootRef, children, slideWidth = '100%', slideIndex = 0, isDraggable: isDraggableProp = true, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align = 'left', showArrows, getRef, arrowSize = 'l' } = _param, restProps = _object_without_properties._(_param, [
48
+ var { bullets = false, getRootRef, children, slideWidth = '100%', slideIndex = 0, dragDisabled = false, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align = 'left', showArrows, getRef, arrowSize = 'l' } = _param, restProps = _object_without_properties._(_param, [
49
49
  "bullets",
50
50
  "getRootRef",
51
51
  "children",
52
52
  "slideWidth",
53
53
  "slideIndex",
54
- "isDraggable",
54
+ "dragDisabled",
55
55
  "onDragStart",
56
56
  "onDragEnd",
57
57
  "onChange",
@@ -220,15 +220,18 @@ const BaseGallery = (_param)=>{
220
220
  }
221
221
  return targetIndex;
222
222
  };
223
+ const isDraggable = !dragDisabled && !layoutState.current.isFullyVisible;
223
224
  const onStart = (e)=>{
224
225
  e.originalEvent.stopPropagation();
225
- onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(e);
226
- setShiftState((prevState)=>_object_spread_props._(_object_spread._({}, prevState), {
227
- animation: false
228
- }));
226
+ if (isDraggable) {
227
+ onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(e);
228
+ setShiftState((prevState)=>_object_spread_props._(_object_spread._({}, prevState), {
229
+ animation: false
230
+ }));
231
+ }
229
232
  };
230
233
  const onMoveX = (e)=>{
231
- if (isDraggableProp && !layoutState.current.isFullyVisible) {
234
+ if (isDraggable) {
232
235
  e.originalEvent.preventDefault();
233
236
  if (e.isSlideX) {
234
237
  if (shiftState.deltaX !== e.shiftX) {
@@ -241,21 +244,23 @@ const BaseGallery = (_param)=>{
241
244
  }
242
245
  };
243
246
  const onEnd = (e)=>{
244
- const targetIndex = e.isSlide ? getTarget(e) : slideIndex !== null && slideIndex !== void 0 ? slideIndex : 0;
245
- onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(e, targetIndex);
246
- const nextShiftState = {
247
- animation: true,
248
- dragging: false,
249
- deltaX: 0
250
- };
251
- const shiftXStick = calculateDragIndent();
252
- if (targetIndex !== slideIndex) {
253
- // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)
254
- nextShiftState.shiftX = shiftXStick;
255
- }
256
- setShiftState((prevState)=>_object_spread._({}, prevState, nextShiftState));
257
- if (targetIndex !== slideIndex) {
258
- onChange === null || onChange === void 0 ? void 0 : onChange(targetIndex);
247
+ if (isDraggable) {
248
+ const targetIndex = e.isSlide ? getTarget(e) : slideIndex !== null && slideIndex !== void 0 ? slideIndex : 0;
249
+ onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(e, targetIndex);
250
+ const nextShiftState = {
251
+ animation: true,
252
+ dragging: false,
253
+ deltaX: 0
254
+ };
255
+ const shiftXStick = calculateDragIndent();
256
+ if (targetIndex !== slideIndex) {
257
+ // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)
258
+ nextShiftState.shiftX = shiftXStick;
259
+ }
260
+ setShiftState((prevState)=>_object_spread._({}, prevState, nextShiftState));
261
+ if (targetIndex !== slideIndex) {
262
+ onChange === null || onChange === void 0 ? void 0 : onChange(targetIndex);
263
+ }
259
264
  }
260
265
  };
261
266
  const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;
@@ -274,7 +279,6 @@ const BaseGallery = (_param)=>{
274
279
  const canSlideRight = !layoutState.current.isFullyVisible && // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side
275
280
  (align === 'left' && layoutState.current.containerWidth - shiftState.shiftX < ((_layoutState_current_layerWidth = layoutState.current.layerWidth) !== null && _layoutState_current_layerWidth !== void 0 ? _layoutState_current_layerWidth : 0) || // otherwise we need to check current slide index (align = right or align = center)
276
281
  align !== 'left' && slideIndex < layoutState.current.slides.length - 1);
277
- const isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;
278
282
  return /*#__PURE__*/ _react.createElement(_RootComponent.RootComponent, _object_spread_props._(_object_spread._({}, restProps), {
279
283
  baseClassName: (0, _vkjs.classNames)("vkuiBaseGallery", align === 'center' && "vkuiBaseGallery--align-center", slideWidth === 'custom' && "vkuiBaseGallery--custom-width", isDraggable && "vkuiBaseGallery--draggable"),
280
284
  getRootRef: rootRef
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { calcMax, calcMin } from './helpers';\nimport { BaseGalleryProps, GallerySlidesState, LayoutState, ShiftingState } from './types';\nimport styles from './BaseGallery.module.css';\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nconst stylesBullets = {\n dark: styles['BaseGallery__bullets--dark'],\n light: styles['BaseGallery__bullets--light'],\n};\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = '100%',\n slideIndex = 0,\n isDraggable: isDraggableProp = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n align = 'left',\n showArrows,\n getRef,\n arrowSize = 'l',\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] = React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const hasPointer = useAdaptivityHasPointer();\n\n const isCenterWithCustomWidth = slideWidth === 'custom' && align === 'center';\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(children, (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0,\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !== localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation: options.animation ?? prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, 'resize', onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = (event: React.MouseEvent) => {\n onChange?.(slideIndex - 1);\n onPrevClick?.(event);\n };\n\n const slideRight = (event: React.MouseEvent) => {\n onChange?.(slideIndex + 1);\n onNextClick?.(event);\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX + shiftState.deltaX + expectDeltaX - (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex,\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = (e: TouchEvent) => {\n e.originalEvent.stopPropagation();\n onDragStart?.(e);\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggableProp && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e, targetIndex);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n };\n\n const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === 'left' &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== 'left' && slideIndex < layoutState.current.slides.length - 1));\n\n const isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['BaseGallery'],\n align === 'center' && styles['BaseGallery--align-center'],\n slideWidth === 'custom' && styles['BaseGallery--custom-width'],\n isDraggable && styles['BaseGallery--draggable'],\n )}\n getRootRef={rootRef}\n >\n <Touch\n className={styles['BaseGallery__viewport']}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div className={styles['BaseGallery__layer']} style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles['BaseGallery__slide']}\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden\n className={classNames(styles['BaseGallery__bullets'], stylesBullets[bullets])}\n >\n {React.Children.map(children, (_item: React.ReactNode, index: number) => (\n <div\n className={classNames(\n styles['BaseGallery__bullet'],\n index === slideIndex && styles['BaseGallery__bullet--active'],\n )}\n key={index}\n />\n ))}\n </div>\n )}\n\n {showArrows && hasPointer && canSlideLeft && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"left\"\n onClick={slideLeft}\n size={arrowSize}\n />\n )}\n {showArrows && hasPointer && canSlideRight && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"right\"\n onClick={slideRight}\n size={arrowSize}\n />\n )}\n </RootComponent>\n );\n};\n"],"names":["BaseGallery","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","stylesBullets","dark","light","bullets","getRootRef","children","slideWidth","slideIndex","isDraggable","isDraggableProp","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","align","showArrows","getRef","arrowSize","restProps","slidesStore","React","useRef","layoutState","shiftState","setShiftState","useState","rootRef","useExternRef","viewportRef","window","useDOM","hasPointer","useAdaptivityHasPointer","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","calcMax","calcMin","prevState","onResize","useGlobalEventListener","useIsomorphicLayoutEffect","slideLeft","event","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","originalEvent","stopPropagation","onMoveX","preventDefault","isSlideX","onEnd","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","RootComponent","baseClassName","classNames","Touch","className","onStartX","style","noSlideClick","div","key","ref","el","aria-hidden","ScrollArrow","onClick","size"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { calcMax, calcMin } from './helpers';\nimport { BaseGalleryProps, GallerySlidesState, LayoutState, ShiftingState } from './types';\nimport styles from './BaseGallery.module.css';\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nconst stylesBullets = {\n dark: styles['BaseGallery__bullets--dark'],\n light: styles['BaseGallery__bullets--light'],\n};\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = '100%',\n slideIndex = 0,\n dragDisabled = false,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n align = 'left',\n showArrows,\n getRef,\n arrowSize = 'l',\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] = React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const hasPointer = useAdaptivityHasPointer();\n\n const isCenterWithCustomWidth = slideWidth === 'custom' && align === 'center';\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(children, (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0,\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !== localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation: options.animation ?? prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, 'resize', onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = (event: React.MouseEvent) => {\n onChange?.(slideIndex - 1);\n onPrevClick?.(event);\n };\n\n const slideRight = (event: React.MouseEvent) => {\n onChange?.(slideIndex + 1);\n onNextClick?.(event);\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX + shiftState.deltaX + expectDeltaX - (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex,\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const isDraggable = !dragDisabled && !layoutState.current.isFullyVisible;\n\n const onStart = (e: TouchEvent) => {\n e.originalEvent.stopPropagation();\n if (isDraggable) {\n onDragStart?.(e);\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n }\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggable) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n if (isDraggable) {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e, targetIndex);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n }\n };\n\n const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === 'left' &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== 'left' && slideIndex < layoutState.current.slides.length - 1));\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['BaseGallery'],\n align === 'center' && styles['BaseGallery--align-center'],\n slideWidth === 'custom' && styles['BaseGallery--custom-width'],\n isDraggable && styles['BaseGallery--draggable'],\n )}\n getRootRef={rootRef}\n >\n <Touch\n className={styles['BaseGallery__viewport']}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div className={styles['BaseGallery__layer']} style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles['BaseGallery__slide']}\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden\n className={classNames(styles['BaseGallery__bullets'], stylesBullets[bullets])}\n >\n {React.Children.map(children, (_item: React.ReactNode, index: number) => (\n <div\n className={classNames(\n styles['BaseGallery__bullet'],\n index === slideIndex && styles['BaseGallery__bullet--active'],\n )}\n key={index}\n />\n ))}\n </div>\n )}\n\n {showArrows && hasPointer && canSlideLeft && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"left\"\n onClick={slideLeft}\n size={arrowSize}\n />\n )}\n {showArrows && hasPointer && canSlideRight && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"right\"\n onClick={slideRight}\n size={arrowSize}\n />\n )}\n </RootComponent>\n );\n};\n"],"names":["BaseGallery","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","stylesBullets","dark","light","bullets","getRootRef","children","slideWidth","slideIndex","dragDisabled","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","align","showArrows","getRef","arrowSize","restProps","slidesStore","React","useRef","layoutState","shiftState","setShiftState","useState","rootRef","useExternRef","viewportRef","window","useDOM","hasPointer","useAdaptivityHasPointer","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","calcMax","calcMin","prevState","onResize","useGlobalEventListener","useIsomorphicLayoutEffect","slideLeft","event","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","isDraggable","onStart","originalEvent","stopPropagation","onMoveX","preventDefault","isSlideX","onEnd","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","RootComponent","baseClassName","classNames","Touch","className","onStartX","style","noSlideClick","div","key","ref","el","aria-hidden","ScrollArrow","onClick","size"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { BaseGalleryProps } from '../types';
3
- export declare const CarouselBase: ({ bullets, getRootRef, children, slideWidth, slideIndex, isDraggable: isDraggableProp, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align, showArrows, getRef, arrowSize, ...restProps }: BaseGalleryProps) => React.JSX.Element;
3
+ export declare const CarouselBase: ({ bullets, getRootRef, children, slideWidth, slideIndex, dragDisabled, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align, showArrows, getRef, arrowSize, ...restProps }: BaseGalleryProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=CarouselBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CarouselBase.d.ts","sourceRoot":"","sources":["../../../../../src/components/BaseGallery/CarouselBase/CarouselBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAAE,gBAAgB,EAAsB,MAAM,UAAU,CAAC;AAchE,eAAO,MAAM,YAAY,4MAiBtB,gBAAgB,sBAkVlB,CAAC"}
1
+ {"version":3,"file":"CarouselBase.d.ts","sourceRoot":"","sources":["../../../../../src/components/BaseGallery/CarouselBase/CarouselBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAAE,gBAAgB,EAAsB,MAAM,UAAU,CAAC;AAchE,eAAO,MAAM,YAAY,4LAiBtB,gBAAgB,sBAsVlB,CAAC"}