@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/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconSettingsProvider } from '@vkontakte/icons';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useInsets } from '../../hooks/useInsets';\nimport { useKeyboardInputTracker } from '../../hooks/useKeyboardInputTracker';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useDOM } from '../../lib/dom';\nimport { isRefObject } from '../../lib/isRefObject';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { AppRootContext } from './AppRootContext';\nimport { ElementScrollController, GlobalScrollController } from './ScrollContext';\nimport styles from './AppRoot.module.css';\n\nconst warn = warnOnce('AppRoot');\n\nexport type SafeAreaInsets = {\n top?: number;\n right?: number;\n bottom?: number;\n left?: number;\n};\n\nconst vkuiSizeXClassNames = {\n none: 'vkui--sizeX-none',\n [SizeType.REGULAR]: 'vkui--sizeX-regular',\n};\n\nconst INSET_CUSTOM_PROPERTY_PREFIX = `--vkui_internal--safe_area_inset_`;\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Режим встраивания */\n mode?: 'partial' | 'embedded' | 'full';\n window?: Window;\n scroll?: 'global' | 'contain';\n safeAreaInsets?: SafeAreaInsets;\n /**\n * Кастомный root-элемент портала\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = ({\n children,\n mode = 'full',\n scroll = 'global',\n portalRoot: portalRootProp = null,\n disablePortal,\n className,\n safeAreaInsets,\n ...props\n}: AppRootProps) => {\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLElement | null>(null);\n const { document } = useDOM();\n const deprecatedInsets = useInsets(!safeAreaInsets);\n const insets = safeAreaInsets ? safeAreaInsets : deprecatedInsets;\n const appearance = useAppearance();\n\n const { hasPointer, sizeX = 'none' } = useAdaptivity();\n\n if (process.env.NODE_ENVIRONMENT === 'development') {\n if (!safeAreaInsets) {\n // TODO [>=6]: удалить warn\n warn(\"[@vkontakte/vk-bridge] Интеграция VKUI с @vkontakte/vk-bridge устарела и будет удалена в v6. Используйте хук `useInsets()` из @vkontakte/vk-bridge-react и результат передайте в параметр `safeAreaInsets` (см. https://github.com/VKCOM/VKUI/issues/5049)\"); // prettier-ignore\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement('div');\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n if (!portalRootProp) {\n portal?.parentElement?.removeChild(portal);\n }\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = ['vkui__root'].concat(mode === 'embedded' ? 'vkui__root--embedded' : []);\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n };\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === 'full') {\n document!.documentElement.classList.add('vkui');\n\n return () => {\n document!.documentElement.classList.remove('vkui');\n };\n }\n\n return undefined;\n }, [document, mode]);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial' || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n let key: keyof SafeAreaInsets;\n for (key in insets) {\n if (insets.hasOwnProperty(key) && typeof insets[key] === 'number') {\n const inset = insets[key];\n parent.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, `${inset}px`);\n }\n }\n\n return () => {\n let key: keyof SafeAreaInsets;\n for (key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n portalRoot && portalRoot.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n const className = sizeX !== SizeType.COMPACT ? vkuiSizeXClassNames[sizeX] : null;\n const container = mode === 'embedded' ? rootRef.current?.parentElement : document!.body;\n\n if (className === null || !container) {\n return noop;\n }\n\n container.classList.add(className);\n return () => {\n container.classList.remove(className);\n };\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== 'full' || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty('color-scheme', appearance);\n\n return () => document!.documentElement.style.removeProperty('color-scheme');\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () => (scroll === 'contain' ? ElementScrollController : GlobalScrollController),\n [scroll],\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === 'embedded',\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider classPrefix=\"vkui\">{children}</IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === 'partial' ? (\n content\n ) : (\n <div\n ref={rootRef}\n className={classNames(\n styles['AppRoot'],\n hasPointer === undefined\n ? styles['AppRoot--pointer-none']\n : !hasPointer && styles['AppRoot--pointer-has-not'],\n className,\n )}\n {...props}\n >\n {content}\n </div>\n );\n};\n"],"names":["React","IconSettingsProvider","classNames","noop","useAdaptivity","useAppearance","useInsets","useKeyboardInputTracker","SizeType","useDOM","isRefObject","useIsomorphicLayoutEffect","warnOnce","AppRootContext","ElementScrollController","GlobalScrollController","warn","vkuiSizeXClassNames","none","REGULAR","INSET_CUSTOM_PROPERTY_PREFIX","AppRoot","children","mode","scroll","portalRootProp","portalRoot","disablePortal","className","safeAreaInsets","props","isKeyboardInputActive","rootRef","useRef","useState","setPortalRoot","document","deprecatedInsets","insets","appearance","hasPointer","sizeX","process","env","NODE_ENVIRONMENT","portal","current","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","classList","add","remove","documentElement","undefined","key","hasOwnProperty","inset","style","setProperty","removeProperty","COMPACT","container","ScrollController","useMemo","content","Provider","value","appRoot","embedded","keyboardInput","elRef","classPrefix","div","ref"],"mappings":";;;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ,mBAAmB;AACxD,SAASC,UAAU,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,uBAAuB,QAAQ,sCAAsC;AAC9E,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,MAAM,QAAQ,gBAAgB;AACvC,SAASC,WAAW,QAAQ,wBAAwB;AACpD,SAASC,yBAAyB,QAAQ,sCAAsC;AAChF,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,uBAAuB,EAAEC,sBAAsB,QAAQ,kBAAkB;AAGlF,IAAMC,OAAOJ,SAAS;AAStB,IAAMK,sBAEJ;IADAC,MAAM;GACLV,SAASW,OAAO,EAAG;AAGtB,IAAMC,+BAAgC;AAmBtC;;CAEC,GACD,OAAO,IAAMC,UAAU;QACrBC,kBAAAA,+BACAC,MAAAA,gCAAO,6CACPC,QAAAA,oCAAS,0BACGC,aAAZC,YAAYD,iBAAAA,iBAAiB,OAAjBA,KACZE,uBAAAA,eACAC,mBAAAA,WACAC,wBAAAA,gBACGC;QAPHR;QACAC;QACAC;QACAE;QACAC;QACAC;QACAC;;IAGA,IAAME,wBAAwBxB;IAC9B,IAAMyB,UAAUhC,MAAMiC,MAAM,CAAwB;IACpD,IAAoCjC,mCAAAA,MAAMkC,QAAQ,CAAqB,WAAhER,aAA6B1B,oBAAjBmC,gBAAiBnC;IACpC,IAAM,AAAEoC,WAAa3B,SAAb2B;IACR,IAAMC,mBAAmB/B,UAAU,CAACuB;IACpC,IAAMS,SAAST,iBAAiBA,iBAAiBQ;IACjD,IAAME,aAAalC;IAEnB,IAAuCD,iBAAAA,iBAA/BoC,aAA+BpC,eAA/BoC,mCAA+BpC,eAAnBqC,OAAAA,0CAAQ;IAE5B,IAAIC,QAAQC,GAAG,CAACC,gBAAgB,KAAK,eAAe;QAClD,IAAI,CAACf,gBAAgB;YACnB,2BAA2B;YAC3Bb,KAAK,+PAA+P,kBAAkB;QACxR;IACF;IAEA,eAAe;IACfL,0BAA0B;QACxB,IAAIkC,SAA6B;QACjC,IAAIpB,gBAAgB;YAClB,IAAIf,YAAYe,iBAAiB;gBAC/BoB,SAASpB,eAAeqB,OAAO;YACjC,OAAO;gBACLD,SAASpB;YACX;QACF;QACA,IAAI,CAACoB,QAAQ;YACXA,SAAST,SAAUW,aAAa,CAAC;YACjCX,SAAUY,IAAI,CAACC,WAAW,CAACJ;QAC7B;QACAV,cAAcU;QACd,OAAO;YACL,IAAI,CAACpB,gBAAgB;oBACnBoB,uBAAAA;iBAAAA,UAAAA,oBAAAA,+BAAAA,wBAAAA,QAAQK,aAAa,cAArBL,4CAAAA,sBAAuBM,WAAW,CAACN;YACrC;QACF;IACF,GAAG;QAACpB;KAAe;IAEnB,qBAAqB;IACrBd,0BAA0B;YAOxByC;YAFepB,kBAEfoB;QANA,IAAI7B,SAAS,WAAW;YACtB,OAAOpB;QACT;QAEA,IAAMiD,UAASpB,mBAAAA,QAAQc,OAAO,cAAfd,uCAAAA,iBAAiBkB,aAAa;QAC7C,IAAMG,UAAU;YAAC;SAAa,CAACC,MAAM,CAAC/B,SAAS,aAAa,yBAAyB,EAAE;SACvF6B,UAAAA,oBAAAA,8BAAAA,CAAAA,oBAAAA,QAAQG,SAAS,EAACC,GAAG,CAArBJ,MAAAA,mBAAsB,qBAAGC;QAEzB,OAAO;gBACLD;gBAAAA;aAAAA,UAAAA,oBAAAA,8BAAAA,CAAAA,oBAAAA,QAAQG,SAAS,EAACE,MAAM,CAAxBL,MAAAA,mBAAyB,qBAAGC;QAC9B;IACF,GAAG,EAAE;IAEL1C,0BAA0B;QACxB,IAAIY,SAAS,QAAQ;YACnBa,SAAUsB,eAAe,CAACH,SAAS,CAACC,GAAG,CAAC;YAExC,OAAO;gBACLpB,SAAUsB,eAAe,CAACH,SAAS,CAACE,MAAM,CAAC;YAC7C;QACF;QAEA,OAAOE;IACT,GAAG;QAACvB;QAAUb;KAAK;IAEnB,eAAe;IACfZ,0BAA0B;YACGqB;QAA3B,IAAIT,SAAS,aAAa,GAACS,mBAAAA,QAAQc,OAAO,cAAfd,uCAAAA,iBAAiBkB,aAAa,GAAE;YACzD,OAAO/C;QACT;QAEA,IAAMiD,SAASpB,QAAQc,OAAO,CAACI,aAAa;QAE5C,IAAIU;QACJ,IAAKA,OAAOtB,OAAQ;YAClB,IAAIA,OAAOuB,cAAc,CAACD,QAAQ,OAAOtB,MAAM,CAACsB,IAAI,KAAK,UAAU;gBACjE,IAAME,QAAQxB,MAAM,CAACsB,IAAI;gBACzBR,OAAOW,KAAK,CAACC,WAAW,CAAC5C,+BAA+BwC,KAAK,AAAC,GAAQ,OAANE,OAAM;gBACtEpC,cACEA,WAAWqC,KAAK,CAACC,WAAW,CAAC5C,+BAA+BwC,KAAK,AAAC,GAAQ,OAANE,OAAM;YAC9E;QACF;QAEA,OAAO;YACL,IAAIF;YACJ,IAAKA,OAAOtB,OAAQ;gBAClB,IAAIA,OAAOuB,cAAc,CAACD,MAAM;oBAC9BR,OAAOW,KAAK,CAACE,cAAc,CAAC7C,+BAA+BwC;oBAC3DlC,cAAcA,WAAWqC,KAAK,CAACE,cAAc,CAAC7C,+BAA+BwC;gBAC/E;YACF;QACF;IACF,GAAG;QAACtB;QAAQZ;KAAW;IAEvB,qBAAqB;IACrBf,0BAA0B;YAKgBqB;QAJxC,IAAIT,SAAS,WAAW;YACtB,OAAOpB;QACT;QACA,IAAMyB,YAAYa,UAAUjC,SAAS0D,OAAO,GAAGjD,mBAAmB,CAACwB,MAAM,GAAG;QAC5E,IAAM0B,YAAY5C,SAAS,cAAaS,mBAAAA,QAAQc,OAAO,cAAfd,uCAAAA,iBAAiBkB,aAAa,GAAGd,SAAUY,IAAI;QAEvF,IAAIpB,cAAc,QAAQ,CAACuC,WAAW;YACpC,OAAOhE;QACT;QAEAgE,UAAUZ,SAAS,CAACC,GAAG,CAAC5B;QACxB,OAAO;YACLuC,UAAUZ,SAAS,CAACE,MAAM,CAAC7B;QAC7B;IACF,GAAG;QAACa;KAAM;IAEV9B,0BAA0B;QACxB,IAAIY,SAAS,UAAUgB,eAAeoB,WAAW;YAC/C,OAAOxD;QACT;QACAiC,SAAUsB,eAAe,CAACK,KAAK,CAACC,WAAW,CAAC,gBAAgBzB;QAE5D,OAAO;mBAAMH,SAAUsB,eAAe,CAACK,KAAK,CAACE,cAAc,CAAC;;IAC9D,GAAG;QAAC1B;KAAW;IAEf,IAAM6B,mBAAmBpE,MAAMqE,OAAO,CACpC;eAAO7C,WAAW,YAAYV,0BAA0BC;OACxD;QAACS;KAAO;IAGV,IAAM8C,wBACJ,oBAACzD,eAAe0D,QAAQ;QACtBC,OAAO;YACLC,SAASzC;YACTN,YAAAA;YACAgD,UAAUnD,SAAS;YACnBoD,eAAe5C;YACfR,MAAAA;YACAI,eAAAA;QACF;qBAEA,oBAACyC;QAAiBQ,OAAO5C;qBACvB,oBAAC/B;QAAqB4E,aAAY;OAAQvD;IAKhD,OAAOC,SAAS,YACd+C,wBAEA,oBAACQ;QACCC,KAAK/C;QACLJ,WAAW1B,0BAETsC,eAAemB,0CAEX,CAACnB,8CACLZ;OAEEE,QAEHwC;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useInsets } from '../../hooks/useInsets';\nimport { useKeyboardInputTracker } from '../../hooks/useKeyboardInputTracker';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useDOM } from '../../lib/dom';\nimport { isRefObject } from '../../lib/isRefObject';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { AppRootContext } from './AppRootContext';\nimport { ElementScrollController, GlobalScrollController } from './ScrollContext';\nimport styles from './AppRoot.module.css';\n\nconst warn = warnOnce('AppRoot');\n\nexport type SafeAreaInsets = {\n top?: number;\n right?: number;\n bottom?: number;\n left?: number;\n};\n\nconst vkuiSizeXClassNames = {\n none: 'vkui--sizeX-none',\n [SizeType.REGULAR]: 'vkui--sizeX-regular',\n};\n\nconst vkuiLayoutClassNames = {\n card: 'vkui--layout-card',\n plain: 'vkui--layout-plain',\n};\n\nfunction containerClassNames(layout: AppRootProps['layout'], sizeX: SizeType | 'none'): string[] {\n const classNames: string[] = [];\n\n if (layout) {\n classNames.push(vkuiLayoutClassNames[layout]);\n }\n\n if (sizeX !== SizeType.COMPACT) {\n classNames.push(vkuiSizeXClassNames[sizeX]);\n }\n\n return classNames;\n}\n\nconst INSET_CUSTOM_PROPERTY_PREFIX = `--vkui_internal--safe_area_inset_`;\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Режим встраивания */\n mode?: 'partial' | 'embedded' | 'full';\n window?: Window;\n scroll?: 'global' | 'contain';\n safeAreaInsets?: SafeAreaInsets;\n /**\n * Кастомный root-элемент портала\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /**\n * Отключает рендер всплывающих компонентов в отдельном контейнере\n */\n disablePortal?: boolean;\n /**\n * По умолчанию, mode=\"embedded\" переносит систему координат элементов с `position: fixed` на\n * свой контейнер через `transform: translate3d(0, 0, 0)`.\n *\n * Это поведение можно отключить с помощью этого параметра.\n */\n disableParentTransformForPositionFixedElements?: boolean;\n layout?: 'card' | 'plain';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = ({\n children,\n mode = 'full',\n scroll = 'global',\n portalRoot: portalRootProp = null,\n disablePortal,\n disableParentTransformForPositionFixedElements,\n className,\n safeAreaInsets,\n layout,\n ...props\n}: AppRootProps) => {\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLElement | null>(null);\n const { document } = useDOM();\n const deprecatedInsets = useInsets(!safeAreaInsets);\n const insets = safeAreaInsets ? safeAreaInsets : deprecatedInsets;\n const appearance = useAppearance();\n\n const { hasPointer, sizeX = 'none' } = useAdaptivity();\n\n if (process.env.NODE_ENVIRONMENT === 'development') {\n if (!safeAreaInsets) {\n // TODO [>=6]: удалить warn\n warn(\"[@vkontakte/vk-bridge] Интеграция VKUI с @vkontakte/vk-bridge устарела и будет удалена в v6. Используйте хук `useInsets()` из @vkontakte/vk-bridge-react и результат передайте в параметр `safeAreaInsets` (см. https://github.com/VKCOM/VKUI/issues/5049)\"); // prettier-ignore\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement('div');\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n if (!portalRootProp) {\n portal?.parentElement?.removeChild(portal);\n }\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = ['vkui__root'].concat(mode === 'embedded' ? 'vkui__root--embedded' : []);\n if (parent) {\n if (mode === 'embedded' && !disableParentTransformForPositionFixedElements) {\n parent.style.transform = 'translate3d(0, 0, 0)';\n }\n parent.classList.add(...classes);\n }\n\n return () => {\n if (parent) {\n if (mode === 'embedded' && !disableParentTransformForPositionFixedElements) {\n parent.style.transform = '';\n }\n parent.classList.remove(...classes);\n }\n };\n }, [disableParentTransformForPositionFixedElements]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === 'full') {\n document!.documentElement.classList.add('vkui');\n\n return () => {\n document!.documentElement.classList.remove('vkui');\n };\n }\n\n return undefined;\n }, [document, mode]);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial' || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n let key: keyof SafeAreaInsets;\n for (key in insets) {\n if (insets.hasOwnProperty(key) && typeof insets[key] === 'number') {\n const inset = insets[key];\n parent.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, `${inset}px`);\n }\n }\n\n return () => {\n let key: keyof SafeAreaInsets;\n for (key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n portalRoot && portalRoot.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n\n const classNames = containerClassNames(layout, sizeX);\n\n const container = mode === 'embedded' ? rootRef.current?.parentElement : document!.body;\n\n if (!classNames.length || !container) {\n return noop;\n }\n\n container.classList.add(...classNames);\n return () => {\n container.classList.remove(...classNames);\n };\n }, [sizeX, layout]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== 'full' || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty('color-scheme', appearance);\n\n return () => document!.documentElement.style.removeProperty('color-scheme');\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () => (scroll === 'contain' ? ElementScrollController : GlobalScrollController),\n [scroll],\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === 'embedded',\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n layout,\n }}\n >\n <ScrollController elRef={rootRef}>{children}</ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === 'partial' ? (\n content\n ) : (\n <div\n ref={rootRef}\n className={classNames(\n styles['AppRoot'],\n hasPointer === undefined\n ? styles['AppRoot--pointer-none']\n : !hasPointer && styles['AppRoot--pointer-has-not'],\n className,\n )}\n {...props}\n >\n {content}\n </div>\n );\n};\n"],"names":["React","classNames","noop","useAdaptivity","useAppearance","useInsets","useKeyboardInputTracker","SizeType","useDOM","isRefObject","useIsomorphicLayoutEffect","warnOnce","AppRootContext","ElementScrollController","GlobalScrollController","warn","vkuiSizeXClassNames","none","REGULAR","vkuiLayoutClassNames","card","plain","containerClassNames","layout","sizeX","push","COMPACT","INSET_CUSTOM_PROPERTY_PREFIX","AppRoot","children","mode","scroll","portalRootProp","portalRoot","disablePortal","disableParentTransformForPositionFixedElements","className","safeAreaInsets","props","isKeyboardInputActive","rootRef","useRef","useState","setPortalRoot","document","deprecatedInsets","insets","appearance","hasPointer","process","env","NODE_ENVIRONMENT","portal","current","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","style","transform","classList","add","remove","documentElement","undefined","key","hasOwnProperty","inset","setProperty","removeProperty","container","length","ScrollController","useMemo","content","Provider","value","appRoot","embedded","keyboardInput","elRef","div","ref"],"mappings":"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"}
@@ -6,5 +6,6 @@ export interface AppRootContextInterface {
6
6
  mode?: 'partial' | 'embedded' | 'full';
7
7
  keyboardInput?: boolean;
8
8
  disablePortal?: boolean;
9
+ layout?: 'card' | 'plain';
9
10
  }
10
11
  export declare const AppRootContext: React.Context<AppRootContextInterface>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRootContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLElement | null;\n embedded?: boolean;\n mode?: 'partial' | 'embedded' | 'full';\n keyboardInput?: boolean;\n disablePortal?: boolean;\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"names":["React","AppRootContext","createContext","portalRoot"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAW/B,OAAO,IAAMC,iBAAiBD,MAAME,aAAa,CAA0B;IACzEC,YAAY;AACd,GAAG"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/AppRootContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLElement | null;\n embedded?: boolean;\n mode?: 'partial' | 'embedded' | 'full';\n keyboardInput?: boolean;\n disablePortal?: boolean;\n layout?: 'card' | 'plain';\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"names":["React","AppRootContext","createContext","portalRoot"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAY/B,OAAO,IAAMC,iBAAiBD,MAAME,aAAa,CAA0B;IACzEC,YAAY;AACd,GAAG"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
3
- export interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement> {
2
+ import { HTMLAttributesWithRootRef } from '../../types';
3
+ export interface AspectRatioProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
4
4
  className?: string;
5
5
  /**
6
6
  * По умолчанию, вложенный контент будет растягиваться и заполнять весь блок.
@@ -19,4 +19,4 @@ export interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement>,
19
19
  * @since 5.5.0
20
20
  * @see https://vkcom.github.io/VKUI/#/AspectRatio
21
21
  */
22
- export declare function AspectRatio({ ratio, children, mode, className, getRootRef, style: styleProp, ...props }: AspectRatioProps): JSX.Element;
22
+ export declare function AspectRatio({ ratio, children, mode, style: styleProp, ...props }: AspectRatioProps): JSX.Element;
@@ -3,6 +3,7 @@ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
4
4
  import * as React from "react";
5
5
  import { classNames } from "@vkontakte/vkjs";
6
+ import { RootComponent } from "../RootComponent/RootComponent";
6
7
  /**
7
8
  * `AspectRatio` позволяет поддерживать постоянное соотношение ширины и высоты.
8
9
  * Его можно использовать для отображения изображений, карт, видео и других медиафайлов.
@@ -10,20 +11,17 @@ import { classNames } from "@vkontakte/vkjs";
10
11
  * @since 5.5.0
11
12
  * @see https://vkcom.github.io/VKUI/#/AspectRatio
12
13
  */ export function AspectRatio(_param) {
13
- var ratio = _param.ratio, children = _param.children, _param_mode = _param.mode, mode = _param_mode === void 0 ? "stretch" : _param_mode, className = _param.className, getRootRef = _param.getRootRef, styleProp = _param.style, props = _object_without_properties(_param, [
14
+ var ratio = _param.ratio, children = _param.children, _param_mode = _param.mode, mode = _param_mode === void 0 ? "stretch" : _param_mode, styleProp = _param.style, props = _object_without_properties(_param, [
14
15
  "ratio",
15
16
  "children",
16
17
  "mode",
17
- "className",
18
- "getRootRef",
19
18
  "style"
20
19
  ]);
21
20
  var style = _define_property({}, "--vkui_internal--aspect_ratio", String(ratio));
22
- return /*#__PURE__*/ React.createElement("div", _object_spread({
23
- className: classNames("vkuiAspectRatio", mode === "stretch" && "vkuiAspectRatio--mode-stretch", className),
24
- style: _object_spread({}, styleProp, style),
25
- ref: getRootRef
26
- }, props), children);
21
+ return /*#__PURE__*/ React.createElement(RootComponent, _object_spread({
22
+ baseClassName: classNames("vkuiAspectRatio", mode === "stretch" && "vkuiAspectRatio--mode-stretch"),
23
+ style: _object_spread({}, styleProp, style)
24
+ }, props));
27
25
  }
28
26
 
29
27
  //# sourceMappingURL=AspectRatio.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AspectRatio/AspectRatio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { CSSCustomProperties, HasRootRef } from '../../types';\nimport styles from './AspectRatio.module.css';\n\nexport interface AspectRatioProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n className?: string;\n /**\n * По умолчанию, вложенный контент будет растягиваться и заполнять весь блок.\n */\n mode?: 'stretch' | 'none';\n children: React.ReactNode;\n /**\n * Например 16 / 9, 4 / 3, 1920 / 1080\n */\n ratio: number;\n}\n\n/**\n * `AspectRatio` позволяет поддерживать постоянное соотношение ширины и высоты.\n * Его можно использовать для отображения изображений, карт, видео и других медиафайлов.\n \n * @since 5.5.0\n * @see https://vkcom.github.io/VKUI/#/AspectRatio\n */\nexport function AspectRatio({\n ratio,\n children,\n mode = 'stretch',\n className,\n getRootRef,\n style: styleProp,\n ...props\n}: AspectRatioProps): JSX.Element {\n const style: React.CSSProperties & CSSCustomProperties = {\n ['--vkui_internal--aspect_ratio']: String(ratio),\n };\n\n return (\n <div\n className={classNames(\n styles.AspectRatio,\n mode === 'stretch' && styles['AspectRatio--mode-stretch'],\n className,\n )}\n style={{ ...styleProp, ...style }}\n ref={getRootRef}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"names":["React","classNames","AspectRatio","ratio","children","mode","className","getRootRef","style","styleProp","props","String","div","ref"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAmB7C;;;;;;CAMC,GACD,OAAO,SAASC,YAAY;QAC1BC,QAD0B,OAC1BA,OACAC,WAF0B,OAE1BA,wBAF0B,OAG1BC,MAAAA,gCAAO,yBACPC,YAJ0B,OAI1BA,WACAC,aAL0B,OAK1BA,YACAC,AAAOC,YANmB,OAM1BD,OACGE,mCAPuB;QAC1BP;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAMA,QACJ,qBAAC,iCAAkCG,OAAOR;IAG5C,qBACE,oBAACS;QACCN,WAAWL,8BAETI,SAAS,8CACTC;QAEFE,OAAO,mBAAKC,WAAcD;QAC1BK,KAAKN;OACDG,QAEHN;AAGP"}
1
+ {"version":3,"sources":["../../../src/components/AspectRatio/AspectRatio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './AspectRatio.module.css';\n\nexport interface AspectRatioProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n className?: string;\n /**\n * По умолчанию, вложенный контент будет растягиваться и заполнять весь блок.\n */\n mode?: 'stretch' | 'none';\n children: React.ReactNode;\n /**\n * Например 16 / 9, 4 / 3, 1920 / 1080\n */\n ratio: number;\n}\n\n/**\n * `AspectRatio` позволяет поддерживать постоянное соотношение ширины и высоты.\n * Его можно использовать для отображения изображений, карт, видео и других медиафайлов.\n \n * @since 5.5.0\n * @see https://vkcom.github.io/VKUI/#/AspectRatio\n */\nexport function AspectRatio({\n ratio,\n children,\n mode = 'stretch',\n style: styleProp,\n ...props\n}: AspectRatioProps): JSX.Element {\n const style: React.CSSProperties & CSSCustomProperties = {\n ['--vkui_internal--aspect_ratio']: String(ratio),\n };\n\n return (\n <RootComponent\n baseClassName={classNames(\n styles.AspectRatio,\n mode === 'stretch' && styles['AspectRatio--mode-stretch'],\n )}\n style={{ ...styleProp, ...style }}\n {...props}\n />\n );\n}\n"],"names":["React","classNames","RootComponent","AspectRatio","ratio","children","mode","style","styleProp","props","String","baseClassName"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAgB/D;;;;;;CAMC,GACD,OAAO,SAASC,YAAY;QAC1BC,QAD0B,OAC1BA,OACAC,WAF0B,OAE1BA,wBAF0B,OAG1BC,MAAAA,gCAAO,yBACPC,AAAOC,YAJmB,OAI1BD,OACGE,mCALuB;QAC1BL;QACAC;QACAC;QACAC;;IAGA,IAAMA,QACJ,qBAAC,iCAAkCG,OAAON;IAG5C,qBACE,oBAACF;QACCS,eAAeV,8BAEbK,SAAS;QAEXC,OAAO,mBAAKC,WAAcD;OACtBE;AAGV"}
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
- export interface BadgeProps extends React.HTMLAttributes<HTMLElement> {
2
+ import { HTMLAttributesWithRootRef } from '../../types';
3
+ export interface BadgeProps extends HTMLAttributesWithRootRef<HTMLSpanElement> {
3
4
  mode: 'new' | 'prominent';
4
5
  }
5
6
  /**
6
7
  * @see https://vkcom.github.io/VKUI/#/Badge
7
8
  */
8
- export declare const Badge: ({ mode, className, ...restProps }: BadgeProps) => React.JSX.Element;
9
+ export declare const Badge: ({ mode, ...restProps }: BadgeProps) => React.JSX.Element;
@@ -2,18 +2,20 @@ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
2
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
3
3
  import * as React from "react";
4
4
  import { classNames } from "@vkontakte/vkjs";
5
+ import { RootComponent } from "../RootComponent/RootComponent";
6
+ var stylesMode = {
7
+ new: "vkuiBadge--mode-new",
8
+ prominent: "vkuiBadge--mode-prominent"
9
+ };
5
10
  /**
6
11
  * @see https://vkcom.github.io/VKUI/#/Badge
7
12
  */ export var Badge = function(_param) /*#__PURE__*/ {
8
- var _param_mode = _param.mode, mode = _param_mode === void 0 ? "new" : _param_mode, className = _param.className, restProps = _object_without_properties(_param, [
9
- "mode",
10
- "className"
13
+ var _param_mode = _param.mode, mode = _param_mode === void 0 ? "new" : _param_mode, restProps = _object_without_properties(_param, [
14
+ "mode"
11
15
  ]);
12
- return React.createElement("span", _object_spread({
13
- className: classNames("vkuiBadge", {
14
- new: "vkuiBadge--mode-new",
15
- prominent: "vkuiBadge--mode-prominent"
16
- }[mode], className)
16
+ return React.createElement(RootComponent, _object_spread({
17
+ Component: "span",
18
+ baseClassName: classNames("vkuiBadge", stylesMode[mode])
17
19
  }, restProps));
18
20
  };
19
21
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './Badge.module.css';\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLElement> {\n mode: 'new' | 'prominent';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n */\nexport const Badge = ({ mode = 'new', className, ...restProps }: BadgeProps) => (\n <span\n className={classNames(\n styles['Badge'],\n {\n new: styles['Badge--mode-new'],\n prominent: styles['Badge--mode-prominent'],\n }[mode],\n className,\n )}\n {...restProps}\n />\n);\n"],"names":["React","classNames","Badge","mode","className","restProps","span","new","prominent"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAO7C;;CAEC,GACD,OAAO,IAAMC,QAAQ;6BAAGC,MAAAA,gCAAO,qBAAOC,mBAAAA,WAAcC;QAA5BF;QAAcC;;WACpC,oBAACE;QACCF,WAAWH,wBAET;YACEM,GAAG;YACHC,SAAS;QACX,CAAC,CAACL,KAAK,EACPC;OAEEC;AACL,EACD"}
1
+ {"version":3,"sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Badge.module.css';\n\nconst stylesMode = {\n new: styles['Badge--mode-new'],\n prominent: styles['Badge--mode-prominent'],\n};\n\nexport interface BadgeProps extends HTMLAttributesWithRootRef<HTMLSpanElement> {\n mode: 'new' | 'prominent';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Badge\n */\nexport const Badge = ({ mode = 'new', ...restProps }: BadgeProps) => (\n <RootComponent\n Component=\"span\"\n baseClassName={classNames(styles['Badge'], stylesMode[mode])}\n {...restProps}\n />\n);\n"],"names":["React","classNames","RootComponent","stylesMode","new","prominent","Badge","mode","restProps","Component","baseClassName"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAG/D,IAAMC,aAAa;IACjBC,GAAG;IACHC,SAAS;AACX;AAMA;;CAEC,GACD,OAAO,IAAMC,QAAQ;6BAAGC,MAAAA,gCAAO,qBAAUC;QAAjBD;;WACtB,oBAACL;QACCO,WAAU;QACVC,eAAeT,wBAA4BE,UAAU,CAACI,KAAK;OACvDC;AACL,EACD"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
3
- export interface BannerProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLElement> {
2
+ import { HTMLAttributesWithRootRef } from '../../types';
3
+ export interface BannerProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
4
4
  /**
5
5
  * Тип баннера.
6
6
  */
@@ -73,4 +73,4 @@ export interface BannerProps extends React.HTMLAttributes<HTMLDivElement>, HasRo
73
73
  /**
74
74
  * @see https://vkcom.github.io/VKUI/#/Banner
75
75
  */
76
- export declare const Banner: ({ mode, imageTheme, size, before, asideMode, header, subheader, text, children, background, actions, onDismiss, dismissLabel, className, getRootRef, noPadding, ...restProps }: BannerProps) => React.JSX.Element;
76
+ export declare const Banner: ({ mode, imageTheme, size, before, asideMode, header, subheader, text, children, background, actions, onDismiss, dismissLabel, noPadding, ...restProps }: BannerProps) => React.JSX.Element;
@@ -2,20 +2,25 @@ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
2
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
4
4
  import * as React from "react";
5
- import { Icon24Cancel, Icon24Chevron, Icon24DismissDark, Icon24DismissSubstract } from "@vkontakte/icons";
5
+ import { Icon24Cancel, Icon24Chevron, Icon24Dismiss, Icon24DismissDark } from "@vkontakte/icons";
6
6
  import { classNames, hasReactNode } from "@vkontakte/vkjs";
7
7
  import { usePlatform } from "../../hooks/usePlatform";
8
8
  import { Platform } from "../../lib/platform";
9
9
  import { IconButton } from "../IconButton/IconButton";
10
+ import { RootComponent } from "../RootComponent/RootComponent";
10
11
  import { Tappable } from "../Tappable/Tappable";
11
12
  import { Headline } from "../Typography/Headline/Headline";
12
13
  import { Subhead } from "../Typography/Subhead/Subhead";
13
14
  import { Text } from "../Typography/Text/Text";
14
15
  import { Title } from "../Typography/Title/Title";
16
+ var stylesSize = {
17
+ s: "vkuiBanner--size-s",
18
+ m: "vkuiBanner--size-m"
19
+ };
15
20
  /**
16
21
  * @see https://vkcom.github.io/VKUI/#/Banner
17
22
  */ export var Banner = function(_param) {
18
- var _param_mode = _param.mode, mode = _param_mode === void 0 ? "tint" : _param_mode, _param_imageTheme = _param.imageTheme, imageTheme = _param_imageTheme === void 0 ? "dark" : _param_imageTheme, _param_size = _param.size, size = _param_size === void 0 ? "s" : _param_size, before = _param.before, asideMode = _param.asideMode, header = _param.header, subheader = _param.subheader, text = _param.text, children = _param.children, background = _param.background, actions = _param.actions, onDismiss = _param.onDismiss, _param_dismissLabel = _param.dismissLabel, dismissLabel = _param_dismissLabel === void 0 ? "Скрыть" : _param_dismissLabel, className = _param.className, getRootRef = _param.getRootRef, noPadding = _param.noPadding, restProps = _object_without_properties(_param, [
23
+ var _param_mode = _param.mode, mode = _param_mode === void 0 ? "tint" : _param_mode, _param_imageTheme = _param.imageTheme, imageTheme = _param_imageTheme === void 0 ? "dark" : _param_imageTheme, _param_size = _param.size, size = _param_size === void 0 ? "s" : _param_size, before = _param.before, asideMode = _param.asideMode, header = _param.header, subheader = _param.subheader, text = _param.text, children = _param.children, background = _param.background, actions = _param.actions, onDismiss = _param.onDismiss, _param_dismissLabel = _param.dismissLabel, dismissLabel = _param_dismissLabel === void 0 ? "Скрыть" : _param_dismissLabel, noPadding = _param.noPadding, restProps = _object_without_properties(_param, [
19
24
  "mode",
20
25
  "imageTheme",
21
26
  "size",
@@ -29,14 +34,12 @@ import { Title } from "../Typography/Title/Title";
29
34
  "actions",
30
35
  "onDismiss",
31
36
  "dismissLabel",
32
- "className",
33
- "getRootRef",
34
37
  "noPadding"
35
38
  ]);
36
39
  var platform = usePlatform();
37
40
  var HeaderTypography = size === "m" ? Title : Headline;
38
41
  var SubheaderTypography = size === "m" ? Text : Subhead;
39
- var IconDismissIOS = mode === "image" ? Icon24DismissDark : Icon24DismissSubstract;
42
+ var IconDismissIOS = mode === "image" ? Icon24DismissDark : Icon24Dismiss;
40
43
  var content = /*#__PURE__*/ React.createElement(React.Fragment, null, mode === "image" && background && /*#__PURE__*/ React.createElement("div", {
41
44
  "aria-hidden": true,
42
45
  className: "vkuiBanner__bg"
@@ -57,12 +60,10 @@ import { Title } from "../Typography/Title/Title";
57
60
  }, text), hasReactNode(actions) && React.Children.count(actions) > 0 && /*#__PURE__*/ React.createElement("div", {
58
61
  className: "vkuiBanner__actions"
59
62
  }, actions)));
60
- return /*#__PURE__*/ React.createElement("section", _object_spread_props(_object_spread({}, restProps), {
61
- className: classNames("vkuiBanner", !noPadding && "vkuiBanner--withPadding", platform === Platform.IOS && "vkuiBanner--ios", mode === "image" && "vkuiBanner--mode-image", {
62
- s: "vkuiBanner--size-s",
63
- m: "vkuiBanner--size-m"
64
- }[size], mode === "image" && imageTheme === "dark" && "vkuiBanner--inverted", className),
65
- ref: getRootRef
63
+ return /*#__PURE__*/ React.createElement(RootComponent, _object_spread_props(_object_spread({
64
+ Component: "section"
65
+ }, restProps), {
66
+ baseClassName: classNames("vkuiBanner", !noPadding && "vkuiBanner--withPadding", platform === Platform.IOS && "vkuiBanner--ios", mode === "image" && "vkuiBanner--mode-image", stylesSize[size], mode === "image" && imageTheme === "dark" && "vkuiBanner--inverted")
66
67
  }), asideMode === "expand" ? /*#__PURE__*/ React.createElement(Tappable, {
67
68
  className: "vkuiBanner__in",
68
69
  activeMode: platform === Platform.IOS ? "opacity" : "background",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Icon24Cancel,\n Icon24Chevron,\n Icon24DismissDark,\n Icon24DismissSubstract,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Banner.module.css';\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLElement> {\n /**\n * Тип баннера.\n */\n mode?: 'tint' | 'image';\n size?: 's' | 'm';\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: 'dismiss' | 'expand';\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: 'light' | 'dark';\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button).\n *\n * - В режиме `tint` или `image` со светлым фоном используйте только с параметрами:\n * - `mode=\"primary\"`\n * - `mode=\"secondary\"`\n * - В режиме `image` с тёмным фоном используйте с параметрами:\n * - `appearance=\"overlay\"`.\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `gap=\"m\" mode=\"horizontal\" stretched`\n * - `gap=\"m\" mode=\"vertical\" stretched`\n */\n actions?: React.ReactNode;\n /**\n * Удаляет отступы у компонента\n */\n noPadding?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Banner\n */\nexport const Banner = ({\n mode = 'tint',\n imageTheme = 'dark',\n size = 's',\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel = 'Скрыть',\n className,\n getRootRef,\n noPadding,\n ...restProps\n}: BannerProps) => {\n const platform = usePlatform();\n\n const HeaderTypography = size === 'm' ? Title : Headline;\n const SubheaderTypography = size === 'm' ? Text : Subhead;\n\n const IconDismissIOS = mode === 'image' ? Icon24DismissDark : Icon24DismissSubstract;\n\n const content = (\n <>\n {mode === 'image' && background && (\n <div aria-hidden className={styles['Banner__bg']}>\n {background}\n </div>\n )}\n\n {before && <div className={styles['Banner__before']}>{before}</div>}\n\n <div className={styles['Banner__content']}>\n {hasReactNode(header) && (\n <HeaderTypography Component=\"p\" weight=\"2\" level={size === 'm' ? '2' : '1'}>\n {header}\n </HeaderTypography>\n )}\n {hasReactNode(subheader) && (\n <SubheaderTypography Component=\"p\" className={styles['Banner__subheader']}>\n {subheader}\n </SubheaderTypography>\n )}\n {hasReactNode(text) && (\n <Text Component=\"p\" className={styles['Banner__text']}>\n {text}\n </Text>\n )}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div className={styles['Banner__actions']}>{actions}</div>\n )}\n </div>\n </>\n );\n\n return (\n <section\n {...restProps}\n className={classNames(\n styles['Banner'],\n !noPadding && styles['Banner--withPadding'],\n platform === Platform.IOS && styles['Banner--ios'],\n mode === 'image' && styles['Banner--mode-image'],\n {\n s: styles['Banner--size-s'],\n m: styles['Banner--size-m'],\n }[size],\n mode === 'image' && imageTheme === 'dark' && styles['Banner--inverted'],\n className,\n )}\n ref={getRootRef}\n >\n {asideMode === 'expand' ? (\n <Tappable\n className={styles['Banner__in']}\n activeMode={platform === Platform.IOS ? 'opacity' : 'background'}\n role=\"button\"\n >\n {content}\n\n <div className={styles['Banner__aside']}>\n <Icon24Chevron className={styles['Banner__expand']} />\n </div>\n </Tappable>\n ) : (\n <div className={styles['Banner__in']}>\n {content}\n\n {asideMode === 'dismiss' && (\n <div className={styles['Banner__aside']}>\n <IconButton\n aria-label={dismissLabel}\n className={styles['Banner__dismiss']}\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {platform === Platform.IOS ? <IconDismissIOS /> : <Icon24Cancel />}\n </IconButton>\n </div>\n )}\n </div>\n )}\n </section>\n );\n};\n"],"names":["React","Icon24Cancel","Icon24Chevron","Icon24DismissDark","Icon24DismissSubstract","classNames","hasReactNode","usePlatform","Platform","IconButton","Tappable","Headline","Subhead","Text","Title","Banner","mode","imageTheme","size","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","className","getRootRef","noPadding","restProps","platform","HeaderTypography","SubheaderTypography","IconDismissIOS","content","div","aria-hidden","Component","weight","level","Children","count","section","IOS","s","m","ref","activeMode","role","aria-label","onClick","hoverMode","hasActive"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,YAAY,EACZC,aAAa,EACbC,iBAAiB,EACjBC,sBAAsB,QACjB,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,UAAU,QAAQ,2BAA2B;AACtD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,KAAK,QAAQ,4BAA4B;AA0ElD;;CAEC,GACD,OAAO,IAAMC,SAAS;6BACpBC,MAAAA,gCAAO,iDACPC,YAAAA,4CAAa,iDACbC,MAAAA,gCAAO,mBACPC,gBAAAA,QACAC,mBAAAA,WACAC,gBAAAA,QACAC,mBAAAA,WACAC,cAAAA,MACAC,kBAAAA,UACAC,oBAAAA,YACAC,iBAAAA,SACAC,mBAAAA,wCACAC,cAAAA,gDAAe,gCACfC,mBAAAA,WACAC,oBAAAA,YACAC,mBAAAA,WACGC;QAhBHhB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAW1B;IAEjB,IAAM2B,mBAAmBhB,SAAS,MAAMJ,QAAQH;IAChD,IAAMwB,sBAAsBjB,SAAS,MAAML,OAAOD;IAElD,IAAMwB,iBAAiBpB,SAAS,UAAUb,oBAAoBC;IAE9D,IAAMiC,wBACJ,0CACGrB,SAAS,WAAWS,4BACnB,oBAACa;QAAIC,eAAAA;QAAYV,SAAS;OACvBJ,aAIJN,wBAAU,oBAACmB;QAAIT,SAAS;OAA6BV,uBAEtD,oBAACmB;QAAIT,SAAS;OACXvB,aAAae,yBACZ,oBAACa;QAAiBM,WAAU;QAAIC,QAAO;QAAIC,OAAOxB,SAAS,MAAM,MAAM;OACpEG,SAGJf,aAAagB,4BACZ,oBAACa;QAAoBK,WAAU;QAAIX,SAAS;OACzCP,YAGJhB,aAAaiB,uBACZ,oBAACV;QAAK2B,WAAU;QAAIX,SAAS;OAC1BN,OAGJjB,aAAaoB,YAAY1B,MAAM2C,QAAQ,CAACC,KAAK,CAAClB,WAAW,mBACxD,oBAACY;QAAIT,SAAS;OAA8BH;IAMpD,qBACE,oBAACmB,mDACKb;QACJH,WAAWxB,yBAET,CAAC0B,wCACDE,aAAazB,SAASsC,GAAG,uBACzB9B,SAAS,qCACT;YACE+B,CAAC;YACDC,CAAC;QACH,CAAC,CAAC9B,KAAK,EACPF,SAAS,WAAWC,eAAe,kCACnCY;QAEFoB,KAAKnB;QAEJV,cAAc,yBACb,oBAACV;QACCmB,SAAS;QACTqB,YAAYjB,aAAazB,SAASsC,GAAG,GAAG,YAAY;QACpDK,MAAK;OAEJd,uBAED,oBAACC;QAAIT,SAAS;qBACZ,oBAAC3B;QAAc2B,SAAS;yBAI5B,oBAACS;QAAIT,SAAS;OACXQ,SAEAjB,cAAc,2BACb,oBAACkB;QAAIT,SAAS;qBACZ,oBAACpB;QACC2C,cAAYxB;QACZC,SAAS;QACTwB,SAAS1B;QACT2B,WAAU;QACVC,WAAW;OAEVtB,aAAazB,SAASsC,GAAG,iBAAG,oBAACV,sCAAoB,oBAACnC;AAQnE,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24Cancel, Icon24Chevron, Icon24Dismiss, Icon24DismissDark } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Banner.module.css';\n\nconst stylesSize = {\n s: styles['Banner--size-s'],\n m: styles['Banner--size-m'],\n};\n\nexport interface BannerProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Тип баннера.\n */\n mode?: 'tint' | 'image';\n size?: 's' | 'm';\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: 'dismiss' | 'expand';\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: 'light' | 'dark';\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button).\n *\n * - В режиме `tint` или `image` со светлым фоном используйте только с параметрами:\n * - `mode=\"primary\"`\n * - `mode=\"secondary\"`\n * - В режиме `image` с тёмным фоном используйте с параметрами:\n * - `appearance=\"overlay\"`.\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `gap=\"m\" mode=\"horizontal\" stretched`\n * - `gap=\"m\" mode=\"vertical\" stretched`\n */\n actions?: React.ReactNode;\n /**\n * Удаляет отступы у компонента\n */\n noPadding?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Banner\n */\nexport const Banner = ({\n mode = 'tint',\n imageTheme = 'dark',\n size = 's',\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel = 'Скрыть',\n noPadding,\n ...restProps\n}: BannerProps) => {\n const platform = usePlatform();\n\n const HeaderTypography = size === 'm' ? Title : Headline;\n const SubheaderTypography = size === 'm' ? Text : Subhead;\n\n const IconDismissIOS = mode === 'image' ? Icon24DismissDark : Icon24Dismiss;\n\n const content = (\n <>\n {mode === 'image' && background && (\n <div aria-hidden className={styles['Banner__bg']}>\n {background}\n </div>\n )}\n\n {before && <div className={styles['Banner__before']}>{before}</div>}\n\n <div className={styles['Banner__content']}>\n {hasReactNode(header) && (\n <HeaderTypography Component=\"p\" weight=\"2\" level={size === 'm' ? '2' : '1'}>\n {header}\n </HeaderTypography>\n )}\n {hasReactNode(subheader) && (\n <SubheaderTypography Component=\"p\" className={styles['Banner__subheader']}>\n {subheader}\n </SubheaderTypography>\n )}\n {hasReactNode(text) && (\n <Text Component=\"p\" className={styles['Banner__text']}>\n {text}\n </Text>\n )}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div className={styles['Banner__actions']}>{actions}</div>\n )}\n </div>\n </>\n );\n\n return (\n <RootComponent\n Component=\"section\"\n {...restProps}\n baseClassName={classNames(\n styles['Banner'],\n !noPadding && styles['Banner--withPadding'],\n platform === Platform.IOS && styles['Banner--ios'],\n mode === 'image' && styles['Banner--mode-image'],\n stylesSize[size],\n mode === 'image' && imageTheme === 'dark' && styles['Banner--inverted'],\n )}\n >\n {asideMode === 'expand' ? (\n <Tappable\n className={styles['Banner__in']}\n activeMode={platform === Platform.IOS ? 'opacity' : 'background'}\n role=\"button\"\n >\n {content}\n\n <div className={styles['Banner__aside']}>\n <Icon24Chevron className={styles['Banner__expand']} />\n </div>\n </Tappable>\n ) : (\n <div className={styles['Banner__in']}>\n {content}\n\n {asideMode === 'dismiss' && (\n <div className={styles['Banner__aside']}>\n <IconButton\n aria-label={dismissLabel}\n className={styles['Banner__dismiss']}\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {platform === Platform.IOS ? <IconDismissIOS /> : <Icon24Cancel />}\n </IconButton>\n </div>\n )}\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon24Cancel","Icon24Chevron","Icon24Dismiss","Icon24DismissDark","classNames","hasReactNode","usePlatform","Platform","IconButton","RootComponent","Tappable","Headline","Subhead","Text","Title","stylesSize","s","m","Banner","mode","imageTheme","size","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","noPadding","restProps","platform","HeaderTypography","SubheaderTypography","IconDismissIOS","content","div","aria-hidden","className","Component","weight","level","Children","count","baseClassName","IOS","activeMode","role","aria-label","onClick","hoverMode","hasActive"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,EAAEC,aAAa,EAAEC,aAAa,EAAEC,iBAAiB,QAAQ,mBAAmB;AACjG,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,UAAU,QAAQ,2BAA2B;AACtD,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,KAAK,QAAQ,4BAA4B;AAGlD,IAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;AACH;AAyEA;;CAEC,GACD,OAAO,IAAMC,SAAS;6BACpBC,MAAAA,gCAAO,iDACPC,YAAAA,4CAAa,iDACbC,MAAAA,gCAAO,mBACPC,gBAAAA,QACAC,mBAAAA,WACAC,gBAAAA,QACAC,mBAAAA,WACAC,cAAAA,MACAC,kBAAAA,UACAC,oBAAAA,YACAC,iBAAAA,SACAC,mBAAAA,wCACAC,cAAAA,gDAAe,gCACfC,mBAAAA,WACGC;QAdHd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAW5B;IAEjB,IAAM6B,mBAAmBd,SAAS,MAAMP,QAAQH;IAChD,IAAMyB,sBAAsBf,SAAS,MAAMR,OAAOD;IAElD,IAAMyB,iBAAiBlB,SAAS,UAAUhB,oBAAoBD;IAE9D,IAAMoC,wBACJ,0CACGnB,SAAS,WAAWS,4BACnB,oBAACW;QAAIC,eAAAA;QAAYC,SAAS;OACvBb,aAIJN,wBAAU,oBAACiB;QAAIE,SAAS;OAA6BnB,uBAEtD,oBAACiB;QAAIE,SAAS;OACXpC,aAAamB,yBACZ,oBAACW;QAAiBO,WAAU;QAAIC,QAAO;QAAIC,OAAOvB,SAAS,MAAM,MAAM;OACpEG,SAGJnB,aAAaoB,4BACZ,oBAACW;QAAoBM,WAAU;QAAID,SAAS;OACzChB,YAGJpB,aAAaqB,uBACZ,oBAACb;QAAK6B,WAAU;QAAID,SAAS;OAC1Bf,OAGJrB,aAAawB,YAAY9B,MAAM8C,QAAQ,CAACC,KAAK,CAACjB,WAAW,mBACxD,oBAACU;QAAIE,SAAS;OAA8BZ;IAMpD,qBACE,oBAACpB;QACCiC,WAAU;OACNT;QACJc,eAAe3C,yBAEb,CAAC4B,wCACDE,aAAa3B,SAASyC,GAAG,uBACzB7B,SAAS,qCACTJ,UAAU,CAACM,KAAK,EAChBF,SAAS,WAAWC,eAAe;QAGpCG,cAAc,yBACb,oBAACb;QACC+B,SAAS;QACTQ,YAAYf,aAAa3B,SAASyC,GAAG,GAAG,YAAY;QACpDE,MAAK;OAEJZ,uBAED,oBAACC;QAAIE,SAAS;qBACZ,oBAACxC;QAAcwC,SAAS;yBAI5B,oBAACF;QAAIE,SAAS;OACXH,SAEAf,cAAc,2BACb,oBAACgB;QAAIE,SAAS;qBACZ,oBAACjC;QACC2C,cAAYpB;QACZU,SAAS;QACTW,SAAStB;QACTuB,WAAU;QACVC,WAAW;OAEVpB,aAAa3B,SAASyC,GAAG,iBAAG,oBAACX,sCAAoB,oBAACrC;AAQnE,EAAE"}
@@ -1,3 +1,3 @@
1
1
  import * as React from 'react';
2
2
  import { BaseGalleryProps } from './types';
3
- export declare const BaseGallery: ({ bullets, getRootRef, children, slideWidth, slideIndex, isDraggable: isDraggableProp, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align, showArrows, getRef, className, arrowSize, ...restProps }: BaseGalleryProps) => React.JSX.Element;
3
+ export declare const BaseGallery: ({ bullets, getRootRef, children, slideWidth, slideIndex, isDraggable: isDraggableProp, onDragStart, onDragEnd, onChange, onPrevClick, onNextClick, align, showArrows, getRef, arrowSize, ...restProps }: BaseGalleryProps) => React.JSX.Element;
@@ -9,6 +9,7 @@ import { useExternRef } from "../../hooks/useExternRef";
9
9
  import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
10
10
  import { useDOM } from "../../lib/dom";
11
11
  import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
12
+ import { RootComponent } from "../RootComponent/RootComponent";
12
13
  import { ScrollArrow } from "../ScrollArrow/ScrollArrow";
13
14
  import { Touch } from "../Touch/Touch";
14
15
  import { calcMax, calcMin } from "./helpers";
@@ -29,8 +30,12 @@ var SHIFT_DEFAULT_STATE = {
29
30
  deltaX: 0,
30
31
  indent: 0
31
32
  };
33
+ var stylesBullets = {
34
+ dark: "vkuiBaseGallery__bullets--dark",
35
+ light: "vkuiBaseGallery__bullets--light"
36
+ };
32
37
  export var BaseGallery = function(_param) {
33
- var _param_bullets = _param.bullets, bullets = _param_bullets === void 0 ? false : _param_bullets, getRootRef = _param.getRootRef, children = _param.children, _param_slideWidth = _param.slideWidth, slideWidth = _param_slideWidth === void 0 ? "100%" : _param_slideWidth, _param_slideIndex = _param.slideIndex, slideIndex = _param_slideIndex === void 0 ? 0 : _param_slideIndex, tmp = _param.isDraggable, isDraggableProp = tmp === void 0 ? true : tmp, onDragStart = _param.onDragStart, onDragEnd = _param.onDragEnd, onChange = _param.onChange, onPrevClick = _param.onPrevClick, onNextClick = _param.onNextClick, _param_align = _param.align, align = _param_align === void 0 ? "left" : _param_align, showArrows = _param.showArrows, getRef = _param.getRef, className = _param.className, _param_arrowSize = _param.arrowSize, arrowSize = _param_arrowSize === void 0 ? "l" : _param_arrowSize, restProps = _object_without_properties(_param, [
38
+ var _param_bullets = _param.bullets, bullets = _param_bullets === void 0 ? false : _param_bullets, getRootRef = _param.getRootRef, children = _param.children, _param_slideWidth = _param.slideWidth, slideWidth = _param_slideWidth === void 0 ? "100%" : _param_slideWidth, _param_slideIndex = _param.slideIndex, slideIndex = _param_slideIndex === void 0 ? 0 : _param_slideIndex, tmp = _param.isDraggable, isDraggableProp = tmp === void 0 ? true : tmp, onDragStart = _param.onDragStart, onDragEnd = _param.onDragEnd, onChange = _param.onChange, onPrevClick = _param.onPrevClick, onNextClick = _param.onNextClick, _param_align = _param.align, align = _param_align === void 0 ? "left" : _param_align, showArrows = _param.showArrows, getRef = _param.getRef, _param_arrowSize = _param.arrowSize, arrowSize = _param_arrowSize === void 0 ? "l" : _param_arrowSize, restProps = _object_without_properties(_param, [
34
39
  "bullets",
35
40
  "getRootRef",
36
41
  "children",
@@ -45,7 +50,6 @@ export var BaseGallery = function(_param) {
45
50
  "align",
46
51
  "showArrows",
47
52
  "getRef",
48
- "className",
49
53
  "arrowSize"
50
54
  ]);
51
55
  var slidesStore = React.useRef({});
@@ -277,9 +281,9 @@ export var BaseGallery = function(_param) {
277
281
  (align === "left" && layoutState.current.containerWidth - shiftState.shiftX < ((_layoutState_current_layerWidth = layoutState.current.layerWidth) !== null && _layoutState_current_layerWidth !== void 0 ? _layoutState_current_layerWidth : 0) || // otherwise we need to check current slide index (align = right or align = center)
278
282
  align !== "left" && slideIndex < layoutState.current.slides.length - 1);
279
283
  var isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;
280
- return /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({}, restProps), {
281
- className: classNames("vkuiBaseGallery", align === "center" && "vkuiBaseGallery--align-center", slideWidth === "custom" && "vkuiBaseGallery--custom-width", isDraggable && "vkuiBaseGallery--draggable", className),
282
- ref: rootRef
284
+ return /*#__PURE__*/ React.createElement(RootComponent, _object_spread_props(_object_spread({}, restProps), {
285
+ baseClassName: classNames("vkuiBaseGallery", align === "center" && "vkuiBaseGallery--align-center", slideWidth === "custom" && "vkuiBaseGallery--custom-width", isDraggable && "vkuiBaseGallery--draggable"),
286
+ getRootRef: rootRef
283
287
  }), /*#__PURE__*/ React.createElement(Touch, {
284
288
  className: "vkuiBaseGallery__viewport",
285
289
  onStartX: onStart,
@@ -303,10 +307,7 @@ export var BaseGallery = function(_param) {
303
307
  }, item);
304
308
  }))), bullets && /*#__PURE__*/ React.createElement("div", {
305
309
  "aria-hidden": true,
306
- className: classNames("vkuiBaseGallery__bullets", {
307
- dark: "vkuiBaseGallery__bullets--dark",
308
- light: "vkuiBaseGallery__bullets--light"
309
- }[bullets])
310
+ className: classNames("vkuiBaseGallery__bullets", stylesBullets[bullets])
310
311
  }, React.Children.map(children, function(_item, index) {
311
312
  return /*#__PURE__*/ React.createElement("div", {
312
313
  className: classNames("vkuiBaseGallery__bullet", index === slideIndex && "vkuiBaseGallery__bullet--active"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { calcMax, calcMin } from './helpers';\nimport { BaseGalleryProps, GallerySlidesState, LayoutState, ShiftingState } from './types';\nimport styles from './BaseGallery.module.css';\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = '100%',\n slideIndex = 0,\n isDraggable: isDraggableProp = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n align = 'left',\n showArrows,\n getRef,\n className,\n arrowSize = 'l',\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] = React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const hasPointer = useAdaptivityHasPointer();\n\n const isCenterWithCustomWidth = slideWidth === 'custom' && align === 'center';\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(children, (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0,\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !== localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation: options.animation ?? prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, 'resize', onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = (event: React.MouseEvent) => {\n onChange?.(slideIndex - 1);\n onPrevClick?.(event);\n };\n\n const slideRight = (event: React.MouseEvent) => {\n onChange?.(slideIndex + 1);\n onNextClick?.(event);\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX + shiftState.deltaX + expectDeltaX - (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex,\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = (e: TouchEvent) => {\n onDragStart?.(e);\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggableProp && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e, targetIndex);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n };\n\n const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === 'left' &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== 'left' && slideIndex < layoutState.current.slides.length - 1));\n\n const isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['BaseGallery'],\n align === 'center' && styles['BaseGallery--align-center'],\n slideWidth === 'custom' && styles['BaseGallery--custom-width'],\n isDraggable && styles['BaseGallery--draggable'],\n className,\n )}\n ref={rootRef}\n >\n <Touch\n className={styles['BaseGallery__viewport']}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div className={styles['BaseGallery__layer']} style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles['BaseGallery__slide']}\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden\n className={classNames(\n styles['BaseGallery__bullets'],\n {\n dark: styles['BaseGallery__bullets--dark'],\n light: styles['BaseGallery__bullets--light'],\n }[bullets],\n )}\n >\n {React.Children.map(children, (_item: React.ReactNode, index: number) => (\n <div\n className={classNames(\n styles['BaseGallery__bullet'],\n index === slideIndex && styles['BaseGallery__bullet--active'],\n )}\n key={index}\n />\n ))}\n </div>\n )}\n\n {showArrows && hasPointer && canSlideLeft && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"left\"\n onClick={slideLeft}\n size={arrowSize}\n />\n )}\n {showArrows && hasPointer && canSlideRight && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"right\"\n onClick={slideRight}\n size={arrowSize}\n />\n )}\n </div>\n );\n};\n"],"names":["React","classNames","useAdaptivityHasPointer","useExternRef","useGlobalEventListener","useDOM","useIsomorphicLayoutEffect","ScrollArrow","Touch","calcMax","calcMin","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggableProp","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","align","showArrows","getRef","className","arrowSize","restProps","slidesStore","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasPointer","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","prevState","onResize","slideLeft","event","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","onEnd","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","div","ref","onStartX","style","noSlideClick","key","el","aria-hidden","dark","light","onClick","size"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { calcMax, calcMin } from './helpers';\nimport { BaseGalleryProps, GallerySlidesState, LayoutState, ShiftingState } from './types';\nimport styles from './BaseGallery.module.css';\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nconst stylesBullets = {\n dark: styles['BaseGallery__bullets--dark'],\n light: styles['BaseGallery__bullets--light'],\n};\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = '100%',\n slideIndex = 0,\n isDraggable: isDraggableProp = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n align = 'left',\n showArrows,\n getRef,\n arrowSize = 'l',\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] = React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const hasPointer = useAdaptivityHasPointer();\n\n const isCenterWithCustomWidth = slideWidth === 'custom' && align === 'center';\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(children, (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0,\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !== localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation: options.animation ?? prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, 'resize', onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = (event: React.MouseEvent) => {\n onChange?.(slideIndex - 1);\n onPrevClick?.(event);\n };\n\n const slideRight = (event: React.MouseEvent) => {\n onChange?.(slideIndex + 1);\n onNextClick?.(event);\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX + shiftState.deltaX + expectDeltaX - (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex,\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = (e: TouchEvent) => {\n onDragStart?.(e);\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggableProp && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e, targetIndex);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n };\n\n const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === 'left' &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== 'left' && slideIndex < layoutState.current.slides.length - 1));\n\n const isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['BaseGallery'],\n align === 'center' && styles['BaseGallery--align-center'],\n slideWidth === 'custom' && styles['BaseGallery--custom-width'],\n isDraggable && styles['BaseGallery--draggable'],\n )}\n getRootRef={rootRef}\n >\n <Touch\n className={styles['BaseGallery__viewport']}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div className={styles['BaseGallery__layer']} style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles['BaseGallery__slide']}\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden\n className={classNames(styles['BaseGallery__bullets'], stylesBullets[bullets])}\n >\n {React.Children.map(children, (_item: React.ReactNode, index: number) => (\n <div\n className={classNames(\n styles['BaseGallery__bullet'],\n index === slideIndex && styles['BaseGallery__bullet--active'],\n )}\n key={index}\n />\n ))}\n </div>\n )}\n\n {showArrows && hasPointer && canSlideLeft && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"left\"\n onClick={slideLeft}\n size={arrowSize}\n />\n )}\n {showArrows && hasPointer && canSlideRight && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"right\"\n onClick={slideRight}\n size={arrowSize}\n />\n )}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivityHasPointer","useExternRef","useGlobalEventListener","useDOM","useIsomorphicLayoutEffect","RootComponent","ScrollArrow","Touch","calcMax","calcMin","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","stylesBullets","dark","light","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggableProp","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","align","showArrows","getRef","arrowSize","restProps","slidesStore","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasPointer","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","prevState","onResize","slideLeft","event","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","onEnd","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","baseClassName","className","onStartX","style","noSlideClick","div","key","ref","el","aria-hidden","onClick","size"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { HasAlign, HasRef, HasRootRef } from '../../types';
2
+ import { HasAlign, HasRef, HTMLAttributesWithRootRef } from '../../types';
3
3
  import { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';
4
4
  import { TouchEvent, TouchEventHandler } from '../Touch/Touch';
5
5
  export interface GallerySlidesState {
@@ -21,7 +21,7 @@ export interface LayoutState {
21
21
  slides: GallerySlidesState[];
22
22
  isFullyVisible: boolean;
23
23
  }
24
- export interface BaseGalleryProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>, HasAlign, HasRootRef<HTMLDivElement>, HasRef<HTMLElement> {
24
+ export interface BaseGalleryProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>, HasAlign, HasRef<HTMLElement> {
25
25
  slideWidth?: string | number;
26
26
  slideIndex?: number;
27
27
  onDragStart?: TouchEventHandler;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/BaseGallery/types.ts"],"sourcesContent":["import * as React from 'react';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport { TouchEvent, TouchEventHandler } from '../Touch/Touch';\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\nexport interface ShiftingState {\n deltaX: number;\n shiftX: number;\n animation?: boolean;\n dragging: boolean;\n}\n\nexport interface LayoutState {\n containerWidth: number;\n viewportOffsetWidth: number;\n layerWidth: number;\n min?: number;\n max: number;\n slides: GallerySlidesState[];\n isFullyVisible: boolean;\n}\n\nexport interface BaseGalleryProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>,\n HasAlign,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLElement> {\n slideWidth?: string | number;\n slideIndex?: number;\n onDragStart?: TouchEventHandler;\n onDragEnd?(e: TouchEvent, targetIndex: number): void;\n onChange?(current: number): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку влево\n */\n onPrevClick?(event: React.MouseEvent): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку вправо\n */\n onNextClick?(event: React.MouseEvent): void;\n bullets?: 'dark' | 'light' | false;\n isDraggable?: boolean;\n showArrows?: boolean;\n hasPointer?: boolean;\n arrowSize?: ScrollArrowProps['size'];\n}\n"],"names":["React"],"mappings":"AAAA,YAAYA,WAAW,QAAQ"}
1
+ {"version":3,"sources":["../../../src/components/BaseGallery/types.ts"],"sourcesContent":["import * as React from 'react';\nimport { HasAlign, HasRef, HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollArrowProps } from '../ScrollArrow/ScrollArrow';\nimport { TouchEvent, TouchEventHandler } from '../Touch/Touch';\n\nexport interface GallerySlidesState {\n coordX: number;\n width: number;\n}\n\nexport interface ShiftingState {\n deltaX: number;\n shiftX: number;\n animation?: boolean;\n dragging: boolean;\n}\n\nexport interface LayoutState {\n containerWidth: number;\n viewportOffsetWidth: number;\n layerWidth: number;\n min?: number;\n max: number;\n slides: GallerySlidesState[];\n isFullyVisible: boolean;\n}\n\nexport interface BaseGalleryProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange' | 'onDragStart' | 'onDragEnd'>,\n HasAlign,\n HasRef<HTMLElement> {\n slideWidth?: string | number;\n slideIndex?: number;\n onDragStart?: TouchEventHandler;\n onDragEnd?(e: TouchEvent, targetIndex: number): void;\n onChange?(current: number): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку влево\n */\n onPrevClick?(event: React.MouseEvent): void;\n /**\n * Будет вызвано при клике на кнопку-стрелку вправо\n */\n onNextClick?(event: React.MouseEvent): void;\n bullets?: 'dark' | 'light' | false;\n isDraggable?: boolean;\n showArrows?: boolean;\n hasPointer?: boolean;\n arrowSize?: ScrollArrowProps['size'];\n}\n"],"names":["React"],"mappings":"AAAA,YAAYA,WAAW,QAAQ"}
@@ -11,10 +11,11 @@ export interface VKUIButtonProps extends HasAlign {
11
11
  after?: React.ReactNode;
12
12
  loading?: boolean;
13
13
  disableSpinnerAnimation?: boolean;
14
+ rounded?: boolean;
14
15
  }
15
16
  export interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {
16
17
  }
17
18
  /**
18
19
  * @see https://vkcom.github.io/VKUI/#/Button
19
20
  */
20
- export declare const Button: ({ size, mode, appearance, stretched, align, children, before, after, getRootRef, loading, onClick, stopPropagation, className, disableSpinnerAnimation, ...restProps }: ButtonProps) => React.JSX.Element;
21
+ export declare const Button: ({ size, mode, appearance, stretched, align, children, before, after, getRootRef, loading, onClick, stopPropagation, className, disableSpinnerAnimation, rounded, ...restProps }: ButtonProps) => React.JSX.Element;