@vkontakte/vkui 5.7.2 → 5.8.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 (1106) hide show
  1. package/README.md +4 -4
  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/AdaptivityProvider/AdaptivityProvider.js +22 -8
  16. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  17. package/dist/cjs/components/AppRoot/AppRoot.d.ts +19 -2
  18. package/dist/cjs/components/AppRoot/AppRoot.js +58 -20
  19. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  20. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +1 -0
  21. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  22. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +1 -1
  23. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  24. package/dist/cjs/components/AspectRatio/AspectRatio.d.ts +3 -3
  25. package/dist/cjs/components/AspectRatio/AspectRatio.js +6 -8
  26. package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
  27. package/dist/cjs/components/Badge/Badge.d.ts +3 -2
  28. package/dist/cjs/components/Badge/Badge.js +10 -8
  29. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  30. package/dist/cjs/components/Banner/Banner.d.ts +3 -3
  31. package/dist/cjs/components/Banner/Banner.js +10 -9
  32. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  33. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +1 -1
  34. package/dist/cjs/components/BaseGallery/BaseGallery.js +10 -9
  35. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  36. package/dist/cjs/components/BaseGallery/types.d.ts +2 -2
  37. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  38. package/dist/cjs/components/Button/Button.js +26 -22
  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 +3 -4
  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/ConfigProvider/ConfigProvider.d.ts +7 -0
  74. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +24 -6
  75. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  76. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +47 -3
  77. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +6 -1
  78. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  79. package/dist/cjs/components/Counter/Counter.d.ts +2 -1
  80. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  81. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +1 -1
  82. package/dist/cjs/components/CustomSelect/CustomSelect.js +1 -1
  83. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  84. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  85. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  86. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  87. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  88. package/dist/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  89. package/dist/cjs/components/DatePicker/DatePicker.js +5 -5
  90. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  91. package/dist/cjs/components/Div/Div.d.ts +3 -4
  92. package/dist/cjs/components/Div/Div.js +5 -13
  93. package/dist/cjs/components/Div/Div.js.map +1 -1
  94. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  95. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  96. package/dist/cjs/components/Epic/Epic.d.ts +3 -2
  97. package/dist/cjs/components/Epic/Epic.js +7 -7
  98. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  99. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +2 -2
  100. package/dist/cjs/components/FixedLayout/FixedLayout.js +5 -4
  101. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  102. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +2 -2
  103. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  104. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +2 -1
  105. package/dist/cjs/components/FocusVisible/FocusVisible.js +8 -6
  106. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  107. package/dist/cjs/components/FormField/FormField.js +5 -4
  108. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  109. package/dist/cjs/components/FormItem/FormItem.d.ts +6 -1
  110. package/dist/cjs/components/FormItem/FormItem.js +11 -10
  111. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  112. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  113. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +6 -6
  114. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  115. package/dist/cjs/components/FormStatus/FormStatus.d.ts +2 -2
  116. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  117. package/dist/cjs/components/Gradient/Gradient.d.ts +3 -2
  118. package/dist/cjs/components/Gradient/Gradient.js +15 -14
  119. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  120. package/dist/cjs/components/Group/Group.d.ts +3 -3
  121. package/dist/cjs/components/Group/Group.js +35 -21
  122. package/dist/cjs/components/Group/Group.js.map +1 -1
  123. package/dist/cjs/components/Header/Header.d.ts +3 -3
  124. package/dist/cjs/components/Header/Header.js +12 -11
  125. package/dist/cjs/components/Header/Header.js.map +1 -1
  126. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +6 -5
  127. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  128. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  129. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +4 -4
  130. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  131. package/dist/cjs/components/ImageBase/ImageBase.d.ts +2 -2
  132. package/dist/cjs/components/ImageBase/ImageBase.js +5 -7
  133. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  134. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  135. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +8 -9
  136. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  137. package/dist/cjs/components/InfoRow/InfoRow.d.ts +2 -1
  138. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  139. package/dist/cjs/components/InputLike/InputLike.d.ts +3 -3
  140. package/dist/cjs/components/InputLike/InputLike.js +6 -8
  141. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  142. package/dist/cjs/components/List/List.d.ts +3 -2
  143. package/dist/cjs/components/List/List.js +5 -5
  144. package/dist/cjs/components/List/List.js.map +1 -1
  145. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  146. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +14 -11
  147. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  148. package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
  149. package/dist/cjs/components/ModalCard/ModalCard.js +5 -7
  150. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  151. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  152. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -6
  153. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  154. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  155. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  156. package/dist/cjs/components/ModalPage/ModalPage.d.ts +3 -2
  157. package/dist/cjs/components/ModalPage/ModalPage.js +9 -6
  158. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  159. package/dist/cjs/components/ModalRoot/ModalRoot.js +6 -4
  160. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  161. package/dist/cjs/components/ModalRoot/ModalRootContext.js +3 -0
  162. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  163. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -2
  164. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  165. package/dist/cjs/components/ModalRoot/types.d.ts +1 -0
  166. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  167. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  168. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +43 -0
  169. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  170. package/dist/cjs/components/Pagination/Pagination.d.ts +3 -3
  171. package/dist/cjs/components/Pagination/Pagination.js +17 -33
  172. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  173. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  174. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.js +48 -0
  175. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  176. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  177. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.js +32 -0
  178. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  179. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  180. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.js +20 -0
  181. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  182. package/dist/cjs/components/Pagination/utils.d.ts +1 -0
  183. package/dist/cjs/components/Pagination/utils.js +15 -0
  184. package/dist/cjs/components/Pagination/utils.js.map +1 -0
  185. package/dist/cjs/components/Panel/Panel.d.ts +3 -3
  186. package/dist/cjs/components/Panel/Panel.js +7 -7
  187. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  188. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +3 -3
  189. package/dist/cjs/components/PanelHeader/PanelHeader.js +15 -10
  190. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  191. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  192. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +4 -6
  193. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  194. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  195. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  196. package/dist/cjs/components/Placeholder/Placeholder.d.ts +24 -11
  197. package/dist/cjs/components/Placeholder/Placeholder.js +49 -21
  198. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  199. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  200. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +12 -17
  201. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  202. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  203. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +16 -16
  204. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  205. package/dist/cjs/components/Popper/Popper.d.ts +7 -3
  206. package/dist/cjs/components/Popper/Popper.js +19 -10
  207. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  208. package/dist/cjs/components/Progress/Progress.d.ts +3 -3
  209. package/dist/cjs/components/Progress/Progress.js +9 -10
  210. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  211. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +3 -2
  212. package/dist/cjs/components/PromoBanner/PromoBanner.js +5 -6
  213. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  214. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +25 -0
  215. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +5 -2
  216. package/dist/cjs/components/PullToRefresh/PullToRefresh.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 +2 -2
  251. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  252. package/dist/cjs/components/SelectTypography/SelectTypography.d.ts +2 -2
  253. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  254. package/dist/cjs/components/Separator/Separator.d.ts +3 -2
  255. package/dist/cjs/components/Separator/Separator.js +5 -5
  256. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  257. package/dist/cjs/components/Slider/Slider.d.ts +4 -3
  258. package/dist/cjs/components/Slider/Slider.js +5 -2
  259. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  260. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  261. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js +56 -5
  262. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  263. package/dist/cjs/components/Snackbar/Snackbar.d.ts +3 -2
  264. package/dist/cjs/components/Snackbar/Snackbar.js +8 -7
  265. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  266. package/dist/cjs/components/Spacing/Spacing.d.ts +3 -3
  267. package/dist/cjs/components/Spacing/Spacing.js +5 -6
  268. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  269. package/dist/cjs/components/Spinner/Spinner.d.ts +3 -2
  270. package/dist/cjs/components/Spinner/Spinner.js +6 -6
  271. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  272. package/dist/cjs/components/SplitCol/SplitCol.d.ts +2 -1
  273. package/dist/cjs/components/SplitCol/SplitCol.js +8 -6
  274. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  275. package/dist/cjs/components/SplitLayout/SplitLayout.d.ts +2 -2
  276. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  277. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  278. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js +7 -9
  279. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  280. package/dist/cjs/components/Tabbar/Tabbar.d.ts +3 -2
  281. package/dist/cjs/components/Tabbar/Tabbar.js +6 -7
  282. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  283. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -1
  284. package/dist/cjs/components/TabbarItem/TabbarItem.js +7 -7
  285. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  286. package/dist/cjs/components/Tabs/Tabs.d.ts +3 -3
  287. package/dist/cjs/components/Tabs/Tabs.js +4 -6
  288. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  289. package/dist/cjs/components/TabsItem/TabsItem.d.ts +2 -1
  290. package/dist/cjs/components/TabsItem/TabsItem.js +6 -5
  291. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  292. package/dist/cjs/components/Tappable/Tappable.d.ts +6 -1
  293. package/dist/cjs/components/Tappable/Tappable.js +12 -9
  294. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  295. package/dist/cjs/components/TextTooltip/TextTooltip.js +7 -6
  296. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  297. package/dist/cjs/components/Tooltip/Tooltip.d.ts +1 -1
  298. package/dist/cjs/components/Tooltip/Tooltip.js +5 -3
  299. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  300. package/dist/cjs/components/TooltipBase/TooltipBase.d.ts +8 -1
  301. package/dist/cjs/components/TooltipBase/TooltipBase.js +21 -8
  302. package/dist/cjs/components/TooltipBase/TooltipBase.js.map +1 -1
  303. package/dist/cjs/components/Typography/Caption/Caption.js +6 -5
  304. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  305. package/dist/cjs/components/Typography/Headline/Headline.js +5 -4
  306. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  307. package/dist/cjs/components/Typography/Title/Title.js +6 -5
  308. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  309. package/dist/cjs/components/Typography/Typography.d.ts +1 -1
  310. package/dist/cjs/components/Typography/Typography.js +12 -13
  311. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  312. package/dist/cjs/components/UsersStack/UsersStack.d.ts +3 -2
  313. package/dist/cjs/components/UsersStack/UsersStack.js +14 -12
  314. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  315. package/dist/cjs/components/View/View.d.ts +2 -1
  316. package/dist/cjs/components/View/View.js +7 -3
  317. package/dist/cjs/components/View/View.js.map +1 -1
  318. package/dist/cjs/components/View/ViewInfinite.d.ts +10 -3
  319. package/dist/cjs/components/View/ViewInfinite.js +17 -6
  320. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  321. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  322. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +8 -9
  323. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  324. package/dist/cjs/helpers/appearance.d.ts +4 -0
  325. package/dist/cjs/helpers/appearance.js.map +1 -1
  326. package/dist/cjs/hooks/useAppearance.d.ts +1 -1
  327. package/dist/cjs/hooks/useAutoDetectAppearance.d.ts +4 -0
  328. package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
  329. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +5 -1
  330. package/dist/cjs/hooks/useBridgeAdaptivity.js +25 -20
  331. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -1
  332. package/dist/cjs/hooks/useInsets.d.ts +5 -1
  333. package/dist/cjs/hooks/useInsets.js +11 -11
  334. package/dist/cjs/hooks/useInsets.js.map +1 -1
  335. package/dist/cjs/index.d.ts +6 -3
  336. package/dist/cjs/index.js +14 -0
  337. package/dist/cjs/index.js.map +1 -1
  338. package/dist/cjs/lib/adaptivity/functions.d.ts +8 -0
  339. package/dist/cjs/lib/adaptivity/functions.js +30 -0
  340. package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
  341. package/dist/cjs/lib/appearance/index.d.ts +1 -0
  342. package/dist/cjs/lib/appearance/index.js +6 -0
  343. package/dist/cjs/lib/appearance/index.js.map +1 -0
  344. package/dist/cjs/lib/appearance/types.d.ts +1 -0
  345. package/dist/cjs/lib/appearance/types.js +6 -0
  346. package/dist/cjs/lib/appearance/types.js.map +1 -0
  347. package/dist/cjs/lib/floating/index.d.ts +1 -1
  348. package/dist/cjs/lib/floating/index.js +3 -0
  349. package/dist/cjs/lib/floating/index.js.map +1 -1
  350. package/dist/cjs/lib/platform.js +11 -7
  351. package/dist/cjs/lib/platform.js.map +1 -1
  352. package/dist/cjs/lib/select.d.ts +1 -1
  353. package/dist/cjs/lib/taptic.d.ts +4 -0
  354. package/dist/cjs/lib/taptic.js.map +1 -1
  355. package/dist/cjs/lib/utils.d.ts +2 -0
  356. package/dist/cjs/lib/utils.js +22 -0
  357. package/dist/cjs/lib/utils.js.map +1 -1
  358. package/dist/cjs/types.d.ts +1 -0
  359. package/dist/cjs/types.js.map +1 -1
  360. package/dist/components/Accordion/Accordion.d.ts +1 -1
  361. package/dist/components/Accordion/Accordion.js +6 -11
  362. package/dist/components/Accordion/Accordion.js.map +1 -1
  363. package/dist/components/ActionSheet/ActionSheet.d.ts +6 -1
  364. package/dist/components/ActionSheet/ActionSheet.js +12 -9
  365. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  366. package/dist/components/ActionSheet/ActionSheetContext.d.ts +6 -1
  367. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  368. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +2 -1
  369. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  370. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +6 -1
  371. package/dist/components/ActionSheetItem/ActionSheetItem.js +15 -4
  372. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  373. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +22 -8
  374. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  375. package/dist/components/AppRoot/AppRoot.d.ts +19 -2
  376. package/dist/components/AppRoot/AppRoot.js +58 -20
  377. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  378. package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
  379. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  380. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +1 -1
  381. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  382. package/dist/components/AspectRatio/AspectRatio.d.ts +3 -3
  383. package/dist/components/AspectRatio/AspectRatio.js +6 -8
  384. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  385. package/dist/components/Badge/Badge.d.ts +3 -2
  386. package/dist/components/Badge/Badge.js +10 -8
  387. package/dist/components/Badge/Badge.js.map +1 -1
  388. package/dist/components/Banner/Banner.d.ts +3 -3
  389. package/dist/components/Banner/Banner.js +10 -9
  390. package/dist/components/Banner/Banner.js.map +1 -1
  391. package/dist/components/BaseGallery/BaseGallery.d.ts +1 -1
  392. package/dist/components/BaseGallery/BaseGallery.js +10 -9
  393. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  394. package/dist/components/BaseGallery/types.d.ts +2 -2
  395. package/dist/components/BaseGallery/types.js.map +1 -1
  396. package/dist/components/Button/Button.js +26 -22
  397. package/dist/components/Button/Button.js.map +1 -1
  398. package/dist/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  399. package/dist/components/ButtonGroup/ButtonGroup.js +21 -21
  400. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  401. package/dist/components/Calendar/Calendar.d.ts +3 -3
  402. package/dist/components/Calendar/Calendar.js +4 -6
  403. package/dist/components/Calendar/Calendar.js.map +1 -1
  404. package/dist/components/CalendarDays/CalendarDays.d.ts +3 -2
  405. package/dist/components/CalendarDays/CalendarDays.js +11 -8
  406. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  407. package/dist/components/CalendarHeader/CalendarHeader.d.ts +3 -2
  408. package/dist/components/CalendarHeader/CalendarHeader.js +24 -7
  409. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  410. package/dist/components/CalendarRange/CalendarRange.d.ts +3 -3
  411. package/dist/components/CalendarRange/CalendarRange.js +4 -6
  412. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  413. package/dist/components/Card/Card.d.ts +4 -4
  414. package/dist/components/Card/Card.js +7 -9
  415. package/dist/components/Card/Card.js.map +1 -1
  416. package/dist/components/CardGrid/CardGrid.d.ts +3 -2
  417. package/dist/components/CardGrid/CardGrid.js +11 -11
  418. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  419. package/dist/components/CardScroll/CardScroll.d.ts +3 -2
  420. package/dist/components/CardScroll/CardScroll.js +10 -9
  421. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  422. package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -1
  423. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  424. package/dist/components/Checkbox/Checkbox.js +3 -4
  425. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  426. package/dist/components/Chip/Chip.d.ts +3 -2
  427. package/dist/components/Chip/Chip.js +6 -7
  428. package/dist/components/Chip/Chip.js.map +1 -1
  429. package/dist/components/ChipsInputBase/ChipsInputBase.js +4 -2
  430. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  431. package/dist/components/ConfigProvider/ConfigProvider.d.ts +7 -0
  432. package/dist/components/ConfigProvider/ConfigProvider.js +25 -7
  433. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  434. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +47 -3
  435. package/dist/components/ConfigProvider/ConfigProviderContext.js +6 -1
  436. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  437. package/dist/components/Counter/Counter.d.ts +2 -1
  438. package/dist/components/Counter/Counter.js.map +1 -1
  439. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  440. package/dist/components/CustomSelect/CustomSelect.js +1 -1
  441. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  442. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  443. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  444. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  445. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  446. package/dist/components/DatePicker/DatePicker.d.ts +2 -1
  447. package/dist/components/DatePicker/DatePicker.js +6 -6
  448. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  449. package/dist/components/Div/Div.d.ts +3 -4
  450. package/dist/components/Div/Div.js +5 -13
  451. package/dist/components/Div/Div.js.map +1 -1
  452. package/dist/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  453. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  454. package/dist/components/Epic/Epic.d.ts +3 -2
  455. package/dist/components/Epic/Epic.js +7 -7
  456. package/dist/components/Epic/Epic.js.map +1 -1
  457. package/dist/components/FixedLayout/FixedLayout.d.ts +2 -2
  458. package/dist/components/FixedLayout/FixedLayout.js +5 -4
  459. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  460. package/dist/components/FocusTrap/FocusTrap.d.ts +2 -2
  461. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  462. package/dist/components/FocusVisible/FocusVisible.d.ts +2 -1
  463. package/dist/components/FocusVisible/FocusVisible.js +8 -6
  464. package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
  465. package/dist/components/FormField/FormField.js +5 -4
  466. package/dist/components/FormField/FormField.js.map +1 -1
  467. package/dist/components/FormItem/FormItem.d.ts +6 -1
  468. package/dist/components/FormItem/FormItem.js +11 -10
  469. package/dist/components/FormItem/FormItem.js.map +1 -1
  470. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  471. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +6 -6
  472. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  473. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  474. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  475. package/dist/components/Gradient/Gradient.d.ts +3 -2
  476. package/dist/components/Gradient/Gradient.js +15 -14
  477. package/dist/components/Gradient/Gradient.js.map +1 -1
  478. package/dist/components/Group/Group.d.ts +3 -3
  479. package/dist/components/Group/Group.js +35 -21
  480. package/dist/components/Group/Group.js.map +1 -1
  481. package/dist/components/Header/Header.d.ts +3 -3
  482. package/dist/components/Header/Header.js +12 -11
  483. package/dist/components/Header/Header.js.map +1 -1
  484. package/dist/components/HorizontalCell/HorizontalCell.js +6 -5
  485. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  486. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  487. package/dist/components/HorizontalScroll/HorizontalScroll.js +4 -4
  488. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  489. package/dist/components/ImageBase/ImageBase.d.ts +2 -2
  490. package/dist/components/ImageBase/ImageBase.js +5 -7
  491. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  492. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  493. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +8 -9
  494. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  495. package/dist/components/InfoRow/InfoRow.d.ts +2 -1
  496. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  497. package/dist/components/InputLike/InputLike.d.ts +3 -3
  498. package/dist/components/InputLike/InputLike.js +6 -8
  499. package/dist/components/InputLike/InputLike.js.map +1 -1
  500. package/dist/components/List/List.d.ts +3 -2
  501. package/dist/components/List/List.js +5 -5
  502. package/dist/components/List/List.js.map +1 -1
  503. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  504. package/dist/components/MiniInfoCell/MiniInfoCell.js +14 -11
  505. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  506. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  507. package/dist/components/ModalCard/ModalCard.js +5 -7
  508. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  509. package/dist/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  510. package/dist/components/ModalCardBase/ModalCardBase.js +4 -6
  511. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  512. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  513. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  514. package/dist/components/ModalPage/ModalPage.d.ts +3 -2
  515. package/dist/components/ModalPage/ModalPage.js +9 -6
  516. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  517. package/dist/components/ModalRoot/ModalRoot.js +7 -5
  518. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  519. package/dist/components/ModalRoot/ModalRootContext.js +3 -0
  520. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  521. package/dist/components/ModalRoot/ModalRootDesktop.js +3 -3
  522. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  523. package/dist/components/ModalRoot/types.d.ts +1 -0
  524. package/dist/components/ModalRoot/types.js.map +1 -1
  525. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  526. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +24 -0
  527. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  528. package/dist/components/Pagination/Pagination.d.ts +3 -3
  529. package/dist/components/Pagination/Pagination.js +17 -33
  530. package/dist/components/Pagination/Pagination.js.map +1 -1
  531. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  532. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js +37 -0
  533. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  534. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  535. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js +21 -0
  536. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  537. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  538. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js +10 -0
  539. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  540. package/dist/components/Pagination/utils.d.ts +1 -0
  541. package/dist/components/Pagination/utils.js +5 -0
  542. package/dist/components/Pagination/utils.js.map +1 -0
  543. package/dist/components/Panel/Panel.d.ts +3 -3
  544. package/dist/components/Panel/Panel.js +7 -7
  545. package/dist/components/Panel/Panel.js.map +1 -1
  546. package/dist/components/PanelHeader/PanelHeader.d.ts +3 -3
  547. package/dist/components/PanelHeader/PanelHeader.js +16 -11
  548. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  549. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  550. package/dist/components/PanelHeaderContent/PanelHeaderContent.js +4 -6
  551. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  552. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  553. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  554. package/dist/components/Placeholder/Placeholder.d.ts +24 -11
  555. package/dist/components/Placeholder/Placeholder.js +49 -21
  556. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  557. package/dist/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  558. package/dist/components/PopoutRoot/PopoutRoot.js +12 -17
  559. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  560. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  561. package/dist/components/PopoutWrapper/PopoutWrapper.js +16 -16
  562. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  563. package/dist/components/Popper/Popper.d.ts +7 -3
  564. package/dist/components/Popper/Popper.js +20 -11
  565. package/dist/components/Popper/Popper.js.map +1 -1
  566. package/dist/components/Progress/Progress.d.ts +3 -3
  567. package/dist/components/Progress/Progress.js +9 -10
  568. package/dist/components/Progress/Progress.js.map +1 -1
  569. package/dist/components/PromoBanner/PromoBanner.d.ts +3 -2
  570. package/dist/components/PromoBanner/PromoBanner.js +5 -6
  571. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  572. package/dist/components/PullToRefresh/PullToRefresh.d.ts +25 -0
  573. package/dist/components/PullToRefresh/PullToRefresh.js +5 -2
  574. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  575. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +7 -7
  576. package/dist/components/PullToRefresh/PullToRefreshSpinner.js +14 -6
  577. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  578. package/dist/components/RadioGroup/RadioGroup.d.ts +3 -2
  579. package/dist/components/RadioGroup/RadioGroup.js +6 -7
  580. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  581. package/dist/components/Removable/Removable.d.ts +3 -3
  582. package/dist/components/Removable/Removable.js +4 -8
  583. package/dist/components/Removable/Removable.js.map +1 -1
  584. package/dist/components/RichCell/RichCell.d.ts +1 -1
  585. package/dist/components/RichCell/RichCellIcon/RichCellIcon.d.ts +3 -1
  586. package/dist/components/RichCell/RichCellIcon/RichCellIcon.js +5 -11
  587. package/dist/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  588. package/dist/components/RichTooltip/RichTooltip.js +7 -6
  589. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  590. package/dist/components/Root/Root.d.ts +3 -2
  591. package/dist/components/Root/Root.js +13 -10
  592. package/dist/components/Root/Root.js.map +1 -1
  593. package/dist/components/RootComponent/RootComponent.d.ts +9 -0
  594. package/dist/components/RootComponent/RootComponent.js +20 -0
  595. package/dist/components/RootComponent/RootComponent.js.map +1 -0
  596. package/dist/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  597. package/dist/components/ScrollArrow/ScrollArrow.js +13 -12
  598. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  599. package/dist/components/Search/Search.d.ts +3 -3
  600. package/dist/components/Search/Search.js +4 -2
  601. package/dist/components/Search/Search.js.map +1 -1
  602. package/dist/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  603. package/dist/components/SegmentedControl/SegmentedControl.js +4 -6
  604. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  605. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  606. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +4 -2
  607. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  608. package/dist/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  609. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  610. package/dist/components/SelectTypography/SelectTypography.d.ts +2 -2
  611. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  612. package/dist/components/Separator/Separator.d.ts +3 -2
  613. package/dist/components/Separator/Separator.js +5 -5
  614. package/dist/components/Separator/Separator.js.map +1 -1
  615. package/dist/components/Slider/Slider.d.ts +4 -3
  616. package/dist/components/Slider/Slider.js +5 -2
  617. package/dist/components/Slider/Slider.js.map +1 -1
  618. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  619. package/dist/components/Slider/SliderThumb/SliderThumb.js +56 -5
  620. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  621. package/dist/components/Snackbar/Snackbar.d.ts +3 -2
  622. package/dist/components/Snackbar/Snackbar.js +8 -7
  623. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  624. package/dist/components/Spacing/Spacing.d.ts +3 -3
  625. package/dist/components/Spacing/Spacing.js +5 -6
  626. package/dist/components/Spacing/Spacing.js.map +1 -1
  627. package/dist/components/Spinner/Spinner.d.ts +3 -2
  628. package/dist/components/Spinner/Spinner.js +6 -6
  629. package/dist/components/Spinner/Spinner.js.map +1 -1
  630. package/dist/components/SplitCol/SplitCol.d.ts +2 -1
  631. package/dist/components/SplitCol/SplitCol.js +8 -6
  632. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  633. package/dist/components/SplitLayout/SplitLayout.d.ts +2 -2
  634. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  635. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  636. package/dist/components/SubnavigationBar/SubnavigationBar.js +7 -9
  637. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  638. package/dist/components/Tabbar/Tabbar.d.ts +3 -2
  639. package/dist/components/Tabbar/Tabbar.js +6 -7
  640. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  641. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  642. package/dist/components/TabbarItem/TabbarItem.js +7 -7
  643. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  644. package/dist/components/Tabs/Tabs.d.ts +3 -3
  645. package/dist/components/Tabs/Tabs.js +4 -6
  646. package/dist/components/Tabs/Tabs.js.map +1 -1
  647. package/dist/components/TabsItem/TabsItem.d.ts +2 -1
  648. package/dist/components/TabsItem/TabsItem.js +6 -5
  649. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  650. package/dist/components/Tappable/Tappable.d.ts +6 -1
  651. package/dist/components/Tappable/Tappable.js +12 -9
  652. package/dist/components/Tappable/Tappable.js.map +1 -1
  653. package/dist/components/TextTooltip/TextTooltip.js +7 -6
  654. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  655. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  656. package/dist/components/Tooltip/Tooltip.js +6 -4
  657. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  658. package/dist/components/TooltipBase/TooltipBase.d.ts +8 -1
  659. package/dist/components/TooltipBase/TooltipBase.js +10 -5
  660. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  661. package/dist/components/Typography/Caption/Caption.js +6 -5
  662. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  663. package/dist/components/Typography/Headline/Headline.js +5 -4
  664. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  665. package/dist/components/Typography/Title/Title.js +6 -5
  666. package/dist/components/Typography/Title/Title.js.map +1 -1
  667. package/dist/components/Typography/Typography.d.ts +1 -1
  668. package/dist/components/Typography/Typography.js +12 -13
  669. package/dist/components/Typography/Typography.js.map +1 -1
  670. package/dist/components/UsersStack/UsersStack.d.ts +3 -2
  671. package/dist/components/UsersStack/UsersStack.js +14 -12
  672. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  673. package/dist/components/View/View.d.ts +2 -1
  674. package/dist/components/View/View.js +7 -3
  675. package/dist/components/View/View.js.map +1 -1
  676. package/dist/components/View/ViewInfinite.d.ts +10 -3
  677. package/dist/components/View/ViewInfinite.js +7 -4
  678. package/dist/components/View/ViewInfinite.js.map +1 -1
  679. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  680. package/dist/components/VisuallyHidden/VisuallyHidden.js +8 -9
  681. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  682. package/dist/components.css +19 -18
  683. package/dist/components.css.map +1 -1
  684. package/dist/components.js.tmp +6990 -4428
  685. package/dist/cssm/components/Accordion/Accordion.d.ts +1 -1
  686. package/dist/cssm/components/Accordion/Accordion.js +5 -5
  687. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  688. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +6 -1
  689. package/dist/cssm/components/ActionSheet/ActionSheet.js +11 -9
  690. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  691. package/dist/cssm/components/ActionSheet/ActionSheetContext.d.ts +6 -1
  692. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  693. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js +1 -0
  694. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  695. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +6 -1
  696. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +13 -3
  697. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  698. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +22 -8
  699. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  700. package/dist/cssm/components/AppRoot/AppRoot.d.ts +19 -2
  701. package/dist/cssm/components/AppRoot/AppRoot.js +49 -15
  702. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  703. package/dist/cssm/components/AppRoot/AppRootContext.d.ts +1 -0
  704. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  705. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +1 -1
  706. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  707. package/dist/cssm/components/AspectRatio/AspectRatio.d.ts +3 -3
  708. package/dist/cssm/components/AspectRatio/AspectRatio.js +5 -5
  709. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  710. package/dist/cssm/components/Badge/Badge.d.ts +3 -2
  711. package/dist/cssm/components/Badge/Badge.js +8 -5
  712. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  713. package/dist/cssm/components/Banner/Banner.d.ts +3 -3
  714. package/dist/cssm/components/Banner/Banner.js +9 -7
  715. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  716. package/dist/cssm/components/BaseGallery/BaseGallery.d.ts +1 -1
  717. package/dist/cssm/components/BaseGallery/BaseGallery.js +10 -8
  718. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  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.js +26 -22
  722. package/dist/cssm/components/Button/Button.js.map +1 -1
  723. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  724. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +19 -16
  725. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  726. package/dist/cssm/components/Calendar/Calendar.d.ts +3 -3
  727. package/dist/cssm/components/Calendar/Calendar.js +4 -4
  728. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  729. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +3 -2
  730. package/dist/cssm/components/CalendarDays/CalendarDays.js +9 -6
  731. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  732. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +3 -2
  733. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +6 -4
  734. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  735. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +3 -3
  736. package/dist/cssm/components/CalendarRange/CalendarRange.js +4 -5
  737. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  738. package/dist/cssm/components/Card/Card.d.ts +4 -4
  739. package/dist/cssm/components/Card/Card.js +6 -5
  740. package/dist/cssm/components/Card/Card.js.map +1 -1
  741. package/dist/cssm/components/Card/Card.module.css +1 -1
  742. package/dist/cssm/components/CardGrid/CardGrid.d.ts +3 -2
  743. package/dist/cssm/components/CardGrid/CardGrid.js +10 -8
  744. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  745. package/dist/cssm/components/CardGrid/CardGrid.module.css +0 -7
  746. package/dist/cssm/components/CardScroll/CardScroll.d.ts +3 -2
  747. package/dist/cssm/components/CardScroll/CardScroll.js +9 -7
  748. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  749. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +2 -1
  750. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  751. package/dist/cssm/components/Checkbox/Checkbox.js +2 -3
  752. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  753. package/dist/cssm/components/Chip/Chip.d.ts +3 -2
  754. package/dist/cssm/components/Chip/Chip.js +5 -5
  755. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  756. package/dist/cssm/components/Chip/Chip.module.css +24 -0
  757. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +4 -2
  758. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  759. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +1 -4
  760. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +7 -0
  761. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +32 -7
  762. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  763. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +47 -3
  764. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +6 -1
  765. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  766. package/dist/cssm/components/Counter/Counter.d.ts +2 -1
  767. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  768. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  769. package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
  770. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  771. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -2
  772. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  773. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +2 -2
  774. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  775. package/dist/cssm/components/DatePicker/DatePicker.d.ts +2 -1
  776. package/dist/cssm/components/DatePicker/DatePicker.js +5 -4
  777. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  778. package/dist/cssm/components/Div/Div.d.ts +3 -4
  779. package/dist/cssm/components/Div/Div.js +5 -8
  780. package/dist/cssm/components/Div/Div.js.map +1 -1
  781. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +2 -1
  782. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  783. package/dist/cssm/components/Epic/Epic.d.ts +3 -2
  784. package/dist/cssm/components/Epic/Epic.js +4 -4
  785. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  786. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +2 -2
  787. package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -4
  788. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  789. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +2 -2
  790. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  791. package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +2 -1
  792. package/dist/cssm/components/FocusVisible/FocusVisible.js +8 -6
  793. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  794. package/dist/cssm/components/FormField/FormField.js +5 -4
  795. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  796. package/dist/cssm/components/FormItem/FormItem.d.ts +6 -1
  797. package/dist/cssm/components/FormItem/FormItem.js +9 -7
  798. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  799. package/dist/cssm/components/FormItem/FormItem.module.css +3 -0
  800. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -3
  801. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +5 -4
  802. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  803. package/dist/cssm/components/FormStatus/FormStatus.d.ts +2 -2
  804. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  805. package/dist/cssm/components/Gradient/Gradient.d.ts +3 -2
  806. package/dist/cssm/components/Gradient/Gradient.js +14 -11
  807. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  808. package/dist/cssm/components/Group/Group.d.ts +3 -3
  809. package/dist/cssm/components/Group/Group.js +34 -19
  810. package/dist/cssm/components/Group/Group.js.map +1 -1
  811. package/dist/cssm/components/Group/Group.module.css +36 -4
  812. package/dist/cssm/components/Header/Header.d.ts +3 -3
  813. package/dist/cssm/components/Header/Header.js +10 -8
  814. package/dist/cssm/components/Header/Header.js.map +1 -1
  815. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +6 -5
  816. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  817. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +3 -3
  818. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +4 -3
  819. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  820. package/dist/cssm/components/ImageBase/ImageBase.d.ts +2 -2
  821. package/dist/cssm/components/ImageBase/ImageBase.js +5 -5
  822. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  823. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +3 -2
  824. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +7 -6
  825. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  826. package/dist/cssm/components/InfoRow/InfoRow.d.ts +2 -1
  827. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  828. package/dist/cssm/components/Input/Input.module.css +15 -0
  829. package/dist/cssm/components/InputLike/InputLike.d.ts +3 -3
  830. package/dist/cssm/components/InputLike/InputLike.js +5 -5
  831. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  832. package/dist/cssm/components/List/List.d.ts +3 -2
  833. package/dist/cssm/components/List/List.js +4 -3
  834. package/dist/cssm/components/List/List.js.map +1 -1
  835. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +2 -1
  836. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +14 -11
  837. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  838. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  839. package/dist/cssm/components/ModalCard/ModalCard.js +4 -4
  840. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  841. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +3 -3
  842. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +4 -4
  843. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  844. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +2 -1
  845. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  846. package/dist/cssm/components/ModalPage/ModalPage.d.ts +3 -2
  847. package/dist/cssm/components/ModalPage/ModalPage.js +8 -4
  848. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  849. package/dist/cssm/components/ModalPage/ModalPage.module.css +7 -3
  850. package/dist/cssm/components/ModalRoot/ModalRoot.js +6 -4
  851. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  852. package/dist/cssm/components/ModalRoot/ModalRoot.module.css +1 -1
  853. package/dist/cssm/components/ModalRoot/ModalRootContext.js +2 -1
  854. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  855. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +3 -3
  856. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  857. package/dist/cssm/components/ModalRoot/types.d.ts +1 -0
  858. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  859. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts +8 -0
  860. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js +22 -0
  861. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -0
  862. package/dist/cssm/components/Pagination/Pagination.d.ts +3 -3
  863. package/dist/cssm/components/Pagination/Pagination.js +16 -31
  864. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  865. package/dist/cssm/components/Pagination/Pagination.module.css +0 -51
  866. package/dist/cssm/components/Pagination/PaginationPage/PaginationPage.module.css +43 -0
  867. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.d.ts +12 -0
  868. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js +30 -0
  869. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -0
  870. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +6 -0
  871. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js +17 -0
  872. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -0
  873. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +5 -0
  874. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js +10 -0
  875. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -0
  876. package/dist/cssm/components/Pagination/utils.d.ts +1 -0
  877. package/dist/cssm/components/Pagination/utils.js +5 -0
  878. package/dist/cssm/components/Pagination/utils.js.map +1 -0
  879. package/dist/cssm/components/Panel/Panel.d.ts +3 -3
  880. package/dist/cssm/components/Panel/Panel.js +6 -4
  881. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  882. package/dist/cssm/components/Panel/Panel.module.css +9 -2
  883. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +3 -3
  884. package/dist/cssm/components/PanelHeader/PanelHeader.js +17 -10
  885. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  886. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -4
  887. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -2
  888. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +4 -4
  889. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  890. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -1
  891. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  892. package/dist/cssm/components/Placeholder/Placeholder.d.ts +24 -11
  893. package/dist/cssm/components/Placeholder/Placeholder.js +32 -15
  894. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  895. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +3 -3
  896. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +12 -15
  897. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  898. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +3 -2
  899. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +15 -14
  900. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  901. package/dist/cssm/components/Popper/Popper.d.ts +7 -3
  902. package/dist/cssm/components/Popper/Popper.js +18 -10
  903. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  904. package/dist/cssm/components/Progress/Progress.d.ts +3 -3
  905. package/dist/cssm/components/Progress/Progress.js +9 -8
  906. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  907. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +3 -2
  908. package/dist/cssm/components/PromoBanner/PromoBanner.js +4 -4
  909. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  910. package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +25 -0
  911. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +5 -2
  912. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  913. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.d.ts +7 -7
  914. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +6 -5
  915. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  916. package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +3 -2
  917. package/dist/cssm/components/RadioGroup/RadioGroup.js +4 -3
  918. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  919. package/dist/cssm/components/Removable/Removable.d.ts +3 -3
  920. package/dist/cssm/components/Removable/Removable.js +4 -6
  921. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  922. package/dist/cssm/components/RichCell/RichCell.d.ts +1 -1
  923. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.d.ts +3 -1
  924. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js +6 -6
  925. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  926. package/dist/cssm/components/RichTooltip/RichTooltip.js +7 -6
  927. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  928. package/dist/cssm/components/Root/Root.d.ts +3 -2
  929. package/dist/cssm/components/Root/Root.js +12 -8
  930. package/dist/cssm/components/Root/Root.js.map +1 -1
  931. package/dist/cssm/components/RootComponent/RootComponent.d.ts +9 -0
  932. package/dist/cssm/components/RootComponent/RootComponent.js +11 -0
  933. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -0
  934. package/dist/cssm/components/ScrollArrow/ScrollArrow.d.ts +1 -1
  935. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +13 -10
  936. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  937. package/dist/cssm/components/Search/Search.d.ts +3 -3
  938. package/dist/cssm/components/Search/Search.js +2 -1
  939. package/dist/cssm/components/Search/Search.js.map +1 -1
  940. package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +3 -3
  941. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +4 -4
  942. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  943. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  944. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +2 -1
  945. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  946. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +2 -2
  947. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  948. package/dist/cssm/components/SelectTypography/SelectTypography.d.ts +2 -2
  949. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  950. package/dist/cssm/components/Separator/Separator.d.ts +3 -2
  951. package/dist/cssm/components/Separator/Separator.js +3 -2
  952. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  953. package/dist/cssm/components/Slider/Slider.d.ts +4 -3
  954. package/dist/cssm/components/Slider/Slider.js +3 -1
  955. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  956. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  957. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +54 -5
  958. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  959. package/dist/cssm/components/Snackbar/Snackbar.d.ts +3 -2
  960. package/dist/cssm/components/Snackbar/Snackbar.js +8 -6
  961. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  962. package/dist/cssm/components/Spacing/Spacing.d.ts +3 -3
  963. package/dist/cssm/components/Spacing/Spacing.js +4 -4
  964. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  965. package/dist/cssm/components/Spinner/Spinner.d.ts +3 -2
  966. package/dist/cssm/components/Spinner/Spinner.js +5 -4
  967. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  968. package/dist/cssm/components/SplitCol/SplitCol.d.ts +2 -1
  969. package/dist/cssm/components/SplitCol/SplitCol.js +7 -5
  970. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  971. package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +2 -2
  972. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  973. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +3 -2
  974. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +6 -6
  975. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  976. package/dist/cssm/components/Tabbar/Tabbar.d.ts +3 -2
  977. package/dist/cssm/components/Tabbar/Tabbar.js +5 -4
  978. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  979. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  980. package/dist/cssm/components/TabbarItem/TabbarItem.js +5 -4
  981. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  982. package/dist/cssm/components/Tabs/Tabs.d.ts +3 -3
  983. package/dist/cssm/components/Tabs/Tabs.js +4 -4
  984. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  985. package/dist/cssm/components/TabsItem/TabsItem.d.ts +2 -1
  986. package/dist/cssm/components/TabsItem/TabsItem.js +6 -5
  987. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  988. package/dist/cssm/components/Tappable/Tappable.d.ts +6 -1
  989. package/dist/cssm/components/Tappable/Tappable.js +10 -8
  990. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  991. package/dist/cssm/components/Tappable/Tappable.module.css +4 -0
  992. package/dist/cssm/components/TextTooltip/TextTooltip.js +7 -6
  993. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  994. package/dist/cssm/components/Tooltip/Tooltip.d.ts +1 -1
  995. package/dist/cssm/components/Tooltip/Tooltip.js +4 -3
  996. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  997. package/dist/cssm/components/TooltipBase/TooltipBase.d.ts +8 -1
  998. package/dist/cssm/components/TooltipBase/TooltipBase.js +9 -4
  999. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  1000. package/dist/cssm/components/TooltipBase/TooltipBase.module.css +0 -1
  1001. package/dist/cssm/components/Typography/Caption/Caption.js +6 -5
  1002. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1003. package/dist/cssm/components/Typography/Headline/Headline.js +5 -4
  1004. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1005. package/dist/cssm/components/Typography/Title/Title.js +6 -5
  1006. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1007. package/dist/cssm/components/Typography/Typography.d.ts +1 -1
  1008. package/dist/cssm/components/Typography/Typography.js +10 -8
  1009. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  1010. package/dist/cssm/components/Typography/Typography.module.css +6 -0
  1011. package/dist/cssm/components/UsersStack/UsersStack.d.ts +3 -2
  1012. package/dist/cssm/components/UsersStack/UsersStack.js +14 -11
  1013. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1014. package/dist/cssm/components/View/View.d.ts +2 -1
  1015. package/dist/cssm/components/View/View.js +7 -3
  1016. package/dist/cssm/components/View/View.js.map +1 -1
  1017. package/dist/cssm/components/View/ViewInfinite.d.ts +10 -3
  1018. package/dist/cssm/components/View/ViewInfinite.js +7 -4
  1019. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1020. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  1021. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +4 -6
  1022. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  1023. package/dist/cssm/helpers/appearance.d.ts +4 -0
  1024. package/dist/cssm/helpers/appearance.js +4 -1
  1025. package/dist/cssm/helpers/appearance.js.map +1 -1
  1026. package/dist/cssm/hooks/useAppearance.d.ts +1 -1
  1027. package/dist/cssm/hooks/useAutoDetectAppearance.d.ts +4 -0
  1028. package/dist/cssm/hooks/useAutoDetectAppearance.js +4 -1
  1029. package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
  1030. package/dist/cssm/hooks/useBridgeAdaptivity.d.ts +5 -1
  1031. package/dist/cssm/hooks/useBridgeAdaptivity.js +29 -22
  1032. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -1
  1033. package/dist/cssm/hooks/useInsets.d.ts +5 -1
  1034. package/dist/cssm/hooks/useInsets.js +15 -13
  1035. package/dist/cssm/hooks/useInsets.js.map +1 -1
  1036. package/dist/cssm/index.d.ts +6 -3
  1037. package/dist/cssm/index.js +3 -1
  1038. package/dist/cssm/index.js.map +1 -1
  1039. package/dist/cssm/lib/adaptivity/functions.d.ts +8 -0
  1040. package/dist/cssm/lib/adaptivity/functions.js +29 -1
  1041. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  1042. package/dist/cssm/lib/appearance/index.d.ts +1 -0
  1043. package/dist/cssm/lib/appearance/index.js +3 -0
  1044. package/dist/cssm/lib/appearance/index.js.map +1 -0
  1045. package/dist/cssm/lib/appearance/types.d.ts +1 -0
  1046. package/dist/cssm/lib/appearance/types.js +3 -0
  1047. package/dist/cssm/lib/appearance/types.js.map +1 -0
  1048. package/dist/cssm/lib/floating/index.d.ts +1 -1
  1049. package/dist/cssm/lib/floating/index.js +1 -1
  1050. package/dist/cssm/lib/floating/index.js.map +1 -1
  1051. package/dist/cssm/lib/platform.js +9 -7
  1052. package/dist/cssm/lib/platform.js.map +1 -1
  1053. package/dist/cssm/lib/select.d.ts +1 -1
  1054. package/dist/cssm/lib/taptic.d.ts +4 -0
  1055. package/dist/cssm/lib/taptic.js +4 -1
  1056. package/dist/cssm/lib/taptic.js.map +1 -1
  1057. package/dist/cssm/lib/utils.d.ts +2 -0
  1058. package/dist/cssm/lib/utils.js +14 -0
  1059. package/dist/cssm/lib/utils.js.map +1 -1
  1060. package/dist/cssm/styles/common.css +8 -2
  1061. package/dist/cssm/styles/themes.css +226 -133
  1062. package/dist/cssm/types.d.ts +1 -0
  1063. package/dist/cssm/types.js.map +1 -1
  1064. package/dist/helpers/appearance.d.ts +4 -0
  1065. package/dist/helpers/appearance.js +4 -1
  1066. package/dist/helpers/appearance.js.map +1 -1
  1067. package/dist/hooks/useAppearance.d.ts +1 -1
  1068. package/dist/hooks/useAutoDetectAppearance.d.ts +4 -0
  1069. package/dist/hooks/useAutoDetectAppearance.js +4 -1
  1070. package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
  1071. package/dist/hooks/useBridgeAdaptivity.d.ts +5 -1
  1072. package/dist/hooks/useBridgeAdaptivity.js +29 -21
  1073. package/dist/hooks/useBridgeAdaptivity.js.map +1 -1
  1074. package/dist/hooks/useInsets.d.ts +5 -1
  1075. package/dist/hooks/useInsets.js +15 -12
  1076. package/dist/hooks/useInsets.js.map +1 -1
  1077. package/dist/index.d.ts +6 -3
  1078. package/dist/index.js +3 -1
  1079. package/dist/index.js.map +1 -1
  1080. package/dist/lib/adaptivity/functions.d.ts +8 -0
  1081. package/dist/lib/adaptivity/functions.js +29 -1
  1082. package/dist/lib/adaptivity/functions.js.map +1 -1
  1083. package/dist/lib/appearance/index.d.ts +1 -0
  1084. package/dist/lib/appearance/index.js +3 -0
  1085. package/dist/lib/appearance/index.js.map +1 -0
  1086. package/dist/lib/appearance/types.d.ts +1 -0
  1087. package/dist/lib/appearance/types.js +3 -0
  1088. package/dist/lib/appearance/types.js.map +1 -0
  1089. package/dist/lib/floating/index.d.ts +1 -1
  1090. package/dist/lib/floating/index.js +1 -1
  1091. package/dist/lib/floating/index.js.map +1 -1
  1092. package/dist/lib/platform.js +11 -7
  1093. package/dist/lib/platform.js.map +1 -1
  1094. package/dist/lib/select.d.ts +1 -1
  1095. package/dist/lib/taptic.d.ts +4 -0
  1096. package/dist/lib/taptic.js +4 -1
  1097. package/dist/lib/taptic.js.map +1 -1
  1098. package/dist/lib/utils.d.ts +2 -0
  1099. package/dist/lib/utils.js +16 -0
  1100. package/dist/lib/utils.js.map +1 -1
  1101. package/dist/types.d.ts +1 -0
  1102. package/dist/types.js.map +1 -1
  1103. package/dist/vkui.css +20 -19
  1104. package/dist/vkui.css.map +1 -1
  1105. package/dist/vkui.js.tmp +6990 -4428
  1106. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport {\n arrowMiddleware,\n autoPlacementMiddleware,\n autoUpdateFloatingElement,\n checkIsNotAutoPlacement,\n convertFloatingDataToReactCSSProperties,\n flipMiddleware,\n getAutoPlacementAlign,\n offsetMiddleware,\n type Placement,\n type PlacementWithAuto,\n shiftMiddleware,\n sizeMiddleware,\n useFloating,\n type UseFloatingMiddleware,\n} from '../../lib/floating';\nimport type { HasRef } from '../../types';\nimport { AppRootPortal } from '../AppRoot/AppRootPortal';\nimport {\n DEFAULT_ARROW_HEIGHT,\n DEFAULT_ARROW_PADDING,\n DefaultIcon,\n} from '../PopperArrow/DefaultIcon';\nimport { PopperArrow, type PopperArrowProps } from '../PopperArrow/PopperArrow';\nimport styles from './Popper.module.css';\n\nexport interface PopperRenderContentProps {\n className: string;\n}\n\nexport interface PopperCommonProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: PlacementWithAuto;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n /**\n * Отображать ли стрелку, указывающую на якорный элемент\n */\n arrow?: boolean;\n /**\n * Высота стрелки. Складывается с `offsetDistance`, чтобы стрелка не залезала на якорный элемент.\n */\n arrowHeight?: number;\n /**\n * Безопасная зона вокруг стрелки, чтобы та не выходила за края контента.\n */\n arrowPadding?: number;\n /**\n * Стиль стрелки.\n */\n arrowClassName?: string;\n /**\n * Пользовательская SVG иконка.\n *\n * Требования:\n *\n * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`).\n * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,\n * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG.\n * (см. https://github.com/VKCOM/VKUI/pull/4496).\n * 3. Передайте высоту иконки в параметр `arrowHeight`. В значении высоты можно исключить хак с `1px` из п.2.\n * 4. Убедитесь, что компонент принимает все валидные для SVG параметры.\n * 5. Убедитесь, что SVG и её элементы наследует цвет через `fill=\"currentColor\"`.\n */\n ArrowIcon?: PopperArrowProps['Icon'];\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n /**\n * Кастомный root-элемент портала.\n * При передаче вместе с `forcePorta=true` игнорируется `portalRoot` и `disablePortal`\n * из контекста `AppRoot`.\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /**\n * Подписывается на изменение геометрии `targetRef`, чтобы пересчитать свою позицию.\n */\n autoUpdateOnTargetResize?: boolean;\n /**\n * Массив кастомных модификаторов для Popper (необходимо мемоизировать)\n */\n customMiddlewares?: UseFloatingMiddleware[];\n /**\n * При передаче содержимого в `children`, он будет обёрнут во внутренний контейнер.\n *\n * Если хочется управлять этим контейнером, то используйте данную функцию.\n *\n * > ⚠️ Параметр `children` будет проигнорирован.\n */\n renderContent?(props: PopperRenderContentProps): React.ReactNode;\n onPlacementChange?(data: { placement?: Placement }): void;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popper\n */\nexport const Popper = ({\n targetRef,\n children,\n getRef,\n placement: placementProp = 'bottom-start',\n onPlacementChange,\n arrow,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n arrowPadding = DEFAULT_ARROW_PADDING,\n arrowClassName,\n ArrowIcon = DefaultIcon,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n portalRoot,\n autoUpdateOnTargetResize = false,\n style: styleProp,\n customMiddlewares,\n renderContent,\n className,\n ...restProps\n}: PopperProps) => {\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n\n const isNotAutoPlacement = checkIsNotAutoPlacement(placementProp);\n\n const memoizedMiddlewares = React.useMemo(() => {\n const middlewares: UseFloatingMiddleware[] = [\n offsetMiddleware({\n crossAxis: offsetSkidding,\n mainAxis: arrow ? offsetDistance + arrowHeight : offsetDistance,\n }),\n ];\n\n // см. https://floating-ui.com/docs/flip#conflict-with-autoplacement\n if (isNotAutoPlacement) {\n middlewares.push(flipMiddleware());\n } else {\n middlewares.push(\n autoPlacementMiddleware({ alignment: getAutoPlacementAlign(placementProp) }),\n );\n }\n\n middlewares.push(shiftMiddleware());\n\n if (sameWidth) {\n middlewares.push(\n sizeMiddleware({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n });\n },\n }),\n );\n }\n\n if (customMiddlewares) {\n middlewares.push(...customMiddlewares);\n }\n\n // см. https://floating-ui.com/docs/arrow#order\n if (arrow) {\n middlewares.push(\n arrowMiddleware({\n element: arrowRef,\n padding: arrowPadding,\n }),\n );\n }\n\n return middlewares;\n }, [\n offsetSkidding,\n arrowRef,\n arrow,\n arrowHeight,\n arrowPadding,\n offsetDistance,\n isNotAutoPlacement,\n sameWidth,\n customMiddlewares,\n placementProp,\n ]);\n\n const {\n x: floatingDataX,\n y: floatingDataY,\n strategy: floatingPositionStrategy,\n placement: resolvedPlacement,\n refs,\n middlewareData: { arrow: arrowCoords },\n } = useFloating({\n placement: isNotAutoPlacement ? placementProp : undefined,\n middleware: memoizedMiddlewares,\n whileElementsMounted(...args) {\n return autoUpdateFloatingElement(...args, {\n elementResize: autoUpdateOnTargetResize,\n });\n },\n });\n\n const handleRootRef = useExternRef<HTMLDivElement>(refs.setFloating, getRef);\n\n React.useEffect(() => {\n refs.setReference(targetRef.current);\n }, [refs, targetRef]);\n\n React.useEffect(() => {\n if (resolvedPlacement && onPlacementChange) {\n onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <div\n {...restProps}\n className={classNames(styles['Popper'], className)}\n ref={handleRootRef}\n style={{\n ...styleProp,\n ...convertFloatingDataToReactCSSProperties(\n floatingPositionStrategy,\n floatingDataX,\n floatingDataY,\n sameWidth ? null : undefined,\n ),\n }}\n >\n {arrow && (\n <PopperArrow\n coords={arrowCoords}\n placement={resolvedPlacement}\n arrowClassName={arrowClassName}\n getRootRef={setArrowRef}\n Icon={ArrowIcon}\n />\n )}\n {renderContent ? renderContent({ className: '' }) : children}\n </div>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} portalRoot={portalRoot}>\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"names":["React","classNames","useExternRef","arrowMiddleware","autoPlacementMiddleware","autoUpdateFloatingElement","checkIsNotAutoPlacement","convertFloatingDataToReactCSSProperties","flipMiddleware","getAutoPlacementAlign","offsetMiddleware","shiftMiddleware","sizeMiddleware","useFloating","AppRootPortal","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","DefaultIcon","PopperArrow","Popper","targetRef","children","getRef","placementProp","placement","onPlacementChange","arrow","arrowHeight","arrowPadding","arrowClassName","ArrowIcon","sameWidth","offsetDistance","offsetSkidding","forcePortal","portalRoot","autoUpdateOnTargetResize","style","styleProp","customMiddlewares","renderContent","className","restProps","useState","arrowRef","setArrowRef","isNotAutoPlacement","memoizedMiddlewares","useMemo","middlewares","crossAxis","mainAxis","push","alignment","apply","rects","elements","Object","assign","floating","width","reference","element","padding","undefined","middleware","whileElementsMounted","args","elementResize","x","floatingDataX","y","floatingDataY","strategy","floatingPositionStrategy","resolvedPlacement","refs","middlewareData","arrowCoords","handleRootRef","setFloating","useEffect","setReference","current","dropdown","div","ref","coords","getRootRef","Icon"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Popper/Popper.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport {\n arrowMiddleware,\n autoPlacementMiddleware,\n autoUpdateFloatingElement,\n checkIsNotAutoPlacement,\n convertFloatingDataToReactCSSProperties,\n flipMiddleware,\n getAutoPlacementAlign,\n hideMiddleware,\n offsetMiddleware,\n type Placement,\n type PlacementWithAuto,\n shiftMiddleware,\n sizeMiddleware,\n useFloating,\n type UseFloatingMiddleware,\n} from '../../lib/floating';\nimport type { HasRef, HTMLAttributesWithRootRef } from '../../types';\nimport { AppRootPortal } from '../AppRoot/AppRootPortal';\nimport {\n DEFAULT_ARROW_HEIGHT,\n DEFAULT_ARROW_PADDING,\n DefaultIcon,\n} from '../PopperArrow/DefaultIcon';\nimport { PopperArrow, type PopperArrowProps } from '../PopperArrow/PopperArrow';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Popper.module.css';\n\nexport interface PopperRenderContentProps {\n className: string;\n}\n\nexport interface PopperCommonProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement> {\n /**\n * По умолчанию компонент выберет наилучшее расположение сам. Но его можно задать извне с помощью этого свойства\n */\n placement?: PlacementWithAuto;\n /**\n * Отступ по вспомогательной оси\n */\n offsetSkidding?: number;\n /**\n * Отступ по главной оси\n */\n offsetDistance?: number;\n /**\n * Отображать ли стрелку, указывающую на якорный элемент\n */\n arrow?: boolean;\n /**\n * Высота стрелки. Складывается с `offsetDistance`, чтобы стрелка не залезала на якорный элемент.\n */\n arrowHeight?: number;\n /**\n * Безопасная зона вокруг стрелки, чтобы та не выходила за края контента.\n */\n arrowPadding?: number;\n /**\n * Стиль стрелки.\n */\n arrowClassName?: string;\n /**\n * Пользовательская SVG иконка.\n *\n * Требования:\n *\n * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`).\n * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,\n * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG.\n * (см. https://github.com/VKCOM/VKUI/pull/4496).\n * 3. Передайте высоту иконки в параметр `arrowHeight`. В значении высоты можно исключить хак с `1px` из п.2.\n * 4. Убедитесь, что компонент принимает все валидные для SVG параметры.\n * 5. Убедитесь, что SVG и её элементы наследует цвет через `fill=\"currentColor\"`.\n */\n ArrowIcon?: PopperArrowProps['Icon'];\n /**\n * Выставлять ширину равной target элементу\n */\n sameWidth?: boolean;\n forcePortal?: boolean;\n /**\n * Кастомный root-элемент портала.\n * При передаче вместе с `forcePorta=true` игнорируется `portalRoot` и `disablePortal`\n * из контекста `AppRoot`.\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /**\n * Подписывается на изменение геометрии `targetRef`, чтобы пересчитать свою позицию.\n */\n autoUpdateOnTargetResize?: boolean;\n /**\n * Массив кастомных модификаторов для Popper (необходимо мемоизировать)\n */\n customMiddlewares?: UseFloatingMiddleware[];\n /**\n * При передаче содержимого в `children`, он будет обёрнут во внутренний контейнер.\n *\n * Если хочется управлять этим контейнером, то используйте данную функцию.\n *\n * > ⚠️ Параметр `children` будет проигнорирован.\n */\n renderContent?(props: PopperRenderContentProps): React.ReactNode;\n onPlacementChange?(data: { placement?: Placement }): void;\n /**\n * Принудительно скрывает компонет если целевой элемент исчез\n */\n hideWhenReferenceHidden?: boolean;\n}\n\nexport interface PopperProps extends PopperCommonProps {\n targetRef: React.RefObject<HTMLElement>;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Popper\n */\nexport const Popper = ({\n targetRef,\n children,\n getRef,\n placement: placementProp = 'bottom-start',\n onPlacementChange,\n arrow,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n arrowPadding = DEFAULT_ARROW_PADDING,\n arrowClassName,\n ArrowIcon = DefaultIcon,\n sameWidth,\n offsetDistance = 8,\n offsetSkidding = 0,\n forcePortal = true,\n portalRoot,\n autoUpdateOnTargetResize = false,\n style: styleProp,\n customMiddlewares,\n renderContent,\n getRootRef,\n hideWhenReferenceHidden,\n ...restProps\n}: PopperProps) => {\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n\n const isNotAutoPlacement = checkIsNotAutoPlacement(placementProp);\n\n const memoizedMiddlewares = React.useMemo(() => {\n const middlewares: UseFloatingMiddleware[] = [\n offsetMiddleware({\n crossAxis: offsetSkidding,\n mainAxis: arrow ? offsetDistance + arrowHeight : offsetDistance,\n }),\n ];\n\n // см. https://floating-ui.com/docs/flip#conflict-with-autoplacement\n if (isNotAutoPlacement) {\n middlewares.push(flipMiddleware());\n } else {\n middlewares.push(\n autoPlacementMiddleware({ alignment: getAutoPlacementAlign(placementProp) }),\n );\n }\n\n middlewares.push(shiftMiddleware());\n\n if (sameWidth) {\n middlewares.push(\n sizeMiddleware({\n apply({ rects, elements }) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n });\n },\n }),\n );\n }\n\n if (customMiddlewares) {\n middlewares.push(...customMiddlewares);\n }\n\n // см. https://floating-ui.com/docs/arrow#order\n if (arrow) {\n middlewares.push(\n arrowMiddleware({\n element: arrowRef,\n padding: arrowPadding,\n }),\n );\n }\n\n if (hideWhenReferenceHidden) {\n middlewares.push(hideMiddleware());\n }\n\n return middlewares;\n }, [\n offsetSkidding,\n arrowRef,\n arrow,\n arrowHeight,\n arrowPadding,\n offsetDistance,\n isNotAutoPlacement,\n sameWidth,\n customMiddlewares,\n placementProp,\n hideWhenReferenceHidden,\n ]);\n\n const {\n x: floatingDataX,\n y: floatingDataY,\n strategy: floatingPositionStrategy,\n placement: resolvedPlacement,\n refs,\n middlewareData: { arrow: arrowCoords, hide },\n } = useFloating({\n placement: isNotAutoPlacement ? placementProp : undefined,\n middleware: memoizedMiddlewares,\n whileElementsMounted(...args) {\n return autoUpdateFloatingElement(...args, {\n elementResize: autoUpdateOnTargetResize,\n });\n },\n });\n\n // TODO [>=6]: убрать getRef\n const handleRootRef = useExternRef<HTMLDivElement>(refs.setFloating, getRef, getRootRef);\n\n React.useEffect(() => {\n refs.setReference(targetRef.current);\n }, [refs, targetRef]);\n\n React.useEffect(() => {\n if (resolvedPlacement && onPlacementChange) {\n onPlacementChange({ placement: resolvedPlacement });\n }\n }, [onPlacementChange, resolvedPlacement]);\n\n const dropdown = (\n <RootComponent\n {...restProps}\n baseClassName={styles['Popper']}\n getRootRef={handleRootRef}\n style={{\n ...styleProp,\n ...convertFloatingDataToReactCSSProperties(\n floatingPositionStrategy,\n floatingDataX,\n floatingDataY,\n sameWidth ? null : undefined,\n ),\n ...(hide?.referenceHidden && {\n visibility: 'hidden',\n }),\n }}\n >\n {arrow && (\n <PopperArrow\n coords={arrowCoords}\n placement={resolvedPlacement}\n arrowClassName={arrowClassName}\n getRootRef={setArrowRef}\n Icon={ArrowIcon}\n />\n )}\n {renderContent ? renderContent({ className: '' }) : children}\n </RootComponent>\n );\n\n return (\n <AppRootPortal forcePortal={forcePortal} portalRoot={portalRoot}>\n {dropdown}\n </AppRootPortal>\n );\n};\n"],"names":["React","useExternRef","arrowMiddleware","autoPlacementMiddleware","autoUpdateFloatingElement","checkIsNotAutoPlacement","convertFloatingDataToReactCSSProperties","flipMiddleware","getAutoPlacementAlign","hideMiddleware","offsetMiddleware","shiftMiddleware","sizeMiddleware","useFloating","AppRootPortal","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","DefaultIcon","PopperArrow","RootComponent","Popper","targetRef","children","getRef","placementProp","placement","onPlacementChange","arrow","arrowHeight","arrowPadding","arrowClassName","ArrowIcon","sameWidth","offsetDistance","offsetSkidding","forcePortal","portalRoot","autoUpdateOnTargetResize","style","styleProp","customMiddlewares","renderContent","getRootRef","hideWhenReferenceHidden","restProps","hide","useState","arrowRef","setArrowRef","isNotAutoPlacement","memoizedMiddlewares","useMemo","middlewares","crossAxis","mainAxis","push","alignment","apply","rects","elements","Object","assign","floating","width","reference","element","padding","undefined","middleware","whileElementsMounted","args","elementResize","x","floatingDataX","y","floatingDataY","strategy","floatingPositionStrategy","resolvedPlacement","refs","middlewareData","arrowCoords","handleRootRef","setFloating","useEffect","setReference","current","dropdown","baseClassName","referenceHidden","visibility","coords","Icon","className"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
3
- export interface ProgressProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement> {
2
+ import { HTMLAttributesWithRootRef } from '../../types';
3
+ export interface ProgressProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
4
4
  /**
5
5
  * Стиль отображения прогрессбара
6
6
  */
@@ -14,4 +14,4 @@ export interface ProgressProps extends React.HTMLAttributes<HTMLDivElement>, Has
14
14
  /**
15
15
  * @see https://vkcom.github.io/VKUI/#/Progress
16
16
  */
17
- export declare const Progress: ({ value, getRootRef, className, appearance, height, style: styleProps, ...restProps }: ProgressProps) => React.JSX.Element;
17
+ export declare const Progress: ({ value, appearance, height, style: styleProps, ...restProps }: ProgressProps) => React.JSX.Element;
@@ -4,6 +4,12 @@ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_
4
4
  import * as React from "react";
5
5
  import { classNames } from "@vkontakte/vkjs";
6
6
  import { clamp } from "../../helpers/math";
7
+ import { RootComponent } from "../RootComponent/RootComponent";
8
+ var stylesAppearance = {
9
+ accent: "vkuiProgress--appearance-accent",
10
+ positive: "vkuiProgress--appearance-positive",
11
+ negative: "vkuiProgress--appearance-negative"
12
+ };
7
13
  function progressCustomHeightStyle(height) {
8
14
  return height ? {
9
15
  height: height,
@@ -20,10 +26,8 @@ var PROGRESS_MAX_VALUE = 100;
20
26
  /**
21
27
  * @see https://vkcom.github.io/VKUI/#/Progress
22
28
  */ export var Progress = function(_param) {
23
- var _param_value = _param.value, value = _param_value === void 0 ? 0 : _param_value, getRootRef = _param.getRootRef, className = _param.className, _param_appearance = _param.appearance, appearance = _param_appearance === void 0 ? "accent" : _param_appearance, height = _param.height, styleProps = _param.style, restProps = _object_without_properties(_param, [
29
+ var _param_value = _param.value, value = _param_value === void 0 ? 0 : _param_value, _param_appearance = _param.appearance, appearance = _param_appearance === void 0 ? "accent" : _param_appearance, height = _param.height, styleProps = _param.style, restProps = _object_without_properties(_param, [
24
30
  "value",
25
- "getRootRef",
26
- "className",
27
31
  "appearance",
28
32
  "height",
29
33
  "style"
@@ -31,7 +35,7 @@ var PROGRESS_MAX_VALUE = 100;
31
35
  var progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);
32
36
  var title = "".concat(progress, " / ").concat(PROGRESS_MAX_VALUE);
33
37
  var style = progressStyle(height, styleProps);
34
- return /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({
38
+ return /*#__PURE__*/ React.createElement(RootComponent, _object_spread_props(_object_spread({
35
39
  "aria-valuenow": value,
36
40
  title: title,
37
41
  style: style
@@ -39,12 +43,7 @@ var PROGRESS_MAX_VALUE = 100;
39
43
  role: "progressbar",
40
44
  "aria-valuemin": PROGRESS_MIN_VALUE,
41
45
  "aria-valuemax": PROGRESS_MAX_VALUE,
42
- ref: getRootRef,
43
- className: classNames("vkuiProgress", {
44
- accent: "vkuiProgress--appearance-accent",
45
- positive: "vkuiProgress--appearance-positive",
46
- negative: "vkuiProgress--appearance-negative"
47
- }[appearance], className)
46
+ baseClassName: classNames("vkuiProgress", stylesAppearance[appearance])
48
47
  }), /*#__PURE__*/ React.createElement("div", {
49
48
  className: "vkuiProgress__in",
50
49
  style: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { HasRootRef } from '../../types';\nimport styles from './Progress.module.css';\n\nfunction progressCustomHeightStyle(height: number | undefined): React.CSSProperties | undefined {\n return height\n ? {\n height,\n borderRadius: height / 2,\n }\n : undefined;\n}\n\nfunction progressStyle(height: number | undefined, styleProps: React.CSSProperties | undefined) {\n const styleHeight = progressCustomHeightStyle(height);\n const style = styleHeight ? { ...styleProps, ...styleHeight } : styleProps;\n\n return style;\n}\n\nexport interface ProgressProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Стиль отображения прогрессбара\n */\n appearance?: 'accent' | 'positive' | 'negative';\n value?: number;\n /**\n * Высота элемента.\n */\n height?: number;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Progress\n */\nexport const Progress = ({\n value = 0,\n getRootRef,\n className,\n appearance = 'accent',\n height,\n style: styleProps,\n ...restProps\n}: ProgressProps) => {\n const progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);\n const title = `${progress} / ${PROGRESS_MAX_VALUE}`;\n\n const style = progressStyle(height, styleProps);\n\n return (\n <div\n aria-valuenow={value}\n title={title}\n style={style}\n {...restProps}\n role=\"progressbar\"\n aria-valuemin={PROGRESS_MIN_VALUE}\n aria-valuemax={PROGRESS_MAX_VALUE}\n ref={getRootRef}\n className={classNames(\n styles['Progress'],\n {\n accent: styles['Progress--appearance-accent'],\n positive: styles['Progress--appearance-positive'],\n negative: styles['Progress--appearance-negative'],\n }[appearance],\n className,\n )}\n >\n <div className={styles['Progress__in']} style={{ width: `${progress}%` }} />\n </div>\n );\n};\n"],"names":["React","classNames","clamp","progressCustomHeightStyle","height","borderRadius","undefined","progressStyle","styleProps","styleHeight","style","PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","Progress","value","getRootRef","className","appearance","restProps","progress","title","div","aria-valuenow","role","aria-valuemin","aria-valuemax","ref","accent","positive","negative","width"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,KAAK,QAAQ,qBAAqB;AAI3C,SAASC,0BAA0BC,MAA0B;IAC3D,OAAOA,SACH;QACEA,QAAAA;QACAC,cAAcD,SAAS;IACzB,IACAE;AACN;AAEA,SAASC,cAAcH,MAA0B,EAAEI,UAA2C;IAC5F,IAAMC,cAAcN,0BAA0BC;IAC9C,IAAMM,QAAQD,cAAc,mBAAKD,YAAeC,eAAgBD;IAEhE,OAAOE;AACT;AAgBA,IAAMC,qBAAqB;AAC3B,IAAMC,qBAAqB;AAE3B;;CAEC,GACD,OAAO,IAAMC,WAAW;8BACtBC,OAAAA,kCAAQ,kBACRC,oBAAAA,YACAC,mBAAAA,sCACAC,YAAAA,4CAAa,8BACbb,gBAAAA,QACAM,AAAOF,oBAAPE,OACGQ;QANHJ;QACAC;QACAC;QACAC;QACAb;QACAM;;IAGA,IAAMS,WAAWjB,MAAMY,OAAOH,oBAAoBC;IAClD,IAAMQ,QAAQ,AAAC,GAAgBR,OAAdO,UAAS,OAAwB,OAAnBP;IAE/B,IAAMF,QAAQH,cAAcH,QAAQI;IAEpC,qBACE,oBAACa;QACCC,iBAAeR;QACfM,OAAOA;QACPV,OAAOA;OACHQ;QACJK,MAAK;QACLC,iBAAeb;QACfc,iBAAeb;QACfc,KAAKX;QACLC,WAAWf,2BAET;YACE0B,MAAM;YACNC,QAAQ;YACRC,QAAQ;QACV,CAAC,CAACZ,WAAW,EACbD;sBAGF,oBAACK;QAAIL,SAAS;QAA0BN,OAAO;YAAEoB,OAAO,AAAC,GAAW,OAATX,UAAS;QAAG;;AAG7E,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/Progress/Progress.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Progress.module.css';\n\nconst stylesAppearance = {\n accent: styles['Progress--appearance-accent'],\n positive: styles['Progress--appearance-positive'],\n negative: styles['Progress--appearance-negative'],\n};\n\nfunction progressCustomHeightStyle(height: number | undefined): React.CSSProperties | undefined {\n return height\n ? {\n height,\n borderRadius: height / 2,\n }\n : undefined;\n}\n\nfunction progressStyle(height: number | undefined, styleProps: React.CSSProperties | undefined) {\n const styleHeight = progressCustomHeightStyle(height);\n const style = styleHeight ? { ...styleProps, ...styleHeight } : styleProps;\n\n return style;\n}\n\nexport interface ProgressProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Стиль отображения прогрессбара\n */\n appearance?: 'accent' | 'positive' | 'negative';\n value?: number;\n /**\n * Высота элемента.\n */\n height?: number;\n}\n\nconst PROGRESS_MIN_VALUE = 0;\nconst PROGRESS_MAX_VALUE = 100;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Progress\n */\nexport const Progress = ({\n value = 0,\n appearance = 'accent',\n height,\n style: styleProps,\n ...restProps\n}: ProgressProps) => {\n const progress = clamp(value, PROGRESS_MIN_VALUE, PROGRESS_MAX_VALUE);\n const title = `${progress} / ${PROGRESS_MAX_VALUE}`;\n\n const style = progressStyle(height, styleProps);\n\n return (\n <RootComponent\n aria-valuenow={value}\n title={title}\n style={style}\n {...restProps}\n role=\"progressbar\"\n aria-valuemin={PROGRESS_MIN_VALUE}\n aria-valuemax={PROGRESS_MAX_VALUE}\n baseClassName={classNames(styles['Progress'], stylesAppearance[appearance])}\n >\n <div className={styles['Progress__in']} style={{ width: `${progress}%` }} />\n </RootComponent>\n );\n};\n"],"names":["React","classNames","clamp","RootComponent","stylesAppearance","accent","positive","negative","progressCustomHeightStyle","height","borderRadius","undefined","progressStyle","styleProps","styleHeight","style","PROGRESS_MIN_VALUE","PROGRESS_MAX_VALUE","Progress","value","appearance","restProps","progress","title","aria-valuenow","role","aria-valuemin","aria-valuemax","baseClassName","div","className","width"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,KAAK,QAAQ,qBAAqB;AAE3C,SAASC,aAAa,QAAQ,iCAAiC;AAG/D,IAAMC,mBAAmB;IACvBC,MAAM;IACNC,QAAQ;IACRC,QAAQ;AACV;AAEA,SAASC,0BAA0BC,MAA0B;IAC3D,OAAOA,SACH;QACEA,QAAAA;QACAC,cAAcD,SAAS;IACzB,IACAE;AACN;AAEA,SAASC,cAAcH,MAA0B,EAAEI,UAA2C;IAC5F,IAAMC,cAAcN,0BAA0BC;IAC9C,IAAMM,QAAQD,cAAc,mBAAKD,YAAeC,eAAgBD;IAEhE,OAAOE;AACT;AAcA,IAAMC,qBAAqB;AAC3B,IAAMC,qBAAqB;AAE3B;;CAEC,GACD,OAAO,IAAMC,WAAW;8BACtBC,OAAAA,kCAAQ,6CACRC,YAAAA,4CAAa,8BACbX,gBAAAA,QACAM,AAAOF,oBAAPE,OACGM;QAJHF;QACAC;QACAX;QACAM;;IAGA,IAAMO,WAAWpB,MAAMiB,OAAOH,oBAAoBC;IAClD,IAAMM,QAAQ,AAAC,GAAgBN,OAAdK,UAAS,OAAwB,OAAnBL;IAE/B,IAAMF,QAAQH,cAAcH,QAAQI;IAEpC,qBACE,oBAACV;QACCqB,iBAAeL;QACfI,OAAOA;QACPR,OAAOA;OACHM;QACJI,MAAK;QACLC,iBAAeV;QACfW,iBAAeV;QACfW,eAAe3B,2BAA+BG,gBAAgB,CAACgB,WAAW;sBAE1E,oBAACS;QAAIC,SAAS;QAA0Bf,OAAO;YAAEgB,OAAO,AAAC,GAAW,OAATT,UAAS;QAAG;;AAG7E,EAAE"}
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { HTMLAttributesWithRootRef } from '../../types';
2
3
  type StatsType = 'playbackStarted' | 'click';
3
4
  type BannerData = {
4
5
  title?: string;
@@ -25,7 +26,7 @@ type BannerData = {
25
26
  description?: string;
26
27
  ageRestrictions?: string;
27
28
  };
28
- export interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {
29
+ export interface PromoBannerProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
29
30
  /** Данные рекламного баннера, полученные из VKWebAppGetAds */
30
31
  bannerData: BannerData;
31
32
  /** Флаг скрытия кнопки закрытия рекламы */
@@ -39,5 +40,5 @@ export interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {
39
40
  *
40
41
  * Используйте событие [VKWebAppShowBannerAd](https://dev.vk.com/mini-apps/monetization/ad/banners)
41
42
  */
42
- export declare const PromoBanner: ({ bannerData, onClose, isCloseButtonHidden, className, ...restProps }: PromoBannerProps) => React.JSX.Element;
43
+ export declare const PromoBanner: ({ bannerData, onClose, isCloseButtonHidden, ...restProps }: PromoBannerProps) => React.JSX.Element;
43
44
  export {};
@@ -5,10 +5,10 @@ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_
5
5
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
6
6
  import * as React from "react";
7
7
  import { Icon24Dismiss } from "@vkontakte/icons";
8
- import { classNames } from "@vkontakte/vkjs";
9
8
  import { warnOnce } from "../../lib/warnOnce";
10
9
  import { Button } from "../Button/Button";
11
10
  import { Image } from "../Image/Image";
11
+ import { RootComponent } from "../RootComponent/RootComponent";
12
12
  import { SimpleCell } from "../SimpleCell/SimpleCell";
13
13
  import { Footnote } from "../Typography/Footnote/Footnote";
14
14
  var warn = warnOnce("PromoBanner");
@@ -19,11 +19,10 @@ var warn = warnOnce("PromoBanner");
19
19
  *
20
20
  * Используйте событие [VKWebAppShowBannerAd](https://dev.vk.com/mini-apps/monetization/ad/banners)
21
21
  */ export var PromoBanner = function(_param) {
22
- var _param_bannerData = _param.bannerData, bannerData = _param_bannerData === void 0 ? {} : _param_bannerData, onClose = _param.onClose, isCloseButtonHidden = _param.isCloseButtonHidden, className = _param.className, restProps = _object_without_properties(_param, [
22
+ var _param_bannerData = _param.bannerData, bannerData = _param_bannerData === void 0 ? {} : _param_bannerData, onClose = _param.onClose, isCloseButtonHidden = _param.isCloseButtonHidden, restProps = _object_without_properties(_param, [
23
23
  "bannerData",
24
24
  "onClose",
25
- "isCloseButtonHidden",
26
- "className"
25
+ "isCloseButtonHidden"
27
26
  ]);
28
27
  if (process.env.NODE_ENV === "development") {
29
28
  warn("Компонент устарел и будет удален в v6. Используйте событие VKWebAppShowBannerAd https://dev.vk.com/mini-apps/monetization/ad/banners");
@@ -48,8 +47,8 @@ var warn = warnOnce("PromoBanner");
48
47
  }, [
49
48
  statsPixels.playbackStarted
50
49
  ]);
51
- return /*#__PURE__*/ React.createElement("div", _object_spread({
52
- className: classNames("vkuiPromoBanner", className)
50
+ return /*#__PURE__*/ React.createElement(RootComponent, _object_spread({
51
+ baseClassName: "vkuiPromoBanner"
53
52
  }, restProps), /*#__PURE__*/ React.createElement("div", {
54
53
  className: "vkuiPromoBanner__head"
55
54
  }, /*#__PURE__*/ React.createElement(Footnote, null, bannerData.advertisingLabel || "Advertisement"), bannerData.ageRestrictions && /*#__PURE__*/ React.createElement(Footnote, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PromoBanner/PromoBanner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24Dismiss } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { Button } from '../Button/Button';\nimport { Image } from '../Image/Image';\nimport { SimpleCell } from '../SimpleCell/SimpleCell';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './PromoBanner.module.css';\n\nconst warn = warnOnce('PromoBanner');\n\ntype StatsType =\n | 'playbackStarted' // Начало показа\n | 'click'; // Клик по баннеру\n\ntype BannerData = {\n title?: string;\n url_types?: string;\n bannerID?: string;\n imageWidth?: number;\n imageHeight?: number;\n imageLink?: string;\n trackingLink?: string;\n type?: string;\n iconWidth?: number;\n domain?: string;\n ctaText?: string;\n advertisingLabel?: string;\n iconLink?: string;\n statistics?: Array<{ type: StatsType; url: string }>;\n openInBrowser?: boolean;\n iconHeight?: number;\n directLink?: boolean;\n navigationType?: string;\n description?: string;\n ageRestrictions?: string;\n};\n\nexport interface PromoBannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Данные рекламного баннера, полученные из VKWebAppGetAds */\n bannerData: BannerData;\n /** Флаг скрытия кнопки закрытия рекламы */\n isCloseButtonHidden?: boolean;\n /** Хандлер закрытия рекламы */\n onClose: () => void;\n}\n\n// TODO [>=6]: Удалить компонент\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PromoBanner\n * @deprecated v5.3.1\n *\n * Используйте событие [VKWebAppShowBannerAd](https://dev.vk.com/mini-apps/monetization/ad/banners)\n */\nexport const PromoBanner = ({\n bannerData = {},\n onClose,\n isCloseButtonHidden,\n className,\n ...restProps\n}: PromoBannerProps) => {\n if (process.env.NODE_ENV === 'development') {\n warn(\n 'Компонент устарел и будет удален в v6. Используйте событие VKWebAppShowBannerAd https://dev.vk.com/mini-apps/monetization/ad/banners',\n );\n }\n\n const [currentPixel, setCurrentPixel] = React.useState('');\n\n const statsPixels = React.useMemo(\n () =>\n (bannerData.statistics\n ? bannerData.statistics.reduce((acc, item) => ({ ...acc, [item.type]: item.url }), {})\n : {}) as Record<StatsType, string | void>,\n [bannerData.statistics],\n );\n\n const onClick = React.useCallback(\n () => setCurrentPixel(statsPixels.click || ''),\n [statsPixels.click],\n );\n\n React.useEffect(() => {\n if (statsPixels.playbackStarted) {\n setCurrentPixel(statsPixels.playbackStarted);\n }\n }, [statsPixels.playbackStarted]);\n\n return (\n <div className={classNames(styles['PromoBanner'], className)} {...restProps}>\n <div className={styles['PromoBanner__head']}>\n <Footnote>{bannerData.advertisingLabel || 'Advertisement'}</Footnote>\n {bannerData.ageRestrictions && (\n <Footnote className={styles['PromoBanner__age']}>{bannerData.ageRestrictions}</Footnote>\n )}\n\n {!isCloseButtonHidden && (\n <div className={styles['PromoBanner__close']} onClick={onClose}>\n <Icon24Dismiss />\n </div>\n )}\n </div>\n <SimpleCell\n href={bannerData.trackingLink}\n onClick={onClick}\n rel=\"nofollow noopener noreferrer\"\n target=\"_blank\"\n before={\n bannerData.iconLink && (\n <Image\n size={48}\n src={bannerData.iconLink}\n alt={bannerData.title}\n data-testid={process.env.NODE_ENV === 'test' ? 'avatar' : undefined}\n />\n )\n }\n after={\n bannerData.ctaText && (\n <Button\n mode=\"outline\"\n data-testid={process.env.NODE_ENV === 'test' ? 'button-ctaText' : undefined}\n >\n {bannerData.ctaText}\n </Button>\n )\n }\n subtitle={bannerData.domain}\n >\n {bannerData.title}\n </SimpleCell>\n\n {currentPixel.length > 0 && (\n <div className={styles['PromoBanner__pixels']}>\n <img src={currentPixel} alt=\"\" />\n </div>\n )}\n </div>\n );\n};\n"],"names":["React","Icon24Dismiss","classNames","warnOnce","Button","Image","SimpleCell","Footnote","warn","PromoBanner","bannerData","onClose","isCloseButtonHidden","className","restProps","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","div","advertisingLabel","ageRestrictions","href","trackingLink","rel","target","before","iconLink","size","src","alt","title","data-testid","undefined","after","ctaText","mode","subtitle","domain","length","img"],"mappings":";;;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,UAAU,QAAQ,2BAA2B;AACtD,SAASC,QAAQ,QAAQ,kCAAkC;AAG3D,IAAMC,OAAOL,SAAS;AAsCtB,gCAAgC;AAEhC;;;;;CAKC,GACD,OAAO,IAAMM,cAAc;mCACzBC,YAAAA,4CAAa,CAAC,uBACdC,iBAAAA,SACAC,6BAAAA,qBACAC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1CT,KACE;IAEJ;IAEA,IAAwCR,mCAAAA,MAAMkB,QAAQ,CAAC,SAAhDC,eAAiCnB,oBAAnBoB,kBAAmBpB;IAExC,IAAMqB,cAAcrB,MAAMsB,OAAO,CAC/B;eACGZ,WAAWa,UAAU,GAClBb,WAAWa,UAAU,CAACC,MAAM,CAAC,SAACC,KAAKC;mBAAU,wCAAKD,MAAK,qBAACC,KAAKC,IAAI,EAAGD,KAAKE,GAAG;WAAK,CAAC,KAClF,CAAC;OACP;QAAClB,WAAWa,UAAU;KAAC;IAGzB,IAAMM,UAAU7B,MAAM8B,WAAW,CAC/B;eAAMV,gBAAgBC,YAAYU,KAAK,IAAI;OAC3C;QAACV,YAAYU,KAAK;KAAC;IAGrB/B,MAAMgC,SAAS,CAAC;QACd,IAAIX,YAAYY,eAAe,EAAE;YAC/Bb,gBAAgBC,YAAYY,eAAe;QAC7C;IACF,GAAG;QAACZ,YAAYY,eAAe;KAAC;IAEhC,qBACE,oBAACC;QAAIrB,WAAWX,8BAAkCW;OAAgBC,0BAChE,oBAACoB;QAAIrB,SAAS;qBACZ,oBAACN,gBAAUG,WAAWyB,gBAAgB,IAAI,kBACzCzB,WAAW0B,eAAe,kBACzB,oBAAC7B;QAASM,SAAS;OAA+BH,WAAW0B,eAAe,GAG7E,CAACxB,qCACA,oBAACsB;QAAIrB,SAAS;QAAgCgB,SAASlB;qBACrD,oBAACV,sCAIP,oBAACK;QACC+B,MAAM3B,WAAW4B,YAAY;QAC7BT,SAASA;QACTU,KAAI;QACJC,QAAO;QACPC,QACE/B,WAAWgC,QAAQ,kBACjB,oBAACrC;YACCsC,MAAM;YACNC,KAAKlC,WAAWgC,QAAQ;YACxBG,KAAKnC,WAAWoC,KAAK;YACrBC,eAAahC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAW+B;;QAIhEC,OACEvC,WAAWwC,OAAO,kBAChB,oBAAC9C;YACC+C,MAAK;YACLJ,eAAahC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,mBAAmB+B;WAEjEtC,WAAWwC,OAAO;QAIzBE,UAAU1C,WAAW2C,MAAM;OAE1B3C,WAAWoC,KAAK,GAGlB3B,aAAamC,MAAM,GAAG,mBACrB,oBAACpB;QAAIrB,SAAS;qBACZ,oBAAC0C;QAAIX,KAAKzB;QAAc0B,KAAI;;AAKtC,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/PromoBanner/PromoBanner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24Dismiss } from '@vkontakte/icons';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { Image } from '../Image/Image';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SimpleCell } from '../SimpleCell/SimpleCell';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './PromoBanner.module.css';\n\nconst warn = warnOnce('PromoBanner');\n\ntype StatsType =\n | 'playbackStarted' // Начало показа\n | 'click'; // Клик по баннеру\n\ntype BannerData = {\n title?: string;\n url_types?: string;\n bannerID?: string;\n imageWidth?: number;\n imageHeight?: number;\n imageLink?: string;\n trackingLink?: string;\n type?: string;\n iconWidth?: number;\n domain?: string;\n ctaText?: string;\n advertisingLabel?: string;\n iconLink?: string;\n statistics?: Array<{ type: StatsType; url: string }>;\n openInBrowser?: boolean;\n iconHeight?: number;\n directLink?: boolean;\n navigationType?: string;\n description?: string;\n ageRestrictions?: string;\n};\n\nexport interface PromoBannerProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /** Данные рекламного баннера, полученные из VKWebAppGetAds */\n bannerData: BannerData;\n /** Флаг скрытия кнопки закрытия рекламы */\n isCloseButtonHidden?: boolean;\n /** Хандлер закрытия рекламы */\n onClose: () => void;\n}\n\n// TODO [>=6]: Удалить компонент\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PromoBanner\n * @deprecated v5.3.1\n *\n * Используйте событие [VKWebAppShowBannerAd](https://dev.vk.com/mini-apps/monetization/ad/banners)\n */\nexport const PromoBanner = ({\n bannerData = {},\n onClose,\n isCloseButtonHidden,\n ...restProps\n}: PromoBannerProps) => {\n if (process.env.NODE_ENV === 'development') {\n warn(\n 'Компонент устарел и будет удален в v6. Используйте событие VKWebAppShowBannerAd https://dev.vk.com/mini-apps/monetization/ad/banners',\n );\n }\n\n const [currentPixel, setCurrentPixel] = React.useState('');\n\n const statsPixels = React.useMemo(\n () =>\n (bannerData.statistics\n ? bannerData.statistics.reduce((acc, item) => ({ ...acc, [item.type]: item.url }), {})\n : {}) as Record<StatsType, string | void>,\n [bannerData.statistics],\n );\n\n const onClick = React.useCallback(\n () => setCurrentPixel(statsPixels.click || ''),\n [statsPixels.click],\n );\n\n React.useEffect(() => {\n if (statsPixels.playbackStarted) {\n setCurrentPixel(statsPixels.playbackStarted);\n }\n }, [statsPixels.playbackStarted]);\n\n return (\n <RootComponent baseClassName={styles['PromoBanner']} {...restProps}>\n <div className={styles['PromoBanner__head']}>\n <Footnote>{bannerData.advertisingLabel || 'Advertisement'}</Footnote>\n {bannerData.ageRestrictions && (\n <Footnote className={styles['PromoBanner__age']}>{bannerData.ageRestrictions}</Footnote>\n )}\n\n {!isCloseButtonHidden && (\n <div className={styles['PromoBanner__close']} onClick={onClose}>\n <Icon24Dismiss />\n </div>\n )}\n </div>\n <SimpleCell\n href={bannerData.trackingLink}\n onClick={onClick}\n rel=\"nofollow noopener noreferrer\"\n target=\"_blank\"\n before={\n bannerData.iconLink && (\n <Image\n size={48}\n src={bannerData.iconLink}\n alt={bannerData.title}\n data-testid={process.env.NODE_ENV === 'test' ? 'avatar' : undefined}\n />\n )\n }\n after={\n bannerData.ctaText && (\n <Button\n mode=\"outline\"\n data-testid={process.env.NODE_ENV === 'test' ? 'button-ctaText' : undefined}\n >\n {bannerData.ctaText}\n </Button>\n )\n }\n subtitle={bannerData.domain}\n >\n {bannerData.title}\n </SimpleCell>\n\n {currentPixel.length > 0 && (\n <div className={styles['PromoBanner__pixels']}>\n <img src={currentPixel} alt=\"\" />\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon24Dismiss","warnOnce","Button","Image","RootComponent","SimpleCell","Footnote","warn","PromoBanner","bannerData","onClose","isCloseButtonHidden","restProps","process","env","NODE_ENV","useState","currentPixel","setCurrentPixel","statsPixels","useMemo","statistics","reduce","acc","item","type","url","onClick","useCallback","click","useEffect","playbackStarted","baseClassName","div","className","advertisingLabel","ageRestrictions","href","trackingLink","rel","target","before","iconLink","size","src","alt","title","data-testid","undefined","after","ctaText","mode","subtitle","domain","length","img"],"mappings":";;;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,UAAU,QAAQ,2BAA2B;AACtD,SAASC,QAAQ,QAAQ,kCAAkC;AAG3D,IAAMC,OAAON,SAAS;AAsCtB,gCAAgC;AAEhC;;;;;CAKC,GACD,OAAO,IAAMO,cAAc;mCACzBC,YAAAA,4CAAa,CAAC,uBACdC,iBAAAA,SACAC,6BAAAA,qBACGC;QAHHH;QACAC;QACAC;;IAGA,IAAIE,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1CR,KACE;IAEJ;IAEA,IAAwCR,mCAAAA,MAAMiB,QAAQ,CAAC,SAAhDC,eAAiClB,oBAAnBmB,kBAAmBnB;IAExC,IAAMoB,cAAcpB,MAAMqB,OAAO,CAC/B;eACGX,WAAWY,UAAU,GAClBZ,WAAWY,UAAU,CAACC,MAAM,CAAC,SAACC,KAAKC;mBAAU,wCAAKD,MAAK,qBAACC,KAAKC,IAAI,EAAGD,KAAKE,GAAG;WAAK,CAAC,KAClF,CAAC;OACP;QAACjB,WAAWY,UAAU;KAAC;IAGzB,IAAMM,UAAU5B,MAAM6B,WAAW,CAC/B;eAAMV,gBAAgBC,YAAYU,KAAK,IAAI;OAC3C;QAACV,YAAYU,KAAK;KAAC;IAGrB9B,MAAM+B,SAAS,CAAC;QACd,IAAIX,YAAYY,eAAe,EAAE;YAC/Bb,gBAAgBC,YAAYY,eAAe;QAC7C;IACF,GAAG;QAACZ,YAAYY,eAAe;KAAC;IAEhC,qBACE,oBAAC3B;QAAc4B,aAAa;OAA6BpB,0BACvD,oBAACqB;QAAIC,SAAS;qBACZ,oBAAC5B,gBAAUG,WAAW0B,gBAAgB,IAAI,kBACzC1B,WAAW2B,eAAe,kBACzB,oBAAC9B;QAAS4B,SAAS;OAA+BzB,WAAW2B,eAAe,GAG7E,CAACzB,qCACA,oBAACsB;QAAIC,SAAS;QAAgCP,SAASjB;qBACrD,oBAACV,sCAIP,oBAACK;QACCgC,MAAM5B,WAAW6B,YAAY;QAC7BX,SAASA;QACTY,KAAI;QACJC,QAAO;QACPC,QACEhC,WAAWiC,QAAQ,kBACjB,oBAACvC;YACCwC,MAAM;YACNC,KAAKnC,WAAWiC,QAAQ;YACxBG,KAAKpC,WAAWqC,KAAK;YACrBC,eAAalC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAWiC;;QAIhEC,OACExC,WAAWyC,OAAO,kBAChB,oBAAChD;YACCiD,MAAK;YACLJ,eAAalC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,mBAAmBiC;WAEjEvC,WAAWyC,OAAO;QAIzBE,UAAU3C,WAAW4C,MAAM;OAE1B5C,WAAWqC,KAAK,GAGlB7B,aAAaqC,MAAM,GAAG,mBACrB,oBAACrB;QAAIC,SAAS;qBACZ,oBAACqB;QAAIX,KAAK3B;QAAc4B,KAAI;;AAKtC,EAAE"}
@@ -6,6 +6,31 @@ import { TouchProps } from '../Touch/Touch';
6
6
  export interface PullToRefreshProps extends DOMProps, TouchProps, HasChildren {
7
7
  /**
8
8
  * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным коллбэком)
9
+ *
10
+ * > ⚠️ **Для разработчиков VK Mini Apps**
11
+ * >
12
+ * > Сейчас метод под конец выполнения вызывает `runTapticImpactOccurred()`.
13
+ * >
14
+ * > В **v6** нужно будет самостоятельно вызывать эту функцию в вашем обработчике `onRefresh()`.
15
+ * > (см. https://github.com/VKCOM/VKUI/issues/5049). Функцию можете импортировать её из
16
+ * > бибилиотеки `@vkontakte/vk-bridge-react`.
17
+ * >
18
+ * > Чтобы подготовить ваше мини-приложение к обновлению до **v6**, в рамках **v5** вы уже можете
19
+ * > вызывать `runTapticImpactOccurred()`, но с одним условием: вы должны вернуть результат
20
+ * > выполнения функции, чтобы исключить двойной вызов. Результат функции — `boolean`. Если
21
+ * > вернётся `true`, значит, вызывать `runTapticImpactOccurred()` снова со стороны **VKUI** —
22
+ * > не нужно.
23
+ * >
24
+ * > ```jsx
25
+ * > const onRefresh = React.useCallback(() => {
26
+ * > // ...
27
+ * > return runTapticImpactOccurred();
28
+ * > }, []);
29
+ * >
30
+ * > // <PullToRefresh onRefresh={onRefresh} />
31
+ * > ```
32
+ * >
33
+ * > Соответственно, в **v6** ничего возвращать уже не потребуется.
9
34
  */
10
35
  onRefresh: AnyFunction;
11
36
  /**
@@ -122,8 +122,11 @@ var TOUCH_MOVE_EVENT_PARAMS = {
122
122
  setSpinnerY(function(prevSpinnerY) {
123
123
  return platform === Platform.IOS ? prevSpinnerY : initParams.refreshing;
124
124
  });
125
- onRefresh();
126
- runTapticImpactOccurred("light");
125
+ var runTapticImpactOccurredCalled = onRefresh();
126
+ // TODO [>=6]: удалить блок кода (#5049)
127
+ if (!runTapticImpactOccurredCalled) {
128
+ runTapticImpactOccurred("light");
129
+ }
127
130
  }
128
131
  }, [
129
132
  refreshing,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { DOMProps, useDOM } from '../../lib/dom';\nimport { Platform } from '../../lib/platform';\nimport { runTapticImpactOccurred } from '../../lib/taptic';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { AnyFunction, HasChildren } from '../../types';\nimport { ScrollContextInterface, useScroll } from '../AppRoot/ScrollContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { Touch, TouchEvent, TouchProps } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { PullToRefreshSpinner } from './PullToRefreshSpinner';\nimport styles from './PullToRefresh.module.css';\n\nfunction cancelEvent(event: any) {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault && event.cancelable) {\n event.preventDefault();\n }\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n return false;\n}\n\nexport interface PullToRefreshProps extends DOMProps, TouchProps, HasChildren {\n /**\n * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным коллбэком)\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\nconst TOUCH_MOVE_EVENT_PARAMS = {\n cancelable: true,\n passive: false,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PullToRefresh\n */\nexport const PullToRefresh = ({\n children,\n isFetching,\n onRefresh,\n className,\n ...restProps\n}: PullToRefreshProps) => {\n const platform = usePlatform();\n const scroll = useScroll();\n const { document } = useDOM();\n const prevIsFetching = usePrevious(isFetching);\n\n const initParams = React.useMemo(\n () => ({\n start: platform === Platform.IOS ? -10 : -45,\n max: platform === Platform.IOS ? 50 : 80,\n maxY: platform === Platform.IOS ? 400 : 80,\n refreshing: platform === Platform.IOS ? 36 : 50,\n positionMultiplier: platform === Platform.IOS ? 0.21 : 1,\n }),\n [platform],\n );\n\n const [spinnerY, setSpinnerY] = React.useState(initParams.start);\n const [watching, setWatching] = React.useState(false);\n const [refreshing, setRefreshing] = React.useState(false);\n const [canRefresh, setCanRefresh] = React.useState(false);\n const [touchDown, setTouchDown] = React.useState(false);\n const prevTouchDown = usePrevious(touchDown);\n\n const touchY = React.useRef(0);\n const [contentShift, setContentShift] = React.useState(0);\n const [spinnerProgress, setSpinnerProgress] = React.useState(0);\n\n const onWindowTouchMove = (event: Event) => {\n if (refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n useGlobalEventListener(document, 'touchmove', onWindowTouchMove, TOUCH_MOVE_EVENT_PARAMS);\n\n const resetRefreshingState = React.useCallback(() => {\n setWatching(false);\n setCanRefresh(false);\n setRefreshing(false);\n setSpinnerY(initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }, [initParams]);\n\n const onRefreshingFinish = React.useCallback(() => {\n if (!touchDown) {\n resetRefreshingState();\n }\n }, [touchDown, resetRefreshingState]);\n\n const { set: setWaitFetchingTimeout, clear: clearWaitFetchingTimeout } = useTimeout(\n onRefreshingFinish,\n 1000,\n );\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {\n onRefreshingFinish();\n }\n }, [prevIsFetching, isFetching, onRefreshingFinish]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {\n clearWaitFetchingTimeout();\n }\n }, [isFetching, prevIsFetching, clearWaitFetchingTimeout]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n setWaitFetchingTimeout();\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) =>\n platform === Platform.IOS ? prevSpinnerY : initParams.refreshing,\n );\n\n onRefresh();\n runTapticImpactOccurred('light');\n }\n }, [refreshing, onRefresh, setWaitFetchingTimeout, platform, initParams.refreshing]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevTouchDown !== undefined && prevTouchDown && !touchDown) {\n if (!refreshing && canRefresh) {\n runRefreshing();\n } else if (refreshing && !isFetching) {\n // only iOS can start refresh before gesture end\n resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n setSpinnerY(refreshing ? initParams.refreshing : initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }\n }\n }, [\n initParams,\n prevIsFetching,\n isFetching,\n onRefreshingFinish,\n prevTouchDown,\n touchDown,\n refreshing,\n canRefresh,\n runRefreshing,\n ]);\n\n const onTouchStart = (e: TouchEvent) => {\n if (refreshing) {\n cancelEvent(e);\n }\n setTouchDown(true);\n };\n\n const onTouchMove = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier, maxY } = initParams;\n\n const shift = Math.max(0, shiftY - touchY.current);\n\n const currentY = clamp(start + shift * positionMultiplier, start, maxY);\n const progress = currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n setSpinnerY(currentY);\n setSpinnerProgress(clamp(progress, 0, 80));\n setCanRefresh(progress > 80);\n setContentShift((currentY + 10) * 2.3);\n\n if (progress > 85 && !refreshing && platform === Platform.IOS) {\n runRefreshing();\n }\n } else if (isY && pageYOffset === 0 && shiftY > 0 && !refreshing && touchDown) {\n cancelEvent(e);\n\n touchY.current = shiftY;\n setWatching(true);\n setSpinnerY(start);\n setSpinnerProgress(0);\n }\n };\n\n const onTouchEnd = () => {\n setWatching(false);\n setTouchDown(false);\n };\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = '';\n\n if (platform === Platform.IOS && refreshing && !touchDown) {\n contentTransform = 'translate3d(0, 100px, 0)';\n } else if (platform === Platform.IOS && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n {...restProps}\n onStart={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n className={classNames(\n styles['PullToRefresh'],\n platform === Platform.IOS && styles['PullToRefresh--ios'],\n watching && styles['PullToRefresh--watching'],\n refreshing && styles['PullToRefresh--refreshing'],\n className,\n )}\n >\n <FixedLayout className={styles['PullToRefresh__controls']} useParentWidth>\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n WebkitTransform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n className={styles['PullToRefresh__content']}\n style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n};\n"],"names":["React","classNames","clamp","useGlobalEventListener","usePlatform","usePrevious","useTimeout","useDOM","Platform","runTapticImpactOccurred","useIsomorphicLayoutEffect","useScroll","FixedLayout","Touch","TouchRootContext","PullToRefreshSpinner","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","TOUCH_MOVE_EVENT_PARAMS","passive","PullToRefresh","children","isFetching","onRefresh","className","restProps","platform","scroll","document","prevIsFetching","initParams","useMemo","start","IOS","max","maxY","refreshing","positionMultiplier","useState","spinnerY","setSpinnerY","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","setTouchDown","prevTouchDown","touchY","useRef","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","onWindowTouchMove","resetRefreshingState","useCallback","onRefreshingFinish","set","setWaitFetchingTimeout","clear","clearWaitFetchingTimeout","undefined","runRefreshing","prevSpinnerY","onTouchStart","e","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","current","currentY","progress","abs","onTouchEnd","spinnerTransform","contentTransform","Provider","value","onStart","onMove","onEnd","useParentWidth","style","transform","WebkitTransform","opacity","on","div"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefresh.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { DOMProps, useDOM } from '../../lib/dom';\nimport { Platform } from '../../lib/platform';\nimport { runTapticImpactOccurred } from '../../lib/taptic';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { AnyFunction, HasChildren } from '../../types';\nimport { ScrollContextInterface, useScroll } from '../AppRoot/ScrollContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { Touch, TouchEvent, TouchProps } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { PullToRefreshSpinner } from './PullToRefreshSpinner';\nimport styles from './PullToRefresh.module.css';\n\nfunction cancelEvent(event: any) {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault && event.cancelable) {\n event.preventDefault();\n }\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n return false;\n}\n\nexport interface PullToRefreshProps extends DOMProps, TouchProps, HasChildren {\n /**\n * Будет вызвана для обновления контента (прим.: функция должна быть мемоизированным коллбэком)\n *\n * > ⚠️ **Для разработчиков VK Mini Apps**\n * >\n * > Сейчас метод под конец выполнения вызывает `runTapticImpactOccurred()`.\n * >\n * > В **v6** нужно будет самостоятельно вызывать эту функцию в вашем обработчике `onRefresh()`.\n * > (см. https://github.com/VKCOM/VKUI/issues/5049). Функцию можете импортировать её из\n * > бибилиотеки `@vkontakte/vk-bridge-react`.\n * >\n * > Чтобы подготовить ваше мини-приложение к обновлению до **v6**, в рамках **v5** вы уже можете\n * > вызывать `runTapticImpactOccurred()`, но с одним условием: вы должны вернуть результат\n * > выполнения функции, чтобы исключить двойной вызов. Результат функции — `boolean`. Если\n * > вернётся `true`, значит, вызывать `runTapticImpactOccurred()` снова со стороны **VKUI** —\n * > не нужно.\n * >\n * > ```jsx\n * > const onRefresh = React.useCallback(() => {\n * > // ...\n * > return runTapticImpactOccurred();\n * > }, []);\n * >\n * > // <PullToRefresh onRefresh={onRefresh} />\n * > ```\n * >\n * > Соответственно, в **v6** ничего возвращать уже не потребуется.\n */\n onRefresh: AnyFunction;\n /**\n * Определяет, выполняется ли обновление. Для скрытия спиннера после получения контента необходимо передать `false`\n */\n isFetching?: boolean;\n /** @ignore */\n scroll?: ScrollContextInterface;\n}\n\nconst TOUCH_MOVE_EVENT_PARAMS = {\n cancelable: true,\n passive: false,\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PullToRefresh\n */\nexport const PullToRefresh = ({\n children,\n isFetching,\n onRefresh,\n className,\n ...restProps\n}: PullToRefreshProps) => {\n const platform = usePlatform();\n const scroll = useScroll();\n const { document } = useDOM();\n const prevIsFetching = usePrevious(isFetching);\n\n const initParams = React.useMemo(\n () => ({\n start: platform === Platform.IOS ? -10 : -45,\n max: platform === Platform.IOS ? 50 : 80,\n maxY: platform === Platform.IOS ? 400 : 80,\n refreshing: platform === Platform.IOS ? 36 : 50,\n positionMultiplier: platform === Platform.IOS ? 0.21 : 1,\n }),\n [platform],\n );\n\n const [spinnerY, setSpinnerY] = React.useState(initParams.start);\n const [watching, setWatching] = React.useState(false);\n const [refreshing, setRefreshing] = React.useState(false);\n const [canRefresh, setCanRefresh] = React.useState(false);\n const [touchDown, setTouchDown] = React.useState(false);\n const prevTouchDown = usePrevious(touchDown);\n\n const touchY = React.useRef(0);\n const [contentShift, setContentShift] = React.useState(0);\n const [spinnerProgress, setSpinnerProgress] = React.useState(0);\n\n const onWindowTouchMove = (event: Event) => {\n if (refreshing) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n useGlobalEventListener(document, 'touchmove', onWindowTouchMove, TOUCH_MOVE_EVENT_PARAMS);\n\n const resetRefreshingState = React.useCallback(() => {\n setWatching(false);\n setCanRefresh(false);\n setRefreshing(false);\n setSpinnerY(initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }, [initParams]);\n\n const onRefreshingFinish = React.useCallback(() => {\n if (!touchDown) {\n resetRefreshingState();\n }\n }, [touchDown, resetRefreshingState]);\n\n const { set: setWaitFetchingTimeout, clear: clearWaitFetchingTimeout } = useTimeout(\n onRefreshingFinish,\n 1000,\n );\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {\n onRefreshingFinish();\n }\n }, [prevIsFetching, isFetching, onRefreshingFinish]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {\n clearWaitFetchingTimeout();\n }\n }, [isFetching, prevIsFetching, clearWaitFetchingTimeout]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n setWaitFetchingTimeout();\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) =>\n platform === Platform.IOS ? prevSpinnerY : initParams.refreshing,\n );\n\n const runTapticImpactOccurredCalled = onRefresh();\n // TODO [>=6]: удалить блок кода (#5049)\n if (!runTapticImpactOccurredCalled) {\n runTapticImpactOccurred('light');\n }\n }\n }, [refreshing, onRefresh, setWaitFetchingTimeout, platform, initParams.refreshing]);\n\n useIsomorphicLayoutEffect(() => {\n if (prevTouchDown !== undefined && prevTouchDown && !touchDown) {\n if (!refreshing && canRefresh) {\n runRefreshing();\n } else if (refreshing && !isFetching) {\n // only iOS can start refresh before gesture end\n resetRefreshingState();\n } else {\n // refreshing && isFetching: refresh in progress\n // OR !refreshing && !canRefresh: pull was not strong enough\n setSpinnerY(refreshing ? initParams.refreshing : initParams.start);\n setSpinnerProgress(0);\n setContentShift(0);\n }\n }\n }, [\n initParams,\n prevIsFetching,\n isFetching,\n onRefreshingFinish,\n prevTouchDown,\n touchDown,\n refreshing,\n canRefresh,\n runRefreshing,\n ]);\n\n const onTouchStart = (e: TouchEvent) => {\n if (refreshing) {\n cancelEvent(e);\n }\n setTouchDown(true);\n };\n\n const onTouchMove = (e: TouchEvent) => {\n const { isY, shiftY } = e;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(e);\n\n const { positionMultiplier, maxY } = initParams;\n\n const shift = Math.max(0, shiftY - touchY.current);\n\n const currentY = clamp(start + shift * positionMultiplier, start, maxY);\n const progress = currentY > -10 ? Math.abs((currentY + 10) / max) * 80 : 0;\n\n setSpinnerY(currentY);\n setSpinnerProgress(clamp(progress, 0, 80));\n setCanRefresh(progress > 80);\n setContentShift((currentY + 10) * 2.3);\n\n if (progress > 85 && !refreshing && platform === Platform.IOS) {\n runRefreshing();\n }\n } else if (isY && pageYOffset === 0 && shiftY > 0 && !refreshing && touchDown) {\n cancelEvent(e);\n\n touchY.current = shiftY;\n setWatching(true);\n setSpinnerY(start);\n setSpinnerProgress(0);\n }\n };\n\n const onTouchEnd = () => {\n setWatching(false);\n setTouchDown(false);\n };\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = '';\n\n if (platform === Platform.IOS && refreshing && !touchDown) {\n contentTransform = 'translate3d(0, 100px, 0)';\n } else if (platform === Platform.IOS && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n {...restProps}\n onStart={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n className={classNames(\n styles['PullToRefresh'],\n platform === Platform.IOS && styles['PullToRefresh--ios'],\n watching && styles['PullToRefresh--watching'],\n refreshing && styles['PullToRefresh--refreshing'],\n className,\n )}\n >\n <FixedLayout className={styles['PullToRefresh__controls']} useParentWidth>\n <PullToRefreshSpinner\n style={{\n transform: spinnerTransform,\n WebkitTransform: spinnerTransform,\n opacity: watching || refreshing || canRefresh ? 1 : 0,\n }}\n on={refreshing}\n progress={refreshing ? undefined : spinnerProgress}\n />\n </FixedLayout>\n\n <div\n className={styles['PullToRefresh__content']}\n style={{\n transform: contentTransform,\n WebkitTransform: contentTransform,\n }}\n >\n {children}\n </div>\n </Touch>\n </TouchRootContext.Provider>\n );\n};\n"],"names":["React","classNames","clamp","useGlobalEventListener","usePlatform","usePrevious","useTimeout","useDOM","Platform","runTapticImpactOccurred","useIsomorphicLayoutEffect","useScroll","FixedLayout","Touch","TouchRootContext","PullToRefreshSpinner","cancelEvent","event","originalEvent","preventDefault","cancelable","stopPropagation","TOUCH_MOVE_EVENT_PARAMS","passive","PullToRefresh","children","isFetching","onRefresh","className","restProps","platform","scroll","document","prevIsFetching","initParams","useMemo","start","IOS","max","maxY","refreshing","positionMultiplier","useState","spinnerY","setSpinnerY","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","setTouchDown","prevTouchDown","touchY","useRef","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","onWindowTouchMove","resetRefreshingState","useCallback","onRefreshingFinish","set","setWaitFetchingTimeout","clear","clearWaitFetchingTimeout","undefined","runRefreshing","prevSpinnerY","runTapticImpactOccurredCalled","onTouchStart","e","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","current","currentY","progress","abs","onTouchEnd","spinnerTransform","contentTransform","Provider","value","onStart","onMove","onEnd","useParentWidth","style","transform","WebkitTransform","opacity","on","div"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
- export interface PullToRefreshSpinnerProps extends React.HTMLAttributes<HTMLDivElement> {
3
- 'size'?: number;
4
- 'strokeWidth'?: number;
5
- 'on'?: boolean;
6
- 'progress'?: number;
7
- 'aria-label'?: string;
2
+ import { HTMLAttributesWithRootRef } from '../../types';
3
+ export interface PullToRefreshSpinnerProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
4
+ size?: number;
5
+ strokeWidth?: number;
6
+ on?: boolean;
7
+ progress?: number;
8
8
  }
9
- export declare const PullToRefreshSpinner: ({ on, size, strokeWidth, style, progress, "aria-label": ariaLabel, }: PullToRefreshSpinnerProps) => React.JSX.Element;
9
+ export declare const PullToRefreshSpinner: ({ on, size, strokeWidth, progress, "aria-label": ariaLabel, ...restProps }: PullToRefreshSpinnerProps) => React.JSX.Element;
@@ -1,20 +1,28 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
1
3
  import * as React from "react";
2
4
  import { classNames } from "@vkontakte/vkjs";
5
+ import { RootComponent } from "../RootComponent/RootComponent";
3
6
  function calcStrokeDashOffset(value, radius) {
4
7
  var progress = value / 100;
5
8
  return 2 * Math.PI * radius * (1 - progress);
6
9
  }
7
- export var PullToRefreshSpinner = function(param) {
8
- var _param_on = param.on, on = _param_on === void 0 ? true : _param_on, _param_size = param.size, size = _param_size === void 0 ? 24 : _param_size, _param_strokeWidth = param.strokeWidth, strokeWidth = _param_strokeWidth === void 0 ? 2.5 : _param_strokeWidth, style = param.style, _param_progress = param.progress, progress = _param_progress === void 0 ? 0 : _param_progress, tmp = param["aria-label"], ariaLabel = tmp === void 0 ? "Пожалуйста, подождите..." : tmp;
10
+ export var PullToRefreshSpinner = function(_param) {
11
+ var _param_on = _param.on, on = _param_on === void 0 ? true : _param_on, _param_size = _param.size, size = _param_size === void 0 ? 24 : _param_size, _param_strokeWidth = _param.strokeWidth, strokeWidth = _param_strokeWidth === void 0 ? 2.5 : _param_strokeWidth, _param_progress = _param.progress, progress = _param_progress === void 0 ? 0 : _param_progress, tmp = _param["aria-label"], ariaLabel = tmp === void 0 ? "Пожалуйста, подождите..." : tmp, restProps = _object_without_properties(_param, [
12
+ "on",
13
+ "size",
14
+ "strokeWidth",
15
+ "progress",
16
+ "aria-label"
17
+ ]);
9
18
  var radius = 0.5 * size - 0.5 * strokeWidth;
10
19
  var dasharray = 2 * Math.PI * radius;
11
20
  var circleCenter = 0.5 * size;
12
21
  var dashoffset = calcStrokeDashOffset(on ? 80 : progress, radius);
13
- return /*#__PURE__*/ React.createElement("div", {
14
- className: classNames("vkuiPullToRefresh__spinner", on && "vkuiPullToRefresh__spinner--on"),
15
- style: style,
22
+ return /*#__PURE__*/ React.createElement(RootComponent, _object_spread({
23
+ baseClassName: classNames("vkuiPullToRefresh__spinner", on && "vkuiPullToRefresh__spinner--on"),
16
24
  "aria-label": on ? ariaLabel : undefined
17
- }, /*#__PURE__*/ React.createElement("svg", {
25
+ }, restProps), /*#__PURE__*/ React.createElement("svg", {
18
26
  role: "presentation",
19
27
  className: "vkuiPullToRefresh__spinner-self",
20
28
  style: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefreshSpinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './PullToRefresh.module.css';\n\nfunction calcStrokeDashOffset(value: number, radius: number) {\n const progress = value / 100;\n return 2 * Math.PI * radius * (1 - progress);\n}\n\nexport interface PullToRefreshSpinnerProps extends React.HTMLAttributes<HTMLDivElement> {\n 'size'?: number;\n 'strokeWidth'?: number;\n 'on'?: boolean;\n 'progress'?: number;\n 'aria-label'?: string;\n}\n\nexport const PullToRefreshSpinner = ({\n on = true,\n size = 24,\n strokeWidth = 2.5,\n style,\n progress = 0,\n 'aria-label': ariaLabel = 'Пожалуйста, подождите...',\n}: PullToRefreshSpinnerProps) => {\n const radius = 0.5 * size - 0.5 * strokeWidth;\n const dasharray = 2 * Math.PI * radius;\n const circleCenter = 0.5 * size;\n\n const dashoffset = calcStrokeDashOffset(on ? 80 : progress, radius);\n\n return (\n <div\n className={classNames(\n styles['PullToRefresh__spinner'],\n on && styles['PullToRefresh__spinner--on'],\n )}\n style={style}\n aria-label={on ? ariaLabel : undefined}\n >\n <svg\n role=\"presentation\"\n className={styles['PullToRefresh__spinner-self']}\n style={{\n width: size,\n height: size,\n }}\n viewBox={`0 0 ${size} ${size}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g\n style={{\n width: size,\n height: size,\n transformOrigin: `${circleCenter}px ${circleCenter}px`,\n }}\n >\n <circle\n className={styles['PullToRefresh__spinner-path']}\n fill=\"none\"\n strokeDasharray={dasharray}\n strokeDashoffset={dashoffset}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n cx={circleCenter}\n cy={circleCenter}\n r={radius}\n />\n </g>\n </svg>\n </div>\n );\n};\n"],"names":["React","classNames","calcStrokeDashOffset","value","radius","progress","Math","PI","PullToRefreshSpinner","on","size","strokeWidth","style","ariaLabel","dasharray","circleCenter","dashoffset","div","className","aria-label","undefined","svg","role","width","height","viewBox","xmlns","g","transformOrigin","circle","fill","strokeDasharray","strokeDashoffset","strokeLinecap","cx","cy","r"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAG7C,SAASC,qBAAqBC,KAAa,EAAEC,MAAc;IACzD,IAAMC,WAAWF,QAAQ;IACzB,OAAO,IAAIG,KAAKC,EAAE,GAAGH,SAAU,CAAA,IAAIC,QAAO;AAC5C;AAUA,OAAO,IAAMG,uBAAuB;0BAClCC,IAAAA,4BAAK,sCACLC,MAAAA,gCAAO,6CACPC,aAAAA,8CAAc,0BACdC,cAAAA,+BACAP,UAAAA,wCAAW,qBACGQ,YAAd,eAAcA,YAAAA,iBAAY,6BAAZA;IAEd,IAAMT,SAAS,MAAMM,OAAO,MAAMC;IAClC,IAAMG,YAAY,IAAIR,KAAKC,EAAE,GAAGH;IAChC,IAAMW,eAAe,MAAML;IAE3B,IAAMM,aAAad,qBAAqBO,KAAK,KAAKJ,UAAUD;IAE5D,qBACE,oBAACa;QACCC,WAAWjB,yCAETQ;QAEFG,OAAOA;QACPO,cAAYV,KAAKI,YAAYO;qBAE7B,oBAACC;QACCC,MAAK;QACLJ,SAAS;QACTN,OAAO;YACLW,OAAOb;YACPc,QAAQd;QACV;QACAe,SAAS,AAAC,OAAcf,OAARA,MAAK,KAAQ,OAALA;QACxBgB,OAAM;qBAEN,oBAACC;QACCf,OAAO;YACLW,OAAOb;YACPc,QAAQd;YACRkB,iBAAiB,AAAC,GAAoBb,OAAlBA,cAAa,OAAkB,OAAbA,cAAa;QACrD;qBAEA,oBAACc;QACCX,SAAS;QACTY,MAAK;QACLC,iBAAiBjB;QACjBkB,kBAAkBhB;QAClBL,aAAaA;QACbsB,eAAc;QACdC,IAAInB;QACJoB,IAAIpB;QACJqB,GAAGhC;;AAMf,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefreshSpinner.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './PullToRefresh.module.css';\n\nfunction calcStrokeDashOffset(value: number, radius: number) {\n const progress = value / 100;\n return 2 * Math.PI * radius * (1 - progress);\n}\n\nexport interface PullToRefreshSpinnerProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n size?: number;\n strokeWidth?: number;\n on?: boolean;\n progress?: number;\n}\n\nexport const PullToRefreshSpinner = ({\n on = true,\n size = 24,\n strokeWidth = 2.5,\n progress = 0,\n 'aria-label': ariaLabel = 'Пожалуйста, подождите...',\n ...restProps\n}: PullToRefreshSpinnerProps) => {\n const radius = 0.5 * size - 0.5 * strokeWidth;\n const dasharray = 2 * Math.PI * radius;\n const circleCenter = 0.5 * size;\n\n const dashoffset = calcStrokeDashOffset(on ? 80 : progress, radius);\n\n return (\n <RootComponent\n baseClassName={classNames(\n styles['PullToRefresh__spinner'],\n on && styles['PullToRefresh__spinner--on'],\n )}\n aria-label={on ? ariaLabel : undefined}\n {...restProps}\n >\n <svg\n role=\"presentation\"\n className={styles['PullToRefresh__spinner-self']}\n style={{\n width: size,\n height: size,\n }}\n viewBox={`0 0 ${size} ${size}`}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g\n style={{\n width: size,\n height: size,\n transformOrigin: `${circleCenter}px ${circleCenter}px`,\n }}\n >\n <circle\n className={styles['PullToRefresh__spinner-path']}\n fill=\"none\"\n strokeDasharray={dasharray}\n strokeDashoffset={dashoffset}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n cx={circleCenter}\n cy={circleCenter}\n r={radius}\n />\n </g>\n </svg>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","RootComponent","calcStrokeDashOffset","value","radius","progress","Math","PI","PullToRefreshSpinner","on","size","strokeWidth","ariaLabel","restProps","dasharray","circleCenter","dashoffset","baseClassName","aria-label","undefined","svg","role","className","style","width","height","viewBox","xmlns","g","transformOrigin","circle","fill","strokeDasharray","strokeDashoffset","strokeLinecap","cx","cy","r"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAG/D,SAASC,qBAAqBC,KAAa,EAAEC,MAAc;IACzD,IAAMC,WAAWF,QAAQ;IACzB,OAAO,IAAIG,KAAKC,EAAE,GAAGH,SAAU,CAAA,IAAIC,QAAO;AAC5C;AASA,OAAO,IAAMG,uBAAuB;2BAClCC,IAAAA,4BAAK,uCACLC,MAAAA,gCAAO,8CACPC,aAAAA,8CAAc,mDACdN,UAAAA,wCAAW,qBACGO,aAAd,eAAcA,YAAAA,iBAAY,6BAAZA,KACXC;QALHJ;QACAC;QACAC;QACAN;QACA;;IAGA,IAAMD,SAAS,MAAMM,OAAO,MAAMC;IAClC,IAAMG,YAAY,IAAIR,KAAKC,EAAE,GAAGH;IAChC,IAAMW,eAAe,MAAML;IAE3B,IAAMM,aAAad,qBAAqBO,KAAK,KAAKJ,UAAUD;IAE5D,qBACE,oBAACH;QACCgB,eAAejB,yCAEbS;QAEFS,cAAYT,KAAKG,YAAYO;OACzBN,0BAEJ,oBAACO;QACCC,MAAK;QACLC,SAAS;QACTC,OAAO;YACLC,OAAOd;YACPe,QAAQf;QACV;QACAgB,SAAS,AAAC,OAAchB,OAARA,MAAK,KAAQ,OAALA;QACxBiB,OAAM;qBAEN,oBAACC;QACCL,OAAO;YACLC,OAAOd;YACPe,QAAQf;YACRmB,iBAAiB,AAAC,GAAoBd,OAAlBA,cAAa,OAAkB,OAAbA,cAAa;QACrD;qBAEA,oBAACe;QACCR,SAAS;QACTS,MAAK;QACLC,iBAAiBlB;QACjBmB,kBAAkBjB;QAClBL,aAAaA;QACbuB,eAAc;QACdC,IAAIpB;QACJqB,IAAIrB;QACJsB,GAAGjC;;AAMf,EAAE"}
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
- export interface RadioGroupProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ import { HTMLAttributesWithRootRef } from '../../types';
3
+ export interface RadioGroupProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
3
4
  mode?: 'vertical' | 'horizontal';
4
5
  }
5
6
  /**
6
7
  * @see https://vkcom.github.io/VKUI/#/RadioGroup
7
8
  */
8
- export declare const RadioGroup: ({ mode, children, className, ...restProps }: RadioGroupProps) => React.JSX.Element;
9
+ export declare const RadioGroup: ({ mode, ...restProps }: RadioGroupProps) => React.JSX.Element;
@@ -2,17 +2,16 @@ 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";
5
6
  /**
6
7
  * @see https://vkcom.github.io/VKUI/#/RadioGroup
7
8
  */ export var RadioGroup = function(_param) /*#__PURE__*/ {
8
- var _param_mode = _param.mode, mode = _param_mode === void 0 ? "vertical" : _param_mode, children = _param.children, className = _param.className, restProps = _object_without_properties(_param, [
9
- "mode",
10
- "children",
11
- "className"
9
+ var _param_mode = _param.mode, mode = _param_mode === void 0 ? "vertical" : _param_mode, restProps = _object_without_properties(_param, [
10
+ "mode"
12
11
  ]);
13
- return React.createElement("div", _object_spread({
14
- className: classNames("vkuiRadioGroup", "vkuiInternalRadioGroup", mode === "horizontal" && "vkuiRadioGroup--mode-horizontal", className)
15
- }, restProps), children);
12
+ return React.createElement(RootComponent, _object_spread({
13
+ baseClassName: classNames("vkuiRadioGroup", "vkuiInternalRadioGroup", mode === "horizontal" && "vkuiRadioGroup--mode-horizontal")
14
+ }, restProps));
16
15
  };
17
16
 
18
17
  //# sourceMappingURL=RadioGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n mode?: 'vertical' | 'horizontal';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RadioGroup\n */\nexport const RadioGroup = ({\n mode = 'vertical',\n children,\n className,\n ...restProps\n}: RadioGroupProps) => (\n <div\n className={classNames(\n styles['RadioGroup'],\n 'vkuiInternalRadioGroup',\n mode === 'horizontal' && styles['RadioGroup--mode-horizontal'],\n className,\n )}\n {...restProps}\n >\n {children}\n </div>\n);\n"],"names":["React","classNames","RadioGroup","mode","children","className","restProps","div"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAO7C;;CAEC,GACD,OAAO,IAAMC,aAAa;6BACxBC,MAAAA,gCAAO,0BACPC,kBAAAA,UACAC,mBAAAA,WACGC;QAHHH;QACAC;QACAC;;WAGA,oBAACE;QACCF,WAAWJ,6BAET,0BACAE,SAAS,mDACTE;OAEEC,YAEHF;AACE,EACL"}
1
+ {"version":3,"sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n mode?: 'vertical' | 'horizontal';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RadioGroup\n */\nexport const RadioGroup = ({ mode = 'vertical', ...restProps }: RadioGroupProps) => (\n <RootComponent\n baseClassName={classNames(\n styles['RadioGroup'],\n 'vkuiInternalRadioGroup',\n mode === 'horizontal' && styles['RadioGroup--mode-horizontal'],\n )}\n {...restProps}\n />\n);\n"],"names":["React","classNames","RootComponent","RadioGroup","mode","restProps","baseClassName"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAO/D;;CAEC,GACD,OAAO,IAAMC,aAAa;6BAAGC,MAAAA,gCAAO,0BAAeC;QAAtBD;;WAC3B,oBAACF;QACCI,eAAeL,6BAEb,0BACAG,SAAS;OAEPC;AACL,EACD"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { HasRootRef } from '../../types';
2
+ import { HTMLAttributesWithRootRef } from '../../types';
3
3
  export interface RemovableProps {
4
4
  /**
5
5
  * iOS only. Текст в выезжающей кнопке для удаления ячейки.
@@ -10,7 +10,7 @@ export interface RemovableProps {
10
10
  */
11
11
  onRemove?: (e: React.MouseEvent, rootEl?: HTMLElement | null) => void;
12
12
  }
13
- interface RemovableOwnProps extends React.HTMLAttributes<HTMLDivElement>, RemovableProps, HasRootRef<HTMLDivElement> {
13
+ interface RemovableOwnProps extends HTMLAttributesWithRootRef<HTMLDivElement>, RemovableProps {
14
14
  /**
15
15
  * Расположение кнопки удаления.
16
16
  */
@@ -24,5 +24,5 @@ interface RemovableOwnProps extends React.HTMLAttributes<HTMLDivElement>, Remova
24
24
  /**
25
25
  * @see https://vkcom.github.io/VKUI/#/Removable
26
26
  */
27
- export declare const Removable: ({ getRootRef, children, onRemove, removePlaceholder, align, className, indent, ...restProps }: RemovableOwnProps) => React.JSX.Element;
27
+ export declare const Removable: ({ children, onRemove, removePlaceholder, align, indent, ...restProps }: RemovableOwnProps) => React.JSX.Element;
28
28
  export {};
@@ -5,13 +5,13 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
5
  import * as React from "react";
6
6
  import { Icon24Cancel } from "@vkontakte/icons";
7
7
  import { classNames, noop } from "@vkontakte/vkjs";
8
- import { useExternRef } from "../../hooks/useExternRef";
9
8
  import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
10
9
  import { usePlatform } from "../../hooks/usePlatform";
11
10
  import { useDOM } from "../../lib/dom";
12
11
  import { Platform } from "../../lib/platform";
13
12
  import { getTitleFromChildren } from "../../lib/utils";
14
13
  import { IconButton } from "../IconButton/IconButton";
14
+ import { RootComponent } from "../RootComponent/RootComponent";
15
15
  import { Tappable } from "../Tappable/Tappable";
16
16
  /**
17
17
  * @see https://vkcom.github.io/VKUI/#/RemovableIos
@@ -79,25 +79,21 @@ import { Tappable } from "../Tappable/Tappable";
79
79
  /**
80
80
  * @see https://vkcom.github.io/VKUI/#/Removable
81
81
  */ export var Removable = function(_param) {
82
- var getRootRef = _param.getRootRef, children = _param.children, _param_onRemove = _param.onRemove, onRemove = _param_onRemove === void 0 ? noop : _param_onRemove, _param_removePlaceholder = _param.removePlaceholder, removePlaceholder = _param_removePlaceholder === void 0 ? "Удалить" : _param_removePlaceholder, _param_align = _param.align, align = _param_align === void 0 ? "center" : _param_align, className = _param.className, _param_indent = _param.indent, indent = _param_indent === void 0 ? false : _param_indent, restProps = _object_without_properties(_param, [
83
- "getRootRef",
82
+ var children = _param.children, _param_onRemove = _param.onRemove, onRemove = _param_onRemove === void 0 ? noop : _param_onRemove, _param_removePlaceholder = _param.removePlaceholder, removePlaceholder = _param_removePlaceholder === void 0 ? "Удалить" : _param_removePlaceholder, _param_align = _param.align, align = _param_align === void 0 ? "center" : _param_align, _param_indent = _param.indent, indent = _param_indent === void 0 ? false : _param_indent, restProps = _object_without_properties(_param, [
84
83
  "children",
85
84
  "onRemove",
86
85
  "removePlaceholder",
87
86
  "align",
88
- "className",
89
87
  "indent"
90
88
  ]);
91
89
  var platform = usePlatform();
92
- var ref = useExternRef(getRootRef);
93
90
  var onRemoveClick = function(e) {
94
91
  e.preventDefault();
95
92
  onRemove(e);
96
93
  };
97
94
  var removePlaceholderString = getTitleFromChildren(removePlaceholder);
98
- return /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({}, restProps), {
99
- ref: ref,
100
- className: classNames(platform === Platform.IOS && "vkuiRemovable--ios", align === "start" && "vkuiRemovable--align-start", indent && "vkuiRemovable--indent", className)
95
+ return /*#__PURE__*/ React.createElement(RootComponent, _object_spread_props(_object_spread({}, restProps), {
96
+ baseClassName: classNames(platform === Platform.IOS && "vkuiRemovable--ios", align === "start" && "vkuiRemovable--align-start", indent && "vkuiRemovable--indent")
101
97
  }), platform !== Platform.IOS && /*#__PURE__*/ React.createElement("div", {
102
98
  className: classNames("vkuiRemovable__content", "vkuiInternalRemovable__content")
103
99
  }, children, /*#__PURE__*/ React.createElement(IconButton, {