@vkontakte/vkui 5.0.0-beta.3 → 5.0.0-beta.4

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 (575) hide show
  1. package/README.md +12 -2
  2. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  3. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +7 -11
  4. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  5. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +2 -2
  6. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  7. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  8. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +11 -11
  9. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  10. package/dist/cjs/components/AppRoot/AppRoot.d.ts +2 -3
  11. package/dist/cjs/components/AppRoot/AppRoot.js +22 -20
  12. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  13. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +3 -3
  14. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +5 -6
  15. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  16. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +1 -1
  17. package/dist/cjs/components/BaseGallery/BaseGallery.js +19 -15
  18. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  19. package/dist/cjs/components/BaseGallery/types.d.ts +5 -3
  20. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  21. package/dist/cjs/components/Button/Button.d.ts +1 -1
  22. package/dist/cjs/components/Button/Button.js +3 -4
  23. package/dist/cjs/components/Button/Button.js.map +1 -1
  24. package/dist/cjs/components/CalendarDay/CalendarDay.js +3 -2
  25. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  26. package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -2
  27. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  28. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +3 -2
  29. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  30. package/dist/cjs/components/Checkbox/Checkbox.js +28 -29
  31. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  32. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -5
  33. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +17 -26
  34. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  35. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +5 -6
  36. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +3 -3
  37. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  38. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.d.ts +9 -0
  39. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js +26 -0
  40. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -0
  41. package/dist/cjs/components/Counter/Counter.d.ts +4 -2
  42. package/dist/cjs/components/Counter/Counter.js +13 -10
  43. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  44. package/dist/cjs/components/DatePicker/DatePicker.js +6 -14
  45. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  47. package/dist/cjs/components/DropdownIcon/DropdownIcon.js +13 -12
  48. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  49. package/dist/cjs/components/FormStatus/FormStatus.d.ts +9 -0
  50. package/dist/cjs/components/FormStatus/FormStatus.js +29 -0
  51. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -0
  52. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +6 -7
  53. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  54. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -2
  55. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  56. package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +3 -4
  57. package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  58. package/dist/cjs/components/LocaleProvider/LocaleProvider.d.ts +17 -0
  59. package/dist/cjs/components/LocaleProvider/LocaleProvider.js +24 -0
  60. package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -0
  61. package/dist/cjs/components/ModalRoot/ModalRoot.js +3 -2
  62. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  63. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -1
  64. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  65. package/dist/cjs/components/PanelHeader/PanelHeader.js +17 -15
  66. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  67. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +22 -14
  68. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  69. package/dist/cjs/components/Progress/Progress.js +2 -1
  70. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  71. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +3 -2
  72. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  73. package/dist/cjs/components/Root/Root.js +5 -5
  74. package/dist/cjs/components/Root/Root.js.map +1 -1
  75. package/dist/cjs/components/Select/Select.js +8 -9
  76. package/dist/cjs/components/Select/Select.js.map +1 -1
  77. package/dist/cjs/components/Snackbar/Snackbar.d.ts +9 -2
  78. package/dist/cjs/components/Snackbar/Snackbar.js +10 -4
  79. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  80. package/dist/cjs/components/SplitCol/SplitCol.d.ts +1 -1
  81. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  82. package/dist/cjs/components/Tappable/Tappable.js +16 -12
  83. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  84. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
  85. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  86. package/dist/cjs/helpers/getPointerClassName.d.ts +2 -0
  87. package/dist/cjs/helpers/{getMouseClassName.js → getPointerClassName.js} +4 -4
  88. package/dist/cjs/helpers/getPointerClassName.js.map +1 -0
  89. package/dist/cjs/helpers/range.d.ts +9 -0
  90. package/dist/cjs/helpers/range.js +33 -0
  91. package/dist/cjs/helpers/range.js.map +1 -0
  92. package/dist/cjs/hoc/withPlatform.js +3 -5
  93. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  94. package/dist/cjs/hooks/useAdaptivity.d.ts +3 -0
  95. package/dist/cjs/hooks/useAdaptivity.js +4 -26
  96. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  97. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.d.ts +68 -0
  98. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js +80 -0
  99. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js.map +1 -0
  100. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.d.ts +6 -0
  101. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js +42 -0
  102. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -0
  103. package/dist/cjs/hooks/useAdaptivityConditionalRender/index.d.ts +2 -0
  104. package/dist/cjs/hooks/useAdaptivityConditionalRender/index.js +13 -0
  105. package/dist/cjs/hooks/useAdaptivityConditionalRender/index.js.map +1 -0
  106. package/dist/cjs/hooks/useAdaptivityConditionalRender/types.d.ts +16 -0
  107. package/dist/cjs/hooks/useAdaptivityConditionalRender/types.js +6 -0
  108. package/dist/cjs/hooks/useAdaptivityConditionalRender/types.js.map +1 -0
  109. package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.d.ts +2 -0
  110. package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +35 -0
  111. package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -0
  112. package/dist/cjs/hooks/useAdaptivityHasHover.d.ts +8 -0
  113. package/dist/cjs/hooks/useAdaptivityHasHover.js +31 -0
  114. package/dist/cjs/hooks/useAdaptivityHasHover.js.map +1 -0
  115. package/dist/cjs/hooks/useAdaptivityHasPointer.d.ts +8 -0
  116. package/dist/cjs/hooks/useAdaptivityHasPointer.js +31 -0
  117. package/dist/cjs/hooks/useAdaptivityHasPointer.js.map +1 -0
  118. package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js +9 -9
  119. package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  120. package/dist/cjs/hooks/useAppearance.d.ts +1 -1
  121. package/dist/cjs/hooks/useAppearance.js +6 -7
  122. package/dist/cjs/hooks/useAppearance.js.map +1 -1
  123. package/dist/cjs/hooks/usePagination.js +6 -14
  124. package/dist/cjs/hooks/usePagination.js.map +1 -1
  125. package/dist/cjs/hooks/usePlatform.js +3 -7
  126. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  127. package/dist/cjs/index.d.ts +21 -14
  128. package/dist/cjs/index.js +47 -62
  129. package/dist/cjs/index.js.map +1 -1
  130. package/dist/cjs/lib/SSR.d.ts +0 -7
  131. package/dist/cjs/lib/SSR.js +6 -19
  132. package/dist/cjs/lib/SSR.js.map +1 -1
  133. package/dist/cjs/lib/adaptivity/constants.d.ts +37 -0
  134. package/dist/cjs/lib/adaptivity/constants.js +62 -0
  135. package/dist/cjs/lib/adaptivity/constants.js.map +1 -0
  136. package/dist/cjs/lib/adaptivity/functions.d.ts +22 -0
  137. package/dist/cjs/lib/adaptivity/functions.js +72 -0
  138. package/dist/cjs/lib/adaptivity/functions.js.map +1 -0
  139. package/dist/cjs/lib/adaptivity/index.d.ts +3 -0
  140. package/dist/cjs/lib/adaptivity/index.js +28 -0
  141. package/dist/cjs/lib/adaptivity/index.js.map +1 -0
  142. package/dist/cjs/lib/adaptivity/types.d.ts +12 -0
  143. package/dist/cjs/lib/adaptivity/types.js +6 -0
  144. package/dist/cjs/lib/adaptivity/types.js.map +1 -0
  145. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  146. package/dist/components/ActionSheetItem/ActionSheetItem.js +7 -11
  147. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  148. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +2 -2
  149. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  150. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  151. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +14 -14
  152. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  153. package/dist/components/AppRoot/AppRoot.d.ts +2 -3
  154. package/dist/components/AppRoot/AppRoot.js +22 -20
  155. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  156. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +3 -3
  157. package/dist/components/AppearanceProvider/AppearanceProvider.js +5 -6
  158. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  159. package/dist/components/BaseGallery/BaseGallery.d.ts +1 -1
  160. package/dist/components/BaseGallery/BaseGallery.js +19 -15
  161. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  162. package/dist/components/BaseGallery/types.d.ts +5 -3
  163. package/dist/components/BaseGallery/types.js.map +1 -1
  164. package/dist/components/Button/Button.d.ts +1 -1
  165. package/dist/components/Button/Button.js +3 -4
  166. package/dist/components/Button/Button.js.map +1 -1
  167. package/dist/components/CalendarDay/CalendarDay.js +3 -2
  168. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  169. package/dist/components/CalendarDays/CalendarDays.js +3 -2
  170. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  171. package/dist/components/CalendarHeader/CalendarHeader.js +3 -2
  172. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  173. package/dist/components/Checkbox/Checkbox.js +28 -29
  174. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  175. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -5
  176. package/dist/components/ConfigProvider/ConfigProvider.js +17 -27
  177. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  178. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +5 -6
  179. package/dist/components/ConfigProvider/ConfigProviderContext.js +3 -3
  180. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  181. package/dist/components/ConfigProvider/ConfigProviderOverride.d.ts +9 -0
  182. package/dist/components/ConfigProvider/ConfigProviderOverride.js +19 -0
  183. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -0
  184. package/dist/components/Counter/Counter.d.ts +4 -2
  185. package/dist/components/Counter/Counter.js +13 -10
  186. package/dist/components/Counter/Counter.js.map +1 -1
  187. package/dist/components/DatePicker/DatePicker.js +4 -12
  188. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  189. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  190. package/dist/components/DropdownIcon/DropdownIcon.js +13 -12
  191. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  192. package/dist/components/FormStatus/FormStatus.d.ts +9 -0
  193. package/dist/components/FormStatus/FormStatus.js +20 -0
  194. package/dist/components/FormStatus/FormStatus.js.map +1 -0
  195. package/dist/components/HorizontalScroll/HorizontalScroll.js +6 -7
  196. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  197. package/dist/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -2
  198. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  199. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +3 -4
  200. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  201. package/dist/components/LocaleProvider/LocaleProvider.d.ts +17 -0
  202. package/dist/components/LocaleProvider/LocaleProvider.js +17 -0
  203. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -0
  204. package/dist/components/ModalRoot/ModalRoot.js +3 -2
  205. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  206. package/dist/components/ModalRoot/ModalRootDesktop.js +2 -1
  207. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  208. package/dist/components/PanelHeader/PanelHeader.js +18 -16
  209. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  210. package/dist/components/PopoutRoot/PopoutRoot.js +22 -14
  211. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  212. package/dist/components/Progress/Progress.js +2 -1
  213. package/dist/components/Progress/Progress.js.map +1 -1
  214. package/dist/components/PullToRefresh/PullToRefresh.js +3 -2
  215. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  216. package/dist/components/Root/Root.js +6 -6
  217. package/dist/components/Root/Root.js.map +1 -1
  218. package/dist/components/Select/Select.js +6 -7
  219. package/dist/components/Select/Select.js.map +1 -1
  220. package/dist/components/Snackbar/Snackbar.d.ts +9 -2
  221. package/dist/components/Snackbar/Snackbar.js +10 -4
  222. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  223. package/dist/components/SplitCol/SplitCol.d.ts +1 -1
  224. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  225. package/dist/components/Tappable/Tappable.js +16 -12
  226. package/dist/components/Tappable/Tappable.js.map +1 -1
  227. package/dist/components/WriteBarIcon/WriteBarIcon.js +2 -2
  228. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  229. package/dist/components.css +5 -5
  230. package/dist/components.css.map +1 -1
  231. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  232. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +7 -11
  233. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  234. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.d.ts +2 -2
  235. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  236. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  237. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +14 -14
  238. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  239. package/dist/cssm/components/Alert/Alert.module.css +1 -1
  240. package/dist/cssm/components/AppRoot/AppRoot.d.ts +2 -3
  241. package/dist/cssm/components/AppRoot/AppRoot.js +22 -21
  242. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  243. package/dist/cssm/components/AppRoot/AppRoot.module.css +1 -1
  244. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +3 -3
  245. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +5 -6
  246. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  247. package/dist/cssm/components/Avatar/Avatar.module.css +1 -1
  248. package/dist/cssm/components/Banner/Banner.module.css +1 -1
  249. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +1 -1
  250. package/dist/cssm/components/BaseGallery/BaseGallery.js +19 -15
  251. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  252. package/dist/cssm/components/BaseGallery/BaseGallery.module.css +1 -1
  253. package/dist/cssm/components/BaseGallery/types.d.ts +5 -3
  254. package/dist/cssm/components/BaseGallery/types.js.map +1 -1
  255. package/dist/cssm/components/Button/Button.d.ts +1 -1
  256. package/dist/cssm/components/Button/Button.js +3 -4
  257. package/dist/cssm/components/Button/Button.js.map +1 -1
  258. package/dist/cssm/components/Button/Button.module.css +3 -3
  259. package/dist/cssm/components/CalendarDay/CalendarDay.js +3 -2
  260. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  261. package/dist/cssm/components/CalendarDay/CalendarDay.module.css +1 -1
  262. package/dist/cssm/components/CalendarDays/CalendarDays.js +3 -2
  263. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  264. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +3 -2
  265. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  266. package/dist/cssm/components/CalendarHeader/CalendarHeader.module.css +1 -1
  267. package/dist/cssm/components/CalendarTime/CalendarTime.module.css +1 -1
  268. package/dist/cssm/components/CardGrid/CardGrid.module.css +1 -1
  269. package/dist/cssm/components/Checkbox/Checkbox.js +28 -29
  270. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  271. package/dist/cssm/components/Checkbox/Checkbox.module.css +1 -1
  272. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +1 -1
  273. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +1 -5
  274. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +17 -27
  275. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  276. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +5 -6
  277. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +3 -3
  278. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  279. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.d.ts +9 -0
  280. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +19 -0
  281. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -0
  282. package/dist/cssm/components/Counter/Counter.d.ts +4 -2
  283. package/dist/cssm/components/Counter/Counter.js +13 -10
  284. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  285. package/dist/cssm/components/Counter/Counter.module.css +1 -1
  286. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +1 -1
  287. package/dist/cssm/components/DatePicker/DatePicker.js +4 -12
  288. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  289. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  290. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +13 -12
  291. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  292. package/dist/cssm/components/FormField/FormField.module.css +1 -1
  293. package/dist/cssm/components/FormStatus/FormStatus.d.ts +9 -0
  294. package/dist/cssm/components/FormStatus/FormStatus.js +21 -0
  295. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -0
  296. package/dist/cssm/components/FormStatus/FormStatus.module.css +1 -0
  297. package/dist/cssm/components/Group/Group.module.css +1 -1
  298. package/dist/cssm/components/Header/Header.module.css +1 -1
  299. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +1 -1
  300. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +6 -7
  301. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  302. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -2
  303. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  304. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +3 -4
  305. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  306. package/dist/cssm/components/Input/Input.module.css +1 -1
  307. package/dist/cssm/components/InputLike/InputLike.module.css +1 -1
  308. package/dist/cssm/components/Link/Link.module.css +1 -1
  309. package/dist/cssm/components/LocaleProvider/LocaleProvider.d.ts +17 -0
  310. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +17 -0
  311. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -0
  312. package/dist/cssm/components/ModalRoot/ModalRoot.js +3 -2
  313. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  314. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +2 -1
  315. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  316. package/dist/cssm/components/Pagination/Pagination.module.css +1 -1
  317. package/dist/cssm/components/PanelHeader/PanelHeader.js +18 -16
  318. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  319. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +1 -1
  320. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +1 -1
  321. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +22 -14
  322. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  323. package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +1 -1
  324. package/dist/cssm/components/Progress/Progress.js +2 -1
  325. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  326. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +3 -2
  327. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  328. package/dist/cssm/components/Radio/Radio.module.css +1 -1
  329. package/dist/cssm/components/RichCell/RichCell.module.css +1 -1
  330. package/dist/cssm/components/Root/Root.js +6 -6
  331. package/dist/cssm/components/Root/Root.js.map +1 -1
  332. package/dist/cssm/components/Search/Search.module.css +1 -1
  333. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +1 -1
  334. package/dist/cssm/components/Select/Select.js +6 -7
  335. package/dist/cssm/components/Select/Select.js.map +1 -1
  336. package/dist/cssm/components/Select/Select.module.css +1 -1
  337. package/dist/cssm/components/Snackbar/Snackbar.d.ts +9 -2
  338. package/dist/cssm/components/Snackbar/Snackbar.js +10 -4
  339. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  340. package/dist/cssm/components/Snackbar/Snackbar.module.css +1 -1
  341. package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -1
  342. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  343. package/dist/cssm/components/SplitCol/SplitCol.module.css +1 -1
  344. package/dist/cssm/components/SplitLayout/SplitLayout.module.css +1 -1
  345. package/dist/cssm/components/Tabs/Tabs.module.css +1 -1
  346. package/dist/cssm/components/Tappable/Tappable.js +16 -12
  347. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  348. package/dist/cssm/components/Tappable/Tappable.module.css +1 -1
  349. package/dist/cssm/components/Textarea/Textarea.module.css +1 -1
  350. package/dist/cssm/components/View/View.module.css +1 -1
  351. package/dist/cssm/components/WriteBar/WriteBar.module.css +1 -1
  352. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +2 -2
  353. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  354. package/dist/cssm/helpers/getPointerClassName.d.ts +2 -0
  355. package/dist/cssm/helpers/{getMouseClassName.js → getPointerClassName.js} +3 -3
  356. package/dist/cssm/helpers/getPointerClassName.js.map +1 -0
  357. package/dist/cssm/helpers/range.d.ts +9 -0
  358. package/dist/cssm/helpers/range.js +26 -0
  359. package/dist/cssm/helpers/range.js.map +1 -0
  360. package/dist/cssm/hoc/withPlatform.js +4 -6
  361. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  362. package/dist/cssm/hooks/useAdaptivity.d.ts +3 -0
  363. package/dist/cssm/hooks/useAdaptivity.js +4 -25
  364. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  365. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.d.ts +68 -0
  366. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js +68 -0
  367. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js.map +1 -0
  368. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.d.ts +6 -0
  369. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js +33 -0
  370. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -0
  371. package/dist/cssm/hooks/useAdaptivityConditionalRender/index.d.ts +2 -0
  372. package/dist/cssm/hooks/useAdaptivityConditionalRender/index.js +2 -0
  373. package/dist/cssm/hooks/useAdaptivityConditionalRender/index.js.map +1 -0
  374. package/dist/cssm/hooks/useAdaptivityConditionalRender/types.d.ts +16 -0
  375. package/dist/cssm/hooks/useAdaptivityConditionalRender/types.js +2 -0
  376. package/dist/cssm/hooks/useAdaptivityConditionalRender/types.js.map +1 -0
  377. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.d.ts +2 -0
  378. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +27 -0
  379. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -0
  380. package/dist/cssm/hooks/useAdaptivityHasHover.d.ts +8 -0
  381. package/dist/cssm/hooks/useAdaptivityHasHover.js +31 -0
  382. package/dist/cssm/hooks/useAdaptivityHasHover.js.map +1 -0
  383. package/dist/cssm/hooks/useAdaptivityHasPointer.d.ts +8 -0
  384. package/dist/cssm/hooks/useAdaptivityHasPointer.js +31 -0
  385. package/dist/cssm/hooks/useAdaptivityHasPointer.js.map +1 -0
  386. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js +11 -11
  387. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  388. package/dist/cssm/hooks/useAppearance.d.ts +1 -1
  389. package/dist/cssm/hooks/useAppearance.js +6 -5
  390. package/dist/cssm/hooks/useAppearance.js.map +1 -1
  391. package/dist/cssm/hooks/usePagination.js +6 -14
  392. package/dist/cssm/hooks/usePagination.js.map +1 -1
  393. package/dist/cssm/hooks/usePlatform.js +4 -7
  394. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  395. package/dist/cssm/index.d.ts +21 -14
  396. package/dist/cssm/index.js +14 -14
  397. package/dist/cssm/index.js.map +1 -1
  398. package/dist/cssm/lib/SSR.d.ts +0 -7
  399. package/dist/cssm/lib/SSR.js +6 -18
  400. package/dist/cssm/lib/SSR.js.map +1 -1
  401. package/dist/cssm/lib/adaptivity/constants.d.ts +37 -0
  402. package/dist/cssm/lib/adaptivity/constants.js +44 -0
  403. package/dist/cssm/lib/adaptivity/constants.js.map +1 -0
  404. package/dist/cssm/lib/adaptivity/functions.d.ts +22 -0
  405. package/dist/cssm/lib/adaptivity/functions.js +62 -0
  406. package/dist/cssm/lib/adaptivity/functions.js.map +1 -0
  407. package/dist/cssm/lib/adaptivity/index.d.ts +3 -0
  408. package/dist/cssm/lib/adaptivity/index.js +4 -0
  409. package/dist/cssm/lib/adaptivity/index.js.map +1 -0
  410. package/dist/cssm/lib/adaptivity/types.d.ts +12 -0
  411. package/dist/cssm/lib/adaptivity/types.js +2 -0
  412. package/dist/cssm/lib/adaptivity/types.js.map +1 -0
  413. package/dist/cssm/styles/adaptivity.module.css +1 -0
  414. package/dist/cssm/styles/common.css +1 -1
  415. package/dist/cssm/styles/components.css +5 -5
  416. package/dist/cssm/styles/constants.css +1 -1
  417. package/dist/cssm/styles/themes.css +1 -1
  418. package/dist/helpers/getPointerClassName.d.ts +2 -0
  419. package/dist/helpers/{getMouseClassName.js → getPointerClassName.js} +3 -3
  420. package/dist/helpers/getPointerClassName.js.map +1 -0
  421. package/dist/helpers/range.d.ts +9 -0
  422. package/dist/helpers/range.js +26 -0
  423. package/dist/helpers/range.js.map +1 -0
  424. package/dist/hoc/withPlatform.js +4 -6
  425. package/dist/hoc/withPlatform.js.map +1 -1
  426. package/dist/hooks/useAdaptivity.d.ts +3 -0
  427. package/dist/hooks/useAdaptivity.js +4 -25
  428. package/dist/hooks/useAdaptivity.js.map +1 -1
  429. package/dist/hooks/useAdaptivityConditionalRender/constants.d.ts +68 -0
  430. package/dist/hooks/useAdaptivityConditionalRender/constants.js +67 -0
  431. package/dist/hooks/useAdaptivityConditionalRender/constants.js.map +1 -0
  432. package/dist/hooks/useAdaptivityConditionalRender/helpers.d.ts +6 -0
  433. package/dist/hooks/useAdaptivityConditionalRender/helpers.js +33 -0
  434. package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -0
  435. package/dist/hooks/useAdaptivityConditionalRender/index.d.ts +2 -0
  436. package/dist/hooks/useAdaptivityConditionalRender/index.js +2 -0
  437. package/dist/hooks/useAdaptivityConditionalRender/index.js.map +1 -0
  438. package/dist/hooks/useAdaptivityConditionalRender/types.d.ts +16 -0
  439. package/dist/hooks/useAdaptivityConditionalRender/types.js +2 -0
  440. package/dist/hooks/useAdaptivityConditionalRender/types.js.map +1 -0
  441. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.d.ts +2 -0
  442. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +27 -0
  443. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -0
  444. package/dist/hooks/useAdaptivityHasHover.d.ts +8 -0
  445. package/dist/hooks/useAdaptivityHasHover.js +31 -0
  446. package/dist/hooks/useAdaptivityHasHover.js.map +1 -0
  447. package/dist/hooks/useAdaptivityHasPointer.d.ts +8 -0
  448. package/dist/hooks/useAdaptivityHasPointer.js +31 -0
  449. package/dist/hooks/useAdaptivityHasPointer.js.map +1 -0
  450. package/dist/hooks/useAdaptivityWithJSMediaQueries.js +11 -11
  451. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  452. package/dist/hooks/useAppearance.d.ts +1 -1
  453. package/dist/hooks/useAppearance.js +6 -5
  454. package/dist/hooks/useAppearance.js.map +1 -1
  455. package/dist/hooks/usePagination.js +6 -14
  456. package/dist/hooks/usePagination.js.map +1 -1
  457. package/dist/hooks/usePlatform.js +4 -7
  458. package/dist/hooks/usePlatform.js.map +1 -1
  459. package/dist/index.d.ts +21 -14
  460. package/dist/index.js +14 -14
  461. package/dist/index.js.map +1 -1
  462. package/dist/lib/SSR.d.ts +0 -7
  463. package/dist/lib/SSR.js +6 -18
  464. package/dist/lib/SSR.js.map +1 -1
  465. package/dist/lib/adaptivity/constants.d.ts +37 -0
  466. package/dist/lib/adaptivity/constants.js +44 -0
  467. package/dist/lib/adaptivity/constants.js.map +1 -0
  468. package/dist/lib/adaptivity/functions.d.ts +22 -0
  469. package/dist/lib/adaptivity/functions.js +62 -0
  470. package/dist/lib/adaptivity/functions.js.map +1 -0
  471. package/dist/lib/adaptivity/index.d.ts +3 -0
  472. package/dist/lib/adaptivity/index.js +4 -0
  473. package/dist/lib/adaptivity/index.js.map +1 -0
  474. package/dist/lib/adaptivity/types.d.ts +12 -0
  475. package/dist/lib/adaptivity/types.js +2 -0
  476. package/dist/lib/adaptivity/types.js.map +1 -0
  477. package/dist/stable.js.tmp +3 -3
  478. package/dist/vkui.css +6 -6
  479. package/dist/vkui.css.map +1 -1
  480. package/package.json +13 -21
  481. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +0 -3
  482. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js +0 -12
  483. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.js.map +0 -1
  484. package/dist/cjs/components/DeviceConditionalRender/DeviceConditionalRender.d.ts +0 -6
  485. package/dist/cjs/components/DeviceConditionalRender/DeviceConditionalRender.js +0 -24
  486. package/dist/cjs/components/DeviceConditionalRender/DeviceConditionalRender.js.map +0 -1
  487. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +0 -2
  488. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js +0 -11
  489. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.js.map +0 -1
  490. package/dist/cjs/components/SizeXConditionalRender/SizeXConditionalRender.d.ts +0 -6
  491. package/dist/cjs/components/SizeXConditionalRender/SizeXConditionalRender.js +0 -25
  492. package/dist/cjs/components/SizeXConditionalRender/SizeXConditionalRender.js.map +0 -1
  493. package/dist/cjs/components/SizeYConditionalRender/SizeYConditionalRender.d.ts +0 -6
  494. package/dist/cjs/components/SizeYConditionalRender/SizeYConditionalRender.js +0 -25
  495. package/dist/cjs/components/SizeYConditionalRender/SizeYConditionalRender.js.map +0 -1
  496. package/dist/cjs/components/ViewWidthConditionalRender/ViewWidthConditionalRender.d.ts +0 -6
  497. package/dist/cjs/components/ViewWidthConditionalRender/ViewWidthConditionalRender.js +0 -25
  498. package/dist/cjs/components/ViewWidthConditionalRender/ViewWidthConditionalRender.js.map +0 -1
  499. package/dist/cjs/helpers/getMouseClassName.d.ts +0 -2
  500. package/dist/cjs/helpers/getMouseClassName.js.map +0 -1
  501. package/dist/cjs/hooks/useBrowserInfo.d.ts +0 -2
  502. package/dist/cjs/hooks/useBrowserInfo.js +0 -16
  503. package/dist/cjs/hooks/useBrowserInfo.js.map +0 -1
  504. package/dist/cjs/lib/adaptivity.d.ts +0 -38
  505. package/dist/cjs/lib/adaptivity.js +0 -97
  506. package/dist/cjs/lib/adaptivity.js.map +0 -1
  507. package/dist/cjs/unstable/index.d.ts +0 -15
  508. package/dist/cjs/unstable/index.js +0 -48
  509. package/dist/cjs/unstable/index.js.map +0 -1
  510. package/dist/components/AppearanceProvider/AppearanceProviderContext.d.ts +0 -3
  511. package/dist/components/AppearanceProvider/AppearanceProviderContext.js +0 -4
  512. package/dist/components/AppearanceProvider/AppearanceProviderContext.js.map +0 -1
  513. package/dist/components/DeviceConditionalRender/DeviceConditionalRender.d.ts +0 -6
  514. package/dist/components/DeviceConditionalRender/DeviceConditionalRender.js +0 -16
  515. package/dist/components/DeviceConditionalRender/DeviceConditionalRender.js.map +0 -1
  516. package/dist/components/LocaleProviderContext/LocaleProviderContext.d.ts +0 -2
  517. package/dist/components/LocaleProviderContext/LocaleProviderContext.js +0 -3
  518. package/dist/components/LocaleProviderContext/LocaleProviderContext.js.map +0 -1
  519. package/dist/components/SizeXConditionalRender/SizeXConditionalRender.d.ts +0 -6
  520. package/dist/components/SizeXConditionalRender/SizeXConditionalRender.js +0 -17
  521. package/dist/components/SizeXConditionalRender/SizeXConditionalRender.js.map +0 -1
  522. package/dist/components/SizeYConditionalRender/SizeYConditionalRender.d.ts +0 -6
  523. package/dist/components/SizeYConditionalRender/SizeYConditionalRender.js +0 -17
  524. package/dist/components/SizeYConditionalRender/SizeYConditionalRender.js.map +0 -1
  525. package/dist/components/ViewWidthConditionalRender/ViewWidthConditionalRender.d.ts +0 -6
  526. package/dist/components/ViewWidthConditionalRender/ViewWidthConditionalRender.js +0 -17
  527. package/dist/components/ViewWidthConditionalRender/ViewWidthConditionalRender.js.map +0 -1
  528. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.d.ts +0 -3
  529. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js +0 -4
  530. package/dist/cssm/components/AppearanceProvider/AppearanceProviderContext.js.map +0 -1
  531. package/dist/cssm/components/DeviceConditionalRender/DeviceConditionalRender.d.ts +0 -6
  532. package/dist/cssm/components/DeviceConditionalRender/DeviceConditionalRender.js +0 -17
  533. package/dist/cssm/components/DeviceConditionalRender/DeviceConditionalRender.js.map +0 -1
  534. package/dist/cssm/components/DeviceConditionalRender/DeviceConditionalRender.module.css +0 -1
  535. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.d.ts +0 -2
  536. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js +0 -3
  537. package/dist/cssm/components/LocaleProviderContext/LocaleProviderContext.js.map +0 -1
  538. package/dist/cssm/components/SizeXConditionalRender/SizeXConditionalRender.d.ts +0 -6
  539. package/dist/cssm/components/SizeXConditionalRender/SizeXConditionalRender.js +0 -18
  540. package/dist/cssm/components/SizeXConditionalRender/SizeXConditionalRender.js.map +0 -1
  541. package/dist/cssm/components/SizeXConditionalRender/SizeXConditionalRender.module.css +0 -1
  542. package/dist/cssm/components/SizeYConditionalRender/SizeYConditionalRender.d.ts +0 -6
  543. package/dist/cssm/components/SizeYConditionalRender/SizeYConditionalRender.js +0 -18
  544. package/dist/cssm/components/SizeYConditionalRender/SizeYConditionalRender.js.map +0 -1
  545. package/dist/cssm/components/SizeYConditionalRender/SizeYConditionalRender.module.css +0 -1
  546. package/dist/cssm/components/ViewWidthConditionalRender/ViewWidthConditionalRender.d.ts +0 -6
  547. package/dist/cssm/components/ViewWidthConditionalRender/ViewWidthConditionalRender.js +0 -18
  548. package/dist/cssm/components/ViewWidthConditionalRender/ViewWidthConditionalRender.js.map +0 -1
  549. package/dist/cssm/components/ViewWidthConditionalRender/ViewWidthConditionalRender.module.css +0 -1
  550. package/dist/cssm/helpers/getMouseClassName.d.ts +0 -2
  551. package/dist/cssm/helpers/getMouseClassName.js.map +0 -1
  552. package/dist/cssm/hooks/useBrowserInfo.d.ts +0 -2
  553. package/dist/cssm/hooks/useBrowserInfo.js +0 -9
  554. package/dist/cssm/hooks/useBrowserInfo.js.map +0 -1
  555. package/dist/cssm/lib/adaptivity.d.ts +0 -38
  556. package/dist/cssm/lib/adaptivity.js +0 -81
  557. package/dist/cssm/lib/adaptivity.js.map +0 -1
  558. package/dist/cssm/styles/unstable.css +0 -1
  559. package/dist/cssm/unstable/index.d.ts +0 -15
  560. package/dist/cssm/unstable/index.js +0 -10
  561. package/dist/cssm/unstable/index.js.map +0 -1
  562. package/dist/helpers/getMouseClassName.d.ts +0 -2
  563. package/dist/helpers/getMouseClassName.js.map +0 -1
  564. package/dist/hooks/useBrowserInfo.d.ts +0 -2
  565. package/dist/hooks/useBrowserInfo.js +0 -9
  566. package/dist/hooks/useBrowserInfo.js.map +0 -1
  567. package/dist/lib/adaptivity.d.ts +0 -38
  568. package/dist/lib/adaptivity.js +0 -81
  569. package/dist/lib/adaptivity.js.map +0 -1
  570. package/dist/unstable/index.d.ts +0 -15
  571. package/dist/unstable/index.js +0 -10
  572. package/dist/unstable/index.js.map +0 -1
  573. package/dist/unstable.css +0 -3
  574. package/dist/unstable.css.map +0 -1
  575. package/dist/unstable.js.tmp +0 -24
package/README.md CHANGED
@@ -14,9 +14,19 @@ VKUI — это библиотека адаптивных React-компонен
14
14
 
15
15
  ## Установка
16
16
 
17
- `npm i @vkontakte/vkui` или `yarn add @vkontakte/vkui`
17
+ **npm:**
18
18
 
19
- **Важно:** Нужно установить вручную [`peerDependencies`](package.json#L104-L112), либо использовать npm7+ который делает это автоматически.
19
+ ```sh
20
+ npm i @vkontakte/vkui @vkontakte/icons @vkontakte/vk-bridge
21
+ ```
22
+
23
+ **yarn:**
24
+
25
+ ```sh
26
+ yarn add @vkontakte/vkui @vkontakte/icons @vkontakte/vk-bridge
27
+ ```
28
+
29
+ > _Обратите внимание_: мы поддерживаем [react](https://www.npmjs.com/package/react) и [react-dom](https://www.npmjs.com/package/react-dom) `^17.0.0` и `^18.1.0`
20
30
 
21
31
  ## Hello World
22
32
 
@@ -26,5 +26,5 @@ export interface ActionSheetItemProps extends React.HTMLAttributes<HTMLElement>,
26
26
  /**
27
27
  * @see https://vkcom.github.io/VKUI/#/ActionSheetItem
28
28
  */
29
- declare const ActionSheetItem: ({ children, autoClose, mode, meta, subtitle, before, selectable, value, name, checked, defaultChecked, onChange, onClick, onImmediateClick, multiline, iconChecked, className, ...restProps }: ActionSheetItemProps) => JSX.Element;
29
+ declare const ActionSheetItem: ({ children, autoClose, mode, meta, subtitle, before, selectable, value, name, checked, defaultChecked, onChange, onClick, onImmediateClick, multiline, iconChecked: iconCheckedProp, className, ...restProps }: ActionSheetItemProps) => JSX.Element;
30
30
  export { ActionSheetItem };
@@ -13,6 +13,7 @@ var _getSizeYClassName = require("../../helpers/getSizeYClassName");
13
13
  var _classNames = require("../../lib/classNames");
14
14
  var _Tappable = require("../Tappable/Tappable");
15
15
  var _usePlatform = require("../../hooks/usePlatform");
16
+ var _adaptivity = require("../../lib/adaptivity");
16
17
  var _utils = require("../../lib/utils");
17
18
  var _platform = require("../../lib/platform");
18
19
  var _Subhead = require("../Typography/Subhead/Subhead");
@@ -20,16 +21,7 @@ var _Text = require("../Typography/Text/Text");
20
21
  var _icons = require("@vkontakte/icons");
21
22
  var _ActionSheetContext = require("../ActionSheet/ActionSheetContext");
22
23
  var _useAdaptivityWithJSMediaQueries = require("../../hooks/useAdaptivityWithJSMediaQueries");
23
- var _SizeYConditionalRender = require("../SizeYConditionalRender/SizeYConditionalRender");
24
24
  var _excluded = ["children", "autoClose", "mode", "meta", "subtitle", "before", "selectable", "value", "name", "checked", "defaultChecked", "onChange", "onClick", "onImmediateClick", "multiline", "iconChecked", "className"];
25
- var defaultIconChecked = /*#__PURE__*/React.createElement(_SizeYConditionalRender.SizeYConditionalRender, {
26
- compact: /*#__PURE__*/React.createElement(_icons.Icon20CheckCircleOn, {
27
- "aria-hidden": true
28
- }),
29
- regular: /*#__PURE__*/React.createElement(_icons.Icon24CheckCircleOn, {
30
- "aria-hidden": true
31
- })
32
- });
33
25
  /**
34
26
  * @see https://vkcom.github.io/VKUI/#/ActionSheetItem
35
27
  */
@@ -51,8 +43,7 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
51
43
  onImmediateClick = _ref.onImmediateClick,
52
44
  _ref$multiline = _ref.multiline,
53
45
  multiline = _ref$multiline === void 0 ? false : _ref$multiline,
54
- _ref$iconChecked = _ref.iconChecked,
55
- iconChecked = _ref$iconChecked === void 0 ? defaultIconChecked : _ref$iconChecked,
46
+ iconCheckedProp = _ref.iconChecked,
56
47
  className = _ref.className,
57
48
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
58
49
  var platform = (0, _usePlatform.usePlatform)();
@@ -64,6 +55,11 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
64
55
  isDesktop = _React$useContext.isDesktop;
65
56
  var _useAdaptivityWithJSM = (0, _useAdaptivityWithJSMediaQueries.useAdaptivityWithJSMediaQueries)(),
66
57
  sizeY = _useAdaptivityWithJSM.sizeY;
58
+ var iconChecked = iconCheckedProp || (sizeY === _adaptivity.SizeType.COMPACT ? /*#__PURE__*/React.createElement(_icons.Icon20CheckCircleOn, {
59
+ "aria-hidden": true
60
+ }) : /*#__PURE__*/React.createElement(_icons.Icon24CheckCircleOn, {
61
+ "aria-hidden": true
62
+ }));
67
63
  var Component = restProps.href ? "a" : "div";
68
64
  if (selectable) {
69
65
  Component = "label";
@@ -1 +1 @@
1
- {"version":3,"file":"ActionSheetItem.js","names":["defaultIconChecked","ActionSheetItem","children","autoClose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","onImmediateClick","multiline","iconChecked","className","restProps","platform","usePlatform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","useAdaptivityWithJSMediaQueries","sizeY","Component","href","isRich","isCentered","Platform","IOS","Boolean","undefined","classNamesString","styles","getSizeYClassName","disabled"],"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { getSizeYClassName } from \"../../helpers/getSizeYClassName\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { noop } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Icon20CheckCircleOn, Icon24CheckCircleOn } from \"@vkontakte/icons\";\nimport {\n ActionSheetContext,\n type ActionSheetContextType,\n} from \"../ActionSheet/ActionSheetContext\";\nimport { useAdaptivityWithJSMediaQueries } from \"../../hooks/useAdaptivityWithJSMediaQueries\";\nimport { SizeYConditionalRender } from \"../SizeYConditionalRender/SizeYConditionalRender\";\nimport styles from \"./ActionSheetItem.module.css\";\n\nconst defaultIconChecked = (\n <SizeYConditionalRender\n compact={<Icon20CheckCircleOn aria-hidden />}\n regular={<Icon24CheckCircleOn aria-hidden />}\n />\n);\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"name\" | \"checked\" | \"value\"\n > {\n mode?: \"default\" | \"destructive\" | \"cancel\";\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoClose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Все текстовые элементы при необходимости занимают несколько строк\n */\n multiline?: boolean;\n /**\n * Если autoClose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n /**\n * Иконка для `checked` режима.\n */\n iconChecked?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ActionSheetItem\n */\nconst ActionSheetItem = ({\n children,\n autoClose,\n mode = \"default\",\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n onImmediateClick,\n multiline = false,\n iconChecked = defaultIconChecked,\n className,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n const { sizeY } = useAdaptivityWithJSMediaQueries();\n\n let Component: React.ElementType = restProps.href ? \"a\" : \"div\";\n\n if (selectable) {\n Component = \"label\";\n }\n\n const isRich = subtitle || meta || selectable;\n const isCentered = !isRich && !before && platform === Platform.IOS;\n\n return (\n <Tappable\n {...restProps}\n onClick={\n selectable\n ? onClick\n : onItemClick(onClick, onImmediateClick, Boolean(autoClose))\n }\n activeMode={\n platform === Platform.IOS\n ? styles[\"ActionSheetItem--active\"]\n : undefined\n }\n className={classNamesString(\n styles[\"ActionSheetItem\"],\n platform === Platform.IOS && styles[\"ActionSheetItem--ios\"],\n styles[`ActionSheetItem--mode-${mode}`],\n getSizeYClassName(styles[\"ActionSheetItem\"], sizeY),\n isRich && styles[\"ActionSheetItem--rich\"],\n isDesktop && styles[\"ActionSheetItem--desktop\"],\n className\n )}\n Component={Component}\n >\n {before && (\n <div className={styles[\"ActionSheetItem__before\"]}>{before}</div>\n )}\n <div\n className={classNamesString(\n styles[\"ActionSheetItem__container\"],\n !multiline && styles[\"ActionSheetItem--ellipsis\"]\n )}\n >\n <div\n className={classNamesString(\n styles[\"ActionSheetItem__content\"],\n isCentered && styles[\"ActionSheetItem--centered\"]\n )}\n >\n <Text\n weight={mode === \"cancel\" ? \"2\" : undefined}\n className={styles[\"ActionSheetItem__children\"]}\n >\n {children}\n </Text>\n {meta && (\n <Text className={styles[\"ActionSheetItem__meta\"]}>{meta}</Text>\n )}\n </div>\n {subtitle && (\n <Subhead className={styles[\"ActionSheetItem__subtitle\"]}>\n {subtitle}\n </Subhead>\n )}\n </div>\n {selectable && (\n <div className={styles[\"ActionSheetItem__after\"]}>\n <input\n type=\"radio\"\n className={styles[\"ActionSheetItem__radio\"]}\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoClose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div className={styles[\"ActionSheetItem__marker\"]}>{iconChecked}</div>\n </div>\n )}\n </Tappable>\n );\n};\n\nexport { ActionSheetItem };\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActionSheetItem.js","names":["ActionSheetItem","children","autoClose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","onImmediateClick","multiline","iconCheckedProp","iconChecked","className","restProps","platform","usePlatform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","useAdaptivityWithJSMediaQueries","sizeY","SizeType","COMPACT","Component","href","isRich","isCentered","Platform","IOS","Boolean","undefined","classNamesString","styles","getSizeYClassName","disabled"],"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { getSizeYClassName } from \"../../helpers/getSizeYClassName\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { SizeType } from \"../../lib/adaptivity\";\nimport { noop } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport { Subhead } from \"../Typography/Subhead/Subhead\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Icon20CheckCircleOn, Icon24CheckCircleOn } from \"@vkontakte/icons\";\nimport {\n ActionSheetContext,\n type ActionSheetContextType,\n} from \"../ActionSheet/ActionSheetContext\";\nimport { useAdaptivityWithJSMediaQueries } from \"../../hooks/useAdaptivityWithJSMediaQueries\";\nimport styles from \"./ActionSheetItem.module.css\";\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"name\" | \"checked\" | \"value\"\n > {\n mode?: \"default\" | \"destructive\" | \"cancel\";\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoClose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Все текстовые элементы при необходимости занимают несколько строк\n */\n multiline?: boolean;\n /**\n * Если autoClose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n /**\n * Иконка для `checked` режима.\n */\n iconChecked?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ActionSheetItem\n */\nconst ActionSheetItem = ({\n children,\n autoClose,\n mode = \"default\",\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n onImmediateClick,\n multiline = false,\n iconChecked: iconCheckedProp,\n className,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n const { sizeY } = useAdaptivityWithJSMediaQueries();\n\n const iconChecked =\n iconCheckedProp ||\n (sizeY === SizeType.COMPACT ? (\n <Icon20CheckCircleOn aria-hidden />\n ) : (\n <Icon24CheckCircleOn aria-hidden />\n ));\n\n let Component: React.ElementType = restProps.href ? \"a\" : \"div\";\n\n if (selectable) {\n Component = \"label\";\n }\n\n const isRich = subtitle || meta || selectable;\n const isCentered = !isRich && !before && platform === Platform.IOS;\n\n return (\n <Tappable\n {...restProps}\n onClick={\n selectable\n ? onClick\n : onItemClick(onClick, onImmediateClick, Boolean(autoClose))\n }\n activeMode={\n platform === Platform.IOS\n ? styles[\"ActionSheetItem--active\"]\n : undefined\n }\n className={classNamesString(\n styles[\"ActionSheetItem\"],\n platform === Platform.IOS && styles[\"ActionSheetItem--ios\"],\n styles[`ActionSheetItem--mode-${mode}`],\n getSizeYClassName(styles[\"ActionSheetItem\"], sizeY),\n isRich && styles[\"ActionSheetItem--rich\"],\n isDesktop && styles[\"ActionSheetItem--desktop\"],\n className\n )}\n Component={Component}\n >\n {before && (\n <div className={styles[\"ActionSheetItem__before\"]}>{before}</div>\n )}\n <div\n className={classNamesString(\n styles[\"ActionSheetItem__container\"],\n !multiline && styles[\"ActionSheetItem--ellipsis\"]\n )}\n >\n <div\n className={classNamesString(\n styles[\"ActionSheetItem__content\"],\n isCentered && styles[\"ActionSheetItem--centered\"]\n )}\n >\n <Text\n weight={mode === \"cancel\" ? \"2\" : undefined}\n className={styles[\"ActionSheetItem__children\"]}\n >\n {children}\n </Text>\n {meta && (\n <Text className={styles[\"ActionSheetItem__meta\"]}>{meta}</Text>\n )}\n </div>\n {subtitle && (\n <Subhead className={styles[\"ActionSheetItem__subtitle\"]}>\n {subtitle}\n </Subhead>\n )}\n </div>\n {selectable && (\n <div className={styles[\"ActionSheetItem__after\"]}>\n <input\n type=\"radio\"\n className={styles[\"ActionSheetItem__radio\"]}\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoClose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div className={styles[\"ActionSheetItem__marker\"]}>{iconChecked}</div>\n </div>\n )}\n </Tappable>\n );\n};\n\nexport { ActionSheetItem };\n"],"mappings":"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"}
@@ -16,10 +16,10 @@ export interface AdaptivityProps extends SizeProps {
16
16
  /**
17
17
  * @ignore
18
18
  */
19
- hasMouse?: boolean;
19
+ hasPointer?: boolean;
20
20
  /**
21
21
  * @ignore
22
22
  */
23
- deviceHasHover?: boolean;
23
+ hasHover?: boolean;
24
24
  }
25
25
  export declare const AdaptivityContext: React.Context<AdaptivityProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"AdaptivityContext.js","names":["AdaptivityContext","React","createContext"],"sources":["../../../../src/components/AdaptivityProvider/AdaptivityContext.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { SizeType, ViewWidth, ViewHeight } from \"../../lib/adaptivity\";\n\nexport interface SizeProps {\n sizeX?: SizeType;\n sizeY?: SizeType;\n}\n\nexport interface AdaptivityProps extends SizeProps {\n /**\n * @ignore\n */\n viewWidth?: ViewWidth;\n /**\n * @ignore\n */\n viewHeight?: ViewHeight;\n /**\n * @ignore\n */\n hasMouse?: boolean;\n /**\n * @ignore\n */\n deviceHasHover?: boolean;\n}\n\nexport const AdaptivityContext = React.createContext<AdaptivityProps>({});\n"],"mappings":";;;;;;;AAAA;AA2BO,IAAMA,iBAAiB,gBAAGC,KAAK,CAACC,aAAa,CAAkB,CAAC,CAAC,CAAC;AAAC"}
1
+ {"version":3,"file":"AdaptivityContext.js","names":["AdaptivityContext","React","createContext"],"sources":["../../../../src/components/AdaptivityProvider/AdaptivityContext.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { SizeType, ViewWidth, ViewHeight } from \"../../lib/adaptivity\";\n\nexport interface SizeProps {\n sizeX?: SizeType;\n sizeY?: SizeType;\n}\n\nexport interface AdaptivityProps extends SizeProps {\n /**\n * @ignore\n */\n viewWidth?: ViewWidth;\n /**\n * @ignore\n */\n viewHeight?: ViewHeight;\n /**\n * @ignore\n */\n hasPointer?: boolean;\n /**\n * @ignore\n */\n hasHover?: boolean;\n}\n\nexport const AdaptivityContext = React.createContext<AdaptivityProps>({});\n"],"mappings":";;;;;;;AAAA;AA2BO,IAAMA,iBAAiB,gBAAGC,KAAK,CAACC,aAAa,CAAkB,CAAC,CAAC,CAAC;AAAC"}
@@ -6,4 +6,4 @@ export interface AdaptivityProviderProps extends AdaptivityProps {
6
6
  /**
7
7
  * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider
8
8
  */
9
- export declare const AdaptivityProvider: ({ viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover, children, }: React.PropsWithChildren<AdaptivityProps>) => JSX.Element;
9
+ export declare const AdaptivityProvider: ({ viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, children, }: React.PropsWithChildren<AdaptivityProps>) => JSX.Element;
@@ -20,8 +20,8 @@ var AdaptivityProvider = function AdaptivityProvider(_ref) {
20
20
  viewHeight = _ref.viewHeight,
21
21
  sizeX = _ref.sizeX,
22
22
  sizeY = _ref.sizeY,
23
- hasMouse = _ref.hasMouse,
24
- deviceHasHover = _ref.deviceHasHover,
23
+ hasPointer = _ref.hasPointer,
24
+ hasHover = _ref.hasHover,
25
25
  children = _ref.children;
26
26
  var bridge = (0, _useBridgeAdaptivity.useBridgeAdaptivity)();
27
27
  var _React$useState = React.useState({
@@ -29,8 +29,8 @@ var AdaptivityProvider = function AdaptivityProvider(_ref) {
29
29
  viewHeight: viewHeight,
30
30
  sizeX: sizeX,
31
31
  sizeY: sizeY,
32
- hasMouse: hasMouse,
33
- deviceHasHover: deviceHasHover
32
+ hasPointer: hasPointer,
33
+ hasHover: hasHover
34
34
  }),
35
35
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
36
36
  adaptivity = _React$useState2[0],
@@ -41,10 +41,10 @@ var AdaptivityProvider = function AdaptivityProvider(_ref) {
41
41
  viewHeight: viewHeight,
42
42
  sizeX: sizeX,
43
43
  sizeY: sizeY,
44
- hasMouse: hasMouse,
45
- deviceHasHover: deviceHasHover
44
+ hasPointer: hasPointer,
45
+ hasHover: hasHover
46
46
  }, bridge));
47
- }, [viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover, bridge]);
47
+ }, [viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, bridge]);
48
48
  return /*#__PURE__*/React.createElement(_AdaptivityContext.AdaptivityContext.Provider, {
49
49
  value: adaptivity
50
50
  }, children);
@@ -55,8 +55,8 @@ function calculateAdaptivity(_ref2, bridge) {
55
55
  viewHeight = _ref2.viewHeight,
56
56
  sizeX = _ref2.sizeX,
57
57
  sizeY = _ref2.sizeY,
58
- hasMouse = _ref2.hasMouse,
59
- deviceHasHover = _ref2.deviceHasHover;
58
+ hasPointer = _ref2.hasPointer,
59
+ hasHover = _ref2.hasHover;
60
60
  if (bridge.type === "adaptive") {
61
61
  var viewportWidth = bridge.viewportWidth,
62
62
  viewportHeight = bridge.viewportHeight;
@@ -117,8 +117,8 @@ function calculateAdaptivity(_ref2, bridge) {
117
117
  viewHeight: viewHeight,
118
118
  sizeX: sizeX,
119
119
  sizeY: sizeY,
120
- hasMouse: hasMouse,
121
- deviceHasHover: deviceHasHover
120
+ hasPointer: hasPointer,
121
+ hasHover: hasHover
122
122
  };
123
123
  }
124
124
  //# sourceMappingURL=AdaptivityProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdaptivityProvider.js","names":["AdaptivityProvider","viewWidth","viewHeight","sizeX","sizeY","hasMouse","deviceHasHover","children","bridge","useBridgeAdaptivity","React","useState","adaptivity","setAdaptivity","useEffect","calculateAdaptivity","type","viewportWidth","viewportHeight","BREAKPOINTS","DESKTOP","ViewWidth","TABLET","SMALL_TABLET","MOBILE","SMALL_MOBILE","MEDIUM_HEIGHT","ViewHeight","MEDIUM","MOBILE_LANDSCAPE_HEIGHT","SMALL","EXTRA_SMALL","SizeType","COMPACT","REGULAR","_hasMouse","undefined"],"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { hasMouse as _hasMouse } from \"@vkontakte/vkjs\";\nimport {\n SizeType,\n ViewWidth,\n ViewHeight,\n BREAKPOINTS,\n} from \"../../lib/adaptivity\";\nimport {\n useBridgeAdaptivity,\n BridgeAdaptivity,\n} from \"../../hooks/useBridgeAdaptivity\";\nimport { type AdaptivityProps, AdaptivityContext } from \"./AdaptivityContext\";\n\nexport interface AdaptivityProviderProps extends AdaptivityProps {\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider\n */\nexport const AdaptivityProvider = ({\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasMouse,\n deviceHasHover,\n children,\n}: React.PropsWithChildren<AdaptivityProps>) => {\n const bridge = useBridgeAdaptivity();\n const [adaptivity, setAdaptivity] = React.useState({\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasMouse,\n deviceHasHover,\n });\n\n React.useEffect(() => {\n setAdaptivity(\n calculateAdaptivity(\n {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasMouse,\n deviceHasHover,\n },\n bridge\n )\n );\n }, [viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover, bridge]);\n\n return (\n <AdaptivityContext.Provider value={adaptivity}>\n {children}\n </AdaptivityContext.Provider>\n );\n};\n\nfunction calculateAdaptivity(\n {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasMouse,\n deviceHasHover,\n }: AdaptivityProps,\n bridge: BridgeAdaptivity\n) {\n if (bridge.type === \"adaptive\") {\n const { viewportWidth, viewportHeight } = bridge;\n\n if (viewportWidth >= BREAKPOINTS.DESKTOP) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (viewportWidth >= BREAKPOINTS.TABLET) {\n viewWidth = ViewWidth.TABLET;\n } else if (viewportWidth >= BREAKPOINTS.SMALL_TABLET) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (viewportWidth >= BREAKPOINTS.MOBILE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (viewportHeight >= BREAKPOINTS.MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (viewportHeight > BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasMouse) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else if (\n bridge.type === \"force_mobile\" ||\n bridge.type === \"force_mobile_compact\"\n ) {\n viewWidth = ViewWidth.MOBILE;\n sizeX = SizeType.COMPACT;\n\n if (bridge.type === \"force_mobile_compact\") {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else {\n if (sizeX === undefined && viewWidth !== undefined) {\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n }\n if (\n sizeY === undefined &&\n viewWidth !== undefined &&\n viewHeight !== undefined\n ) {\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasMouse) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n }\n\n return {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasMouse,\n deviceHasHover,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AdaptivityProvider.js","names":["AdaptivityProvider","viewWidth","viewHeight","sizeX","sizeY","hasPointer","hasHover","children","bridge","useBridgeAdaptivity","React","useState","adaptivity","setAdaptivity","useEffect","calculateAdaptivity","type","viewportWidth","viewportHeight","BREAKPOINTS","DESKTOP","ViewWidth","TABLET","SMALL_TABLET","MOBILE","SMALL_MOBILE","MEDIUM_HEIGHT","ViewHeight","MEDIUM","MOBILE_LANDSCAPE_HEIGHT","SMALL","EXTRA_SMALL","SizeType","COMPACT","REGULAR","_hasPointer","undefined"],"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { hasMouse as _hasPointer } from \"@vkontakte/vkjs\";\nimport {\n SizeType,\n ViewWidth,\n ViewHeight,\n BREAKPOINTS,\n} from \"../../lib/adaptivity\";\nimport {\n useBridgeAdaptivity,\n BridgeAdaptivity,\n} from \"../../hooks/useBridgeAdaptivity\";\nimport { type AdaptivityProps, AdaptivityContext } from \"./AdaptivityContext\";\n\nexport interface AdaptivityProviderProps extends AdaptivityProps {\n children?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider\n */\nexport const AdaptivityProvider = ({\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n children,\n}: React.PropsWithChildren<AdaptivityProps>) => {\n const bridge = useBridgeAdaptivity();\n const [adaptivity, setAdaptivity] = React.useState({\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n });\n\n React.useEffect(() => {\n setAdaptivity(\n calculateAdaptivity(\n {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n },\n bridge\n )\n );\n }, [viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, bridge]);\n\n return (\n <AdaptivityContext.Provider value={adaptivity}>\n {children}\n </AdaptivityContext.Provider>\n );\n};\n\nfunction calculateAdaptivity(\n {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n }: AdaptivityProps,\n bridge: BridgeAdaptivity\n) {\n if (bridge.type === \"adaptive\") {\n const { viewportWidth, viewportHeight } = bridge;\n\n if (viewportWidth >= BREAKPOINTS.DESKTOP) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (viewportWidth >= BREAKPOINTS.TABLET) {\n viewWidth = ViewWidth.TABLET;\n } else if (viewportWidth >= BREAKPOINTS.SMALL_TABLET) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (viewportWidth >= BREAKPOINTS.MOBILE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (viewportHeight >= BREAKPOINTS.MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (viewportHeight > BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else if (\n bridge.type === \"force_mobile\" ||\n bridge.type === \"force_mobile_compact\"\n ) {\n viewWidth = ViewWidth.MOBILE;\n sizeX = SizeType.COMPACT;\n\n if (bridge.type === \"force_mobile_compact\") {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else {\n if (sizeX === undefined && viewWidth !== undefined) {\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n }\n if (\n sizeY === undefined &&\n viewWidth !== undefined &&\n viewHeight !== undefined\n ) {\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n }\n\n return {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n };\n}\n"],"mappings":"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"}
@@ -4,9 +4,8 @@ export interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  mode?: "partial" | "embedded" | "full";
5
5
  window?: Window;
6
6
  scroll?: "global" | "contain";
7
- /** root-элемент для порталов.
8
- *
9
- * При передаче своего элемента задайте этому элементу `class="vkui__portal-root"` и добавьте его в DOM.
7
+ /**
8
+ * Кастомный root-элемент портала
10
9
  */
11
10
  portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;
12
11
  /** Disable portal for components */
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.AppRoot = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
12
  var React = _interopRequireWildcard(require("react"));
@@ -21,10 +20,15 @@ var _utils = require("../../lib/utils");
21
20
  var _useKeyboardInputTracker = require("../../hooks/useKeyboardInputTracker");
22
21
  var _useInsets = require("../../hooks/useInsets");
23
22
  var _useAdaptivity2 = require("../../hooks/useAdaptivity");
24
- var _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext");
23
+ var _useAppearance = require("../../hooks/useAppearance");
25
24
  var _isRefObject = require("../../lib/isRefObject");
26
25
  var _getSizeXClassName = require("../../helpers/getSizeXClassName");
27
26
  var _excluded = ["children", "mode", "scroll", "portalRoot", "disablePortal", "className"];
27
+ var INSET_CUSTOM_PROPERTY_PREFIX = "--vkui_internal--safe_area_inset_";
28
+
29
+ // Используйте classList, но будьте осторожны
30
+ /* eslint-disable no-restricted-properties */
31
+
28
32
  /**
29
33
  * @see https://vkcom.github.io/VKUI/#/AppRoot
30
34
  */
@@ -48,10 +52,9 @@ var AppRoot = function AppRoot(_ref) {
48
52
  var _useDOM = (0, _dom.useDOM)(),
49
53
  document = _useDOM.document;
50
54
  var insets = (0, _useInsets.useInsets)();
51
- var _React$useContext = React.useContext(_ConfigProviderContext.ConfigProviderContext),
52
- appearance = _React$useContext.appearance;
55
+ var appearance = (0, _useAppearance.useAppearance)();
53
56
  var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
54
- hasMouse = _useAdaptivity.hasMouse,
57
+ hasPointer = _useAdaptivity.hasPointer,
55
58
  sizeX = _useAdaptivity.sizeX;
56
59
 
57
60
  // setup portal
@@ -66,7 +69,6 @@ var AppRoot = function AppRoot(_ref) {
66
69
  }
67
70
  if (!portal) {
68
71
  portal = document.createElement("div");
69
- portal.classList.add("vkui__portal-root");
70
72
  document.body.appendChild(portal);
71
73
  }
72
74
  setPortalRoot(portal);
@@ -78,16 +80,14 @@ var AppRoot = function AppRoot(_ref) {
78
80
 
79
81
  // setup root classes
80
82
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
81
- var _rootRef$current, _parent$classList;
82
- if (mode === "partial") {
83
+ var _rootRef$current;
84
+ if (mode !== "embedded") {
83
85
  return _utils.noop;
84
86
  }
85
87
  var parent = (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.parentElement;
86
- var classes = ["vkui__root"].concat(mode === "embedded" ? "vkui__root--embedded" : []);
87
- parent === null || parent === void 0 ? void 0 : (_parent$classList = parent.classList).add.apply(_parent$classList, (0, _toConsumableArray2.default)(classes));
88
+ parent === null || parent === void 0 ? void 0 : parent.classList.add("vkui__root--embedded");
88
89
  return function () {
89
- var _parent$classList2;
90
- parent === null || parent === void 0 ? void 0 : (_parent$classList2 = parent.classList).remove.apply(_parent$classList2, (0, _toConsumableArray2.default)(classes));
90
+ parent === null || parent === void 0 ? void 0 : parent.classList.remove("vkui__root--embedded");
91
91
  };
92
92
  }, []);
93
93
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
@@ -107,18 +107,20 @@ var AppRoot = function AppRoot(_ref) {
107
107
  return _utils.noop;
108
108
  }
109
109
  var parent = rootRef.current.parentElement;
110
- for (var key in insets) {
110
+ var key;
111
+ for (key in insets) {
111
112
  if (insets.hasOwnProperty(key) && typeof insets[key] === "number") {
112
113
  var inset = insets[key];
113
- parent.style.setProperty("--safe-area-inset-".concat(key), "".concat(inset, "px"));
114
- portalRoot && portalRoot.style.setProperty("--safe-area-inset-".concat(key), "".concat(inset, "px"));
114
+ parent.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, "".concat(inset, "px"));
115
+ portalRoot && portalRoot.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, "".concat(inset, "px"));
115
116
  }
116
117
  }
117
118
  return function () {
118
- for (var _key in insets) {
119
- if (insets.hasOwnProperty(_key)) {
120
- parent.style.removeProperty("--safe-area-inset-".concat(_key));
121
- portalRoot && portalRoot.style.removeProperty("--safe-area-inset-".concat(_key));
119
+ var key;
120
+ for (key in insets) {
121
+ if (insets.hasOwnProperty(key)) {
122
+ parent.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);
123
+ portalRoot && portalRoot.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);
122
124
  }
123
125
  }
124
126
  };
@@ -165,7 +167,7 @@ var AppRoot = function AppRoot(_ref) {
165
167
  }, children)));
166
168
  return mode === "partial" ? content : /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
167
169
  ref: rootRef,
168
- className: (0, _classNames.classNamesString)("vkuiAppRoot", !hasMouse && "vkuiAppRoot--no-mouse", className)
170
+ className: (0, _classNames.classNamesString)("vkuiAppRoot", hasPointer === undefined ? "vkuiAppRoot--pointer-none" : !hasPointer && "vkuiAppRoot--pointer-has-not", className)
169
171
  }, props), content);
170
172
  };
171
173
  exports.AppRoot = AppRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"AppRoot.js","names":["AppRoot","children","mode","scroll","portalRoot","portalRootProp","disablePortal","className","props","isKeyboardInputActive","useKeyboardInputTracker","rootRef","React","useRef","useState","setPortalRoot","useDOM","document","insets","useInsets","useContext","ConfigProviderContext","appearance","useAdaptivity","hasMouse","sizeX","useIsomorphicLayoutEffect","portal","isRefObject","current","createElement","classList","add","body","appendChild","parentElement","removeChild","noop","parent","classes","concat","remove","documentElement","undefined","key","hasOwnProperty","inset","style","setProperty","removeProperty","getSizeXClassName","container","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","appRoot","embedded","keyboardInput","classNamesString"],"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport { getSizeXClassName } from \"../../helpers/getSizeXClassName\";\nimport styles from \"./AppRoot.module.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n scroll?: \"global\" | \"contain\";\n /** root-элемент для порталов.\n *\n * При передаче своего элемента задайте этому элементу `class=\"vkui__portal-root\"` и добавьте его в DOM.\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\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,\n className,\n ...props\n}: AppRootProps) => {\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLElement | null>(null);\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n const { hasMouse, sizeX } = useAdaptivity();\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n portal?.parentElement?.removeChild(portal);\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n };\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === \"full\") {\n document!.documentElement.classList.add(\"vkui\");\n\n return () => {\n document!.documentElement.classList.remove(\"vkui\");\n };\n }\n\n return undefined;\n }, [document, mode]);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n const className = getSizeXClassName(\"vkui\", sizeX);\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(className);\n return () => container?.classList.remove(className);\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () => document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider classPrefix=\"vkui\">\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n className={classNamesString(\n styles[\"AppRoot\"],\n !hasMouse && styles[\"AppRoot--no-mouse\"],\n className\n )}\n {...props}\n >\n {content}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"AppRoot.js","names":["INSET_CUSTOM_PROPERTY_PREFIX","AppRoot","children","mode","scroll","portalRoot","portalRootProp","disablePortal","className","props","isKeyboardInputActive","useKeyboardInputTracker","rootRef","React","useRef","useState","setPortalRoot","useDOM","document","insets","useInsets","appearance","useAppearance","useAdaptivity","hasPointer","sizeX","useIsomorphicLayoutEffect","portal","isRefObject","current","createElement","body","appendChild","parentElement","removeChild","noop","parent","classList","add","remove","documentElement","undefined","key","hasOwnProperty","inset","style","setProperty","removeProperty","getSizeXClassName","container","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","appRoot","embedded","keyboardInput","classNamesString"],"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { useAppearance } from \"../../hooks/useAppearance\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport { getSizeXClassName } from \"../../helpers/getSizeXClassName\";\nimport styles from \"./AppRoot.module.css\";\n\nconst INSET_CUSTOM_PROPERTY_PREFIX = `--vkui_internal--safe_area_inset_`;\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n scroll?: \"global\" | \"contain\";\n /**\n * Кастомный root-элемент портала\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\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,\n className,\n ...props\n}: AppRootProps) => {\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLElement | null>(null);\n const { document } = useDOM();\n const insets = useInsets();\n const appearance = useAppearance();\n\n const { hasPointer, sizeX } = useAdaptivity();\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement(\"div\");\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n portal?.parentElement?.removeChild(portal);\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"embedded\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n parent?.classList.add(\"vkui__root--embedded\");\n\n return () => {\n parent?.classList.remove(\"vkui__root--embedded\");\n };\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === \"full\") {\n document!.documentElement.classList.add(\"vkui\");\n\n return () => {\n document!.documentElement.classList.remove(\"vkui\");\n };\n }\n\n return undefined;\n }, [document, mode]);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n let key: keyof Insets;\n for (key in insets) {\n if (insets.hasOwnProperty(key) && typeof insets[key] === \"number\") {\n const inset = insets[key];\n parent.style.setProperty(\n INSET_CUSTOM_PROPERTY_PREFIX + key,\n `${inset}px`\n );\n portalRoot &&\n portalRoot.style.setProperty(\n INSET_CUSTOM_PROPERTY_PREFIX + key,\n `${inset}px`\n );\n }\n }\n\n return () => {\n let key: keyof Insets;\n for (key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n portalRoot &&\n portalRoot.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n const className = getSizeXClassName(\"vkui\", sizeX);\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(className);\n return () => container?.classList.remove(className);\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () => document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider classPrefix=\"vkui\">\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n className={classNamesString(\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"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import * as React from "react";
2
2
  import { AppearanceType } from "@vkontakte/vk-bridge";
3
3
  export interface AppearanceProviderProps {
4
- appearance?: AppearanceType;
5
- children?: React.ReactNode;
4
+ appearance: AppearanceType;
5
+ children: React.ReactNode;
6
6
  }
7
7
  export declare const generateVKUITokensClassName: (platform: string, appearance: string) => string;
8
8
  /**
9
9
  * @see https://vkcom.github.io/VKUI/#/AppearanceProvider
10
10
  */
11
- export declare const AppearanceProvider: ({ children, appearance, }: AppearanceProviderProps) => JSX.Element;
11
+ export declare const AppearanceProvider: ({ appearance, children, }: AppearanceProviderProps) => JSX.Element;
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.generateVKUITokensClassName = exports.AppearanceProvider = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
- var _AppearanceProviderContext = require("./AppearanceProviderContext");
10
9
  var _classNames = require("../../lib/classNames");
11
10
  var _usePlatform = require("../../hooks/usePlatform");
12
11
  var _platform = require("../../lib/platform");
12
+ var _ConfigProviderOverride = require("../ConfigProvider/ConfigProviderOverride");
13
13
  var generateVKUITokensClassName = function generateVKUITokensClassName(platform, appearance) {
14
14
  var tokensPlatform;
15
15
  switch (platform) {
@@ -33,12 +33,11 @@ var generateVKUITokensClassName = function generateVKUITokensClassName(platform,
33
33
  */
34
34
  exports.generateVKUITokensClassName = generateVKUITokensClassName;
35
35
  var AppearanceProvider = function AppearanceProvider(_ref) {
36
- var children = _ref.children,
37
- _ref$appearance = _ref.appearance,
38
- appearance = _ref$appearance === void 0 ? "light" : _ref$appearance;
36
+ var appearance = _ref.appearance,
37
+ children = _ref.children;
39
38
  var platform = (0, _usePlatform.usePlatform)();
40
- return /*#__PURE__*/React.createElement(_AppearanceProviderContext.AppearanceProviderContext.Provider, {
41
- value: appearance
39
+ return /*#__PURE__*/React.createElement(_ConfigProviderOverride.ConfigProviderOverride, {
40
+ appearance: appearance
42
41
  }, React.Children.map(children, function (child) {
43
42
  if ( /*#__PURE__*/React.isValidElement(child)) {
44
43
  return /*#__PURE__*/React.cloneElement(child, {
@@ -1 +1 @@
1
- {"version":3,"file":"AppearanceProvider.js","names":["generateVKUITokensClassName","platform","appearance","tokensPlatform","Platform","ANDROID","IOS","VKCOM","AppearanceProvider","children","usePlatform","React","Children","map","child","isValidElement","cloneElement","className","classNamesString","props"],"sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n children?: React.ReactNode;\n}\n\nexport const generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider = ({\n children,\n appearance = \"light\",\n}: AppearanceProviderProps) => {\n const platform = usePlatform();\n\n return (\n <AppearanceProviderContext.Provider value={appearance}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement<{ className?: string }>(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n generateVKUITokensClassName(platform, appearance)\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AACA;AAOO,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA2B,CACtCC,QAAgB,EAChBC,UAAkB,EACP;EACX,IAAIC,cAAc;EAClB,QAAQF,QAAQ;IACd,KAAKG,kBAAQ,CAACC,OAAO;MACnBF,cAAc,GAAG,QAAQ;MACzB;IACF,KAAKC,kBAAQ,CAACE,GAAG;MACfH,cAAc,GAAG,OAAO;MACxB;IACF,KAAKC,kBAAQ,CAACG,KAAK;MACjBJ,cAAc,GAAG,OAAO;MACxB;IACF;MACEA,cAAc,GAAGF,QAAQ;EAAC;EAG9B,uBAAgBE,cAAc,eAAKD,UAAU;AAC/C,CAAC;;AAED;AACA;AACA;AAFA;AAGO,IAAMM,kBAAkB,GAAG,SAArBA,kBAAkB,OAGA;EAAA,IAF7BC,QAAQ,QAARA,QAAQ;IAAA,uBACRP,UAAU;IAAVA,UAAU,gCAAG,OAAO;EAEpB,IAAMD,QAAQ,GAAG,IAAAS,wBAAW,GAAE;EAE9B,oBACE,oBAAC,oDAAyB,CAAC,QAAQ;IAAC,KAAK,EAAER;EAAW,GACnDS,KAAK,CAACC,QAAQ,CAACC,GAAG,CAACJ,QAAQ,EAAE,UAACK,KAAK,EAAK;IACvC,kBAAIH,KAAK,CAACI,cAAc,CAAyBD,KAAK,CAAC,EAAE;MACvD,oBAAOH,KAAK,CAACK,YAAY,CAACF,KAAK,EAAE;QAC/BG,SAAS,EAAE,IAAAC,4BAAgB,EACzBJ,KAAK,CAACK,KAAK,CAACF,SAAS,EACrBjB,2BAA2B,CAACC,QAAQ,EAAEC,UAAU,CAAC;MAErD,CAAC,CAAC;IACJ;IACA,OAAOY,KAAK;EACd,CAAC,CAAC,CACiC;AAEzC,CAAC;AAAC"}
1
+ {"version":3,"file":"AppearanceProvider.js","names":["generateVKUITokensClassName","platform","appearance","tokensPlatform","Platform","ANDROID","IOS","VKCOM","AppearanceProvider","children","usePlatform","React","Children","map","child","isValidElement","cloneElement","className","classNamesString","props"],"sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\nimport { ConfigProviderOverride } from \"../ConfigProvider/ConfigProviderOverride\";\n\nexport interface AppearanceProviderProps {\n appearance: AppearanceType;\n children: React.ReactNode;\n}\n\nexport const generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider = ({\n appearance,\n children,\n}: AppearanceProviderProps) => {\n const platform = usePlatform();\n\n return (\n <ConfigProviderOverride appearance={appearance}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement<{ className?: string }>(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n generateVKUITokensClassName(platform, appearance)\n ),\n });\n }\n return child;\n })}\n </ConfigProviderOverride>\n );\n};\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AACA;AAOO,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA2B,CACtCC,QAAgB,EAChBC,UAAkB,EACP;EACX,IAAIC,cAAc;EAClB,QAAQF,QAAQ;IACd,KAAKG,kBAAQ,CAACC,OAAO;MACnBF,cAAc,GAAG,QAAQ;MACzB;IACF,KAAKC,kBAAQ,CAACE,GAAG;MACfH,cAAc,GAAG,OAAO;MACxB;IACF,KAAKC,kBAAQ,CAACG,KAAK;MACjBJ,cAAc,GAAG,OAAO;MACxB;IACF;MACEA,cAAc,GAAGF,QAAQ;EAAC;EAG9B,uBAAgBE,cAAc,eAAKD,UAAU;AAC/C,CAAC;;AAED;AACA;AACA;AAFA;AAGO,IAAMM,kBAAkB,GAAG,SAArBA,kBAAkB,OAGA;EAAA,IAF7BN,UAAU,QAAVA,UAAU;IACVO,QAAQ,QAARA,QAAQ;EAER,IAAMR,QAAQ,GAAG,IAAAS,wBAAW,GAAE;EAE9B,oBACE,oBAAC,8CAAsB;IAAC,UAAU,EAAER;EAAW,GAC5CS,KAAK,CAACC,QAAQ,CAACC,GAAG,CAACJ,QAAQ,EAAE,UAACK,KAAK,EAAK;IACvC,kBAAIH,KAAK,CAACI,cAAc,CAAyBD,KAAK,CAAC,EAAE;MACvD,oBAAOH,KAAK,CAACK,YAAY,CAACF,KAAK,EAAE;QAC/BG,SAAS,EAAE,IAAAC,4BAAgB,EACzBJ,KAAK,CAACK,KAAK,CAACF,SAAS,EACrBjB,2BAA2B,CAACC,QAAQ,EAAEC,UAAU,CAAC;MAErD,CAAC,CAAC;IACJ;IACA,OAAOY,KAAK;EACd,CAAC,CAAC,CACqB;AAE7B,CAAC;AAAC"}
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { BaseGalleryProps } from "./types";
3
- export declare const BaseGallery: ({ bullets, getRootRef, children, slideWidth, slideIndex, isDraggable, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align, showArrows, getRef, className, ...restProps }: BaseGalleryProps) => JSX.Element;
3
+ export declare const BaseGallery: ({ bullets, getRootRef, children, slideWidth, slideIndex, isDraggable: isDraggableProp, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align, showArrows, getRef, className, arrowSize, ...restProps }: BaseGalleryProps) => JSX.Element;
@@ -16,11 +16,11 @@ var _Touch = require("../Touch/Touch");
16
16
  var _HorizontalScrollArrow = require("../HorizontalScroll/HorizontalScrollArrow");
17
17
  var _useExternRef = require("../../hooks/useExternRef");
18
18
  var _dom = require("../../lib/dom");
19
- var _useAdaptivity2 = require("../../hooks/useAdaptivity");
19
+ var _useAdaptivityHasPointer = require("../../hooks/useAdaptivityHasPointer");
20
20
  var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
21
21
  var _useGlobalEventListener = require("../../hooks/useGlobalEventListener");
22
22
  var _helpers = require("./helpers");
23
- var _excluded = ["bullets", "getRootRef", "children", "slideWidth", "slideIndex", "isDraggable", "onDragStart", "onDragEnd", "onChange", "onPrevClick", "onNextClick", "align", "showArrows", "getRef", "className"];
23
+ var _excluded = ["bullets", "getRootRef", "children", "slideWidth", "slideIndex", "isDraggable", "onDragStart", "onDragEnd", "onChange", "onPrevClick", "onNextClick", "align", "showArrows", "getRef", "className", "arrowSize"];
24
24
  var ANIMATION_DURATION = 0.24;
25
25
  var LAYOUT_DEFAULT_STATE = {
26
26
  containerWidth: 0,
@@ -49,7 +49,7 @@ var BaseGallery = function BaseGallery(_ref) {
49
49
  _ref$slideIndex = _ref.slideIndex,
50
50
  slideIndex = _ref$slideIndex === void 0 ? 0 : _ref$slideIndex,
51
51
  _ref$isDraggable = _ref.isDraggable,
52
- isDraggable = _ref$isDraggable === void 0 ? true : _ref$isDraggable,
52
+ isDraggableProp = _ref$isDraggable === void 0 ? true : _ref$isDraggable,
53
53
  onDragStart = _ref.onDragStart,
54
54
  onDragEnd = _ref.onDragEnd,
55
55
  onChange = _ref.onChange,
@@ -60,6 +60,8 @@ var BaseGallery = function BaseGallery(_ref) {
60
60
  showArrows = _ref.showArrows,
61
61
  getRef = _ref.getRef,
62
62
  className = _ref.className,
63
+ _ref$arrowSize = _ref.arrowSize,
64
+ arrowSize = _ref$arrowSize === void 0 ? "l" : _ref$arrowSize,
63
65
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
64
66
  var slidesStore = React.useRef({});
65
67
  var layoutState = React.useRef(LAYOUT_DEFAULT_STATE);
@@ -71,8 +73,7 @@ var BaseGallery = function BaseGallery(_ref) {
71
73
  var viewportRef = (0, _useExternRef.useExternRef)(getRef);
72
74
  var _useDOM = (0, _dom.useDOM)(),
73
75
  window = _useDOM.window;
74
- var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
75
- hasMouse = _useAdaptivity.hasMouse;
76
+ var hasPointer = (0, _useAdaptivityHasPointer.useAdaptivityHasPointer)();
76
77
  var isCenterWithCustomWidth = slideWidth === "custom" && align === "center";
77
78
  var validateIndent = function validateIndent(value) {
78
79
  var _layoutState$current$, _layoutState$current$2;
@@ -192,13 +193,13 @@ var BaseGallery = function BaseGallery(_ref) {
192
193
  });
193
194
  }
194
195
  }, [slideIndex]);
195
- var slideLeft = function slideLeft() {
196
+ var slideLeft = function slideLeft(event) {
196
197
  onChange === null || onChange === void 0 ? void 0 : onChange(slideIndex - 1);
197
- onPrevClick === null || onPrevClick === void 0 ? void 0 : onPrevClick();
198
+ onPrevClick === null || onPrevClick === void 0 ? void 0 : onPrevClick(event);
198
199
  };
199
- var slideRight = function slideRight() {
200
+ var slideRight = function slideRight(event) {
200
201
  onChange === null || onChange === void 0 ? void 0 : onChange(slideIndex + 1);
201
- onNextClick === null || onNextClick === void 0 ? void 0 : onNextClick();
202
+ onNextClick === null || onNextClick === void 0 ? void 0 : onNextClick(event);
202
203
  };
203
204
 
204
205
  /*
@@ -235,7 +236,7 @@ var BaseGallery = function BaseGallery(_ref) {
235
236
  });
236
237
  };
237
238
  var onMoveX = function onMoveX(e) {
238
- if (isDraggable && !layoutState.current.isFullyVisible) {
239
+ if (isDraggableProp && !layoutState.current.isFullyVisible) {
239
240
  e.originalEvent.preventDefault();
240
241
  if (e.isSlideX) {
241
242
  if (shiftState.deltaX !== e.shiftX) {
@@ -287,8 +288,9 @@ var BaseGallery = function BaseGallery(_ref) {
287
288
  align === "left" && layoutState.current.containerWidth - shiftState.shiftX < ((_layoutState$current$9 = layoutState.current.layerWidth) !== null && _layoutState$current$9 !== void 0 ? _layoutState$current$9 : 0) ||
288
289
  // otherwise we need to check current slide index (align = right or align = center)
289
290
  align !== "left" && slideIndex < layoutState.current.slides.length - 1);
291
+ var isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;
290
292
  return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, restProps, {
291
- className: (0, _classNames.classNamesString)("vkuiBaseGallery", styles["BaseGallery--align-".concat(align)], shiftState.dragging && "vkuiBaseGallery--dragging", slideWidth === "custom" && "vkuiBaseGallery--custom-width", className),
293
+ className: (0, _classNames.classNamesString)("vkuiBaseGallery", styles["BaseGallery--align-".concat(align)], shiftState.dragging && "vkuiBaseGallery--dragging", slideWidth === "custom" && "vkuiBaseGallery--custom-width", isDraggable && "vkuiBaseGallery--draggable", className),
292
294
  ref: rootRef
293
295
  }), /*#__PURE__*/React.createElement(_Touch.Touch, {
294
296
  className: "vkuiBaseGallery__viewport",
@@ -319,12 +321,14 @@ var BaseGallery = function BaseGallery(_ref) {
319
321
  className: (0, _classNames.classNamesString)("vkuiBaseGallery__bullet", index === slideIndex && "vkuiBaseGallery__bullet--active"),
320
322
  key: index
321
323
  });
322
- })), showArrows && hasMouse && canSlideLeft && /*#__PURE__*/React.createElement(_HorizontalScrollArrow.HorizontalScrollArrow, {
324
+ })), showArrows && hasPointer && canSlideLeft && /*#__PURE__*/React.createElement(_HorizontalScrollArrow.HorizontalScrollArrow, {
323
325
  direction: "left",
324
- onClick: slideLeft
325
- }), showArrows && hasMouse && canSlideRight && /*#__PURE__*/React.createElement(_HorizontalScrollArrow.HorizontalScrollArrow, {
326
+ onClick: slideLeft,
327
+ size: arrowSize
328
+ }), showArrows && hasPointer && canSlideRight && /*#__PURE__*/React.createElement(_HorizontalScrollArrow.HorizontalScrollArrow, {
326
329
  direction: "right",
327
- onClick: slideRight
330
+ onClick: slideRight,
331
+ size: arrowSize
328
332
  }));
329
333
  };
330
334
  exports.BaseGallery = BaseGallery;