@vkontakte/vkui 6.4.0 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) hide show
  1. package/dist/cjs/components/ActionSheet/ActionSheet.js +2 -1
  2. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  3. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +1 -0
  4. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  5. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  6. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  7. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +38 -12
  8. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  9. package/dist/cjs/components/ActionSheetItem/helpers.d.ts +10 -0
  10. package/dist/cjs/components/ActionSheetItem/helpers.d.ts.map +1 -0
  11. package/dist/cjs/components/ActionSheetItem/helpers.js +22 -0
  12. package/dist/cjs/components/ActionSheetItem/helpers.js.map +1 -0
  13. package/dist/cjs/components/Alert/Alert.js +1 -1
  14. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  15. package/dist/cjs/components/Avatar/Avatar.d.ts +0 -1
  16. package/dist/cjs/components/Avatar/Avatar.d.ts.map +1 -1
  17. package/dist/cjs/components/Avatar/Avatar.js +3 -11
  18. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  19. package/dist/cjs/components/Avatar/AvatarBadge/icons.d.ts +8 -3
  20. package/dist/cjs/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  21. package/dist/cjs/components/Avatar/AvatarBadge/icons.js +2 -2
  22. package/dist/cjs/components/Avatar/AvatarBadge/icons.js.map +1 -1
  23. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  24. package/dist/cjs/components/BaseGallery/BaseGallery.js +0 -2
  25. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  26. package/dist/cjs/components/Calendar/Calendar.js +3 -3
  27. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  28. package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -3
  29. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  30. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +5 -5
  31. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  32. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  33. package/dist/cjs/components/CalendarRange/CalendarRange.js +17 -15
  34. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  35. package/dist/cjs/components/CalendarTime/CalendarTime.js +5 -5
  36. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  37. package/dist/cjs/components/Cell/Cell.d.ts.map +1 -1
  38. package/dist/cjs/components/Cell/Cell.js +2 -2
  39. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  40. package/dist/cjs/components/Checkbox/Checkbox.d.ts +7 -5
  41. package/dist/cjs/components/Checkbox/Checkbox.d.ts.map +1 -1
  42. package/dist/cjs/components/Checkbox/Checkbox.js +21 -143
  43. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  44. package/dist/cjs/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +8 -0
  45. package/dist/cjs/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -0
  46. package/dist/cjs/components/Checkbox/CheckboxInput/CheckboxInput.js +134 -0
  47. package/dist/cjs/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -0
  48. package/dist/cjs/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts +3 -0
  49. package/dist/cjs/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts.map +1 -0
  50. package/dist/cjs/components/Checkbox/CheckboxSimple/CheckboxSimple.js +52 -0
  51. package/dist/cjs/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -0
  52. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  53. package/dist/cjs/components/ChipsInput/ChipsInput.js +1 -2
  54. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  55. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +1 -1
  56. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  57. package/dist/cjs/components/ChipsInputBase/helpers.d.ts.map +1 -1
  58. package/dist/cjs/components/ChipsInputBase/helpers.js +0 -3
  59. package/dist/cjs/components/ChipsInputBase/helpers.js.map +1 -1
  60. package/dist/cjs/components/ChipsInputBase/types.d.ts +1 -1
  61. package/dist/cjs/components/ChipsInputBase/types.d.ts.map +1 -1
  62. package/dist/cjs/components/ChipsInputBase/types.js.map +1 -1
  63. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  64. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +1 -7
  65. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  66. package/dist/cjs/components/Clickable/useState.d.ts +0 -5
  67. package/dist/cjs/components/Clickable/useState.d.ts.map +1 -1
  68. package/dist/cjs/components/Clickable/useState.js +3 -7
  69. package/dist/cjs/components/Clickable/useState.js.map +1 -1
  70. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +10 -1
  71. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  72. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +41 -132
  73. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  74. package/dist/cjs/components/CustomScrollView/ScrollX.d.ts +3 -0
  75. package/dist/cjs/components/CustomScrollView/ScrollX.d.ts.map +1 -0
  76. package/dist/cjs/components/CustomScrollView/ScrollX.js +42 -0
  77. package/dist/cjs/components/CustomScrollView/ScrollX.js.map +1 -0
  78. package/dist/cjs/components/CustomScrollView/ScrollY.d.ts +3 -0
  79. package/dist/cjs/components/CustomScrollView/ScrollY.d.ts.map +1 -0
  80. package/dist/cjs/components/CustomScrollView/ScrollY.js +42 -0
  81. package/dist/cjs/components/CustomScrollView/ScrollY.js.map +1 -0
  82. package/dist/cjs/components/CustomScrollView/types.d.ts +21 -0
  83. package/dist/cjs/components/CustomScrollView/types.d.ts.map +1 -0
  84. package/dist/cjs/components/CustomScrollView/types.js +8 -0
  85. package/dist/cjs/components/CustomScrollView/types.js.map +1 -0
  86. package/dist/cjs/components/CustomScrollView/useCustomScrollViewResize.d.ts +8 -0
  87. package/dist/cjs/components/CustomScrollView/useCustomScrollViewResize.d.ts.map +1 -0
  88. package/dist/cjs/components/CustomScrollView/useCustomScrollViewResize.js +32 -0
  89. package/dist/cjs/components/CustomScrollView/useCustomScrollViewResize.js.map +1 -0
  90. package/dist/cjs/components/CustomScrollView/useDetectScrollDirection.d.ts +6 -0
  91. package/dist/cjs/components/CustomScrollView/useDetectScrollDirection.d.ts.map +1 -0
  92. package/dist/cjs/components/CustomScrollView/useDetectScrollDirection.js +29 -0
  93. package/dist/cjs/components/CustomScrollView/useDetectScrollDirection.js.map +1 -0
  94. package/dist/cjs/components/CustomScrollView/useDragAndDrop.d.ts +5 -0
  95. package/dist/cjs/components/CustomScrollView/useDragAndDrop.d.ts.map +1 -0
  96. package/dist/cjs/components/CustomScrollView/useDragAndDrop.js +57 -0
  97. package/dist/cjs/components/CustomScrollView/useDragAndDrop.js.map +1 -0
  98. package/dist/cjs/components/CustomScrollView/useHorizontalScrollController.d.ts +4 -0
  99. package/dist/cjs/components/CustomScrollView/useHorizontalScrollController.d.ts.map +1 -0
  100. package/dist/cjs/components/CustomScrollView/useHorizontalScrollController.js +102 -0
  101. package/dist/cjs/components/CustomScrollView/useHorizontalScrollController.js.map +1 -0
  102. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  103. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js +5 -0
  104. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  105. package/dist/cjs/components/CustomScrollView/useVerticalScrollController.d.ts +4 -0
  106. package/dist/cjs/components/CustomScrollView/useVerticalScrollController.d.ts.map +1 -0
  107. package/dist/cjs/components/CustomScrollView/useVerticalScrollController.js +102 -0
  108. package/dist/cjs/components/CustomScrollView/useVerticalScrollController.js.map +1 -0
  109. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  110. package/dist/cjs/components/CustomSelect/CustomSelect.js +3 -4
  111. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  112. package/dist/cjs/components/DateInput/DateInput.js +2 -2
  113. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  114. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  115. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +4 -3
  116. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  117. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +2 -2
  118. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  119. package/dist/cjs/components/FixedLayout/FixedLayout.js +1 -1
  120. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  121. package/dist/cjs/components/Flex/FlexItem/FlexItem.d.ts +3 -3
  122. package/dist/cjs/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  123. package/dist/cjs/components/Flex/FlexItem/FlexItem.js.map +1 -1
  124. package/dist/cjs/components/FocusTrap/FocusTrap.js +1 -1
  125. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  126. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +0 -1
  127. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  128. package/dist/cjs/components/GridAvatar/GridAvatar.js +0 -3
  129. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  130. package/dist/cjs/components/Group/Group.d.ts +1 -1
  131. package/dist/cjs/components/Group/Group.d.ts.map +1 -1
  132. package/dist/cjs/components/Group/Group.js +17 -12
  133. package/dist/cjs/components/Group/Group.js.map +1 -1
  134. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  135. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +7 -10
  136. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  137. package/dist/cjs/components/Image/Image.d.ts +0 -1
  138. package/dist/cjs/components/Image/Image.d.ts.map +1 -1
  139. package/dist/cjs/components/Image/Image.js +3 -11
  140. package/dist/cjs/components/Image/Image.js.map +1 -1
  141. package/dist/cjs/components/ImageBase/validators.js +1 -1
  142. package/dist/cjs/components/ImageBase/validators.js.map +1 -1
  143. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  144. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +17 -15
  145. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  146. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  147. package/dist/cjs/components/ModalRoot/ModalRoot.js +4 -28
  148. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  149. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +2 -2
  150. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  151. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltipContainer.js +4 -3
  152. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  153. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  154. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +1 -3
  155. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  156. package/dist/cjs/components/Radio/Radio.d.ts +5 -1
  157. package/dist/cjs/components/Radio/Radio.d.ts.map +1 -1
  158. package/dist/cjs/components/Radio/Radio.js +12 -75
  159. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  160. package/dist/cjs/components/Radio/RadioInput/RadioInput.d.ts +6 -0
  161. package/dist/cjs/components/Radio/RadioInput/RadioInput.d.ts.map +1 -0
  162. package/dist/cjs/components/Radio/RadioInput/RadioInput.js +104 -0
  163. package/dist/cjs/components/Radio/RadioInput/RadioInput.js.map +1 -0
  164. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  165. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +1 -2
  166. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  167. package/dist/cjs/components/SelectionControl/SelectionControl.d.ts +14 -0
  168. package/dist/cjs/components/SelectionControl/SelectionControl.d.ts.map +1 -0
  169. package/dist/cjs/components/SelectionControl/SelectionControl.js +36 -0
  170. package/dist/cjs/components/SelectionControl/SelectionControl.js.map +1 -0
  171. package/dist/cjs/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +7 -0
  172. package/dist/cjs/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -0
  173. package/dist/cjs/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +56 -0
  174. package/dist/cjs/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -0
  175. package/dist/cjs/components/Textarea/Textarea.d.ts +1 -1
  176. package/dist/cjs/components/Textarea/Textarea.d.ts.map +1 -1
  177. package/dist/cjs/components/Textarea/Textarea.js +13 -3
  178. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  179. package/dist/cjs/components/Textarea/useResizeTextarea.d.ts +1 -1
  180. package/dist/cjs/components/Textarea/useResizeTextarea.d.ts.map +1 -1
  181. package/dist/cjs/components/Textarea/useResizeTextarea.js +2 -2
  182. package/dist/cjs/components/Textarea/useResizeTextarea.js.map +1 -1
  183. package/dist/cjs/components/View/View.d.ts.map +1 -1
  184. package/dist/cjs/components/View/View.js +2 -4
  185. package/dist/cjs/components/View/View.js.map +1 -1
  186. package/dist/cjs/components/View/ViewInfinite.d.ts.map +1 -1
  187. package/dist/cjs/components/View/ViewInfinite.js +1 -3
  188. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  189. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  190. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  191. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +4 -3
  192. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  193. package/dist/cjs/hooks/useCalendar.d.ts.map +1 -1
  194. package/dist/cjs/hooks/useCalendar.js +6 -6
  195. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  196. package/dist/cjs/hooks/useTodayDate.js +3 -3
  197. package/dist/cjs/hooks/useTodayDate.js.map +1 -1
  198. package/dist/cjs/index.d.ts +3 -0
  199. package/dist/cjs/index.d.ts.map +1 -1
  200. package/dist/cjs/index.js +8 -0
  201. package/dist/cjs/index.js.map +1 -1
  202. package/dist/cjs/lib/calendar.d.ts.map +1 -1
  203. package/dist/cjs/lib/calendar.js +27 -16
  204. package/dist/cjs/lib/calendar.js.map +1 -1
  205. package/dist/cjs/lib/date.d.ts +1 -28
  206. package/dist/cjs/lib/date.d.ts.map +1 -1
  207. package/dist/cjs/lib/date.js +8 -180
  208. package/dist/cjs/lib/date.js.map +1 -1
  209. package/dist/components/ActionSheet/ActionSheet.js +2 -1
  210. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  211. package/dist/components/ActionSheet/ActionSheetContext.d.ts +1 -0
  212. package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  213. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  214. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  215. package/dist/components/ActionSheetItem/ActionSheetItem.js +38 -12
  216. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  217. package/dist/components/ActionSheetItem/helpers.d.ts +10 -0
  218. package/dist/components/ActionSheetItem/helpers.d.ts.map +1 -0
  219. package/dist/components/ActionSheetItem/helpers.js +12 -0
  220. package/dist/components/ActionSheetItem/helpers.js.map +1 -0
  221. package/dist/components/Alert/Alert.js +1 -1
  222. package/dist/components/Alert/Alert.js.map +1 -1
  223. package/dist/components/Avatar/Avatar.d.ts +0 -1
  224. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  225. package/dist/components/Avatar/Avatar.js +1 -1
  226. package/dist/components/Avatar/Avatar.js.map +1 -1
  227. package/dist/components/Avatar/AvatarBadge/icons.d.ts +8 -3
  228. package/dist/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  229. package/dist/components/Avatar/AvatarBadge/icons.js +2 -2
  230. package/dist/components/Avatar/AvatarBadge/icons.js.map +1 -1
  231. package/dist/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  232. package/dist/components/BaseGallery/BaseGallery.js +0 -2
  233. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  234. package/dist/components/Calendar/Calendar.js +1 -1
  235. package/dist/components/Calendar/Calendar.js.map +1 -1
  236. package/dist/components/CalendarDays/CalendarDays.js +1 -1
  237. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  238. package/dist/components/CalendarHeader/CalendarHeader.js +1 -1
  239. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  240. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  241. package/dist/components/CalendarRange/CalendarRange.js +6 -4
  242. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  243. package/dist/components/CalendarTime/CalendarTime.js +1 -1
  244. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  245. package/dist/components/Cell/Cell.d.ts.map +1 -1
  246. package/dist/components/Cell/Cell.js +2 -2
  247. package/dist/components/Cell/Cell.js.map +1 -1
  248. package/dist/components/Checkbox/Checkbox.d.ts +7 -5
  249. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  250. package/dist/components/Checkbox/Checkbox.js +24 -146
  251. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  252. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +8 -0
  253. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -0
  254. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js +123 -0
  255. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -0
  256. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts +3 -0
  257. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts.map +1 -0
  258. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js +42 -0
  259. package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -0
  260. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  261. package/dist/components/ChipsInput/ChipsInput.js +1 -2
  262. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  263. package/dist/components/ChipsInputBase/ChipsInputBase.js +1 -1
  264. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  265. package/dist/components/ChipsInputBase/helpers.d.ts.map +1 -1
  266. package/dist/components/ChipsInputBase/helpers.js +0 -3
  267. package/dist/components/ChipsInputBase/helpers.js.map +1 -1
  268. package/dist/components/ChipsInputBase/types.d.ts +1 -1
  269. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  270. package/dist/components/ChipsInputBase/types.js.map +1 -1
  271. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  272. package/dist/components/ChipsSelect/ChipsSelect.js +1 -7
  273. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  274. package/dist/components/Clickable/useState.d.ts +0 -5
  275. package/dist/components/Clickable/useState.d.ts.map +1 -1
  276. package/dist/components/Clickable/useState.js +2 -2
  277. package/dist/components/Clickable/useState.js.map +1 -1
  278. package/dist/components/CustomScrollView/CustomScrollView.d.ts +10 -1
  279. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  280. package/dist/components/CustomScrollView/CustomScrollView.js +44 -133
  281. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  282. package/dist/components/CustomScrollView/ScrollX.d.ts +3 -0
  283. package/dist/components/CustomScrollView/ScrollX.d.ts.map +1 -0
  284. package/dist/components/CustomScrollView/ScrollX.js +31 -0
  285. package/dist/components/CustomScrollView/ScrollX.js.map +1 -0
  286. package/dist/components/CustomScrollView/ScrollY.d.ts +3 -0
  287. package/dist/components/CustomScrollView/ScrollY.d.ts.map +1 -0
  288. package/dist/components/CustomScrollView/ScrollY.js +31 -0
  289. package/dist/components/CustomScrollView/ScrollY.js.map +1 -0
  290. package/dist/components/CustomScrollView/types.d.ts +21 -0
  291. package/dist/components/CustomScrollView/types.d.ts.map +1 -0
  292. package/dist/components/CustomScrollView/types.js +3 -0
  293. package/dist/components/CustomScrollView/types.js.map +1 -0
  294. package/dist/components/CustomScrollView/useCustomScrollViewResize.d.ts +8 -0
  295. package/dist/components/CustomScrollView/useCustomScrollViewResize.d.ts.map +1 -0
  296. package/dist/components/CustomScrollView/useCustomScrollViewResize.js +22 -0
  297. package/dist/components/CustomScrollView/useCustomScrollViewResize.js.map +1 -0
  298. package/dist/components/CustomScrollView/useDetectScrollDirection.d.ts +6 -0
  299. package/dist/components/CustomScrollView/useDetectScrollDirection.d.ts.map +1 -0
  300. package/dist/components/CustomScrollView/useDetectScrollDirection.js +20 -0
  301. package/dist/components/CustomScrollView/useDetectScrollDirection.js.map +1 -0
  302. package/dist/components/CustomScrollView/useDragAndDrop.d.ts +5 -0
  303. package/dist/components/CustomScrollView/useDragAndDrop.d.ts.map +1 -0
  304. package/dist/components/CustomScrollView/useDragAndDrop.js +46 -0
  305. package/dist/components/CustomScrollView/useDragAndDrop.js.map +1 -0
  306. package/dist/components/CustomScrollView/useHorizontalScrollController.d.ts +4 -0
  307. package/dist/components/CustomScrollView/useHorizontalScrollController.d.ts.map +1 -0
  308. package/dist/components/CustomScrollView/useHorizontalScrollController.js +91 -0
  309. package/dist/components/CustomScrollView/useHorizontalScrollController.js.map +1 -0
  310. package/dist/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  311. package/dist/components/CustomScrollView/useTrackerVisibility.js +5 -0
  312. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  313. package/dist/components/CustomScrollView/useVerticalScrollController.d.ts +4 -0
  314. package/dist/components/CustomScrollView/useVerticalScrollController.d.ts.map +1 -0
  315. package/dist/components/CustomScrollView/useVerticalScrollController.js +91 -0
  316. package/dist/components/CustomScrollView/useVerticalScrollController.js.map +1 -0
  317. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  318. package/dist/components/CustomSelect/CustomSelect.js +3 -4
  319. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  320. package/dist/components/DateInput/DateInput.js +2 -2
  321. package/dist/components/DateInput/DateInput.js.map +1 -1
  322. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  323. package/dist/components/DateRangeInput/DateRangeInput.js +4 -3
  324. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  325. package/dist/components/FixedLayout/FixedLayout.d.ts +2 -2
  326. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  327. package/dist/components/FixedLayout/FixedLayout.js +1 -1
  328. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  329. package/dist/components/Flex/FlexItem/FlexItem.d.ts +3 -3
  330. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  331. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  332. package/dist/components/FocusTrap/FocusTrap.js +1 -1
  333. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  334. package/dist/components/GridAvatar/GridAvatar.d.ts +0 -1
  335. package/dist/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  336. package/dist/components/GridAvatar/GridAvatar.js +1 -1
  337. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  338. package/dist/components/Group/Group.d.ts +1 -1
  339. package/dist/components/Group/Group.d.ts.map +1 -1
  340. package/dist/components/Group/Group.js +17 -12
  341. package/dist/components/Group/Group.js.map +1 -1
  342. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  343. package/dist/components/HorizontalScroll/HorizontalScroll.js +7 -10
  344. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  345. package/dist/components/Image/Image.d.ts +0 -1
  346. package/dist/components/Image/Image.d.ts.map +1 -1
  347. package/dist/components/Image/Image.js +1 -1
  348. package/dist/components/Image/Image.js.map +1 -1
  349. package/dist/components/ImageBase/validators.js +1 -1
  350. package/dist/components/ImageBase/validators.js.map +1 -1
  351. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  352. package/dist/components/ModalPageHeader/ModalPageHeader.js +18 -16
  353. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  354. package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  355. package/dist/components/ModalRoot/ModalRoot.js +4 -28
  356. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  357. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +2 -2
  358. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  359. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js +4 -3
  360. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  361. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  362. package/dist/components/PullToRefresh/PullToRefresh.js +1 -3
  363. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  364. package/dist/components/Radio/Radio.d.ts +5 -1
  365. package/dist/components/Radio/Radio.d.ts.map +1 -1
  366. package/dist/components/Radio/Radio.js +13 -76
  367. package/dist/components/Radio/Radio.js.map +1 -1
  368. package/dist/components/Radio/RadioInput/RadioInput.d.ts +6 -0
  369. package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -0
  370. package/dist/components/Radio/RadioInput/RadioInput.js +93 -0
  371. package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -0
  372. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  373. package/dist/components/SegmentedControl/SegmentedControl.js +1 -2
  374. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  375. package/dist/components/SelectionControl/SelectionControl.d.ts +14 -0
  376. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -0
  377. package/dist/components/SelectionControl/SelectionControl.js +27 -0
  378. package/dist/components/SelectionControl/SelectionControl.js.map +1 -0
  379. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +7 -0
  380. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -0
  381. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +46 -0
  382. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -0
  383. package/dist/components/Textarea/Textarea.d.ts +1 -1
  384. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  385. package/dist/components/Textarea/Textarea.js +13 -3
  386. package/dist/components/Textarea/Textarea.js.map +1 -1
  387. package/dist/components/Textarea/useResizeTextarea.d.ts +1 -1
  388. package/dist/components/Textarea/useResizeTextarea.d.ts.map +1 -1
  389. package/dist/components/Textarea/useResizeTextarea.js +2 -2
  390. package/dist/components/Textarea/useResizeTextarea.js.map +1 -1
  391. package/dist/components/View/View.d.ts.map +1 -1
  392. package/dist/components/View/View.js +2 -4
  393. package/dist/components/View/View.js.map +1 -1
  394. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  395. package/dist/components/View/ViewInfinite.js +1 -3
  396. package/dist/components/View/ViewInfinite.js.map +1 -1
  397. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  398. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  399. package/dist/components/VisuallyHidden/VisuallyHidden.js +4 -3
  400. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  401. package/dist/components.css +2 -2
  402. package/dist/components.css.map +1 -1
  403. package/dist/components.js.tmp +1584 -1013
  404. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -1
  405. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  406. package/dist/cssm/components/ActionSheet/ActionSheetContext.d.ts +1 -0
  407. package/dist/cssm/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  408. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  409. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  410. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +38 -13
  411. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  412. package/dist/cssm/components/ActionSheetItem/helpers.d.ts +10 -0
  413. package/dist/cssm/components/ActionSheetItem/helpers.d.ts.map +1 -0
  414. package/dist/cssm/components/ActionSheetItem/helpers.js +12 -0
  415. package/dist/cssm/components/ActionSheetItem/helpers.js.map +1 -0
  416. package/dist/cssm/components/Alert/Alert.js +1 -1
  417. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  418. package/dist/cssm/components/Avatar/Avatar.d.ts +0 -1
  419. package/dist/cssm/components/Avatar/Avatar.d.ts.map +1 -1
  420. package/dist/cssm/components/Avatar/Avatar.js +1 -1
  421. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  422. package/dist/cssm/components/Avatar/AvatarBadge/icons.d.ts +8 -3
  423. package/dist/cssm/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  424. package/dist/cssm/components/Avatar/AvatarBadge/icons.js +2 -2
  425. package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
  426. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts.map +1 -1
  427. package/dist/cssm/components/BaseGallery/BaseGallery.js +0 -2
  428. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  429. package/dist/cssm/components/Calendar/Calendar.js +1 -1
  430. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  431. package/dist/cssm/components/CalendarDays/CalendarDays.js +1 -1
  432. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  433. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +1 -1
  434. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  435. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  436. package/dist/cssm/components/CalendarRange/CalendarRange.js +6 -4
  437. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  438. package/dist/cssm/components/CalendarTime/CalendarTime.js +1 -1
  439. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  440. package/dist/cssm/components/Cell/Cell.d.ts.map +1 -1
  441. package/dist/cssm/components/Cell/Cell.js +2 -2
  442. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  443. package/dist/cssm/components/Cell/Cell.module.css +12 -0
  444. package/dist/cssm/components/CellButton/CellButton.module.css +2 -2
  445. package/dist/cssm/components/Checkbox/Checkbox.d.ts +7 -5
  446. package/dist/cssm/components/Checkbox/Checkbox.d.ts.map +1 -1
  447. package/dist/cssm/components/Checkbox/Checkbox.js +28 -141
  448. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  449. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +8 -0
  450. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -0
  451. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js +113 -0
  452. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -0
  453. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.module.css +30 -0
  454. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts +3 -0
  455. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts.map +1 -0
  456. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js +30 -0
  457. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -0
  458. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +28 -0
  459. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  460. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -2
  461. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  462. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +1 -1
  463. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  464. package/dist/cssm/components/ChipsInputBase/helpers.d.ts.map +1 -1
  465. package/dist/cssm/components/ChipsInputBase/helpers.js +0 -3
  466. package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
  467. package/dist/cssm/components/ChipsInputBase/types.d.ts +1 -1
  468. package/dist/cssm/components/ChipsInputBase/types.d.ts.map +1 -1
  469. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  470. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  471. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +1 -7
  472. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  473. package/dist/cssm/components/Clickable/useState.d.ts +0 -5
  474. package/dist/cssm/components/Clickable/useState.d.ts.map +1 -1
  475. package/dist/cssm/components/Clickable/useState.js +2 -2
  476. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  477. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +10 -1
  478. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  479. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +39 -131
  480. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  481. package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +52 -13
  482. package/dist/cssm/components/CustomScrollView/ScrollX.d.ts +3 -0
  483. package/dist/cssm/components/CustomScrollView/ScrollX.d.ts.map +1 -0
  484. package/dist/cssm/components/CustomScrollView/ScrollX.js +32 -0
  485. package/dist/cssm/components/CustomScrollView/ScrollX.js.map +1 -0
  486. package/dist/cssm/components/CustomScrollView/ScrollY.d.ts +3 -0
  487. package/dist/cssm/components/CustomScrollView/ScrollY.d.ts.map +1 -0
  488. package/dist/cssm/components/CustomScrollView/ScrollY.js +32 -0
  489. package/dist/cssm/components/CustomScrollView/ScrollY.js.map +1 -0
  490. package/dist/cssm/components/CustomScrollView/types.d.ts +21 -0
  491. package/dist/cssm/components/CustomScrollView/types.d.ts.map +1 -0
  492. package/dist/cssm/components/CustomScrollView/types.js +3 -0
  493. package/dist/cssm/components/CustomScrollView/types.js.map +1 -0
  494. package/dist/cssm/components/CustomScrollView/useCustomScrollViewResize.d.ts +8 -0
  495. package/dist/cssm/components/CustomScrollView/useCustomScrollViewResize.d.ts.map +1 -0
  496. package/dist/cssm/components/CustomScrollView/useCustomScrollViewResize.js +22 -0
  497. package/dist/cssm/components/CustomScrollView/useCustomScrollViewResize.js.map +1 -0
  498. package/dist/cssm/components/CustomScrollView/useDetectScrollDirection.d.ts +6 -0
  499. package/dist/cssm/components/CustomScrollView/useDetectScrollDirection.d.ts.map +1 -0
  500. package/dist/cssm/components/CustomScrollView/useDetectScrollDirection.js +20 -0
  501. package/dist/cssm/components/CustomScrollView/useDetectScrollDirection.js.map +1 -0
  502. package/dist/cssm/components/CustomScrollView/useDragAndDrop.d.ts +5 -0
  503. package/dist/cssm/components/CustomScrollView/useDragAndDrop.d.ts.map +1 -0
  504. package/dist/cssm/components/CustomScrollView/useDragAndDrop.js +46 -0
  505. package/dist/cssm/components/CustomScrollView/useDragAndDrop.js.map +1 -0
  506. package/dist/cssm/components/CustomScrollView/useHorizontalScrollController.d.ts +4 -0
  507. package/dist/cssm/components/CustomScrollView/useHorizontalScrollController.d.ts.map +1 -0
  508. package/dist/cssm/components/CustomScrollView/useHorizontalScrollController.js +91 -0
  509. package/dist/cssm/components/CustomScrollView/useHorizontalScrollController.js.map +1 -0
  510. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  511. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +5 -0
  512. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  513. package/dist/cssm/components/CustomScrollView/useVerticalScrollController.d.ts +4 -0
  514. package/dist/cssm/components/CustomScrollView/useVerticalScrollController.d.ts.map +1 -0
  515. package/dist/cssm/components/CustomScrollView/useVerticalScrollController.js +91 -0
  516. package/dist/cssm/components/CustomScrollView/useVerticalScrollController.js.map +1 -0
  517. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  518. package/dist/cssm/components/CustomSelect/CustomSelect.js +3 -4
  519. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  520. package/dist/cssm/components/DateInput/DateInput.js +2 -2
  521. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  522. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  523. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -3
  524. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  525. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +2 -2
  526. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  527. package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -1
  528. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  529. package/dist/cssm/components/Flex/FlexItem/FlexItem.d.ts +3 -3
  530. package/dist/cssm/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  531. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  532. package/dist/cssm/components/FocusTrap/FocusTrap.js +1 -1
  533. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  534. package/dist/cssm/components/FormField/FormField.module.css +0 -3
  535. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +0 -1
  536. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  537. package/dist/cssm/components/GridAvatar/GridAvatar.js +1 -1
  538. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  539. package/dist/cssm/components/Group/Group.d.ts +1 -1
  540. package/dist/cssm/components/Group/Group.d.ts.map +1 -1
  541. package/dist/cssm/components/Group/Group.js +17 -12
  542. package/dist/cssm/components/Group/Group.js.map +1 -1
  543. package/dist/cssm/components/Group/Group.module.css +166 -139
  544. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  545. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +7 -10
  546. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  547. package/dist/cssm/components/Image/Image.d.ts +0 -1
  548. package/dist/cssm/components/Image/Image.d.ts.map +1 -1
  549. package/dist/cssm/components/Image/Image.js +1 -1
  550. package/dist/cssm/components/Image/Image.js.map +1 -1
  551. package/dist/cssm/components/ImageBase/validators.js +1 -1
  552. package/dist/cssm/components/ImageBase/validators.js.map +1 -1
  553. package/dist/cssm/components/List/List.module.css +1 -0
  554. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  555. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +18 -16
  556. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  557. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  558. package/dist/cssm/components/ModalRoot/ModalRoot.js +4 -28
  559. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  560. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +2 -2
  561. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  562. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js +2 -2
  563. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  564. package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  565. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +1 -3
  566. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  567. package/dist/cssm/components/Radio/Radio.d.ts +5 -1
  568. package/dist/cssm/components/Radio/Radio.d.ts.map +1 -1
  569. package/dist/cssm/components/Radio/Radio.js +13 -76
  570. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  571. package/dist/cssm/components/Radio/Radio.module.css +0 -145
  572. package/dist/cssm/components/Radio/RadioInput/RadioInput.d.ts +6 -0
  573. package/dist/cssm/components/Radio/RadioInput/RadioInput.d.ts.map +1 -0
  574. package/dist/cssm/components/Radio/RadioInput/RadioInput.js +86 -0
  575. package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -0
  576. package/dist/cssm/components/Radio/RadioInput/RadioInput.module.css +20 -0
  577. package/dist/cssm/components/Search/Search.module.css +3 -1
  578. package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  579. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +1 -2
  580. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  581. package/dist/cssm/components/SelectionControl/SelectionControl.d.ts +14 -0
  582. package/dist/cssm/components/SelectionControl/SelectionControl.d.ts.map +1 -0
  583. package/dist/cssm/components/SelectionControl/SelectionControl.js +28 -0
  584. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -0
  585. package/dist/cssm/components/SelectionControl/SelectionControl.module.css +35 -0
  586. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +7 -0
  587. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -0
  588. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +39 -0
  589. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -0
  590. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +48 -0
  591. package/dist/cssm/components/Textarea/Textarea.d.ts +1 -1
  592. package/dist/cssm/components/Textarea/Textarea.d.ts.map +1 -1
  593. package/dist/cssm/components/Textarea/Textarea.js +11 -2
  594. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  595. package/dist/cssm/components/Textarea/Textarea.module.css +3 -3
  596. package/dist/cssm/components/Textarea/useResizeTextarea.d.ts +1 -1
  597. package/dist/cssm/components/Textarea/useResizeTextarea.d.ts.map +1 -1
  598. package/dist/cssm/components/Textarea/useResizeTextarea.js +2 -2
  599. package/dist/cssm/components/Textarea/useResizeTextarea.js.map +1 -1
  600. package/dist/cssm/components/View/View.d.ts.map +1 -1
  601. package/dist/cssm/components/View/View.js +2 -4
  602. package/dist/cssm/components/View/View.js.map +1 -1
  603. package/dist/cssm/components/View/ViewInfinite.d.ts.map +1 -1
  604. package/dist/cssm/components/View/ViewInfinite.js +1 -3
  605. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  606. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  607. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  608. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +2 -2
  609. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  610. package/dist/cssm/components/WriteBar/WriteBar.module.css +2 -0
  611. package/dist/cssm/hooks/useCalendar.d.ts.map +1 -1
  612. package/dist/cssm/hooks/useCalendar.js +1 -1
  613. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  614. package/dist/cssm/hooks/useTodayDate.js +2 -2
  615. package/dist/cssm/hooks/useTodayDate.js.map +1 -1
  616. package/dist/cssm/index.d.ts +3 -0
  617. package/dist/cssm/index.d.ts.map +1 -1
  618. package/dist/cssm/index.js +2 -0
  619. package/dist/cssm/index.js.map +1 -1
  620. package/dist/cssm/lib/calendar.d.ts.map +1 -1
  621. package/dist/cssm/lib/calendar.js +15 -4
  622. package/dist/cssm/lib/calendar.js.map +1 -1
  623. package/dist/cssm/lib/date.d.ts +1 -28
  624. package/dist/cssm/lib/date.d.ts.map +1 -1
  625. package/dist/cssm/lib/date.js +8 -105
  626. package/dist/cssm/lib/date.js.map +1 -1
  627. package/dist/cssm/styles/themes.css +63 -19
  628. package/dist/hooks/useCalendar.d.ts.map +1 -1
  629. package/dist/hooks/useCalendar.js +1 -1
  630. package/dist/hooks/useCalendar.js.map +1 -1
  631. package/dist/hooks/useTodayDate.js +2 -2
  632. package/dist/hooks/useTodayDate.js.map +1 -1
  633. package/dist/index.d.ts +3 -0
  634. package/dist/index.d.ts.map +1 -1
  635. package/dist/index.js +2 -0
  636. package/dist/index.js.map +1 -1
  637. package/dist/lib/calendar.d.ts.map +1 -1
  638. package/dist/lib/calendar.js +15 -4
  639. package/dist/lib/calendar.js.map +1 -1
  640. package/dist/lib/date.d.ts +1 -28
  641. package/dist/lib/date.d.ts.map +1 -1
  642. package/dist/lib/date.js +8 -105
  643. package/dist/lib/date.js.map +1 -1
  644. package/dist/vkui.css +3 -3
  645. package/dist/vkui.css.map +1 -1
  646. package/dist/vkui.js.tmp +1586 -1012
  647. package/package.json +3 -4
  648. package/src/components/ActionSheet/ActionSheet.tsx +1 -1
  649. package/src/components/ActionSheet/ActionSheetContext.ts +1 -0
  650. package/src/components/ActionSheetItem/ActionSheetItem.tsx +43 -18
  651. package/src/components/ActionSheetItem/helpers.ts +11 -0
  652. package/src/components/Alert/Alert.tsx +1 -1
  653. package/src/components/Avatar/Avatar.tsx +1 -1
  654. package/src/components/Avatar/AvatarBadge/icons.tsx +9 -8
  655. package/src/components/BaseGallery/BaseGallery.tsx +0 -4
  656. package/src/components/Calendar/Calendar.tsx +1 -1
  657. package/src/components/CalendarDays/CalendarDays.tsx +1 -1
  658. package/src/components/CalendarHeader/CalendarHeader.tsx +1 -1
  659. package/src/components/CalendarRange/CalendarRange.tsx +5 -6
  660. package/src/components/CalendarTime/CalendarTime.tsx +1 -1
  661. package/src/components/Cell/Cell.module.css +10 -0
  662. package/src/components/Cell/Cell.tsx +13 -2
  663. package/src/components/CellButton/CellButton.module.css +2 -2
  664. package/src/components/Checkbox/Checkbox.tsx +30 -166
  665. package/src/components/Checkbox/CheckboxInput/CheckboxInput.module.css +30 -0
  666. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +174 -0
  667. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +28 -0
  668. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx +49 -0
  669. package/src/components/ChipsInput/ChipsInput.tsx +3 -8
  670. package/src/components/ChipsInputBase/ChipsInputBase.tsx +1 -1
  671. package/src/components/ChipsInputBase/helpers.ts +0 -3
  672. package/src/components/ChipsInputBase/types.ts +1 -1
  673. package/src/components/ChipsSelect/ChipsSelect.tsx +1 -9
  674. package/src/components/Clickable/useState.tsx +2 -2
  675. package/src/components/CustomScrollView/CustomScrollView.module.css +49 -11
  676. package/src/components/CustomScrollView/CustomScrollView.tsx +56 -164
  677. package/src/components/CustomScrollView/ScrollX.tsx +57 -0
  678. package/src/components/CustomScrollView/ScrollY.tsx +57 -0
  679. package/src/components/CustomScrollView/types.ts +23 -0
  680. package/src/components/CustomScrollView/useCustomScrollViewResize.ts +32 -0
  681. package/src/components/CustomScrollView/useDetectScrollDirection.ts +21 -0
  682. package/src/components/CustomScrollView/useDragAndDrop.tsx +55 -0
  683. package/src/components/CustomScrollView/useHorizontalScrollController.tsx +120 -0
  684. package/src/components/CustomScrollView/useTrackerVisibility.ts +4 -0
  685. package/src/components/CustomScrollView/useVerticalScrollController.tsx +122 -0
  686. package/src/components/CustomSelect/CustomSelect.tsx +3 -5
  687. package/src/components/DateInput/DateInput.tsx +2 -2
  688. package/src/components/DateRangeInput/DateRangeInput.tsx +5 -4
  689. package/src/components/FixedLayout/FixedLayout.tsx +4 -4
  690. package/src/components/Flex/FlexItem/FlexItem.tsx +3 -3
  691. package/src/components/FocusTrap/FocusTrap.tsx +1 -1
  692. package/src/components/FormField/FormField.module.css +0 -3
  693. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  694. package/src/components/Group/Group.module.css +155 -132
  695. package/src/components/Group/Group.tsx +25 -19
  696. package/src/components/HorizontalScroll/HorizontalScroll.tsx +7 -12
  697. package/src/components/Image/Image.tsx +1 -1
  698. package/src/components/ImageBase/validators.ts +1 -1
  699. package/src/components/List/List.module.css +1 -0
  700. package/src/components/ModalPageHeader/ModalPageHeader.tsx +24 -22
  701. package/src/components/ModalRoot/ModalRoot.tsx +4 -32
  702. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +4 -3
  703. package/src/components/PullToRefresh/PullToRefresh.tsx +0 -2
  704. package/src/components/Radio/Radio.module.css +0 -131
  705. package/src/components/Radio/Radio.tsx +14 -53
  706. package/src/components/Radio/RadioInput/RadioInput.module.css +20 -0
  707. package/src/components/Radio/RadioInput/RadioInput.tsx +58 -0
  708. package/src/components/Search/Search.module.css +1 -1
  709. package/src/components/SegmentedControl/SegmentedControl.tsx +0 -1
  710. package/src/components/SelectionControl/SelectionControl.module.css +33 -0
  711. package/src/components/SelectionControl/SelectionControl.tsx +44 -0
  712. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +44 -0
  713. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +43 -0
  714. package/src/components/Textarea/Textarea.module.css +3 -3
  715. package/src/components/Textarea/Textarea.tsx +9 -1
  716. package/src/components/Textarea/useResizeTextarea.ts +2 -1
  717. package/src/components/View/View.tsx +0 -2
  718. package/src/components/View/ViewInfinite.tsx +0 -2
  719. package/src/components/VisuallyHidden/VisuallyHidden.tsx +2 -0
  720. package/src/components/WriteBar/WriteBar.module.css +1 -1
  721. package/src/hooks/useCalendar.ts +1 -9
  722. package/src/hooks/useTodayDate.ts +2 -2
  723. package/src/index.ts +3 -0
  724. package/src/lib/calendar.ts +8 -7
  725. package/src/lib/date.ts +9 -140
  726. package/dist/cjs/lib/styles.d.ts +0 -2
  727. package/dist/cjs/lib/styles.d.ts.map +0 -1
  728. package/dist/cjs/lib/styles.js +0 -20
  729. package/dist/cjs/lib/styles.js.map +0 -1
  730. package/dist/cssm/components/Checkbox/Checkbox.module.css +0 -183
  731. package/dist/cssm/lib/styles.d.ts +0 -2
  732. package/dist/cssm/lib/styles.d.ts.map +0 -1
  733. package/dist/cssm/lib/styles.js +0 -10
  734. package/dist/cssm/lib/styles.js.map +0 -1
  735. package/dist/lib/styles.d.ts +0 -2
  736. package/dist/lib/styles.d.ts.map +0 -1
  737. package/dist/lib/styles.js +0 -10
  738. package/dist/lib/styles.js.map +0 -1
  739. package/src/components/Checkbox/Checkbox.module.css +0 -170
  740. package/src/lib/styles.ts +0 -12
@@ -0,0 +1,48 @@
1
+ .SelectionControlLabel {
2
+ flex-grow: 1;
3
+ color: var(--vkui--color_text_primary);
4
+ min-inline-size: 0; /* см. https://github.com/VKCOM/VKUI/issues/5687 */
5
+ word-break: break-word;
6
+ margin-block: var(--vkui--spacing_size_xl);
7
+ -webkit-margin-start: 12px;
8
+ margin-inline-start: 12px;
9
+ }
10
+
11
+ .SelectionControlLabel:first-child {
12
+ -webkit-margin-start: 0;
13
+ margin-inline-start: 0;
14
+ }
15
+
16
+ .SelectionControlLabel__description {
17
+ color: var(--vkui--color_text_secondary);
18
+ display: block;
19
+ -webkit-margin-before: 2px;
20
+ margin-block-start: 2px;
21
+ }
22
+
23
+ .SelectionControlLabel__titleLayout {
24
+ display: flex;
25
+ justify-content: space-between;
26
+ align-items: center;
27
+ }
28
+
29
+ .SelectionControlLabel__title {
30
+ min-inline-size: 0; /* см. https://github.com/VKCOM/VKUI/issues/5687 */
31
+ }
32
+
33
+ .SelectionControlLabel__titleAfter {
34
+ -webkit-margin-start: 4px;
35
+ margin-inline-start: 4px;
36
+ flex-shrink: 0;
37
+ color: var(--vkui--color_icon_tertiary);
38
+ }
39
+
40
+ .SelectionControlLabel--sizeY-compact {
41
+ margin-block: var(--vkui--spacing_size_m);
42
+ }
43
+
44
+ @media (pointer: fine) and (min-width: 768px),(max-height: 414.9px) {
45
+ .SelectionControlLabel--sizeY-none {
46
+ margin-block: var(--vkui--spacing_size_m);
47
+ }
48
+ }
@@ -9,5 +9,5 @@ export interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTex
9
9
  /**
10
10
  * @see https://vkcom.github.io/VKUI/#/Textarea
11
11
  */
12
- export declare const Textarea: ({ grow, style, onResize, className, getRootRef, getRef, rows, maxHeight, status, onChange, align, mode, after, before, afterAlign, beforeAlign, ...restProps }: TextareaProps) => React.ReactNode;
12
+ export declare const Textarea: ({ grow, style, onResize, className, getRootRef, getRef, rows, maxHeight, status, onChange, align, mode, after, before, afterAlign, beforeAlign, value, ...restProps }: TextareaProps) => React.ReactNode;
13
13
  //# sourceMappingURL=Textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAa,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAUnE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,EACzE,MAAM,CAAC,mBAAmB,CAAC,EAC3B,UAAU,CAAC,WAAW,CAAC,EACvB,QAAQ,EACR,cAAc;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,mKAkBlB,aAAa,KAAG,KAAK,CAAC,SAsCxB,CAAC"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAa,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAUnE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,EACzE,MAAM,CAAC,mBAAmB,CAAC,EAC3B,UAAU,CAAC,WAAW,CAAC,EACvB,QAAQ,EACR,cAAc;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,0KAmBlB,aAAa,KAAG,KAAK,CAAC,SA0CxB,CAAC"}
@@ -3,7 +3,10 @@ import * as React from 'react';
3
3
  import { classNames } from '@vkontakte/vkjs';
4
4
  import { useAdaptivity } from '../../hooks/useAdaptivity';
5
5
  import { useExternRef } from '../../hooks/useExternRef';
6
+ import { useGlobalEventListener } from '../../hooks/useGlobalEventListener';
7
+ import { usePlatform } from '../../hooks/usePlatform';
6
8
  import { callMultiple } from '../../lib/callMultiple';
9
+ import { useDOM } from '../../lib/dom';
7
10
  import { FormField } from '../FormField/FormField';
8
11
  import { UnstyledTextField } from '../UnstyledTextField/UnstyledTextField';
9
12
  import { useResizeTextarea } from './useResizeTextarea';
@@ -14,14 +17,19 @@ const sizeYClassNames = {
14
17
  };
15
18
  /**
16
19
  * @see https://vkcom.github.io/VKUI/#/Textarea
17
- */ export const Textarea = ({ grow = true, style, onResize, className, getRootRef, getRef, rows = 2, maxHeight, status, onChange, align, mode, after, before, afterAlign, beforeAlign, ...restProps })=>{
20
+ */ export const Textarea = ({ grow = true, style, onResize, className, getRootRef, getRef, rows = 2, maxHeight, status, onChange, align, mode, after, before, afterAlign, beforeAlign, value, ...restProps })=>{
18
21
  const { sizeY = 'none' } = useAdaptivity();
22
+ const platform = usePlatform();
23
+ const { window } = useDOM();
19
24
  const [refResizeTextarea, resize] = useResizeTextarea(onResize, grow);
20
25
  const elementRef = useExternRef(getRef, refResizeTextarea);
21
26
  React.useEffect(resize, [
22
27
  resize,
23
- sizeY
28
+ sizeY,
29
+ platform,
30
+ value
24
31
  ]);
32
+ useGlobalEventListener(window, 'resize', resize);
25
33
  return /*#__PURE__*/ _jsx(FormField, {
26
34
  className: classNames(styles['Textarea'], sizeY !== 'regular' && sizeYClassNames[sizeY], align === 'right' && styles['Textarea--align-right'], align === 'center' && styles['Textarea--align-center'], className),
27
35
  style: style,
@@ -36,6 +44,7 @@ const sizeYClassNames = {
36
44
  maxHeight: maxHeight,
37
45
  children: /*#__PURE__*/ _jsx(UnstyledTextField, {
38
46
  ...restProps,
47
+ value: value,
39
48
  as: "textarea",
40
49
  rows: rows,
41
50
  className: styles['Textarea__el'],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { UnstyledTextField } from '../UnstyledTextField/UnstyledTextField';\nimport { useResizeTextarea } from './useResizeTextarea';\nimport styles from './Textarea.module.css';\n\nconst sizeYClassNames = {\n none: styles['Textarea--sizeY-none'],\n ['compact']: styles['Textarea--sizeY-compact'],\n};\n\nexport interface TextareaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'onResize'>,\n HasRef<HTMLTextAreaElement>,\n HasRootRef<HTMLElement>,\n HasAlign,\n FormFieldProps {\n grow?: boolean;\n onResize?: (el: HTMLTextAreaElement) => void;\n defaultValue?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Textarea\n */\nexport const Textarea = ({\n grow = true,\n style,\n onResize,\n className,\n getRootRef,\n getRef,\n rows = 2,\n maxHeight,\n status,\n onChange,\n align,\n mode,\n after,\n before,\n afterAlign,\n beforeAlign,\n ...restProps\n}: TextareaProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const [refResizeTextarea, resize] = useResizeTextarea(onResize, grow);\n const elementRef = useExternRef(getRef, refResizeTextarea);\n\n React.useEffect(resize, [resize, sizeY]);\n\n return (\n <FormField\n className={classNames(\n styles['Textarea'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n align === 'right' && styles['Textarea--align-right'],\n align === 'center' && styles['Textarea--align-center'],\n className,\n )}\n style={style}\n getRootRef={getRootRef}\n disabled={restProps.disabled}\n status={status}\n mode={mode}\n after={after}\n before={before}\n afterAlign={afterAlign}\n beforeAlign={beforeAlign}\n maxHeight={maxHeight}\n >\n <UnstyledTextField\n {...restProps}\n as=\"textarea\"\n rows={rows}\n className={styles['Textarea__el']}\n onChange={callMultiple(onChange, resize)}\n getRootRef={elementRef}\n />\n </FormField>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","callMultiple","FormField","UnstyledTextField","useResizeTextarea","styles","sizeYClassNames","none","Textarea","grow","style","onResize","className","getRootRef","getRef","rows","maxHeight","status","onChange","align","mode","after","before","afterAlign","beforeAlign","restProps","sizeY","refResizeTextarea","resize","elementRef","useEffect","disabled","as"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,YAAY,QAAQ,yBAAyB;AAEtD,SAASC,SAAS,QAAwB,yBAAyB;AACnE,SAASC,iBAAiB,QAAQ,yCAAyC;AAC3E,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,kBAAkB;IACtBC,MAAMF,MAAM,CAAC,uBAAuB;IACpC,CAAC,UAAU,EAAEA,MAAM,CAAC,0BAA0B;AAChD;AAaA;;CAEC,GACD,OAAO,MAAMG,WAAW,CAAC,EACvBC,OAAO,IAAI,EACXC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,MAAM,EACNC,OAAO,CAAC,EACRC,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,KAAK,EACLC,IAAI,EACJC,KAAK,EACLC,MAAM,EACNC,UAAU,EACVC,WAAW,EACX,GAAGC,WACW;IACd,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAG3B;IAE3B,MAAM,CAAC4B,mBAAmBC,OAAO,GAAGxB,kBAAkBO,UAAUF;IAChE,MAAMoB,aAAa7B,aAAac,QAAQa;IAExC9B,MAAMiC,SAAS,CAACF,QAAQ;QAACA;QAAQF;KAAM;IAEvC,qBACE,KAACxB;QACCU,WAAWd,WACTO,MAAM,CAAC,WAAW,EAClBqB,UAAU,aAAapB,eAAe,CAACoB,MAAM,EAC7CP,UAAU,WAAWd,MAAM,CAAC,wBAAwB,EACpDc,UAAU,YAAYd,MAAM,CAAC,yBAAyB,EACtDO;QAEFF,OAAOA;QACPG,YAAYA;QACZkB,UAAUN,UAAUM,QAAQ;QAC5Bd,QAAQA;QACRG,MAAMA;QACNC,OAAOA;QACPC,QAAQA;QACRC,YAAYA;QACZC,aAAaA;QACbR,WAAWA;kBAEX,cAAA,KAACb;YACE,GAAGsB,SAAS;YACbO,IAAG;YACHjB,MAAMA;YACNH,WAAWP,MAAM,CAAC,eAAe;YACjCa,UAAUjB,aAAaiB,UAAUU;YACjCf,YAAYgB;;;AAIpB,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { useDOM } from '../../lib/dom';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport { UnstyledTextField } from '../UnstyledTextField/UnstyledTextField';\nimport { useResizeTextarea } from './useResizeTextarea';\nimport styles from './Textarea.module.css';\n\nconst sizeYClassNames = {\n none: styles['Textarea--sizeY-none'],\n ['compact']: styles['Textarea--sizeY-compact'],\n};\n\nexport interface TextareaProps\n extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'onResize'>,\n HasRef<HTMLTextAreaElement>,\n HasRootRef<HTMLElement>,\n HasAlign,\n FormFieldProps {\n grow?: boolean;\n onResize?: (el: HTMLTextAreaElement) => void;\n defaultValue?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Textarea\n */\nexport const Textarea = ({\n grow = true,\n style,\n onResize,\n className,\n getRootRef,\n getRef,\n rows = 2,\n maxHeight,\n status,\n onChange,\n align,\n mode,\n after,\n before,\n afterAlign,\n beforeAlign,\n value,\n ...restProps\n}: TextareaProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n const { window } = useDOM();\n\n const [refResizeTextarea, resize] = useResizeTextarea(onResize, grow);\n const elementRef = useExternRef(getRef, refResizeTextarea);\n\n React.useEffect(resize, [resize, sizeY, platform, value]);\n useGlobalEventListener(window, 'resize', resize);\n\n return (\n <FormField\n className={classNames(\n styles['Textarea'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n align === 'right' && styles['Textarea--align-right'],\n align === 'center' && styles['Textarea--align-center'],\n className,\n )}\n style={style}\n getRootRef={getRootRef}\n disabled={restProps.disabled}\n status={status}\n mode={mode}\n after={after}\n before={before}\n afterAlign={afterAlign}\n beforeAlign={beforeAlign}\n maxHeight={maxHeight}\n >\n <UnstyledTextField\n {...restProps}\n value={value}\n as=\"textarea\"\n rows={rows}\n className={styles['Textarea__el']}\n onChange={callMultiple(onChange, resize)}\n getRootRef={elementRef}\n />\n </FormField>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useGlobalEventListener","usePlatform","callMultiple","useDOM","FormField","UnstyledTextField","useResizeTextarea","styles","sizeYClassNames","none","Textarea","grow","style","onResize","className","getRootRef","getRef","rows","maxHeight","status","onChange","align","mode","after","before","afterAlign","beforeAlign","value","restProps","sizeY","platform","window","refResizeTextarea","resize","elementRef","useEffect","disabled","as"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,sBAAsB,QAAQ,qCAAqC;AAC5E,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,SAASC,SAAS,QAAwB,yBAAyB;AACnE,SAASC,iBAAiB,QAAQ,yCAAyC;AAC3E,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,kBAAkB;IACtBC,MAAMF,MAAM,CAAC,uBAAuB;IACpC,CAAC,UAAU,EAAEA,MAAM,CAAC,0BAA0B;AAChD;AAaA;;CAEC,GACD,OAAO,MAAMG,WAAW,CAAC,EACvBC,OAAO,IAAI,EACXC,KAAK,EACLC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,MAAM,EACNC,OAAO,CAAC,EACRC,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,KAAK,EACLC,IAAI,EACJC,KAAK,EACLC,MAAM,EACNC,UAAU,EACVC,WAAW,EACXC,KAAK,EACL,GAAGC,WACW;IACd,MAAM,EAAEC,QAAQ,MAAM,EAAE,GAAG/B;IAC3B,MAAMgC,WAAW7B;IACjB,MAAM,EAAE8B,MAAM,EAAE,GAAG5B;IAEnB,MAAM,CAAC6B,mBAAmBC,OAAO,GAAG3B,kBAAkBO,UAAUF;IAChE,MAAMuB,aAAanC,aAAaiB,QAAQgB;IAExCpC,MAAMuC,SAAS,CAACF,QAAQ;QAACA;QAAQJ;QAAOC;QAAUH;KAAM;IACxD3B,uBAAuB+B,QAAQ,UAAUE;IAEzC,qBACE,KAAC7B;QACCU,WAAWjB,WACTU,MAAM,CAAC,WAAW,EAClBsB,UAAU,aAAarB,eAAe,CAACqB,MAAM,EAC7CR,UAAU,WAAWd,MAAM,CAAC,wBAAwB,EACpDc,UAAU,YAAYd,MAAM,CAAC,yBAAyB,EACtDO;QAEFF,OAAOA;QACPG,YAAYA;QACZqB,UAAUR,UAAUQ,QAAQ;QAC5BjB,QAAQA;QACRG,MAAMA;QACNC,OAAOA;QACPC,QAAQA;QACRC,YAAYA;QACZC,aAAaA;QACbR,WAAWA;kBAEX,cAAA,KAACb;YACE,GAAGuB,SAAS;YACbD,OAAOA;YACPU,IAAG;YACHpB,MAAMA;YACNH,WAAWP,MAAM,CAAC,eAAe;YACjCa,UAAUlB,aAAakB,UAAUa;YACjClB,YAAYmB;;;AAIpB,EAAE"}
@@ -1,6 +1,7 @@
1
1
  .Textarea {
2
2
  overflow: hidden;
3
3
  position: relative;
4
+ max-block-size: 204px;
4
5
  }
5
6
 
6
7
  .Textarea__el {
@@ -9,7 +10,6 @@
9
10
  display: block;
10
11
  padding: 12px;
11
12
  inline-size: 100%;
12
- max-block-size: 204px;
13
13
  box-sizing: border-box;
14
14
  color: var(--vkui--color_text_primary);
15
15
  }
@@ -18,12 +18,12 @@
18
18
  inline-size: initial;
19
19
  }
20
20
 
21
- .Textarea--sizeY-compact .Textarea__el {
21
+ .Textarea--sizeY-compact {
22
22
  max-block-size: 196px;
23
23
  }
24
24
 
25
25
  @media (pointer: fine) and (min-width: 768px),(max-height: 414.9px) {
26
- .Textarea--sizeY-none .Textarea__el {
26
+ .Textarea--sizeY-none {
27
27
  max-block-size: 196px;
28
28
  }
29
29
  }
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
- export declare function useResizeTextarea(onResize: ((el: HTMLTextAreaElement) => void) | undefined, grow?: boolean): readonly [React.RefObject<HTMLTextAreaElement>, () => void];
2
+ export declare function useResizeTextarea(onResize: ((el: HTMLTextAreaElement) => void) | undefined, grow: boolean): readonly [React.RefObject<HTMLTextAreaElement>, () => void];
3
3
  //# sourceMappingURL=useResizeTextarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResizeTextarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/useResizeTextarea.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,EACzD,IAAI,UAAO,GACV,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC,CA6B7D"}
1
+ {"version":3,"file":"useResizeTextarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/useResizeTextarea.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,EACzD,IAAI,EAAE,OAAO,GACZ,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC,CA8B7D"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export function useResizeTextarea(onResize, grow = true) {
2
+ export function useResizeTextarea(onResize, grow) {
3
3
  const elementRef = React.useRef(null);
4
4
  const currentScrollHeight = React.useRef();
5
5
  const resizeElement = React.useCallback((el)=>{
@@ -18,7 +18,7 @@ export function useResizeTextarea(onResize, grow = true) {
18
18
  const resize = React.useCallback(()=>{
19
19
  const el = elementRef.current;
20
20
  if (!el) {
21
- return;
21
+ /* istanbul ignore next: нет возможности воспроизвести */ return;
22
22
  }
23
23
  resizeElement(el);
24
24
  }, [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Textarea/useResizeTextarea.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function useResizeTextarea(\n onResize: ((el: HTMLTextAreaElement) => void) | undefined,\n grow = true,\n): readonly [React.RefObject<HTMLTextAreaElement>, () => void] {\n const elementRef = React.useRef<HTMLTextAreaElement>(null);\n const currentScrollHeight = React.useRef<number>();\n\n const resizeElement = React.useCallback(\n (el: HTMLTextAreaElement) => {\n if (grow && el.offsetParent) {\n el.style.height = '';\n el.style.height = `${el.scrollHeight}px`;\n\n if (el.scrollHeight !== currentScrollHeight.current && onResize) {\n onResize(el);\n currentScrollHeight.current = el.scrollHeight;\n }\n }\n },\n [grow, onResize],\n );\n\n const resize = React.useCallback(() => {\n const el = elementRef.current;\n if (!el) {\n return;\n }\n\n resizeElement(el);\n }, [elementRef, resizeElement]);\n\n return [elementRef, resize];\n}\n"],"names":["React","useResizeTextarea","onResize","grow","elementRef","useRef","currentScrollHeight","resizeElement","useCallback","el","offsetParent","style","height","scrollHeight","current","resize"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,SAASC,kBACdC,QAAyD,EACzDC,OAAO,IAAI;IAEX,MAAMC,aAAaJ,MAAMK,MAAM,CAAsB;IACrD,MAAMC,sBAAsBN,MAAMK,MAAM;IAExC,MAAME,gBAAgBP,MAAMQ,WAAW,CACrC,CAACC;QACC,IAAIN,QAAQM,GAAGC,YAAY,EAAE;YAC3BD,GAAGE,KAAK,CAACC,MAAM,GAAG;YAClBH,GAAGE,KAAK,CAACC,MAAM,GAAG,CAAC,EAAEH,GAAGI,YAAY,CAAC,EAAE,CAAC;YAExC,IAAIJ,GAAGI,YAAY,KAAKP,oBAAoBQ,OAAO,IAAIZ,UAAU;gBAC/DA,SAASO;gBACTH,oBAAoBQ,OAAO,GAAGL,GAAGI,YAAY;YAC/C;QACF;IACF,GACA;QAACV;QAAMD;KAAS;IAGlB,MAAMa,SAASf,MAAMQ,WAAW,CAAC;QAC/B,MAAMC,KAAKL,WAAWU,OAAO;QAC7B,IAAI,CAACL,IAAI;YACP;QACF;QAEAF,cAAcE;IAChB,GAAG;QAACL;QAAYG;KAAc;IAE9B,OAAO;QAACH;QAAYW;KAAO;AAC7B"}
1
+ {"version":3,"sources":["../../../../src/components/Textarea/useResizeTextarea.ts"],"sourcesContent":["import * as React from 'react';\n\nexport function useResizeTextarea(\n onResize: ((el: HTMLTextAreaElement) => void) | undefined,\n grow: boolean,\n): readonly [React.RefObject<HTMLTextAreaElement>, () => void] {\n const elementRef = React.useRef<HTMLTextAreaElement>(null);\n const currentScrollHeight = React.useRef<number>();\n\n const resizeElement = React.useCallback(\n (el: HTMLTextAreaElement) => {\n if (grow && el.offsetParent) {\n el.style.height = '';\n el.style.height = `${el.scrollHeight}px`;\n\n if (el.scrollHeight !== currentScrollHeight.current && onResize) {\n onResize(el);\n currentScrollHeight.current = el.scrollHeight;\n }\n }\n },\n [grow, onResize],\n );\n\n const resize = React.useCallback(() => {\n const el = elementRef.current;\n if (!el) {\n /* istanbul ignore next: нет возможности воспроизвести */\n return;\n }\n\n resizeElement(el);\n }, [elementRef, resizeElement]);\n\n return [elementRef, resize];\n}\n"],"names":["React","useResizeTextarea","onResize","grow","elementRef","useRef","currentScrollHeight","resizeElement","useCallback","el","offsetParent","style","height","scrollHeight","current","resize"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,SAASC,kBACdC,QAAyD,EACzDC,IAAa;IAEb,MAAMC,aAAaJ,MAAMK,MAAM,CAAsB;IACrD,MAAMC,sBAAsBN,MAAMK,MAAM;IAExC,MAAME,gBAAgBP,MAAMQ,WAAW,CACrC,CAACC;QACC,IAAIN,QAAQM,GAAGC,YAAY,EAAE;YAC3BD,GAAGE,KAAK,CAACC,MAAM,GAAG;YAClBH,GAAGE,KAAK,CAACC,MAAM,GAAG,CAAC,EAAEH,GAAGI,YAAY,CAAC,EAAE,CAAC;YAExC,IAAIJ,GAAGI,YAAY,KAAKP,oBAAoBQ,OAAO,IAAIZ,UAAU;gBAC/DA,SAASO;gBACTH,oBAAoBQ,OAAO,GAAGL,GAAGI,YAAY;YAC/C;QACF;IACF,GACA;QAACV;QAAMD;KAAS;IAGlB,MAAMa,SAASf,MAAMQ,WAAW,CAAC;QAC/B,MAAMC,KAAKL,WAAWU,OAAO;QAC7B,IAAI,CAACL,IAAI;YACP,uDAAuD,GACvD;QACF;QAEAF,cAAcE;IAChB,GAAG;QAACL;QAAYG;KAAc;IAE9B,OAAO;QAACH;QAAYW;KAAO;AAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAgBxD,UAAU,OAAO;IACf,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,UAAU,YAAY;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,eAAO,IAAI,YAAY,EAAE,YAAiB,CAAC;AAE3C,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,WAAW,CAAC,EAAE,UAAU;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,SAAS,CAAC;IACpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7D;AAID;;GAEG;AACH,eAAO,MAAM,IAAI,6KAWd,SAAS,KAAG,KAAK,CAAC,SAodpB,CAAC"}
1
+ {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../src/components/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAgBxD,UAAU,OAAO;IACf,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,UAAU,YAAY;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,eAAO,IAAI,YAAY,EAAE,YAAiB,CAAC;AAE3C,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,WAAW,CAAC,EAAE,UAAU;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,SAAS,CAAC;IACpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7D;AAID;;GAEG;AACH,eAAO,MAAM,IAAI,6KAWd,SAAS,KAAG,KAAK,CAAC,SAkdpB,CAAC"}
@@ -216,14 +216,12 @@ const warn = warnOnce('View');
216
216
  let nextPanelTranslate = `${-50 + swipeBackShift * 100 / window.innerWidth / 2}%`;
217
217
  if (isNext) {
218
218
  return {
219
- transform: `translate3d(${nextPanelTranslate}, 0, 0)`,
220
- WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`
219
+ transform: `translate3d(${nextPanelTranslate}, 0, 0)`
221
220
  };
222
221
  }
223
222
  if (isPrev) {
224
223
  return {
225
- transform: `translate3d(${prevPanelTranslate}, 0, 0)`,
226
- WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`
224
+ transform: `translate3d(${prevPanelTranslate}, 0, 0)`
227
225
  };
228
226
  }
229
227
  return {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/View/View.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { blurActiveElement, canUseDOM, useDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { useScroll } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavViewIdContext } from '../NavIdContext/NavIdContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { useSplitCol } from '../SplitCol/SplitColContext';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { useLayoutEffectCall } from './useLayoutEffectCall';\nimport {\n getSwipeBackPredicates,\n hasHorizontalScrollableElementWithScrolledToLeft,\n swipeBackExcluded,\n} from './utils';\nimport styles from './View.module.css';\n\ninterface Scrolls {\n [index: string]: number | undefined;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport interface ViewProps extends HTMLAttributesWithRootRef<HTMLElement>, NavIdProps {\n activePanel: string;\n onTransition?: (params: { isBack: boolean; from: string; to: string }) => void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?: () => void;\n /**\n * callback начала анимации свайпа назад.\n *\n * Чтобы остановить свайп назад, возвращайте `\"prevent\"`.\n */\n onSwipeBackStart?: (activePanel: string | null) => void | 'prevent';\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?: () => void;\n history?: string[];\n\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nconst warn = warnOnce('View');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/View\n */\nexport const View = ({\n activePanel: activePanelProp,\n history,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel: onSwipeBackCancelProp,\n children,\n className,\n ...restProps\n}: ViewProps): React.ReactNode => {\n const id = getNavId({ nav, id: restProps.id });\n const scrolls = React.useRef(scrollsCache[id as string] || {});\n const layoutEffectCall = useLayoutEffectCall();\n\n React.useEffect(() => () => {\n if (id) {\n scrollsCache[id] = scrolls.current;\n }\n });\n\n const panelNodes = React.useRef<{ [id: string]: HTMLDivElement | null }>({});\n\n const { window, document } = useDOM();\n const scroll = useScroll();\n const configProvider = useConfigProvider();\n const splitCol = useSplitCol();\n const platform = usePlatform();\n\n const [animated, setAnimated] = React.useState(false);\n\n const [visiblePanels, setVisiblePanels] = React.useState([activePanelProp]);\n const [activePanel, setActivePanel] = React.useState<string | null>(activePanelProp);\n const [isBack, setIsBack] = React.useState<boolean | undefined>(undefined);\n const [prevPanel, setPrevPanel] = React.useState<string | null>(null);\n const [nextPanel, setNextPanel] = React.useState<string | null>(null);\n\n const swipeBackPrevented = React.useRef<boolean>(false);\n const [swipingBack, setSwipingBack] = React.useState<boolean | undefined>(undefined);\n const [swipeBackStartX, setSwipeBackStartX] = React.useState<number>(0);\n const [swipeBackShift, setSwipeBackShift] = React.useState<number>(0);\n const [swipeBackNextPanel, setSwipeBackNextPanel] = React.useState<string | null>(null);\n const [swipeBackPrevPanel, setSwipeBackPrevPanel] = React.useState<string | null>(null);\n const [swipeBackResult, setSwipeBackResult] = React.useState<'success' | 'fail' | null>(null);\n\n const [browserSwipe, setBrowserSwipe] = React.useState(false);\n\n const prevActivePanel = usePrevious(activePanelProp);\n const prevSwipingBack = usePrevious(swipingBack);\n const prevBrowserSwipe = usePrevious(browserSwipe);\n const prevSwipeBackResult = usePrevious(swipeBackResult);\n const prevSwipeBackShift = usePrevious(swipeBackShift);\n const prevSwipeBackPrevPanel = usePrevious(swipeBackPrevPanel);\n const prevOnTransition = usePrevious(onTransition);\n\n const panels = (React.Children.toArray(children) as React.ReactElement[]).filter(\n (panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n },\n );\n\n const disableAnimation =\n !configProvider.transitionMotionEnabled || !splitCol.animate || platform === 'vkcom';\n const iOSSwipeBackSimulationEnabled =\n !disableAnimation && platform === 'ios' && configProvider.isWebView && Boolean(onSwipeBack);\n\n const flushTransition = React.useCallback(\n (prevPanel: string, isBackTransition: boolean) => {\n if (isBackTransition) {\n scrolls.current[prevPanel] = 0;\n }\n setPrevPanel(null);\n setNextPanel(null);\n setVisiblePanels([activePanelProp]);\n setActivePanel(activePanelProp);\n setAnimated(false);\n setIsBack(isBackTransition);\n\n layoutEffectCall(() => {\n scroll?.scrollTo(0, isBackTransition ? scrolls.current[activePanelProp] : 0);\n onTransition &&\n onTransition({\n isBack: isBackTransition,\n from: prevPanel,\n to: activePanelProp,\n });\n });\n },\n [activePanelProp, layoutEffectCall, onTransition, scroll],\n );\n\n const onAnimationEnd = React.useCallback(() => {\n if (prevPanel !== null) {\n flushTransition(prevPanel, Boolean(isBack));\n }\n }, [flushTransition, isBack, prevPanel]);\n\n const onSwipeBackSuccess = React.useCallback(() => {\n onSwipeBack && onSwipeBack();\n }, [onSwipeBack]);\n\n const onSwipeBackCancel = React.useCallback(() => {\n onSwipeBackCancelProp && onSwipeBackCancelProp();\n setSwipeBackPrevPanel(null);\n setSwipeBackNextPanel(null);\n setSwipingBack(false);\n setSwipeBackResult(null);\n setSwipeBackStartX(0);\n setSwipeBackShift(0);\n }, [onSwipeBackCancelProp]);\n\n const swipingBackTransitionEndHandler = React.useCallback(() => {\n switch (swipeBackResult) {\n case 'fail':\n onSwipeBackCancel();\n break;\n case 'success':\n onSwipeBackSuccess();\n }\n }, [onSwipeBackCancel, onSwipeBackSuccess, swipeBackResult]);\n\n const handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext = (event: TouchEvent) => {\n if (browserSwipe) {\n return;\n }\n const { swipeBackTriggered, viewportStartEdgeTouched, viewportEndEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, window!.innerWidth);\n\n if ((viewportStartEdgeTouched || viewportEndEdgeTouched) && swipeBackTriggered) {\n setBrowserSwipe(true);\n }\n };\n\n const handleTouchMoveXForIOSSwipeBackSimulation = (event: TouchEvent) => {\n if (swipeBackPrevented.current || swipeBackExcluded(event)) {\n return;\n }\n\n const { swipedToOpposite, swipeBackTriggered, viewportStartEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, window!.innerWidth);\n\n if (animated && swipeBackTriggered) {\n return;\n }\n\n if (!swipingBack && history && history.length > 1) {\n if (swipedToOpposite) {\n swipeBackPrevented.current = true;\n return;\n }\n\n if (!swipeBackTriggered) {\n return;\n }\n\n if (\n !viewportStartEdgeTouched &&\n hasHorizontalScrollableElementWithScrolledToLeft(event.originalEvent.target as HTMLElement)\n ) {\n swipeBackPrevented.current = true;\n return;\n }\n // Начался свайп назад\n if (onSwipeBackStart) {\n const payload = onSwipeBackStart(activePanel);\n if (payload === 'prevent') {\n swipeBackPrevented.current = true;\n return;\n }\n }\n\n if (activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n blurActiveElement(document);\n scrolls.current[activePanel] = scroll?.getScroll().y;\n }\n\n setSwipingBack(true);\n setSwipeBackStartX(event.startX);\n setSwipeBackPrevPanel(activePanel);\n setSwipeBackNextPanel(history.slice(-2)[0]);\n }\n\n if (swipingBack) {\n if (event.shiftX < 0) {\n setSwipeBackShift(0);\n } else if (event.shiftX > window!.innerWidth - swipeBackStartX) {\n setSwipeBackShift(window!.innerWidth);\n } else {\n setSwipeBackShift(event.shiftX);\n }\n }\n };\n\n const handleTouchEndForIOSSwipeBackSimulation = (event: TouchEvent) => {\n swipeBackPrevented.current = false;\n if (swipingBack) {\n const speed = (swipeBackShift / event.duration) * 1000;\n if (swipeBackShift === 0) {\n onSwipeBackCancel();\n } else if (swipeBackShift >= (window!.innerWidth ?? 0)) {\n onSwipeBackSuccess();\n } else if (speed > 250 || swipeBackShift >= window!.innerWidth / 2) {\n setSwipeBackResult('success');\n } else {\n setSwipeBackResult('fail');\n }\n }\n };\n\n const calcPanelSwipeStyles = (panelId: string | undefined): React.CSSProperties => {\n if (!canUseDOM || !window) {\n return {};\n }\n\n const isPrev = panelId === swipeBackPrevPanel;\n const isNext = panelId === swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${swipeBackShift}px`;\n let nextPanelTranslate = `${-50 + (swipeBackShift * 100) / window.innerWidth / 2}%`;\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n };\n }\n\n return {};\n };\n\n const calcPanelSwipeBackOverlayStyles = (panelId?: string): React.CSSProperties => {\n if (!canUseDOM || !window) {\n return {};\n }\n\n const isNext = panelId === swipeBackNextPanel;\n if (!isNext) {\n return {};\n }\n\n const calculatedOpacity = 1 - swipeBackShift / window.innerWidth;\n const opacityOnSwipeEnd =\n swipeBackResult === 'success' ? 0 : swipeBackResult === 'fail' ? 1 : null;\n\n return {\n display: 'block',\n opacity: opacityOnSwipeEnd === null ? calculatedOpacity : opacityOnSwipeEnd,\n };\n };\n\n const onTransitionEnd = (event: React.TransitionEvent<HTMLDivElement>) => {\n if (event.propertyName.includes('transform')) {\n swipingBackTransitionEndHandler();\n }\n };\n\n React.useEffect(() => {\n // Нужен переход\n if (\n prevActivePanel &&\n prevActivePanel !== activePanelProp &&\n !prevSwipingBack &&\n !prevBrowserSwipe\n ) {\n const firstLayerId = (React.Children.toArray(children) as React.ReactElement[])\n .map((panel) => getNavId(panel.props, warn))\n .find((id) => id === prevActivePanel || id === activePanelProp);\n\n const isBackTransition = firstLayerId === activePanelProp;\n scrolls.current[prevActivePanel] = scroll?.getScroll({ compensateKeyboardHeight: false }).y;\n\n if (disableAnimation) {\n flushTransition(prevActivePanel, isBackTransition);\n } else {\n blurActiveElement(document);\n\n setVisiblePanels([prevActivePanel, activePanelProp]);\n setPrevPanel(prevActivePanel);\n setNextPanel(activePanelProp);\n setActivePanel(null);\n setAnimated(true);\n setIsBack(isBackTransition);\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevActivePanel && prevActivePanel !== activePanelProp && prevSwipingBack) {\n const nextPanel = activePanelProp;\n const prevPanel = prevActivePanel;\n if (prevSwipeBackPrevPanel) {\n scrolls.current[prevSwipeBackPrevPanel] = 0;\n }\n\n setSwipeBackPrevPanel(null);\n setSwipeBackNextPanel(null);\n setSwipingBack(false);\n setSwipeBackResult(null);\n setSwipeBackStartX(0);\n setSwipeBackShift(0);\n setActivePanel(nextPanel);\n setVisiblePanels([nextPanel]);\n setIsBack(true);\n\n layoutEffectCall(() => {\n if (nextPanel !== null) {\n scroll?.scrollTo(0, scrolls.current[nextPanel]);\n }\n prevOnTransition &&\n prevOnTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n });\n }\n\n // Началась анимация завершения свайпа назад.\n // см. `onTransitionEnd()`\n\n // Закончился Safari свайп\n if (prevActivePanel !== activePanelProp && browserSwipe) {\n setBrowserSwipe(false);\n setNextPanel(null);\n setPrevPanel(null);\n setAnimated(false);\n setVisiblePanels([activePanelProp]);\n setActivePanel(activePanelProp);\n }\n }, [\n activePanelProp,\n activePanel,\n browserSwipe,\n children,\n disableAnimation,\n document,\n flushTransition,\n prevActivePanel,\n prevBrowserSwipe,\n prevOnTransition,\n prevSwipeBackPrevPanel,\n prevSwipeBackResult,\n prevSwipingBack,\n scroll,\n swipeBackNextPanel,\n swipeBackResult,\n layoutEffectCall,\n ]);\n\n React.useEffect(\n function restoreScrollPositionWhenSwipeBackIsCancelled() {\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n const swipeBackCancelledInTheMiddleOfAction =\n prevSwipeBackResult === 'fail' && !swipeBackResult;\n const swipeBackCancelledByMovingPanelBackToInitialPoint =\n prevSwipingBack && !swipingBack && prevSwipeBackShift === 0;\n\n if (\n (swipeBackCancelledInTheMiddleOfAction ||\n swipeBackCancelledByMovingPanelBackToInitialPoint) &&\n activePanel !== null\n ) {\n scroll?.scrollTo(0, scrolls.current[activePanel]);\n }\n },\n [\n prevSwipeBackResult,\n swipeBackResult,\n prevSwipingBack,\n swipingBack,\n prevSwipeBackShift,\n activePanel,\n scroll,\n ],\n );\n\n return (\n <NavViewIdContext.Provider value={id}>\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles['View'],\n platform === 'ios' && classNames(styles['View--ios'], 'vkuiInternalView--ios'),\n !disableAnimation && animated && styles['View--animated'],\n !disableAnimation && swipingBack && styles['View--swiping-back'],\n disableAnimation && styles['View--no-motion'],\n className,\n )}\n onMoveX={\n iOSSwipeBackSimulationEnabled\n ? handleTouchMoveXForIOSSwipeBackSimulation\n : platform === 'ios'\n ? handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext\n : undefined\n }\n onEnd={iOSSwipeBackSimulationEnabled ? handleTouchEndForIOSSwipeBackSimulation : undefined}\n >\n <div className={styles['View__panels']}>\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n\n const isPanelActive = panelId === activePanel;\n const isPanelPrev = panelId === prevPanel;\n const isPanelNext = panelId === nextPanel;\n const isAnimatedTarget = animated && (isBack ? isPanelPrev : isPanelNext);\n\n const isSwipeBackPrev = panelId === swipeBackPrevPanel;\n const isSwipeBackNext = panelId === swipeBackNextPanel;\n const isSwipeBackTarget = !prevSwipeBackResult && swipeBackResult && isSwipeBackNext;\n\n let scrollCompensateStyle: React.CSSProperties | undefined = undefined;\n\n if (isPanelPrev || (isPanelNext && isBack) || isSwipeBackPrev || isSwipeBackNext) {\n const marginTop = scrolls.current[panelId];\n if (marginTop !== undefined) {\n scrollCompensateStyle = { marginTop: -1 * marginTop };\n }\n }\n\n return (\n <div\n className={classNames(\n styles['View__panel'],\n\n isPanelActive && styles['View__panel--active'],\n isPanelPrev && styles['View__panel--prev'],\n isPanelNext && styles['View__panel--next'],\n\n isSwipeBackPrev && styles['View__panel--swipe-back-prev'],\n isSwipeBackNext && styles['View__panel--swipe-back-next'],\n swipeBackResult === 'success' && styles['View__panel--swipe-back-success'],\n swipeBackResult === 'fail' && styles['View__panel--swipe-back-failed'],\n )}\n onTransitionEnd={isSwipeBackTarget ? onTransitionEnd : undefined}\n onAnimationEnd={isAnimatedTarget ? onAnimationEnd : undefined}\n ref={(el) => panelId !== undefined && (panelNodes.current[panelId] = el)}\n style={calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n {platform === 'ios' && (\n <div\n className={styles['View__panel-overlay']}\n style={calcPanelSwipeBackOverlayStyles(panelId)}\n />\n )}\n <div className={styles['View__panel-in']} style={scrollCompensateStyle}>\n <NavTransitionDirectionProvider isBack={swipingBack || isBack}>\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n </NavViewIdContext.Provider>\n );\n};\n"],"names":["React","classNames","usePlatform","usePrevious","blurActiveElement","canUseDOM","useDOM","getNavId","warnOnce","useScroll","useConfigProvider","NavViewIdContext","NavTransitionProvider","NavTransitionDirectionProvider","useSplitCol","Touch","useLayoutEffectCall","getSwipeBackPredicates","hasHorizontalScrollableElementWithScrolledToLeft","swipeBackExcluded","styles","scrollsCache","warn","View","activePanel","activePanelProp","history","nav","onTransition","onSwipeBack","onSwipeBackStart","onSwipeBackCancel","onSwipeBackCancelProp","children","className","restProps","id","scrolls","useRef","layoutEffectCall","useEffect","current","panelNodes","window","document","scroll","configProvider","splitCol","platform","animated","setAnimated","useState","visiblePanels","setVisiblePanels","setActivePanel","isBack","setIsBack","undefined","prevPanel","setPrevPanel","nextPanel","setNextPanel","swipeBackPrevented","swipingBack","setSwipingBack","swipeBackStartX","setSwipeBackStartX","swipeBackShift","setSwipeBackShift","swipeBackNextPanel","setSwipeBackNextPanel","swipeBackPrevPanel","setSwipeBackPrevPanel","swipeBackResult","setSwipeBackResult","browserSwipe","setBrowserSwipe","prevActivePanel","prevSwipingBack","prevBrowserSwipe","prevSwipeBackResult","prevSwipeBackShift","prevSwipeBackPrevPanel","prevOnTransition","panels","Children","toArray","filter","panel","panelId","props","includes","disableAnimation","transitionMotionEnabled","animate","iOSSwipeBackSimulationEnabled","isWebView","Boolean","flushTransition","useCallback","isBackTransition","scrollTo","from","to","onAnimationEnd","onSwipeBackSuccess","swipingBackTransitionEndHandler","handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext","event","swipeBackTriggered","viewportStartEdgeTouched","viewportEndEdgeTouched","startX","shiftX","innerWidth","handleTouchMoveXForIOSSwipeBackSimulation","swipedToOpposite","length","originalEvent","target","payload","getScroll","y","slice","handleTouchEndForIOSSwipeBackSimulation","speed","duration","calcPanelSwipeStyles","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","transform","WebkitTransform","calcPanelSwipeBackOverlayStyles","calculatedOpacity","opacityOnSwipeEnd","display","opacity","onTransitionEnd","propertyName","firstLayerId","map","find","compensateKeyboardHeight","restoreScrollPositionWhenSwipeBackIsCancelled","swipeBackCancelledInTheMiddleOfAction","swipeBackCancelledByMovingPanelBackToInitialPoint","Provider","value","Component","onMoveX","onEnd","div","isPanelActive","isPanelPrev","isPanelNext","isAnimatedTarget","isSwipeBackPrev","isSwipeBackNext","isSwipeBackTarget","scrollCompensateStyle","marginTop","ref","el","style","entering"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/View/View.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { blurActiveElement, canUseDOM, useDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { useScroll } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavViewIdContext } from '../NavIdContext/NavIdContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { useSplitCol } from '../SplitCol/SplitColContext';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { useLayoutEffectCall } from './useLayoutEffectCall';\nimport {\n getSwipeBackPredicates,\n hasHorizontalScrollableElementWithScrolledToLeft,\n swipeBackExcluded,\n} from './utils';\nimport styles from './View.module.css';\n\ninterface Scrolls {\n [index: string]: number | undefined;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport interface ViewProps extends HTMLAttributesWithRootRef<HTMLElement>, NavIdProps {\n activePanel: string;\n onTransition?: (params: { isBack: boolean; from: string; to: string }) => void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?: () => void;\n /**\n * callback начала анимации свайпа назад.\n *\n * Чтобы остановить свайп назад, возвращайте `\"prevent\"`.\n */\n onSwipeBackStart?: (activePanel: string | null) => void | 'prevent';\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?: () => void;\n history?: string[];\n\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nconst warn = warnOnce('View');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/View\n */\nexport const View = ({\n activePanel: activePanelProp,\n history,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel: onSwipeBackCancelProp,\n children,\n className,\n ...restProps\n}: ViewProps): React.ReactNode => {\n const id = getNavId({ nav, id: restProps.id });\n const scrolls = React.useRef(scrollsCache[id as string] || {});\n const layoutEffectCall = useLayoutEffectCall();\n\n React.useEffect(() => () => {\n if (id) {\n scrollsCache[id] = scrolls.current;\n }\n });\n\n const panelNodes = React.useRef<{ [id: string]: HTMLDivElement | null }>({});\n\n const { window, document } = useDOM();\n const scroll = useScroll();\n const configProvider = useConfigProvider();\n const splitCol = useSplitCol();\n const platform = usePlatform();\n\n const [animated, setAnimated] = React.useState(false);\n\n const [visiblePanels, setVisiblePanels] = React.useState([activePanelProp]);\n const [activePanel, setActivePanel] = React.useState<string | null>(activePanelProp);\n const [isBack, setIsBack] = React.useState<boolean | undefined>(undefined);\n const [prevPanel, setPrevPanel] = React.useState<string | null>(null);\n const [nextPanel, setNextPanel] = React.useState<string | null>(null);\n\n const swipeBackPrevented = React.useRef<boolean>(false);\n const [swipingBack, setSwipingBack] = React.useState<boolean | undefined>(undefined);\n const [swipeBackStartX, setSwipeBackStartX] = React.useState<number>(0);\n const [swipeBackShift, setSwipeBackShift] = React.useState<number>(0);\n const [swipeBackNextPanel, setSwipeBackNextPanel] = React.useState<string | null>(null);\n const [swipeBackPrevPanel, setSwipeBackPrevPanel] = React.useState<string | null>(null);\n const [swipeBackResult, setSwipeBackResult] = React.useState<'success' | 'fail' | null>(null);\n\n const [browserSwipe, setBrowserSwipe] = React.useState(false);\n\n const prevActivePanel = usePrevious(activePanelProp);\n const prevSwipingBack = usePrevious(swipingBack);\n const prevBrowserSwipe = usePrevious(browserSwipe);\n const prevSwipeBackResult = usePrevious(swipeBackResult);\n const prevSwipeBackShift = usePrevious(swipeBackShift);\n const prevSwipeBackPrevPanel = usePrevious(swipeBackPrevPanel);\n const prevOnTransition = usePrevious(onTransition);\n\n const panels = (React.Children.toArray(children) as React.ReactElement[]).filter(\n (panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n },\n );\n\n const disableAnimation =\n !configProvider.transitionMotionEnabled || !splitCol.animate || platform === 'vkcom';\n const iOSSwipeBackSimulationEnabled =\n !disableAnimation && platform === 'ios' && configProvider.isWebView && Boolean(onSwipeBack);\n\n const flushTransition = React.useCallback(\n (prevPanel: string, isBackTransition: boolean) => {\n if (isBackTransition) {\n scrolls.current[prevPanel] = 0;\n }\n setPrevPanel(null);\n setNextPanel(null);\n setVisiblePanels([activePanelProp]);\n setActivePanel(activePanelProp);\n setAnimated(false);\n setIsBack(isBackTransition);\n\n layoutEffectCall(() => {\n scroll?.scrollTo(0, isBackTransition ? scrolls.current[activePanelProp] : 0);\n onTransition &&\n onTransition({\n isBack: isBackTransition,\n from: prevPanel,\n to: activePanelProp,\n });\n });\n },\n [activePanelProp, layoutEffectCall, onTransition, scroll],\n );\n\n const onAnimationEnd = React.useCallback(() => {\n if (prevPanel !== null) {\n flushTransition(prevPanel, Boolean(isBack));\n }\n }, [flushTransition, isBack, prevPanel]);\n\n const onSwipeBackSuccess = React.useCallback(() => {\n onSwipeBack && onSwipeBack();\n }, [onSwipeBack]);\n\n const onSwipeBackCancel = React.useCallback(() => {\n onSwipeBackCancelProp && onSwipeBackCancelProp();\n setSwipeBackPrevPanel(null);\n setSwipeBackNextPanel(null);\n setSwipingBack(false);\n setSwipeBackResult(null);\n setSwipeBackStartX(0);\n setSwipeBackShift(0);\n }, [onSwipeBackCancelProp]);\n\n const swipingBackTransitionEndHandler = React.useCallback(() => {\n switch (swipeBackResult) {\n case 'fail':\n onSwipeBackCancel();\n break;\n case 'success':\n onSwipeBackSuccess();\n }\n }, [onSwipeBackCancel, onSwipeBackSuccess, swipeBackResult]);\n\n const handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext = (event: TouchEvent) => {\n if (browserSwipe) {\n return;\n }\n const { swipeBackTriggered, viewportStartEdgeTouched, viewportEndEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, window!.innerWidth);\n\n if ((viewportStartEdgeTouched || viewportEndEdgeTouched) && swipeBackTriggered) {\n setBrowserSwipe(true);\n }\n };\n\n const handleTouchMoveXForIOSSwipeBackSimulation = (event: TouchEvent) => {\n if (swipeBackPrevented.current || swipeBackExcluded(event)) {\n return;\n }\n\n const { swipedToOpposite, swipeBackTriggered, viewportStartEdgeTouched } =\n getSwipeBackPredicates(event.startX, event.shiftX, window!.innerWidth);\n\n if (animated && swipeBackTriggered) {\n return;\n }\n\n if (!swipingBack && history && history.length > 1) {\n if (swipedToOpposite) {\n swipeBackPrevented.current = true;\n return;\n }\n\n if (!swipeBackTriggered) {\n return;\n }\n\n if (\n !viewportStartEdgeTouched &&\n hasHorizontalScrollableElementWithScrolledToLeft(event.originalEvent.target as HTMLElement)\n ) {\n swipeBackPrevented.current = true;\n return;\n }\n // Начался свайп назад\n if (onSwipeBackStart) {\n const payload = onSwipeBackStart(activePanel);\n if (payload === 'prevent') {\n swipeBackPrevented.current = true;\n return;\n }\n }\n\n if (activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n blurActiveElement(document);\n scrolls.current[activePanel] = scroll?.getScroll().y;\n }\n\n setSwipingBack(true);\n setSwipeBackStartX(event.startX);\n setSwipeBackPrevPanel(activePanel);\n setSwipeBackNextPanel(history.slice(-2)[0]);\n }\n\n if (swipingBack) {\n if (event.shiftX < 0) {\n setSwipeBackShift(0);\n } else if (event.shiftX > window!.innerWidth - swipeBackStartX) {\n setSwipeBackShift(window!.innerWidth);\n } else {\n setSwipeBackShift(event.shiftX);\n }\n }\n };\n\n const handleTouchEndForIOSSwipeBackSimulation = (event: TouchEvent) => {\n swipeBackPrevented.current = false;\n if (swipingBack) {\n const speed = (swipeBackShift / event.duration) * 1000;\n if (swipeBackShift === 0) {\n onSwipeBackCancel();\n } else if (swipeBackShift >= (window!.innerWidth ?? 0)) {\n onSwipeBackSuccess();\n } else if (speed > 250 || swipeBackShift >= window!.innerWidth / 2) {\n setSwipeBackResult('success');\n } else {\n setSwipeBackResult('fail');\n }\n }\n };\n\n const calcPanelSwipeStyles = (panelId: string | undefined): React.CSSProperties => {\n if (!canUseDOM || !window) {\n return {};\n }\n\n const isPrev = panelId === swipeBackPrevPanel;\n const isNext = panelId === swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${swipeBackShift}px`;\n let nextPanelTranslate = `${-50 + (swipeBackShift * 100) / window.innerWidth / 2}%`;\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n };\n }\n\n return {};\n };\n\n const calcPanelSwipeBackOverlayStyles = (panelId?: string): React.CSSProperties => {\n if (!canUseDOM || !window) {\n return {};\n }\n\n const isNext = panelId === swipeBackNextPanel;\n if (!isNext) {\n return {};\n }\n\n const calculatedOpacity = 1 - swipeBackShift / window.innerWidth;\n const opacityOnSwipeEnd =\n swipeBackResult === 'success' ? 0 : swipeBackResult === 'fail' ? 1 : null;\n\n return {\n display: 'block',\n opacity: opacityOnSwipeEnd === null ? calculatedOpacity : opacityOnSwipeEnd,\n };\n };\n\n const onTransitionEnd = (event: React.TransitionEvent<HTMLDivElement>) => {\n if (event.propertyName.includes('transform')) {\n swipingBackTransitionEndHandler();\n }\n };\n\n React.useEffect(() => {\n // Нужен переход\n if (\n prevActivePanel &&\n prevActivePanel !== activePanelProp &&\n !prevSwipingBack &&\n !prevBrowserSwipe\n ) {\n const firstLayerId = (React.Children.toArray(children) as React.ReactElement[])\n .map((panel) => getNavId(panel.props, warn))\n .find((id) => id === prevActivePanel || id === activePanelProp);\n\n const isBackTransition = firstLayerId === activePanelProp;\n scrolls.current[prevActivePanel] = scroll?.getScroll({ compensateKeyboardHeight: false }).y;\n\n if (disableAnimation) {\n flushTransition(prevActivePanel, isBackTransition);\n } else {\n blurActiveElement(document);\n\n setVisiblePanels([prevActivePanel, activePanelProp]);\n setPrevPanel(prevActivePanel);\n setNextPanel(activePanelProp);\n setActivePanel(null);\n setAnimated(true);\n setIsBack(isBackTransition);\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevActivePanel && prevActivePanel !== activePanelProp && prevSwipingBack) {\n const nextPanel = activePanelProp;\n const prevPanel = prevActivePanel;\n if (prevSwipeBackPrevPanel) {\n scrolls.current[prevSwipeBackPrevPanel] = 0;\n }\n\n setSwipeBackPrevPanel(null);\n setSwipeBackNextPanel(null);\n setSwipingBack(false);\n setSwipeBackResult(null);\n setSwipeBackStartX(0);\n setSwipeBackShift(0);\n setActivePanel(nextPanel);\n setVisiblePanels([nextPanel]);\n setIsBack(true);\n\n layoutEffectCall(() => {\n if (nextPanel !== null) {\n scroll?.scrollTo(0, scrolls.current[nextPanel]);\n }\n prevOnTransition &&\n prevOnTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n });\n }\n\n // Началась анимация завершения свайпа назад.\n // см. `onTransitionEnd()`\n\n // Закончился Safari свайп\n if (prevActivePanel !== activePanelProp && browserSwipe) {\n setBrowserSwipe(false);\n setNextPanel(null);\n setPrevPanel(null);\n setAnimated(false);\n setVisiblePanels([activePanelProp]);\n setActivePanel(activePanelProp);\n }\n }, [\n activePanelProp,\n activePanel,\n browserSwipe,\n children,\n disableAnimation,\n document,\n flushTransition,\n prevActivePanel,\n prevBrowserSwipe,\n prevOnTransition,\n prevSwipeBackPrevPanel,\n prevSwipeBackResult,\n prevSwipingBack,\n scroll,\n swipeBackNextPanel,\n swipeBackResult,\n layoutEffectCall,\n ]);\n\n React.useEffect(\n function restoreScrollPositionWhenSwipeBackIsCancelled() {\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n const swipeBackCancelledInTheMiddleOfAction =\n prevSwipeBackResult === 'fail' && !swipeBackResult;\n const swipeBackCancelledByMovingPanelBackToInitialPoint =\n prevSwipingBack && !swipingBack && prevSwipeBackShift === 0;\n\n if (\n (swipeBackCancelledInTheMiddleOfAction ||\n swipeBackCancelledByMovingPanelBackToInitialPoint) &&\n activePanel !== null\n ) {\n scroll?.scrollTo(0, scrolls.current[activePanel]);\n }\n },\n [\n prevSwipeBackResult,\n swipeBackResult,\n prevSwipingBack,\n swipingBack,\n prevSwipeBackShift,\n activePanel,\n scroll,\n ],\n );\n\n return (\n <NavViewIdContext.Provider value={id}>\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles['View'],\n platform === 'ios' && classNames(styles['View--ios'], 'vkuiInternalView--ios'),\n !disableAnimation && animated && styles['View--animated'],\n !disableAnimation && swipingBack && styles['View--swiping-back'],\n disableAnimation && styles['View--no-motion'],\n className,\n )}\n onMoveX={\n iOSSwipeBackSimulationEnabled\n ? handleTouchMoveXForIOSSwipeBackSimulation\n : platform === 'ios'\n ? handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext\n : undefined\n }\n onEnd={iOSSwipeBackSimulationEnabled ? handleTouchEndForIOSSwipeBackSimulation : undefined}\n >\n <div className={styles['View__panels']}>\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n\n const isPanelActive = panelId === activePanel;\n const isPanelPrev = panelId === prevPanel;\n const isPanelNext = panelId === nextPanel;\n const isAnimatedTarget = animated && (isBack ? isPanelPrev : isPanelNext);\n\n const isSwipeBackPrev = panelId === swipeBackPrevPanel;\n const isSwipeBackNext = panelId === swipeBackNextPanel;\n const isSwipeBackTarget = !prevSwipeBackResult && swipeBackResult && isSwipeBackNext;\n\n let scrollCompensateStyle: React.CSSProperties | undefined = undefined;\n\n if (isPanelPrev || (isPanelNext && isBack) || isSwipeBackPrev || isSwipeBackNext) {\n const marginTop = scrolls.current[panelId];\n if (marginTop !== undefined) {\n scrollCompensateStyle = { marginTop: -1 * marginTop };\n }\n }\n\n return (\n <div\n className={classNames(\n styles['View__panel'],\n\n isPanelActive && styles['View__panel--active'],\n isPanelPrev && styles['View__panel--prev'],\n isPanelNext && styles['View__panel--next'],\n\n isSwipeBackPrev && styles['View__panel--swipe-back-prev'],\n isSwipeBackNext && styles['View__panel--swipe-back-next'],\n swipeBackResult === 'success' && styles['View__panel--swipe-back-success'],\n swipeBackResult === 'fail' && styles['View__panel--swipe-back-failed'],\n )}\n onTransitionEnd={isSwipeBackTarget ? onTransitionEnd : undefined}\n onAnimationEnd={isAnimatedTarget ? onAnimationEnd : undefined}\n ref={(el) => panelId !== undefined && (panelNodes.current[panelId] = el)}\n style={calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n {platform === 'ios' && (\n <div\n className={styles['View__panel-overlay']}\n style={calcPanelSwipeBackOverlayStyles(panelId)}\n />\n )}\n <div className={styles['View__panel-in']} style={scrollCompensateStyle}>\n <NavTransitionDirectionProvider isBack={swipingBack || isBack}>\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n </NavViewIdContext.Provider>\n );\n};\n"],"names":["React","classNames","usePlatform","usePrevious","blurActiveElement","canUseDOM","useDOM","getNavId","warnOnce","useScroll","useConfigProvider","NavViewIdContext","NavTransitionProvider","NavTransitionDirectionProvider","useSplitCol","Touch","useLayoutEffectCall","getSwipeBackPredicates","hasHorizontalScrollableElementWithScrolledToLeft","swipeBackExcluded","styles","scrollsCache","warn","View","activePanel","activePanelProp","history","nav","onTransition","onSwipeBack","onSwipeBackStart","onSwipeBackCancel","onSwipeBackCancelProp","children","className","restProps","id","scrolls","useRef","layoutEffectCall","useEffect","current","panelNodes","window","document","scroll","configProvider","splitCol","platform","animated","setAnimated","useState","visiblePanels","setVisiblePanels","setActivePanel","isBack","setIsBack","undefined","prevPanel","setPrevPanel","nextPanel","setNextPanel","swipeBackPrevented","swipingBack","setSwipingBack","swipeBackStartX","setSwipeBackStartX","swipeBackShift","setSwipeBackShift","swipeBackNextPanel","setSwipeBackNextPanel","swipeBackPrevPanel","setSwipeBackPrevPanel","swipeBackResult","setSwipeBackResult","browserSwipe","setBrowserSwipe","prevActivePanel","prevSwipingBack","prevBrowserSwipe","prevSwipeBackResult","prevSwipeBackShift","prevSwipeBackPrevPanel","prevOnTransition","panels","Children","toArray","filter","panel","panelId","props","includes","disableAnimation","transitionMotionEnabled","animate","iOSSwipeBackSimulationEnabled","isWebView","Boolean","flushTransition","useCallback","isBackTransition","scrollTo","from","to","onAnimationEnd","onSwipeBackSuccess","swipingBackTransitionEndHandler","handleTouchMoveXForNativeIOSSwipeBackOrSwipeNext","event","swipeBackTriggered","viewportStartEdgeTouched","viewportEndEdgeTouched","startX","shiftX","innerWidth","handleTouchMoveXForIOSSwipeBackSimulation","swipedToOpposite","length","originalEvent","target","payload","getScroll","y","slice","handleTouchEndForIOSSwipeBackSimulation","speed","duration","calcPanelSwipeStyles","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","transform","calcPanelSwipeBackOverlayStyles","calculatedOpacity","opacityOnSwipeEnd","display","opacity","onTransitionEnd","propertyName","firstLayerId","map","find","compensateKeyboardHeight","restoreScrollPositionWhenSwipeBackIsCancelled","swipeBackCancelledInTheMiddleOfAction","swipeBackCancelledByMovingPanelBackToInitialPoint","Provider","value","Component","onMoveX","onEnd","div","isPanelActive","isPanelPrev","isPanelNext","isAnimatedTarget","isSwipeBackPrev","isSwipeBackNext","isSwipeBackTarget","scrollCompensateStyle","marginTop","ref","el","style","entering"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewInfinite.d.ts","sourceRoot":"","sources":["../../../../src/components/View/ViewInfinite.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAiB,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAEL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAIjD,OAAO,EAAmB,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAWpF,UAAU,OAAO;IACf,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5C;AAED,UAAU,YAAY;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAID,eAAO,IAAI,YAAY,EAAE,YAAiB,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE1E,MAAM,WAAW,iBACf,SAAQ,yBAAyB,CAAC,WAAW,CAAC,EAC5C,WAAW,EACX,UAAU;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,SAAS,CAAC;IACpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;OAEG;IACH,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD;;OAEG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IAE3C,YAAY,EAAE,OAAO,CAAC;CACvB;AAskBD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAYpD,CAAC"}
1
+ {"version":3,"file":"ViewInfinite.d.ts","sourceRoot":"","sources":["../../../../src/components/View/ViewInfinite.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAiB,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAEL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAIjD,OAAO,EAAmB,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAWpF,UAAU,OAAO;IACf,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5C;AAED,UAAU,YAAY;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAID,eAAO,IAAI,YAAY,EAAE,YAAiB,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE1E,MAAM,WAAW,iBACf,SAAQ,yBAAyB,CAAC,WAAW,CAAC,EAC5C,WAAW,EACX,UAAU;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,SAAS,CAAC;IACpE;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;OAEG;IACH,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD;;OAEG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IAE3C,YAAY,EAAE,OAAO,CAAC;CACvB;AAokBD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAYpD,CAAC"}
@@ -389,14 +389,12 @@ class ViewInfiniteComponent extends React.Component {
389
389
  }
390
390
  if (isNext) {
391
391
  return {
392
- transform: `translate3d(${nextPanelTranslate}, 0, 0)`,
393
- WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`
392
+ transform: `translate3d(${nextPanelTranslate}, 0, 0)`
394
393
  };
395
394
  }
396
395
  if (isPrev) {
397
396
  return {
398
397
  transform: `translate3d(${prevPanelTranslate}, 0, 0)`,
399
- WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`,
400
398
  boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`
401
399
  };
402
400
  }