@vkontakte/vkui 4.28.1 → 4.30.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 (1159) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +5185 -9812
  4. package/.cache/ts/src/components/Alert/Alert.d.ts +4 -1
  5. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +6 -14
  6. package/.cache/ts/src/components/Button/Button.d.ts +1 -2
  7. package/.cache/ts/src/components/Calendar/Calendar.d.ts +10 -1
  8. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +6 -0
  9. package/.cache/ts/src/components/Cell/Cell.d.ts +1 -1
  10. package/.cache/ts/src/components/ChipsInput/ChipsInput.d.ts +1 -2
  11. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  12. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  13. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +2 -2
  14. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  15. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  16. package/.cache/ts/src/components/FormField/FormField.d.ts +15 -1
  17. package/.cache/ts/src/components/Gallery/Gallery.d.ts +9 -1
  18. package/.cache/ts/src/components/GridAvatar/GridAvatar.d.ts +1 -0
  19. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  20. package/.cache/ts/src/components/Input/Input.d.ts +1 -2
  21. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  22. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  23. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +16 -1
  24. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +14 -2
  25. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  26. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  27. package/.cache/ts/src/components/ModalRoot/types.d.ts +16 -1
  28. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +6 -5
  29. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -2
  30. package/.cache/ts/src/components/Pagination/Pagination.d.ts +3 -3
  31. package/.cache/ts/src/components/Select/Select.d.ts +1 -2
  32. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  33. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -1
  34. package/.cache/ts/src/components/Touch/TouchContext.d.ts +1 -1
  35. package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  36. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +1 -2
  37. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -2
  38. package/.cache/ts/src/hooks/useBridgeAdaptivity.d.ts +6 -0
  39. package/.cache/ts/src/hooks/useCalendar.d.ts +4 -3
  40. package/.cache/ts/src/hooks/useKeyboard.d.ts +1 -1
  41. package/.cache/ts/src/hooks/usePagination.d.ts +3 -3
  42. package/.cache/ts/src/index.d.ts +21 -10
  43. package/.cache/ts/src/lib/date.d.ts +29 -0
  44. package/.cache/ts/src/lib/getNavId.d.ts +2 -1
  45. package/.cache/ts/src/lib/warnOnce.d.ts +2 -1
  46. package/.cache/ts/src/testing/utils.d.ts +1 -0
  47. package/.cache/ts/src/tokenized/index.d.ts +22 -4
  48. package/.eslintrc.json +8 -2
  49. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -1
  50. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  51. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +2 -1
  52. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  53. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  54. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  55. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +7 -6
  56. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  57. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +44 -11
  58. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  59. package/dist/cjs/components/Alert/Alert.d.ts +4 -1
  60. package/dist/cjs/components/Alert/Alert.js +27 -8
  61. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  62. package/dist/cjs/components/AppRoot/AppRoot.js +20 -3
  63. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  64. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +6 -14
  65. package/dist/cjs/components/AppRoot/ScrollContext.js +94 -2
  66. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  67. package/dist/cjs/components/Avatar/Avatar.js +4 -1
  68. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  69. package/dist/cjs/components/Banner/Banner.js +5 -4
  70. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  71. package/dist/cjs/components/Button/Button.d.ts +1 -2
  72. package/dist/cjs/components/Button/Button.js +36 -41
  73. package/dist/cjs/components/Button/Button.js.map +1 -1
  74. package/dist/cjs/components/Calendar/Calendar.d.ts +10 -1
  75. package/dist/cjs/components/Calendar/Calendar.js +16 -9
  76. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  77. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -1
  78. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  79. package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -3
  80. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  81. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +6 -0
  82. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -15
  83. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  84. package/dist/cjs/components/CalendarRange/CalendarRange.js +12 -15
  85. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  86. package/dist/cjs/components/CalendarTime/CalendarTime.js +8 -10
  87. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  88. package/dist/cjs/components/CardScroll/CardScroll.js +3 -2
  89. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  90. package/dist/cjs/components/Cell/Cell.d.ts +1 -1
  91. package/dist/cjs/components/Cell/Cell.js +4 -3
  92. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  93. package/dist/cjs/components/CellButton/CellButton.js +1 -0
  94. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  95. package/dist/cjs/components/Chip/Chip.js +1 -0
  96. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  97. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -2
  98. package/dist/cjs/components/ChipsInput/ChipsInput.js +7 -10
  99. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  100. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  101. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +8 -12
  102. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  103. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +1 -1
  104. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  105. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +1 -1
  106. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  107. package/dist/cjs/components/ContentCard/ContentCard.js +4 -3
  108. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  109. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +2 -2
  110. package/dist/cjs/components/CustomSelect/CustomSelect.js +28 -34
  111. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  112. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  113. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  114. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  115. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +24 -14
  116. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  117. package/dist/cjs/components/DateInput/DateInput.d.ts +1 -1
  118. package/dist/cjs/components/DateInput/DateInput.js +15 -7
  119. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  120. package/dist/cjs/components/DatePicker/DatePicker.js +6 -6
  121. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  122. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +7 -7
  123. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  124. package/dist/cjs/components/Epic/Epic.js +1 -1
  125. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  126. package/dist/cjs/components/File/File.js +2 -2
  127. package/dist/cjs/components/File/File.js.map +1 -1
  128. package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
  129. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  130. package/dist/cjs/components/FormField/FormField.d.ts +15 -1
  131. package/dist/cjs/components/FormField/FormField.js +8 -8
  132. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  133. package/dist/cjs/components/FormItem/FormItem.js +4 -3
  134. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  135. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  136. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  137. package/dist/cjs/components/Gallery/Gallery.d.ts +9 -1
  138. package/dist/cjs/components/Gallery/Gallery.js +10 -2
  139. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  140. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +1 -0
  141. package/dist/cjs/components/GridAvatar/GridAvatar.js +6 -6
  142. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  143. package/dist/cjs/components/Group/Group.js +2 -1
  144. package/dist/cjs/components/Group/Group.js.map +1 -1
  145. package/dist/cjs/components/Header/Header.js +10 -7
  146. package/dist/cjs/components/Header/Header.js.map +1 -1
  147. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +2 -2
  148. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  149. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  150. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +34 -24
  151. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  152. package/dist/cjs/components/InfoRow/InfoRow.js +2 -2
  153. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  154. package/dist/cjs/components/Input/Input.d.ts +1 -2
  155. package/dist/cjs/components/Input/Input.js +13 -15
  156. package/dist/cjs/components/Input/Input.js.map +1 -1
  157. package/dist/cjs/components/List/List.js +1 -0
  158. package/dist/cjs/components/List/List.js.map +1 -1
  159. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +1 -0
  160. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  161. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  162. package/dist/cjs/components/ModalCard/ModalCard.js +1 -0
  163. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  164. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  165. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +10 -4
  166. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  167. package/dist/cjs/components/ModalPage/ModalPage.d.ts +16 -1
  168. package/dist/cjs/components/ModalPage/ModalPage.js +5 -1
  169. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  170. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +1 -0
  171. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  172. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +14 -2
  173. package/dist/cjs/components/ModalRoot/ModalRoot.js +14 -11
  174. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  175. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  176. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +3 -0
  177. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  178. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  179. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +10 -7
  180. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  181. package/dist/cjs/components/ModalRoot/types.d.ts +16 -1
  182. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  183. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +6 -5
  184. package/dist/cjs/components/ModalRoot/useModalManager.js +54 -16
  185. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  186. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -2
  187. package/dist/cjs/components/NativeSelect/NativeSelect.js +7 -8
  188. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  189. package/dist/cjs/components/Pagination/Pagination.d.ts +3 -3
  190. package/dist/cjs/components/Pagination/Pagination.js +3 -3
  191. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  192. package/dist/cjs/components/Panel/Panel.js +2 -1
  193. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  194. package/dist/cjs/components/PanelHeader/PanelHeader.js +4 -3
  195. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  196. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  197. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  198. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +5 -4
  199. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  200. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +5 -1
  201. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  202. package/dist/cjs/components/Placeholder/Placeholder.js +4 -3
  203. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  204. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -0
  205. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  206. package/dist/cjs/components/Popper/Popper.js +2 -2
  207. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  208. package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -2
  209. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  210. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
  211. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  212. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  213. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  214. package/dist/cjs/components/RichCell/RichCell.js +3 -2
  215. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  216. package/dist/cjs/components/RichTooltip/RichTooltip.js +2 -1
  217. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  218. package/dist/cjs/components/Root/Root.js +8 -7
  219. package/dist/cjs/components/Root/Root.js.map +1 -1
  220. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +3 -0
  221. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  222. package/dist/cjs/components/Search/Search.js +3 -2
  223. package/dist/cjs/components/Search/Search.js.map +1 -1
  224. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +19 -13
  225. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  226. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  227. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  228. package/dist/cjs/components/Select/Select.d.ts +1 -2
  229. package/dist/cjs/components/Select/Select.js +9 -11
  230. package/dist/cjs/components/Select/Select.js.map +1 -1
  231. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  232. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +5 -2
  233. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  234. package/dist/cjs/components/Separator/Separator.js +3 -1
  235. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  236. package/dist/cjs/components/SimpleCell/SimpleCell.js +5 -4
  237. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  238. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  239. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  240. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -0
  241. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  242. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +1 -0
  243. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  244. package/dist/cjs/components/Snackbar/Snackbar.js +3 -2
  245. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  246. package/dist/cjs/components/Spacing/Spacing.js +2 -1
  247. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  248. package/dist/cjs/components/SplitCol/SplitCol.js +2 -1
  249. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  250. package/dist/cjs/components/SplitLayout/SplitLayout.js +2 -1
  251. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  252. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +2 -2
  253. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  254. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +4 -3
  255. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  256. package/dist/cjs/components/Switch/Switch.js +1 -0
  257. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  258. package/dist/cjs/components/Tabbar/Tabbar.js +1 -0
  259. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  260. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -1
  261. package/dist/cjs/components/TabbarItem/TabbarItem.js +2 -1
  262. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  263. package/dist/cjs/components/TabsItem/TabsItem.js +3 -2
  264. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  265. package/dist/cjs/components/Tappable/Tappable.js +5 -4
  266. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  267. package/dist/cjs/components/TextTooltip/TextTooltip.js +3 -3
  268. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  269. package/dist/cjs/components/Tooltip/Tooltip.js +6 -6
  270. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  271. package/dist/cjs/components/Touch/Touch.js +9 -3
  272. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  273. package/dist/cjs/components/Touch/TouchContext.d.ts +1 -1
  274. package/dist/cjs/components/Touch/TouchContext.js +1 -1
  275. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  276. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  277. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +42 -0
  278. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -0
  279. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +1 -2
  280. package/dist/cjs/components/Typography/Subhead/Subhead.js +4 -6
  281. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  282. package/dist/cjs/components/Typography/Text/Text.js +1 -1
  283. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  284. package/dist/cjs/components/Typography/Title/Title.d.ts +1 -2
  285. package/dist/cjs/components/Typography/Title/Title.js +5 -11
  286. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  287. package/dist/cjs/components/UsersStack/UsersStack.js +3 -2
  288. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  289. package/dist/cjs/components/View/View.js +5 -0
  290. package/dist/cjs/components/View/View.js.map +1 -1
  291. package/dist/cjs/components/View/ViewInfinite.js +5 -0
  292. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  293. package/dist/cjs/components/View/utils.js +5 -2
  294. package/dist/cjs/components/View/utils.js.map +1 -1
  295. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -2
  296. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  297. package/dist/cjs/helpers/scheme.js +2 -2
  298. package/dist/cjs/helpers/scheme.js.map +1 -1
  299. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +6 -0
  300. package/dist/cjs/hooks/useBridgeAdaptivity.js +85 -0
  301. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -0
  302. package/dist/cjs/hooks/useCalendar.d.ts +4 -3
  303. package/dist/cjs/hooks/useCalendar.js +19 -10
  304. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  305. package/dist/cjs/hooks/useKeyboard.d.ts +1 -1
  306. package/dist/cjs/hooks/useKeyboard.js +1 -1
  307. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  308. package/dist/cjs/hooks/usePagination.d.ts +3 -3
  309. package/dist/cjs/hooks/usePagination.js +3 -3
  310. package/dist/cjs/hooks/usePagination.js.map +1 -1
  311. package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
  312. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  313. package/dist/cjs/hooks/useWaitTransitionFinish.js +6 -1
  314. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  315. package/dist/cjs/index.d.ts +21 -10
  316. package/dist/cjs/index.js +28 -20
  317. package/dist/cjs/index.js.map +1 -1
  318. package/dist/cjs/lib/calendar.js +12 -23
  319. package/dist/cjs/lib/calendar.js.map +1 -1
  320. package/dist/cjs/lib/date.d.ts +29 -0
  321. package/dist/cjs/lib/date.js +286 -0
  322. package/dist/cjs/lib/date.js.map +1 -0
  323. package/dist/cjs/lib/getNavId.d.ts +2 -1
  324. package/dist/cjs/lib/getNavId.js +1 -1
  325. package/dist/cjs/lib/getNavId.js.map +1 -1
  326. package/dist/cjs/lib/platform.js +29 -0
  327. package/dist/cjs/lib/platform.js.map +1 -1
  328. package/dist/cjs/lib/warnOnce.d.ts +2 -1
  329. package/dist/cjs/lib/warnOnce.js +3 -1
  330. package/dist/cjs/lib/warnOnce.js.map +1 -1
  331. package/dist/cjs/tokenized/index.d.ts +22 -4
  332. package/dist/cjs/tokenized/index.js +80 -10
  333. package/dist/cjs/tokenized/index.js.map +1 -1
  334. package/dist/components/ActionSheet/ActionSheet.js +3 -1
  335. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  336. package/dist/components/ActionSheet/ActionSheetDropdown.js +2 -1
  337. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  338. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  339. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  340. package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -3
  341. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  342. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  343. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  344. package/dist/components/Alert/Alert.d.ts +4 -1
  345. package/dist/components/Alert/Alert.js +22 -5
  346. package/dist/components/Alert/Alert.js.map +1 -1
  347. package/dist/components/AppRoot/AppRoot.js +19 -3
  348. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  349. package/dist/components/AppRoot/ScrollContext.d.ts +6 -14
  350. package/dist/components/AppRoot/ScrollContext.js +87 -1
  351. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  352. package/dist/components/Avatar/Avatar.js +4 -1
  353. package/dist/components/Avatar/Avatar.js.map +1 -1
  354. package/dist/components/Banner/Banner.js +3 -2
  355. package/dist/components/Banner/Banner.js.map +1 -1
  356. package/dist/components/Button/Button.d.ts +1 -2
  357. package/dist/components/Button/Button.js +29 -33
  358. package/dist/components/Button/Button.js.map +1 -1
  359. package/dist/components/Calendar/Calendar.d.ts +10 -1
  360. package/dist/components/Calendar/Calendar.js +14 -7
  361. package/dist/components/Calendar/Calendar.js.map +1 -1
  362. package/dist/components/CalendarDay/CalendarDay.js +4 -1
  363. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  364. package/dist/components/CalendarDays/CalendarDays.js +1 -1
  365. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  366. package/dist/components/CalendarHeader/CalendarHeader.d.ts +6 -0
  367. package/dist/components/CalendarHeader/CalendarHeader.js +8 -8
  368. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  369. package/dist/components/CalendarRange/CalendarRange.js +2 -5
  370. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  371. package/dist/components/CalendarTime/CalendarTime.js +3 -3
  372. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  373. package/dist/components/CardScroll/CardScroll.js +2 -1
  374. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  375. package/dist/components/Cell/Cell.d.ts +1 -1
  376. package/dist/components/Cell/Cell.js +4 -3
  377. package/dist/components/Cell/Cell.js.map +1 -1
  378. package/dist/components/CellButton/CellButton.js +1 -0
  379. package/dist/components/CellButton/CellButton.js.map +1 -1
  380. package/dist/components/Chip/Chip.js +1 -0
  381. package/dist/components/Chip/Chip.js.map +1 -1
  382. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -2
  383. package/dist/components/ChipsInput/ChipsInput.js +6 -11
  384. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  385. package/dist/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  386. package/dist/components/ChipsSelect/ChipsSelect.js +3 -6
  387. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  388. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  389. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  390. package/dist/components/ConfigProvider/ConfigProvider.js +1 -1
  391. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  392. package/dist/components/ContentCard/ContentCard.js +3 -2
  393. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  394. package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
  395. package/dist/components/CustomSelect/CustomSelect.js +24 -28
  396. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  397. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  398. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  399. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  400. package/dist/components/CustomSelectOption/CustomSelectOption.js +19 -15
  401. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  402. package/dist/components/DateInput/DateInput.d.ts +1 -1
  403. package/dist/components/DateInput/DateInput.js +13 -5
  404. package/dist/components/DateInput/DateInput.js.map +1 -1
  405. package/dist/components/DatePicker/DatePicker.js +2 -2
  406. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  407. package/dist/components/DateRangeInput/DateRangeInput.js +2 -2
  408. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  409. package/dist/components/Epic/Epic.js +1 -1
  410. package/dist/components/Epic/Epic.js.map +1 -1
  411. package/dist/components/File/File.js +1 -1
  412. package/dist/components/File/File.js.map +1 -1
  413. package/dist/components/FixedLayout/FixedLayout.js +2 -1
  414. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  415. package/dist/components/FormField/FormField.d.ts +15 -1
  416. package/dist/components/FormField/FormField.js +8 -8
  417. package/dist/components/FormField/FormField.js.map +1 -1
  418. package/dist/components/FormItem/FormItem.js +3 -2
  419. package/dist/components/FormItem/FormItem.js.map +1 -1
  420. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  421. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  422. package/dist/components/Gallery/Gallery.d.ts +9 -1
  423. package/dist/components/Gallery/Gallery.js +10 -2
  424. package/dist/components/Gallery/Gallery.js.map +1 -1
  425. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -0
  426. package/dist/components/GridAvatar/GridAvatar.js +5 -6
  427. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  428. package/dist/components/Group/Group.js +2 -1
  429. package/dist/components/Group/Group.js.map +1 -1
  430. package/dist/components/Header/Header.js +7 -4
  431. package/dist/components/Header/Header.js.map +1 -1
  432. package/dist/components/HorizontalCell/HorizontalCell.js +1 -1
  433. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  434. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  435. package/dist/components/HorizontalScroll/HorizontalScroll.js +32 -21
  436. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  437. package/dist/components/InfoRow/InfoRow.js +1 -1
  438. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  439. package/dist/components/Input/Input.d.ts +1 -2
  440. package/dist/components/Input/Input.js +10 -10
  441. package/dist/components/Input/Input.js.map +1 -1
  442. package/dist/components/List/List.js +1 -0
  443. package/dist/components/List/List.js.map +1 -1
  444. package/dist/components/MiniInfoCell/MiniInfoCell.js +1 -0
  445. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  446. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  447. package/dist/components/ModalCard/ModalCard.js +1 -0
  448. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  449. package/dist/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  450. package/dist/components/ModalCardBase/ModalCardBase.js +9 -3
  451. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  452. package/dist/components/ModalPage/ModalPage.d.ts +16 -1
  453. package/dist/components/ModalPage/ModalPage.js +5 -1
  454. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  455. package/dist/components/ModalPageHeader/ModalPageHeader.js +1 -0
  456. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  457. package/dist/components/ModalRoot/ModalRoot.d.ts +14 -2
  458. package/dist/components/ModalRoot/ModalRoot.js +14 -11
  459. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  460. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  461. package/dist/components/ModalRoot/ModalRootAdaptive.js +2 -0
  462. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  463. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  464. package/dist/components/ModalRoot/ModalRootDesktop.js +10 -7
  465. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  466. package/dist/components/ModalRoot/types.d.ts +16 -1
  467. package/dist/components/ModalRoot/types.js.map +1 -1
  468. package/dist/components/ModalRoot/useModalManager.d.ts +6 -5
  469. package/dist/components/ModalRoot/useModalManager.js +54 -16
  470. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  471. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -2
  472. package/dist/components/NativeSelect/NativeSelect.js +5 -5
  473. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  474. package/dist/components/Pagination/Pagination.d.ts +3 -3
  475. package/dist/components/Pagination/Pagination.js +1 -1
  476. package/dist/components/Pagination/Pagination.js.map +1 -1
  477. package/dist/components/Panel/Panel.js +2 -1
  478. package/dist/components/Panel/Panel.js.map +1 -1
  479. package/dist/components/PanelHeader/PanelHeader.js +4 -3
  480. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  481. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  482. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  483. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  484. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  485. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +4 -1
  486. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  487. package/dist/components/Placeholder/Placeholder.js +3 -2
  488. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  489. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -0
  490. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  491. package/dist/components/Popper/Popper.js +2 -2
  492. package/dist/components/Popper/Popper.js.map +1 -1
  493. package/dist/components/PromoBanner/PromoBanner.js +1 -1
  494. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  495. package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
  496. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  497. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  498. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  499. package/dist/components/RichCell/RichCell.js +2 -1
  500. package/dist/components/RichCell/RichCell.js.map +1 -1
  501. package/dist/components/RichTooltip/RichTooltip.js +2 -1
  502. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  503. package/dist/components/Root/Root.js +8 -7
  504. package/dist/components/Root/Root.js.map +1 -1
  505. package/dist/components/ScreenSpinner/ScreenSpinner.js +2 -0
  506. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  507. package/dist/components/Search/Search.js +2 -1
  508. package/dist/components/Search/Search.js.map +1 -1
  509. package/dist/components/SegmentedControl/SegmentedControl.js +19 -13
  510. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  511. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  512. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  513. package/dist/components/Select/Select.d.ts +1 -2
  514. package/dist/components/Select/Select.js +5 -6
  515. package/dist/components/Select/Select.js.map +1 -1
  516. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  517. package/dist/components/SelectMimicry/SelectMimicry.js +5 -2
  518. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  519. package/dist/components/Separator/Separator.js +3 -1
  520. package/dist/components/Separator/Separator.js.map +1 -1
  521. package/dist/components/SimpleCell/SimpleCell.js +3 -2
  522. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  523. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  524. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  525. package/dist/components/SliderSwitch/SliderSwitch.js +1 -0
  526. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  527. package/dist/components/SliderSwitch/SliderSwitchButton.js +1 -0
  528. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  529. package/dist/components/Snackbar/Snackbar.js +2 -1
  530. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  531. package/dist/components/Spacing/Spacing.js +2 -1
  532. package/dist/components/Spacing/Spacing.js.map +1 -1
  533. package/dist/components/SplitCol/SplitCol.js +2 -1
  534. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  535. package/dist/components/SplitLayout/SplitLayout.js +2 -1
  536. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  537. package/dist/components/SubnavigationBar/SubnavigationBar.js +1 -1
  538. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  539. package/dist/components/SubnavigationButton/SubnavigationButton.js +3 -2
  540. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  541. package/dist/components/Switch/Switch.js +1 -0
  542. package/dist/components/Switch/Switch.js.map +1 -1
  543. package/dist/components/Tabbar/Tabbar.js +1 -0
  544. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  545. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  546. package/dist/components/TabbarItem/TabbarItem.js +2 -1
  547. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  548. package/dist/components/TabsItem/TabsItem.js +2 -1
  549. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  550. package/dist/components/Tappable/Tappable.js +5 -4
  551. package/dist/components/Tappable/Tappable.js.map +1 -1
  552. package/dist/components/TextTooltip/TextTooltip.js +1 -1
  553. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  554. package/dist/components/Tooltip/Tooltip.js +4 -4
  555. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  556. package/dist/components/Touch/Touch.js +9 -3
  557. package/dist/components/Touch/Touch.js.map +1 -1
  558. package/dist/components/Touch/TouchContext.d.ts +1 -1
  559. package/dist/components/Touch/TouchContext.js +1 -1
  560. package/dist/components/Touch/TouchContext.js.map +1 -1
  561. package/dist/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  562. package/dist/components/Typography/Paragraph/Paragraph.js +25 -0
  563. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -0
  564. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -2
  565. package/dist/components/Typography/Subhead/Subhead.js +3 -7
  566. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  567. package/dist/components/Typography/Text/Text.js +1 -1
  568. package/dist/components/Typography/Text/Text.js.map +1 -1
  569. package/dist/components/Typography/Title/Title.d.ts +1 -2
  570. package/dist/components/Typography/Title/Title.js +3 -9
  571. package/dist/components/Typography/Title/Title.js.map +1 -1
  572. package/dist/components/UsersStack/UsersStack.js +2 -1
  573. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  574. package/dist/components/View/View.js +5 -0
  575. package/dist/components/View/View.js.map +1 -1
  576. package/dist/components/View/ViewInfinite.js +5 -0
  577. package/dist/components/View/ViewInfinite.js.map +1 -1
  578. package/dist/components/View/utils.js +5 -2
  579. package/dist/components/View/utils.js.map +1 -1
  580. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -2
  581. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  582. package/dist/components.css +21 -6
  583. package/dist/components.css.map +1 -1
  584. package/dist/cssm/components/ActionSheet/ActionSheet.js +3 -1
  585. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  586. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +2 -1
  587. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  588. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  589. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  590. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -3
  591. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  592. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +43 -11
  593. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  594. package/dist/cssm/components/Alert/Alert.css +1 -1
  595. package/dist/cssm/components/Alert/Alert.d.ts +4 -1
  596. package/dist/cssm/components/Alert/Alert.js +22 -5
  597. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  598. package/dist/cssm/components/AppRoot/AppRoot.js +19 -3
  599. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  600. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +6 -14
  601. package/dist/cssm/components/AppRoot/ScrollContext.js +87 -1
  602. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  603. package/dist/cssm/components/Avatar/Avatar.js +4 -1
  604. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  605. package/dist/cssm/components/Banner/Banner.js +3 -2
  606. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  607. package/dist/cssm/components/Button/Button.css +1 -1
  608. package/dist/cssm/components/Button/Button.d.ts +1 -2
  609. package/dist/cssm/components/Button/Button.js +29 -33
  610. package/dist/cssm/components/Button/Button.js.map +1 -1
  611. package/dist/cssm/components/Calendar/Calendar.d.ts +10 -1
  612. package/dist/cssm/components/Calendar/Calendar.js +14 -7
  613. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  614. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  615. package/dist/cssm/components/CalendarDay/CalendarDay.js +4 -1
  616. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  617. package/dist/cssm/components/CalendarDays/CalendarDays.js +1 -1
  618. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  619. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +6 -0
  620. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +8 -8
  621. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  622. package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -5
  623. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  624. package/dist/cssm/components/CalendarTime/CalendarTime.js +3 -3
  625. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  626. package/dist/cssm/components/Card/Card.css +1 -1
  627. package/dist/cssm/components/CardScroll/CardScroll.js +2 -1
  628. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  629. package/dist/cssm/components/Cell/Cell.d.ts +1 -1
  630. package/dist/cssm/components/Cell/Cell.js +4 -3
  631. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  632. package/dist/cssm/components/CellButton/CellButton.js +1 -0
  633. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  634. package/dist/cssm/components/Chip/Chip.js +1 -0
  635. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  636. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  637. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +1 -2
  638. package/dist/cssm/components/ChipsInput/ChipsInput.js +6 -11
  639. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  640. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  641. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +2 -2
  642. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +3 -6
  643. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  644. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
  645. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  646. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +1 -1
  647. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  648. package/dist/cssm/components/ContentCard/ContentCard.js +3 -2
  649. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  650. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  651. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +2 -2
  652. package/dist/cssm/components/CustomSelect/CustomSelect.js +24 -28
  653. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  654. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -1
  655. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -5
  656. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  657. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -1
  658. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +35 -6
  659. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +19 -15
  660. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  661. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  662. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  663. package/dist/cssm/components/DateInput/DateInput.js +13 -5
  664. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  665. package/dist/cssm/components/DatePicker/DatePicker.js +2 -2
  666. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  667. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  668. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -2
  669. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  670. package/dist/cssm/components/Epic/Epic.js +1 -1
  671. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  672. package/dist/cssm/components/File/File.js +1 -1
  673. package/dist/cssm/components/File/File.js.map +1 -1
  674. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  675. package/dist/cssm/components/FixedLayout/FixedLayout.js +2 -1
  676. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  677. package/dist/cssm/components/FormField/FormField.css +5 -1
  678. package/dist/cssm/components/FormField/FormField.d.ts +15 -1
  679. package/dist/cssm/components/FormField/FormField.js +8 -8
  680. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  681. package/dist/cssm/components/FormItem/FormItem.js +3 -2
  682. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  683. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  684. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  685. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  686. package/dist/cssm/components/Gallery/Gallery.d.ts +9 -1
  687. package/dist/cssm/components/Gallery/Gallery.js +10 -2
  688. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  689. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  690. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  691. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +1 -0
  692. package/dist/cssm/components/GridAvatar/GridAvatar.js +5 -6
  693. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  694. package/dist/cssm/components/Group/Group.js +2 -1
  695. package/dist/cssm/components/Group/Group.js.map +1 -1
  696. package/dist/cssm/components/Header/Header.js +7 -4
  697. package/dist/cssm/components/Header/Header.js.map +1 -1
  698. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -1
  699. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  700. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +1 -2
  701. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +32 -21
  702. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  703. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  704. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  705. package/dist/cssm/components/Input/Input.css +1 -1
  706. package/dist/cssm/components/Input/Input.d.ts +1 -2
  707. package/dist/cssm/components/Input/Input.js +10 -10
  708. package/dist/cssm/components/Input/Input.js.map +1 -1
  709. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  710. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  711. package/dist/cssm/components/List/List.js +1 -0
  712. package/dist/cssm/components/List/List.js.map +1 -1
  713. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -0
  714. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  715. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  716. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  717. package/dist/cssm/components/ModalCard/ModalCard.js +1 -0
  718. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  719. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +1 -1
  720. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +5 -1
  721. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +9 -3
  722. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  723. package/dist/cssm/components/ModalPage/ModalPage.d.ts +16 -1
  724. package/dist/cssm/components/ModalPage/ModalPage.js +5 -1
  725. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  726. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +1 -0
  727. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  728. package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
  729. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +14 -2
  730. package/dist/cssm/components/ModalRoot/ModalRoot.js +14 -11
  731. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  732. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +15 -3
  733. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +2 -0
  734. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  735. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +14 -2
  736. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +10 -7
  737. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  738. package/dist/cssm/components/ModalRoot/types.d.ts +16 -1
  739. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  740. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +6 -5
  741. package/dist/cssm/components/ModalRoot/useModalManager.js +54 -16
  742. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  743. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -2
  744. package/dist/cssm/components/NativeSelect/NativeSelect.js +5 -5
  745. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  746. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  747. package/dist/cssm/components/Pagination/Pagination.d.ts +3 -3
  748. package/dist/cssm/components/Pagination/Pagination.js +1 -1
  749. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  750. package/dist/cssm/components/Panel/Panel.js +2 -1
  751. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  752. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  753. package/dist/cssm/components/PanelHeader/PanelHeader.js +4 -3
  754. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  755. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +1 -0
  756. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  757. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  758. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +4 -3
  759. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  760. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  761. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +4 -1
  762. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  763. package/dist/cssm/components/Placeholder/Placeholder.js +3 -2
  764. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  765. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -0
  766. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  767. package/dist/cssm/components/Popper/Popper.js +2 -2
  768. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  769. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -1
  770. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  771. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +2 -1
  772. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  773. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -0
  774. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  775. package/dist/cssm/components/Removable/Removable.css +1 -1
  776. package/dist/cssm/components/RichCell/RichCell.js +2 -1
  777. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  778. package/dist/cssm/components/RichTooltip/RichTooltip.js +2 -1
  779. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  780. package/dist/cssm/components/Root/Root.css +1 -1
  781. package/dist/cssm/components/Root/Root.js +8 -7
  782. package/dist/cssm/components/Root/Root.js.map +1 -1
  783. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -0
  784. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  785. package/dist/cssm/components/Search/Search.css +1 -1
  786. package/dist/cssm/components/Search/Search.js +2 -1
  787. package/dist/cssm/components/Search/Search.js.map +1 -1
  788. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +19 -13
  789. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  790. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  791. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  792. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  793. package/dist/cssm/components/Select/Select.css +1 -1
  794. package/dist/cssm/components/Select/Select.d.ts +1 -2
  795. package/dist/cssm/components/Select/Select.js +5 -6
  796. package/dist/cssm/components/Select/Select.js.map +1 -1
  797. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  798. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +5 -2
  799. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  800. package/dist/cssm/components/Separator/Separator.js +3 -1
  801. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  802. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  803. package/dist/cssm/components/SimpleCell/SimpleCell.js +3 -2
  804. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  805. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +6 -2
  806. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  807. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -0
  808. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  809. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +1 -0
  810. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  811. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  812. package/dist/cssm/components/Snackbar/Snackbar.js +2 -1
  813. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  814. package/dist/cssm/components/Spacing/Spacing.js +2 -1
  815. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  816. package/dist/cssm/components/SplitCol/SplitCol.js +2 -1
  817. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  818. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  819. package/dist/cssm/components/SplitLayout/SplitLayout.js +2 -1
  820. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  821. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  822. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  823. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -2
  824. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  825. package/dist/cssm/components/Switch/Switch.js +1 -0
  826. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  827. package/dist/cssm/components/Tabbar/Tabbar.js +1 -0
  828. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  829. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  830. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  831. package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -1
  832. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  833. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  834. package/dist/cssm/components/TabsItem/TabsItem.js +2 -1
  835. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  836. package/dist/cssm/components/Tappable/Tappable.css +1 -1
  837. package/dist/cssm/components/Tappable/Tappable.js +5 -4
  838. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  839. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  840. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  841. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  842. package/dist/cssm/components/Tooltip/Tooltip.js +4 -4
  843. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  844. package/dist/cssm/components/Touch/Touch.js +9 -3
  845. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  846. package/dist/cssm/components/Touch/TouchContext.d.ts +1 -1
  847. package/dist/cssm/components/Touch/TouchContext.js +1 -1
  848. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  849. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  850. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  851. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -0
  852. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +10 -0
  853. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +26 -0
  854. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -0
  855. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  856. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -2
  857. package/dist/cssm/components/Typography/Subhead/Subhead.js +3 -7
  858. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  859. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  860. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  861. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  862. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  863. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -2
  864. package/dist/cssm/components/Typography/Title/Title.js +3 -9
  865. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  866. package/dist/cssm/components/UsersStack/UsersStack.js +2 -1
  867. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  868. package/dist/cssm/components/View/View.css +1 -1
  869. package/dist/cssm/components/View/View.js +5 -0
  870. package/dist/cssm/components/View/View.js.map +1 -1
  871. package/dist/cssm/components/View/ViewIOS.css +1 -1
  872. package/dist/cssm/components/View/ViewInfinite.js +5 -0
  873. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  874. package/dist/cssm/components/View/utils.js +5 -2
  875. package/dist/cssm/components/View/utils.js.map +1 -1
  876. package/dist/cssm/components/WriteBar/WriteBar.css +1 -1
  877. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -2
  878. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  879. package/dist/cssm/helpers/scheme.js +2 -2
  880. package/dist/cssm/helpers/scheme.js.map +1 -1
  881. package/dist/cssm/hooks/useBridgeAdaptivity.d.ts +6 -0
  882. package/dist/cssm/hooks/useBridgeAdaptivity.js +68 -0
  883. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -0
  884. package/dist/cssm/hooks/useCalendar.d.ts +4 -3
  885. package/dist/cssm/hooks/useCalendar.js +16 -7
  886. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  887. package/dist/cssm/hooks/useKeyboard.d.ts +1 -1
  888. package/dist/cssm/hooks/useKeyboard.js +1 -1
  889. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  890. package/dist/cssm/hooks/usePagination.d.ts +3 -3
  891. package/dist/cssm/hooks/usePagination.js +3 -3
  892. package/dist/cssm/hooks/usePagination.js.map +1 -1
  893. package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
  894. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  895. package/dist/cssm/hooks/useWaitTransitionFinish.js +5 -1
  896. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  897. package/dist/cssm/index.d.ts +21 -10
  898. package/dist/cssm/index.js +12 -14
  899. package/dist/cssm/index.js.map +1 -1
  900. package/dist/cssm/lib/calendar.js +4 -15
  901. package/dist/cssm/lib/calendar.js.map +1 -1
  902. package/dist/cssm/lib/date.d.ts +29 -0
  903. package/dist/cssm/lib/date.js +223 -0
  904. package/dist/cssm/lib/date.js.map +1 -0
  905. package/dist/cssm/lib/getNavId.d.ts +2 -1
  906. package/dist/cssm/lib/getNavId.js +1 -1
  907. package/dist/cssm/lib/getNavId.js.map +1 -1
  908. package/dist/cssm/lib/platform.js +26 -0
  909. package/dist/cssm/lib/platform.js.map +1 -1
  910. package/dist/cssm/lib/warnOnce.d.ts +2 -1
  911. package/dist/cssm/lib/warnOnce.js +3 -1
  912. package/dist/cssm/lib/warnOnce.js.map +1 -1
  913. package/dist/cssm/styles/bright_light.css +1 -1
  914. package/dist/cssm/styles/common.css +1 -1
  915. package/dist/cssm/styles/components.css +21 -6
  916. package/dist/cssm/styles/constants.css +9 -2
  917. package/dist/cssm/styles/space_gray.css +1 -1
  918. package/dist/cssm/styles/themes.css +3 -3
  919. package/dist/cssm/styles/unstable.css +1 -1
  920. package/dist/cssm/styles/vkcom_dark.css +2 -2
  921. package/dist/cssm/styles/vkcom_light.css +1 -1
  922. package/dist/cssm/tokenized/index.d.ts +22 -4
  923. package/dist/cssm/tokenized/index.js +13 -4
  924. package/dist/cssm/tokenized/index.js.map +1 -1
  925. package/dist/default_scheme.css +1 -1
  926. package/dist/default_scheme.css.map +1 -1
  927. package/dist/helpers/scheme.js +2 -2
  928. package/dist/helpers/scheme.js.map +1 -1
  929. package/dist/hooks/useBridgeAdaptivity.d.ts +6 -0
  930. package/dist/hooks/useBridgeAdaptivity.js +68 -0
  931. package/dist/hooks/useBridgeAdaptivity.js.map +1 -0
  932. package/dist/hooks/useCalendar.d.ts +4 -3
  933. package/dist/hooks/useCalendar.js +16 -7
  934. package/dist/hooks/useCalendar.js.map +1 -1
  935. package/dist/hooks/useKeyboard.d.ts +1 -1
  936. package/dist/hooks/useKeyboard.js +1 -1
  937. package/dist/hooks/useKeyboard.js.map +1 -1
  938. package/dist/hooks/usePagination.d.ts +3 -3
  939. package/dist/hooks/usePagination.js +3 -3
  940. package/dist/hooks/usePagination.js.map +1 -1
  941. package/dist/hooks/usePatchChildrenRef.js +1 -1
  942. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  943. package/dist/hooks/useWaitTransitionFinish.js +5 -1
  944. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  945. package/dist/index.d.ts +21 -10
  946. package/dist/index.js +12 -14
  947. package/dist/index.js.map +1 -1
  948. package/dist/lib/calendar.js +4 -15
  949. package/dist/lib/calendar.js.map +1 -1
  950. package/dist/lib/date.d.ts +29 -0
  951. package/dist/lib/date.js +223 -0
  952. package/dist/lib/date.js.map +1 -0
  953. package/dist/lib/getNavId.d.ts +2 -1
  954. package/dist/lib/getNavId.js +1 -1
  955. package/dist/lib/getNavId.js.map +1 -1
  956. package/dist/lib/platform.js +26 -0
  957. package/dist/lib/platform.js.map +1 -1
  958. package/dist/lib/warnOnce.d.ts +2 -1
  959. package/dist/lib/warnOnce.js +3 -1
  960. package/dist/lib/warnOnce.js.map +1 -1
  961. package/dist/tokenized/index.d.ts +22 -4
  962. package/dist/tokenized/index.js +13 -4
  963. package/dist/tokenized/index.js.map +1 -1
  964. package/dist/unstable.css +1 -1
  965. package/dist/unstable.css.map +1 -1
  966. package/dist/vkui.css +24 -9
  967. package/dist/vkui.css.map +1 -1
  968. package/eslint-plugin-vkui/index.js +64 -0
  969. package/eslint-plugin-vkui/package.json +5 -0
  970. package/jest.unit.config.js +4 -1
  971. package/package.json +5 -4
  972. package/postcss-plugin-vk-sans/__tests__/custom_properties.css +4 -0
  973. package/postcss-plugin-vk-sans/index.js +350 -0
  974. package/src/components/ActionSheet/ActionSheet.tsx +7 -1
  975. package/src/components/ActionSheet/ActionSheetDropdown.tsx +1 -0
  976. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -1
  977. package/src/components/ActionSheet/Readme.md +1 -0
  978. package/src/components/ActionSheetItem/ActionSheetItem.tsx +3 -2
  979. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +50 -19
  980. package/src/components/Alert/Alert.tsx +28 -8
  981. package/src/components/AppRoot/AppRoot.tsx +18 -2
  982. package/src/components/AppRoot/ScrollContext.ts +90 -2
  983. package/src/components/Avatar/Avatar.tsx +3 -0
  984. package/src/components/Banner/Banner.tsx +3 -2
  985. package/src/components/Button/Button.css +9 -7
  986. package/src/components/Button/Button.tsx +25 -36
  987. package/src/components/Calendar/Calendar.tsx +30 -6
  988. package/src/components/Calendar/Readme.md +2 -2
  989. package/src/components/CalendarDay/CalendarDay.tsx +3 -0
  990. package/src/components/CalendarDays/CalendarDays.tsx +1 -1
  991. package/src/components/CalendarHeader/CalendarHeader.tsx +17 -10
  992. package/src/components/CalendarRange/CalendarRange.tsx +2 -5
  993. package/src/components/CalendarRange/Readme.md +2 -2
  994. package/src/components/CalendarTime/CalendarTime.tsx +3 -3
  995. package/src/components/Card/Card.css +2 -1
  996. package/src/components/CardScroll/CardScroll.tsx +3 -1
  997. package/src/components/Cell/Cell.tsx +4 -3
  998. package/src/components/CellButton/CellButton.tsx +1 -0
  999. package/src/components/Chip/Chip.tsx +1 -0
  1000. package/src/components/ChipsInput/ChipsInput.css +4 -4
  1001. package/src/components/ChipsInput/ChipsInput.tsx +9 -8
  1002. package/src/components/ChipsSelect/ChipsSelect.css +1 -1
  1003. package/src/components/ChipsSelect/ChipsSelect.tsx +9 -7
  1004. package/src/components/ClickPopper/ClickPopper.tsx +1 -1
  1005. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -1
  1006. package/src/components/ContentCard/ContentCard.tsx +2 -1
  1007. package/src/components/CustomSelect/CustomSelect.css +1 -1
  1008. package/src/components/CustomSelect/CustomSelect.tsx +28 -22
  1009. package/src/components/CustomSelectDropdown/CustomSelectDropdown.css +10 -5
  1010. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +6 -5
  1011. package/src/components/CustomSelectOption/CustomSelectOption.css +17 -5
  1012. package/src/components/CustomSelectOption/CustomSelectOption.tsx +55 -17
  1013. package/src/components/CustomSelectOption/Readme.md +47 -28
  1014. package/src/components/DateInput/DateInput.css +1 -1
  1015. package/src/components/DateInput/DateInput.tsx +15 -3
  1016. package/src/components/DateInput/Readme.md +1 -1
  1017. package/src/components/DatePicker/DatePicker.tsx +2 -2
  1018. package/src/components/DateRangeInput/DateRangeInput.tsx +3 -3
  1019. package/src/components/DateRangeInput/Readme.md +1 -1
  1020. package/src/components/Epic/Epic.tsx +3 -1
  1021. package/src/components/Epic/Readme.md +5 -1
  1022. package/src/components/File/File.tsx +1 -1
  1023. package/src/components/FixedLayout/FixedLayout.css +2 -0
  1024. package/src/components/FixedLayout/FixedLayout.tsx +1 -0
  1025. package/src/components/FormField/FormField.css +30 -45
  1026. package/src/components/FormField/FormField.tsx +26 -7
  1027. package/src/components/FormField/Readme.md +85 -19
  1028. package/src/components/FormItem/FormItem.tsx +2 -1
  1029. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -0
  1030. package/src/components/Gallery/Gallery.tsx +14 -2
  1031. package/src/components/Gradient/Gradient.css +4 -2
  1032. package/src/components/GridAvatar/GridAvatar.css +10 -13
  1033. package/src/components/GridAvatar/GridAvatar.tsx +12 -24
  1034. package/src/components/Group/Group.tsx +1 -0
  1035. package/src/components/Header/Header.tsx +9 -3
  1036. package/src/components/HorizontalCell/HorizontalCell.tsx +1 -1
  1037. package/src/components/HorizontalScroll/HorizontalScroll.tsx +50 -42
  1038. package/src/components/InfoRow/InfoRow.tsx +1 -1
  1039. package/src/components/Input/Input.css +4 -4
  1040. package/src/components/Input/Input.tsx +7 -9
  1041. package/src/components/InputLike/InputLike.css +1 -1
  1042. package/src/components/InputLike/InputLikeDivider.css +1 -1
  1043. package/src/components/List/List.tsx +1 -0
  1044. package/src/components/MiniInfoCell/MiniInfoCell.tsx +1 -0
  1045. package/src/components/ModalCard/ModalCard.css +1 -11
  1046. package/src/components/ModalCard/ModalCard.tsx +1 -0
  1047. package/src/components/ModalCardBase/ModalCardBase.css +10 -0
  1048. package/src/components/ModalCardBase/ModalCardBase.tsx +15 -2
  1049. package/src/components/ModalPage/ModalPage.tsx +19 -0
  1050. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -0
  1051. package/src/components/ModalRoot/ModalRoot.css +3 -2
  1052. package/src/components/ModalRoot/ModalRoot.tsx +37 -10
  1053. package/src/components/ModalRoot/ModalRootAdaptive.tsx +20 -2
  1054. package/src/components/ModalRoot/ModalRootDesktop.tsx +25 -7
  1055. package/src/components/ModalRoot/Readme.md +112 -0
  1056. package/src/components/ModalRoot/types.ts +16 -1
  1057. package/src/components/ModalRoot/useModalManager.tsx +63 -15
  1058. package/src/components/NativeSelect/NativeSelect.tsx +3 -3
  1059. package/src/components/Pagination/Pagination.tsx +4 -4
  1060. package/src/components/Pagination/Readme.md +1 -1
  1061. package/src/components/Panel/Panel.tsx +1 -0
  1062. package/src/components/PanelHeader/PanelHeader.css +13 -13
  1063. package/src/components/PanelHeader/PanelHeader.tsx +4 -3
  1064. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -0
  1065. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +4 -2
  1066. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +4 -0
  1067. package/src/components/Placeholder/Placeholder.tsx +2 -1
  1068. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -0
  1069. package/src/components/Popper/Popper.tsx +2 -2
  1070. package/src/components/PromoBanner/PromoBanner.tsx +1 -1
  1071. package/src/components/PullToRefresh/PullToRefresh.tsx +1 -0
  1072. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +1 -0
  1073. package/src/components/RichCell/RichCell.tsx +2 -1
  1074. package/src/components/RichTooltip/Readme.md +2 -2
  1075. package/src/components/RichTooltip/RichTooltip.tsx +1 -0
  1076. package/src/components/Root/Root.css +4 -11
  1077. package/src/components/Root/Root.tsx +7 -6
  1078. package/src/components/ScreenSpinner/ScreenSpinner.tsx +3 -0
  1079. package/src/components/Search/Search.tsx +2 -1
  1080. package/src/components/SegmentedControl/SegmentedControl.tsx +20 -10
  1081. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  1082. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +1 -0
  1083. package/src/components/Select/Select.css +2 -2
  1084. package/src/components/Select/Select.tsx +4 -5
  1085. package/src/components/SelectMimicry/SelectMimicry.tsx +6 -3
  1086. package/src/components/Separator/Separator.tsx +2 -0
  1087. package/src/components/SimpleCell/SimpleCell.tsx +3 -2
  1088. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +7 -2
  1089. package/src/components/SliderSwitch/SliderSwitch.tsx +1 -0
  1090. package/src/components/SliderSwitch/SliderSwitchButton.tsx +1 -0
  1091. package/src/components/Snackbar/Snackbar.css +6 -3
  1092. package/src/components/Snackbar/Snackbar.tsx +2 -1
  1093. package/src/components/Spacing/Spacing.tsx +1 -0
  1094. package/src/components/SplitCol/SplitCol.tsx +1 -0
  1095. package/src/components/SplitLayout/SplitLayout.css +3 -1
  1096. package/src/components/SplitLayout/SplitLayout.tsx +1 -0
  1097. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -1
  1098. package/src/components/SubnavigationButton/SubnavigationButton.tsx +2 -1
  1099. package/src/components/Switch/Readme.md +12 -36
  1100. package/src/components/Switch/Switch.tsx +1 -0
  1101. package/src/components/Tabbar/Tabbar.tsx +1 -0
  1102. package/src/components/TabbarItem/TabbarItem.css +1 -0
  1103. package/src/components/TabbarItem/TabbarItem.tsx +2 -1
  1104. package/src/components/Tabs/Readme.md +7 -7
  1105. package/src/components/TabsItem/TabsItem.tsx +2 -1
  1106. package/src/components/Tappable/Tappable.css +5 -0
  1107. package/src/components/Tappable/Tappable.tsx +5 -2
  1108. package/src/components/TextTooltip/TextTooltip.tsx +1 -1
  1109. package/src/components/Tooltip/Tooltip.tsx +7 -6
  1110. package/src/components/Touch/Touch.tsx +6 -3
  1111. package/src/components/Touch/TouchContext.ts +1 -1
  1112. package/src/components/Typography/Caption/Caption.css +3 -3
  1113. package/src/components/Typography/Paragraph/Paragraph.css +17 -0
  1114. package/src/components/Typography/Paragraph/Paragraph.tsx +42 -0
  1115. package/src/components/Typography/Paragraph/Readme.md +19 -0
  1116. package/src/components/Typography/Subhead/Subhead.tsx +3 -7
  1117. package/src/components/Typography/Text/Text.tsx +4 -1
  1118. package/src/components/Typography/Title/Title.tsx +7 -10
  1119. package/src/components/UsersStack/UsersStack.tsx +2 -1
  1120. package/src/components/View/Readme.md +1 -1
  1121. package/src/components/View/View.css +1 -1
  1122. package/src/components/View/View.tsx +4 -0
  1123. package/src/components/View/ViewIOS.css +2 -2
  1124. package/src/components/View/ViewInfinite.tsx +4 -0
  1125. package/src/components/View/utils.ts +2 -1
  1126. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -1
  1127. package/src/helpers/scheme.ts +3 -2
  1128. package/src/hooks/useBridgeAdaptivity.ts +83 -0
  1129. package/src/hooks/useCalendar.ts +26 -10
  1130. package/src/hooks/useKeyboard.ts +1 -1
  1131. package/src/hooks/usePagination.ts +5 -5
  1132. package/src/hooks/usePatchChildrenRef.ts +2 -2
  1133. package/src/hooks/useWaitTransitionFinish.ts +7 -1
  1134. package/src/index.ts +21 -10
  1135. package/src/lib/calendar.ts +7 -7
  1136. package/src/lib/date.ts +274 -0
  1137. package/src/lib/getNavId.ts +4 -2
  1138. package/src/lib/platform.ts +34 -0
  1139. package/src/lib/warnOnce.ts +9 -3
  1140. package/src/styles/bright_light.css +2 -0
  1141. package/src/styles/components.css +1 -0
  1142. package/src/styles/constants.css +10 -3
  1143. package/src/styles/space_gray.css +10 -8
  1144. package/src/styles/vkcom_dark.css +6 -4
  1145. package/src/styles/vkcom_light.css +4 -2
  1146. package/src/testing/utils.tsx +15 -2
  1147. package/src/tokenized/index.ts +31 -4
  1148. package/tsconfig.json +2 -0
  1149. package/.cache/ts/src/helpers/typography.d.ts +0 -1
  1150. package/dist/cjs/helpers/typography.d.ts +0 -1
  1151. package/dist/cjs/helpers/typography.js +0 -25
  1152. package/dist/cjs/helpers/typography.js.map +0 -1
  1153. package/dist/cssm/helpers/typography.d.ts +0 -1
  1154. package/dist/cssm/helpers/typography.js +0 -18
  1155. package/dist/cssm/helpers/typography.js.map +0 -1
  1156. package/dist/helpers/typography.d.ts +0 -1
  1157. package/dist/helpers/typography.js +0 -18
  1158. package/dist/helpers/typography.js.map +0 -1
  1159. package/src/helpers/typography.ts +0 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/View/View.tsx"],"names":["React","classNames","transitionEvent","animationEvent","getClassName","IOS","ANDROID","VKCOM","Touch","withPlatform","withContext","ConfigProviderContext","SplitColContext","AppRootPortal","canUseDOM","withDOM","ScrollContext","NavTransitionProvider","getNavId","warnOnce","swipeBackExcluded","SwipeBackResults","scrollsCache","warn","View","props","undefined","e","includes","animationName","state","prevPanel","flushTransition","Boolean","isBack","propertyName","target","pickPanel","swipeBackNextPanel","swipeBackResult","fail","onSwipeBackCancel","success","onSwipeBackSuccess","platform","configProvider","isWebView","startX","window","innerWidth","browserSwipe","setState","onSwipeBack","animated","swipingBack","history","length","activePanel","scrolls","scroll","getScroll","y","swipebackStartX","swipeBackPrevPanel","slice","swipeBackShift","shiftX","speed","duration","visiblePanels","nextPanel","document","Children","toArray","children","process","env","NODE_ENV","popout","modal","id","prevProps","prevState","blurActiveElement","firstLayerId","panels","map","panel","find","shouldDisableTransitionMotion","supported","animationFinishTimeout","clearTimeout","setTimeout","transitionEndHandler","scrollTo","onTransition","from","to","onSwipeBackStart","waitTransitionFinish","swipingBackTransitionEndHandler","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","transitionFinishTimeout","activeElement","blur","panelNodes","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","_1","nav","restProps","hasPopout","hasModal","filter","disableAnimation","modifiers","onMoveX","onEnd","isTransitionTarget","compensateScroll","el","calcPanelSwipeStyles","marginTop","Component"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent, animationEvent } from \"../../lib/supportEvents\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext, SplitColContextProps } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { canUseDOM, withDOM, DOMProps } from \"../../lib/dom\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { swipeBackExcluded } from \"./utils\";\nimport \"./View.css\";\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: number | undefined;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport interface ViewProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n onTransition?(params: { isBack: boolean; from: string; to: string }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(): void;\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewState {\n animated: boolean;\n\n visiblePanels: string[];\n activePanel: string | null;\n isBack: boolean | undefined;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipebackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nconst warn = warnOnce(\"View\");\nclass View extends React.Component<ViewProps & DOMProps, ViewState> {\n constructor(props: ViewProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipebackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewProps> = {\n history: [],\n };\n\n private readonly scrolls = scrollsCache[getNavId(this.props) as string] || {};\n private transitionFinishTimeout: number | undefined = undefined;\n private animationFinishTimeout: number | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentDidMount() {\n if (process.env.NODE_ENV === \"development\") {\n const { popout, modal } = this.props;\n popout &&\n warn(\n \"Свойство popout устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.\"\n );\n modal &&\n warn(\n \"Свойство modal устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.\"\n );\n }\n }\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n }\n\n componentDidUpdate(prevProps: ViewProps, prevState: ViewState) {\n this.props.popout && !prevProps.popout && this.blurActiveElement();\n this.props.modal && !prevProps.modal && this.blurActiveElement();\n\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find(\n (id) => id === prevProps.activePanel || id === this.props.activePanel\n );\n\n const isBack = firstLayerId === this.props.activePanel;\n this.scrolls[prevProps.activePanel] = this.props.scroll?.getScroll().y;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.blurActiveElement();\n\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (\n prevProps.activePanel !== this.props.activePanel &&\n prevState.swipingBack\n ) {\n const nextPanel = this.props.activePanel;\n const prevPanel = prevProps.activePanel;\n if (prevState.swipeBackPrevPanel !== null) {\n this.scrolls[prevState.swipeBackPrevPanel] = 0;\n }\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n if (this.state.activePanel !== null) {\n this.props.scroll?.scrollTo(\n 0,\n this.scrolls[this.state.activePanel]\n );\n }\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n }\n );\n }\n\n // Начался свайп назад\n if (!prevState.swipingBack && this.state.swipingBack) {\n this.props.onSwipeBackStart && this.props.onSwipeBackStart();\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n this.props.scroll?.scrollTo(0, this.scrolls[this.state.activePanel]);\n }\n\n // Закончился Safari свайп\n if (\n prevProps.activePanel !== this.props.activePanel &&\n this.state.browserSwipe\n ) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== \"undefined\" && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n if (isBack) {\n this.scrolls[prevPanel] = 0;\n }\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? this.scrolls[activePanel] : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n }\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n \"vkui-animation-ios-next-forward\",\n \"vkui-animation-ios-prev-back\",\n \"vkui-animation-view-next-forward\",\n \"vkui-animation-view-prev-back\",\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e?.propertyName.includes(\"transform\") &&\n e?.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (e: TouchEvent): void => {\n if (swipeBackExcluded(e)) {\n return;\n }\n\n const { platform, configProvider } = this.props;\n\n if (\n platform === IOS &&\n !configProvider?.isWebView &&\n (e.startX <= 70 || e.startX >= this.window!.innerWidth - 70) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n if (\n platform === IOS &&\n configProvider?.isWebView &&\n this.props.onSwipeBack\n ) {\n if ((this.state.animated && e.startX <= 70) || !this.window) {\n return;\n }\n\n if (\n e.startX <= 70 &&\n !this.state.swipingBack &&\n (this.props.history?.length ?? 0) > 1\n ) {\n if (this.state.activePanel !== null) {\n this.scrolls[this.state.activePanel] =\n this.props.scroll?.getScroll().y;\n }\n this.setState({\n swipingBack: true,\n swipebackStartX: e.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history!.slice(-2)[0],\n });\n }\n if (this.state.swipingBack) {\n let swipeBackShift = 0;\n if (e.shiftX < 0) {\n swipeBackShift = 0;\n } else if (\n e.shiftX >\n this.window.innerWidth - this.state.swipebackStartX\n ) {\n swipeBackShift = this.window?.innerWidth;\n } else {\n swipeBackShift = e.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n }\n };\n\n onEnd = (e: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / e.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= (this.window?.innerWidth ?? 0)) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipebackStartX + this.state.swipeBackShift >\n this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) /\n this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev\n ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` }\n : {};\n }\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 boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n popout,\n modal,\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n isBack,\n animated,\n } = this.state;\n\n const hasPopout = !!popout;\n const hasModal = !!modal;\n\n const panels = this.panels.filter((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n const modifiers = {\n \"View--animated\": !disableAnimation && animated,\n \"View--swiping-back\": !disableAnimation && this.state.swipingBack,\n \"View--no-motion\": disableAnimation,\n };\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n vkuiClass={classNames(getClassName(\"View\", platform), modifiers)}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div vkuiClass=\"View__panels\">\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isTransitionTarget =\n animated && panelId === (isBack ? prevPanel : nextPanel);\n const compensateScroll =\n isPrev ||\n panelId === swipeBackNextPanel ||\n (panelId === nextPanel && isBack);\n\n return (\n <div\n vkuiClass={classNames(\"View__panel\", {\n \"View__panel--active\": panelId === activePanel,\n \"View__panel--prev\": panelId === prevPanel,\n \"View__panel--next\": panelId === nextPanel,\n \"View__panel--swipe-back-prev\":\n panelId === swipeBackPrevPanel,\n \"View__panel--swipe-back-next\":\n panelId === swipeBackNextPanel,\n \"View__panel--swipe-back-success\":\n swipeBackResult === SwipeBackResults.success,\n \"View__panel--swipe-back-failed\":\n swipeBackResult === SwipeBackResults.fail,\n })}\n onAnimationEnd={\n isTransitionTarget ? this.transitionEndHandler : undefined\n }\n ref={(el) =>\n panelId !== undefined && (this.panelNodes[panelId] = el)\n }\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n vkuiClass=\"View__panel-in\"\n style={{\n marginTop: compensateScroll\n ? -(this.scrolls[panelId as string] ?? 0)\n : undefined,\n }}\n >\n <NavTransitionProvider\n entering={\n panelId === nextPanel || panelId === swipeBackNextPanel\n }\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n <AppRootPortal>\n {hasPopout && <div vkuiClass=\"View__popout\">{popout}</div>}\n {hasModal && <div vkuiClass=\"View__modal\">{modal}</div>}\n </AppRootPortal>\n </Touch>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewProps>(View)),\n SplitColContext,\n \"splitCol\"\n ),\n ConfigProviderContext,\n \"configProvider\"\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"View.js"}
1
+ {"version":3,"sources":["../../../../src/components/View/View.tsx"],"names":["React","classNames","transitionEvent","animationEvent","getClassName","IOS","ANDROID","VKCOM","Touch","withPlatform","withContext","ConfigProviderContext","SplitColContext","AppRootPortal","canUseDOM","withDOM","ScrollContext","NavTransitionProvider","getNavId","warnOnce","swipeBackExcluded","SwipeBackResults","scrollsCache","warn","View","props","undefined","e","includes","animationName","state","prevPanel","flushTransition","Boolean","isBack","propertyName","target","pickPanel","swipeBackNextPanel","swipeBackResult","fail","onSwipeBackCancel","success","onSwipeBackSuccess","platform","configProvider","isWebView","startX","window","innerWidth","browserSwipe","setState","onSwipeBack","animated","swipingBack","history","length","activePanel","scrolls","scroll","getScroll","y","swipebackStartX","swipeBackPrevPanel","slice","swipeBackShift","shiftX","speed","duration","visiblePanels","nextPanel","document","Children","toArray","children","process","env","NODE_ENV","popout","modal","id","animationFinishTimeout","clearTimeout","prevProps","prevState","blurActiveElement","firstLayerId","panels","map","panel","find","shouldDisableTransitionMotion","supported","setTimeout","transitionEndHandler","scrollTo","onTransition","from","to","onSwipeBackStart","waitTransitionFinish","swipingBackTransitionEndHandler","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","transitionFinishTimeout","activeElement","blur","panelNodes","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","_1","nav","restProps","hasPopout","hasModal","filter","disableAnimation","modifiers","onMoveX","onEnd","isTransitionTarget","compensateScroll","el","calcPanelSwipeStyles","marginTop","Component"],"mappings":";;;;;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,eAAT,EAA0BC,cAA1B;AACA,SAASC,YAAT;AACA,SAASC,GAAT,EAAcC,OAAd,EAAuBC,KAAvB;AACA,SAASC,KAAT;AAEA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SACEC,qBADF;AAIA,SAASC,eAAT;AACA,SAASC,aAAT;AACA,SAASC,SAAT,EAAoBC,OAApB;AACA,SACEC,aADF;AAIA,SAASC,qBAAT;AACA,SAASC,QAAT;AACA,SAASC,QAAT;AACA,SAASC,iBAAT;AACA;IAEKC,gB;;WAAAA,gB;AAAAA,EAAAA,gB,CAAAA,gB;AAAAA,EAAAA,gB,CAAAA,gB;GAAAA,gB,KAAAA,gB;;AAeL,OAAO,IAAIC,YAA0B,GAAG,EAAjC;AAkEP,IAAMC,IAAI,GAAGJ,QAAQ,CAAC,MAAD,CAArB;;IACMK,I;;;;;AACJ,gBAAYC,KAAZ,EAA8B;AAAA;;AAAA;;AAC5B,8BAAMA,KAAN;;AAD4B,8DA2BHH,YAAY,CAACJ,QAAQ,CAAC,MAAKO,KAAN,CAAT,CAAZ,IAAgD,EA3B7C;;AAAA,8EA4BwBC,SA5BxB;;AAAA,6EA6BuBA,SA7BvB;;AAAA,iEA2CwB,EA3CxB;;AAAA,2EAqQP,UAACC,CAAD,EAAoC;AACzD,UACE,CAAC,CAACA,CAAD,IACC,CACE,iCADF,EAEE,8BAFF,EAGE,kCAHF,EAIE,+BAJF,EAKEC,QALF,CAKWD,CAAC,CAACE,aALb,CADF,KAOA,MAAKC,KAAL,CAAWC,SAAX,KAAyB,IAR3B,EASE;AACA,cAAKC,eAAL,CAAqB,MAAKF,KAAL,CAAWC,SAAhC,EAA2CE,OAAO,CAAC,MAAKH,KAAL,CAAWI,MAAZ,CAAlD;AACD;AACF,KAlR6B;;AAAA,sFAoRI,UAACP,CAAD,EAA+B;AAC/D;AACA,UACE,CAACA,CAAD,IACCA,CAAC,SAAD,IAAAA,CAAC,WAAD,IAAAA,CAAC,CAAEQ,YAAH,CAAgBP,QAAhB,CAAyB,WAAzB,KACC,CAAAD,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAES,MAAH,MAAc,MAAKC,SAAL,CAAe,MAAKP,KAAL,CAAWQ,kBAA1B,CAHlB,EAIE;AACA,gBAAQ,MAAKR,KAAL,CAAWS,eAAnB;AACE,eAAKlB,gBAAgB,CAACmB,IAAtB;AACE,kBAAKC,iBAAL;;AACA;;AACF,eAAKpB,gBAAgB,CAACqB,OAAtB;AACE,kBAAKC,kBAAL;;AALJ;AAOD;AACF,KAnS6B;;AAAA,8DAqTpB,UAAChB,CAAD,EAAyB;AACjC,UAAIP,iBAAiB,CAACO,CAAD,CAArB,EAA0B;AACxB;AACD;;AAED,wBAAqC,MAAKF,KAA1C;AAAA,UAAQmB,QAAR,eAAQA,QAAR;AAAA,UAAkBC,cAAlB,eAAkBA,cAAlB;;AAEA,UACED,QAAQ,KAAKvC,GAAb,IACA,EAACwC,cAAD,aAACA,cAAD,eAACA,cAAc,CAAEC,SAAjB,CADA,KAECnB,CAAC,CAACoB,MAAF,IAAY,EAAZ,IAAkBpB,CAAC,CAACoB,MAAF,IAAY,MAAKC,MAAL,CAAaC,UAAb,GAA0B,EAFzD,KAGA,CAAC,MAAKnB,KAAL,CAAWoB,YAJd,EAKE;AACA,cAAKC,QAAL,CAAc;AAAED,UAAAA,YAAY,EAAE;AAAhB,SAAd;AACD;;AAED,UACEN,QAAQ,KAAKvC,GAAb,IACAwC,cADA,aACAA,cADA,eACAA,cAAc,CAAEC,SADhB,IAEA,MAAKrB,KAAL,CAAW2B,WAHb,EAIE;AAAA;;AACA,YAAK,MAAKtB,KAAL,CAAWuB,QAAX,IAAuB1B,CAAC,CAACoB,MAAF,IAAY,EAApC,IAA2C,CAAC,MAAKC,MAArD,EAA6D;AAC3D;AACD;;AAED,YACErB,CAAC,CAACoB,MAAF,IAAY,EAAZ,IACA,CAAC,MAAKjB,KAAL,CAAWwB,WADZ,IAEA,iDAAC,MAAK7B,KAAL,CAAW8B,OAAZ,wDAAC,oBAAoBC,MAArB,yEAA+B,CAA/B,IAAoC,CAHtC,EAIE;AACA,cAAI,MAAK1B,KAAL,CAAW2B,WAAX,KAA2B,IAA/B,EAAqC;AAAA;;AACnC,kBAAKC,OAAL,CAAa,MAAK5B,KAAL,CAAW2B,WAAxB,0BACE,MAAKhC,KAAL,CAAWkC,MADb,uDACE,mBAAmBC,SAAnB,GAA+BC,CADjC;AAED;;AACD,gBAAKV,QAAL,CAAc;AACZG,YAAAA,WAAW,EAAE,IADD;AAEZQ,YAAAA,eAAe,EAAEnC,CAAC,CAACoB,MAFP;AAGZgB,YAAAA,kBAAkB,EAAE,MAAKjC,KAAL,CAAW2B,WAHnB;AAIZnB,YAAAA,kBAAkB,EAAE,MAAKb,KAAL,CAAW8B,OAAX,CAAoBS,KAApB,CAA0B,CAAC,CAA3B,EAA8B,CAA9B;AAJR,WAAd;AAMD;;AACD,YAAI,MAAKlC,KAAL,CAAWwB,WAAf,EAA4B;AAC1B,cAAIW,cAAc,GAAG,CAArB;;AACA,cAAItC,CAAC,CAACuC,MAAF,GAAW,CAAf,EAAkB;AAChBD,YAAAA,cAAc,GAAG,CAAjB;AACD,WAFD,MAEO,IACLtC,CAAC,CAACuC,MAAF,GACA,MAAKlB,MAAL,CAAYC,UAAZ,GAAyB,MAAKnB,KAAL,CAAWgC,eAF/B,EAGL;AAAA;;AACAG,YAAAA,cAAc,mBAAG,MAAKjB,MAAR,iDAAG,aAAaC,UAA9B;AACD,WALM,MAKA;AACLgB,YAAAA,cAAc,GAAGtC,CAAC,CAACuC,MAAnB;AACD;;AACD,gBAAKf,QAAL,CAAc;AAAEc,YAAAA,cAAc,EAAdA;AAAF,WAAd;AACD;AACF;AACF,KA7W6B;;AAAA,4DA+WtB,UAACtC,CAAD,EAAyB;AAC/B,UAAI,MAAKG,KAAL,CAAWwB,WAAX,IAA0B,MAAKN,MAAnC,EAA2C;AAAA;;AACzC,YAAMmB,KAAK,GAAI,MAAKrC,KAAL,CAAWmC,cAAX,GAA4BtC,CAAC,CAACyC,QAA/B,GAA2C,IAAzD;;AACA,YAAI,MAAKtC,KAAL,CAAWmC,cAAX,KAA8B,CAAlC,EAAqC;AACnC,gBAAKxB,iBAAL;AACD,SAFD,MAEO,IAAI,MAAKX,KAAL,CAAWmC,cAAX,+CAA8B,MAAKjB,MAAnC,kDAA8B,cAAaC,UAA3C,yEAAyD,CAAzD,CAAJ,EAAiE;AACtE,gBAAKN,kBAAL;AACD,SAFM,MAEA,IACLwB,KAAK,GAAG,GAAR,IACA,MAAKrC,KAAL,CAAWgC,eAAX,GAA6B,MAAKhC,KAAL,CAAWmC,cAAxC,GACE,MAAKjB,MAAL,CAAYC,UAAZ,GAAyB,CAHtB,EAIL;AACA,gBAAKE,QAAL,CAAc;AAAEZ,YAAAA,eAAe,EAAElB,gBAAgB,CAACqB;AAApC,WAAd;AACD,SANM,MAMA;AACL,gBAAKS,QAAL,CAAc;AAAEZ,YAAAA,eAAe,EAAElB,gBAAgB,CAACmB;AAApC,WAAd;AACD;AACF;AACF,KAhY6B;;AAG5B,UAAKV,KAAL,GAAa;AACXuB,MAAAA,QAAQ,EAAE,KADC;AAGXgB,MAAAA,aAAa,EAAE,CAAC5C,KAAK,CAACgC,WAAP,CAHJ;AAIXA,MAAAA,WAAW,EAAEhC,KAAK,CAACgC,WAJR;AAKXvB,MAAAA,MAAM,EAAER,SALG;AAMXK,MAAAA,SAAS,EAAE,IANA;AAOXuC,MAAAA,SAAS,EAAE,IAPA;AASXhB,MAAAA,WAAW,EAAE,KATF;AAUXQ,MAAAA,eAAe,EAAE,CAVN;AAWXG,MAAAA,cAAc,EAAE,CAXL;AAYX3B,MAAAA,kBAAkB,EAAE,IAZT;AAaXyB,MAAAA,kBAAkB,EAAE,IAbT;AAcXxB,MAAAA,eAAe,EAAE,IAdN;AAgBXW,MAAAA,YAAY,EAAE;AAhBH,KAAb;AAH4B;AAqB7B;;;;SAUD,eAAe;AACb,aAAO,KAAKzB,KAAL,CAAW8C,QAAlB;AACD;;;SAED,eAAa;AACX,aAAO,KAAK9C,KAAL,CAAWuB,MAAlB;AACD;;;SAED,eAAa;AACX,aAAOhD,KAAK,CAACwE,QAAN,CAAeC,OAAf,CAAuB,KAAKhD,KAAL,CAAWiD,QAAlC,CAAP;AACD;;;WAID,6BAAoB;AAClB,UAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;AAC1C,2BAA0B,KAAKpD,KAA/B;AAAA,YAAQqD,MAAR,gBAAQA,MAAR;AAAA,YAAgBC,KAAhB,gBAAgBA,KAAhB;AACAD,QAAAA,MAAM,IACJvD,IAAI,CACF,mGADE,CADN;AAIAwD,QAAAA,KAAK,IACHxD,IAAI,CACF,kGADE,CADN;AAID;AACF;;;WAED,gCAAuB;AACrB,UAAMyD,EAAE,GAAG9D,QAAQ,CAAC,KAAKO,KAAN,CAAnB;;AACA,UAAIuD,EAAJ,EAAQ;AACN1D,QAAAA,YAAY,CAAC0D,EAAD,CAAZ,GAAmB,KAAKtB,OAAxB;AACD;;AACD,UAAI,KAAKuB,sBAAT,EAAiC;AAC/BC,QAAAA,YAAY,CAAC,KAAKD,sBAAN,CAAZ;AACD;AACF;;;WAED,4BAAmBE,SAAnB,EAAyCC,SAAzC,EAA+D;AAAA;;AAC7D,WAAK3D,KAAL,CAAWqD,MAAX,IAAqB,CAACK,SAAS,CAACL,MAAhC,IAA0C,KAAKO,iBAAL,EAA1C;AACA,WAAK5D,KAAL,CAAWsD,KAAX,IAAoB,CAACI,SAAS,CAACJ,KAA/B,IAAwC,KAAKM,iBAAL,EAAxC,CAF6D,CAI7D;;AACA,UACEF,SAAS,CAAC1B,WAAV,KAA0B,KAAKhC,KAAL,CAAWgC,WAArC,IACA,CAAC2B,SAAS,CAAC9B,WADX,IAEA,CAAC8B,SAAS,CAAClC,YAHb,EAIE;AAAA;;AACA,YAAMoC,YAAY,GAAG,KAAKC,MAAL,CAClBC,GADkB,CACd,UAACC,KAAD;AAAA,iBAAWvE,QAAQ,CAACuE,KAAK,CAAChE,KAAP,EAAcF,IAAd,CAAnB;AAAA,SADc,EAElBmE,IAFkB,CAGjB,UAACV,EAAD;AAAA,iBAAQA,EAAE,KAAKG,SAAS,CAAC1B,WAAjB,IAAgCuB,EAAE,KAAK,MAAI,CAACvD,KAAL,CAAWgC,WAA1D;AAAA,SAHiB,CAArB;AAMA,YAAMvB,MAAM,GAAGoD,YAAY,KAAK,KAAK7D,KAAL,CAAWgC,WAA3C;AACA,aAAKC,OAAL,CAAayB,SAAS,CAAC1B,WAAvB,2BAAsC,KAAKhC,KAAL,CAAWkC,MAAjD,wDAAsC,oBAAmBC,SAAnB,GAA+BC,CAArE;;AAEA,YAAI,KAAK8B,6BAAL,EAAJ,EAA0C;AACxC,eAAK3D,eAAL,CAAqBmD,SAAS,CAAC1B,WAA/B,EAA4CvB,MAA5C;AACD,SAFD,MAEO;AACL,eAAKmD,iBAAL;AAEA,eAAKlC,QAAL,CAAc;AACZkB,YAAAA,aAAa,EAAE,CAACc,SAAS,CAAC1B,WAAX,EAAwB,KAAKhC,KAAL,CAAWgC,WAAnC,CADH;AAEZ1B,YAAAA,SAAS,EAAEoD,SAAS,CAAC1B,WAFT;AAGZa,YAAAA,SAAS,EAAE,KAAK7C,KAAL,CAAWgC,WAHV;AAIZA,YAAAA,WAAW,EAAE,IAJD;AAKZJ,YAAAA,QAAQ,EAAE,IALE;AAMZnB,YAAAA,MAAM,EAANA;AANY,WAAd,EAHK,CAYL;;AACA,cAAI,CAAC/B,cAAc,CAACyF,SAApB,EAA+B;AAC7B,gBAAI,KAAKX,sBAAT,EAAiC;AAC/BC,cAAAA,YAAY,CAAC,KAAKD,sBAAN,CAAZ;AACD;;AACD,iBAAKA,sBAAL,GAA8BY,UAAU,CACtC,KAAKC,oBADiC,EAEtC,KAAKrE,KAAL,CAAWmB,QAAX,KAAwBtC,OAAxB,IAAmC,KAAKmB,KAAL,CAAWmB,QAAX,KAAwBrC,KAA3D,GACI,GADJ,GAEI,GAJkC,CAAxC;AAMD;AACF;AACF,OA9C4D,CAgD7D;;;AACA,UACE4E,SAAS,CAAC1B,WAAV,KAA0B,KAAKhC,KAAL,CAAWgC,WAArC,IACA2B,SAAS,CAAC9B,WAFZ,EAGE;AACA,YAAMgB,SAAS,GAAG,KAAK7C,KAAL,CAAWgC,WAA7B;AACA,YAAM1B,SAAS,GAAGoD,SAAS,CAAC1B,WAA5B;;AACA,YAAI2B,SAAS,CAACrB,kBAAV,KAAiC,IAArC,EAA2C;AACzC,eAAKL,OAAL,CAAa0B,SAAS,CAACrB,kBAAvB,IAA6C,CAA7C;AACD;;AACD,aAAKZ,QAAL,CACE;AACEY,UAAAA,kBAAkB,EAAE,IADtB;AAEEzB,UAAAA,kBAAkB,EAAE,IAFtB;AAGEgB,UAAAA,WAAW,EAAE,KAHf;AAIEf,UAAAA,eAAe,EAAE,IAJnB;AAKEuB,UAAAA,eAAe,EAAE,CALnB;AAMEG,UAAAA,cAAc,EAAE,CANlB;AAOER,UAAAA,WAAW,EAAEa,SAPf;AAQED,UAAAA,aAAa,EAAE,CAACC,SAAD;AARjB,SADF,EAWE,YAAM;AACJ,cAAI,MAAI,CAACxC,KAAL,CAAW2B,WAAX,KAA2B,IAA/B,EAAqC;AAAA;;AACnC,mCAAA,MAAI,CAAChC,KAAL,CAAWkC,MAAX,4EAAmBoC,QAAnB,CACE,CADF,EAEE,MAAI,CAACrC,OAAL,CAAa,MAAI,CAAC5B,KAAL,CAAW2B,WAAxB,CAFF;AAID;;AACD0B,UAAAA,SAAS,CAACa,YAAV,IACEb,SAAS,CAACa,YAAV,CAAuB;AACrB9D,YAAAA,MAAM,EAAE,IADa;AAErB+D,YAAAA,IAAI,EAAElE,SAFe;AAGrBmE,YAAAA,EAAE,EAAE5B;AAHiB,WAAvB,CADF;AAMD,SAxBH;AA0BD,OApF4D,CAsF7D;;;AACA,UAAI,CAACc,SAAS,CAAC9B,WAAX,IAA0B,KAAKxB,KAAL,CAAWwB,WAAzC,EAAsD;AACpD,aAAK7B,KAAL,CAAW0E,gBAAX,IAA+B,KAAK1E,KAAL,CAAW0E,gBAAX,EAA/B;AACD,OAzF4D,CA2F7D;;;AACA,UAAI,CAACf,SAAS,CAAC7C,eAAX,IAA8B,KAAKT,KAAL,CAAWS,eAA7C,EAA8D;AAC5D,aAAK6D,oBAAL,CACE,KAAK/D,SAAL,CAAe,KAAKP,KAAL,CAAWQ,kBAA1B,CADF,EAEE,KAAK+D,+BAFP;AAID,OAjG4D,CAmG7D;;;AACA,UACEjB,SAAS,CAAC7C,eAAV,KAA8BlB,gBAAgB,CAACmB,IAA/C,IACA,CAAC,KAAKV,KAAL,CAAWS,eADZ,IAEA,KAAKT,KAAL,CAAW2B,WAAX,KAA2B,IAH7B,EAIE;AAAA;;AACA,oCAAKhC,KAAL,CAAWkC,MAAX,4EAAmBoC,QAAnB,CAA4B,CAA5B,EAA+B,KAAKrC,OAAL,CAAa,KAAK5B,KAAL,CAAW2B,WAAxB,CAA/B;AACD,OA1G4D,CA4G7D;;;AACA,UACE0B,SAAS,CAAC1B,WAAV,KAA0B,KAAKhC,KAAL,CAAWgC,WAArC,IACA,KAAK3B,KAAL,CAAWoB,YAFb,EAGE;AACA,aAAKC,QAAL,CAAc;AACZD,UAAAA,YAAY,EAAE,KADF;AAEZoB,UAAAA,SAAS,EAAE,IAFC;AAGZvC,UAAAA,SAAS,EAAE,IAHC;AAIZsB,UAAAA,QAAQ,EAAE,KAJE;AAKZgB,UAAAA,aAAa,EAAE,CAAC,KAAK5C,KAAL,CAAWgC,WAAZ,CALH;AAMZA,UAAAA,WAAW,EAAE,KAAKhC,KAAL,CAAWgC;AANZ,SAAd;AAQD;AACF;;;WAED,yCAAyC;AAAA;;AACvC,aACE,+BAAKhC,KAAL,CAAWoB,cAAX,gFAA2ByD,uBAA3B,MAAuD,KAAvD,IACA,0BAAC,KAAK7E,KAAL,CAAW8E,QAAZ,iDAAC,qBAAqBC,OAAtB,CAFF;AAID;;;WAED,8BACEC,IADF,EAEEC,YAFF,EAGQ;AACN,UAAIxG,eAAe,CAAC0F,SAAhB,IAA6B1F,eAAe,CAACyG,IAA7C,IAAqDF,IAAzD,EAA+D;AAC7DA,QAAAA,IAAI,CAACG,mBAAL,CACE1G,eAAe,CAACyG,IADlB,EAEED,YAFF;AAIAD,QAAAA,IAAI,CAACI,gBAAL,CACE3G,eAAe,CAACyG,IADlB,EAEED,YAFF;AAID,OATD,MASO;AACL,YAAI,KAAKI,uBAAT,EAAkC;AAChC5B,UAAAA,YAAY,CAAC,KAAK4B,uBAAN,CAAZ;AACD;;AACD,aAAKA,uBAAL,GAA+BjB,UAAU,CACvCa,YADuC,EAEvC,KAAKjF,KAAL,CAAWmB,QAAX,KAAwBtC,OAAxB,IAAmC,KAAKmB,KAAL,CAAWmB,QAAX,KAAwBrC,KAA3D,GACI,GADJ,GAEI,GAJmC,CAAzC;AAMD;AACF;;;WAED,6BAA0B;AAAA;;AACxB,UAAI,OAAO,KAAKyC,MAAZ,KAAuB,WAAvB,sBAAsC,KAAKuB,QAA3C,2CAAsC,eAAewC,aAAzD,EAAwE;AACrE,aAAKxC,QAAL,CAAcwC,aAAf,CAA6CC,IAA7C;AACD;AACF;;;WAED,mBAAUhC,EAAV,EAA6B;AAC3B,UAAIA,EAAE,KAAK,IAAX,EAAiB;AACf,eAAOtD,SAAP;AACD;;AACD,aAAO,KAAKuF,UAAL,CAAgBjC,EAAhB,CAAP;AACD;;;WAED,yBAAgBjD,SAAhB,EAAmCG,MAAnC,EAAoD;AAAA;;AAClD,UAAMuB,WAAW,GAAG,KAAKhC,KAAL,CAAWgC,WAA/B;;AACA,UAAIvB,MAAJ,EAAY;AACV,aAAKwB,OAAL,CAAa3B,SAAb,IAA0B,CAA1B;AACD;;AACD,WAAKoB,QAAL,CACE;AACEpB,QAAAA,SAAS,EAAE,IADb;AAEEuC,QAAAA,SAAS,EAAE,IAFb;AAGED,QAAAA,aAAa,EAAE,CAACZ,WAAD,CAHjB;AAIEA,QAAAA,WAAW,EAAXA,WAJF;AAKEJ,QAAAA,QAAQ,EAAE,KALZ;AAMEnB,QAAAA,MAAM,EAAER;AANV,OADF,EASE,YAAM;AAAA;;AACJ,+BAAA,MAAI,CAACD,KAAL,CAAWkC,MAAX,4EAAmBoC,QAAnB,CAA4B,CAA5B,EAA+B7D,MAAM,GAAG,MAAI,CAACwB,OAAL,CAAaD,WAAb,CAAH,GAA+B,CAApE;AACA,QAAA,MAAI,CAAChC,KAAL,CAAWuE,YAAX,IACE,MAAI,CAACvE,KAAL,CAAWuE,YAAX,CAAwB;AAAE9D,UAAAA,MAAM,EAANA,MAAF;AAAU+D,UAAAA,IAAI,EAAElE,SAAhB;AAA2BmE,UAAAA,EAAE,EAAEzC;AAA/B,SAAxB,CADF;AAED,OAbH;AAeD;;;WAkCD,8BAA2B;AACzB,WAAKhC,KAAL,CAAW2B,WAAX,IAA0B,KAAK3B,KAAL,CAAW2B,WAAX,EAA1B;AACD;;;WAED,6BAA0B;AACxB,WAAK3B,KAAL,CAAWgB,iBAAX,IAAgC,KAAKhB,KAAL,CAAWgB,iBAAX,EAAhC;AACA,WAAKU,QAAL,CAAc;AACZY,QAAAA,kBAAkB,EAAE,IADR;AAEZzB,QAAAA,kBAAkB,EAAE,IAFR;AAGZgB,QAAAA,WAAW,EAAE,KAHD;AAIZf,QAAAA,eAAe,EAAE,IAJL;AAKZuB,QAAAA,eAAe,EAAE,CALL;AAMZG,QAAAA,cAAc,EAAE;AANJ,OAAd;AAQD;;;WA+ED,8BAAqBiD,OAArB,EAAuE;AACrE,UAAI,CAACpG,SAAD,IAAc,CAAC,KAAKkC,MAAxB,EAAgC;AAC9B,eAAO,EAAP;AACD;;AAED,UAAMmE,MAAM,GAAGD,OAAO,KAAK,KAAKpF,KAAL,CAAWiC,kBAAtC;AACA,UAAMqD,MAAM,GAAGF,OAAO,KAAK,KAAKpF,KAAL,CAAWQ,kBAAtC;;AAEA,UAAK,CAAC6E,MAAD,IAAW,CAACC,MAAb,IAAwB,KAAKtF,KAAL,CAAWS,eAAvC,EAAwD;AACtD,eAAO,EAAP;AACD;;AAED,UAAI8E,kBAAkB,aAAM,KAAKvF,KAAL,CAAWmC,cAAjB,OAAtB;AACA,UAAIqD,kBAAkB,aACpB,CAAC,EAAD,GAAO,KAAKxF,KAAL,CAAWmC,cAAX,GAA4B,GAA7B,GAAoC,KAAKjB,MAAL,CAAYC,UAAhD,GAA6D,CAD/C,MAAtB;AAGA,UAAIsE,eAAe,GAChB,OAAO,KAAKvE,MAAL,CAAYC,UAAZ,GAAyB,KAAKnB,KAAL,CAAWmC,cAA3C,CAAD,GACA,KAAKjB,MAAL,CAAYC,UAFd;;AAIA,UAAI,KAAKnB,KAAL,CAAWS,eAAf,EAAgC;AAC9B,eAAO4E,MAAM,GACT;AAAEK,UAAAA,SAAS,sCAA+BD,eAA/B;AAAX,SADS,GAET,EAFJ;AAGD;;AAED,UAAIH,MAAJ,EAAY;AACV,eAAO;AACLK,UAAAA,SAAS,wBAAiBH,kBAAjB,YADJ;AAELI,UAAAA,eAAe,wBAAiBJ,kBAAjB;AAFV,SAAP;AAID;;AACD,UAAIH,MAAJ,EAAY;AACV,eAAO;AACLM,UAAAA,SAAS,wBAAiBJ,kBAAjB,YADJ;AAELK,UAAAA,eAAe,wBAAiBL,kBAAjB,YAFV;AAGLG,UAAAA,SAAS,sCAA+BD,eAA/B;AAHJ,SAAP;AAKD;;AAED,aAAO,EAAP;AACD;;;WAED,kBAAS;AAAA;;AACP,yBAiBI,KAAK9F,KAjBT;AAAA,UACEqD,MADF,gBACEA,MADF;AAAA,UAEEC,KAFF,gBAEEA,KAFF;AAAA,UAGEnC,QAHF,gBAGEA,QAHF;AAAA,UAIe+E,EAJf,gBAIElE,WAJF;AAAA,UAKE8C,QALF,gBAKEA,QALF;AAAA,UAME1D,cANF,gBAMEA,cANF;AAAA,UAOEU,OAPF,gBAOEA,OAPF;AAAA,UAQEqE,GARF,gBAQEA,GARF;AAAA,UASE5B,YATF,gBASEA,YATF;AAAA,UAUE5C,WAVF,gBAUEA,WAVF;AAAA,UAWE+C,gBAXF,gBAWEA,gBAXF;AAAA,UAYE1D,iBAZF,gBAYEA,iBAZF;AAAA,UAaEO,MAbF,gBAaEA,MAbF;AAAA,UAcEuB,QAdF,gBAcEA,QAdF;AAAA,UAeEZ,MAfF,gBAeEA,MAfF;AAAA,UAgBKkE,SAhBL;;AAkBA,wBASI,KAAK/F,KATT;AAAA,UACEC,SADF,eACEA,SADF;AAAA,UAEEuC,SAFF,eAEEA,SAFF;AAAA,UAGEb,WAHF,eAGEA,WAHF;AAAA,UAIEM,kBAJF,eAIEA,kBAJF;AAAA,UAKEzB,kBALF,eAKEA,kBALF;AAAA,UAMEC,eANF,eAMEA,eANF;AAAA,UAOEL,MAPF,eAOEA,MAPF;AAAA,UAQEmB,QARF,eAQEA,QARF;AAWA,UAAMyE,SAAS,GAAG,CAAC,CAAChD,MAApB;AACA,UAAMiD,QAAQ,GAAG,CAAC,CAAChD,KAAnB;AAEA,UAAMQ,MAAM,GAAG,KAAKA,MAAL,CAAYyC,MAAZ,CAAmB,UAACvC,KAAD,EAA+B;AAC/D,YAAMyB,OAAO,GAAGhG,QAAQ,CAACuE,KAAK,CAAChE,KAAP,EAAcF,IAAd,CAAxB;AAEA,eACG2F,OAAO,KAAKxF,SAAZ,IAAyB,MAAI,CAACI,KAAL,CAAWuC,aAAX,CAAyBzC,QAAzB,CAAkCsF,OAAlC,CAA1B,IACAA,OAAO,KAAKnD,kBADZ,IAEAmD,OAAO,KAAK5E,kBAHd;AAKD,OARc,CAAf;AAUA,UAAM2F,gBAAgB,GAAG,KAAKtC,6BAAL,EAAzB;AAEA,UAAMuC,SAAS,GAAG;AAChB,0BAAkB,CAACD,gBAAD,IAAqB5E,QADvB;AAEhB,8BAAsB,CAAC4E,gBAAD,IAAqB,KAAKnG,KAAL,CAAWwB,WAFtC;AAGhB,2BAAmB2E;AAHH,OAAlB;AAMA,aACE,oBAAC,KAAD;AACE,QAAA,SAAS,EAAC;AADZ,SAEMJ,SAFN;AAGE,QAAA,SAAS,EAAE5H,UAAU,CAACG,YAAY,CAAC,MAAD,EAASwC,QAAT,CAAb,EAAiCsF,SAAjC,CAHvB;AAIE,QAAA,OAAO,EAAE,KAAKC,OAJhB;AAKE,QAAA,KAAK,EAAE,KAAKC;AALd,UAOE;AAAK,QAAA,SAAS,EAAC;AAAf,SACG7C,MAAM,CAACC,GAAP,CAAW,UAACC,KAAD,EAA+B;AAAA;;AACzC,YAAMyB,OAAO,GAAGhG,QAAQ,CAACuE,KAAK,CAAChE,KAAP,EAAcF,IAAd,CAAxB;AACA,YAAM4F,MAAM,GACVD,OAAO,KAAKnF,SAAZ,IAAyBmF,OAAO,KAAKnD,kBADvC;AAEA,YAAMsE,kBAAkB,GACtBhF,QAAQ,IAAI6D,OAAO,MAAMhF,MAAM,GAAGH,SAAH,GAAeuC,SAA3B,CADrB;AAEA,YAAMgE,gBAAgB,GACpBnB,MAAM,IACND,OAAO,KAAK5E,kBADZ,IAEC4E,OAAO,KAAK5C,SAAZ,IAAyBpC,MAH5B;AAKA,eACE;AACE;AACA,UAAA,SAAS,EAAEjC,UAAU,CAAC,aAAD,EAAgB;AACnC,mCAAuBiH,OAAO,KAAKzD,WADA;AAEnC,iCAAqByD,OAAO,KAAKnF,SAFE;AAGnC,iCAAqBmF,OAAO,KAAK5C,SAHE;AAInC,4CACE4C,OAAO,KAAKnD,kBALqB;AAMnC,4CACEmD,OAAO,KAAK5E,kBAPqB;AAQnC,+CACEC,eAAe,KAAKlB,gBAAgB,CAACqB,OATJ;AAUnC,8CACEH,eAAe,KAAKlB,gBAAgB,CAACmB;AAXJ,WAAhB,CAFvB;AAeE,UAAA,cAAc,EACZ6F,kBAAkB,GAAG,MAAI,CAACvC,oBAAR,GAA+BpE,SAhBrD;AAkBE,UAAA,GAAG,EAAE,aAAC6G,EAAD;AAAA,mBACHrB,OAAO,KAAKxF,SAAZ,KAA0B,MAAI,CAACuF,UAAL,CAAgBC,OAAhB,IAA2BqB,EAArD,CADG;AAAA,WAlBP;AAqBE,UAAA,KAAK,EAAE,MAAI,CAACC,oBAAL,CAA0BtB,OAA1B,CArBT;AAsBE,UAAA,GAAG,EAAEA;AAtBP,WAwBE;AACE,UAAA,SAAS,EAAC,gBADZ;AAEE,UAAA,KAAK,EAAE;AACLuB,YAAAA,SAAS,EAAEH,gBAAgB,GACvB,oBAAE,MAAI,CAAC5E,OAAL,CAAawD,OAAb,CAAF,2DAAqC,CAArC,CADuB,GAEvBxF;AAHC;AAFT,WAQE,oBAAC,qBAAD;AACE,UAAA,QAAQ,EACNwF,OAAO,KAAK5C,SAAZ,IAAyB4C,OAAO,KAAK5E;AAFzC,WAKGmD,KALH,CARF,CAxBF,CADF;AA2CD,OAtDA,CADH,CAPF,EAgEE,oBAAC,aAAD,QACGqC,SAAS,IAAI;AAAK,QAAA,SAAS,EAAC;AAAf,SAA+BhD,MAA/B,CADhB,EAEGiD,QAAQ,IAAI;AAAK,QAAA,SAAS,EAAC;AAAf,SAA8BhD,KAA9B,CAFf,CAhEF,CADF;AAuED;;;;EAxiBgB/E,KAAK,CAAC0I,S,GA2iBzB;;;gBA3iBMlH,I,kBAwBsC;AACxC+B,EAAAA,OAAO,EAAE;AAD+B,C;;AAohB5C,eAAe7C,WAAW,CACxBA,WAAW,CACTA,WAAW,CACTD,YAAY,CAACM,OAAO,CAAYS,IAAZ,CAAR,CADH,EAETZ,eAFS,EAGT,UAHS,CADF,EAMTD,qBANS,EAOT,gBAPS,CADa,EAUxBK,aAVwB,EAWxB,QAXwB,CAA1B","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent, animationEvent } from \"../../lib/supportEvents\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext, SplitColContextProps } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { canUseDOM, withDOM, DOMProps } from \"../../lib/dom\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { swipeBackExcluded } from \"./utils\";\nimport \"./View.css\";\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: number | undefined;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport interface ViewProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n onTransition?(params: { isBack: boolean; from: string; to: string }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(): void;\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewState {\n animated: boolean;\n\n visiblePanels: string[];\n activePanel: string | null;\n isBack: boolean | undefined;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipebackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nconst warn = warnOnce(\"View\");\nclass View extends React.Component<ViewProps & DOMProps, ViewState> {\n constructor(props: ViewProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipebackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewProps> = {\n history: [],\n };\n\n private readonly scrolls = scrollsCache[getNavId(this.props) as string] || {};\n private transitionFinishTimeout: number | undefined = undefined;\n private animationFinishTimeout: number | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentDidMount() {\n if (process.env.NODE_ENV === \"development\") {\n const { popout, modal } = this.props;\n popout &&\n warn(\n \"Свойство popout устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.\"\n );\n modal &&\n warn(\n \"Свойство modal устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.\"\n );\n }\n }\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n }\n\n componentDidUpdate(prevProps: ViewProps, prevState: ViewState) {\n this.props.popout && !prevProps.popout && this.blurActiveElement();\n this.props.modal && !prevProps.modal && this.blurActiveElement();\n\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find(\n (id) => id === prevProps.activePanel || id === this.props.activePanel\n );\n\n const isBack = firstLayerId === this.props.activePanel;\n this.scrolls[prevProps.activePanel] = this.props.scroll?.getScroll().y;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.blurActiveElement();\n\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (\n prevProps.activePanel !== this.props.activePanel &&\n prevState.swipingBack\n ) {\n const nextPanel = this.props.activePanel;\n const prevPanel = prevProps.activePanel;\n if (prevState.swipeBackPrevPanel !== null) {\n this.scrolls[prevState.swipeBackPrevPanel] = 0;\n }\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n if (this.state.activePanel !== null) {\n this.props.scroll?.scrollTo(\n 0,\n this.scrolls[this.state.activePanel]\n );\n }\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n }\n );\n }\n\n // Начался свайп назад\n if (!prevState.swipingBack && this.state.swipingBack) {\n this.props.onSwipeBackStart && this.props.onSwipeBackStart();\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n this.props.scroll?.scrollTo(0, this.scrolls[this.state.activePanel]);\n }\n\n // Закончился Safari свайп\n if (\n prevProps.activePanel !== this.props.activePanel &&\n this.state.browserSwipe\n ) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== \"undefined\" && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n if (isBack) {\n this.scrolls[prevPanel] = 0;\n }\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? this.scrolls[activePanel] : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n }\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n \"vkui-animation-ios-next-forward\",\n \"vkui-animation-ios-prev-back\",\n \"vkui-animation-view-next-forward\",\n \"vkui-animation-view-prev-back\",\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e?.propertyName.includes(\"transform\") &&\n e?.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (e: TouchEvent): void => {\n if (swipeBackExcluded(e)) {\n return;\n }\n\n const { platform, configProvider } = this.props;\n\n if (\n platform === IOS &&\n !configProvider?.isWebView &&\n (e.startX <= 70 || e.startX >= this.window!.innerWidth - 70) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n if (\n platform === IOS &&\n configProvider?.isWebView &&\n this.props.onSwipeBack\n ) {\n if ((this.state.animated && e.startX <= 70) || !this.window) {\n return;\n }\n\n if (\n e.startX <= 70 &&\n !this.state.swipingBack &&\n (this.props.history?.length ?? 0) > 1\n ) {\n if (this.state.activePanel !== null) {\n this.scrolls[this.state.activePanel] =\n this.props.scroll?.getScroll().y;\n }\n this.setState({\n swipingBack: true,\n swipebackStartX: e.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history!.slice(-2)[0],\n });\n }\n if (this.state.swipingBack) {\n let swipeBackShift = 0;\n if (e.shiftX < 0) {\n swipeBackShift = 0;\n } else if (\n e.shiftX >\n this.window.innerWidth - this.state.swipebackStartX\n ) {\n swipeBackShift = this.window?.innerWidth;\n } else {\n swipeBackShift = e.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n }\n };\n\n onEnd = (e: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / e.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= (this.window?.innerWidth ?? 0)) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipebackStartX + this.state.swipeBackShift >\n this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) /\n this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev\n ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` }\n : {};\n }\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 boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n popout,\n modal,\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n isBack,\n animated,\n } = this.state;\n\n const hasPopout = !!popout;\n const hasModal = !!modal;\n\n const panels = this.panels.filter((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n const modifiers = {\n \"View--animated\": !disableAnimation && animated,\n \"View--swiping-back\": !disableAnimation && this.state.swipingBack,\n \"View--no-motion\": disableAnimation,\n };\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n vkuiClass={classNames(getClassName(\"View\", platform), modifiers)}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div vkuiClass=\"View__panels\">\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isTransitionTarget =\n animated && panelId === (isBack ? prevPanel : nextPanel);\n const compensateScroll =\n isPrev ||\n panelId === swipeBackNextPanel ||\n (panelId === nextPanel && isBack);\n\n return (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"View__panel\", {\n \"View__panel--active\": panelId === activePanel,\n \"View__panel--prev\": panelId === prevPanel,\n \"View__panel--next\": panelId === nextPanel,\n \"View__panel--swipe-back-prev\":\n panelId === swipeBackPrevPanel,\n \"View__panel--swipe-back-next\":\n panelId === swipeBackNextPanel,\n \"View__panel--swipe-back-success\":\n swipeBackResult === SwipeBackResults.success,\n \"View__panel--swipe-back-failed\":\n swipeBackResult === SwipeBackResults.fail,\n })}\n onAnimationEnd={\n isTransitionTarget ? this.transitionEndHandler : undefined\n }\n ref={(el) =>\n panelId !== undefined && (this.panelNodes[panelId] = el)\n }\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n vkuiClass=\"View__panel-in\"\n style={{\n marginTop: compensateScroll\n ? -(this.scrolls[panelId as string] ?? 0)\n : undefined,\n }}\n >\n <NavTransitionProvider\n entering={\n panelId === nextPanel || panelId === swipeBackNextPanel\n }\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n <AppRootPortal>\n {hasPopout && <div vkuiClass=\"View__popout\">{popout}</div>}\n {hasModal && <div vkuiClass=\"View__modal\">{modal}</div>}\n </AppRootPortal>\n </Touch>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewProps>(View)),\n SplitColContext,\n \"splitCol\"\n ),\n ConfigProviderContext,\n \"configProvider\"\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"View.js"}
@@ -1 +1 @@
1
- .vkuiView--ios .vkuiPanel__in{padding-bottom:0;padding-bottom:var(--safe-area-inset-bottom)}.vkuiView--ios .vkuiPanel__in{padding:0 0 0 0;padding:0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left)}.vkuiView--ios .vkuiView__panel--swipe-back-prev{box-shadow:-2px 0 12px rgba(0,0,0,.3)}.vkuiView--ios .vkuiView__panel--swipe-back-prev.vkuiView__panel--swipe-back-success{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-next.vkuiView__panel--swipe-back-success{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-prev.vkuiView__panel--swipe-back-failed{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-next.vkuiView__panel--swipe-back-failed{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.vkuiView--ios .vkuiView__panel--prev{-webkit-animation:vkui-animation-ios-prev-forward .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-prev-forward .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-prev-forward .6s var(--ios-easing);animation:vkui-animation-ios-prev-forward .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next{-webkit-animation:vkui-animation-ios-next-back .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-next-back .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-next-back .6s var(--ios-easing);animation:vkui-animation-ios-next-back .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev~.vkuiView__panel--next{-webkit-animation:vkui-animation-ios-next-forward .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-next-forward .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-next-forward .6s var(--ios-easing);animation:vkui-animation-ios-next-forward .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next~.vkuiView__panel--prev{-webkit-animation:vkui-animation-ios-prev-back .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-prev-back .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-prev-back .6s var(--ios-easing);animation:vkui-animation-ios-prev-back .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev .vkuiPanel__fade,.vkuiView--ios .vkuiView__panel--next .vkuiPanel__fade{position:absolute;width:100%;height:100%;left:0;top:0;z-index:10;background:#000;pointer-events:none}.vkuiView--ios .vkuiView__panel--prev .vkuiPanel__fade{-webkit-animation:vkui-animation-ios-fade-in .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-fade-in .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-fade-in .6s var(--ios-easing);animation:vkui-animation-ios-fade-in .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next .vkuiPanel__fade{-webkit-animation:vkui-animation-ios-fade-out .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-fade-out .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-fade-out .6s var(--ios-easing);animation:vkui-animation-ios-fade-out .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev~.vkuiView__panel--next .vkuiPanel__fade,.vkuiView--ios .vkuiView__panel--next~.vkuiView__panel--prev .vkuiPanel__fade{display:none}.vkuiView--ios.vkuiView--no-motion .vkuiView__panel,.vkuiView--ios.vkuiView--no-motion .vkuiView__panel .vkuiPanel__in{-webkit-animation:none;animation:none}.vkuiView--ios .vkuiView__panel--active .vkuiPanel__fade{display:none}@-webkit-keyframes vkui-animation-ios-next-forward{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes vkui-animation-ios-next-forward{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes vkui-animation-ios-next-back{0%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes vkui-animation-ios-next-back{0%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes vkui-animation-ios-prev-forward{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@keyframes vkui-animation-ios-prev-forward{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@-webkit-keyframes vkui-animation-ios-prev-back{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes vkui-animation-ios-prev-back{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes vkui-animation-ios-fade-in{0%{opacity:0}to{opacity:.3}}@keyframes vkui-animation-ios-fade-in{0%{opacity:0}to{opacity:.3}}@-webkit-keyframes vkui-animation-ios-fade-out{0%{opacity:.3}to{opacity:0}}@keyframes vkui-animation-ios-fade-out{0%{opacity:.3}to{opacity:0}}
1
+ .vkuiView--ios .vkuiPanel__in{padding-bottom:0;padding-bottom:var(--safe-area-inset-bottom)}.vkuiView--ios .vkuiPanel__in{padding:0 0 0 0;padding:0 var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left)}.vkuiView--ios .vkuiView__panel--swipe-back-prev{box-shadow:-2px 0 12px rgba(0,0,0,.3)}.vkuiView--ios .vkuiView__panel--swipe-back-prev.vkuiView__panel--swipe-back-success{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-next.vkuiView__panel--swipe-back-success{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-prev.vkuiView__panel--swipe-back-failed{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.vkuiView--ios .vkuiView__panel--swipe-back-next.vkuiView__panel--swipe-back-failed{transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.vkuiView--ios .vkuiView__panel--prev{-webkit-animation:vkui-animation-ios-prev-forward .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-prev-forward .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-prev-forward .6s var(--ios-easing);animation:vkui-animation-ios-prev-forward .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next{-webkit-animation:vkui-animation-ios-next-back .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-next-back .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-next-back .6s var(--ios-easing);animation:vkui-animation-ios-next-back .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev~.vkuiView__panel--next{-webkit-animation:vkui-animation-ios-next-forward .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-next-forward .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-next-forward .6s var(--ios-easing);animation:vkui-animation-ios-next-forward .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next~.vkuiView__panel--prev{-webkit-animation:vkui-animation-ios-prev-back .6s cubic-bezier(.36,.66,.04,1) forwards;animation:vkui-animation-ios-prev-back .6s cubic-bezier(.36,.66,.04,1) forwards;-webkit-animation:vkui-animation-ios-prev-back .6s var(--ios-easing) forwards;animation:vkui-animation-ios-prev-back .6s var(--ios-easing) forwards}.vkuiView--ios .vkuiView__panel--prev .vkuiPanel__fade,.vkuiView--ios .vkuiView__panel--next .vkuiPanel__fade{position:absolute;width:100%;height:100%;left:0;top:0;z-index:10;background:#000;pointer-events:none}.vkuiView--ios .vkuiView__panel--prev .vkuiPanel__fade{-webkit-animation:vkui-animation-ios-fade-in .6s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-ios-fade-in .6s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-ios-fade-in .6s var(--ios-easing);animation:vkui-animation-ios-fade-in .6s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--next .vkuiPanel__fade{-webkit-animation:vkui-animation-ios-fade-out .6s cubic-bezier(.36,.66,.04,1) forwards;animation:vkui-animation-ios-fade-out .6s cubic-bezier(.36,.66,.04,1) forwards;-webkit-animation:vkui-animation-ios-fade-out .6s var(--ios-easing) forwards;animation:vkui-animation-ios-fade-out .6s var(--ios-easing) forwards}.vkuiView--ios .vkuiView__panel--prev~.vkuiView__panel--next .vkuiPanel__fade,.vkuiView--ios .vkuiView__panel--next~.vkuiView__panel--prev .vkuiPanel__fade{display:none}.vkuiView--ios.vkuiView--no-motion .vkuiView__panel,.vkuiView--ios.vkuiView--no-motion .vkuiView__panel .vkuiPanel__in{-webkit-animation:none;animation:none}.vkuiView--ios .vkuiView__panel--active .vkuiPanel__fade{display:none}@-webkit-keyframes vkui-animation-ios-next-forward{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes vkui-animation-ios-next-forward{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes vkui-animation-ios-next-back{0%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes vkui-animation-ios-next-back{0%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes vkui-animation-ios-prev-forward{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@keyframes vkui-animation-ios-prev-forward{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@-webkit-keyframes vkui-animation-ios-prev-back{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes vkui-animation-ios-prev-back{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes vkui-animation-ios-fade-in{0%{opacity:0}to{opacity:.3}}@keyframes vkui-animation-ios-fade-in{0%{opacity:0}to{opacity:.3}}@-webkit-keyframes vkui-animation-ios-fade-out{0%{opacity:.3}to{opacity:0}}@keyframes vkui-animation-ios-fade-out{0%{opacity:.3}to{opacity:0}}
@@ -197,6 +197,10 @@ var ViewInfiniteComponent = /*#__PURE__*/function (_React$Component) {
197
197
  if (id) {
198
198
  scrollsCache[id] = this.scrolls;
199
199
  }
200
+
201
+ if (this.animationFinishTimeout) {
202
+ clearTimeout(this.animationFinishTimeout);
203
+ }
200
204
  }
201
205
  }, {
202
206
  key: "componentDidUpdate",
@@ -541,6 +545,7 @@ var ViewInfiniteComponent = /*#__PURE__*/function (_React$Component) {
541
545
  var scrollList = panelId && _this4.scrolls[panelId] || [];
542
546
  var scroll = scrollList[scrollList.length - 1] || 0;
543
547
  return createScopedElement("div", {
548
+ // eslint-disable-next-line vkui/no-object-expression-in-arguments
544
549
  vkuiClass: classNames("View__panel", {
545
550
  "View__panel--active": panelId === activePanel,
546
551
  "View__panel--prev": panelId === prevPanel,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"names":["React","classNames","transitionEvent","animationEvent","getClassName","IOS","ANDROID","VKCOM","Touch","withPlatform","withContext","ConfigProviderContext","SplitColContext","AppRootPortal","canUseDOM","withDOM","ScrollContext","NavTransitionProvider","getNavId","warnOnce","swipeBackExcluded","warn","SwipeBackResults","scrollsCache","ViewInfiniteComponent","props","undefined","e","includes","animationName","state","prevPanel","flushTransition","Boolean","isBack","propertyName","target","pickPanel","swipeBackNextPanel","swipeBackResult","fail","onSwipeBackCancel","success","onSwipeBackSuccess","window","platform","configProvider","isWebView","startX","innerWidth","browserSwipe","setState","onSwipeBack","animated","swipingBack","history","length","activePanel","prevScrolls","scrolls","scroll","getScroll","y","swipebackStartX","swipeBackPrevPanel","slice","swipeBackShift","shiftX","speed","duration","visiblePanels","nextPanel","document","Children","toArray","children","id","prevProps","prevState","popout","blurActiveElement","modal","isBackCheck","from","to","firstLayerId","panels","map","panel","find","shouldDisableTransitionMotion","supported","animationFinishTimeout","clearTimeout","setTimeout","transitionEndHandler","scrollPosition","prevPanelScrolls","newPanelScrolls","pop","scrollTo","onTransition","onSwipeBackStart","waitTransitionFinish","swipingBackTransitionEndHandler","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","transitionFinishTimeout","activeElement","blur","panelNodes","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","_1","nav","restProps","hasPopout","hasModal","filter","sort","isPrevPanel","isNextPanel","disableAnimation","modifiers","onMoveX","onEnd","compensateScroll","isTransitionTarget","scrollList","el","calcPanelSwipeStyles","marginTop","Component","ViewInfinite"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent, animationEvent } from \"../../lib/supportEvents\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext, SplitColContextProps } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { canUseDOM, withDOM, DOMProps } from \"../../lib/dom\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { swipeBackExcluded } from \"./utils\";\nimport \"./View.css\";\n\nconst warn = warnOnce(\"ViewInfinite\");\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: Array<number | undefined>;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nlet scrollsCache: ViewsScrolls = {};\n\nexport type TransitionParams = { from: string | null; to: string | null };\n\nexport interface ViewInfiniteProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n onTransition?(params: TransitionParams & { isBack: boolean }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(): void;\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n isBackCheck?(params: TransitionParams): boolean;\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewInfiniteState {\n animated: boolean;\n\n visiblePanels: Array<string | null>;\n activePanel: string | null;\n isBack?: boolean;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipebackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nclass ViewInfiniteComponent extends React.Component<\n ViewInfiniteProps & DOMProps,\n ViewInfiniteState\n> {\n constructor(props: ViewInfiniteProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipebackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewInfiniteProps> = {\n history: [],\n };\n\n private scrolls = scrollsCache[getNavId(this.props, warn) as string] || {};\n private transitionFinishTimeout: number | undefined = undefined;\n private animationFinishTimeout: number | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n }\n\n componentDidUpdate(\n prevProps: ViewInfiniteProps,\n prevState: ViewInfiniteState\n ) {\n this.props.popout && !prevProps.popout && this.blurActiveElement();\n this.props.modal && !prevProps.modal && this.blurActiveElement();\n\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n let isBack = false;\n\n if (this.props.isBackCheck) {\n isBack = this.props.isBackCheck({\n from: prevProps.activePanel,\n to: this.props.activePanel,\n });\n } else {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find(\n (id) =>\n id === prevProps.activePanel || id === this.props.activePanel\n );\n isBack = firstLayerId === this.props.activePanel;\n }\n\n this.blurActiveElement();\n\n const prevScrolls = this.scrolls[prevProps.activePanel] || [];\n const scrolls = {\n ...this.scrolls,\n [prevProps.activePanel]: [\n ...prevScrolls,\n this.props.scroll?.getScroll().y,\n ],\n };\n this.scrolls = scrolls;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (\n prevProps.activePanel !== this.props.activePanel &&\n prevState.swipingBack\n ) {\n const nextPanel = this.state.swipeBackNextPanel;\n const prevPanel = this.state.swipeBackPrevPanel;\n let scrollPosition: undefined | number = undefined;\n\n this.scrolls = {\n ...this.scrolls,\n };\n\n if (prevPanel !== null) {\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(\n 0,\n -1\n );\n this.scrolls[prevPanel] = prevPanelScrolls;\n }\n if (nextPanel !== null) {\n const newPanelScrolls = [...(this.scrolls[nextPanel] || [])];\n scrollPosition = newPanelScrolls.pop();\n this.scrolls[nextPanel] = newPanelScrolls;\n }\n\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n this.props.scroll?.scrollTo(0, scrollPosition);\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n }\n );\n }\n\n // Начался свайп назад\n if (!prevState.swipingBack && this.state.swipingBack) {\n this.props.onSwipeBackStart && this.props.onSwipeBackStart();\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n const newPanelScrolls = [...(this.scrolls[this.state.activePanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: newPanelScrolls,\n };\n\n this.props.scroll?.scrollTo(0, scrollPosition);\n }\n\n // Закончился Safari свайп\n if (\n prevProps.activePanel !== this.props.activePanel &&\n this.state.browserSwipe\n ) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== \"undefined\" && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n const newPanelScrolls = [...(this.scrolls[activePanel] || [])];\n const scrollPosition = isBack ? newPanelScrolls.pop() : 0;\n if (isBack) {\n this.scrolls = {\n ...this.scrolls,\n [prevPanel]: prevPanelScrolls,\n [activePanel]: newPanelScrolls,\n };\n }\n\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel: activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? scrollPosition : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n }\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n \"vkui-animation-ios-next-forward\",\n \"vkui-animation-ios-prev-back\",\n \"vkui-animation-view-next-forward\",\n \"vkui-animation-view-prev-back\",\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e.propertyName.includes(\"transform\") &&\n e.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (e: TouchEvent): void => {\n if (swipeBackExcluded(e) || !this.window) {\n return;\n }\n\n const { platform, configProvider } = this.props;\n\n if (\n platform === IOS &&\n !configProvider?.isWebView &&\n (e.startX <= 70 || e.startX >= this.window.innerWidth - 70) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n if (\n platform === IOS &&\n configProvider?.isWebView &&\n this.props.onSwipeBack\n ) {\n if (this.state.animated && e.startX <= 70) {\n return;\n }\n\n if (\n e.startX <= 70 &&\n !this.state.swipingBack &&\n (this.props.history?.length ?? 0) > 1\n ) {\n if (this.state.activePanel !== null) {\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [\n ...prevScrolls,\n this.props.scroll?.getScroll().y,\n ],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipebackStartX: e.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history!.slice(-2)[0],\n });\n }\n if (this.state.swipingBack) {\n let swipeBackShift;\n if (e.shiftX < 0) {\n swipeBackShift = 0;\n } else if (\n e.shiftX >\n this.window.innerWidth - this.state.swipebackStartX\n ) {\n swipeBackShift = this.window.innerWidth;\n } else {\n swipeBackShift = e.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n }\n };\n\n onEnd = (e: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / e.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= this.window.innerWidth) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipebackStartX + this.state.swipeBackShift >\n this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) /\n this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev\n ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` }\n : {};\n }\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 boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n popout,\n modal,\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n id,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n isBackCheck,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n isBack,\n animated,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n swipingBack,\n } = this.state;\n\n const hasPopout = !!popout;\n const hasModal = !!modal;\n\n const panels = this.panels\n .filter((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined &&\n this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n })\n .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel =\n panelId === nextPanel || panelId === swipeBackNextPanel;\n\n if (isNextPanel) {\n return swipingBack || this.state.isBack ? -1 : 1;\n }\n\n if (isPrevPanel) {\n return swipingBack || this.state.isBack ? 1 : -1;\n }\n\n return 0;\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n const modifiers = {\n \"View--animated\": !disableAnimation && this.state.animated,\n \"View--swiping-back\": !disableAnimation && this.state.swipingBack,\n \"View--no-motion\": disableAnimation,\n };\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n vkuiClass={classNames(getClassName(\"View\", platform), modifiers)}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div vkuiClass=\"View__panels\">\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev ||\n panelId === swipeBackNextPanel ||\n (panelId === nextPanel && isBack);\n const isTransitionTarget =\n animated && panelId === (isBack ? prevPanel : nextPanel);\n const scrollList = (panelId && this.scrolls[panelId]) || [];\n const scroll = scrollList[scrollList.length - 1] || 0;\n\n return (\n <div\n vkuiClass={classNames(\"View__panel\", {\n \"View__panel--active\": panelId === activePanel,\n \"View__panel--prev\": panelId === prevPanel,\n \"View__panel--next\": panelId === nextPanel,\n \"View__panel--swipe-back-prev\":\n panelId === swipeBackPrevPanel,\n \"View__panel--swipe-back-next\":\n panelId === swipeBackNextPanel,\n \"View__panel--swipe-back-success\":\n swipeBackResult === SwipeBackResults.success,\n \"View__panel--swipe-back-failed\":\n swipeBackResult === SwipeBackResults.fail,\n })}\n onAnimationEnd={\n isTransitionTarget ? this.transitionEndHandler : undefined\n }\n ref={(el) =>\n panelId !== undefined && (this.panelNodes[panelId] = el)\n }\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n vkuiClass=\"View__panel-in\"\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionProvider\n entering={\n panelId === nextPanel || panelId === swipeBackNextPanel\n }\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n <AppRootPortal>\n {hasPopout && <div vkuiClass=\"View__popout\">{popout}</div>}\n {hasModal && <div vkuiClass=\"View__modal\">{modal}</div>}\n </AppRootPortal>\n </Touch>\n );\n }\n}\n\nexport const ViewInfinite = withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewInfiniteProps>(ViewInfiniteComponent)),\n SplitColContext,\n \"splitCol\"\n ),\n ConfigProviderContext,\n \"configProvider\"\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"ViewInfinite.js"}
1
+ {"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"names":["React","classNames","transitionEvent","animationEvent","getClassName","IOS","ANDROID","VKCOM","Touch","withPlatform","withContext","ConfigProviderContext","SplitColContext","AppRootPortal","canUseDOM","withDOM","ScrollContext","NavTransitionProvider","getNavId","warnOnce","swipeBackExcluded","warn","SwipeBackResults","scrollsCache","ViewInfiniteComponent","props","undefined","e","includes","animationName","state","prevPanel","flushTransition","Boolean","isBack","propertyName","target","pickPanel","swipeBackNextPanel","swipeBackResult","fail","onSwipeBackCancel","success","onSwipeBackSuccess","window","platform","configProvider","isWebView","startX","innerWidth","browserSwipe","setState","onSwipeBack","animated","swipingBack","history","length","activePanel","prevScrolls","scrolls","scroll","getScroll","y","swipebackStartX","swipeBackPrevPanel","slice","swipeBackShift","shiftX","speed","duration","visiblePanels","nextPanel","document","Children","toArray","children","id","animationFinishTimeout","clearTimeout","prevProps","prevState","popout","blurActiveElement","modal","isBackCheck","from","to","firstLayerId","panels","map","panel","find","shouldDisableTransitionMotion","supported","setTimeout","transitionEndHandler","scrollPosition","prevPanelScrolls","newPanelScrolls","pop","scrollTo","onTransition","onSwipeBackStart","waitTransitionFinish","swipingBackTransitionEndHandler","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","transitionFinishTimeout","activeElement","blur","panelNodes","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","_1","nav","restProps","hasPopout","hasModal","filter","sort","isPrevPanel","isNextPanel","disableAnimation","modifiers","onMoveX","onEnd","compensateScroll","isTransitionTarget","scrollList","el","calcPanelSwipeStyles","marginTop","Component","ViewInfinite"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent, animationEvent } from \"../../lib/supportEvents\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext, SplitColContextProps } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { canUseDOM, withDOM, DOMProps } from \"../../lib/dom\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { swipeBackExcluded } from \"./utils\";\nimport \"./View.css\";\n\nconst warn = warnOnce(\"ViewInfinite\");\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: Array<number | undefined>;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nlet scrollsCache: ViewsScrolls = {};\n\nexport type TransitionParams = { from: string | null; to: string | null };\n\nexport interface ViewInfiniteProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n onTransition?(params: TransitionParams & { isBack: boolean }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(): void;\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n isBackCheck?(params: TransitionParams): boolean;\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewInfiniteState {\n animated: boolean;\n\n visiblePanels: Array<string | null>;\n activePanel: string | null;\n isBack?: boolean;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipebackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nclass ViewInfiniteComponent extends React.Component<\n ViewInfiniteProps & DOMProps,\n ViewInfiniteState\n> {\n constructor(props: ViewInfiniteProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipebackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewInfiniteProps> = {\n history: [],\n };\n\n private scrolls = scrollsCache[getNavId(this.props, warn) as string] || {};\n private transitionFinishTimeout: number | undefined = undefined;\n private animationFinishTimeout: number | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n }\n\n componentDidUpdate(\n prevProps: ViewInfiniteProps,\n prevState: ViewInfiniteState\n ) {\n this.props.popout && !prevProps.popout && this.blurActiveElement();\n this.props.modal && !prevProps.modal && this.blurActiveElement();\n\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n let isBack = false;\n\n if (this.props.isBackCheck) {\n isBack = this.props.isBackCheck({\n from: prevProps.activePanel,\n to: this.props.activePanel,\n });\n } else {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find(\n (id) =>\n id === prevProps.activePanel || id === this.props.activePanel\n );\n isBack = firstLayerId === this.props.activePanel;\n }\n\n this.blurActiveElement();\n\n const prevScrolls = this.scrolls[prevProps.activePanel] || [];\n const scrolls = {\n ...this.scrolls,\n [prevProps.activePanel]: [\n ...prevScrolls,\n this.props.scroll?.getScroll().y,\n ],\n };\n this.scrolls = scrolls;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (\n prevProps.activePanel !== this.props.activePanel &&\n prevState.swipingBack\n ) {\n const nextPanel = this.state.swipeBackNextPanel;\n const prevPanel = this.state.swipeBackPrevPanel;\n let scrollPosition: undefined | number = undefined;\n\n this.scrolls = {\n ...this.scrolls,\n };\n\n if (prevPanel !== null) {\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(\n 0,\n -1\n );\n this.scrolls[prevPanel] = prevPanelScrolls;\n }\n if (nextPanel !== null) {\n const newPanelScrolls = [...(this.scrolls[nextPanel] || [])];\n scrollPosition = newPanelScrolls.pop();\n this.scrolls[nextPanel] = newPanelScrolls;\n }\n\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n this.props.scroll?.scrollTo(0, scrollPosition);\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n }\n );\n }\n\n // Начался свайп назад\n if (!prevState.swipingBack && this.state.swipingBack) {\n this.props.onSwipeBackStart && this.props.onSwipeBackStart();\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n const newPanelScrolls = [...(this.scrolls[this.state.activePanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: newPanelScrolls,\n };\n\n this.props.scroll?.scrollTo(0, scrollPosition);\n }\n\n // Закончился Safari свайп\n if (\n prevProps.activePanel !== this.props.activePanel &&\n this.state.browserSwipe\n ) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== \"undefined\" && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n const newPanelScrolls = [...(this.scrolls[activePanel] || [])];\n const scrollPosition = isBack ? newPanelScrolls.pop() : 0;\n if (isBack) {\n this.scrolls = {\n ...this.scrolls,\n [prevPanel]: prevPanelScrolls,\n [activePanel]: newPanelScrolls,\n };\n }\n\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel: activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? scrollPosition : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n }\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n \"vkui-animation-ios-next-forward\",\n \"vkui-animation-ios-prev-back\",\n \"vkui-animation-view-next-forward\",\n \"vkui-animation-view-prev-back\",\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e.propertyName.includes(\"transform\") &&\n e.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (e: TouchEvent): void => {\n if (swipeBackExcluded(e) || !this.window) {\n return;\n }\n\n const { platform, configProvider } = this.props;\n\n if (\n platform === IOS &&\n !configProvider?.isWebView &&\n (e.startX <= 70 || e.startX >= this.window.innerWidth - 70) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n if (\n platform === IOS &&\n configProvider?.isWebView &&\n this.props.onSwipeBack\n ) {\n if (this.state.animated && e.startX <= 70) {\n return;\n }\n\n if (\n e.startX <= 70 &&\n !this.state.swipingBack &&\n (this.props.history?.length ?? 0) > 1\n ) {\n if (this.state.activePanel !== null) {\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [\n ...prevScrolls,\n this.props.scroll?.getScroll().y,\n ],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipebackStartX: e.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history!.slice(-2)[0],\n });\n }\n if (this.state.swipingBack) {\n let swipeBackShift;\n if (e.shiftX < 0) {\n swipeBackShift = 0;\n } else if (\n e.shiftX >\n this.window.innerWidth - this.state.swipebackStartX\n ) {\n swipeBackShift = this.window.innerWidth;\n } else {\n swipeBackShift = e.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n }\n };\n\n onEnd = (e: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / e.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= this.window.innerWidth) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipebackStartX + this.state.swipeBackShift >\n this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) /\n this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev\n ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` }\n : {};\n }\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 boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n popout,\n modal,\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n id,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n isBackCheck,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n isBack,\n animated,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n swipingBack,\n } = this.state;\n\n const hasPopout = !!popout;\n const hasModal = !!modal;\n\n const panels = this.panels\n .filter((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined &&\n this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n })\n .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel =\n panelId === nextPanel || panelId === swipeBackNextPanel;\n\n if (isNextPanel) {\n return swipingBack || this.state.isBack ? -1 : 1;\n }\n\n if (isPrevPanel) {\n return swipingBack || this.state.isBack ? 1 : -1;\n }\n\n return 0;\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n const modifiers = {\n \"View--animated\": !disableAnimation && this.state.animated,\n \"View--swiping-back\": !disableAnimation && this.state.swipingBack,\n \"View--no-motion\": disableAnimation,\n };\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n vkuiClass={classNames(getClassName(\"View\", platform), modifiers)}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div vkuiClass=\"View__panels\">\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev ||\n panelId === swipeBackNextPanel ||\n (panelId === nextPanel && isBack);\n const isTransitionTarget =\n animated && panelId === (isBack ? prevPanel : nextPanel);\n const scrollList = (panelId && this.scrolls[panelId]) || [];\n const scroll = scrollList[scrollList.length - 1] || 0;\n\n return (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"View__panel\", {\n \"View__panel--active\": panelId === activePanel,\n \"View__panel--prev\": panelId === prevPanel,\n \"View__panel--next\": panelId === nextPanel,\n \"View__panel--swipe-back-prev\":\n panelId === swipeBackPrevPanel,\n \"View__panel--swipe-back-next\":\n panelId === swipeBackNextPanel,\n \"View__panel--swipe-back-success\":\n swipeBackResult === SwipeBackResults.success,\n \"View__panel--swipe-back-failed\":\n swipeBackResult === SwipeBackResults.fail,\n })}\n onAnimationEnd={\n isTransitionTarget ? this.transitionEndHandler : undefined\n }\n ref={(el) =>\n panelId !== undefined && (this.panelNodes[panelId] = el)\n }\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n vkuiClass=\"View__panel-in\"\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionProvider\n entering={\n panelId === nextPanel || panelId === swipeBackNextPanel\n }\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n <AppRootPortal>\n {hasPopout && <div vkuiClass=\"View__popout\">{popout}</div>}\n {hasModal && <div vkuiClass=\"View__modal\">{modal}</div>}\n </AppRootPortal>\n </Touch>\n );\n }\n}\n\nexport const ViewInfinite = withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewInfiniteProps>(ViewInfiniteComponent)),\n SplitColContext,\n \"splitCol\"\n ),\n ConfigProviderContext,\n \"configProvider\"\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"ViewInfinite.js"}
@@ -1,6 +1,9 @@
1
1
  var swipeBackExcludedSelector = "input, textarea, [data-vkui-swipe-back=false]";
2
2
  export function swipeBackExcluded(e) {
3
- var target = e.originalEvent.target;
4
- return Boolean(target === null || target === void 0 ? void 0 : target.closest(swipeBackExcludedSelector));
3
+ var _target$closest;
4
+
5
+ var target = e.originalEvent.target; // eslint-disable-next-line no-restricted-properties
6
+
7
+ return Boolean(target === null || target === void 0 ? void 0 : (_target$closest = target.closest) === null || _target$closest === void 0 ? void 0 : _target$closest.call(target, swipeBackExcludedSelector));
5
8
  }
6
9
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/View/utils.ts"],"names":["swipeBackExcludedSelector","swipeBackExcluded","e","target","originalEvent","Boolean","closest"],"mappings":"AAEA,IAAMA,yBAAyB,GAC7B,+CADF;AAGA,OAAO,SAASC,iBAAT,CAA2BC,CAA3B,EAA0C;AAC/C,MAAMC,MAAM,GAAGD,CAAC,CAACE,aAAF,CAAgBD,MAA/B;AACA,SAAOE,OAAO,CAACF,MAAD,aAACA,MAAD,uBAACA,MAAM,CAAEG,OAAR,CAAgBN,yBAAhB,CAAD,CAAd;AACD","sourcesContent":["import { TouchEvent } from \"../Touch/Touch\";\n\nconst swipeBackExcludedSelector =\n \"input, textarea, [data-vkui-swipe-back=false]\";\n\nexport function swipeBackExcluded(e: TouchEvent) {\n const target = e.originalEvent.target as HTMLElement;\n return Boolean(target?.closest(swipeBackExcludedSelector));\n}\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../../../../src/components/View/utils.ts"],"names":["swipeBackExcludedSelector","swipeBackExcluded","e","target","originalEvent","Boolean","closest"],"mappings":"AAEA,IAAMA,yBAAyB,GAC7B,+CADF;AAGA,OAAO,SAASC,iBAAT,CAA2BC,CAA3B,EAA0C;AAAA;;AAC/C,MAAMC,MAAM,GAAGD,CAAC,CAACE,aAAF,CAAgBD,MAA/B,CAD+C,CAE/C;;AACA,SAAOE,OAAO,CAACF,MAAD,aAACA,MAAD,0CAACA,MAAM,CAAEG,OAAT,oDAAC,qBAAAH,MAAM,EAAYH,yBAAZ,CAAP,CAAd;AACD","sourcesContent":["import { TouchEvent } from \"../Touch/Touch\";\n\nconst swipeBackExcludedSelector =\n \"input, textarea, [data-vkui-swipe-back=false]\";\n\nexport function swipeBackExcluded(e: TouchEvent) {\n const target = e.originalEvent.target as HTMLElement;\n // eslint-disable-next-line no-restricted-properties\n return Boolean(target?.closest?.(swipeBackExcludedSelector));\n}\n"],"file":"utils.js"}
@@ -1 +1 @@
1
- .vkuiWriteBar{background:#fff;background:var(--background_content)}.vkuiWriteBar__before,.vkuiWriteBar__form,.vkuiWriteBar__after{display:flex;align-items:flex-end}.vkuiWriteBar__form{min-height:52px}.vkuiWriteBar__formIn{flex:1;min-width:0;display:flex;position:relative}.vkuiWriteBar__textarea{box-sizing:border-box;width:100%;flex:1;min-width:0;margin:0;background:0 0;border:0;resize:none;line-height:20px;color:#000;color:var(--text_primary);-webkit-appearance:none;max-height:120px}.vkuiWriteBar__textarea::-webkit-input-placeholder{color:#818c99;color:var(--text_placeholder)}.vkuiWriteBar__textarea::placeholder{color:#818c99;color:var(--text_placeholder)}.vkuiWriteBar__textarea::-moz-placeholder{opacity:1;color:#818c99;color:var(--text_placeholder)}.vkuiWriteBar__inlineAfter{display:flex;align-items:flex-end}.vkuiWriteBar--ios .vkuiWriteBar__before,.vkuiWriteBar--ios .vkuiWriteBar__after{padding:0 4px}.vkuiWriteBar--ios .vkuiWriteBar__formIn{box-sizing:border-box;background-color:#f2f3f5;background-color:var(--input_background);border:1px solid #e1e3e6;border:1px solid var(--input_border);border-radius:18px;margin:8px 0}.vkuiWriteBar--ios .vkuiWriteBar__formIn:first-child{margin-left:12px}.vkuiWriteBar--ios .vkuiWriteBar__inlineAfter{margin-right:-1px;margin-top:-9px;margin-bottom:-9px}.vkuiWriteBar--ios .vkuiWriteBar__textarea{height:34px;padding:6px 11px;font-size:17px;line-height:22px}.vkuiWriteBar--android .vkuiWriteBar__before,.vkuiWriteBar--vkcom .vkuiWriteBar__before{padding-left:4px}.vkuiWriteBar--android .vkuiWriteBar__after,.vkuiWriteBar--vkcom .vkuiWriteBar__after{padding-right:4px}.vkuiWriteBar--android .vkuiWriteBar__textarea,.vkuiWriteBar--vkcom .vkuiWriteBar__textarea{height:52px;padding:16px 12px;font-size:16px;line-height:20px}
1
+ .vkuiWriteBar{background:#fff;background:var(--background_content)}.vkuiWriteBar__before,.vkuiWriteBar__form,.vkuiWriteBar__after{display:flex;align-items:flex-end}.vkuiWriteBar__form{min-height:52px}.vkuiWriteBar__formIn{flex:1;min-width:0;display:flex;position:relative}.vkuiWriteBar__textarea{box-sizing:border-box;width:100%;flex:1;min-width:0;margin:0;background:0 0;border:0;resize:none;line-height:20px;color:#000;color:var(--text_primary);-webkit-appearance:none;max-height:120px}.vkuiWriteBar__textarea::-webkit-input-placeholder{color:#818c99;color:var(--text_placeholder)}.vkuiWriteBar__textarea::placeholder{color:#818c99;color:var(--text_placeholder)}.vkuiWriteBar__textarea::-moz-placeholder{opacity:1;color:#818c99;color:var(--text_placeholder)}.vkuiWriteBar__inlineAfter{display:flex;align-items:flex-end}.vkuiWriteBar--ios .vkuiWriteBar__before,.vkuiWriteBar--ios .vkuiWriteBar__after{padding:0 4px}.vkuiWriteBar--ios .vkuiWriteBar__formIn{box-sizing:border-box;background-color:#f2f3f5;background-color:var(--input_background);border:1px solid #e1e3e6;border:1px solid var(--input_border);border-radius:18px;margin:8px 0}.vkuiWriteBar--ios .vkuiWriteBar__formIn:first-child{margin-left:12px}.vkuiWriteBar--ios .vkuiWriteBar__inlineAfter{margin-right:-1px;margin-top:-9px;margin-bottom:-9px}.vkuiWriteBar--ios .vkuiWriteBar__textarea{height:34px;padding:6px 11px;font-size:17px;line-height:22px;letter-spacing:var(--vk-sans-ls-25)}.vkuiWriteBar--android .vkuiWriteBar__before,.vkuiWriteBar--vkcom .vkuiWriteBar__before{padding-left:4px}.vkuiWriteBar--android .vkuiWriteBar__after,.vkuiWriteBar--vkcom .vkuiWriteBar__after{padding-right:4px}.vkuiWriteBar--android .vkuiWriteBar__textarea,.vkuiWriteBar--vkcom .vkuiWriteBar__textarea{height:52px;padding:16px 12px;font-size:16px;line-height:20px;letter-spacing:var(--vk-sans-ls-2)}
@@ -46,7 +46,7 @@ export var WriteBarIcon = function WriteBarIcon(_ref) {
46
46
  }
47
47
 
48
48
  if (IS_DEV && !restProps["aria-label"] && !ariaLabel) {
49
- warn("[WriteBarIcon/a11y] У WriteBarIcon нет aria-label. Кнопка будет недоступной для части пользователей.");
49
+ warn("a11y: У WriteBarIcon нет aria-label. Кнопка будет недоступной для части пользователей.", "error");
50
50
  }
51
51
 
52
52
  return createScopedElement(Tappable, _extends({
@@ -54,7 +54,8 @@ export var WriteBarIcon = function WriteBarIcon(_ref) {
54
54
  }, restProps, {
55
55
  Component: "button",
56
56
  hasHover: false,
57
- activeMode: "WriteBarIcon__active",
57
+ activeMode: "WriteBarIcon__active" // eslint-disable-next-line vkui/no-object-expression-in-arguments
58
+ ,
58
59
  vkuiClass: classNames(getClassName("WriteBarIcon", platform), _defineProperty({}, "WriteBarIcon--".concat(mode), !!mode))
59
60
  }), createScopedElement("span", {
60
61
  vkuiClass: "WriteBarIcon__in"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"names":["Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon48WritebarDone","Icon48WritebarSend","usePlatform","classNames","getClassName","IOS","Counter","Tappable","warnOnce","hasReactNode","warn","IS_DEV","process","env","NODE_ENV","WriteBarIcon","mode","children","count","restProps","platform","icon","ariaLabel","undefined"],"mappings":";;;;;AACA,SACEA,UADF,EAEEC,sBAFF,EAGEC,mBAHF,EAIEC,wBAJF,EAKEC,kBALF,EAMEC,kBANF,QAOO,kBAPP;AAQA,SAASC,WAAT;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,GAAT;AACA,OAAOC,OAAP;AACA,OAAOC,QAAP;AACA,SAASC,QAAT;AACA,SAASC,YAAT;AACA;AAmBA,IAAMC,IAAI,GAAGF,QAAQ,CAAC,cAAD,CAArB;AACA,IAAMG,MAAM,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAxC;AAEA,OAAO,IAAMC,YAAyC,GAAG,SAA5CA,YAA4C,OAKhC;AAAA,MAJvBC,IAIuB,QAJvBA,IAIuB;AAAA,MAHvBC,QAGuB,QAHvBA,QAGuB;AAAA,MAFvBC,KAEuB,QAFvBA,KAEuB;AAAA,MADpBC,SACoB;;AACvB,MAAMC,QAAQ,GAAGlB,WAAW,EAA5B;AAEA,MAAImB,IAAJ;AACA,MAAIC,SAA6B,GAAGC,SAApC;;AAEA,UAAQP,IAAR;AACE,SAAK,QAAL;AACEK,MAAAA,IAAI,GACFD,QAAQ,KAAKf,GAAb,GAAmB,oBAAC,sBAAD,OAAnB,GAAgD,oBAAC,mBAAD,OADlD;AAEAiB,MAAAA,SAAS,GAAG,iBAAZ;AACA;;AAEF,SAAK,MAAL;AACED,MAAAA,IAAI,GAAGD,QAAQ,KAAKf,GAAb,GAAmB,oBAAC,kBAAD,OAAnB,GAA4C,oBAAC,UAAD,OAAnD;AACAiB,MAAAA,SAAS,GAAG,WAAZ;AACA;;AAEF,SAAK,MAAL;AACED,MAAAA,IAAI,GACFD,QAAQ,KAAKf,GAAb,GACE,oBAAC,kBAAD,OADF,GAGE,oBAAC,wBAAD,OAJJ;AAMAiB,MAAAA,SAAS,GAAG,QAAZ;AACA;;AAEF;AACE;AAvBJ;;AA0BA,MAAIX,MAAM,IAAI,CAACQ,SAAS,CAAC,YAAD,CAApB,IAAsC,CAACG,SAA3C,EAAsD;AACpDZ,IAAAA,IAAI,CACF,sGADE,CAAJ;AAGD;;AAED,SACE,oBAAC,QAAD;AACE,kBAAYY;AADd,KAEMH,SAFN;AAGE,IAAA,SAAS,EAAC,QAHZ;AAIE,IAAA,QAAQ,EAAE,KAJZ;AAKE,IAAA,UAAU,EAAC,sBALb;AAME,IAAA,SAAS,EAAEhB,UAAU,CAACC,YAAY,CAAC,cAAD,EAAiBgB,QAAjB,CAAb,8CACDJ,IADC,GACQ,CAAC,CAACA,IADV;AANvB,MAUE;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGK,IAAI,IAAIJ,QADX,EAEGR,YAAY,CAACS,KAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,uBAAnB;AAA2C,IAAA,IAAI,EAAC;AAAhD,KACGA,KADH,CAHJ,CAVF,CADF;AAqBD,CAhEM","sourcesContent":["import * as React from \"react\";\nimport {\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from \"@vkontakte/icons\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS } from \"../../lib/platform\";\nimport Counter from \"../Counter/Counter\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./WriteBarIcon.css\";\n\nexport interface WriteBarIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируется.\n *\n * - `attach` – иконка прикрепления.\n * - `send` – иконка отправки.\n * - `done` – иконка отправки в режиме редактирования.\n */\n mode?: \"attach\" | \"send\" | \"done\";\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n}\n\nconst warn = warnOnce(\"WriteBarIcon\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\nexport const WriteBarIcon: React.FC<WriteBarIconProps> = ({\n mode,\n children,\n count,\n ...restProps\n}: WriteBarIconProps) => {\n const platform = usePlatform();\n\n let icon: React.ReactNode;\n let ariaLabel: string | undefined = undefined;\n\n switch (mode) {\n case \"attach\":\n icon =\n platform === IOS ? <Icon28AddCircleOutline /> : <Icon28AttachOutline />;\n ariaLabel = \"Прикрепить файл\";\n break;\n\n case \"send\":\n icon = platform === IOS ? <Icon48WritebarSend /> : <Icon24Send />;\n ariaLabel = \"Отправить\";\n break;\n\n case \"done\":\n icon =\n platform === IOS ? (\n <Icon48WritebarDone />\n ) : (\n <Icon28CheckCircleOutline />\n );\n ariaLabel = \"Готово\";\n break;\n\n default:\n break;\n }\n\n if (IS_DEV && !restProps[\"aria-label\"] && !ariaLabel) {\n warn(\n \"[WriteBarIcon/a11y] У WriteBarIcon нет aria-label. Кнопка будет недоступной для части пользователей.\"\n );\n }\n\n return (\n <Tappable\n aria-label={ariaLabel}\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode=\"WriteBarIcon__active\"\n vkuiClass={classNames(getClassName(\"WriteBarIcon\", platform), {\n [`WriteBarIcon--${mode}`]: !!mode,\n })}\n >\n <span vkuiClass=\"WriteBarIcon__in\">\n {icon || children}\n {hasReactNode(count) && (\n <Counter vkuiClass=\"WriteBarIcon__counter\" size=\"s\">\n {count}\n </Counter>\n )}\n </span>\n </Tappable>\n );\n};\n"],"file":"WriteBarIcon.js"}
1
+ {"version":3,"sources":["../../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"names":["Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon48WritebarDone","Icon48WritebarSend","usePlatform","classNames","getClassName","IOS","Counter","Tappable","warnOnce","hasReactNode","warn","IS_DEV","process","env","NODE_ENV","WriteBarIcon","mode","children","count","restProps","platform","icon","ariaLabel","undefined"],"mappings":";;;;;AACA,SACEA,UADF,EAEEC,sBAFF,EAGEC,mBAHF,EAIEC,wBAJF,EAKEC,kBALF,EAMEC,kBANF,QAOO,kBAPP;AAQA,SAASC,WAAT;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,GAAT;AACA,OAAOC,OAAP;AACA,OAAOC,QAAP;AACA,SAASC,QAAT;AACA,SAASC,YAAT;AACA;AAmBA,IAAMC,IAAI,GAAGF,QAAQ,CAAC,cAAD,CAArB;AACA,IAAMG,MAAM,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAxC;AAEA,OAAO,IAAMC,YAAyC,GAAG,SAA5CA,YAA4C,OAKhC;AAAA,MAJvBC,IAIuB,QAJvBA,IAIuB;AAAA,MAHvBC,QAGuB,QAHvBA,QAGuB;AAAA,MAFvBC,KAEuB,QAFvBA,KAEuB;AAAA,MADpBC,SACoB;;AACvB,MAAMC,QAAQ,GAAGlB,WAAW,EAA5B;AAEA,MAAImB,IAAJ;AACA,MAAIC,SAA6B,GAAGC,SAApC;;AAEA,UAAQP,IAAR;AACE,SAAK,QAAL;AACEK,MAAAA,IAAI,GACFD,QAAQ,KAAKf,GAAb,GAAmB,oBAAC,sBAAD,OAAnB,GAAgD,oBAAC,mBAAD,OADlD;AAEAiB,MAAAA,SAAS,GAAG,iBAAZ;AACA;;AAEF,SAAK,MAAL;AACED,MAAAA,IAAI,GAAGD,QAAQ,KAAKf,GAAb,GAAmB,oBAAC,kBAAD,OAAnB,GAA4C,oBAAC,UAAD,OAAnD;AACAiB,MAAAA,SAAS,GAAG,WAAZ;AACA;;AAEF,SAAK,MAAL;AACED,MAAAA,IAAI,GACFD,QAAQ,KAAKf,GAAb,GACE,oBAAC,kBAAD,OADF,GAGE,oBAAC,wBAAD,OAJJ;AAMAiB,MAAAA,SAAS,GAAG,QAAZ;AACA;;AAEF;AACE;AAvBJ;;AA0BA,MAAIX,MAAM,IAAI,CAACQ,SAAS,CAAC,YAAD,CAApB,IAAsC,CAACG,SAA3C,EAAsD;AACpDZ,IAAAA,IAAI,CACF,wFADE,EAEF,OAFE,CAAJ;AAID;;AAED,SACE,oBAAC,QAAD;AACE,kBAAYY;AADd,KAEMH,SAFN;AAGE,IAAA,SAAS,EAAC,QAHZ;AAIE,IAAA,QAAQ,EAAE,KAJZ;AAKE,IAAA,UAAU,EAAC,sBALb,CAME;AANF;AAOE,IAAA,SAAS,EAAEhB,UAAU,CAACC,YAAY,CAAC,cAAD,EAAiBgB,QAAjB,CAAb,8CACDJ,IADC,GACQ,CAAC,CAACA,IADV;AAPvB,MAWE;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGK,IAAI,IAAIJ,QADX,EAEGR,YAAY,CAACS,KAAD,CAAZ,IACC,oBAAC,OAAD;AAAS,IAAA,SAAS,EAAC,uBAAnB;AAA2C,IAAA,IAAI,EAAC;AAAhD,KACGA,KADH,CAHJ,CAXF,CADF;AAsBD,CAlEM","sourcesContent":["import * as React from \"react\";\nimport {\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from \"@vkontakte/icons\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS } from \"../../lib/platform\";\nimport Counter from \"../Counter/Counter\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./WriteBarIcon.css\";\n\nexport interface WriteBarIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируется.\n *\n * - `attach` – иконка прикрепления.\n * - `send` – иконка отправки.\n * - `done` – иконка отправки в режиме редактирования.\n */\n mode?: \"attach\" | \"send\" | \"done\";\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n}\n\nconst warn = warnOnce(\"WriteBarIcon\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\nexport const WriteBarIcon: React.FC<WriteBarIconProps> = ({\n mode,\n children,\n count,\n ...restProps\n}: WriteBarIconProps) => {\n const platform = usePlatform();\n\n let icon: React.ReactNode;\n let ariaLabel: string | undefined = undefined;\n\n switch (mode) {\n case \"attach\":\n icon =\n platform === IOS ? <Icon28AddCircleOutline /> : <Icon28AttachOutline />;\n ariaLabel = \"Прикрепить файл\";\n break;\n\n case \"send\":\n icon = platform === IOS ? <Icon48WritebarSend /> : <Icon24Send />;\n ariaLabel = \"Отправить\";\n break;\n\n case \"done\":\n icon =\n platform === IOS ? (\n <Icon48WritebarDone />\n ) : (\n <Icon28CheckCircleOutline />\n );\n ariaLabel = \"Готово\";\n break;\n\n default:\n break;\n }\n\n if (IS_DEV && !restProps[\"aria-label\"] && !ariaLabel) {\n warn(\n \"a11y: У WriteBarIcon нет aria-label. Кнопка будет недоступной для части пользователей.\",\n \"error\"\n );\n }\n\n return (\n <Tappable\n aria-label={ariaLabel}\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode=\"WriteBarIcon__active\"\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"WriteBarIcon\", platform), {\n [`WriteBarIcon--${mode}`]: !!mode,\n })}\n >\n <span vkuiClass=\"WriteBarIcon__in\">\n {icon || children}\n {hasReactNode(count) && (\n <Counter vkuiClass=\"WriteBarIcon__counter\" size=\"s\">\n {count}\n </Counter>\n )}\n </span>\n </Tappable>\n );\n};\n"],"file":"WriteBarIcon.js"}
@@ -38,12 +38,12 @@ export function normalizeScheme(_ref) {
38
38
  }
39
39
 
40
40
  if (scheme === Scheme.VKCOM) {
41
- process.env.NODE_ENV === "development" && warn("\u0421\u0445\u0435\u043C\u0430 \"".concat(Scheme.VKCOM, "\" \u0443\u0441\u0442\u0430\u0440\u0435\u043B\u0430 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D\u0430 5.0.0. \u0412\u043C\u0435\u0441\u0442\u043E \u043D\u0435\u0451 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \"").concat(Scheme.VKCOM_LIGHT, "\""));
41
+ process.env.NODE_ENV === "development" && warn("\u0421\u0445\u0435\u043C\u0430 \"".concat(Scheme.VKCOM, "\" \u0443\u0441\u0442\u0430\u0440\u0435\u043B\u0430 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043B\u0435\u043D\u0430 \u0432 v5.0.0. \u0412\u043C\u0435\u0441\u0442\u043E \u043D\u0435\u0451 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \"").concat(Scheme.VKCOM_LIGHT, "\""));
42
42
  return Scheme.VKCOM_LIGHT;
43
43
  }
44
44
 
45
45
  if (platform === VKCOM && (scheme === Scheme.BRIGHT_LIGHT || scheme === Scheme.SPACE_GRAY)) {
46
- process.env.NODE_ENV === "development" && warn("\u041F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0430 \"vkcom\" \u0438 \u0441\u0445\u0435\u043C\u0430 \"".concat(scheme, "\" \u043D\u0435\u0441\u043E\u0432\u043C\u0435\u0441\u0442\u0438\u043C\u044B. \u0421 \u044D\u0442\u043E\u0439 \u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u043E\u0439 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0445\u0435\u043C\u044B \"").concat(Scheme.VKCOM_LIGHT, "\" \u0438\u043B\u0438 \"").concat(Scheme.VKCOM_DARK, "\""));
46
+ process.env.NODE_ENV === "development" && warn("\u041F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u0430 \"vkcom\" \u0438 \u0441\u0445\u0435\u043C\u0430 \"".concat(scheme, "\" \u043D\u0435\u0441\u043E\u0432\u043C\u0435\u0441\u0442\u0438\u043C\u044B. \u0421 \u044D\u0442\u043E\u0439 \u043F\u043B\u0430\u0442\u0444\u043E\u0440\u043C\u043E\u0439 \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0441\u0445\u0435\u043C\u044B \"").concat(Scheme.VKCOM_LIGHT, "\" \u0438\u043B\u0438 \"").concat(Scheme.VKCOM_DARK, "\""), "error");
47
47
  return Scheme.VKCOM_LIGHT;
48
48
  }
49
49
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/helpers/scheme.ts"],"names":["VKCOM","warnOnce","getScheme","Scheme","Appearance","warn","normalizeScheme","platform","scheme","appearance","process","env","NODE_ENV","VKCOM_LIGHT","BRIGHT_LIGHT","SPACE_GRAY","VKCOM_DARK","DEPRECATED_CLIENT_LIGHT","DEPRECATED_CLIENT_DARK"],"mappings":"AACA,SAAuBA,KAAvB;AACA,SAASC,QAAT;AACA,SAASC,SAAT;AAEA,WAAYC,MAAZ;;WAAYA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;GAAAA,M,KAAAA,M;;AA8BZ,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;GAAAA,U,KAAAA,U;;AAKZ,IAAMC,IAAI,GAAGJ,QAAQ,CAAC,QAAD,CAArB;AAQA,OAAO,SAASK,eAAT,OAIsC;AAAA,MAH3CC,QAG2C,QAH3CA,QAG2C;AAAA,MAF3CC,MAE2C,QAF3CA,MAE2C;AAAA,MAD3CC,UAC2C,QAD3CA,UAC2C;;AAC3C,MAAIA,UAAJ,EAAgB;AACd,WAAOP,SAAS,CAAC;AAAEK,MAAAA,QAAQ,EAARA,QAAF;AAAYE,MAAAA,UAAU,EAAVA;AAAZ,KAAD,CAAhB;AACD;;AAED,MAAID,MAAM,KAAK,SAAf,EAA0B;AACxB,WAAOA,MAAP;AACD;;AACD,MAAIA,MAAM,KAAKL,MAAM,CAACH,KAAtB,EAA6B;AAC3BU,IAAAA,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACEP,IAAI,4CACQF,MAAM,CAACH,KADf,sRACiFG,MAAM,CAACU,WADxF,QADN;AAIA,WAAOV,MAAM,CAACU,WAAd;AACD;;AACD,MACEN,QAAQ,KAAKP,KAAb,KACCQ,MAAM,KAAKL,MAAM,CAACW,YAAlB,IAAkCN,MAAM,KAAKL,MAAM,CAACY,UADrD,CADF,EAGE;AACAL,IAAAA,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACEP,IAAI,oHAC4BG,MAD5B,gUACiGL,MAAM,CAACU,WADxG,qCAC6HV,MAAM,CAACa,UADpI,QADN;AAIA,WAAOb,MAAM,CAACU,WAAd;AACD;;AACD,UAAQL,MAAR;AACE,SAAKL,MAAM,CAACc,uBAAZ;AACE,aAAOd,MAAM,CAACW,YAAd;;AACF,SAAKX,MAAM,CAACe,sBAAZ;AACE,aAAOf,MAAM,CAACY,UAAd;;AACF;AACE,aAAOP,MAAP;AANJ;AAQD","sourcesContent":["import { AppearanceSchemeType, AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { PlatformType, VKCOM } from \"../lib/platform\";\nimport { warnOnce } from \"../lib/warnOnce\";\nimport { getScheme } from \"./getScheme\";\n\nexport enum Scheme {\n /**\n * @deprecated будет удалено в 5.0.0\n * версия оставлена для совместимости со старыми версиями клиентов\n */\n DEPRECATED_CLIENT_LIGHT = \"client_light\",\n /**\n * @deprecated будет удалено в 5.0.0\n * версия оставлена для совместимости со старыми версиями клиентов\n */\n DEPRECATED_CLIENT_DARK = \"client_dark\",\n /**\n * @deprecated будет удалено в 5.0.0\n * версия оставлена для совместимости с vkcom, когда там была только одна схема\n */\n VKCOM = \"vkcom\",\n\n BRIGHT_LIGHT = \"bright_light\",\n SPACE_GRAY = \"space_gray\",\n VKCOM_LIGHT = \"vkcom_light\",\n VKCOM_DARK = \"vkcom_dark\",\n}\n\nexport type AppearanceScheme =\n | AppearanceSchemeType\n | Scheme.VKCOM\n | Scheme.VKCOM_DARK\n | Scheme.VKCOM_LIGHT\n | \"inherit\";\n\nexport enum Appearance {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\nconst warn = warnOnce(\"scheme\");\n\nexport interface NormalizeSchemeProps {\n platform: PlatformType;\n scheme?: AppearanceScheme;\n appearance?: AppearanceType;\n}\n\nexport function normalizeScheme({\n platform,\n scheme,\n appearance,\n}: NormalizeSchemeProps): Scheme | \"inherit\" {\n if (appearance) {\n return getScheme({ platform, appearance });\n }\n\n if (scheme === \"inherit\") {\n return scheme;\n }\n if (scheme === Scheme.VKCOM) {\n process.env.NODE_ENV === \"development\" &&\n warn(\n `Схема \"${Scheme.VKCOM}\" устарела и будет удалена 5.0.0. Вместо неё используйте \"${Scheme.VKCOM_LIGHT}\"`\n );\n return Scheme.VKCOM_LIGHT;\n }\n if (\n platform === VKCOM &&\n (scheme === Scheme.BRIGHT_LIGHT || scheme === Scheme.SPACE_GRAY)\n ) {\n process.env.NODE_ENV === \"development\" &&\n warn(\n `Платформа \"vkcom\" и схема \"${scheme}\" несовместимы. С этой платформой можно использовать схемы \"${Scheme.VKCOM_LIGHT}\" или \"${Scheme.VKCOM_DARK}\"`\n );\n return Scheme.VKCOM_LIGHT;\n }\n switch (scheme) {\n case Scheme.DEPRECATED_CLIENT_LIGHT:\n return Scheme.BRIGHT_LIGHT;\n case Scheme.DEPRECATED_CLIENT_DARK:\n return Scheme.SPACE_GRAY;\n default:\n return scheme as Scheme;\n }\n}\n"],"file":"scheme.js"}
1
+ {"version":3,"sources":["../../../src/helpers/scheme.ts"],"names":["VKCOM","warnOnce","getScheme","Scheme","Appearance","warn","normalizeScheme","platform","scheme","appearance","process","env","NODE_ENV","VKCOM_LIGHT","BRIGHT_LIGHT","SPACE_GRAY","VKCOM_DARK","DEPRECATED_CLIENT_LIGHT","DEPRECATED_CLIENT_DARK"],"mappings":"AACA,SAAuBA,KAAvB;AACA,SAASC,QAAT;AACA,SAASC,SAAT;AAEA,WAAYC,MAAZ;;WAAYA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;GAAAA,M,KAAAA,M;;AA8BZ,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;GAAAA,U,KAAAA,U;;AAKZ,IAAMC,IAAI,GAAGJ,QAAQ,CAAC,QAAD,CAArB;AAQA,OAAO,SAASK,eAAT,OAIsC;AAAA,MAH3CC,QAG2C,QAH3CA,QAG2C;AAAA,MAF3CC,MAE2C,QAF3CA,MAE2C;AAAA,MAD3CC,UAC2C,QAD3CA,UAC2C;;AAC3C,MAAIA,UAAJ,EAAgB;AACd,WAAOP,SAAS,CAAC;AAAEK,MAAAA,QAAQ,EAARA,QAAF;AAAYE,MAAAA,UAAU,EAAVA;AAAZ,KAAD,CAAhB;AACD;;AAED,MAAID,MAAM,KAAK,SAAf,EAA0B;AACxB,WAAOA,MAAP;AACD;;AACD,MAAIA,MAAM,KAAKL,MAAM,CAACH,KAAtB,EAA6B;AAC3BU,IAAAA,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACEP,IAAI,4CACQF,MAAM,CAACH,KADf,8RACoFG,MAAM,CAACU,WAD3F,QADN;AAIA,WAAOV,MAAM,CAACU,WAAd;AACD;;AACD,MACEN,QAAQ,KAAKP,KAAb,KACCQ,MAAM,KAAKL,MAAM,CAACW,YAAlB,IAAkCN,MAAM,KAAKL,MAAM,CAACY,UADrD,CADF,EAGE;AACAL,IAAAA,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IACEP,IAAI,oHAC4BG,MAD5B,gUACiGL,MAAM,CAACU,WADxG,qCAC6HV,MAAM,CAACa,UADpI,SAEF,OAFE,CADN;AAKA,WAAOb,MAAM,CAACU,WAAd;AACD;;AACD,UAAQL,MAAR;AACE,SAAKL,MAAM,CAACc,uBAAZ;AACE,aAAOd,MAAM,CAACW,YAAd;;AACF,SAAKX,MAAM,CAACe,sBAAZ;AACE,aAAOf,MAAM,CAACY,UAAd;;AACF;AACE,aAAOP,MAAP;AANJ;AAQD","sourcesContent":["import { AppearanceSchemeType, AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { PlatformType, VKCOM } from \"../lib/platform\";\nimport { warnOnce } from \"../lib/warnOnce\";\nimport { getScheme } from \"./getScheme\";\n\nexport enum Scheme {\n /**\n * @deprecated будет удалено в 5.0.0\n * версия оставлена для совместимости со старыми версиями клиентов\n */\n DEPRECATED_CLIENT_LIGHT = \"client_light\",\n /**\n * @deprecated будет удалено в 5.0.0\n * версия оставлена для совместимости со старыми версиями клиентов\n */\n DEPRECATED_CLIENT_DARK = \"client_dark\",\n /**\n * @deprecated будет удалено в 5.0.0\n * версия оставлена для совместимости с vkcom, когда там была только одна схема\n */\n VKCOM = \"vkcom\",\n\n BRIGHT_LIGHT = \"bright_light\",\n SPACE_GRAY = \"space_gray\",\n VKCOM_LIGHT = \"vkcom_light\",\n VKCOM_DARK = \"vkcom_dark\",\n}\n\nexport type AppearanceScheme =\n | AppearanceSchemeType\n | Scheme.VKCOM\n | Scheme.VKCOM_DARK\n | Scheme.VKCOM_LIGHT\n | \"inherit\";\n\nexport enum Appearance {\n DARK = \"dark\",\n LIGHT = \"light\",\n}\n\nconst warn = warnOnce(\"scheme\");\n\nexport interface NormalizeSchemeProps {\n platform: PlatformType;\n scheme?: AppearanceScheme;\n appearance?: AppearanceType;\n}\n\nexport function normalizeScheme({\n platform,\n scheme,\n appearance,\n}: NormalizeSchemeProps): Scheme | \"inherit\" {\n if (appearance) {\n return getScheme({ platform, appearance });\n }\n\n if (scheme === \"inherit\") {\n return scheme;\n }\n if (scheme === Scheme.VKCOM) {\n process.env.NODE_ENV === \"development\" &&\n warn(\n `Схема \"${Scheme.VKCOM}\" устарела и будет удалена в v5.0.0. Вместо неё используйте \"${Scheme.VKCOM_LIGHT}\"`\n );\n return Scheme.VKCOM_LIGHT;\n }\n if (\n platform === VKCOM &&\n (scheme === Scheme.BRIGHT_LIGHT || scheme === Scheme.SPACE_GRAY)\n ) {\n process.env.NODE_ENV === \"development\" &&\n warn(\n `Платформа \"vkcom\" и схема \"${scheme}\" несовместимы. С этой платформой можно использовать схемы \"${Scheme.VKCOM_LIGHT}\" или \"${Scheme.VKCOM_DARK}\"`,\n \"error\"\n );\n return Scheme.VKCOM_LIGHT;\n }\n switch (scheme) {\n case Scheme.DEPRECATED_CLIENT_LIGHT:\n return Scheme.BRIGHT_LIGHT;\n case Scheme.DEPRECATED_CLIENT_DARK:\n return Scheme.SPACE_GRAY;\n default:\n return scheme as Scheme;\n }\n}\n"],"file":"scheme.js"}
@@ -0,0 +1,6 @@
1
+ export interface BridgeAdaptivity {
2
+ type: "" | "force_mobile" | "force_mobile_compact" | "adaptive";
3
+ viewportWidth: number;
4
+ viewportHeight: number;
5
+ }
6
+ export declare function useBridgeAdaptivity(): BridgeAdaptivity;