@vkontakte/vkui 5.8.0-beta.0 → 5.8.1-alpha.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 (1104) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/components/Accordion/Accordion.d.ts +1 -1
  3. package/dist/cjs/components/Accordion/Accordion.js +6 -11
  4. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +6 -1
  6. package/dist/cjs/components/ActionSheet/ActionSheet.js +12 -9
  7. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  8. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +6 -1
  9. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  10. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +2 -1
  11. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  12. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +6 -1
  13. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +15 -4
  14. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  15. package/dist/cjs/components/Alert/Alert.d.ts +6 -1
  16. package/dist/cjs/components/Alert/Alert.js +15 -5
  17. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  18. package/dist/cjs/components/AppRoot/AppRoot.d.ts +12 -2
  19. package/dist/cjs/components/AppRoot/AppRoot.js +47 -19
  20. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  21. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +1 -0
  22. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  23. package/dist/cjs/components/AspectRatio/AspectRatio.d.ts +3 -3
  24. package/dist/cjs/components/AspectRatio/AspectRatio.js +6 -8
  25. package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
  26. package/dist/cjs/components/Badge/Badge.d.ts +3 -2
  27. package/dist/cjs/components/Badge/Badge.js +10 -8
  28. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  29. package/dist/cjs/components/Banner/Banner.d.ts +3 -3
  30. package/dist/cjs/components/Banner/Banner.js +11 -10
  31. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  32. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +1 -1
  33. package/dist/cjs/components/BaseGallery/BaseGallery.js +10 -9
  34. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  35. package/dist/cjs/components/BaseGallery/types.d.ts +2 -2
  36. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  37. package/dist/cjs/components/Button/Button.d.ts +2 -1
  38. package/dist/cjs/components/Button/Button.js +29 -24
  39. package/dist/cjs/components/Button/Button.js.map +1 -1
  40. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  41. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +21 -21
  42. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  43. package/dist/cjs/components/Calendar/Calendar.d.ts +3 -3
  44. package/dist/cjs/components/Calendar/Calendar.js +4 -6
  45. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  46. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +3 -2
  47. package/dist/cjs/components/CalendarDays/CalendarDays.js +11 -8
  48. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  49. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +3 -2
  50. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +24 -7
  51. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  52. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +3 -3
  53. package/dist/cjs/components/CalendarRange/CalendarRange.js +4 -6
  54. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  55. package/dist/cjs/components/Card/Card.d.ts +4 -4
  56. package/dist/cjs/components/Card/Card.js +7 -9
  57. package/dist/cjs/components/Card/Card.js.map +1 -1
  58. package/dist/cjs/components/CardGrid/CardGrid.d.ts +3 -2
  59. package/dist/cjs/components/CardGrid/CardGrid.js +11 -11
  60. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  61. package/dist/cjs/components/CardScroll/CardScroll.d.ts +3 -2
  62. package/dist/cjs/components/CardScroll/CardScroll.js +10 -9
  63. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  64. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +2 -1
  65. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  66. package/dist/cjs/components/Checkbox/Checkbox.js +6 -5
  67. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  68. package/dist/cjs/components/Chip/Chip.d.ts +3 -2
  69. package/dist/cjs/components/Chip/Chip.js +6 -7
  70. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  71. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +4 -2
  72. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  73. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +4 -2
  74. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  75. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +8 -5
  76. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  77. package/dist/cjs/components/Counter/Counter.d.ts +2 -1
  78. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  79. package/dist/cjs/components/CustomSelect/CustomSelect.js +1 -1
  80. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  81. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  82. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  83. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  84. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  85. package/dist/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  86. package/dist/cjs/components/DatePicker/DatePicker.js +5 -5
  87. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  88. package/dist/cjs/components/Div/Div.d.ts +3 -4
  89. package/dist/cjs/components/Div/Div.js +5 -13
  90. package/dist/cjs/components/Div/Div.js.map +1 -1
  91. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  92. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  93. package/dist/cjs/components/Epic/Epic.d.ts +3 -2
  94. package/dist/cjs/components/Epic/Epic.js +7 -7
  95. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  96. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +2 -2
  97. package/dist/cjs/components/FixedLayout/FixedLayout.js +5 -4
  98. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  99. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +2 -2
  100. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  101. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +2 -1
  102. package/dist/cjs/components/FocusVisible/FocusVisible.js +8 -6
  103. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  104. package/dist/cjs/components/FormField/FormField.js +5 -4
  105. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  106. package/dist/cjs/components/FormItem/FormItem.d.ts +6 -1
  107. package/dist/cjs/components/FormItem/FormItem.js +11 -10
  108. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  109. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  110. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +6 -6
  111. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  112. package/dist/cjs/components/FormStatus/FormStatus.d.ts +2 -2
  113. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  114. package/dist/cjs/components/Gradient/Gradient.d.ts +3 -2
  115. package/dist/cjs/components/Gradient/Gradient.js +15 -14
  116. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  117. package/dist/cjs/components/Group/Group.d.ts +3 -3
  118. package/dist/cjs/components/Group/Group.js +37 -24
  119. package/dist/cjs/components/Group/Group.js.map +1 -1
  120. package/dist/cjs/components/Header/Header.d.ts +3 -3
  121. package/dist/cjs/components/Header/Header.js +12 -11
  122. package/dist/cjs/components/Header/Header.js.map +1 -1
  123. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +6 -5
  124. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  125. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  126. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +16 -14
  127. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  128. package/dist/cjs/components/Image/Image.js +52 -37
  129. package/dist/cjs/components/Image/Image.js.map +1 -1
  130. package/dist/cjs/components/ImageBase/ImageBase.d.ts +2 -2
  131. package/dist/cjs/components/ImageBase/ImageBase.js +25 -8
  132. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  133. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  134. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +8 -9
  135. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  136. package/dist/cjs/components/InfoRow/InfoRow.d.ts +2 -1
  137. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  138. package/dist/cjs/components/InputLike/InputLike.d.ts +3 -3
  139. package/dist/cjs/components/InputLike/InputLike.js +6 -8
  140. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  141. package/dist/cjs/components/List/List.d.ts +3 -2
  142. package/dist/cjs/components/List/List.js +5 -5
  143. package/dist/cjs/components/List/List.js.map +1 -1
  144. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  145. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +15 -12
  146. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  147. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  148. package/dist/cjs/components/ModalCard/ModalCard.js +5 -7
  149. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  150. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  151. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -6
  152. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  153. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  154. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  155. package/dist/cjs/components/ModalPage/ModalPage.d.ts +3 -2
  156. package/dist/cjs/components/ModalPage/ModalPage.js +9 -6
  157. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  158. package/dist/cjs/components/ModalRoot/ModalRoot.js +5 -3
  159. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  160. package/dist/cjs/components/ModalRoot/ModalRootContext.js +3 -0
  161. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  162. package/dist/cjs/components/ModalRoot/types.d.ts +1 -0
  163. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  164. package/dist/cjs/components/NavIdContext/NavIdContext.d.ts +3 -0
  165. package/dist/cjs/components/NavIdContext/NavIdContext.js +24 -0
  166. package/dist/cjs/components/NavIdContext/NavIdContext.js.map +1 -0
  167. package/dist/cjs/components/NavIdContext/useNavId.d.ts +4 -0
  168. package/dist/cjs/components/NavIdContext/useNavId.js +21 -0
  169. package/dist/cjs/components/NavIdContext/useNavId.js.map +1 -0
  170. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  171. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +43 -0
  172. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  173. package/dist/cjs/components/Pagination/Pagination.d.ts +3 -3
  174. package/dist/cjs/components/Pagination/Pagination.js +17 -33
  175. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  176. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  177. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.js +48 -0
  178. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  179. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  180. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.js +32 -0
  181. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  182. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  183. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.js +20 -0
  184. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  185. package/dist/cjs/components/Pagination/utils.d.ts +1 -0
  186. package/dist/cjs/components/Pagination/utils.js +15 -0
  187. package/dist/cjs/components/Pagination/utils.js.map +1 -0
  188. package/dist/cjs/components/Panel/Panel.d.ts +3 -3
  189. package/dist/cjs/components/Panel/Panel.js +11 -8
  190. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  191. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +3 -3
  192. package/dist/cjs/components/PanelHeader/PanelHeader.js +5 -5
  193. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  194. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  195. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +4 -6
  196. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  197. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  198. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  199. package/dist/cjs/components/Placeholder/Placeholder.d.ts +24 -11
  200. package/dist/cjs/components/Placeholder/Placeholder.js +49 -21
  201. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  202. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  203. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +12 -19
  204. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  205. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  206. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +17 -17
  207. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  208. package/dist/cjs/components/Popper/Popper.d.ts +7 -3
  209. package/dist/cjs/components/Popper/Popper.js +19 -10
  210. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  211. package/dist/cjs/components/Progress/Progress.d.ts +3 -3
  212. package/dist/cjs/components/Progress/Progress.js +9 -10
  213. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  214. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +3 -2
  215. package/dist/cjs/components/PromoBanner/PromoBanner.js +5 -6
  216. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  217. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.d.ts +7 -7
  218. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js +14 -6
  219. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  220. package/dist/cjs/components/RadioGroup/RadioGroup.d.ts +3 -2
  221. package/dist/cjs/components/RadioGroup/RadioGroup.js +6 -7
  222. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  223. package/dist/cjs/components/Removable/Removable.d.ts +3 -3
  224. package/dist/cjs/components/Removable/Removable.js +4 -8
  225. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  226. package/dist/cjs/components/RichCell/RichCell.d.ts +1 -1
  227. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.d.ts +3 -1
  228. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js +5 -11
  229. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  230. package/dist/cjs/components/RichTooltip/RichTooltip.js +7 -6
  231. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  232. package/dist/cjs/components/Root/Root.d.ts +3 -2
  233. package/dist/cjs/components/Root/Root.js +13 -10
  234. package/dist/cjs/components/Root/Root.js.map +1 -1
  235. package/dist/cjs/components/RootComponent/RootComponent.d.ts +9 -0
  236. package/dist/cjs/components/RootComponent/RootComponent.js +29 -0
  237. package/dist/cjs/components/RootComponent/RootComponent.js.map +1 -0
  238. package/dist/cjs/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  239. package/dist/cjs/components/ScrollArrow/ScrollArrow.js +13 -12
  240. package/dist/cjs/components/ScrollArrow/ScrollArrow.js.map +1 -1
  241. package/dist/cjs/components/Search/Search.d.ts +3 -3
  242. package/dist/cjs/components/Search/Search.js +4 -2
  243. package/dist/cjs/components/Search/Search.js.map +1 -1
  244. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  245. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +4 -6
  246. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  247. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  248. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +4 -2
  249. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  250. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  251. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +8 -3
  252. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  253. package/dist/cjs/components/SelectTypography/SelectTypography.d.ts +2 -2
  254. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  255. package/dist/cjs/components/Separator/Separator.d.ts +3 -2
  256. package/dist/cjs/components/Separator/Separator.js +5 -5
  257. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  258. package/dist/cjs/components/SimpleCell/SimpleCell.js +0 -1
  259. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  260. package/dist/cjs/components/Slider/Slider.d.ts +4 -3
  261. package/dist/cjs/components/Slider/Slider.js +5 -2
  262. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  263. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  264. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js +56 -5
  265. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  266. package/dist/cjs/components/Snackbar/Snackbar.d.ts +3 -2
  267. package/dist/cjs/components/Snackbar/Snackbar.js +8 -7
  268. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  269. package/dist/cjs/components/Spacing/Spacing.d.ts +3 -3
  270. package/dist/cjs/components/Spacing/Spacing.js +5 -6
  271. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  272. package/dist/cjs/components/Spinner/Spinner.d.ts +3 -2
  273. package/dist/cjs/components/Spinner/Spinner.js +6 -6
  274. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  275. package/dist/cjs/components/SplitCol/SplitCol.d.ts +2 -1
  276. package/dist/cjs/components/SplitCol/SplitCol.js +8 -6
  277. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  278. package/dist/cjs/components/SplitLayout/SplitLayout.d.ts +2 -2
  279. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  280. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  281. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +7 -9
  282. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  283. package/dist/cjs/components/Tabbar/Tabbar.d.ts +3 -2
  284. package/dist/cjs/components/Tabbar/Tabbar.js +6 -7
  285. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  286. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -1
  287. package/dist/cjs/components/TabbarItem/TabbarItem.js +7 -7
  288. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  289. package/dist/cjs/components/Tabs/Tabs.d.ts +3 -3
  290. package/dist/cjs/components/Tabs/Tabs.js +4 -6
  291. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  292. package/dist/cjs/components/TabsItem/TabsItem.d.ts +2 -1
  293. package/dist/cjs/components/TabsItem/TabsItem.js +6 -5
  294. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  295. package/dist/cjs/components/Tappable/Tappable.d.ts +6 -1
  296. package/dist/cjs/components/Tappable/Tappable.js +12 -9
  297. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  298. package/dist/cjs/components/TextTooltip/TextTooltip.js +7 -6
  299. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  300. package/dist/cjs/components/Tooltip/Tooltip.d.ts +1 -1
  301. package/dist/cjs/components/Tooltip/Tooltip.js +5 -3
  302. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  303. package/dist/cjs/components/TooltipBase/TooltipBase.d.ts +8 -1
  304. package/dist/cjs/components/TooltipBase/TooltipBase.js +21 -8
  305. package/dist/cjs/components/TooltipBase/TooltipBase.js.map +1 -1
  306. package/dist/cjs/components/Typography/Caption/Caption.js +6 -5
  307. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  308. package/dist/cjs/components/Typography/Headline/Headline.js +5 -4
  309. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  310. package/dist/cjs/components/Typography/Title/Title.js +6 -5
  311. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  312. package/dist/cjs/components/Typography/Typography.d.ts +1 -1
  313. package/dist/cjs/components/Typography/Typography.js +12 -13
  314. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  315. package/dist/cjs/components/UsersStack/UsersStack.d.ts +3 -2
  316. package/dist/cjs/components/UsersStack/UsersStack.js +14 -12
  317. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  318. package/dist/cjs/components/View/View.d.ts +2 -1
  319. package/dist/cjs/components/View/View.js +19 -15
  320. package/dist/cjs/components/View/View.js.map +1 -1
  321. package/dist/cjs/components/View/ViewInfinite.d.ts +10 -3
  322. package/dist/cjs/components/View/ViewInfinite.js +26 -12
  323. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  324. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  325. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +8 -9
  326. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  327. package/dist/cjs/hooks/useAdaptivityHasHover.js +4 -3
  328. package/dist/cjs/hooks/useAdaptivityHasHover.js.map +1 -1
  329. package/dist/cjs/hooks/useAdaptivityHasPointer.js +5 -5
  330. package/dist/cjs/hooks/useAdaptivityHasPointer.js.map +1 -1
  331. package/dist/cjs/hooks/useAutoFocus.d.ts +2 -0
  332. package/dist/cjs/hooks/useAutoFocus.js +23 -0
  333. package/dist/cjs/hooks/useAutoFocus.js.map +1 -0
  334. package/dist/cjs/hooks/useChipsSelect.js +5 -4
  335. package/dist/cjs/hooks/useChipsSelect.js.map +1 -1
  336. package/dist/cjs/hooks/useFocusWithin.js +3 -0
  337. package/dist/cjs/hooks/useFocusWithin.js.map +1 -1
  338. package/dist/cjs/hooks/useIsClient.js +2 -1
  339. package/dist/cjs/hooks/useIsClient.js.map +1 -1
  340. package/dist/cjs/index.d.ts +6 -2
  341. package/dist/cjs/index.js +12 -0
  342. package/dist/cjs/index.js.map +1 -1
  343. package/dist/cjs/lib/floating/index.d.ts +1 -1
  344. package/dist/cjs/lib/floating/index.js +3 -0
  345. package/dist/cjs/lib/floating/index.js.map +1 -1
  346. package/dist/cjs/lib/select.d.ts +1 -1
  347. package/dist/cjs/lib/utils.d.ts +2 -0
  348. package/dist/cjs/lib/utils.js +22 -0
  349. package/dist/cjs/lib/utils.js.map +1 -1
  350. package/dist/cjs/types.d.ts +1 -0
  351. package/dist/cjs/types.js.map +1 -1
  352. package/dist/components/Accordion/Accordion.d.ts +1 -1
  353. package/dist/components/Accordion/Accordion.js +6 -11
  354. package/dist/components/Accordion/Accordion.js.map +1 -1
  355. package/dist/components/ActionSheet/ActionSheet.d.ts +6 -1
  356. package/dist/components/ActionSheet/ActionSheet.js +12 -9
  357. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  358. package/dist/components/ActionSheet/ActionSheetContext.d.ts +6 -1
  359. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  360. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +2 -1
  361. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  362. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +6 -1
  363. package/dist/components/ActionSheetItem/ActionSheetItem.js +15 -4
  364. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  365. package/dist/components/Alert/Alert.d.ts +6 -1
  366. package/dist/components/Alert/Alert.js +15 -5
  367. package/dist/components/Alert/Alert.js.map +1 -1
  368. package/dist/components/AppRoot/AppRoot.d.ts +12 -2
  369. package/dist/components/AppRoot/AppRoot.js +47 -19
  370. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  371. package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
  372. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  373. package/dist/components/AspectRatio/AspectRatio.d.ts +3 -3
  374. package/dist/components/AspectRatio/AspectRatio.js +6 -8
  375. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  376. package/dist/components/Badge/Badge.d.ts +3 -2
  377. package/dist/components/Badge/Badge.js +10 -8
  378. package/dist/components/Badge/Badge.js.map +1 -1
  379. package/dist/components/Banner/Banner.d.ts +3 -3
  380. package/dist/components/Banner/Banner.js +12 -11
  381. package/dist/components/Banner/Banner.js.map +1 -1
  382. package/dist/components/BaseGallery/BaseGallery.d.ts +1 -1
  383. package/dist/components/BaseGallery/BaseGallery.js +10 -9
  384. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  385. package/dist/components/BaseGallery/types.d.ts +2 -2
  386. package/dist/components/BaseGallery/types.js.map +1 -1
  387. package/dist/components/Button/Button.d.ts +2 -1
  388. package/dist/components/Button/Button.js +29 -24
  389. package/dist/components/Button/Button.js.map +1 -1
  390. package/dist/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  391. package/dist/components/ButtonGroup/ButtonGroup.js +21 -21
  392. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  393. package/dist/components/Calendar/Calendar.d.ts +3 -3
  394. package/dist/components/Calendar/Calendar.js +4 -6
  395. package/dist/components/Calendar/Calendar.js.map +1 -1
  396. package/dist/components/CalendarDays/CalendarDays.d.ts +3 -2
  397. package/dist/components/CalendarDays/CalendarDays.js +11 -8
  398. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  399. package/dist/components/CalendarHeader/CalendarHeader.d.ts +3 -2
  400. package/dist/components/CalendarHeader/CalendarHeader.js +24 -7
  401. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  402. package/dist/components/CalendarRange/CalendarRange.d.ts +3 -3
  403. package/dist/components/CalendarRange/CalendarRange.js +4 -6
  404. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  405. package/dist/components/Card/Card.d.ts +4 -4
  406. package/dist/components/Card/Card.js +7 -9
  407. package/dist/components/Card/Card.js.map +1 -1
  408. package/dist/components/CardGrid/CardGrid.d.ts +3 -2
  409. package/dist/components/CardGrid/CardGrid.js +11 -11
  410. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  411. package/dist/components/CardScroll/CardScroll.d.ts +3 -2
  412. package/dist/components/CardScroll/CardScroll.js +10 -9
  413. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  414. package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -1
  415. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  416. package/dist/components/Checkbox/Checkbox.js +6 -5
  417. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  418. package/dist/components/Chip/Chip.d.ts +3 -2
  419. package/dist/components/Chip/Chip.js +6 -7
  420. package/dist/components/Chip/Chip.js.map +1 -1
  421. package/dist/components/ChipsInputBase/ChipsInputBase.js +4 -2
  422. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  423. package/dist/components/ChipsSelect/ChipsSelect.js +4 -2
  424. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  425. package/dist/components/ConfigProvider/ConfigProvider.js +8 -5
  426. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  427. package/dist/components/Counter/Counter.d.ts +2 -1
  428. package/dist/components/Counter/Counter.js.map +1 -1
  429. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  430. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  431. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  432. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  433. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  434. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  435. package/dist/components/DatePicker/DatePicker.d.ts +2 -1
  436. package/dist/components/DatePicker/DatePicker.js +6 -6
  437. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  438. package/dist/components/Div/Div.d.ts +3 -4
  439. package/dist/components/Div/Div.js +5 -13
  440. package/dist/components/Div/Div.js.map +1 -1
  441. package/dist/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  442. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  443. package/dist/components/Epic/Epic.d.ts +3 -2
  444. package/dist/components/Epic/Epic.js +7 -7
  445. package/dist/components/Epic/Epic.js.map +1 -1
  446. package/dist/components/FixedLayout/FixedLayout.d.ts +2 -2
  447. package/dist/components/FixedLayout/FixedLayout.js +5 -4
  448. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  449. package/dist/components/FocusTrap/FocusTrap.d.ts +2 -2
  450. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  451. package/dist/components/FocusVisible/FocusVisible.d.ts +2 -1
  452. package/dist/components/FocusVisible/FocusVisible.js +8 -6
  453. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  454. package/dist/components/FormField/FormField.js +5 -4
  455. package/dist/components/FormField/FormField.js.map +1 -1
  456. package/dist/components/FormItem/FormItem.d.ts +6 -1
  457. package/dist/components/FormItem/FormItem.js +11 -10
  458. package/dist/components/FormItem/FormItem.js.map +1 -1
  459. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  460. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +6 -6
  461. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  462. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  463. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  464. package/dist/components/Gradient/Gradient.d.ts +3 -2
  465. package/dist/components/Gradient/Gradient.js +15 -14
  466. package/dist/components/Gradient/Gradient.js.map +1 -1
  467. package/dist/components/Group/Group.d.ts +3 -3
  468. package/dist/components/Group/Group.js +37 -24
  469. package/dist/components/Group/Group.js.map +1 -1
  470. package/dist/components/Header/Header.d.ts +3 -3
  471. package/dist/components/Header/Header.js +12 -11
  472. package/dist/components/Header/Header.js.map +1 -1
  473. package/dist/components/HorizontalCell/HorizontalCell.js +6 -5
  474. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  475. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  476. package/dist/components/HorizontalScroll/HorizontalScroll.js +16 -14
  477. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  478. package/dist/components/Image/Image.js +54 -39
  479. package/dist/components/Image/Image.js.map +1 -1
  480. package/dist/components/ImageBase/ImageBase.d.ts +2 -2
  481. package/dist/components/ImageBase/ImageBase.js +25 -8
  482. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  483. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  484. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +8 -9
  485. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  486. package/dist/components/InfoRow/InfoRow.d.ts +2 -1
  487. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  488. package/dist/components/InputLike/InputLike.d.ts +3 -3
  489. package/dist/components/InputLike/InputLike.js +6 -8
  490. package/dist/components/InputLike/InputLike.js.map +1 -1
  491. package/dist/components/List/List.d.ts +3 -2
  492. package/dist/components/List/List.js +5 -5
  493. package/dist/components/List/List.js.map +1 -1
  494. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  495. package/dist/components/MiniInfoCell/MiniInfoCell.js +15 -12
  496. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  497. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  498. package/dist/components/ModalCard/ModalCard.js +5 -7
  499. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  500. package/dist/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  501. package/dist/components/ModalCardBase/ModalCardBase.js +4 -6
  502. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  503. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  504. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  505. package/dist/components/ModalPage/ModalPage.d.ts +3 -2
  506. package/dist/components/ModalPage/ModalPage.js +9 -6
  507. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  508. package/dist/components/ModalRoot/ModalRoot.js +5 -3
  509. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  510. package/dist/components/ModalRoot/ModalRootContext.js +3 -0
  511. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  512. package/dist/components/ModalRoot/types.d.ts +1 -0
  513. package/dist/components/ModalRoot/types.js.map +1 -1
  514. package/dist/components/NavIdContext/NavIdContext.d.ts +3 -0
  515. package/dist/components/NavIdContext/NavIdContext.js +5 -0
  516. package/dist/components/NavIdContext/NavIdContext.js.map +1 -0
  517. package/dist/components/NavIdContext/useNavId.d.ts +4 -0
  518. package/dist/components/NavIdContext/useNavId.js +10 -0
  519. package/dist/components/NavIdContext/useNavId.js.map +1 -0
  520. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  521. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +24 -0
  522. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  523. package/dist/components/Pagination/Pagination.d.ts +3 -3
  524. package/dist/components/Pagination/Pagination.js +17 -33
  525. package/dist/components/Pagination/Pagination.js.map +1 -1
  526. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  527. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js +37 -0
  528. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  529. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  530. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js +21 -0
  531. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  532. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  533. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js +10 -0
  534. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  535. package/dist/components/Pagination/utils.d.ts +1 -0
  536. package/dist/components/Pagination/utils.js +5 -0
  537. package/dist/components/Pagination/utils.js.map +1 -0
  538. package/dist/components/Panel/Panel.d.ts +3 -3
  539. package/dist/components/Panel/Panel.js +11 -8
  540. package/dist/components/Panel/Panel.js.map +1 -1
  541. package/dist/components/PanelHeader/PanelHeader.d.ts +3 -3
  542. package/dist/components/PanelHeader/PanelHeader.js +5 -5
  543. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  544. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  545. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +4 -6
  546. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  547. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  548. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  549. package/dist/components/Placeholder/Placeholder.d.ts +24 -11
  550. package/dist/components/Placeholder/Placeholder.js +49 -21
  551. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  552. package/dist/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  553. package/dist/components/PopoutRoot/PopoutRoot.js +12 -19
  554. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  555. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  556. package/dist/components/PopoutWrapper/PopoutWrapper.js +17 -17
  557. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  558. package/dist/components/Popper/Popper.d.ts +7 -3
  559. package/dist/components/Popper/Popper.js +20 -11
  560. package/dist/components/Popper/Popper.js.map +1 -1
  561. package/dist/components/Progress/Progress.d.ts +3 -3
  562. package/dist/components/Progress/Progress.js +9 -10
  563. package/dist/components/Progress/Progress.js.map +1 -1
  564. package/dist/components/PromoBanner/PromoBanner.d.ts +3 -2
  565. package/dist/components/PromoBanner/PromoBanner.js +5 -6
  566. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  567. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +7 -7
  568. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +14 -6
  569. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  570. package/dist/components/RadioGroup/RadioGroup.d.ts +3 -2
  571. package/dist/components/RadioGroup/RadioGroup.js +6 -7
  572. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  573. package/dist/components/Removable/Removable.d.ts +3 -3
  574. package/dist/components/Removable/Removable.js +4 -8
  575. package/dist/components/Removable/Removable.js.map +1 -1
  576. package/dist/components/RichCell/RichCell.d.ts +1 -1
  577. package/dist/components/RichCell/RichCellIcon/RichCellIcon.d.ts +3 -1
  578. package/dist/components/RichCell/RichCellIcon/RichCellIcon.js +5 -11
  579. package/dist/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  580. package/dist/components/RichTooltip/RichTooltip.js +7 -6
  581. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  582. package/dist/components/Root/Root.d.ts +3 -2
  583. package/dist/components/Root/Root.js +13 -10
  584. package/dist/components/Root/Root.js.map +1 -1
  585. package/dist/components/RootComponent/RootComponent.d.ts +9 -0
  586. package/dist/components/RootComponent/RootComponent.js +20 -0
  587. package/dist/components/RootComponent/RootComponent.js.map +1 -0
  588. package/dist/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  589. package/dist/components/ScrollArrow/ScrollArrow.js +13 -12
  590. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  591. package/dist/components/Search/Search.d.ts +3 -3
  592. package/dist/components/Search/Search.js +4 -2
  593. package/dist/components/Search/Search.js.map +1 -1
  594. package/dist/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  595. package/dist/components/SegmentedControl/SegmentedControl.js +4 -6
  596. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  597. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  598. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +4 -2
  599. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  600. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  601. package/dist/components/SelectMimicry/SelectMimicry.js +8 -3
  602. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  603. package/dist/components/SelectTypography/SelectTypography.d.ts +2 -2
  604. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  605. package/dist/components/Separator/Separator.d.ts +3 -2
  606. package/dist/components/Separator/Separator.js +5 -5
  607. package/dist/components/Separator/Separator.js.map +1 -1
  608. package/dist/components/SimpleCell/SimpleCell.js +0 -1
  609. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  610. package/dist/components/Slider/Slider.d.ts +4 -3
  611. package/dist/components/Slider/Slider.js +5 -2
  612. package/dist/components/Slider/Slider.js.map +1 -1
  613. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  614. package/dist/components/Slider/SliderThumb/SliderThumb.js +56 -5
  615. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  616. package/dist/components/Snackbar/Snackbar.d.ts +3 -2
  617. package/dist/components/Snackbar/Snackbar.js +8 -7
  618. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  619. package/dist/components/Spacing/Spacing.d.ts +3 -3
  620. package/dist/components/Spacing/Spacing.js +5 -6
  621. package/dist/components/Spacing/Spacing.js.map +1 -1
  622. package/dist/components/Spinner/Spinner.d.ts +3 -2
  623. package/dist/components/Spinner/Spinner.js +6 -6
  624. package/dist/components/Spinner/Spinner.js.map +1 -1
  625. package/dist/components/SplitCol/SplitCol.d.ts +2 -1
  626. package/dist/components/SplitCol/SplitCol.js +8 -6
  627. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  628. package/dist/components/SplitLayout/SplitLayout.d.ts +2 -2
  629. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  630. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  631. package/dist/components/SubnavigationBar/SubnavigationBar.js +7 -9
  632. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  633. package/dist/components/Tabbar/Tabbar.d.ts +3 -2
  634. package/dist/components/Tabbar/Tabbar.js +6 -7
  635. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  636. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  637. package/dist/components/TabbarItem/TabbarItem.js +7 -7
  638. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  639. package/dist/components/Tabs/Tabs.d.ts +3 -3
  640. package/dist/components/Tabs/Tabs.js +4 -6
  641. package/dist/components/Tabs/Tabs.js.map +1 -1
  642. package/dist/components/TabsItem/TabsItem.d.ts +2 -1
  643. package/dist/components/TabsItem/TabsItem.js +6 -5
  644. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  645. package/dist/components/Tappable/Tappable.d.ts +6 -1
  646. package/dist/components/Tappable/Tappable.js +12 -9
  647. package/dist/components/Tappable/Tappable.js.map +1 -1
  648. package/dist/components/TextTooltip/TextTooltip.js +7 -6
  649. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  650. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  651. package/dist/components/Tooltip/Tooltip.js +6 -4
  652. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  653. package/dist/components/TooltipBase/TooltipBase.d.ts +8 -1
  654. package/dist/components/TooltipBase/TooltipBase.js +10 -5
  655. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  656. package/dist/components/Typography/Caption/Caption.js +6 -5
  657. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  658. package/dist/components/Typography/Headline/Headline.js +5 -4
  659. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  660. package/dist/components/Typography/Title/Title.js +6 -5
  661. package/dist/components/Typography/Title/Title.js.map +1 -1
  662. package/dist/components/Typography/Typography.d.ts +1 -1
  663. package/dist/components/Typography/Typography.js +12 -13
  664. package/dist/components/Typography/Typography.js.map +1 -1
  665. package/dist/components/UsersStack/UsersStack.d.ts +3 -2
  666. package/dist/components/UsersStack/UsersStack.js +14 -12
  667. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  668. package/dist/components/View/View.d.ts +2 -1
  669. package/dist/components/View/View.js +19 -15
  670. package/dist/components/View/View.js.map +1 -1
  671. package/dist/components/View/ViewInfinite.d.ts +10 -3
  672. package/dist/components/View/ViewInfinite.js +16 -10
  673. package/dist/components/View/ViewInfinite.js.map +1 -1
  674. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  675. package/dist/components/VisuallyHidden/VisuallyHidden.js +8 -9
  676. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  677. package/dist/components.css +37 -36
  678. package/dist/components.css.map +1 -1
  679. package/dist/components.js.tmp +6805 -4236
  680. package/dist/cssm/components/Accordion/Accordion.d.ts +1 -1
  681. package/dist/cssm/components/Accordion/Accordion.js +5 -5
  682. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  683. package/dist/cssm/components/Accordion/Accordion.module.css +2 -0
  684. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +6 -1
  685. package/dist/cssm/components/ActionSheet/ActionSheet.js +11 -9
  686. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  687. package/dist/cssm/components/ActionSheet/ActionSheet.module.css +3 -3
  688. package/dist/cssm/components/ActionSheet/ActionSheetContext.d.ts +6 -1
  689. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  690. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +1 -0
  691. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  692. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +6 -1
  693. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +13 -3
  694. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  695. package/dist/cssm/components/Alert/Alert.d.ts +6 -1
  696. package/dist/cssm/components/Alert/Alert.js +13 -4
  697. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  698. package/dist/cssm/components/Alert/Alert.module.css +17 -8
  699. package/dist/cssm/components/AppRoot/AppRoot.d.ts +12 -2
  700. package/dist/cssm/components/AppRoot/AppRoot.js +39 -14
  701. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  702. package/dist/cssm/components/AppRoot/AppRootContext.d.ts +1 -0
  703. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  704. package/dist/cssm/components/AspectRatio/AspectRatio.d.ts +3 -3
  705. package/dist/cssm/components/AspectRatio/AspectRatio.js +5 -5
  706. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  707. package/dist/cssm/components/AspectRatio/AspectRatio.module.css +6 -0
  708. package/dist/cssm/components/Badge/Badge.d.ts +3 -2
  709. package/dist/cssm/components/Badge/Badge.js +8 -5
  710. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  711. package/dist/cssm/components/Banner/Banner.d.ts +3 -3
  712. package/dist/cssm/components/Banner/Banner.js +11 -9
  713. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  714. package/dist/cssm/components/Banner/Banner.module.css +4 -2
  715. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +1 -1
  716. package/dist/cssm/components/BaseGallery/BaseGallery.js +10 -8
  717. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  718. package/dist/cssm/components/BaseGallery/BaseGallery.module.css +2 -0
  719. package/dist/cssm/components/BaseGallery/types.d.ts +2 -2
  720. package/dist/cssm/components/BaseGallery/types.js.map +1 -1
  721. package/dist/cssm/components/Button/Button.d.ts +2 -1
  722. package/dist/cssm/components/Button/Button.js +27 -23
  723. package/dist/cssm/components/Button/Button.js.map +1 -1
  724. package/dist/cssm/components/Button/Button.module.css +4 -0
  725. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  726. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +19 -16
  727. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  728. package/dist/cssm/components/ButtonGroup/ButtonGroup.module.css +2 -2
  729. package/dist/cssm/components/Calendar/Calendar.d.ts +3 -3
  730. package/dist/cssm/components/Calendar/Calendar.js +4 -4
  731. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  732. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +3 -2
  733. package/dist/cssm/components/CalendarDays/CalendarDays.js +9 -6
  734. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  735. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +3 -2
  736. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +6 -4
  737. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  738. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +3 -3
  739. package/dist/cssm/components/CalendarRange/CalendarRange.js +4 -5
  740. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  741. package/dist/cssm/components/Card/Card.d.ts +4 -4
  742. package/dist/cssm/components/Card/Card.js +6 -5
  743. package/dist/cssm/components/Card/Card.js.map +1 -1
  744. package/dist/cssm/components/Card/Card.module.css +1 -1
  745. package/dist/cssm/components/CardGrid/CardGrid.d.ts +3 -2
  746. package/dist/cssm/components/CardGrid/CardGrid.js +10 -8
  747. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  748. package/dist/cssm/components/CardGrid/CardGrid.module.css +0 -7
  749. package/dist/cssm/components/CardScroll/CardScroll.d.ts +3 -2
  750. package/dist/cssm/components/CardScroll/CardScroll.js +9 -7
  751. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  752. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +2 -1
  753. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  754. package/dist/cssm/components/Checkbox/Checkbox.js +5 -4
  755. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  756. package/dist/cssm/components/Checkbox/Checkbox.module.css +8 -0
  757. package/dist/cssm/components/Chip/Chip.d.ts +3 -2
  758. package/dist/cssm/components/Chip/Chip.js +5 -5
  759. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  760. package/dist/cssm/components/Chip/Chip.module.css +24 -0
  761. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +4 -2
  762. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  763. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +1 -4
  764. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +3 -1
  765. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  766. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +8 -5
  767. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  768. package/dist/cssm/components/Counter/Counter.d.ts +2 -1
  769. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  770. package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
  771. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  772. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  773. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  774. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  775. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  776. package/dist/cssm/components/DatePicker/DatePicker.d.ts +2 -1
  777. package/dist/cssm/components/DatePicker/DatePicker.js +5 -4
  778. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  779. package/dist/cssm/components/Div/Div.d.ts +3 -4
  780. package/dist/cssm/components/Div/Div.js +5 -8
  781. package/dist/cssm/components/Div/Div.js.map +1 -1
  782. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  783. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  784. package/dist/cssm/components/Epic/Epic.d.ts +3 -2
  785. package/dist/cssm/components/Epic/Epic.js +4 -4
  786. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  787. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +2 -2
  788. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -4
  789. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  790. package/dist/cssm/components/FixedLayout/FixedLayout.module.css +2 -0
  791. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +2 -2
  792. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  793. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +2 -1
  794. package/dist/cssm/components/FocusVisible/FocusVisible.js +8 -6
  795. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  796. package/dist/cssm/components/FocusVisible/FocusVisible.module.css +4 -4
  797. package/dist/cssm/components/FormField/FormField.js +5 -4
  798. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  799. package/dist/cssm/components/FormField/FormField.module.css +4 -2
  800. package/dist/cssm/components/FormItem/FormItem.d.ts +6 -1
  801. package/dist/cssm/components/FormItem/FormItem.js +9 -7
  802. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  803. package/dist/cssm/components/FormItem/FormItem.module.css +3 -0
  804. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  805. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -4
  806. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  807. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +3 -1
  808. package/dist/cssm/components/FormStatus/FormStatus.d.ts +2 -2
  809. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  810. package/dist/cssm/components/Gradient/Gradient.d.ts +3 -2
  811. package/dist/cssm/components/Gradient/Gradient.js +14 -11
  812. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  813. package/dist/cssm/components/Group/Group.d.ts +3 -3
  814. package/dist/cssm/components/Group/Group.js +36 -22
  815. package/dist/cssm/components/Group/Group.js.map +1 -1
  816. package/dist/cssm/components/Group/Group.module.css +41 -4
  817. package/dist/cssm/components/Header/Header.d.ts +3 -3
  818. package/dist/cssm/components/Header/Header.js +10 -8
  819. package/dist/cssm/components/Header/Header.js.map +1 -1
  820. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +6 -5
  821. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  822. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  823. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +16 -13
  824. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  825. package/dist/cssm/components/IconButton/IconButton.module.css +10 -0
  826. package/dist/cssm/components/Image/Image.js +46 -33
  827. package/dist/cssm/components/Image/Image.js.map +1 -1
  828. package/dist/cssm/components/ImageBase/ImageBase.d.ts +2 -2
  829. package/dist/cssm/components/ImageBase/ImageBase.js +25 -6
  830. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  831. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  832. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +7 -6
  833. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  834. package/dist/cssm/components/InfoRow/InfoRow.d.ts +2 -1
  835. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  836. package/dist/cssm/components/Input/Input.module.css +15 -0
  837. package/dist/cssm/components/InputLike/InputLike.d.ts +3 -3
  838. package/dist/cssm/components/InputLike/InputLike.js +5 -5
  839. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  840. package/dist/cssm/components/List/List.d.ts +3 -2
  841. package/dist/cssm/components/List/List.js +4 -3
  842. package/dist/cssm/components/List/List.js.map +1 -1
  843. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  844. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +15 -12
  845. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  846. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  847. package/dist/cssm/components/ModalCard/ModalCard.js +4 -4
  848. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  849. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  850. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +4 -4
  851. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  852. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  853. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  854. package/dist/cssm/components/ModalPage/ModalPage.d.ts +3 -2
  855. package/dist/cssm/components/ModalPage/ModalPage.js +8 -4
  856. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  857. package/dist/cssm/components/ModalPage/ModalPage.module.css +6 -6
  858. package/dist/cssm/components/ModalRoot/ModalRoot.js +4 -2
  859. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  860. package/dist/cssm/components/ModalRoot/ModalRoot.module.css +2 -2
  861. package/dist/cssm/components/ModalRoot/ModalRootContext.js +2 -1
  862. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  863. package/dist/cssm/components/ModalRoot/types.d.ts +1 -0
  864. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  865. package/dist/cssm/components/NavIdContext/NavIdContext.d.ts +3 -0
  866. package/dist/cssm/components/NavIdContext/NavIdContext.js +5 -0
  867. package/dist/cssm/components/NavIdContext/NavIdContext.js.map +1 -0
  868. package/dist/cssm/components/NavIdContext/useNavId.d.ts +4 -0
  869. package/dist/cssm/components/NavIdContext/useNavId.js +8 -0
  870. package/dist/cssm/components/NavIdContext/useNavId.js.map +1 -0
  871. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  872. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +22 -0
  873. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  874. package/dist/cssm/components/Pagination/Pagination.d.ts +3 -3
  875. package/dist/cssm/components/Pagination/Pagination.js +16 -31
  876. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  877. package/dist/cssm/components/Pagination/Pagination.module.css +0 -51
  878. package/dist/cssm/components/Pagination/PaginationPage/PaginationPage.module.css +43 -0
  879. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  880. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js +30 -0
  881. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  882. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  883. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js +17 -0
  884. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  885. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  886. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js +10 -0
  887. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  888. package/dist/cssm/components/Pagination/utils.d.ts +1 -0
  889. package/dist/cssm/components/Pagination/utils.js +5 -0
  890. package/dist/cssm/components/Pagination/utils.js.map +1 -0
  891. package/dist/cssm/components/Panel/Panel.d.ts +3 -3
  892. package/dist/cssm/components/Panel/Panel.js +10 -5
  893. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  894. package/dist/cssm/components/Panel/Panel.module.css +13 -2
  895. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +3 -3
  896. package/dist/cssm/components/PanelHeader/PanelHeader.js +5 -4
  897. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  898. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +17 -3
  899. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  900. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +4 -4
  901. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  902. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  903. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  904. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +8 -8
  905. package/dist/cssm/components/Placeholder/Placeholder.d.ts +24 -11
  906. package/dist/cssm/components/Placeholder/Placeholder.js +32 -15
  907. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  908. package/dist/cssm/components/Placeholder/Placeholder.module.css +1 -0
  909. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  910. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +12 -17
  911. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  912. package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +0 -4
  913. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  914. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +16 -15
  915. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  916. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +4 -2
  917. package/dist/cssm/components/Popover/Popover.module.css +2 -2
  918. package/dist/cssm/components/Popper/Popper.d.ts +7 -3
  919. package/dist/cssm/components/Popper/Popper.js +18 -10
  920. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  921. package/dist/cssm/components/Progress/Progress.d.ts +3 -3
  922. package/dist/cssm/components/Progress/Progress.js +9 -8
  923. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  924. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +3 -2
  925. package/dist/cssm/components/PromoBanner/PromoBanner.js +4 -4
  926. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  927. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +4 -4
  928. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.d.ts +7 -7
  929. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +6 -5
  930. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  931. package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +3 -2
  932. package/dist/cssm/components/RadioGroup/RadioGroup.js +4 -3
  933. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  934. package/dist/cssm/components/Removable/Removable.d.ts +3 -3
  935. package/dist/cssm/components/Removable/Removable.js +4 -6
  936. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  937. package/dist/cssm/components/RichCell/RichCell.d.ts +1 -1
  938. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.d.ts +3 -1
  939. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js +6 -6
  940. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  941. package/dist/cssm/components/RichTooltip/RichTooltip.js +7 -6
  942. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  943. package/dist/cssm/components/RichTooltip/RichTooltip.module.css +2 -2
  944. package/dist/cssm/components/Root/Root.d.ts +3 -2
  945. package/dist/cssm/components/Root/Root.js +12 -8
  946. package/dist/cssm/components/Root/Root.js.map +1 -1
  947. package/dist/cssm/components/Root/Root.module.css +12 -13
  948. package/dist/cssm/components/RootComponent/RootComponent.d.ts +9 -0
  949. package/dist/cssm/components/RootComponent/RootComponent.js +11 -0
  950. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -0
  951. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +7 -5
  952. package/dist/cssm/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  953. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +13 -10
  954. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  955. package/dist/cssm/components/Search/Search.d.ts +3 -3
  956. package/dist/cssm/components/Search/Search.js +2 -1
  957. package/dist/cssm/components/Search/Search.js.map +1 -1
  958. package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  959. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +4 -4
  960. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  961. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  962. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  963. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  964. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  965. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +6 -2
  966. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  967. package/dist/cssm/components/SelectTypography/SelectTypography.d.ts +2 -2
  968. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  969. package/dist/cssm/components/Separator/Separator.d.ts +3 -2
  970. package/dist/cssm/components/Separator/Separator.js +3 -2
  971. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  972. package/dist/cssm/components/SimpleCell/SimpleCell.js +0 -1
  973. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  974. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +4 -0
  975. package/dist/cssm/components/Slider/Slider.d.ts +4 -3
  976. package/dist/cssm/components/Slider/Slider.js +3 -1
  977. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  978. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  979. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +54 -5
  980. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  981. package/dist/cssm/components/Snackbar/Snackbar.d.ts +3 -2
  982. package/dist/cssm/components/Snackbar/Snackbar.js +8 -6
  983. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  984. package/dist/cssm/components/Snackbar/Snackbar.module.css +4 -4
  985. package/dist/cssm/components/Spacing/Spacing.d.ts +3 -3
  986. package/dist/cssm/components/Spacing/Spacing.js +4 -4
  987. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  988. package/dist/cssm/components/Spinner/Spinner.d.ts +3 -2
  989. package/dist/cssm/components/Spinner/Spinner.js +5 -4
  990. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  991. package/dist/cssm/components/SplitCol/SplitCol.d.ts +2 -1
  992. package/dist/cssm/components/SplitCol/SplitCol.js +7 -5
  993. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  994. package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +2 -2
  995. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  996. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  997. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +6 -6
  998. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  999. package/dist/cssm/components/Tabbar/Tabbar.d.ts +3 -2
  1000. package/dist/cssm/components/Tabbar/Tabbar.js +5 -4
  1001. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  1002. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  1003. package/dist/cssm/components/TabbarItem/TabbarItem.js +5 -4
  1004. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1005. package/dist/cssm/components/Tabs/Tabs.d.ts +3 -3
  1006. package/dist/cssm/components/Tabs/Tabs.js +4 -4
  1007. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1008. package/dist/cssm/components/TabsItem/TabsItem.d.ts +2 -1
  1009. package/dist/cssm/components/TabsItem/TabsItem.js +6 -5
  1010. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1011. package/dist/cssm/components/Tappable/Tappable.d.ts +6 -1
  1012. package/dist/cssm/components/Tappable/Tappable.js +10 -8
  1013. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  1014. package/dist/cssm/components/Tappable/Tappable.module.css +7 -3
  1015. package/dist/cssm/components/TextTooltip/TextTooltip.js +7 -6
  1016. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  1017. package/dist/cssm/components/TextTooltip/TextTooltip.module.css +2 -2
  1018. package/dist/cssm/components/Tooltip/Tooltip.d.ts +1 -1
  1019. package/dist/cssm/components/Tooltip/Tooltip.js +4 -3
  1020. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1021. package/dist/cssm/components/TooltipBase/TooltipBase.d.ts +8 -1
  1022. package/dist/cssm/components/TooltipBase/TooltipBase.js +9 -4
  1023. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  1024. package/dist/cssm/components/TooltipBase/TooltipBase.module.css +0 -1
  1025. package/dist/cssm/components/Typography/Caption/Caption.js +6 -5
  1026. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1027. package/dist/cssm/components/Typography/Headline/Headline.js +5 -4
  1028. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1029. package/dist/cssm/components/Typography/Title/Title.js +6 -5
  1030. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1031. package/dist/cssm/components/Typography/Typography.d.ts +1 -1
  1032. package/dist/cssm/components/Typography/Typography.js +10 -8
  1033. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  1034. package/dist/cssm/components/Typography/Typography.module.css +6 -0
  1035. package/dist/cssm/components/UsersStack/UsersStack.d.ts +3 -2
  1036. package/dist/cssm/components/UsersStack/UsersStack.js +14 -11
  1037. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1038. package/dist/cssm/components/View/View.d.ts +2 -1
  1039. package/dist/cssm/components/View/View.js +19 -15
  1040. package/dist/cssm/components/View/View.js.map +1 -1
  1041. package/dist/cssm/components/View/View.module.css +16 -16
  1042. package/dist/cssm/components/View/ViewInfinite.d.ts +10 -3
  1043. package/dist/cssm/components/View/ViewInfinite.js +16 -10
  1044. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1045. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  1046. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +4 -6
  1047. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  1048. package/dist/cssm/hooks/useAdaptivityHasHover.js +4 -3
  1049. package/dist/cssm/hooks/useAdaptivityHasHover.js.map +1 -1
  1050. package/dist/cssm/hooks/useAdaptivityHasPointer.js +5 -5
  1051. package/dist/cssm/hooks/useAdaptivityHasPointer.js.map +1 -1
  1052. package/dist/cssm/hooks/useAutoFocus.d.ts +2 -0
  1053. package/dist/cssm/hooks/useAutoFocus.js +12 -0
  1054. package/dist/cssm/hooks/useAutoFocus.js.map +1 -0
  1055. package/dist/cssm/hooks/useChipsSelect.js +5 -4
  1056. package/dist/cssm/hooks/useChipsSelect.js.map +1 -1
  1057. package/dist/cssm/hooks/useFocusWithin.js +3 -0
  1058. package/dist/cssm/hooks/useFocusWithin.js.map +1 -1
  1059. package/dist/cssm/hooks/useIsClient.js +2 -1
  1060. package/dist/cssm/hooks/useIsClient.js.map +1 -1
  1061. package/dist/cssm/index.d.ts +6 -2
  1062. package/dist/cssm/index.js +3 -0
  1063. package/dist/cssm/index.js.map +1 -1
  1064. package/dist/cssm/lib/floating/index.d.ts +1 -1
  1065. package/dist/cssm/lib/floating/index.js +1 -1
  1066. package/dist/cssm/lib/floating/index.js.map +1 -1
  1067. package/dist/cssm/lib/select.d.ts +1 -1
  1068. package/dist/cssm/lib/utils.d.ts +2 -0
  1069. package/dist/cssm/lib/utils.js +14 -0
  1070. package/dist/cssm/lib/utils.js.map +1 -1
  1071. package/dist/cssm/styles/common.css +9 -7
  1072. package/dist/cssm/styles/constants.css +1 -1
  1073. package/dist/cssm/styles/themes.css +226 -133
  1074. package/dist/cssm/types.d.ts +1 -0
  1075. package/dist/cssm/types.js.map +1 -1
  1076. package/dist/hooks/useAdaptivityHasHover.js +4 -3
  1077. package/dist/hooks/useAdaptivityHasHover.js.map +1 -1
  1078. package/dist/hooks/useAdaptivityHasPointer.js +5 -5
  1079. package/dist/hooks/useAdaptivityHasPointer.js.map +1 -1
  1080. package/dist/hooks/useAutoFocus.d.ts +2 -0
  1081. package/dist/hooks/useAutoFocus.js +12 -0
  1082. package/dist/hooks/useAutoFocus.js.map +1 -0
  1083. package/dist/hooks/useChipsSelect.js +5 -4
  1084. package/dist/hooks/useChipsSelect.js.map +1 -1
  1085. package/dist/hooks/useFocusWithin.js +3 -0
  1086. package/dist/hooks/useFocusWithin.js.map +1 -1
  1087. package/dist/hooks/useIsClient.js +2 -1
  1088. package/dist/hooks/useIsClient.js.map +1 -1
  1089. package/dist/index.d.ts +6 -2
  1090. package/dist/index.js +3 -0
  1091. package/dist/index.js.map +1 -1
  1092. package/dist/lib/floating/index.d.ts +1 -1
  1093. package/dist/lib/floating/index.js +1 -1
  1094. package/dist/lib/floating/index.js.map +1 -1
  1095. package/dist/lib/select.d.ts +1 -1
  1096. package/dist/lib/utils.d.ts +2 -0
  1097. package/dist/lib/utils.js +16 -0
  1098. package/dist/lib/utils.js.map +1 -1
  1099. package/dist/types.d.ts +1 -0
  1100. package/dist/types.js.map +1 -1
  1101. package/dist/vkui.css +38 -37
  1102. package/dist/vkui.css.map +1 -1
  1103. package/dist/vkui.js.tmp +6687 -4118
  1104. package/package.json +24 -23
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { canUseDOM, DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { animationEvent, transitionEvent } from '../../lib/supportEvents';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasPlatform } from '../../types';\nimport { ScrollContext, ScrollContextInterface } from '../AppRoot/ScrollContext';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { SplitColContext, SplitColContextProps } from '../SplitCol/SplitColContext';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { swipeBackExcluded } from './utils';\nimport styles from './View.module.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 onTransition?(params: TransitionParams & { isBack: boolean }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(activePanel: string | null): void | 'prevent';\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 swipeBackPrevented: 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 private static readonly SWIPE_BACK_AREA = 70;\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 swipeBackPrevented: 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: ReturnType<typeof setTimeout> | undefined = undefined;\n private animationFinishTimeout: ReturnType<typeof setTimeout> | 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(prevProps: ViewInfiniteProps, prevState: ViewInfiniteState) {\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((id) => id === prevProps.activePanel || id === this.props.activePanel);\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]: [...prevScrolls, this.props.scroll?.getScroll().y],\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 === Platform.ANDROID || this.props.platform === Platform.VKCOM\n ? 300\n : 600,\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevProps.activePanel !== this.props.activePanel && prevState.swipingBack) {\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(0, -1);\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.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 (prevProps.activePanel !== this.props.activePanel && this.state.browserSwipe) {\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 this.props.platform === Platform.VKCOM\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 === Platform.ANDROID || this.props.platform === 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 styles['vkui-animation-ios-next-forward'],\n styles['vkui-animation-ios-prev-back'],\n styles['vkui-animation-view-next-forward'],\n styles['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 = (event: TouchEvent): void => {\n if (\n !this.window ||\n this.props.platform !== Platform.IOS ||\n this.state.swipeBackPrevented ||\n swipeBackExcluded(event) ||\n this.shouldDisableTransitionMotion()\n ) {\n return;\n }\n\n if (!this.props.configProvider?.isWebView) {\n if (\n (event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA ||\n event.startX >= this.window.innerWidth - ViewInfiniteComponent.SWIPE_BACK_AREA) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n return;\n }\n\n if (\n !this.props.onSwipeBack ||\n (this.state.animated && event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA)\n ) {\n return;\n }\n\n if (\n !this.state.swipingBack &&\n event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA &&\n this.props.history &&\n this.props.history.length > 1\n ) {\n if (this.props.onSwipeBackStart) {\n const payload = this.props.onSwipeBackStart(this.state.activePanel);\n if (payload === 'prevent') {\n this.setState({ swipeBackPrevented: true });\n return;\n }\n }\n\n if (this.state.activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n this.blurActiveElement();\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [...prevScrolls, this.props.scroll?.getScroll().y],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipeBackStartX: event.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history.slice(-2)[0],\n });\n }\n\n if (this.state.swipingBack) {\n let swipeBackShift;\n if (event.shiftX < 0) {\n swipeBackShift = 0;\n } else if (event.shiftX > this.window.innerWidth - this.state.swipeBackStartX) {\n swipeBackShift = this.window.innerWidth;\n } else {\n swipeBackShift = event.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n };\n\n onEnd = (event: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / event.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 > this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n if (this.state.swipeBackPrevented) {\n this.setState({ swipeBackPrevented: false });\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)) / this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` } : {};\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 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 className,\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 panels = this.panels\n .filter((panel) => {\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 .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel = 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 return (\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles['View'],\n platform === Platform.IOS && classNames(styles['View--ios'], 'vkuiInternalView--ios'),\n !disableAnimation && this.state.animated && styles['View--animated'],\n !disableAnimation && this.state.swipingBack && styles['View--swiping-back'],\n disableAnimation && styles['View--no-motion'],\n className,\n )}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div className={styles['View__panels']}>\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev || panelId === swipeBackNextPanel || (panelId === nextPanel && isBack);\n const isTransitionTarget = 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 className={classNames(\n styles['View__panel'],\n panelId === activePanel && styles['View__panel--active'],\n panelId === prevPanel && styles['View__panel--prev'],\n panelId === nextPanel && styles['View__panel--next'],\n panelId === swipeBackPrevPanel && styles['View__panel--swipe-back-prev'],\n panelId === swipeBackNextPanel && styles['View__panel--swipe-back-next'],\n swipeBackResult === SwipeBackResults.success &&\n styles['View__panel--swipe-back-success'],\n swipeBackResult === SwipeBackResults.fail &&\n styles['View__panel--swipe-back-failed'],\n )}\n onAnimationEnd={isTransitionTarget ? this.transitionEndHandler : undefined}\n ref={(el) => panelId !== undefined && (this.panelNodes[panelId] = el)}\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n className={styles['View__panel-in']}\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\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"],"names":["React","classNames","withContext","withPlatform","canUseDOM","withDOM","getNavId","Platform","animationEvent","transitionEvent","warnOnce","ScrollContext","ConfigProviderContext","NavTransitionProvider","SplitColContext","Touch","swipeBackExcluded","styles","warn","SwipeBackResults","fail","success","scrollsCache","ViewInfiniteComponent","Component","SWIPE_BACK_AREA","constructor","props","state","animated","visiblePanels","activePanel","isBack","undefined","prevPanel","nextPanel","swipingBack","swipeBackPrevented","swipeBackStartX","swipeBackShift","swipeBackNextPanel","swipeBackPrevPanel","swipeBackResult","browserSwipe","defaultProps","history","scrolls","transitionFinishTimeout","animationFinishTimeout","document","window","panels","Children","toArray","children","panelNodes","componentWillUnmount","id","clearTimeout","componentDidUpdate","prevProps","prevState","isBackCheck","from","to","firstLayerId","map","panel","find","blurActiveElement","prevScrolls","scroll","getScroll","y","shouldDisableTransitionMotion","flushTransition","setState","supported","setTimeout","transitionEndHandler","platform","ANDROID","VKCOM","scrollPosition","prevPanelScrolls","slice","newPanelScrolls","pop","scrollTo","onTransition","waitTransitionFinish","pickPanel","swipingBackTransitionEndHandler","configProvider","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","activeElement","blur","e","includes","animationName","Boolean","propertyName","target","onSwipeBackCancel","onSwipeBackSuccess","onSwipeBack","onMoveX","event","IOS","isWebView","startX","innerWidth","length","onSwipeBackStart","payload","shiftX","onEnd","speed","duration","calcPanelSwipeStyles","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","render","_1","nav","className","restProps","filter","sort","isPrevPanel","isNextPanel","disableAnimation","div","compensateScroll","isTransitionTarget","scrollList","onAnimationEnd","ref","el","style","key","marginTop","entering","ViewInfinite"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { canUseDOM, DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { animationEvent, transitionEvent } from '../../lib/supportEvents';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasPlatform, HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext, ScrollContextInterface } from '../AppRoot/ScrollContext';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { NavViewIdContext } from '../NavIdContext/NavIdContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { SplitColContext, SplitColContextProps } from '../SplitCol/SplitColContext';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { swipeBackExcluded } from './utils';\nimport styles from './View.module.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\nexport let scrollsCache: ViewsScrolls = {};\n\nexport type TransitionParams = { from: string | null; to: string | null };\n\nexport interface ViewInfiniteProps\n extends HTMLAttributesWithRootRef<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n onTransition?(params: TransitionParams & { isBack: boolean }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(activePanel: string | null): void | 'prevent';\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 swipeBackPrevented: 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 private static readonly SWIPE_BACK_AREA = 70;\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: undefined,\n swipeBackPrevented: 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: ReturnType<typeof setTimeout> | undefined = undefined;\n private animationFinishTimeout: ReturnType<typeof setTimeout> | 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(prevProps: ViewInfiniteProps, prevState: ViewInfiniteState) {\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((id) => id === prevProps.activePanel || id === this.props.activePanel);\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]: [...prevScrolls, this.props.scroll?.getScroll().y],\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 === Platform.ANDROID || this.props.platform === Platform.VKCOM\n ? 300\n : 600,\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevProps.activePanel !== this.props.activePanel && prevState.swipingBack) {\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(0, -1);\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.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 (prevProps.activePanel !== this.props.activePanel && this.state.browserSwipe) {\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 this.props.platform === Platform.VKCOM\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 === Platform.ANDROID || this.props.platform === 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,\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 styles['animation-ios-next-forward'],\n styles['animation-ios-prev-back'],\n styles['animation-view-next-forward'],\n styles['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 = (event: TouchEvent): void => {\n if (\n !this.window ||\n this.props.platform !== Platform.IOS ||\n this.state.swipeBackPrevented ||\n swipeBackExcluded(event) ||\n this.shouldDisableTransitionMotion()\n ) {\n return;\n }\n\n if (!this.props.configProvider?.isWebView) {\n if (\n (event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA ||\n event.startX >= this.window.innerWidth - ViewInfiniteComponent.SWIPE_BACK_AREA) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n return;\n }\n\n if (\n !this.props.onSwipeBack ||\n (this.state.animated && event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA)\n ) {\n return;\n }\n\n if (\n !this.state.swipingBack &&\n event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA &&\n this.props.history &&\n this.props.history.length > 1\n ) {\n if (this.props.onSwipeBackStart) {\n const payload = this.props.onSwipeBackStart(this.state.activePanel);\n if (payload === 'prevent') {\n this.setState({ swipeBackPrevented: true });\n return;\n }\n }\n\n if (this.state.activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n this.blurActiveElement();\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [...prevScrolls, this.props.scroll?.getScroll().y],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipeBackStartX: event.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history.slice(-2)[0],\n });\n }\n\n if (this.state.swipingBack) {\n let swipeBackShift;\n if (event.shiftX < 0) {\n swipeBackShift = 0;\n } else if (event.shiftX > this.window.innerWidth - this.state.swipeBackStartX) {\n swipeBackShift = this.window.innerWidth;\n } else {\n swipeBackShift = event.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n };\n\n onEnd = (event: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / event.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 > this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n if (this.state.swipeBackPrevented) {\n this.setState({ swipeBackPrevented: false });\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)) / this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` } : {};\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 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 className,\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 panels = this.panels\n .filter((panel) => {\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 .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel = 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 return (\n <NavViewIdContext.Provider value={id || nav}>\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles['View'],\n platform === Platform.IOS && classNames(styles['View--ios'], 'vkuiInternalView--ios'),\n !disableAnimation && this.state.animated && styles['View--animated'],\n !disableAnimation && this.state.swipingBack && styles['View--swiping-back'],\n disableAnimation && styles['View--no-motion'],\n className,\n )}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div className={styles['View__panels']}>\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev || panelId === swipeBackNextPanel || (panelId === nextPanel && isBack);\n const isTransitionTarget = 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 className={classNames(\n styles['View__panel'],\n panelId === activePanel && styles['View__panel--active'],\n panelId === prevPanel && styles['View__panel--prev'],\n panelId === nextPanel && styles['View__panel--next'],\n panelId === swipeBackPrevPanel && styles['View__panel--swipe-back-prev'],\n panelId === swipeBackNextPanel && styles['View__panel--swipe-back-next'],\n swipeBackResult === SwipeBackResults.success &&\n styles['View__panel--swipe-back-success'],\n swipeBackResult === SwipeBackResults.fail &&\n styles['View__panel--swipe-back-failed'],\n )}\n onAnimationEnd={isTransitionTarget ? this.transitionEndHandler : undefined}\n ref={(el) => panelId !== undefined && (this.panelNodes[panelId] = el)}\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n className={styles['View__panel-in']}\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionDirectionProvider isBack={swipingBack || isBack}>\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n </NavViewIdContext.Provider>\n );\n }\n}\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"],"names":["React","classNames","withContext","withPlatform","canUseDOM","withDOM","getNavId","Platform","animationEvent","transitionEvent","warnOnce","ScrollContext","ConfigProviderContext","NavViewIdContext","NavTransitionProvider","NavTransitionDirectionProvider","SplitColContext","Touch","swipeBackExcluded","styles","warn","SwipeBackResults","fail","success","scrollsCache","ViewInfiniteComponent","Component","SWIPE_BACK_AREA","constructor","props","state","animated","visiblePanels","activePanel","isBack","undefined","prevPanel","nextPanel","swipingBack","swipeBackPrevented","swipeBackStartX","swipeBackShift","swipeBackNextPanel","swipeBackPrevPanel","swipeBackResult","browserSwipe","defaultProps","history","scrolls","transitionFinishTimeout","animationFinishTimeout","document","window","panels","Children","toArray","children","panelNodes","componentWillUnmount","id","clearTimeout","componentDidUpdate","prevProps","prevState","isBackCheck","from","to","firstLayerId","map","panel","find","blurActiveElement","prevScrolls","scroll","getScroll","y","shouldDisableTransitionMotion","flushTransition","setState","supported","setTimeout","transitionEndHandler","platform","ANDROID","VKCOM","scrollPosition","prevPanelScrolls","slice","newPanelScrolls","pop","scrollTo","onTransition","waitTransitionFinish","pickPanel","swipingBackTransitionEndHandler","configProvider","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","activeElement","blur","e","includes","animationName","Boolean","propertyName","target","onSwipeBackCancel","onSwipeBackSuccess","onSwipeBack","onMoveX","event","IOS","isWebView","startX","innerWidth","length","onSwipeBackStart","payload","shiftX","onEnd","speed","duration","calcPanelSwipeStyles","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","render","_1","nav","className","restProps","filter","sort","isPrevPanel","isNextPanel","disableAnimation","Provider","value","div","compensateScroll","isTransitionTarget","scrollList","onAnimationEnd","ref","el","style","key","marginTop","entering","ViewInfinite"],"mappings":"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"}
@@ -9,5 +9,5 @@ interface VisuallyHiddenProps extends React.AllHTMLAttributes<HTMLElement>, HasR
9
9
  * @since v5.4.0
10
10
  * @see https://vkcom.github.io/VKUI/#/VisuallyHidden
11
11
  */
12
- export declare const VisuallyHidden: ({ Component, getRootRef, className, ...restProps }: VisuallyHiddenProps) => React.JSX.Element;
12
+ export declare const VisuallyHidden: ({ Component, ...restProps }: VisuallyHiddenProps) => React.JSX.Element;
13
13
  export {};
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { classNames } from '@vkontakte/vkjs';
2
+ import { RootComponent } from '../RootComponent/RootComponent';
3
3
  import styles from './VisuallyHidden.module.css';
4
4
  /**
5
5
  * Компонент-обертка. Позволяет скрыть контент визуально, но оставить его
@@ -7,12 +7,10 @@ import styles from './VisuallyHidden.module.css';
7
7
  *
8
8
  * @since v5.4.0
9
9
  * @see https://vkcom.github.io/VKUI/#/VisuallyHidden
10
- */ export const VisuallyHidden = ({ Component = 'span', getRootRef, className, ...restProps })=>{
11
- return /*#__PURE__*/ React.createElement(Component, {
10
+ */ export const VisuallyHidden = ({ Component = 'span', ...restProps })=>/*#__PURE__*/ React.createElement(RootComponent, {
11
+ Component: Component,
12
12
  ...restProps,
13
- className: classNames(styles['VisuallyHidden'], className),
14
- ref: getRootRef
13
+ baseClassName: styles['VisuallyHidden']
15
14
  });
16
- };
17
15
 
18
16
  //# sourceMappingURL=VisuallyHidden.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasComponent, HasRootRef } from '../../types';\nimport styles from './VisuallyHidden.module.css';\n\ninterface VisuallyHiddenProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {}\n\n/**\n * Компонент-обертка. Позволяет скрыть контент визуально, но оставить его\n * доступным для ассистивных технологий. По умолчанию — `span`.\n *\n * @since v5.4.0\n * @see https://vkcom.github.io/VKUI/#/VisuallyHidden\n */\nexport const VisuallyHidden = ({\n Component = 'span',\n getRootRef,\n className,\n ...restProps\n}: VisuallyHiddenProps) => {\n return (\n <Component\n {...restProps}\n className={classNames(styles['VisuallyHidden'], className)}\n ref={getRootRef}\n />\n );\n};\n"],"names":["React","classNames","styles","VisuallyHidden","Component","getRootRef","className","restProps","ref"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,8BAA8B;AAOjD;;;;;;CAMC,GACD,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,YAAY,MAAM,EAClBC,UAAU,EACVC,SAAS,EACT,GAAGC,WACiB;IACpB,qBACE,oBAACH;QACE,GAAGG,SAAS;QACbD,WAAWL,WAAWC,MAAM,CAAC,iBAAiB,EAAEI;QAChDE,KAAKH;;AAGX,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["import * as React from 'react';\nimport { HasComponent, HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './VisuallyHidden.module.css';\n\ninterface VisuallyHiddenProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {}\n\n/**\n * Компонент-обертка. Позволяет скрыть контент визуально, но оставить его\n * доступным для ассистивных технологий. По умолчанию — `span`.\n *\n * @since v5.4.0\n * @see https://vkcom.github.io/VKUI/#/VisuallyHidden\n */\nexport const VisuallyHidden = ({ Component = 'span', ...restProps }: VisuallyHiddenProps) => (\n <RootComponent Component={Component} {...restProps} baseClassName={styles['VisuallyHidden']} />\n);\n"],"names":["React","RootComponent","styles","VisuallyHidden","Component","restProps","baseClassName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,OAAOC,YAAY,8BAA8B;AAOjD;;;;;;CAMC,GACD,OAAO,MAAMC,iBAAiB,CAAC,EAAEC,YAAY,MAAM,EAAE,GAAGC,WAAgC,iBACtF,oBAACJ;QAAcG,WAAWA;QAAY,GAAGC,SAAS;QAAEC,eAAeJ,MAAM,CAAC,iBAAiB;OAC3F"}
@@ -5,9 +5,10 @@ import { useIsClient } from './useIsClient';
5
5
  export function useAdaptivityHasHover(deferDetect = true) {
6
6
  const { hasHover: hasHoverContext } = React.useContext(AdaptivityContext);
7
7
  const hasHover = hasHoverContext === undefined ? hasHoverLib : hasHoverContext;
8
- const isClient = useIsClient(!deferDetect);
9
- if (!isClient) {
10
- return undefined;
8
+ const needTwoPassRendering = deferDetect || hasHoverContext === undefined;
9
+ const isClient = useIsClient(!needTwoPassRendering);
10
+ if (!isClient || hasHoverContext !== undefined) {
11
+ return hasHoverContext;
11
12
  }
12
13
  return hasHover;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useAdaptivityHasHover.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasHover as hasHoverLib } from '@vkontakte/vkjs';\nimport { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';\nimport { useIsClient } from './useIsClient';\n\n/**\n * Определение происходит с помощью `window.matchMedia`. Для того, чтобы не было ошибок при гидратации, по умолчанию\n * откладываем определение на второй рендер.\n *\n * [No SSR] Если передать `false`, то определение будет сразу.\n */\nexport function useAdaptivityHasHover(deferDetect?: true): undefined | boolean;\nexport function useAdaptivityHasHover(deferDetect?: false): boolean;\nexport function useAdaptivityHasHover(deferDetect = true): undefined | boolean {\n const { hasHover: hasHoverContext } = React.useContext(AdaptivityContext);\n const hasHover = hasHoverContext === undefined ? hasHoverLib : hasHoverContext;\n\n const isClient = useIsClient(!deferDetect);\n if (!isClient) {\n return undefined;\n }\n\n return hasHover;\n}\n"],"names":["React","hasHover","hasHoverLib","AdaptivityContext","useIsClient","useAdaptivityHasHover","deferDetect","hasHoverContext","useContext","undefined","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,WAAW,QAAQ,kBAAkB;AAC1D,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,WAAW,QAAQ,gBAAgB;AAU5C,OAAO,SAASC,sBAAsBC,cAAc,IAAI;IACtD,MAAM,EAAEL,UAAUM,eAAe,EAAE,GAAGP,MAAMQ,UAAU,CAACL;IACvD,MAAMF,WAAWM,oBAAoBE,YAAYP,cAAcK;IAE/D,MAAMG,WAAWN,YAAY,CAACE;IAC9B,IAAI,CAACI,UAAU;QACb,OAAOD;IACT;IAEA,OAAOR;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useAdaptivityHasHover.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasHover as hasHoverLib } from '@vkontakte/vkjs';\nimport { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';\nimport { useIsClient } from './useIsClient';\n\n/**\n * Определение происходит с помощью `window.matchMedia`. Для того, чтобы не было ошибок при гидратации, по умолчанию\n * откладываем определение на второй рендер.\n *\n * [No SSR] Если передать `false`, то определение будет сразу.\n */\nexport function useAdaptivityHasHover(deferDetect?: true): undefined | boolean;\nexport function useAdaptivityHasHover(deferDetect?: false): boolean;\nexport function useAdaptivityHasHover(deferDetect = true): undefined | boolean {\n const { hasHover: hasHoverContext } = React.useContext(AdaptivityContext);\n const hasHover = hasHoverContext === undefined ? hasHoverLib : hasHoverContext;\n\n const needTwoPassRendering = deferDetect || hasHoverContext === undefined;\n\n const isClient = useIsClient(!needTwoPassRendering);\n if (!isClient || hasHoverContext !== undefined) {\n return hasHoverContext;\n }\n\n return hasHover;\n}\n"],"names":["React","hasHover","hasHoverLib","AdaptivityContext","useIsClient","useAdaptivityHasHover","deferDetect","hasHoverContext","useContext","undefined","needTwoPassRendering","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,WAAW,QAAQ,kBAAkB;AAC1D,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,WAAW,QAAQ,gBAAgB;AAU5C,OAAO,SAASC,sBAAsBC,cAAc,IAAI;IACtD,MAAM,EAAEL,UAAUM,eAAe,EAAE,GAAGP,MAAMQ,UAAU,CAACL;IACvD,MAAMF,WAAWM,oBAAoBE,YAAYP,cAAcK;IAE/D,MAAMG,uBAAuBJ,eAAeC,oBAAoBE;IAEhE,MAAME,WAAWP,YAAY,CAACM;IAC9B,IAAI,CAACC,YAAYJ,oBAAoBE,WAAW;QAC9C,OAAOF;IACT;IAEA,OAAON;AACT"}
@@ -4,12 +4,12 @@ import { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityCo
4
4
  import { useIsClient } from './useIsClient';
5
5
  export function useAdaptivityHasPointer(deferDetect = true) {
6
6
  const { hasPointer: hasPointerContext } = React.useContext(AdaptivityContext);
7
- const hasPointer = hasPointerContext === undefined ? hasPointerLib : hasPointerContext;
8
- const isClient = useIsClient(!deferDetect);
9
- if (!isClient) {
10
- return undefined;
7
+ const needTwoPassRendering = deferDetect || hasPointerContext === undefined;
8
+ const isClient = useIsClient(!needTwoPassRendering);
9
+ if (!isClient || hasPointerContext !== undefined) {
10
+ return hasPointerContext;
11
11
  }
12
- return hasPointer;
12
+ return hasPointerLib;
13
13
  }
14
14
 
15
15
  //# sourceMappingURL=useAdaptivityHasPointer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useAdaptivityHasPointer.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as hasPointerLib } from '@vkontakte/vkjs';\nimport { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';\nimport { useIsClient } from './useIsClient';\n\n/**\n * Определение происходит с помощью `window.matchMedia`. Для того, чтобы не было ошибок при гидратации, по умолчанию\n * откладываем определение на второй рендер.\n *\n * [No SSR] Если передать `false`, то определение будет сразу.\n */\nexport function useAdaptivityHasPointer(deferDetect?: true): undefined | boolean; // prettier-ignore\nexport function useAdaptivityHasPointer(deferDetect?: false): boolean;\nexport function useAdaptivityHasPointer(deferDetect = true): undefined | boolean {\n const { hasPointer: hasPointerContext } = React.useContext(AdaptivityContext);\n const hasPointer = hasPointerContext === undefined ? hasPointerLib : hasPointerContext;\n\n const isClient = useIsClient(!deferDetect);\n if (!isClient) {\n return undefined;\n }\n\n return hasPointer;\n}\n"],"names":["React","hasMouse","hasPointerLib","AdaptivityContext","useIsClient","useAdaptivityHasPointer","deferDetect","hasPointer","hasPointerContext","useContext","undefined","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,aAAa,QAAQ,kBAAkB;AAC5D,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,WAAW,QAAQ,gBAAgB;AAU5C,OAAO,SAASC,wBAAwBC,cAAc,IAAI;IACxD,MAAM,EAAEC,YAAYC,iBAAiB,EAAE,GAAGR,MAAMS,UAAU,CAACN;IAC3D,MAAMI,aAAaC,sBAAsBE,YAAYR,gBAAgBM;IAErE,MAAMG,WAAWP,YAAY,CAACE;IAC9B,IAAI,CAACK,UAAU;QACb,OAAOD;IACT;IAEA,OAAOH;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useAdaptivityHasPointer.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as hasPointerLib } from '@vkontakte/vkjs';\nimport { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';\nimport { useIsClient } from './useIsClient';\n\n/**\n * Определение происходит с помощью `window.matchMedia`. Для того, чтобы не было ошибок при гидратации, по умолчанию\n * откладываем определение на второй рендер.\n *\n * [No SSR] Если передать `false`, то определение будет сразу.\n */\nexport function useAdaptivityHasPointer(deferDetect?: true): undefined | boolean; // prettier-ignore\nexport function useAdaptivityHasPointer(deferDetect?: false): boolean;\nexport function useAdaptivityHasPointer(deferDetect = true): undefined | boolean {\n const { hasPointer: hasPointerContext } = React.useContext(AdaptivityContext);\n\n const needTwoPassRendering = deferDetect || hasPointerContext === undefined;\n\n const isClient = useIsClient(!needTwoPassRendering);\n if (!isClient || hasPointerContext !== undefined) {\n return hasPointerContext;\n }\n\n return hasPointerLib;\n}\n"],"names":["React","hasMouse","hasPointerLib","AdaptivityContext","useIsClient","useAdaptivityHasPointer","deferDetect","hasPointer","hasPointerContext","useContext","needTwoPassRendering","undefined","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,aAAa,QAAQ,kBAAkB;AAC5D,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,WAAW,QAAQ,gBAAgB;AAU5C,OAAO,SAASC,wBAAwBC,cAAc,IAAI;IACxD,MAAM,EAAEC,YAAYC,iBAAiB,EAAE,GAAGR,MAAMS,UAAU,CAACN;IAE3D,MAAMO,uBAAuBJ,eAAeE,sBAAsBG;IAElE,MAAMC,WAAWR,YAAY,CAACM;IAC9B,IAAI,CAACE,YAAYJ,sBAAsBG,WAAW;QAChD,OAAOH;IACT;IAEA,OAAON;AACT"}
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare function useAutoFocus(ref: React.RefObject<HTMLElement | null>, autoFocus: boolean | undefined): void;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';
3
+ export function useAutoFocus(ref, autoFocus) {
4
+ useIsomorphicLayoutEffect(()=>{
5
+ if (!autoFocus || !ref.current) {
6
+ return;
7
+ }
8
+ ref.current.focus();
9
+ }, []);
10
+ }
11
+
12
+ //# sourceMappingURL=useAutoFocus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/hooks/useAutoFocus.ts"],"sourcesContent":["import React from 'react';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nexport function useAutoFocus(\n ref: React.RefObject<HTMLElement | null>,\n autoFocus: boolean | undefined,\n) {\n useIsomorphicLayoutEffect(() => {\n if (!autoFocus || !ref.current) {\n return;\n }\n\n ref.current.focus();\n }, []);\n}\n"],"names":["React","useIsomorphicLayoutEffect","useAutoFocus","ref","autoFocus","current","focus"],"mappings":"AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,yBAAyB,QAAQ,mCAAmC;AAE7E,OAAO,SAASC,aACdC,GAAwC,EACxCC,SAA8B;IAE9BH,0BAA0B;QACxB,IAAI,CAACG,aAAa,CAACD,IAAIE,OAAO,EAAE;YAC9B;QACF;QAEAF,IAAIE,OAAO,CAACC,KAAK;IACnB,GAAG,EAAE;AACP"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { useChipsInput } from './useChipsInput';
3
3
  export const useChipsSelect = (props)=>{
4
- const { options, filterFn, getOptionLabel, getOptionValue } = props;
4
+ const { options, filterFn, getOptionLabel, getOptionValue, showSelected } = props;
5
5
  const [opened, setOpened] = React.useState(false);
6
6
  const [focusedOptionIndex, setFocusedOptionIndex] = React.useState(0);
7
7
  const [focusedOption, setFocusedOption] = React.useState(null);
@@ -24,8 +24,8 @@ export const useChipsSelect = (props)=>{
24
24
  fieldValue,
25
25
  getOptionLabel
26
26
  ]);
27
- filteredOptions = React.useMemo(()=>{
28
- if (!filteredOptions.length) {
27
+ filteredOptions = React.useMemo(function filterOutSelectedIfNeeded() {
28
+ if (!filteredOptions.length || showSelected) {
29
29
  return filteredOptions;
30
30
  }
31
31
  const filteredSet = new Set(filteredOptions);
@@ -41,7 +41,8 @@ export const useChipsSelect = (props)=>{
41
41
  }, [
42
42
  filteredOptions,
43
43
  selectedOptions,
44
- getOptionValue
44
+ getOptionValue,
45
+ showSelected
45
46
  ]);
46
47
  return {
47
48
  ...chipsInputState,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useChipsSelect.ts"],"sourcesContent":["import * as React from 'react';\nimport { ChipOption } from '../components/Chip/Chip';\nimport { ChipsSelectProps } from '../components/ChipsSelect/ChipsSelect';\nimport { useChipsInput } from './useChipsInput';\n\nexport const useChipsSelect = <Option extends ChipOption>(\n props: Partial<ChipsSelectProps<Option>>,\n) => {\n const { options, filterFn, getOptionLabel, getOptionValue } = props;\n\n const [opened, setOpened] = React.useState(false);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | null>(0);\n const [focusedOption, setFocusedOption] = React.useState<Option | null>(null);\n\n const { fieldValue, selectedOptions, ...chipsInputState } = useChipsInput(props);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement> | undefined) => {\n if (!e) {\n return;\n }\n chipsInputState.handleInputChange(e);\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n }\n };\n\n let filteredOptions = React.useMemo(() => {\n return filterFn\n ? options!.filter((option) => filterFn(fieldValue, option, getOptionLabel))\n : (options as Option[]);\n }, [options, filterFn, fieldValue, getOptionLabel]);\n\n filteredOptions = React.useMemo(() => {\n if (!filteredOptions.length) {\n return filteredOptions;\n }\n\n const filteredSet = new Set(filteredOptions);\n const selected = selectedOptions.map((item) => getOptionValue!(item));\n\n for (const item of filteredSet) {\n if (selected.includes(getOptionValue!(item))) {\n filteredSet.delete(item);\n }\n }\n\n return [...filteredSet];\n }, [filteredOptions, selectedOptions, getOptionValue]);\n\n return {\n ...chipsInputState,\n fieldValue,\n handleInputChange,\n opened,\n setOpened,\n filteredOptions,\n focusedOptionIndex,\n setFocusedOptionIndex,\n focusedOption,\n setFocusedOption,\n selectedOptions,\n };\n};\n"],"names":["React","useChipsInput","useChipsSelect","props","options","filterFn","getOptionLabel","getOptionValue","opened","setOpened","useState","focusedOptionIndex","setFocusedOptionIndex","focusedOption","setFocusedOption","fieldValue","selectedOptions","chipsInputState","handleInputChange","e","filteredOptions","useMemo","filter","option","length","filteredSet","Set","selected","map","item","includes","delete"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAG/B,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,OAAO,MAAMC,iBAAiB,CAC5BC;IAEA,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,cAAc,EAAE,GAAGJ;IAE9D,MAAM,CAACK,QAAQC,UAAU,GAAGT,MAAMU,QAAQ,CAAC;IAC3C,MAAM,CAACC,oBAAoBC,sBAAsB,GAAGZ,MAAMU,QAAQ,CAAgB;IAClF,MAAM,CAACG,eAAeC,iBAAiB,GAAGd,MAAMU,QAAQ,CAAgB;IAExE,MAAM,EAAEK,UAAU,EAAEC,eAAe,EAAE,GAAGC,iBAAiB,GAAGhB,cAAcE;IAE1E,MAAMe,oBAAoB,CAACC;QACzB,IAAI,CAACA,GAAG;YACN;QACF;QACAF,gBAAgBC,iBAAiB,CAACC;QAElC,IAAI,CAACX,QAAQ;YACXC,UAAU;YACVG,sBAAsB;QACxB;IACF;IAEA,IAAIQ,kBAAkBpB,MAAMqB,OAAO,CAAC;QAClC,OAAOhB,WACHD,QAASkB,MAAM,CAAC,CAACC,SAAWlB,SAASU,YAAYQ,QAAQjB,mBACxDF;IACP,GAAG;QAACA;QAASC;QAAUU;QAAYT;KAAe;IAElDc,kBAAkBpB,MAAMqB,OAAO,CAAC;QAC9B,IAAI,CAACD,gBAAgBI,MAAM,EAAE;YAC3B,OAAOJ;QACT;QAEA,MAAMK,cAAc,IAAIC,IAAIN;QAC5B,MAAMO,WAAWX,gBAAgBY,GAAG,CAAC,CAACC,OAAStB,eAAgBsB;QAE/D,KAAK,MAAMA,QAAQJ,YAAa;YAC9B,IAAIE,SAASG,QAAQ,CAACvB,eAAgBsB,QAAQ;gBAC5CJ,YAAYM,MAAM,CAACF;YACrB;QACF;QAEA,OAAO;eAAIJ;SAAY;IACzB,GAAG;QAACL;QAAiBJ;QAAiBT;KAAe;IAErD,OAAO;QACL,GAAGU,eAAe;QAClBF;QACAG;QACAV;QACAC;QACAW;QACAT;QACAC;QACAC;QACAC;QACAE;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useChipsSelect.ts"],"sourcesContent":["import * as React from 'react';\nimport { ChipOption } from '../components/Chip/Chip';\nimport { ChipsSelectProps } from '../components/ChipsSelect/ChipsSelect';\nimport { useChipsInput } from './useChipsInput';\n\nexport const useChipsSelect = <Option extends ChipOption>(\n props: Partial<ChipsSelectProps<Option>>,\n) => {\n const { options, filterFn, getOptionLabel, getOptionValue, showSelected } = props;\n\n const [opened, setOpened] = React.useState(false);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | null>(0);\n const [focusedOption, setFocusedOption] = React.useState<Option | null>(null);\n\n const { fieldValue, selectedOptions, ...chipsInputState } = useChipsInput(props);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement> | undefined) => {\n if (!e) {\n return;\n }\n chipsInputState.handleInputChange(e);\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n }\n };\n\n let filteredOptions = React.useMemo(() => {\n return filterFn\n ? options!.filter((option) => filterFn(fieldValue, option, getOptionLabel))\n : (options as Option[]);\n }, [options, filterFn, fieldValue, getOptionLabel]);\n\n filteredOptions = React.useMemo(\n function filterOutSelectedIfNeeded() {\n if (!filteredOptions.length || showSelected) {\n return filteredOptions;\n }\n\n const filteredSet = new Set(filteredOptions);\n const selected = selectedOptions.map((item) => getOptionValue!(item));\n\n for (const item of filteredSet) {\n if (selected.includes(getOptionValue!(item))) {\n filteredSet.delete(item);\n }\n }\n\n return [...filteredSet];\n },\n [filteredOptions, selectedOptions, getOptionValue, showSelected],\n );\n\n return {\n ...chipsInputState,\n fieldValue,\n handleInputChange,\n opened,\n setOpened,\n filteredOptions,\n focusedOptionIndex,\n setFocusedOptionIndex,\n focusedOption,\n setFocusedOption,\n selectedOptions,\n };\n};\n"],"names":["React","useChipsInput","useChipsSelect","props","options","filterFn","getOptionLabel","getOptionValue","showSelected","opened","setOpened","useState","focusedOptionIndex","setFocusedOptionIndex","focusedOption","setFocusedOption","fieldValue","selectedOptions","chipsInputState","handleInputChange","e","filteredOptions","useMemo","filter","option","filterOutSelectedIfNeeded","length","filteredSet","Set","selected","map","item","includes","delete"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAG/B,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,OAAO,MAAMC,iBAAiB,CAC5BC;IAEA,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,cAAc,EAAEC,YAAY,EAAE,GAAGL;IAE5E,MAAM,CAACM,QAAQC,UAAU,GAAGV,MAAMW,QAAQ,CAAC;IAC3C,MAAM,CAACC,oBAAoBC,sBAAsB,GAAGb,MAAMW,QAAQ,CAAgB;IAClF,MAAM,CAACG,eAAeC,iBAAiB,GAAGf,MAAMW,QAAQ,CAAgB;IAExE,MAAM,EAAEK,UAAU,EAAEC,eAAe,EAAE,GAAGC,iBAAiB,GAAGjB,cAAcE;IAE1E,MAAMgB,oBAAoB,CAACC;QACzB,IAAI,CAACA,GAAG;YACN;QACF;QACAF,gBAAgBC,iBAAiB,CAACC;QAElC,IAAI,CAACX,QAAQ;YACXC,UAAU;YACVG,sBAAsB;QACxB;IACF;IAEA,IAAIQ,kBAAkBrB,MAAMsB,OAAO,CAAC;QAClC,OAAOjB,WACHD,QAASmB,MAAM,CAAC,CAACC,SAAWnB,SAASW,YAAYQ,QAAQlB,mBACxDF;IACP,GAAG;QAACA;QAASC;QAAUW;QAAYV;KAAe;IAElDe,kBAAkBrB,MAAMsB,OAAO,CAC7B,SAASG;QACP,IAAI,CAACJ,gBAAgBK,MAAM,IAAIlB,cAAc;YAC3C,OAAOa;QACT;QAEA,MAAMM,cAAc,IAAIC,IAAIP;QAC5B,MAAMQ,WAAWZ,gBAAgBa,GAAG,CAAC,CAACC,OAASxB,eAAgBwB;QAE/D,KAAK,MAAMA,QAAQJ,YAAa;YAC9B,IAAIE,SAASG,QAAQ,CAACzB,eAAgBwB,QAAQ;gBAC5CJ,YAAYM,MAAM,CAACF;YACrB;QACF;QAEA,OAAO;eAAIJ;SAAY;IACzB,GACA;QAACN;QAAiBJ;QAAiBV;QAAgBC;KAAa;IAGlE,OAAO;QACL,GAAGU,eAAe;QAClBF;QACAG;QACAV;QACAC;QACAW;QACAT;QACAC;QACAC;QACAC;QACAE;IACF;AACF,EAAE"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useDOM } from '../lib/dom';
3
+ import { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';
3
4
  import { useGlobalEventListener } from './useGlobalEventListener';
4
5
  export function useFocusWithin(ref) {
5
6
  const { document } = useDOM();
@@ -14,6 +15,8 @@ export function useFocusWithin(ref) {
14
15
  const focus = isFocusWithin();
15
16
  focus !== focusWithin && setFocusWithin(focus);
16
17
  };
18
+ // Проверяем autoFocus
19
+ useIsomorphicLayoutEffect(listener, []);
17
20
  useGlobalEventListener(document, 'focus', listener, {
18
21
  capture: true
19
22
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useFocusWithin.ts"],"sourcesContent":["import React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useGlobalEventListener } from './useGlobalEventListener';\n\nexport function useFocusWithin(ref: React.RefObject<HTMLElement | null>): boolean {\n const { document } = useDOM();\n const isFocusWithin = () => {\n if (!ref.current || !document) {\n return false;\n }\n\n return ref.current.contains(document.activeElement);\n };\n\n const [focusWithin, setFocusWithin] = React.useState<boolean>(isFocusWithin);\n\n const listener = () => {\n const focus = isFocusWithin();\n focus !== focusWithin && setFocusWithin(focus);\n };\n\n useGlobalEventListener(document, 'focus', listener, { capture: true });\n useGlobalEventListener(document, 'blur', listener, { capture: true });\n\n return focusWithin;\n}\n"],"names":["React","useDOM","useGlobalEventListener","useFocusWithin","ref","document","isFocusWithin","current","contains","activeElement","focusWithin","setFocusWithin","useState","listener","focus","capture"],"mappings":"AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,sBAAsB,QAAQ,2BAA2B;AAElE,OAAO,SAASC,eAAeC,GAAwC;IACrE,MAAM,EAAEC,QAAQ,EAAE,GAAGJ;IACrB,MAAMK,gBAAgB;QACpB,IAAI,CAACF,IAAIG,OAAO,IAAI,CAACF,UAAU;YAC7B,OAAO;QACT;QAEA,OAAOD,IAAIG,OAAO,CAACC,QAAQ,CAACH,SAASI,aAAa;IACpD;IAEA,MAAM,CAACC,aAAaC,eAAe,GAAGX,MAAMY,QAAQ,CAAUN;IAE9D,MAAMO,WAAW;QACf,MAAMC,QAAQR;QACdQ,UAAUJ,eAAeC,eAAeG;IAC1C;IAEAZ,uBAAuBG,UAAU,SAASQ,UAAU;QAAEE,SAAS;IAAK;IACpEb,uBAAuBG,UAAU,QAAQQ,UAAU;QAAEE,SAAS;IAAK;IAEnE,OAAOL;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useFocusWithin.ts"],"sourcesContent":["import React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\nimport { useGlobalEventListener } from './useGlobalEventListener';\n\nexport function useFocusWithin(ref: React.RefObject<HTMLElement | null>): boolean {\n const { document } = useDOM();\n const isFocusWithin = () => {\n if (!ref.current || !document) {\n return false;\n }\n\n return ref.current.contains(document.activeElement);\n };\n\n const [focusWithin, setFocusWithin] = React.useState<boolean>(isFocusWithin);\n\n const listener = () => {\n const focus = isFocusWithin();\n focus !== focusWithin && setFocusWithin(focus);\n };\n\n // Проверяем autoFocus\n useIsomorphicLayoutEffect(listener, []);\n\n useGlobalEventListener(document, 'focus', listener, { capture: true });\n useGlobalEventListener(document, 'blur', listener, { capture: true });\n\n return focusWithin;\n}\n"],"names":["React","useDOM","useIsomorphicLayoutEffect","useGlobalEventListener","useFocusWithin","ref","document","isFocusWithin","current","contains","activeElement","focusWithin","setFocusWithin","useState","listener","focus","capture"],"mappings":"AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,yBAAyB,QAAQ,mCAAmC;AAC7E,SAASC,sBAAsB,QAAQ,2BAA2B;AAElE,OAAO,SAASC,eAAeC,GAAwC;IACrE,MAAM,EAAEC,QAAQ,EAAE,GAAGL;IACrB,MAAMM,gBAAgB;QACpB,IAAI,CAACF,IAAIG,OAAO,IAAI,CAACF,UAAU;YAC7B,OAAO;QACT;QAEA,OAAOD,IAAIG,OAAO,CAACC,QAAQ,CAACH,SAASI,aAAa;IACpD;IAEA,MAAM,CAACC,aAAaC,eAAe,GAAGZ,MAAMa,QAAQ,CAAUN;IAE9D,MAAMO,WAAW;QACf,MAAMC,QAAQR;QACdQ,UAAUJ,eAAeC,eAAeG;IAC1C;IAEA,sBAAsB;IACtBb,0BAA0BY,UAAU,EAAE;IAEtCX,uBAAuBG,UAAU,SAASQ,UAAU;QAAEE,SAAS;IAAK;IACpEb,uBAAuBG,UAAU,QAAQQ,UAAU;QAAEE,SAAS;IAAK;IAEnE,OAAOL;AACT"}
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';
2
3
  /**
3
4
  * Хук для two-pass рендеринга.
4
5
  *
@@ -8,7 +9,7 @@ import * as React from 'react';
8
9
  * @see {@link https://beta.reactjs.org/apis/react-dom/hydrate#handling-different-client-and-server-content React Docs}
9
10
  */ export function useIsClient(initial = false) {
10
11
  const [isClient, setIsClient] = React.useState(initial);
11
- React.useEffect(()=>{
12
+ useIsomorphicLayoutEffect(()=>{
12
13
  setIsClient(true);
13
14
  }, []);
14
15
  return isClient;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useIsClient.ts"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Хук для two-pass рендеринга.\n *\n * ВНИМАНИЕ: Этот подход сделает ваши компоненты медленнее, потому что они\n * должны рендериться дважды, поэтому используйте хук с осторожностью.\n *\n * @see {@link https://beta.reactjs.org/apis/react-dom/hydrate#handling-different-client-and-server-content React Docs}\n */\nexport function useIsClient(initial = false) {\n const [isClient, setIsClient] = React.useState(initial);\n\n React.useEffect(() => {\n setIsClient(true);\n }, []);\n\n return isClient;\n}\n"],"names":["React","useIsClient","initial","isClient","setIsClient","useState","useEffect"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B;;;;;;;CAOC,GACD,OAAO,SAASC,YAAYC,UAAU,KAAK;IACzC,MAAM,CAACC,UAAUC,YAAY,GAAGJ,MAAMK,QAAQ,CAACH;IAE/CF,MAAMM,SAAS,CAAC;QACdF,YAAY;IACd,GAAG,EAAE;IAEL,OAAOD;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useIsClient.ts"],"sourcesContent":["import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\n/**\n * Хук для two-pass рендеринга.\n *\n * ВНИМАНИЕ: Этот подход сделает ваши компоненты медленнее, потому что они\n * должны рендериться дважды, поэтому используйте хук с осторожностью.\n *\n * @see {@link https://beta.reactjs.org/apis/react-dom/hydrate#handling-different-client-and-server-content React Docs}\n */\nexport function useIsClient(initial = false) {\n const [isClient, setIsClient] = React.useState(initial);\n\n useIsomorphicLayoutEffect(() => {\n setIsClient(true);\n }, []);\n\n return isClient;\n}\n"],"names":["React","useIsomorphicLayoutEffect","useIsClient","initial","isClient","setIsClient","useState"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,mCAAmC;AAE7E;;;;;;;CAOC,GACD,OAAO,SAASC,YAAYC,UAAU,KAAK;IACzC,MAAM,CAACC,UAAUC,YAAY,GAAGL,MAAMM,QAAQ,CAACH;IAE/CF,0BAA0B;QACxBI,YAAY;IACd,GAAG,EAAE;IAEL,OAAOD;AACT"}
@@ -75,7 +75,7 @@ export type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrappe
75
75
  export { Alert } from './components/Alert/Alert';
76
76
  export type { AlertProps, AlertActionInterface } from './components/Alert/Alert';
77
77
  export { ActionSheet } from './components/ActionSheet/ActionSheet';
78
- export type { ActionSheetProps } from './components/ActionSheet/ActionSheet';
78
+ export type { ActionSheetProps, ActionSheetOnCloseOptions, } from './components/ActionSheet/ActionSheet';
79
79
  export { ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';
80
80
  export type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';
81
81
  export { ActionSheetDefaultIosCloseItem } from './components/ActionSheet/ActionSheetDefaultIosCloseItem';
@@ -172,7 +172,7 @@ export type { SeparatorProps } from './components/Separator/Separator';
172
172
  export { Spacing } from './components/Spacing/Spacing';
173
173
  export type { SpacingProps } from './components/Spacing/Spacing';
174
174
  export { Placeholder } from './components/Placeholder/Placeholder';
175
- export type { PlaceholderProps } from './components/Placeholder/Placeholder';
175
+ export type { PlaceholderProps, PlaceholderContainerProps, PlaceholderIconProps, PlaceholderHeaderProps, PlaceholderTextProps, PlaceholderActionsProps, } from './components/Placeholder/Placeholder';
176
176
  export { Banner } from './components/Banner/Banner';
177
177
  export type { BannerProps } from './components/Banner/Banner';
178
178
  export { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';
@@ -306,12 +306,16 @@ export { usePagination } from './hooks/usePagination';
306
306
  export { useTodayDate } from './hooks/useTodayDate';
307
307
  export { useScrollLock } from './components/AppRoot/ScrollContext';
308
308
  export { useNavTransition } from './components/NavTransitionContext/NavTransitionContext';
309
+ export { useNavDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';
310
+ export { useNavId } from './components/NavIdContext/useNavId';
311
+ export type { TransitionDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';
309
312
  export { useModalRootContext } from './components/ModalRoot/useModalRootContext';
310
313
  /**
311
314
  * Utils
312
315
  */
313
316
  export { classNames } from '@vkontakte/vkjs';
314
317
  export { animate } from './lib/animate';
318
+ export { defaultFilterFn as filterFnForSelect } from './lib/select';
315
319
  export { removeObjectKeys } from './lib/removeObjectKeys';
316
320
  export { SSRWrapper } from './lib/SSR';
317
321
  export type { SSRWrapperProps } from './lib/SSR';
@@ -169,11 +169,14 @@ export { usePagination } from './hooks/usePagination';
169
169
  export { useTodayDate } from './hooks/useTodayDate';
170
170
  export { useScrollLock } from './components/AppRoot/ScrollContext';
171
171
  export { useNavTransition } from './components/NavTransitionContext/NavTransitionContext';
172
+ export { useNavDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';
173
+ export { useNavId } from './components/NavIdContext/useNavId';
172
174
  export { useModalRootContext } from './components/ModalRoot/useModalRootContext';
173
175
  /**
174
176
  * Utils
175
177
  */ export { classNames } from '@vkontakte/vkjs';
176
178
  export { animate } from './lib/animate';
179
+ export { defaultFilterFn as filterFnForSelect } from './lib/select';
177
180
  export { removeObjectKeys } from './lib/removeObjectKeys';
178
181
  export { SSRWrapper } from './lib/SSR';
179
182
  export { platform, Platform } from './lib/platform';