@vkontakte/vkui 6.1.2 → 6.2.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 (1986) hide show
  1. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  2. package/dist/cjs/components/Accordion/AccordionContent.d.ts.map +1 -1
  3. package/dist/cjs/components/Accordion/AccordionContent.js +35 -39
  4. package/dist/cjs/components/Accordion/AccordionContent.js.map +1 -1
  5. package/dist/cjs/components/Accordion/AccordionContext.js.map +1 -1
  6. package/dist/cjs/components/Accordion/AccordionSummary.js.map +1 -1
  7. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +1 -1
  8. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  9. package/dist/cjs/components/ActionSheet/ActionSheet.js +24 -32
  10. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  11. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  12. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  13. package/dist/cjs/components/ActionSheet/ActionSheetDropdownMenu.d.ts +1 -1
  14. package/dist/cjs/components/ActionSheet/ActionSheetDropdownMenu.d.ts.map +1 -1
  15. package/dist/cjs/components/ActionSheet/ActionSheetDropdownMenu.js +7 -3
  16. package/dist/cjs/components/ActionSheet/ActionSheetDropdownMenu.js.map +1 -1
  17. package/dist/cjs/components/ActionSheet/ActionSheetDropdownSheet.js +1 -1
  18. package/dist/cjs/components/ActionSheet/ActionSheetDropdownSheet.js.map +1 -1
  19. package/dist/cjs/components/ActionSheet/types.js.map +1 -1
  20. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  21. package/dist/cjs/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  22. package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  23. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  24. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  25. package/dist/cjs/components/Alert/Alert.d.ts.map +1 -1
  26. package/dist/cjs/components/Alert/Alert.js +22 -33
  27. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  28. package/dist/cjs/components/Alert/AlertAction.js.map +1 -1
  29. package/dist/cjs/components/Alert/AlertActions.js.map +1 -1
  30. package/dist/cjs/components/Alert/AlertTypography.js.map +1 -1
  31. package/dist/cjs/components/AppRoot/AppRoot.d.ts +14 -2
  32. package/dist/cjs/components/AppRoot/AppRoot.d.ts.map +1 -1
  33. package/dist/cjs/components/AppRoot/AppRoot.js +11 -3
  34. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  35. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  36. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  37. package/dist/cjs/components/AppRoot/ScrollContext.d.ts.map +1 -1
  38. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  39. package/dist/cjs/components/AppRoot/helpers.d.ts +6 -1
  40. package/dist/cjs/components/AppRoot/helpers.d.ts.map +1 -1
  41. package/dist/cjs/components/AppRoot/helpers.js +24 -0
  42. package/dist/cjs/components/AppRoot/helpers.js.map +1 -1
  43. package/dist/cjs/components/AppRoot/types.d.ts +1 -0
  44. package/dist/cjs/components/AppRoot/types.d.ts.map +1 -1
  45. package/dist/cjs/components/AppRoot/types.js.map +1 -1
  46. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  47. package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
  48. package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
  49. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  50. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  51. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  52. package/dist/cjs/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  53. package/dist/cjs/components/Avatar/AvatarBadge/icons.js.map +1 -1
  54. package/dist/cjs/components/Avatar/helpers.js.map +1 -1
  55. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  56. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  57. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  58. package/dist/cjs/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
  59. package/dist/cjs/components/BaseGallery/CarouselBase/constants.js.map +1 -1
  60. package/dist/cjs/components/BaseGallery/CarouselBase/helpers.js.map +1 -1
  61. package/dist/cjs/components/BaseGallery/CarouselBase/hooks.js.map +1 -1
  62. package/dist/cjs/components/BaseGallery/CarouselBase/types.js.map +1 -1
  63. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  64. package/dist/cjs/components/BaseGallery/types.js.map +1 -1
  65. package/dist/cjs/components/Button/Button.js.map +1 -1
  66. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  67. package/dist/cjs/components/Calendar/Calendar.d.ts.map +1 -1
  68. package/dist/cjs/components/Calendar/Calendar.js +4 -2
  69. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  70. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  71. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  72. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +3 -1
  73. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  74. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +23 -10
  75. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  76. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  77. package/dist/cjs/components/CalendarRange/CalendarRange.js +11 -4
  78. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  79. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  80. package/dist/cjs/components/Card/Card.js.map +1 -1
  81. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  82. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  83. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  84. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  85. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  86. package/dist/cjs/components/Cell/constants.js.map +1 -1
  87. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  88. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  89. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  90. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  91. package/dist/cjs/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  92. package/dist/cjs/components/ChipsInput/useChipsInput.js.map +1 -1
  93. package/dist/cjs/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  94. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
  95. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  96. package/dist/cjs/components/ChipsInputBase/constants.js.map +1 -1
  97. package/dist/cjs/components/ChipsInputBase/helpers.d.ts.map +1 -1
  98. package/dist/cjs/components/ChipsInputBase/helpers.js.map +1 -1
  99. package/dist/cjs/components/ChipsInputBase/types.js.map +1 -1
  100. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +5 -1
  101. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  102. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +15 -8
  103. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  104. package/dist/cjs/components/ChipsSelect/constants.d.ts.map +1 -1
  105. package/dist/cjs/components/ChipsSelect/constants.js.map +1 -1
  106. package/dist/cjs/components/ChipsSelect/types.js.map +1 -1
  107. package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts +10 -2
  108. package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  109. package/dist/cjs/components/ChipsSelect/useChipsSelect.js +12 -4
  110. package/dist/cjs/components/ChipsSelect/useChipsSelect.js.map +1 -1
  111. package/dist/cjs/components/Clickable/Clickable.d.ts.map +1 -1
  112. package/dist/cjs/components/Clickable/Clickable.js.map +1 -1
  113. package/dist/cjs/components/Clickable/useKeyboard.d.ts.map +1 -1
  114. package/dist/cjs/components/Clickable/useKeyboard.js.map +1 -1
  115. package/dist/cjs/components/Clickable/useState.d.ts.map +1 -1
  116. package/dist/cjs/components/Clickable/useState.js.map +1 -1
  117. package/dist/cjs/components/Clickable/useStateWithDelay.js.map +1 -1
  118. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  119. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  120. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  121. package/dist/cjs/components/ContentBadge/ContentBadge.js.map +1 -1
  122. package/dist/cjs/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  123. package/dist/cjs/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
  124. package/dist/cjs/components/ContentBadge/types.js.map +1 -1
  125. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  126. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  127. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  128. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  129. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js +31 -37
  130. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  131. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +5 -2
  132. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  133. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  134. package/dist/cjs/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  135. package/dist/cjs/components/CustomSelect/CustomSelectInput.js.map +1 -1
  136. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  137. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  138. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  139. package/dist/cjs/components/DatePicker/DatePicker.d.ts +6 -0
  140. package/dist/cjs/components/DatePicker/DatePicker.d.ts.map +1 -1
  141. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  142. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  143. package/dist/cjs/components/Div/Div.js.map +1 -1
  144. package/dist/cjs/components/DropZone/DropZone.js.map +1 -1
  145. package/dist/cjs/components/DropZone/components/DropZoneGrid.js.map +1 -1
  146. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  147. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  148. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  149. package/dist/cjs/components/File/File.js.map +1 -1
  150. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  151. package/dist/cjs/components/FixedLayout/FixedLayout.js +18 -6
  152. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  153. package/dist/cjs/components/Flex/Flex.d.ts +42 -0
  154. package/dist/cjs/components/Flex/Flex.d.ts.map +1 -0
  155. package/dist/cjs/components/Flex/Flex.js +60 -0
  156. package/dist/cjs/components/Flex/Flex.js.map +1 -0
  157. package/dist/cjs/components/Flex/FlexItem/FlexItem.d.ts +20 -0
  158. package/dist/cjs/components/Flex/FlexItem/FlexItem.d.ts.map +1 -0
  159. package/dist/cjs/components/Flex/FlexItem/FlexItem.js +47 -0
  160. package/dist/cjs/components/Flex/FlexItem/FlexItem.js.map +1 -0
  161. package/dist/cjs/components/FloatingArrow/DefaultIcon.d.ts.map +1 -1
  162. package/dist/cjs/components/FloatingArrow/DefaultIcon.js.map +1 -1
  163. package/dist/cjs/components/FloatingArrow/FloatingArrow.js +14 -4
  164. package/dist/cjs/components/FloatingArrow/FloatingArrow.js.map +1 -1
  165. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +6 -1
  166. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  167. package/dist/cjs/components/FocusTrap/FocusTrap.js +44 -19
  168. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  169. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  170. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  171. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  172. package/dist/cjs/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
  173. package/dist/cjs/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
  174. package/dist/cjs/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
  175. package/dist/cjs/components/FormItem/context.js.map +1 -1
  176. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  177. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  178. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  179. package/dist/cjs/components/Gallery/hooks.d.ts +1 -1
  180. package/dist/cjs/components/Gallery/hooks.d.ts.map +1 -1
  181. package/dist/cjs/components/Gallery/hooks.js +24 -21
  182. package/dist/cjs/components/Gallery/hooks.js.map +1 -1
  183. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  184. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +1 -1
  185. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  186. package/dist/cjs/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  187. package/dist/cjs/components/Group/Group.js.map +1 -1
  188. package/dist/cjs/components/Header/Header.js.map +1 -1
  189. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  190. package/dist/cjs/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  191. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  192. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  193. package/dist/cjs/components/Image/Image.d.ts +1 -1
  194. package/dist/cjs/components/Image/Image.js.map +1 -1
  195. package/dist/cjs/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  196. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  197. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  198. package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  199. package/dist/cjs/components/ImageBase/context.js.map +1 -1
  200. package/dist/cjs/components/ImageBase/helpers.js.map +1 -1
  201. package/dist/cjs/components/ImageBase/types.js.map +1 -1
  202. package/dist/cjs/components/ImageBase/validators.js.map +1 -1
  203. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  204. package/dist/cjs/components/Input/Input.js.map +1 -1
  205. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  206. package/dist/cjs/components/InputLike/InputLikeDivider.d.ts.map +1 -1
  207. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
  208. package/dist/cjs/components/Link/Link.d.ts.map +1 -1
  209. package/dist/cjs/components/Link/Link.js +1 -0
  210. package/dist/cjs/components/Link/Link.js.map +1 -1
  211. package/dist/cjs/components/List/List.js.map +1 -1
  212. package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  213. package/dist/cjs/components/Mark/Mark.js.map +1 -1
  214. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  215. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  216. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  217. package/dist/cjs/components/ModalCardBase/ModalCardBaseCloseButton.js.map +1 -1
  218. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  219. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  220. package/dist/cjs/components/ModalPage/ModalPageContext.js.map +1 -1
  221. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  222. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  223. package/dist/cjs/components/ModalRoot/ModalRoot.js +6 -9
  224. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  225. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  226. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  227. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts.map +1 -1
  228. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +2 -1
  229. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  230. package/dist/cjs/components/ModalRoot/constants.js.map +1 -1
  231. package/dist/cjs/components/ModalRoot/types.d.ts +0 -1
  232. package/dist/cjs/components/ModalRoot/types.d.ts.map +1 -1
  233. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  234. package/dist/cjs/components/ModalRoot/useModalManager.d.ts.map +1 -1
  235. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  236. package/dist/cjs/components/ModalRoot/useModalRootContext.js.map +1 -1
  237. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  238. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  239. package/dist/cjs/components/NavIdContext/NavIdContext.js.map +1 -1
  240. package/dist/cjs/components/NavIdContext/useNavId.js.map +1 -1
  241. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
  242. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  243. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts.map +1 -1
  244. package/dist/cjs/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -1
  245. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  246. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  247. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  248. package/dist/cjs/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  249. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  250. package/dist/cjs/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  251. package/dist/cjs/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  252. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  253. package/dist/cjs/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  254. package/dist/cjs/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  255. package/dist/cjs/components/Pagination/utils.js.map +1 -1
  256. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  257. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  258. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  259. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  260. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  261. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  262. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -2
  263. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts.map +1 -1
  264. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +27 -37
  265. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  266. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  267. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  268. package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
  269. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  270. package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
  271. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts.map +1 -1
  272. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +0 -8
  273. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  274. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  275. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +1 -20
  276. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  277. package/dist/cjs/components/Popover/Popover.d.ts +5 -1
  278. package/dist/cjs/components/Popover/Popover.d.ts.map +1 -1
  279. package/dist/cjs/components/Popover/Popover.js +11 -5
  280. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  281. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  282. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  283. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  284. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  285. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  286. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  287. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  288. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  289. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  290. package/dist/cjs/components/Root/Root.d.ts.map +1 -1
  291. package/dist/cjs/components/Root/Root.js +8 -18
  292. package/dist/cjs/components/Root/Root.js.map +1 -1
  293. package/dist/cjs/components/RootComponent/RootComponent.d.ts.map +1 -1
  294. package/dist/cjs/components/RootComponent/RootComponent.js.map +1 -1
  295. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.d.ts.map +1 -1
  296. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -1
  297. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.d.ts.map +1 -1
  298. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -1
  299. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  300. package/dist/cjs/components/ScrollArrow/ScrollArrow.js.map +1 -1
  301. package/dist/cjs/components/Search/Search.js.map +1 -1
  302. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  303. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  304. package/dist/cjs/components/Select/Select.d.ts.map +1 -1
  305. package/dist/cjs/components/Select/Select.js.map +1 -1
  306. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  307. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  308. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  309. package/dist/cjs/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  310. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  311. package/dist/cjs/components/Skeleton/Skeleton.js.map +1 -1
  312. package/dist/cjs/components/Slider/Slider.d.ts.map +1 -1
  313. package/dist/cjs/components/Slider/Slider.js +7 -2
  314. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  315. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  316. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  317. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js +6 -5
  318. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  319. package/dist/cjs/components/Slider/helpers.d.ts.map +1 -1
  320. package/dist/cjs/components/Slider/helpers.js.map +1 -1
  321. package/dist/cjs/components/Slider/types.js.map +1 -1
  322. package/dist/cjs/components/Snackbar/Snackbar.d.ts +1 -1
  323. package/dist/cjs/components/Snackbar/Snackbar.d.ts.map +1 -1
  324. package/dist/cjs/components/Snackbar/Snackbar.js +11 -10
  325. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  326. package/dist/cjs/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  327. package/dist/cjs/components/Snackbar/types.js.map +1 -1
  328. package/dist/cjs/components/Snackbar/utils.d.ts +0 -1
  329. package/dist/cjs/components/Snackbar/utils.d.ts.map +1 -1
  330. package/dist/cjs/components/Snackbar/utils.js.map +1 -1
  331. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  332. package/dist/cjs/components/Spinner/Spinner.d.ts.map +1 -1
  333. package/dist/cjs/components/Spinner/Spinner.js +37 -18
  334. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  335. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  336. package/dist/cjs/components/SplitCol/SplitColContext.js.map +1 -1
  337. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  338. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  339. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  340. package/dist/cjs/components/Switch/Switch.d.ts +1 -1
  341. package/dist/cjs/components/Switch/Switch.d.ts.map +1 -1
  342. package/dist/cjs/components/Switch/Switch.js +41 -19
  343. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  344. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  345. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  346. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  347. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  348. package/dist/cjs/components/Tappable/Ripple.d.ts.map +1 -1
  349. package/dist/cjs/components/Tappable/Ripple.js +10 -3
  350. package/dist/cjs/components/Tappable/Ripple.js.map +1 -1
  351. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  352. package/dist/cjs/components/Tappable/state.js.map +1 -1
  353. package/dist/cjs/components/Textarea/Textarea.d.ts.map +1 -1
  354. package/dist/cjs/components/Textarea/Textarea.js +7 -19
  355. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  356. package/dist/cjs/components/Textarea/useResizeTextarea.d.ts +3 -0
  357. package/dist/cjs/components/Textarea/useResizeTextarea.d.ts.map +1 -0
  358. package/dist/cjs/components/Textarea/useResizeTextarea.js +45 -0
  359. package/dist/cjs/components/Textarea/useResizeTextarea.js.map +1 -0
  360. package/dist/cjs/components/ToolButton/ToolButton.js.map +1 -1
  361. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  362. package/dist/cjs/components/TooltipBase/TooltipBase.js.map +1 -1
  363. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  364. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  365. package/dist/cjs/components/Typography/Caption/Caption.d.ts +1 -1
  366. package/dist/cjs/components/Typography/Caption/Caption.d.ts.map +1 -1
  367. package/dist/cjs/components/Typography/Caption/Caption.js +4 -2
  368. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  369. package/dist/cjs/components/Typography/DisplayTitle/DisplayTitle.d.ts +11 -0
  370. package/dist/cjs/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -0
  371. package/dist/cjs/components/Typography/DisplayTitle/DisplayTitle.js +38 -0
  372. package/dist/cjs/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -0
  373. package/dist/cjs/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  374. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +1 -1
  375. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts.map +1 -1
  376. package/dist/cjs/components/Typography/Footnote/Footnote.js +4 -2
  377. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  378. package/dist/cjs/components/Typography/Headline/Headline.d.ts +1 -1
  379. package/dist/cjs/components/Typography/Headline/Headline.d.ts.map +1 -1
  380. package/dist/cjs/components/Typography/Headline/Headline.js +4 -2
  381. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  382. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  383. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
  384. package/dist/cjs/components/Typography/Paragraph/Paragraph.js +4 -2
  385. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  386. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +1 -1
  387. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts.map +1 -1
  388. package/dist/cjs/components/Typography/Subhead/Subhead.js +4 -2
  389. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  390. package/dist/cjs/components/Typography/Text/Text.d.ts +1 -1
  391. package/dist/cjs/components/Typography/Text/Text.d.ts.map +1 -1
  392. package/dist/cjs/components/Typography/Text/Text.js +4 -2
  393. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  394. package/dist/cjs/components/Typography/Title/Title.d.ts +1 -1
  395. package/dist/cjs/components/Typography/Title/Title.d.ts.map +1 -1
  396. package/dist/cjs/components/Typography/Title/Title.js +4 -2
  397. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  398. package/dist/cjs/components/Typography/Typography.d.ts +5 -1
  399. package/dist/cjs/components/Typography/Typography.d.ts.map +1 -1
  400. package/dist/cjs/components/Typography/Typography.js +4 -3
  401. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  402. package/dist/cjs/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  403. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  404. package/dist/cjs/components/View/View.d.ts.map +1 -1
  405. package/dist/cjs/components/View/View.js +36 -50
  406. package/dist/cjs/components/View/View.js.map +1 -1
  407. package/dist/cjs/components/View/ViewInfinite.d.ts.map +1 -1
  408. package/dist/cjs/components/View/ViewInfinite.js +16 -18
  409. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  410. package/dist/cjs/components/View/utils.js.map +1 -1
  411. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  412. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  413. package/dist/cjs/components/WriteBar/WriteBar.d.ts.map +1 -1
  414. package/dist/cjs/components/WriteBar/WriteBar.js +3 -19
  415. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  416. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  417. package/dist/cjs/helpers/avatar.js.map +1 -1
  418. package/dist/cjs/helpers/getMergedSameEventsByProps.d.ts +1 -1
  419. package/dist/cjs/helpers/getMergedSameEventsByProps.d.ts.map +1 -1
  420. package/dist/cjs/helpers/getMergedSameEventsByProps.js.map +1 -1
  421. package/dist/cjs/helpers/getOrDefault.js.map +1 -1
  422. package/dist/cjs/helpers/math.js.map +1 -1
  423. package/dist/cjs/helpers/range.js.map +1 -1
  424. package/dist/cjs/hoc/withContext.js.map +1 -1
  425. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  426. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  427. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  428. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.d.ts +3 -3
  429. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.d.ts.map +1 -1
  430. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  431. package/dist/cjs/hooks/useAdaptivityConditionalRender/index.js.map +1 -1
  432. package/dist/cjs/hooks/useAdaptivityConditionalRender/types.js.map +1 -1
  433. package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  434. package/dist/cjs/hooks/useAdaptivityHasPointer.js.map +1 -1
  435. package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  436. package/dist/cjs/hooks/useAppearance.js.map +1 -1
  437. package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
  438. package/dist/cjs/hooks/useAutoFocus.js.map +1 -1
  439. package/dist/cjs/hooks/useBooleanState.js.map +1 -1
  440. package/dist/cjs/hooks/useCalendar.d.ts +2 -0
  441. package/dist/cjs/hooks/useCalendar.d.ts.map +1 -1
  442. package/dist/cjs/hooks/useCalendar.js +43 -1
  443. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  444. package/dist/cjs/hooks/useDateInput.d.ts.map +1 -1
  445. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  446. package/dist/cjs/hooks/useDirection.js.map +1 -1
  447. package/dist/cjs/hooks/useDraggableWithDomApi/autoScroll.js.map +1 -1
  448. package/dist/cjs/hooks/useDraggableWithDomApi/constants.js.map +1 -1
  449. package/dist/cjs/hooks/useDraggableWithDomApi/index.js.map +1 -1
  450. package/dist/cjs/hooks/useDraggableWithDomApi/types.js.map +1 -1
  451. package/dist/cjs/hooks/useDraggableWithDomApi/useDraggableWithDomApi.d.ts.map +1 -1
  452. package/dist/cjs/hooks/useDraggableWithDomApi/useDraggableWithDomApi.js.map +1 -1
  453. package/dist/cjs/hooks/useDraggableWithDomApi/utils.d.ts +2 -2
  454. package/dist/cjs/hooks/useDraggableWithDomApi/utils.d.ts.map +1 -1
  455. package/dist/cjs/hooks/useDraggableWithDomApi/utils.js.map +1 -1
  456. package/dist/cjs/hooks/useEffectDev.js.map +1 -1
  457. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  458. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  459. package/dist/cjs/hooks/useExternRef.js.map +1 -1
  460. package/dist/cjs/hooks/useFocusVisible.d.ts.map +1 -1
  461. package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
  462. package/dist/cjs/hooks/useFocusVisibleClassName.js.map +1 -1
  463. package/dist/cjs/hooks/useFocusWithin.js.map +1 -1
  464. package/dist/cjs/hooks/useGlobalEscKeyDown.js.map +1 -1
  465. package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
  466. package/dist/cjs/hooks/useGlobalOnClickOutside.d.ts +1 -1
  467. package/dist/cjs/hooks/useGlobalOnClickOutside.d.ts.map +1 -1
  468. package/dist/cjs/hooks/useGlobalOnClickOutside.js.map +1 -1
  469. package/dist/cjs/hooks/useIsClient.js.map +1 -1
  470. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  471. package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
  472. package/dist/cjs/hooks/useMediaQueries.d.ts.map +1 -1
  473. package/dist/cjs/hooks/useMediaQueries.js +21 -18
  474. package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
  475. package/dist/cjs/hooks/useNativeFormResetListener.d.ts.map +1 -1
  476. package/dist/cjs/hooks/useNativeFormResetListener.js.map +1 -1
  477. package/dist/cjs/hooks/useObjectMemo.js.map +1 -1
  478. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  479. package/dist/cjs/hooks/usePagination.d.ts.map +1 -1
  480. package/dist/cjs/hooks/usePagination.js.map +1 -1
  481. package/dist/cjs/hooks/usePatchChildren.d.ts.map +1 -1
  482. package/dist/cjs/hooks/usePatchChildren.js.map +1 -1
  483. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  484. package/dist/cjs/hooks/usePrevious.js.map +1 -1
  485. package/dist/cjs/hooks/useResizeObserver.d.ts +1 -1
  486. package/dist/cjs/hooks/useResizeObserver.d.ts.map +1 -1
  487. package/dist/cjs/hooks/useResizeObserver.js +4 -4
  488. package/dist/cjs/hooks/useResizeObserver.js.map +1 -1
  489. package/dist/cjs/hooks/useStableCallback.js.map +1 -1
  490. package/dist/cjs/hooks/useTodayDate.js.map +1 -1
  491. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +1 -3
  492. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts.map +1 -1
  493. package/dist/cjs/hooks/useWaitTransitionFinish.js +4 -9
  494. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  495. package/dist/cjs/index.d.ts +7 -1
  496. package/dist/cjs/index.d.ts.map +1 -1
  497. package/dist/cjs/index.js +8 -0
  498. package/dist/cjs/index.js.map +1 -1
  499. package/dist/cjs/lib/SSR.js.map +1 -1
  500. package/dist/cjs/lib/accessibility.d.ts +1 -1
  501. package/dist/cjs/lib/accessibility.d.ts.map +1 -1
  502. package/dist/cjs/lib/accessibility.js +1 -0
  503. package/dist/cjs/lib/accessibility.js.map +1 -1
  504. package/dist/cjs/lib/adaptivity/constants.js.map +1 -1
  505. package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
  506. package/dist/cjs/lib/adaptivity/index.js.map +1 -1
  507. package/dist/cjs/lib/adaptivity/types.js.map +1 -1
  508. package/dist/cjs/lib/animate.js.map +1 -1
  509. package/dist/cjs/lib/animation/fades.js.map +1 -1
  510. package/dist/cjs/lib/animation/index.d.ts +1 -0
  511. package/dist/cjs/lib/animation/index.d.ts.map +1 -1
  512. package/dist/cjs/lib/animation/index.js +7 -0
  513. package/dist/cjs/lib/animation/index.js.map +1 -1
  514. package/dist/cjs/lib/animation/rubberbandIfOutOfBounds.js.map +1 -1
  515. package/dist/cjs/lib/animation/transformOrigin.js.map +1 -1
  516. package/dist/cjs/lib/animation/useCSSKeyframesAnimationController.d.ts +1 -1
  517. package/dist/cjs/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  518. package/dist/cjs/lib/animation/useCSSKeyframesAnimationController.js +5 -6
  519. package/dist/cjs/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  520. package/dist/cjs/lib/animation/useReducedMotion.js.map +1 -1
  521. package/dist/cjs/lib/appearance/index.js.map +1 -1
  522. package/dist/cjs/lib/appearance/types.js.map +1 -1
  523. package/dist/cjs/lib/browser.js.map +1 -1
  524. package/dist/cjs/lib/calendar.js.map +1 -1
  525. package/dist/cjs/lib/callMultiple.js.map +1 -1
  526. package/dist/cjs/lib/children.d.ts.map +1 -1
  527. package/dist/cjs/lib/children.js.map +1 -1
  528. package/dist/cjs/lib/comparing.js.map +1 -1
  529. package/dist/cjs/lib/createPortal.d.ts.map +1 -1
  530. package/dist/cjs/lib/createPortal.js.map +1 -1
  531. package/dist/cjs/lib/date.js.map +1 -1
  532. package/dist/cjs/lib/dom.d.ts +0 -1
  533. package/dist/cjs/lib/dom.d.ts.map +1 -1
  534. package/dist/cjs/lib/dom.js.map +1 -1
  535. package/dist/cjs/lib/floating/adapters.js.map +1 -1
  536. package/dist/cjs/lib/floating/customResizeObserver.js.map +1 -1
  537. package/dist/cjs/lib/floating/functions.d.ts +1 -1
  538. package/dist/cjs/lib/floating/functions.js.map +1 -1
  539. package/dist/cjs/lib/floating/index.js.map +1 -1
  540. package/dist/cjs/lib/floating/types/common.js.map +1 -1
  541. package/dist/cjs/lib/floating/types/component.js.map +1 -1
  542. package/dist/cjs/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +1 -11
  543. package/dist/cjs/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  544. package/dist/cjs/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  545. package/dist/cjs/lib/floating/useFloatingWithInteractions/constants.js.map +1 -1
  546. package/dist/cjs/lib/floating/useFloatingWithInteractions/index.js.map +1 -1
  547. package/dist/cjs/lib/floating/useFloatingWithInteractions/types.d.ts +0 -1
  548. package/dist/cjs/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  549. package/dist/cjs/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  550. package/dist/cjs/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  551. package/dist/cjs/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  552. package/dist/cjs/lib/floating/useFloatingWithInteractions/useResolveTriggerType.js.map +1 -1
  553. package/dist/cjs/lib/floating/usePlacementChangeCallback.js.map +1 -1
  554. package/dist/cjs/lib/fx.js.map +1 -1
  555. package/dist/cjs/lib/getNavId.js.map +1 -1
  556. package/dist/cjs/lib/isRefObject.d.ts.map +1 -1
  557. package/dist/cjs/lib/isRefObject.js.map +1 -1
  558. package/dist/cjs/lib/layouts/gaps.d.ts +32 -0
  559. package/dist/cjs/lib/layouts/gaps.d.ts.map +1 -0
  560. package/dist/cjs/lib/layouts/gaps.js +60 -0
  561. package/dist/cjs/lib/layouts/gaps.js.map +1 -0
  562. package/dist/cjs/lib/layouts/index.d.ts +2 -0
  563. package/dist/cjs/lib/layouts/index.d.ts.map +1 -0
  564. package/dist/cjs/lib/layouts/index.js +24 -0
  565. package/dist/cjs/lib/layouts/index.js.map +1 -0
  566. package/dist/cjs/lib/matchMedia.js.map +1 -1
  567. package/dist/cjs/lib/mergeCalls.js.map +1 -1
  568. package/dist/cjs/lib/offset.js.map +1 -1
  569. package/dist/cjs/lib/platform.js.map +1 -1
  570. package/dist/cjs/lib/rafSchd.d.ts.map +1 -1
  571. package/dist/cjs/lib/rafSchd.js.map +1 -1
  572. package/dist/cjs/lib/react/index.js.map +1 -1
  573. package/dist/cjs/lib/react/simulateReactInput.js.map +1 -1
  574. package/dist/cjs/lib/removeObjectKeys.js.map +1 -1
  575. package/dist/cjs/lib/select.js.map +1 -1
  576. package/dist/cjs/lib/styles.js.map +1 -1
  577. package/dist/cjs/lib/testing.js.map +1 -1
  578. package/dist/cjs/lib/tokens/TokensClassProvider.js.map +1 -1
  579. package/dist/cjs/lib/tokens/constants.js.map +1 -1
  580. package/dist/cjs/lib/tokens/index.js.map +1 -1
  581. package/dist/cjs/lib/tokens/types.js.map +1 -1
  582. package/dist/cjs/lib/tokens/useTokenClassName.js.map +1 -1
  583. package/dist/cjs/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  584. package/dist/cjs/lib/touch/functions.js.map +1 -1
  585. package/dist/cjs/lib/touch/index.js.map +1 -1
  586. package/dist/cjs/lib/useIsomorphicLayoutEffect.js.map +1 -1
  587. package/dist/cjs/lib/utils.d.ts +1 -1
  588. package/dist/cjs/lib/utils.d.ts.map +1 -1
  589. package/dist/cjs/lib/utils.js.map +1 -1
  590. package/dist/cjs/lib/warnOnce.js.map +1 -1
  591. package/dist/cjs/shared/breakpoints.d.js +8 -0
  592. package/dist/cjs/shared/breakpoints.d.js.map +1 -0
  593. package/dist/cjs/shared/breakpoints.js.map +1 -1
  594. package/dist/cjs/types.d.ts +1 -0
  595. package/dist/cjs/types.d.ts.map +1 -1
  596. package/dist/cjs/types.js.map +1 -1
  597. package/dist/cjs/vkui.js.map +1 -1
  598. package/dist/components/Accordion/Accordion.js.map +1 -1
  599. package/dist/components/Accordion/AccordionContent.d.ts.map +1 -1
  600. package/dist/components/Accordion/AccordionContent.js +35 -39
  601. package/dist/components/Accordion/AccordionContent.js.map +1 -1
  602. package/dist/components/Accordion/AccordionContext.js.map +1 -1
  603. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  604. package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
  605. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  606. package/dist/components/ActionSheet/ActionSheet.js +24 -32
  607. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  608. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  609. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  610. package/dist/components/ActionSheet/ActionSheetDropdownMenu.d.ts +1 -1
  611. package/dist/components/ActionSheet/ActionSheetDropdownMenu.d.ts.map +1 -1
  612. package/dist/components/ActionSheet/ActionSheetDropdownMenu.js +7 -3
  613. package/dist/components/ActionSheet/ActionSheetDropdownMenu.js.map +1 -1
  614. package/dist/components/ActionSheet/ActionSheetDropdownSheet.js +1 -1
  615. package/dist/components/ActionSheet/ActionSheetDropdownSheet.js.map +1 -1
  616. package/dist/components/ActionSheet/types.js.map +1 -1
  617. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  618. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  619. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  620. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  621. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  622. package/dist/components/Alert/Alert.d.ts.map +1 -1
  623. package/dist/components/Alert/Alert.js +23 -34
  624. package/dist/components/Alert/Alert.js.map +1 -1
  625. package/dist/components/Alert/AlertAction.js.map +1 -1
  626. package/dist/components/Alert/AlertActions.js.map +1 -1
  627. package/dist/components/Alert/AlertTypography.js.map +1 -1
  628. package/dist/components/AppRoot/AppRoot.d.ts +14 -2
  629. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  630. package/dist/components/AppRoot/AppRoot.js +12 -4
  631. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  632. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  633. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  634. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  635. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  636. package/dist/components/AppRoot/helpers.d.ts +6 -1
  637. package/dist/components/AppRoot/helpers.d.ts.map +1 -1
  638. package/dist/components/AppRoot/helpers.js +21 -0
  639. package/dist/components/AppRoot/helpers.js.map +1 -1
  640. package/dist/components/AppRoot/types.d.ts +1 -0
  641. package/dist/components/AppRoot/types.d.ts.map +1 -1
  642. package/dist/components/AppRoot/types.js.map +1 -1
  643. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  644. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  645. package/dist/components/Avatar/Avatar.d.ts +1 -1
  646. package/dist/components/Avatar/Avatar.js.map +1 -1
  647. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  648. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  649. package/dist/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  650. package/dist/components/Avatar/AvatarBadge/icons.js.map +1 -1
  651. package/dist/components/Avatar/helpers.js.map +1 -1
  652. package/dist/components/Badge/Badge.js.map +1 -1
  653. package/dist/components/Banner/Banner.js.map +1 -1
  654. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  655. package/dist/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
  656. package/dist/components/BaseGallery/CarouselBase/constants.js.map +1 -1
  657. package/dist/components/BaseGallery/CarouselBase/helpers.js.map +1 -1
  658. package/dist/components/BaseGallery/CarouselBase/hooks.js.map +1 -1
  659. package/dist/components/BaseGallery/CarouselBase/types.js.map +1 -1
  660. package/dist/components/BaseGallery/helpers.js.map +1 -1
  661. package/dist/components/BaseGallery/types.js.map +1 -1
  662. package/dist/components/Button/Button.js.map +1 -1
  663. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  664. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  665. package/dist/components/Calendar/Calendar.js +4 -2
  666. package/dist/components/Calendar/Calendar.js.map +1 -1
  667. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  668. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  669. package/dist/components/CalendarHeader/CalendarHeader.d.ts +3 -1
  670. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  671. package/dist/components/CalendarHeader/CalendarHeader.js +23 -10
  672. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  673. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  674. package/dist/components/CalendarRange/CalendarRange.js +12 -5
  675. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  676. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  677. package/dist/components/Card/Card.js.map +1 -1
  678. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  679. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  680. package/dist/components/Cell/Cell.js.map +1 -1
  681. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  682. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  683. package/dist/components/Cell/constants.js.map +1 -1
  684. package/dist/components/CellButton/CellButton.js.map +1 -1
  685. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  686. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  687. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  688. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  689. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  690. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  691. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
  692. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  693. package/dist/components/ChipsInputBase/constants.js.map +1 -1
  694. package/dist/components/ChipsInputBase/helpers.d.ts.map +1 -1
  695. package/dist/components/ChipsInputBase/helpers.js.map +1 -1
  696. package/dist/components/ChipsInputBase/types.js.map +1 -1
  697. package/dist/components/ChipsSelect/ChipsSelect.d.ts +5 -1
  698. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  699. package/dist/components/ChipsSelect/ChipsSelect.js +15 -8
  700. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  701. package/dist/components/ChipsSelect/constants.d.ts.map +1 -1
  702. package/dist/components/ChipsSelect/constants.js.map +1 -1
  703. package/dist/components/ChipsSelect/types.js.map +1 -1
  704. package/dist/components/ChipsSelect/useChipsSelect.d.ts +10 -2
  705. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  706. package/dist/components/ChipsSelect/useChipsSelect.js +12 -4
  707. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  708. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  709. package/dist/components/Clickable/Clickable.js.map +1 -1
  710. package/dist/components/Clickable/useKeyboard.d.ts.map +1 -1
  711. package/dist/components/Clickable/useKeyboard.js.map +1 -1
  712. package/dist/components/Clickable/useState.d.ts.map +1 -1
  713. package/dist/components/Clickable/useState.js.map +1 -1
  714. package/dist/components/Clickable/useStateWithDelay.js.map +1 -1
  715. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  716. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  717. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  718. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  719. package/dist/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  720. package/dist/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
  721. package/dist/components/ContentBadge/types.js.map +1 -1
  722. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  723. package/dist/components/Counter/Counter.js.map +1 -1
  724. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  725. package/dist/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  726. package/dist/components/CustomScrollView/useTrackerVisibility.js +31 -37
  727. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  728. package/dist/components/CustomSelect/CustomSelect.d.ts +5 -2
  729. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  730. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  731. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  732. package/dist/components/CustomSelect/CustomSelectInput.js.map +1 -1
  733. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  734. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  735. package/dist/components/DateInput/DateInput.js.map +1 -1
  736. package/dist/components/DatePicker/DatePicker.d.ts +6 -0
  737. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  738. package/dist/components/DatePicker/DatePicker.js +6 -0
  739. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  740. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  741. package/dist/components/Div/Div.js.map +1 -1
  742. package/dist/components/DropZone/DropZone.js.map +1 -1
  743. package/dist/components/DropZone/components/DropZoneGrid.js.map +1 -1
  744. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  745. package/dist/components/Epic/Epic.js.map +1 -1
  746. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  747. package/dist/components/File/File.js.map +1 -1
  748. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  749. package/dist/components/FixedLayout/FixedLayout.js +19 -6
  750. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  751. package/dist/components/Flex/Flex.d.ts +42 -0
  752. package/dist/components/Flex/Flex.d.ts.map +1 -0
  753. package/dist/components/Flex/Flex.js +50 -0
  754. package/dist/components/Flex/Flex.js.map +1 -0
  755. package/dist/components/Flex/FlexItem/FlexItem.d.ts +20 -0
  756. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -0
  757. package/dist/components/Flex/FlexItem/FlexItem.js +37 -0
  758. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -0
  759. package/dist/components/FloatingArrow/DefaultIcon.d.ts.map +1 -1
  760. package/dist/components/FloatingArrow/DefaultIcon.js.map +1 -1
  761. package/dist/components/FloatingArrow/FloatingArrow.js +14 -4
  762. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  763. package/dist/components/FocusTrap/FocusTrap.d.ts +6 -1
  764. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  765. package/dist/components/FocusTrap/FocusTrap.js +45 -20
  766. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  767. package/dist/components/Footer/Footer.js.map +1 -1
  768. package/dist/components/FormField/FormField.js.map +1 -1
  769. package/dist/components/FormItem/FormItem.js.map +1 -1
  770. package/dist/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
  771. package/dist/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
  772. package/dist/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
  773. package/dist/components/FormItem/context.js.map +1 -1
  774. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  775. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  776. package/dist/components/Gallery/Gallery.js.map +1 -1
  777. package/dist/components/Gallery/hooks.d.ts +1 -1
  778. package/dist/components/Gallery/hooks.d.ts.map +1 -1
  779. package/dist/components/Gallery/hooks.js +24 -21
  780. package/dist/components/Gallery/hooks.js.map +1 -1
  781. package/dist/components/Gradient/Gradient.js.map +1 -1
  782. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  783. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  784. package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  785. package/dist/components/Group/Group.js.map +1 -1
  786. package/dist/components/Header/Header.js.map +1 -1
  787. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  788. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  789. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  790. package/dist/components/IconButton/IconButton.js.map +1 -1
  791. package/dist/components/Image/Image.d.ts +1 -1
  792. package/dist/components/Image/Image.js.map +1 -1
  793. package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  794. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  795. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  796. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  797. package/dist/components/ImageBase/context.js.map +1 -1
  798. package/dist/components/ImageBase/helpers.js.map +1 -1
  799. package/dist/components/ImageBase/types.js.map +1 -1
  800. package/dist/components/ImageBase/validators.js.map +1 -1
  801. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  802. package/dist/components/Input/Input.js.map +1 -1
  803. package/dist/components/InputLike/InputLike.js.map +1 -1
  804. package/dist/components/InputLike/InputLikeDivider.d.ts.map +1 -1
  805. package/dist/components/InputLike/InputLikeDivider.js.map +1 -1
  806. package/dist/components/Link/Link.d.ts.map +1 -1
  807. package/dist/components/Link/Link.js +1 -0
  808. package/dist/components/Link/Link.js.map +1 -1
  809. package/dist/components/List/List.js.map +1 -1
  810. package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
  811. package/dist/components/Mark/Mark.js.map +1 -1
  812. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  813. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  814. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  815. package/dist/components/ModalCardBase/ModalCardBaseCloseButton.js.map +1 -1
  816. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  817. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  818. package/dist/components/ModalPage/ModalPageContext.js.map +1 -1
  819. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  820. package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  821. package/dist/components/ModalRoot/ModalRoot.js +6 -9
  822. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  823. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  824. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  825. package/dist/components/ModalRoot/ModalRootDesktop.d.ts.map +1 -1
  826. package/dist/components/ModalRoot/ModalRootDesktop.js +2 -1
  827. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  828. package/dist/components/ModalRoot/constants.js.map +1 -1
  829. package/dist/components/ModalRoot/types.d.ts +0 -1
  830. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  831. package/dist/components/ModalRoot/types.js.map +1 -1
  832. package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
  833. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  834. package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
  835. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  836. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  837. package/dist/components/NavIdContext/NavIdContext.js.map +1 -1
  838. package/dist/components/NavIdContext/useNavId.js.map +1 -1
  839. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
  840. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  841. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts.map +1 -1
  842. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -1
  843. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  844. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  845. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  846. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  847. package/dist/components/Pagination/Pagination.js.map +1 -1
  848. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  849. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  850. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  851. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  852. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  853. package/dist/components/Pagination/utils.js.map +1 -1
  854. package/dist/components/Panel/Panel.js.map +1 -1
  855. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  856. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  857. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  858. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  859. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  860. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -2
  861. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts.map +1 -1
  862. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +27 -37
  863. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  864. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  865. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  866. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  867. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  868. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  869. package/dist/components/PopoutRoot/PopoutRoot.d.ts.map +1 -1
  870. package/dist/components/PopoutRoot/PopoutRoot.js +0 -8
  871. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  872. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  873. package/dist/components/PopoutWrapper/PopoutWrapper.js +1 -19
  874. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  875. package/dist/components/Popover/Popover.d.ts +5 -1
  876. package/dist/components/Popover/Popover.d.ts.map +1 -1
  877. package/dist/components/Popover/Popover.js +11 -5
  878. package/dist/components/Popover/Popover.js.map +1 -1
  879. package/dist/components/Popper/Popper.js.map +1 -1
  880. package/dist/components/Progress/Progress.js.map +1 -1
  881. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  882. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  883. package/dist/components/Radio/Radio.js.map +1 -1
  884. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  885. package/dist/components/Removable/Removable.js.map +1 -1
  886. package/dist/components/RichCell/RichCell.js.map +1 -1
  887. package/dist/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  888. package/dist/components/Root/Root.d.ts.map +1 -1
  889. package/dist/components/Root/Root.js +8 -18
  890. package/dist/components/Root/Root.js.map +1 -1
  891. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  892. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  893. package/dist/components/ScreenSpinner/Icon48CancelCircle.d.ts.map +1 -1
  894. package/dist/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -1
  895. package/dist/components/ScreenSpinner/Icon48DoneOutline.d.ts.map +1 -1
  896. package/dist/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -1
  897. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  898. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  899. package/dist/components/Search/Search.js.map +1 -1
  900. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  901. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  902. package/dist/components/Select/Select.d.ts.map +1 -1
  903. package/dist/components/Select/Select.js.map +1 -1
  904. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  905. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  906. package/dist/components/Separator/Separator.js.map +1 -1
  907. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  908. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  909. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  910. package/dist/components/Slider/Slider.d.ts.map +1 -1
  911. package/dist/components/Slider/Slider.js +7 -2
  912. package/dist/components/Slider/Slider.js.map +1 -1
  913. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  914. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  915. package/dist/components/Slider/SliderThumb/SliderThumb.js +6 -5
  916. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  917. package/dist/components/Slider/helpers.d.ts.map +1 -1
  918. package/dist/components/Slider/helpers.js.map +1 -1
  919. package/dist/components/Slider/types.js.map +1 -1
  920. package/dist/components/Snackbar/Snackbar.d.ts +1 -1
  921. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  922. package/dist/components/Snackbar/Snackbar.js +11 -10
  923. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  924. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  925. package/dist/components/Snackbar/types.js.map +1 -1
  926. package/dist/components/Snackbar/utils.d.ts +0 -1
  927. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  928. package/dist/components/Snackbar/utils.js.map +1 -1
  929. package/dist/components/Spacing/Spacing.js.map +1 -1
  930. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  931. package/dist/components/Spinner/Spinner.js +37 -18
  932. package/dist/components/Spinner/Spinner.js.map +1 -1
  933. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  934. package/dist/components/SplitCol/SplitColContext.js.map +1 -1
  935. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  936. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  937. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  938. package/dist/components/Switch/Switch.d.ts +1 -1
  939. package/dist/components/Switch/Switch.d.ts.map +1 -1
  940. package/dist/components/Switch/Switch.js +41 -19
  941. package/dist/components/Switch/Switch.js.map +1 -1
  942. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  943. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  944. package/dist/components/Tabs/Tabs.js.map +1 -1
  945. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  946. package/dist/components/Tappable/Ripple.d.ts.map +1 -1
  947. package/dist/components/Tappable/Ripple.js +10 -3
  948. package/dist/components/Tappable/Ripple.js.map +1 -1
  949. package/dist/components/Tappable/Tappable.js.map +1 -1
  950. package/dist/components/Tappable/state.js.map +1 -1
  951. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  952. package/dist/components/Textarea/Textarea.js +7 -19
  953. package/dist/components/Textarea/Textarea.js.map +1 -1
  954. package/dist/components/Textarea/useResizeTextarea.d.ts +3 -0
  955. package/dist/components/Textarea/useResizeTextarea.d.ts.map +1 -0
  956. package/dist/components/Textarea/useResizeTextarea.js +34 -0
  957. package/dist/components/Textarea/useResizeTextarea.js.map +1 -0
  958. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  959. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  960. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  961. package/dist/components/Touch/Touch.js.map +1 -1
  962. package/dist/components/Touch/TouchContext.js.map +1 -1
  963. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  964. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  965. package/dist/components/Typography/Caption/Caption.js +4 -2
  966. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  967. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +11 -0
  968. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -0
  969. package/dist/components/Typography/DisplayTitle/DisplayTitle.js +32 -0
  970. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -0
  971. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  972. package/dist/components/Typography/Footnote/Footnote.d.ts +1 -1
  973. package/dist/components/Typography/Footnote/Footnote.d.ts.map +1 -1
  974. package/dist/components/Typography/Footnote/Footnote.js +4 -2
  975. package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
  976. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  977. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  978. package/dist/components/Typography/Headline/Headline.js +4 -2
  979. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  980. package/dist/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  981. package/dist/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
  982. package/dist/components/Typography/Paragraph/Paragraph.js +4 -2
  983. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  984. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -1
  985. package/dist/components/Typography/Subhead/Subhead.d.ts.map +1 -1
  986. package/dist/components/Typography/Subhead/Subhead.js +4 -2
  987. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  988. package/dist/components/Typography/Text/Text.d.ts +1 -1
  989. package/dist/components/Typography/Text/Text.d.ts.map +1 -1
  990. package/dist/components/Typography/Text/Text.js +4 -2
  991. package/dist/components/Typography/Text/Text.js.map +1 -1
  992. package/dist/components/Typography/Title/Title.d.ts +1 -1
  993. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  994. package/dist/components/Typography/Title/Title.js +4 -2
  995. package/dist/components/Typography/Title/Title.js.map +1 -1
  996. package/dist/components/Typography/Typography.d.ts +5 -1
  997. package/dist/components/Typography/Typography.d.ts.map +1 -1
  998. package/dist/components/Typography/Typography.js +4 -3
  999. package/dist/components/Typography/Typography.js.map +1 -1
  1000. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  1001. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  1002. package/dist/components/View/View.d.ts.map +1 -1
  1003. package/dist/components/View/View.js +36 -50
  1004. package/dist/components/View/View.js.map +1 -1
  1005. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  1006. package/dist/components/View/ViewInfinite.js +17 -19
  1007. package/dist/components/View/ViewInfinite.js.map +1 -1
  1008. package/dist/components/View/utils.js.map +1 -1
  1009. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  1010. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  1011. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  1012. package/dist/components/WriteBar/WriteBar.js +3 -19
  1013. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  1014. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1015. package/dist/components.css +3 -153
  1016. package/dist/components.css.map +1 -1
  1017. package/dist/components.js.tmp +25127 -69149
  1018. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  1019. package/dist/cssm/components/Accordion/Accordion.module.css +94 -2
  1020. package/dist/cssm/components/Accordion/AccordionContent.d.ts.map +1 -1
  1021. package/dist/cssm/components/Accordion/AccordionContent.js +33 -37
  1022. package/dist/cssm/components/Accordion/AccordionContent.js.map +1 -1
  1023. package/dist/cssm/components/Accordion/AccordionContext.js.map +1 -1
  1024. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  1025. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +1 -1
  1026. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  1027. package/dist/cssm/components/ActionSheet/ActionSheet.js +22 -30
  1028. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  1029. package/dist/cssm/components/ActionSheet/ActionSheet.module.css +42 -11
  1030. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  1031. package/dist/cssm/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  1032. package/dist/cssm/components/ActionSheet/ActionSheetDropdownMenu.d.ts +1 -1
  1033. package/dist/cssm/components/ActionSheet/ActionSheetDropdownMenu.d.ts.map +1 -1
  1034. package/dist/cssm/components/ActionSheet/ActionSheetDropdownMenu.js +4 -2
  1035. package/dist/cssm/components/ActionSheet/ActionSheetDropdownMenu.js.map +1 -1
  1036. package/dist/cssm/components/ActionSheet/ActionSheetDropdownSheet.js +1 -1
  1037. package/dist/cssm/components/ActionSheet/ActionSheetDropdownSheet.js.map +1 -1
  1038. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  1039. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  1040. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +3 -1
  1041. package/dist/cssm/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  1042. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  1043. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  1044. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  1045. package/dist/cssm/components/Alert/Alert.d.ts.map +1 -1
  1046. package/dist/cssm/components/Alert/Alert.js +23 -33
  1047. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  1048. package/dist/cssm/components/Alert/Alert.module.css +31 -19
  1049. package/dist/cssm/components/Alert/AlertAction.js.map +1 -1
  1050. package/dist/cssm/components/Alert/AlertActions.js.map +1 -1
  1051. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  1052. package/dist/cssm/components/AppRoot/AppRoot.d.ts +14 -2
  1053. package/dist/cssm/components/AppRoot/AppRoot.d.ts.map +1 -1
  1054. package/dist/cssm/components/AppRoot/AppRoot.js +10 -3
  1055. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  1056. package/dist/cssm/components/AppRoot/AppRoot.module.css +5 -5
  1057. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  1058. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  1059. package/dist/cssm/components/AppRoot/ScrollContext.d.ts.map +1 -1
  1060. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  1061. package/dist/cssm/components/AppRoot/helpers.d.ts +6 -1
  1062. package/dist/cssm/components/AppRoot/helpers.d.ts.map +1 -1
  1063. package/dist/cssm/components/AppRoot/helpers.js +22 -0
  1064. package/dist/cssm/components/AppRoot/helpers.js.map +1 -1
  1065. package/dist/cssm/components/AppRoot/types.d.ts +1 -0
  1066. package/dist/cssm/components/AppRoot/types.d.ts.map +1 -1
  1067. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  1068. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  1069. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  1070. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
  1071. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  1072. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  1073. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  1074. package/dist/cssm/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  1075. package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
  1076. package/dist/cssm/components/Avatar/helpers.js.map +1 -1
  1077. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  1078. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  1079. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  1080. package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
  1081. package/dist/cssm/components/BaseGallery/CarouselBase/constants.js.map +1 -1
  1082. package/dist/cssm/components/BaseGallery/CarouselBase/helpers.js.map +1 -1
  1083. package/dist/cssm/components/BaseGallery/CarouselBase/hooks.js.map +1 -1
  1084. package/dist/cssm/components/BaseGallery/CarouselBase/types.js.map +1 -1
  1085. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  1086. package/dist/cssm/components/BaseGallery/types.js.map +1 -1
  1087. package/dist/cssm/components/Button/Button.js.map +1 -1
  1088. package/dist/cssm/components/Button/Button.module.css +3 -6
  1089. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  1090. package/dist/cssm/components/Calendar/Calendar.d.ts.map +1 -1
  1091. package/dist/cssm/components/Calendar/Calendar.js +4 -2
  1092. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  1093. package/dist/cssm/components/Calendar/Calendar.module.css +1 -1
  1094. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  1095. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  1096. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +3 -1
  1097. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  1098. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +21 -9
  1099. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  1100. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  1101. package/dist/cssm/components/CalendarRange/CalendarRange.js +12 -5
  1102. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  1103. package/dist/cssm/components/CalendarRange/CalendarRange.module.css +1 -1
  1104. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  1105. package/dist/cssm/components/Card/Card.js.map +1 -1
  1106. package/dist/cssm/components/Card/Card.module.css +2 -2
  1107. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  1108. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  1109. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  1110. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  1111. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  1112. package/dist/cssm/components/Cell/constants.js.map +1 -1
  1113. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  1114. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  1115. package/dist/cssm/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  1116. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  1117. package/dist/cssm/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  1118. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  1119. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  1120. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
  1121. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  1122. package/dist/cssm/components/ChipsInputBase/constants.js.map +1 -1
  1123. package/dist/cssm/components/ChipsInputBase/helpers.d.ts.map +1 -1
  1124. package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
  1125. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  1126. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +5 -1
  1127. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  1128. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +11 -7
  1129. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  1130. package/dist/cssm/components/ChipsSelect/constants.d.ts.map +1 -1
  1131. package/dist/cssm/components/ChipsSelect/constants.js.map +1 -1
  1132. package/dist/cssm/components/ChipsSelect/types.js.map +1 -1
  1133. package/dist/cssm/components/ChipsSelect/useChipsSelect.d.ts +10 -2
  1134. package/dist/cssm/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  1135. package/dist/cssm/components/ChipsSelect/useChipsSelect.js +12 -4
  1136. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  1137. package/dist/cssm/components/Clickable/Clickable.d.ts.map +1 -1
  1138. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  1139. package/dist/cssm/components/Clickable/useKeyboard.d.ts.map +1 -1
  1140. package/dist/cssm/components/Clickable/useKeyboard.js.map +1 -1
  1141. package/dist/cssm/components/Clickable/useState.d.ts.map +1 -1
  1142. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  1143. package/dist/cssm/components/Clickable/useStateWithDelay.js.map +1 -1
  1144. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  1145. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  1146. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  1147. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  1148. package/dist/cssm/components/ContentBadge/ContentBadgeContext.js.map +1 -1
  1149. package/dist/cssm/components/ContentBadge/ContentBadgeSlotIcon.js.map +1 -1
  1150. package/dist/cssm/components/ContentBadge/types.js.map +1 -1
  1151. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  1152. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  1153. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  1154. package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +3 -1
  1155. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.d.ts.map +1 -1
  1156. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +31 -37
  1157. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  1158. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +5 -2
  1159. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  1160. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  1161. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  1162. package/dist/cssm/components/CustomSelect/CustomSelectInput.js.map +1 -1
  1163. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  1164. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +1 -1
  1165. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  1166. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  1167. package/dist/cssm/components/DatePicker/DatePicker.d.ts +6 -0
  1168. package/dist/cssm/components/DatePicker/DatePicker.d.ts.map +1 -1
  1169. package/dist/cssm/components/DatePicker/DatePicker.js +6 -0
  1170. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  1171. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  1172. package/dist/cssm/components/Div/Div.js.map +1 -1
  1173. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  1174. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +1 -1
  1175. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  1176. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  1177. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  1178. package/dist/cssm/components/File/File.js.map +1 -1
  1179. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  1180. package/dist/cssm/components/FixedLayout/FixedLayout.js +19 -5
  1181. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  1182. package/dist/cssm/components/Flex/Flex.d.ts +42 -0
  1183. package/dist/cssm/components/Flex/Flex.d.ts.map +1 -0
  1184. package/dist/cssm/components/Flex/Flex.js +42 -0
  1185. package/dist/cssm/components/Flex/Flex.js.map +1 -0
  1186. package/dist/cssm/components/Flex/Flex.module.css +90 -0
  1187. package/dist/cssm/components/Flex/FlexItem/FlexItem.d.ts +20 -0
  1188. package/dist/cssm/components/Flex/FlexItem/FlexItem.d.ts.map +1 -0
  1189. package/dist/cssm/components/Flex/FlexItem/FlexItem.js +30 -0
  1190. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -0
  1191. package/dist/cssm/components/Flex/FlexItem/FlexItem.module.css +43 -0
  1192. package/dist/cssm/components/FloatingArrow/DefaultIcon.d.ts.map +1 -1
  1193. package/dist/cssm/components/FloatingArrow/DefaultIcon.js.map +1 -1
  1194. package/dist/cssm/components/FloatingArrow/FloatingArrow.js +14 -4
  1195. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  1196. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +6 -1
  1197. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  1198. package/dist/cssm/components/FocusTrap/FocusTrap.js +43 -20
  1199. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  1200. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  1201. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  1202. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  1203. package/dist/cssm/components/FormItem/FormItemTop/FormItemTop.js.map +1 -1
  1204. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopAside.js.map +1 -1
  1205. package/dist/cssm/components/FormItem/FormItemTop/FormItemTopLabel.js.map +1 -1
  1206. package/dist/cssm/components/FormItem/context.js.map +1 -1
  1207. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  1208. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  1209. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  1210. package/dist/cssm/components/Gallery/hooks.d.ts +1 -1
  1211. package/dist/cssm/components/Gallery/hooks.d.ts.map +1 -1
  1212. package/dist/cssm/components/Gallery/hooks.js +24 -21
  1213. package/dist/cssm/components/Gallery/hooks.js.map +1 -1
  1214. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  1215. package/dist/cssm/components/GridAvatar/GridAvatar.d.ts +1 -1
  1216. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  1217. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  1218. package/dist/cssm/components/Group/Group.js.map +1 -1
  1219. package/dist/cssm/components/Header/Header.js.map +1 -1
  1220. package/dist/cssm/components/Header/Header.module.css +0 -4
  1221. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  1222. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  1223. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css +2 -2
  1224. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  1225. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  1226. package/dist/cssm/components/Image/Image.d.ts +1 -1
  1227. package/dist/cssm/components/Image/Image.js.map +1 -1
  1228. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  1229. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  1230. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  1231. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  1232. package/dist/cssm/components/ImageBase/context.js.map +1 -1
  1233. package/dist/cssm/components/ImageBase/helpers.js.map +1 -1
  1234. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  1235. package/dist/cssm/components/ImageBase/validators.js.map +1 -1
  1236. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  1237. package/dist/cssm/components/Input/Input.js.map +1 -1
  1238. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  1239. package/dist/cssm/components/InputLike/InputLikeDivider.d.ts.map +1 -1
  1240. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
  1241. package/dist/cssm/components/Link/Link.d.ts.map +1 -1
  1242. package/dist/cssm/components/Link/Link.js +1 -0
  1243. package/dist/cssm/components/Link/Link.js.map +1 -1
  1244. package/dist/cssm/components/Link/Link.module.css +0 -2
  1245. package/dist/cssm/components/List/List.js.map +1 -1
  1246. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  1247. package/dist/cssm/components/Mark/Mark.js.map +1 -1
  1248. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  1249. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  1250. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  1251. package/dist/cssm/components/ModalCardBase/ModalCardBaseCloseButton.js.map +1 -1
  1252. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  1253. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  1254. package/dist/cssm/components/ModalPage/ModalPageContext.js.map +1 -1
  1255. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  1256. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  1257. package/dist/cssm/components/ModalRoot/ModalRoot.js +6 -7
  1258. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  1259. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  1260. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  1261. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts.map +1 -1
  1262. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +2 -1
  1263. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  1264. package/dist/cssm/components/ModalRoot/constants.js.map +1 -1
  1265. package/dist/cssm/components/ModalRoot/types.d.ts +0 -1
  1266. package/dist/cssm/components/ModalRoot/types.d.ts.map +1 -1
  1267. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  1268. package/dist/cssm/components/ModalRoot/useModalManager.d.ts.map +1 -1
  1269. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  1270. package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
  1271. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  1272. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  1273. package/dist/cssm/components/NavIdContext/NavIdContext.js.map +1 -1
  1274. package/dist/cssm/components/NavIdContext/useNavId.js.map +1 -1
  1275. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
  1276. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  1277. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts.map +1 -1
  1278. package/dist/cssm/components/NavTransitionDirectionContext/NavTransitionDirectionContext.js.map +1 -1
  1279. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  1280. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  1281. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  1282. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  1283. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  1284. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  1285. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  1286. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  1287. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  1288. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  1289. package/dist/cssm/components/Pagination/utils.js.map +1 -1
  1290. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  1291. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  1292. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  1293. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  1294. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  1295. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  1296. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +2 -2
  1297. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts.map +1 -1
  1298. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +22 -32
  1299. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  1300. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +34 -30
  1301. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  1302. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  1303. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  1304. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  1305. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  1306. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts.map +1 -1
  1307. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +0 -8
  1308. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  1309. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  1310. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -19
  1311. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  1312. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +16 -2
  1313. package/dist/cssm/components/Popover/Popover.d.ts +5 -1
  1314. package/dist/cssm/components/Popover/Popover.d.ts.map +1 -1
  1315. package/dist/cssm/components/Popover/Popover.js +10 -5
  1316. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  1317. package/dist/cssm/components/Popover/Popover.module.css +6 -2
  1318. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  1319. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  1320. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  1321. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +3 -1
  1322. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  1323. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  1324. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  1325. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  1326. package/dist/cssm/components/Removable/Removable.module.css +1 -6
  1327. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  1328. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  1329. package/dist/cssm/components/Root/Root.d.ts.map +1 -1
  1330. package/dist/cssm/components/Root/Root.js +8 -18
  1331. package/dist/cssm/components/Root/Root.js.map +1 -1
  1332. package/dist/cssm/components/Root/Root.module.css +44 -51
  1333. package/dist/cssm/components/RootComponent/RootComponent.d.ts.map +1 -1
  1334. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  1335. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.d.ts.map +1 -1
  1336. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -1
  1337. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.d.ts.map +1 -1
  1338. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -1
  1339. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  1340. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +1 -1
  1341. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  1342. package/dist/cssm/components/ScrollArrow/ScrollArrow.module.css +1 -1
  1343. package/dist/cssm/components/Search/Search.js.map +1 -1
  1344. package/dist/cssm/components/Search/Search.module.css +4 -1
  1345. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  1346. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +3 -1
  1347. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  1348. package/dist/cssm/components/Select/Select.d.ts.map +1 -1
  1349. package/dist/cssm/components/Select/Select.js.map +1 -1
  1350. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  1351. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  1352. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  1353. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  1354. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  1355. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  1356. package/dist/cssm/components/Skeleton/Skeleton.module.css +7 -0
  1357. package/dist/cssm/components/Slider/Slider.d.ts.map +1 -1
  1358. package/dist/cssm/components/Slider/Slider.js +7 -2
  1359. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  1360. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.d.ts +2 -1
  1361. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  1362. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +4 -4
  1363. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  1364. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.module.css +10 -2
  1365. package/dist/cssm/components/Slider/helpers.d.ts.map +1 -1
  1366. package/dist/cssm/components/Slider/helpers.js.map +1 -1
  1367. package/dist/cssm/components/Slider/types.js.map +1 -1
  1368. package/dist/cssm/components/Snackbar/Snackbar.d.ts +1 -1
  1369. package/dist/cssm/components/Snackbar/Snackbar.d.ts.map +1 -1
  1370. package/dist/cssm/components/Snackbar/Snackbar.js +11 -10
  1371. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  1372. package/dist/cssm/components/Snackbar/Snackbar.module.css +72 -112
  1373. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  1374. package/dist/cssm/components/Snackbar/types.js.map +1 -1
  1375. package/dist/cssm/components/Snackbar/utils.d.ts +0 -1
  1376. package/dist/cssm/components/Snackbar/utils.d.ts.map +1 -1
  1377. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  1378. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  1379. package/dist/cssm/components/Spacing/Spacing.module.css +1 -0
  1380. package/dist/cssm/components/Spinner/Spinner.d.ts.map +1 -1
  1381. package/dist/cssm/components/Spinner/Spinner.js +37 -18
  1382. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  1383. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  1384. package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
  1385. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  1386. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  1387. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  1388. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +1 -1
  1389. package/dist/cssm/components/Switch/Switch.d.ts +1 -1
  1390. package/dist/cssm/components/Switch/Switch.d.ts.map +1 -1
  1391. package/dist/cssm/components/Switch/Switch.js +37 -19
  1392. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  1393. package/dist/cssm/components/Switch/Switch.module.css +198 -142
  1394. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  1395. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1396. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1397. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1398. package/dist/cssm/components/TabsItem/TabsItem.module.css +4 -2
  1399. package/dist/cssm/components/Tappable/Ripple.d.ts.map +1 -1
  1400. package/dist/cssm/components/Tappable/Ripple.js +10 -3
  1401. package/dist/cssm/components/Tappable/Ripple.js.map +1 -1
  1402. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  1403. package/dist/cssm/components/Tappable/Tappable.module.css +0 -2
  1404. package/dist/cssm/components/Tappable/state.js.map +1 -1
  1405. package/dist/cssm/components/Textarea/Textarea.d.ts.map +1 -1
  1406. package/dist/cssm/components/Textarea/Textarea.js +7 -19
  1407. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  1408. package/dist/cssm/components/Textarea/useResizeTextarea.d.ts +3 -0
  1409. package/dist/cssm/components/Textarea/useResizeTextarea.d.ts.map +1 -0
  1410. package/dist/cssm/components/Textarea/useResizeTextarea.js +34 -0
  1411. package/dist/cssm/components/Textarea/useResizeTextarea.js.map +1 -0
  1412. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  1413. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1414. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  1415. package/dist/cssm/components/TooltipBase/TooltipBase.module.css +2 -2
  1416. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  1417. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  1418. package/dist/cssm/components/Typography/Caption/Caption.d.ts +1 -1
  1419. package/dist/cssm/components/Typography/Caption/Caption.d.ts.map +1 -1
  1420. package/dist/cssm/components/Typography/Caption/Caption.js +2 -1
  1421. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1422. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.d.ts +11 -0
  1423. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -0
  1424. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js +25 -0
  1425. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -0
  1426. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.module.css +27 -0
  1427. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  1428. package/dist/cssm/components/Typography/Footnote/Footnote.d.ts +1 -1
  1429. package/dist/cssm/components/Typography/Footnote/Footnote.d.ts.map +1 -1
  1430. package/dist/cssm/components/Typography/Footnote/Footnote.js +2 -1
  1431. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  1432. package/dist/cssm/components/Typography/Headline/Headline.d.ts +1 -1
  1433. package/dist/cssm/components/Typography/Headline/Headline.d.ts.map +1 -1
  1434. package/dist/cssm/components/Typography/Headline/Headline.js +2 -1
  1435. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1436. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  1437. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
  1438. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +2 -1
  1439. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  1440. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -1
  1441. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts.map +1 -1
  1442. package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -1
  1443. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  1444. package/dist/cssm/components/Typography/Text/Text.d.ts +1 -1
  1445. package/dist/cssm/components/Typography/Text/Text.d.ts.map +1 -1
  1446. package/dist/cssm/components/Typography/Text/Text.js +2 -1
  1447. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  1448. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -1
  1449. package/dist/cssm/components/Typography/Title/Title.d.ts.map +1 -1
  1450. package/dist/cssm/components/Typography/Title/Title.js +2 -1
  1451. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1452. package/dist/cssm/components/Typography/Typography.d.ts +5 -1
  1453. package/dist/cssm/components/Typography/Typography.d.ts.map +1 -1
  1454. package/dist/cssm/components/Typography/Typography.js +2 -2
  1455. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  1456. package/dist/cssm/components/Typography/Typography.module.css +4 -0
  1457. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  1458. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  1459. package/dist/cssm/components/View/View.d.ts.map +1 -1
  1460. package/dist/cssm/components/View/View.js +36 -49
  1461. package/dist/cssm/components/View/View.js.map +1 -1
  1462. package/dist/cssm/components/View/View.module.css +105 -83
  1463. package/dist/cssm/components/View/ViewInfinite.d.ts.map +1 -1
  1464. package/dist/cssm/components/View/ViewInfinite.js +17 -19
  1465. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  1466. package/dist/cssm/components/View/utils.js.map +1 -1
  1467. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  1468. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  1469. package/dist/cssm/components/WriteBar/WriteBar.d.ts.map +1 -1
  1470. package/dist/cssm/components/WriteBar/WriteBar.js +3 -19
  1471. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  1472. package/dist/cssm/components/WriteBar/WriteBar.module.css +1 -1
  1473. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1474. package/dist/cssm/helpers/avatar.js.map +1 -1
  1475. package/dist/cssm/helpers/getMergedSameEventsByProps.d.ts +1 -1
  1476. package/dist/cssm/helpers/getMergedSameEventsByProps.d.ts.map +1 -1
  1477. package/dist/cssm/helpers/getMergedSameEventsByProps.js.map +1 -1
  1478. package/dist/cssm/helpers/getOrDefault.js.map +1 -1
  1479. package/dist/cssm/helpers/math.js.map +1 -1
  1480. package/dist/cssm/helpers/range.js.map +1 -1
  1481. package/dist/cssm/hoc/withContext.js.map +1 -1
  1482. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  1483. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  1484. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  1485. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.d.ts +3 -3
  1486. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.d.ts.map +1 -1
  1487. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  1488. package/dist/cssm/hooks/useAdaptivityConditionalRender/index.js.map +1 -1
  1489. package/dist/cssm/hooks/useAdaptivityConditionalRender/types.js.map +1 -1
  1490. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  1491. package/dist/cssm/hooks/useAdaptivityHasPointer.js.map +1 -1
  1492. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1493. package/dist/cssm/hooks/useAppearance.js.map +1 -1
  1494. package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
  1495. package/dist/cssm/hooks/useAutoFocus.js.map +1 -1
  1496. package/dist/cssm/hooks/useBooleanState.js.map +1 -1
  1497. package/dist/cssm/hooks/useCalendar.d.ts +2 -0
  1498. package/dist/cssm/hooks/useCalendar.d.ts.map +1 -1
  1499. package/dist/cssm/hooks/useCalendar.js +44 -2
  1500. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  1501. package/dist/cssm/hooks/useDateInput.d.ts.map +1 -1
  1502. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  1503. package/dist/cssm/hooks/useDirection.js.map +1 -1
  1504. package/dist/cssm/hooks/useDraggableWithDomApi/autoScroll.js.map +1 -1
  1505. package/dist/cssm/hooks/useDraggableWithDomApi/constants.js.map +1 -1
  1506. package/dist/cssm/hooks/useDraggableWithDomApi/index.js.map +1 -1
  1507. package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
  1508. package/dist/cssm/hooks/useDraggableWithDomApi/useDraggableWithDomApi.d.ts.map +1 -1
  1509. package/dist/cssm/hooks/useDraggableWithDomApi/useDraggableWithDomApi.js.map +1 -1
  1510. package/dist/cssm/hooks/useDraggableWithDomApi/utils.d.ts +2 -2
  1511. package/dist/cssm/hooks/useDraggableWithDomApi/utils.d.ts.map +1 -1
  1512. package/dist/cssm/hooks/useDraggableWithDomApi/utils.js.map +1 -1
  1513. package/dist/cssm/hooks/useEffectDev.js.map +1 -1
  1514. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  1515. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  1516. package/dist/cssm/hooks/useExternRef.js.map +1 -1
  1517. package/dist/cssm/hooks/useFocusVisible.d.ts.map +1 -1
  1518. package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
  1519. package/dist/cssm/hooks/useFocusVisibleClassName.js.map +1 -1
  1520. package/dist/cssm/hooks/useFocusWithin.js.map +1 -1
  1521. package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
  1522. package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
  1523. package/dist/cssm/hooks/useGlobalOnClickOutside.d.ts +1 -1
  1524. package/dist/cssm/hooks/useGlobalOnClickOutside.d.ts.map +1 -1
  1525. package/dist/cssm/hooks/useGlobalOnClickOutside.js.map +1 -1
  1526. package/dist/cssm/hooks/useIsClient.js.map +1 -1
  1527. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  1528. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  1529. package/dist/cssm/hooks/useMediaQueries.d.ts.map +1 -1
  1530. package/dist/cssm/hooks/useMediaQueries.js +21 -18
  1531. package/dist/cssm/hooks/useMediaQueries.js.map +1 -1
  1532. package/dist/cssm/hooks/useNativeFormResetListener.d.ts.map +1 -1
  1533. package/dist/cssm/hooks/useNativeFormResetListener.js.map +1 -1
  1534. package/dist/cssm/hooks/useObjectMemo.js.map +1 -1
  1535. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  1536. package/dist/cssm/hooks/usePagination.d.ts.map +1 -1
  1537. package/dist/cssm/hooks/usePagination.js.map +1 -1
  1538. package/dist/cssm/hooks/usePatchChildren.d.ts.map +1 -1
  1539. package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
  1540. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  1541. package/dist/cssm/hooks/usePrevious.js.map +1 -1
  1542. package/dist/cssm/hooks/useResizeObserver.d.ts +1 -1
  1543. package/dist/cssm/hooks/useResizeObserver.d.ts.map +1 -1
  1544. package/dist/cssm/hooks/useResizeObserver.js +5 -4
  1545. package/dist/cssm/hooks/useResizeObserver.js.map +1 -1
  1546. package/dist/cssm/hooks/useStableCallback.js.map +1 -1
  1547. package/dist/cssm/hooks/useTodayDate.js.map +1 -1
  1548. package/dist/cssm/hooks/useWaitTransitionFinish.d.ts +1 -3
  1549. package/dist/cssm/hooks/useWaitTransitionFinish.d.ts.map +1 -1
  1550. package/dist/cssm/hooks/useWaitTransitionFinish.js +4 -9
  1551. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  1552. package/dist/cssm/index.d.ts +7 -1
  1553. package/dist/cssm/index.d.ts.map +1 -1
  1554. package/dist/cssm/index.js +3 -0
  1555. package/dist/cssm/index.js.map +1 -1
  1556. package/dist/cssm/lib/SSR.js.map +1 -1
  1557. package/dist/cssm/lib/accessibility.d.ts +1 -1
  1558. package/dist/cssm/lib/accessibility.d.ts.map +1 -1
  1559. package/dist/cssm/lib/accessibility.js +1 -0
  1560. package/dist/cssm/lib/accessibility.js.map +1 -1
  1561. package/dist/cssm/lib/adaptivity/constants.js.map +1 -1
  1562. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  1563. package/dist/cssm/lib/adaptivity/index.js.map +1 -1
  1564. package/dist/cssm/lib/adaptivity/types.js.map +1 -1
  1565. package/dist/cssm/lib/animate.js.map +1 -1
  1566. package/dist/cssm/lib/animation/fades.js.map +1 -1
  1567. package/dist/cssm/lib/animation/index.d.ts +1 -0
  1568. package/dist/cssm/lib/animation/index.d.ts.map +1 -1
  1569. package/dist/cssm/lib/animation/index.js +1 -0
  1570. package/dist/cssm/lib/animation/index.js.map +1 -1
  1571. package/dist/cssm/lib/animation/rubberbandIfOutOfBounds.js.map +1 -1
  1572. package/dist/cssm/lib/animation/transformOrigin.js.map +1 -1
  1573. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.d.ts +1 -1
  1574. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  1575. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js +5 -6
  1576. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  1577. package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
  1578. package/dist/cssm/lib/appearance/index.js.map +1 -1
  1579. package/dist/cssm/lib/appearance/types.js.map +1 -1
  1580. package/dist/cssm/lib/browser.js.map +1 -1
  1581. package/dist/cssm/lib/calendar.js.map +1 -1
  1582. package/dist/cssm/lib/callMultiple.js.map +1 -1
  1583. package/dist/cssm/lib/children.d.ts.map +1 -1
  1584. package/dist/cssm/lib/children.js.map +1 -1
  1585. package/dist/cssm/lib/comparing.js.map +1 -1
  1586. package/dist/cssm/lib/createPortal.d.ts.map +1 -1
  1587. package/dist/cssm/lib/createPortal.js.map +1 -1
  1588. package/dist/cssm/lib/date.js.map +1 -1
  1589. package/dist/cssm/lib/dom.d.ts +0 -1
  1590. package/dist/cssm/lib/dom.d.ts.map +1 -1
  1591. package/dist/cssm/lib/dom.js.map +1 -1
  1592. package/dist/cssm/lib/floating/adapters.js.map +1 -1
  1593. package/dist/cssm/lib/floating/customResizeObserver.js.map +1 -1
  1594. package/dist/cssm/lib/floating/functions.d.ts +1 -1
  1595. package/dist/cssm/lib/floating/functions.js.map +1 -1
  1596. package/dist/cssm/lib/floating/index.js.map +1 -1
  1597. package/dist/cssm/lib/floating/types/common.js.map +1 -1
  1598. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  1599. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +1 -11
  1600. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  1601. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  1602. package/dist/cssm/lib/floating/useFloatingWithInteractions/constants.js.map +1 -1
  1603. package/dist/cssm/lib/floating/useFloatingWithInteractions/index.js.map +1 -1
  1604. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.d.ts +0 -1
  1605. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  1606. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  1607. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  1608. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  1609. package/dist/cssm/lib/floating/useFloatingWithInteractions/useResolveTriggerType.js.map +1 -1
  1610. package/dist/cssm/lib/floating/usePlacementChangeCallback.js.map +1 -1
  1611. package/dist/cssm/lib/fx.js.map +1 -1
  1612. package/dist/cssm/lib/getNavId.js.map +1 -1
  1613. package/dist/cssm/lib/isRefObject.d.ts.map +1 -1
  1614. package/dist/cssm/lib/isRefObject.js.map +1 -1
  1615. package/dist/cssm/lib/layouts/gaps.d.ts +32 -0
  1616. package/dist/cssm/lib/layouts/gaps.d.ts.map +1 -0
  1617. package/dist/cssm/lib/layouts/gaps.js +42 -0
  1618. package/dist/cssm/lib/layouts/gaps.js.map +1 -0
  1619. package/dist/cssm/lib/layouts/index.d.ts +2 -0
  1620. package/dist/cssm/lib/layouts/index.d.ts.map +1 -0
  1621. package/dist/cssm/lib/layouts/index.js +3 -0
  1622. package/dist/cssm/lib/layouts/index.js.map +1 -0
  1623. package/dist/cssm/lib/matchMedia.js.map +1 -1
  1624. package/dist/cssm/lib/mergeCalls.js.map +1 -1
  1625. package/dist/cssm/lib/offset.js.map +1 -1
  1626. package/dist/cssm/lib/platform.js.map +1 -1
  1627. package/dist/cssm/lib/rafSchd.d.ts.map +1 -1
  1628. package/dist/cssm/lib/rafSchd.js.map +1 -1
  1629. package/dist/cssm/lib/react/index.js.map +1 -1
  1630. package/dist/cssm/lib/react/simulateReactInput.js.map +1 -1
  1631. package/dist/cssm/lib/removeObjectKeys.js.map +1 -1
  1632. package/dist/cssm/lib/select.js.map +1 -1
  1633. package/dist/cssm/lib/styles.js.map +1 -1
  1634. package/dist/cssm/lib/testing.js.map +1 -1
  1635. package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -1
  1636. package/dist/cssm/lib/tokens/constants.js.map +1 -1
  1637. package/dist/cssm/lib/tokens/index.js.map +1 -1
  1638. package/dist/cssm/lib/tokens/types.js.map +1 -1
  1639. package/dist/cssm/lib/tokens/useTokenClassName.js.map +1 -1
  1640. package/dist/cssm/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  1641. package/dist/cssm/lib/touch/functions.js.map +1 -1
  1642. package/dist/cssm/lib/touch/index.js.map +1 -1
  1643. package/dist/cssm/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1644. package/dist/cssm/lib/utils.d.ts +1 -1
  1645. package/dist/cssm/lib/utils.d.ts.map +1 -1
  1646. package/dist/cssm/lib/utils.js.map +1 -1
  1647. package/dist/cssm/lib/warnOnce.js.map +1 -1
  1648. package/dist/cssm/shared/breakpoints.d.js +5 -0
  1649. package/dist/cssm/shared/breakpoints.d.js.map +1 -0
  1650. package/dist/cssm/shared/breakpoints.js.map +1 -1
  1651. package/dist/cssm/styles/animationFades.module.css +7 -13
  1652. package/dist/cssm/styles/constants.css +4 -0
  1653. package/dist/cssm/styles/customMedias.generated.css +1 -0
  1654. package/dist/cssm/styles/focusVisible.module.css +10 -26
  1655. package/dist/cssm/styles/gaps.module.css +75 -0
  1656. package/dist/cssm/styles/themes.css +45 -31
  1657. package/dist/cssm/types.d.ts +1 -0
  1658. package/dist/cssm/types.d.ts.map +1 -1
  1659. package/dist/cssm/types.js.map +1 -1
  1660. package/dist/cssm/vkui.js.map +1 -1
  1661. package/dist/helpers/avatar.js.map +1 -1
  1662. package/dist/helpers/getMergedSameEventsByProps.d.ts +1 -1
  1663. package/dist/helpers/getMergedSameEventsByProps.d.ts.map +1 -1
  1664. package/dist/helpers/getMergedSameEventsByProps.js.map +1 -1
  1665. package/dist/helpers/getOrDefault.js.map +1 -1
  1666. package/dist/helpers/math.js.map +1 -1
  1667. package/dist/helpers/range.js.map +1 -1
  1668. package/dist/hoc/withContext.js.map +1 -1
  1669. package/dist/hoc/withPlatform.js.map +1 -1
  1670. package/dist/hooks/useAdaptivity.js.map +1 -1
  1671. package/dist/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  1672. package/dist/hooks/useAdaptivityConditionalRender/helpers.d.ts +3 -3
  1673. package/dist/hooks/useAdaptivityConditionalRender/helpers.d.ts.map +1 -1
  1674. package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  1675. package/dist/hooks/useAdaptivityConditionalRender/index.js.map +1 -1
  1676. package/dist/hooks/useAdaptivityConditionalRender/types.js.map +1 -1
  1677. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  1678. package/dist/hooks/useAdaptivityHasPointer.js.map +1 -1
  1679. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1680. package/dist/hooks/useAppearance.js.map +1 -1
  1681. package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
  1682. package/dist/hooks/useAutoFocus.js.map +1 -1
  1683. package/dist/hooks/useBooleanState.js.map +1 -1
  1684. package/dist/hooks/useCalendar.d.ts +2 -0
  1685. package/dist/hooks/useCalendar.d.ts.map +1 -1
  1686. package/dist/hooks/useCalendar.js +44 -2
  1687. package/dist/hooks/useCalendar.js.map +1 -1
  1688. package/dist/hooks/useDateInput.d.ts.map +1 -1
  1689. package/dist/hooks/useDateInput.js.map +1 -1
  1690. package/dist/hooks/useDirection.js.map +1 -1
  1691. package/dist/hooks/useDraggableWithDomApi/autoScroll.js.map +1 -1
  1692. package/dist/hooks/useDraggableWithDomApi/constants.js.map +1 -1
  1693. package/dist/hooks/useDraggableWithDomApi/index.js.map +1 -1
  1694. package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
  1695. package/dist/hooks/useDraggableWithDomApi/useDraggableWithDomApi.d.ts.map +1 -1
  1696. package/dist/hooks/useDraggableWithDomApi/useDraggableWithDomApi.js.map +1 -1
  1697. package/dist/hooks/useDraggableWithDomApi/utils.d.ts +2 -2
  1698. package/dist/hooks/useDraggableWithDomApi/utils.d.ts.map +1 -1
  1699. package/dist/hooks/useDraggableWithDomApi/utils.js.map +1 -1
  1700. package/dist/hooks/useEffectDev.js.map +1 -1
  1701. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1702. package/dist/hooks/useEventListener.js.map +1 -1
  1703. package/dist/hooks/useExternRef.js.map +1 -1
  1704. package/dist/hooks/useFocusVisible.d.ts.map +1 -1
  1705. package/dist/hooks/useFocusVisible.js.map +1 -1
  1706. package/dist/hooks/useFocusVisibleClassName.js.map +1 -1
  1707. package/dist/hooks/useFocusWithin.js.map +1 -1
  1708. package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
  1709. package/dist/hooks/useGlobalEventListener.js.map +1 -1
  1710. package/dist/hooks/useGlobalOnClickOutside.d.ts +1 -1
  1711. package/dist/hooks/useGlobalOnClickOutside.d.ts.map +1 -1
  1712. package/dist/hooks/useGlobalOnClickOutside.js.map +1 -1
  1713. package/dist/hooks/useIsClient.js.map +1 -1
  1714. package/dist/hooks/useKeyboard.js.map +1 -1
  1715. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  1716. package/dist/hooks/useMediaQueries.d.ts.map +1 -1
  1717. package/dist/hooks/useMediaQueries.js +21 -18
  1718. package/dist/hooks/useMediaQueries.js.map +1 -1
  1719. package/dist/hooks/useNativeFormResetListener.d.ts.map +1 -1
  1720. package/dist/hooks/useNativeFormResetListener.js.map +1 -1
  1721. package/dist/hooks/useObjectMemo.js.map +1 -1
  1722. package/dist/hooks/useOrientationChange.js.map +1 -1
  1723. package/dist/hooks/usePagination.d.ts.map +1 -1
  1724. package/dist/hooks/usePagination.js.map +1 -1
  1725. package/dist/hooks/usePatchChildren.d.ts.map +1 -1
  1726. package/dist/hooks/usePatchChildren.js.map +1 -1
  1727. package/dist/hooks/usePlatform.js.map +1 -1
  1728. package/dist/hooks/usePrevious.js.map +1 -1
  1729. package/dist/hooks/useResizeObserver.d.ts +1 -1
  1730. package/dist/hooks/useResizeObserver.d.ts.map +1 -1
  1731. package/dist/hooks/useResizeObserver.js +5 -4
  1732. package/dist/hooks/useResizeObserver.js.map +1 -1
  1733. package/dist/hooks/useStableCallback.js.map +1 -1
  1734. package/dist/hooks/useTodayDate.js.map +1 -1
  1735. package/dist/hooks/useWaitTransitionFinish.d.ts +1 -3
  1736. package/dist/hooks/useWaitTransitionFinish.d.ts.map +1 -1
  1737. package/dist/hooks/useWaitTransitionFinish.js +4 -9
  1738. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  1739. package/dist/index.d.ts +7 -1
  1740. package/dist/index.d.ts.map +1 -1
  1741. package/dist/index.js +2 -0
  1742. package/dist/index.js.map +1 -1
  1743. package/dist/lib/SSR.js.map +1 -1
  1744. package/dist/lib/accessibility.d.ts +1 -1
  1745. package/dist/lib/accessibility.d.ts.map +1 -1
  1746. package/dist/lib/accessibility.js +1 -0
  1747. package/dist/lib/accessibility.js.map +1 -1
  1748. package/dist/lib/adaptivity/constants.js.map +1 -1
  1749. package/dist/lib/adaptivity/functions.js.map +1 -1
  1750. package/dist/lib/adaptivity/index.js.map +1 -1
  1751. package/dist/lib/adaptivity/types.js.map +1 -1
  1752. package/dist/lib/animate.js.map +1 -1
  1753. package/dist/lib/animation/fades.js.map +1 -1
  1754. package/dist/lib/animation/index.d.ts +1 -0
  1755. package/dist/lib/animation/index.d.ts.map +1 -1
  1756. package/dist/lib/animation/index.js +1 -0
  1757. package/dist/lib/animation/index.js.map +1 -1
  1758. package/dist/lib/animation/rubberbandIfOutOfBounds.js.map +1 -1
  1759. package/dist/lib/animation/transformOrigin.js.map +1 -1
  1760. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts +1 -1
  1761. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  1762. package/dist/lib/animation/useCSSKeyframesAnimationController.js +5 -6
  1763. package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  1764. package/dist/lib/animation/useReducedMotion.js.map +1 -1
  1765. package/dist/lib/appearance/index.js.map +1 -1
  1766. package/dist/lib/appearance/types.js.map +1 -1
  1767. package/dist/lib/browser.js.map +1 -1
  1768. package/dist/lib/calendar.js.map +1 -1
  1769. package/dist/lib/callMultiple.js.map +1 -1
  1770. package/dist/lib/children.d.ts.map +1 -1
  1771. package/dist/lib/children.js.map +1 -1
  1772. package/dist/lib/comparing.js.map +1 -1
  1773. package/dist/lib/createPortal.d.ts.map +1 -1
  1774. package/dist/lib/createPortal.js.map +1 -1
  1775. package/dist/lib/date.js.map +1 -1
  1776. package/dist/lib/dom.d.ts +0 -1
  1777. package/dist/lib/dom.d.ts.map +1 -1
  1778. package/dist/lib/dom.js.map +1 -1
  1779. package/dist/lib/floating/adapters.js.map +1 -1
  1780. package/dist/lib/floating/customResizeObserver.js.map +1 -1
  1781. package/dist/lib/floating/functions.d.ts +1 -1
  1782. package/dist/lib/floating/functions.js.map +1 -1
  1783. package/dist/lib/floating/index.js.map +1 -1
  1784. package/dist/lib/floating/types/common.js.map +1 -1
  1785. package/dist/lib/floating/types/component.js.map +1 -1
  1786. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +1 -11
  1787. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  1788. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  1789. package/dist/lib/floating/useFloatingWithInteractions/constants.js.map +1 -1
  1790. package/dist/lib/floating/useFloatingWithInteractions/index.js.map +1 -1
  1791. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +0 -1
  1792. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  1793. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  1794. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  1795. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  1796. package/dist/lib/floating/useFloatingWithInteractions/useResolveTriggerType.js.map +1 -1
  1797. package/dist/lib/floating/usePlacementChangeCallback.js.map +1 -1
  1798. package/dist/lib/fx.js.map +1 -1
  1799. package/dist/lib/getNavId.js.map +1 -1
  1800. package/dist/lib/isRefObject.d.ts.map +1 -1
  1801. package/dist/lib/isRefObject.js.map +1 -1
  1802. package/dist/lib/layouts/gaps.d.ts +32 -0
  1803. package/dist/lib/layouts/gaps.d.ts.map +1 -0
  1804. package/dist/lib/layouts/gaps.js +41 -0
  1805. package/dist/lib/layouts/gaps.js.map +1 -0
  1806. package/dist/lib/layouts/index.d.ts +2 -0
  1807. package/dist/lib/layouts/index.d.ts.map +1 -0
  1808. package/dist/lib/layouts/index.js +3 -0
  1809. package/dist/lib/layouts/index.js.map +1 -0
  1810. package/dist/lib/matchMedia.js.map +1 -1
  1811. package/dist/lib/mergeCalls.js.map +1 -1
  1812. package/dist/lib/offset.js.map +1 -1
  1813. package/dist/lib/platform.js.map +1 -1
  1814. package/dist/lib/rafSchd.d.ts.map +1 -1
  1815. package/dist/lib/rafSchd.js.map +1 -1
  1816. package/dist/lib/react/index.js.map +1 -1
  1817. package/dist/lib/react/simulateReactInput.js.map +1 -1
  1818. package/dist/lib/removeObjectKeys.js.map +1 -1
  1819. package/dist/lib/select.js.map +1 -1
  1820. package/dist/lib/styles.js.map +1 -1
  1821. package/dist/lib/testing.js.map +1 -1
  1822. package/dist/lib/tokens/TokensClassProvider.js.map +1 -1
  1823. package/dist/lib/tokens/constants.js.map +1 -1
  1824. package/dist/lib/tokens/index.js.map +1 -1
  1825. package/dist/lib/tokens/types.js.map +1 -1
  1826. package/dist/lib/tokens/useTokenClassName.js.map +1 -1
  1827. package/dist/lib/touch/UIPanGestureRecognizer.js.map +1 -1
  1828. package/dist/lib/touch/functions.js.map +1 -1
  1829. package/dist/lib/touch/index.js.map +1 -1
  1830. package/dist/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1831. package/dist/lib/utils.d.ts +1 -1
  1832. package/dist/lib/utils.d.ts.map +1 -1
  1833. package/dist/lib/utils.js.map +1 -1
  1834. package/dist/lib/warnOnce.js.map +1 -1
  1835. package/dist/shared/breakpoints.d.js +5 -0
  1836. package/dist/shared/breakpoints.d.js.map +1 -0
  1837. package/dist/shared/breakpoints.js.map +1 -1
  1838. package/dist/types.d.ts +1 -0
  1839. package/dist/types.d.ts.map +1 -1
  1840. package/dist/types.js.map +1 -1
  1841. package/dist/vkui.css +3 -154
  1842. package/dist/vkui.css.map +1 -1
  1843. package/dist/vkui.js.map +1 -1
  1844. package/dist/vkui.js.tmp +25851 -69791
  1845. package/package.json +3 -3
  1846. package/src/components/Accordion/Accordion.module.css +91 -2
  1847. package/src/components/Accordion/AccordionContent.tsx +41 -46
  1848. package/src/components/ActionSheet/ActionSheet.module.css +42 -11
  1849. package/src/components/ActionSheet/ActionSheet.tsx +23 -27
  1850. package/src/components/ActionSheet/ActionSheetDropdownMenu.tsx +5 -0
  1851. package/src/components/ActionSheet/ActionSheetDropdownSheet.tsx +1 -1
  1852. package/src/components/ActionSheetItem/ActionSheetItem.module.css +3 -1
  1853. package/src/components/Alert/Alert.module.css +29 -19
  1854. package/src/components/Alert/Alert.tsx +25 -33
  1855. package/src/components/AppRoot/AppRoot.module.css +5 -5
  1856. package/src/components/AppRoot/AppRoot.tsx +30 -8
  1857. package/src/components/AppRoot/helpers.ts +33 -1
  1858. package/src/components/AppRoot/types.ts +2 -0
  1859. package/src/components/Button/Button.module.css +3 -6
  1860. package/src/components/Calendar/Calendar.module.css +1 -1
  1861. package/src/components/Calendar/Calendar.tsx +4 -0
  1862. package/src/components/CalendarHeader/CalendarHeader.tsx +32 -7
  1863. package/src/components/CalendarRange/CalendarRange.module.css +1 -1
  1864. package/src/components/CalendarRange/CalendarRange.tsx +13 -1
  1865. package/src/components/Card/Card.module.css +2 -2
  1866. package/src/components/ChipsSelect/ChipsSelect.tsx +23 -12
  1867. package/src/components/ChipsSelect/useChipsSelect.ts +21 -3
  1868. package/src/components/CustomScrollView/CustomScrollView.module.css +3 -1
  1869. package/src/components/CustomScrollView/useTrackerVisibility.ts +45 -32
  1870. package/src/components/CustomSelect/CustomSelect.tsx +9 -1
  1871. package/src/components/CustomSelectDropdown/CustomSelectDropdown.module.css +1 -1
  1872. package/src/components/DatePicker/DatePicker.tsx +6 -0
  1873. package/src/components/FixedLayout/FixedLayout.tsx +23 -5
  1874. package/src/components/Flex/Flex.module.css +89 -0
  1875. package/src/components/Flex/Flex.tsx +113 -0
  1876. package/src/components/Flex/FlexItem/FlexItem.module.css +43 -0
  1877. package/src/components/Flex/FlexItem/FlexItem.tsx +60 -0
  1878. package/src/components/FloatingArrow/FloatingArrow.tsx +16 -4
  1879. package/src/components/FocusTrap/FocusTrap.tsx +52 -24
  1880. package/src/components/Gallery/hooks.ts +27 -19
  1881. package/src/components/Header/Header.module.css +0 -1
  1882. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css +2 -2
  1883. package/src/components/Link/Link.module.css +1 -2
  1884. package/src/components/Link/Link.tsx +1 -0
  1885. package/src/components/ModalRoot/ModalRoot.tsx +4 -8
  1886. package/src/components/ModalRoot/ModalRootDesktop.tsx +2 -1
  1887. package/src/components/PanelHeaderContext/PanelHeaderContext.module.css +34 -30
  1888. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +35 -49
  1889. package/src/components/PopoutRoot/PopoutRoot.tsx +0 -7
  1890. package/src/components/PopoutWrapper/PopoutWrapper.module.css +15 -2
  1891. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -19
  1892. package/src/components/Popover/Popover.module.css +6 -2
  1893. package/src/components/Popover/Popover.tsx +18 -4
  1894. package/src/components/PullToRefresh/PullToRefresh.module.css +3 -1
  1895. package/src/components/Removable/Removable.module.css +1 -6
  1896. package/src/components/Root/Root.module.css +44 -50
  1897. package/src/components/Root/Root.tsx +10 -20
  1898. package/src/components/ScreenSpinner/ScreenSpinner.module.css +1 -1
  1899. package/src/components/ScrollArrow/ScrollArrow.module.css +1 -1
  1900. package/src/components/Search/Search.module.css +3 -1
  1901. package/src/components/SegmentedControl/SegmentedControl.module.css +3 -1
  1902. package/src/components/Skeleton/Skeleton.module.css +7 -0
  1903. package/src/components/Slider/Slider.tsx +6 -1
  1904. package/src/components/Slider/SliderThumb/SliderThumb.module.css +10 -2
  1905. package/src/components/Slider/SliderThumb/SliderThumb.tsx +11 -3
  1906. package/src/components/Snackbar/Snackbar.module.css +73 -75
  1907. package/src/components/Snackbar/Snackbar.tsx +12 -10
  1908. package/src/components/Spacing/Spacing.module.css +1 -0
  1909. package/src/components/Spinner/Spinner.tsx +40 -22
  1910. package/src/components/SubnavigationButton/SubnavigationButton.module.css +1 -1
  1911. package/src/components/Switch/Switch.module.css +200 -141
  1912. package/src/components/Switch/Switch.tsx +43 -17
  1913. package/src/components/TabsItem/TabsItem.module.css +4 -2
  1914. package/src/components/Tappable/Ripple.tsx +11 -3
  1915. package/src/components/Tappable/Tappable.module.css +0 -2
  1916. package/src/components/Textarea/Textarea.tsx +5 -17
  1917. package/src/components/Textarea/useResizeTextarea.ts +35 -0
  1918. package/src/components/TooltipBase/TooltipBase.module.css +2 -2
  1919. package/src/components/Typography/Caption/Caption.tsx +2 -0
  1920. package/src/components/Typography/DisplayTitle/DisplayTitle.module.css +27 -0
  1921. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +38 -0
  1922. package/src/components/Typography/Footnote/Footnote.tsx +2 -0
  1923. package/src/components/Typography/Headline/Headline.tsx +2 -0
  1924. package/src/components/Typography/Paragraph/Paragraph.tsx +2 -0
  1925. package/src/components/Typography/Subhead/Subhead.tsx +2 -0
  1926. package/src/components/Typography/Text/Text.tsx +2 -0
  1927. package/src/components/Typography/Title/Title.tsx +2 -0
  1928. package/src/components/Typography/Typography.module.css +4 -0
  1929. package/src/components/Typography/Typography.tsx +6 -0
  1930. package/src/components/View/View.module.css +104 -82
  1931. package/src/components/View/View.tsx +51 -83
  1932. package/src/components/View/ViewInfinite.tsx +22 -37
  1933. package/src/components/WriteBar/WriteBar.module.css +1 -1
  1934. package/src/components/WriteBar/WriteBar.tsx +3 -19
  1935. package/src/hooks/useAdaptivityConditionalRender/helpers.ts +8 -8
  1936. package/src/hooks/useCalendar.ts +52 -1
  1937. package/src/hooks/useMediaQueries.ts +23 -39
  1938. package/src/hooks/usePatchChildren.ts +2 -2
  1939. package/src/hooks/useResizeObserver.ts +5 -5
  1940. package/src/hooks/useWaitTransitionFinish.ts +4 -9
  1941. package/src/index.ts +7 -0
  1942. package/src/lib/accessibility.ts +1 -0
  1943. package/src/lib/animation/index.ts +1 -0
  1944. package/src/lib/animation/useCSSKeyframesAnimationController.ts +7 -5
  1945. package/src/lib/dom.tsx +2 -2
  1946. package/src/lib/layouts/gaps.ts +48 -0
  1947. package/src/lib/layouts/index.ts +7 -0
  1948. package/src/styles/animationFades.module.css +5 -13
  1949. package/src/styles/constants.css +4 -0
  1950. package/src/styles/customMedias.generated.css +3 -1
  1951. package/src/styles/focusVisible.module.css +10 -26
  1952. package/src/styles/gaps.module.css +75 -0
  1953. package/src/types.ts +2 -0
  1954. package/dist/cjs/hooks/useTimeout.d.ts +0 -5
  1955. package/dist/cjs/hooks/useTimeout.d.ts.map +0 -1
  1956. package/dist/cjs/hooks/useTimeout.js +0 -51
  1957. package/dist/cjs/hooks/useTimeout.js.map +0 -1
  1958. package/dist/cjs/lib/supportEvents.d.ts +0 -10
  1959. package/dist/cjs/lib/supportEvents.d.ts.map +0 -1
  1960. package/dist/cjs/lib/supportEvents.js +0 -43
  1961. package/dist/cjs/lib/supportEvents.js.map +0 -1
  1962. package/dist/cjs/shared/breakpoints.d.ts +0 -74
  1963. package/dist/cjs/shared/breakpoints.d.ts.map +0 -1
  1964. package/dist/cssm/hooks/useTimeout.d.ts +0 -5
  1965. package/dist/cssm/hooks/useTimeout.d.ts.map +0 -1
  1966. package/dist/cssm/hooks/useTimeout.js +0 -40
  1967. package/dist/cssm/hooks/useTimeout.js.map +0 -1
  1968. package/dist/cssm/lib/supportEvents.d.ts +0 -10
  1969. package/dist/cssm/lib/supportEvents.d.ts.map +0 -1
  1970. package/dist/cssm/lib/supportEvents.js +0 -26
  1971. package/dist/cssm/lib/supportEvents.js.map +0 -1
  1972. package/dist/cssm/shared/breakpoints.d.ts +0 -74
  1973. package/dist/cssm/shared/breakpoints.d.ts.map +0 -1
  1974. package/dist/hooks/useTimeout.d.ts +0 -5
  1975. package/dist/hooks/useTimeout.d.ts.map +0 -1
  1976. package/dist/hooks/useTimeout.js +0 -40
  1977. package/dist/hooks/useTimeout.js.map +0 -1
  1978. package/dist/lib/supportEvents.d.ts +0 -10
  1979. package/dist/lib/supportEvents.d.ts.map +0 -1
  1980. package/dist/lib/supportEvents.js +0 -26
  1981. package/dist/lib/supportEvents.js.map +0 -1
  1982. package/dist/shared/breakpoints.d.ts +0 -74
  1983. package/dist/shared/breakpoints.d.ts.map +0 -1
  1984. package/dist/stable.js.tmp +0 -180
  1985. package/src/hooks/useTimeout.ts +0 -33
  1986. package/src/lib/supportEvents.ts +0 -38
@@ -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 { usePlatform } from '../../hooks/usePlatform';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { DOMProps, useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { AnyFunction, HasChildren } from '../../types';\nimport { ScrollContextInterface, useScroll } from '../AppRoot/ScrollContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { Touch, TouchEvent as TouchEventInternal, TouchProps } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { PullToRefreshSpinner } from './PullToRefreshSpinner';\nimport styles from './PullToRefresh.module.css';\n\nconst WAIT_FETCHING_TIMEOUT_MS = 1000;\n\nfunction cancelEvent(event: TouchEventInternal) {\n /* istanbul ignore if: неясно в какой ситуации `event` из `Touch` может быть не определён */\n if (!event) {\n return false;\n }\n if ('preventDefault' in event.originalEvent && event.originalEvent.cancelable) {\n event.originalEvent.preventDefault();\n }\n if ('stopPropagation' in event.originalEvent) {\n event.originalEvent.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\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 { window, document } = useDOM();\n const prevIsFetching = usePrevious(isFetching);\n\n const initParams = React.useMemo(\n () => ({\n start: platform === 'ios' ? -10 : -45,\n max: platform === 'ios' ? 50 : 80,\n maxY: platform === 'ios' ? 400 : 80,\n refreshing: platform === 'ios' ? 36 : 50,\n positionMultiplier: 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 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 waitFetchingTimeoutId = React.useRef<NodeJS.Timeout>();\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 clearTimeout(waitFetchingTimeoutId.current);\n }\n }, [isFetching, prevIsFetching]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n clearTimeout(waitFetchingTimeoutId.current);\n waitFetchingTimeoutId.current = setTimeout(onRefreshingFinish, WAIT_FETCHING_TIMEOUT_MS);\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) => (platform === 'ios' ? prevSpinnerY : initParams.refreshing));\n\n onRefresh();\n }\n }, [refreshing, onRefresh, onRefreshingFinish, 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 /* istanbul ignore if: TODO написать тест */\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 useIsomorphicLayoutEffect(\n function toggleBodyOverscrollBehavior() {\n /* istanbul ignore if: невозможный кейс, т.к. в SSR эффекты не вызываются. Проверка на будущее, если вдруг эффект будет вызываться. */\n if (!window || !document) {\n return;\n }\n\n /**\n * ⚠️ В частности, необходимо для iOS 15. Начиная с этой версии в Safari добавили\n * pull-to-refresh. CSS св-во `overflow-behavior` появился только с iOS 16.\n *\n * Во вторую очередь, полезна блокированием скролла, чтобы пользователь дождался обновления\n * данных.\n */\n /* istanbul ignore next: в jest не протестировать */\n const handleWindowTouchMoveForPreventIOSViewportBounce = (event: TouchEvent) => {\n event.preventDefault();\n event.stopPropagation();\n };\n\n if (watching || refreshing) {\n // eslint-disable-next-line no-restricted-properties\n document.documentElement.classList.add('vkui--disable-overscroll-behavior');\n /* istanbul ignore next: в jest не протестировать */\n window.addEventListener('touchmove', handleWindowTouchMoveForPreventIOSViewportBounce, {\n passive: false,\n });\n }\n\n return () => {\n // eslint-disable-next-line no-restricted-properties\n document.documentElement.classList.remove('vkui--disable-overscroll-behavior');\n /* istanbul ignore next: в jest не протестировать */\n window.removeEventListener('touchmove', handleWindowTouchMoveForPreventIOSViewportBounce);\n };\n },\n [window, document, watching, refreshing],\n );\n\n const startYRef = React.useRef(0);\n\n const onTouchStart = (event: TouchEventInternal) => {\n if (refreshing) {\n cancelEvent(event);\n return;\n }\n setTouchDown(true);\n startYRef.current = event.startY;\n };\n\n const iosRefreshStartedRef = React.useRef(false);\n const onTouchMove = (event: TouchEventInternal) => {\n const { isY, shiftY } = event;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(event);\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 const iosCanStartRefreshDuringGesture =\n platform === 'ios' && progress > 85 && !refreshing && !iosRefreshStartedRef.current;\n if (iosCanStartRefreshDuringGesture) {\n iosRefreshStartedRef.current = true;\n runRefreshing();\n }\n } else if (isY && pageYOffset === 0 && shiftY > 0 && !refreshing && touchDown) {\n cancelEvent(event);\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 iosRefreshStartedRef.current = false;\n };\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = '';\n\n if (platform === 'ios' && refreshing && !touchDown) {\n contentTransform = 'translate3d(0, 100px, 0)';\n } else if (platform === 'ios' && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n aria-live=\"polite\"\n aria-busy={!!isFetching}\n {...restProps}\n onStart={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n className={classNames(\n styles['PullToRefresh'],\n 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","usePlatform","usePrevious","useDOM","useIsomorphicLayoutEffect","useScroll","FixedLayout","Touch","TouchRootContext","PullToRefreshSpinner","WAIT_FETCHING_TIMEOUT_MS","cancelEvent","event","originalEvent","cancelable","preventDefault","stopPropagation","PullToRefresh","children","isFetching","onRefresh","className","restProps","platform","scroll","window","document","prevIsFetching","initParams","useMemo","start","max","maxY","refreshing","positionMultiplier","spinnerY","setSpinnerY","useState","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","setTouchDown","prevTouchDown","touchY","useRef","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","resetRefreshingState","useCallback","onRefreshingFinish","waitFetchingTimeoutId","undefined","clearTimeout","current","runRefreshing","setTimeout","prevSpinnerY","toggleBodyOverscrollBehavior","handleWindowTouchMoveForPreventIOSViewportBounce","documentElement","classList","add","addEventListener","passive","remove","removeEventListener","startYRef","onTouchStart","startY","iosRefreshStartedRef","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","currentY","progress","abs","iosCanStartRefreshDuringGesture","onTouchEnd","spinnerTransform","contentTransform","Provider","value","aria-live","aria-busy","onStart","onMove","onEnd","useParentWidth","style","transform","WebkitTransform","opacity","on","div"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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 { usePlatform } from '../../hooks/usePlatform';\nimport { usePrevious } from '../../hooks/usePrevious';\nimport { DOMProps, useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { AnyFunction, HasChildren } from '../../types';\nimport { ScrollContextInterface, useScroll } from '../AppRoot/ScrollContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { Touch, TouchEvent as TouchEventInternal, TouchProps } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { PullToRefreshSpinner } from './PullToRefreshSpinner';\nimport styles from './PullToRefresh.module.css';\n\nconst WAIT_FETCHING_TIMEOUT_MS = 1000;\n\nfunction cancelEvent(event: TouchEventInternal) {\n /* istanbul ignore if: неясно в какой ситуации `event` из `Touch` может быть не определён */\n if (!event) {\n return false;\n }\n if ('preventDefault' in event.originalEvent && event.originalEvent.cancelable) {\n event.originalEvent.preventDefault();\n }\n if ('stopPropagation' in event.originalEvent) {\n event.originalEvent.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\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 { window, document } = useDOM();\n const prevIsFetching = usePrevious(isFetching);\n\n const initParams = React.useMemo(\n () => ({\n start: platform === 'ios' ? -10 : -45,\n max: platform === 'ios' ? 50 : 80,\n maxY: platform === 'ios' ? 400 : 80,\n refreshing: platform === 'ios' ? 36 : 50,\n positionMultiplier: 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 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 waitFetchingTimeoutId = React.useRef<NodeJS.Timeout>();\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 clearTimeout(waitFetchingTimeoutId.current);\n }\n }, [isFetching, prevIsFetching]);\n\n const runRefreshing = React.useCallback(() => {\n if (!refreshing && onRefresh) {\n // cleanup if the consumer does not start fetching in 1s\n clearTimeout(waitFetchingTimeoutId.current);\n waitFetchingTimeoutId.current = setTimeout(onRefreshingFinish, WAIT_FETCHING_TIMEOUT_MS);\n\n setRefreshing(true);\n setSpinnerY((prevSpinnerY) => (platform === 'ios' ? prevSpinnerY : initParams.refreshing));\n\n onRefresh();\n }\n }, [refreshing, onRefresh, onRefreshingFinish, 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 /* istanbul ignore if: TODO написать тест */\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 useIsomorphicLayoutEffect(\n function toggleBodyOverscrollBehavior() {\n /* istanbul ignore if: невозможный кейс, т.к. в SSR эффекты не вызываются. Проверка на будущее, если вдруг эффект будет вызываться. */\n if (!window || !document) {\n return;\n }\n\n /**\n * ⚠️ В частности, необходимо для iOS 15. Начиная с этой версии в Safari добавили\n * pull-to-refresh. CSS св-во `overflow-behavior` появился только с iOS 16.\n *\n * Во вторую очередь, полезна блокированием скролла, чтобы пользователь дождался обновления\n * данных.\n */\n /* istanbul ignore next: в jest не протестировать */\n const handleWindowTouchMoveForPreventIOSViewportBounce = (event: TouchEvent) => {\n event.preventDefault();\n event.stopPropagation();\n };\n\n if (watching || refreshing) {\n // eslint-disable-next-line no-restricted-properties\n document.documentElement.classList.add('vkui--disable-overscroll-behavior');\n /* istanbul ignore next: в jest не протестировать */\n window.addEventListener('touchmove', handleWindowTouchMoveForPreventIOSViewportBounce, {\n passive: false,\n });\n }\n\n return () => {\n // eslint-disable-next-line no-restricted-properties\n document.documentElement.classList.remove('vkui--disable-overscroll-behavior');\n /* istanbul ignore next: в jest не протестировать */\n window.removeEventListener('touchmove', handleWindowTouchMoveForPreventIOSViewportBounce);\n };\n },\n [window, document, watching, refreshing],\n );\n\n const startYRef = React.useRef(0);\n\n const onTouchStart = (event: TouchEventInternal) => {\n if (refreshing) {\n cancelEvent(event);\n return;\n }\n setTouchDown(true);\n startYRef.current = event.startY;\n };\n\n const iosRefreshStartedRef = React.useRef(false);\n const onTouchMove = (event: TouchEventInternal) => {\n const { isY, shiftY } = event;\n const { start, max } = initParams;\n const pageYOffset = scroll?.getScroll().y;\n\n if (watching && touchDown) {\n cancelEvent(event);\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 const iosCanStartRefreshDuringGesture =\n platform === 'ios' && progress > 85 && !refreshing && !iosRefreshStartedRef.current;\n if (iosCanStartRefreshDuringGesture) {\n iosRefreshStartedRef.current = true;\n runRefreshing();\n }\n } else if (isY && pageYOffset === 0 && shiftY > 0 && !refreshing && touchDown) {\n cancelEvent(event);\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 iosRefreshStartedRef.current = false;\n };\n\n const spinnerTransform = `translate3d(0, ${spinnerY}px, 0)`;\n let contentTransform = '';\n\n if (platform === 'ios' && refreshing && !touchDown) {\n contentTransform = 'translate3d(0, 100px, 0)';\n } else if (platform === 'ios' && (contentShift || refreshing)) {\n contentTransform = `translate3d(0, ${contentShift}px, 0)`;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <Touch\n aria-live=\"polite\"\n aria-busy={!!isFetching}\n {...restProps}\n onStart={onTouchStart}\n onMove={onTouchMove}\n onEnd={onTouchEnd}\n className={classNames(\n styles['PullToRefresh'],\n 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","usePlatform","usePrevious","useDOM","useIsomorphicLayoutEffect","useScroll","FixedLayout","Touch","TouchRootContext","PullToRefreshSpinner","WAIT_FETCHING_TIMEOUT_MS","cancelEvent","event","originalEvent","cancelable","preventDefault","stopPropagation","PullToRefresh","children","isFetching","onRefresh","className","restProps","platform","scroll","window","document","prevIsFetching","initParams","useMemo","start","max","maxY","refreshing","positionMultiplier","spinnerY","setSpinnerY","useState","watching","setWatching","setRefreshing","canRefresh","setCanRefresh","touchDown","setTouchDown","prevTouchDown","touchY","useRef","contentShift","setContentShift","spinnerProgress","setSpinnerProgress","resetRefreshingState","useCallback","onRefreshingFinish","waitFetchingTimeoutId","undefined","clearTimeout","current","runRefreshing","setTimeout","prevSpinnerY","toggleBodyOverscrollBehavior","handleWindowTouchMoveForPreventIOSViewportBounce","documentElement","classList","add","addEventListener","passive","remove","removeEventListener","startYRef","onTouchStart","startY","iosRefreshStartedRef","onTouchMove","isY","shiftY","pageYOffset","getScroll","y","shift","Math","currentY","progress","abs","iosCanStartRefreshDuringGesture","onTouchEnd","spinnerTransform","contentTransform","Provider","value","aria-live","aria-busy","onStart","onMove","onEnd","useParentWidth","style","transform","WebkitTransform","opacity","on","div"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefreshSpinner.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\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 children = 'Пожалуйста, подождите...',\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 {...restProps}\n >\n {on && <VisuallyHidden>{children}</VisuallyHidden>}\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":["classNames","RootComponent","VisuallyHidden","calcStrokeDashOffset","value","radius","progress","Math","PI","PullToRefreshSpinner","on","size","strokeWidth","children","restProps","dasharray","circleCenter","dashoffset","baseClassName","svg","role","className","style","width","height","viewBox","xmlns","g","transformOrigin","circle","fill","strokeDasharray","strokeDashoffset","strokeLinecap","cx","cy","r"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,cAAc,QAAQ,mCAAmC;AAGlE,SAASC,qBAAqBC,KAAa,EAAEC,MAAc;IACzD,MAAMC,WAAWF,QAAQ;IACzB,OAAO,IAAIG,KAAKC,EAAE,GAAGH,SAAU,CAAA,IAAIC,QAAO;AAC5C;AASA,OAAO,MAAMG,uBAAuB;QAAC,EACnCC,KAAK,IAAI,EACTC,OAAO,EAAE,EACTC,cAAc,GAAG,EACjBN,WAAW,CAAC,EACZO,WAAW,0BAA0B,EAEX,WADvBC;QALHJ;QACAC;QACAC;QACAN;QACAO;;IAGA,MAAMR,SAAS,MAAMM,OAAO,MAAMC;IAClC,MAAMG,YAAY,IAAIR,KAAKC,EAAE,GAAGH;IAChC,MAAMW,eAAe,MAAML;IAE3B,MAAMM,aAAad,qBAAqBO,KAAK,KAAKJ,UAAUD;IAE5D,qBACE,MAACJ;QACCiB,eAAelB,yCAEbU;OAEEI;;YAEHJ,oBAAM,KAACR;0BAAgBW;;0BACxB,KAACM;gBACCC,MAAK;gBACLC,SAAS;gBACTC,OAAO;oBACLC,OAAOZ;oBACPa,QAAQb;gBACV;gBACAc,SAAS,CAAC,IAAI,EAAEd,KAAK,CAAC,EAAEA,KAAK,CAAC;gBAC9Be,OAAM;0BAEN,cAAA,KAACC;oBACCL,OAAO;wBACLC,OAAOZ;wBACPa,QAAQb;wBACRiB,iBAAiB,CAAC,EAAEZ,aAAa,GAAG,EAAEA,aAAa,EAAE,CAAC;oBACxD;8BAEA,cAAA,KAACa;wBACCR,SAAS;wBACTS,MAAK;wBACLC,iBAAiBhB;wBACjBiB,kBAAkBf;wBAClBL,aAAaA;wBACbqB,eAAc;wBACdC,IAAIlB;wBACJmB,IAAInB;wBACJoB,GAAG/B;;;;;;AAMf,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/PullToRefresh/PullToRefreshSpinner.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\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 children = 'Пожалуйста, подождите...',\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 {...restProps}\n >\n {on && <VisuallyHidden>{children}</VisuallyHidden>}\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":["classNames","RootComponent","VisuallyHidden","calcStrokeDashOffset","value","radius","progress","Math","PI","PullToRefreshSpinner","on","size","strokeWidth","children","restProps","dasharray","circleCenter","dashoffset","baseClassName","svg","role","className","style","width","height","viewBox","xmlns","g","transformOrigin","circle","fill","strokeDasharray","strokeDashoffset","strokeLinecap","cx","cy","r"],"mappings":";;;;AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,cAAc,QAAQ,mCAAmC;AAGlE,SAASC,qBAAqBC,KAAa,EAAEC,MAAc;IACzD,MAAMC,WAAWF,QAAQ;IACzB,OAAO,IAAIG,KAAKC,EAAE,GAAGH,SAAU,CAAA,IAAIC,QAAO;AAC5C;AASA,OAAO,MAAMG,uBAAuB;QAAC,EACnCC,KAAK,IAAI,EACTC,OAAO,EAAE,EACTC,cAAc,GAAG,EACjBN,WAAW,CAAC,EACZO,WAAW,0BAA0B,EAEX,WADvBC;QALHJ;QACAC;QACAC;QACAN;QACAO;;IAGA,MAAMR,SAAS,MAAMM,OAAO,MAAMC;IAClC,MAAMG,YAAY,IAAIR,KAAKC,EAAE,GAAGH;IAChC,MAAMW,eAAe,MAAML;IAE3B,MAAMM,aAAad,qBAAqBO,KAAK,KAAKJ,UAAUD;IAE5D,qBACE,MAACJ;QACCiB,eAAelB,yCAEbU;OAEEI;;YAEHJ,oBAAM,KAACR;0BAAgBW;;0BACxB,KAACM;gBACCC,MAAK;gBACLC,SAAS;gBACTC,OAAO;oBACLC,OAAOZ;oBACPa,QAAQb;gBACV;gBACAc,SAAS,CAAC,IAAI,EAAEd,KAAK,CAAC,EAAEA,KAAK,CAAC;gBAC9Be,OAAM;0BAEN,cAAA,KAACC;oBACCL,OAAO;wBACLC,OAAOZ;wBACPa,QAAQb;wBACRiB,iBAAiB,CAAC,EAAEZ,aAAa,GAAG,EAAEA,aAAa,EAAE,CAAC;oBACxD;8BAEA,cAAA,KAACa;wBACCR,SAAS;wBACTS,MAAK;wBACLC,iBAAiBhB;wBACjBiB,kBAAkBf;wBAClBL,aAAaA;wBACbqB,eAAc;wBACdC,IAAIlB;wBACJmB,IAAInB;wBACJoB,GAAG/B;;;;;;AAMf,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasDataAttribute, HasRef, HasRootRef } from '../../types';\nimport { DEFAULT_ACTIVE_EFFECT_DELAY } from '../Clickable/useState';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Radio.module.css';\n\nconst sizeYClassNames = {\n none: styles['Radio--sizeY-none'],\n ['compact']: styles['Radio--sizeY-compact'],\n};\n\nconst RadioIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" aria-hidden {...props}>\n <circle cx=\"12\" cy=\"12\" r=\"11\" stroke=\"currentColor\" strokeWidth=\"2\" fill=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"7.5\" className={styles['Radio__pin']} fill=\"currentColor\" />\n </svg>\n );\n};\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n description?: React.ReactNode;\n titleAfter?: React.ReactNode;\n /**\n * Позволяет передавать data-* аттрибуты элементу label\n **/\n labelProps?: HasDataAttribute;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Radio\n */\nexport const Radio = ({\n children,\n description,\n style,\n className,\n getRootRef,\n titleAfter,\n getRef,\n labelProps,\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n ...restProps\n}: RadioProps) => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={classNames(\n styles['Radio'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n activeEffectDelay={platform === 'ios' ? 100 : DEFAULT_ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n {...labelProps}\n >\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n type=\"radio\"\n getRootRef={getRef}\n className={styles['Radio__input']}\n />\n <div className={styles['Radio__container']}>\n <RadioIcon className={styles['Radio__icon']} />\n <div className={styles['Radio__content']}>\n <div className={styles['Radio__title']}>\n <Text>{children}</Text>\n <div className={styles['Radio__titleAfter']}>{titleAfter}</div>\n </div>\n {hasReactNode(description) && (\n <Footnote className={styles['Radio__description']}>{description}</Footnote>\n )}\n </div>\n </div>\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","usePlatform","DEFAULT_ACTIVE_EFFECT_DELAY","Tappable","Footnote","Text","VisuallyHidden","sizeYClassNames","none","RadioIcon","props","svg","xmlns","viewBox","aria-hidden","circle","cx","cy","r","stroke","strokeWidth","fill","className","Radio","children","description","style","getRootRef","titleAfter","getRef","labelProps","hoverMode","activeMode","hasHover","hasActive","focusVisibleMode","restProps","platform","sizeY","Component","activeEffectDelay","disabled","type","div"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,WAAW,QAAQ,0BAA0B;AAEtD,SAASC,2BAA2B,QAAQ,wBAAwB;AACpE,SAASC,QAAQ,QAA4B,uBAAuB;AACpE,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,cAAc,QAAQ,mCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAEA,MAAMC,YAAY,CAACC;IACjB,qBACE,MAACC;QAAIC,OAAM;QAA6BC,SAAQ;QAAYC,aAAW;OAAKJ;;0BAC1E,KAACK;gBAAOC,IAAG;gBAAKC,IAAG;gBAAKC,GAAE;gBAAKC,QAAO;gBAAeC,aAAY;gBAAIC,MAAK;;0BAC1E,KAACN;gBAAOC,IAAG;gBAAKC,IAAG;gBAAKC,GAAE;gBAAMI,SAAS;gBAAwBD,MAAK;;;;AAG5E;AAkBA;;CAEC,GACD,OAAO,MAAME,QAAQ;QAAC,EACpBC,QAAQ,EACRC,WAAW,EACXC,KAAK,EACLJ,SAAS,EACTK,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAEL,WADRC;QAbHZ;QACAC;QACAC;QACAJ;QACAK;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWpC;IACjB,MAAM,EAAEqC,QAAQ,MAAM,EAAE,GAAGtC;IAE3B,qBACE,MAACG;QACCoC,WAAU;QACVb,OAAOA;QACPJ,WAAWxB,wBAETwC,UAAU,aAAa/B,eAAe,CAAC+B,MAAM,EAC7ChB;QAEFkB,mBAAmBH,aAAa,QAAQ,MAAMnC;QAC9CuC,UAAUL,UAAUK,QAAQ;QAC5Bd,YAAYA;QACZI,WAAWA;QACXC,YAAYA;QACZC,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;OACdL;;0BAEJ,KAACxB,wDACK8B;gBACJG,WAAU;gBACVG,MAAK;gBACLf,YAAYE;gBACZP,SAAS;;0BAEX,MAACqB;gBAAIrB,SAAS;;kCACZ,KAACb;wBAAUa,SAAS;;kCACpB,MAACqB;wBAAIrB,SAAS;;0CACZ,MAACqB;gCAAIrB,SAAS;;kDACZ,KAACjB;kDAAMmB;;kDACP,KAACmB;wCAAIrB,SAAS;kDAAgCM;;;;4BAE/C7B,aAAa0B,8BACZ,KAACrB;gCAASkB,SAAS;0CAAiCG;;;;;;;;AAMhE,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/Radio/Radio.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { HasDataAttribute, HasRef, HasRootRef } from '../../types';\nimport { DEFAULT_ACTIVE_EFFECT_DELAY } from '../Clickable/useState';\nimport { Tappable, type TappableProps } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Radio.module.css';\n\nconst sizeYClassNames = {\n none: styles['Radio--sizeY-none'],\n ['compact']: styles['Radio--sizeY-compact'],\n};\n\nconst RadioIcon = (props: React.SVGProps<SVGSVGElement>) => {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" aria-hidden {...props}>\n <circle cx=\"12\" cy=\"12\" r=\"11\" stroke=\"currentColor\" strokeWidth=\"2\" fill=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"7.5\" className={styles['Radio__pin']} fill=\"currentColor\" />\n </svg>\n );\n};\n\nexport interface RadioProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement>,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n description?: React.ReactNode;\n titleAfter?: React.ReactNode;\n /**\n * Позволяет передавать data-* аттрибуты элементу label\n **/\n labelProps?: HasDataAttribute;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Radio\n */\nexport const Radio = ({\n children,\n description,\n style,\n className,\n getRootRef,\n titleAfter,\n getRef,\n labelProps,\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n ...restProps\n}: RadioProps) => {\n const platform = usePlatform();\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n Component=\"label\"\n style={style}\n className={classNames(\n styles['Radio'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n activeEffectDelay={platform === 'ios' ? 100 : DEFAULT_ACTIVE_EFFECT_DELAY}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n {...labelProps}\n >\n <VisuallyHidden\n {...restProps}\n Component=\"input\"\n type=\"radio\"\n getRootRef={getRef}\n className={styles['Radio__input']}\n />\n <div className={styles['Radio__container']}>\n <RadioIcon className={styles['Radio__icon']} />\n <div className={styles['Radio__content']}>\n <div className={styles['Radio__title']}>\n <Text>{children}</Text>\n <div className={styles['Radio__titleAfter']}>{titleAfter}</div>\n </div>\n {hasReactNode(description) && (\n <Footnote className={styles['Radio__description']}>{description}</Footnote>\n )}\n </div>\n </div>\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","usePlatform","DEFAULT_ACTIVE_EFFECT_DELAY","Tappable","Footnote","Text","VisuallyHidden","sizeYClassNames","none","RadioIcon","props","svg","xmlns","viewBox","aria-hidden","circle","cx","cy","r","stroke","strokeWidth","fill","className","Radio","children","description","style","getRootRef","titleAfter","getRef","labelProps","hoverMode","activeMode","hasHover","hasActive","focusVisibleMode","restProps","platform","sizeY","Component","activeEffectDelay","disabled","type","div"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,WAAW,QAAQ,0BAA0B;AAEtD,SAASC,2BAA2B,QAAQ,wBAAwB;AACpE,SAASC,QAAQ,QAA4B,uBAAuB;AACpE,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,cAAc,QAAQ,mCAAmC;AAGlE,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAEA,MAAMC,YAAY,CAACC;IACjB,qBACE,MAACC;QAAIC,OAAM;QAA6BC,SAAQ;QAAYC,aAAW;OAAKJ;;0BAC1E,KAACK;gBAAOC,IAAG;gBAAKC,IAAG;gBAAKC,GAAE;gBAAKC,QAAO;gBAAeC,aAAY;gBAAIC,MAAK;;0BAC1E,KAACN;gBAAOC,IAAG;gBAAKC,IAAG;gBAAKC,GAAE;gBAAMI,SAAS;gBAAwBD,MAAK;;;;AAG5E;AAkBA;;CAEC,GACD,OAAO,MAAME,QAAQ;QAAC,EACpBC,QAAQ,EACRC,WAAW,EACXC,KAAK,EACLJ,SAAS,EACTK,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAEL,WADRC;QAbHZ;QACAC;QACAC;QACAJ;QACAK;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,WAAWpC;IACjB,MAAM,EAAEqC,QAAQ,MAAM,EAAE,GAAGtC;IAE3B,qBACE,MAACG;QACCoC,WAAU;QACVb,OAAOA;QACPJ,WAAWxB,wBAETwC,UAAU,aAAa/B,eAAe,CAAC+B,MAAM,EAC7ChB;QAEFkB,mBAAmBH,aAAa,QAAQ,MAAMnC;QAC9CuC,UAAUL,UAAUK,QAAQ;QAC5Bd,YAAYA;QACZI,WAAWA;QACXC,YAAYA;QACZC,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;OACdL;;0BAEJ,KAACxB,wDACK8B;gBACJG,WAAU;gBACVG,MAAK;gBACLf,YAAYE;gBACZP,SAAS;;0BAEX,MAACqB;gBAAIrB,SAAS;;kCACZ,KAACb;wBAAUa,SAAS;;kCACpB,MAACqB;wBAAIrB,SAAS;;0CACZ,MAACqB;gCAAIrB,SAAS;;kDACZ,KAACjB;kDAAMmB;;kDACP,KAACmB;wCAAIrB,SAAS;kDAAgCM;;;;4BAE/C7B,aAAa0B,8BACZ,KAACrB;gCAASkB,SAAS;0CAAiCG;;;;;;;;AAMhE,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { 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":["classNames","RootComponent","RadioGroup","mode","restProps","baseClassName"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";;;AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAO/D;;CAEC,GACD,OAAO,MAAMC,aAAa;QAAC,EAAEC,OAAO,UAAU,EAAiC,WAA5BC;QAAtBD;;yBAC3B,KAACF;QACCI,eAAeL,6BAEb,0BACAG,SAAS;OAEPC;EAEN"}
1
+ {"version":3,"sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { 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":["classNames","RootComponent","RadioGroup","mode","restProps","baseClassName"],"mappings":";;;AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAO/D;;CAEC,GACD,OAAO,MAAMC,aAAa;QAAC,EAAEC,OAAO,UAAU,EAAiC,WAA5BC;QAAtBD;;yBAC3B,KAACF;QACCI,eAAeL,6BAEb,0BACAG,SAAS;OAEPC;EAEN"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Removable/Removable.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24Cancel } from '@vkontakte/icons';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { getTextFromChildren } from '../../lib/children';\nimport { useDOM } from '../../lib/dom';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Removable.module.css';\n\nexport interface RemovableProps {\n /**\n * Текст кнопки удаления ячейки. Визуально скрыт везде, кроме iOS. На iOS появляется в выезжающей кнопке для удаления ячейки.\n */\n removePlaceholder?: React.ReactNode;\n /**\n * Коллбэк срабатывает при клике на контрол удаления.\n */\n onRemove?: (e: React.MouseEvent, rootEl?: HTMLElement | null) => void;\n /**\n * (test) iOS only. testId кнопки, которая активирует кнопку удаления\n */\n toggleButtonTestId?: string;\n /**\n * (test) testId кнопки удаления\n */\n removeButtonTestId?: string;\n}\n\ninterface RemovableIosOwnProps extends RemovableProps {\n removePlaceholderString?: string;\n children?: React.ReactNode | ((renderProps: RemovableIosRenderProps) => React.ReactNode);\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RemovableIos\n */\nconst RemovableIos = ({\n onRemove,\n removePlaceholder,\n removePlaceholderString,\n children: childrenProp,\n toggleButtonTestId,\n removeButtonTestId,\n}: RemovableIosOwnProps) => {\n const { window } = useDOM();\n\n const removeButtonRef = React.useRef<HTMLElement>(null);\n const disabledRef = React.useRef(true);\n const [removeOffset, updateRemoveOffset] = React.useState(0);\n\n useGlobalEventListener(\n window,\n 'click',\n () => {\n if (removeOffset > 0) {\n updateRemoveOffset(0);\n }\n },\n { capture: true },\n );\n\n const onRemoveTransitionEnd = () => {\n if (removeOffset > 0) {\n removeButtonRef?.current?.focus();\n } else {\n disabledRef.current = true;\n }\n };\n\n const onRemoveActivateClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!removeButtonRef.current) {\n return;\n }\n const { offsetWidth } = removeButtonRef.current;\n disabledRef.current = false;\n updateRemoveOffset(offsetWidth);\n };\n\n return (\n <div\n className={classNames(styles['Removable__content'], 'vkuiInternalRemovable__content')}\n style={{ transform: `translateX(-${removeOffset ?? 0}px)` }}\n onTransitionEnd={onRemoveTransitionEnd}\n >\n <IconButton\n hasActive={false}\n hasHover={false}\n className={classNames(\n styles['Removable__action'],\n styles['Removable__toggle'],\n 'vkuiInternalRemovable__action',\n )}\n onClick={onRemoveActivateClick}\n disabled={removeOffset > 0}\n data-testid={toggleButtonTestId}\n >\n <VisuallyHidden>{removePlaceholderString}</VisuallyHidden>\n <i className={styles['Removable__toggle-in']} role=\"presentation\" />\n </IconButton>\n {typeof childrenProp === 'function'\n ? childrenProp({ isRemoving: removeOffset > 0 })\n : childrenProp}\n\n <span className={styles['Removable__offset']} aria-hidden />\n\n <Tappable\n Component=\"button\"\n hasActive={false}\n hasHover={false}\n disabled={disabledRef.current}\n getRootRef={removeButtonRef}\n className={styles['Removable__remove']}\n onClick={onRemove}\n data-testid={removeButtonTestId}\n >\n <span className={styles['Removable__remove-in']}>{removePlaceholder}</span>\n </Tappable>\n </div>\n );\n};\n\ninterface RemovableIosRenderProps {\n /**\n * Показывает состояние Removable на платформе iOS при клике на иконку удаления.\n * Для имитации поведения на iOS при клике на иконку удаления самого удаление не происходит,\n * контент сдвигается влево и справа выезжает настоящая кнопка \"Удалить\".\n * Когда контент сдвинут `isRemoving = true`.\n */\n isRemoving: boolean;\n}\n\ninterface RemovableOwnProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'children'>,\n RemovableProps {\n /**\n * Расположение кнопки удаления.\n */\n align?: 'start' | 'center';\n /**\n * Скрывает кнопку, но оставляет отступ.\n * @since 5.4.0\n */\n indent?: boolean;\n children?: React.ReactNode | ((renderProps: RemovableIosRenderProps) => React.ReactNode);\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Removable\n */\nexport const Removable = ({\n children,\n onRemove = noop,\n removePlaceholder = 'Удалить',\n align = 'center',\n indent = false,\n toggleButtonTestId,\n removeButtonTestId,\n ...restProps\n}: RemovableOwnProps) => {\n const platform = usePlatform();\n\n const onRemoveClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onRemove(e);\n };\n\n const removePlaceholderString: string = getTextFromChildren(removePlaceholder);\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n platform === 'ios' && styles['Removable--ios'],\n align === 'start' && styles['Removable--align-start'],\n indent && styles['Removable--indent'],\n )}\n >\n {platform !== 'ios' && (\n <div className={classNames(styles['Removable__content'], 'vkuiInternalRemovable__content')}>\n {typeof children === 'function' ? children({ isRemoving: false }) : children}\n\n <IconButton\n activeMode=\"opacity\"\n hoverMode=\"opacity\"\n className={classNames(styles['Removable__action'], 'vkuiInternalRemovable__action')}\n onClick={onRemoveClick}\n label={removePlaceholderString}\n data-testid={removeButtonTestId}\n >\n <Icon24Cancel role=\"presentation\" />\n </IconButton>\n\n <span className={styles['Removable__offset']} aria-hidden />\n </div>\n )}\n\n {platform === 'ios' && (\n <RemovableIos\n onRemove={onRemoveClick}\n removePlaceholder={removePlaceholder}\n removePlaceholderString={removePlaceholderString}\n toggleButtonTestId={toggleButtonTestId}\n removeButtonTestId={removeButtonTestId}\n >\n {children}\n </RemovableIos>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon24Cancel","classNames","noop","useGlobalEventListener","usePlatform","getTextFromChildren","useDOM","IconButton","RootComponent","Tappable","VisuallyHidden","RemovableIos","onRemove","removePlaceholder","removePlaceholderString","children","childrenProp","toggleButtonTestId","removeButtonTestId","window","removeButtonRef","useRef","disabledRef","removeOffset","updateRemoveOffset","useState","capture","onRemoveTransitionEnd","current","focus","onRemoveActivateClick","e","stopPropagation","offsetWidth","div","className","style","transform","onTransitionEnd","hasActive","hasHover","onClick","disabled","data-testid","i","role","isRemoving","span","aria-hidden","Component","getRootRef","Removable","align","indent","restProps","platform","onRemoveClick","preventDefault","baseClassName","activeMode","hoverMode","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Removable/Removable.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24Cancel } from '@vkontakte/icons';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { getTextFromChildren } from '../../lib/children';\nimport { useDOM } from '../../lib/dom';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Removable.module.css';\n\nexport interface RemovableProps {\n /**\n * Текст кнопки удаления ячейки. Визуально скрыт везде, кроме iOS. На iOS появляется в выезжающей кнопке для удаления ячейки.\n */\n removePlaceholder?: React.ReactNode;\n /**\n * Коллбэк срабатывает при клике на контрол удаления.\n */\n onRemove?: (e: React.MouseEvent, rootEl?: HTMLElement | null) => void;\n /**\n * (test) iOS only. testId кнопки, которая активирует кнопку удаления\n */\n toggleButtonTestId?: string;\n /**\n * (test) testId кнопки удаления\n */\n removeButtonTestId?: string;\n}\n\ninterface RemovableIosOwnProps extends RemovableProps {\n removePlaceholderString?: string;\n children?: React.ReactNode | ((renderProps: RemovableIosRenderProps) => React.ReactNode);\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RemovableIos\n */\nconst RemovableIos = ({\n onRemove,\n removePlaceholder,\n removePlaceholderString,\n children: childrenProp,\n toggleButtonTestId,\n removeButtonTestId,\n}: RemovableIosOwnProps) => {\n const { window } = useDOM();\n\n const removeButtonRef = React.useRef<HTMLElement>(null);\n const disabledRef = React.useRef(true);\n const [removeOffset, updateRemoveOffset] = React.useState(0);\n\n useGlobalEventListener(\n window,\n 'click',\n () => {\n if (removeOffset > 0) {\n updateRemoveOffset(0);\n }\n },\n { capture: true },\n );\n\n const onRemoveTransitionEnd = () => {\n if (removeOffset > 0) {\n removeButtonRef?.current?.focus();\n } else {\n disabledRef.current = true;\n }\n };\n\n const onRemoveActivateClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!removeButtonRef.current) {\n return;\n }\n const { offsetWidth } = removeButtonRef.current;\n disabledRef.current = false;\n updateRemoveOffset(offsetWidth);\n };\n\n return (\n <div\n className={classNames(styles['Removable__content'], 'vkuiInternalRemovable__content')}\n style={{ transform: `translateX(-${removeOffset ?? 0}px)` }}\n onTransitionEnd={onRemoveTransitionEnd}\n >\n <IconButton\n hasActive={false}\n hasHover={false}\n className={classNames(\n styles['Removable__action'],\n styles['Removable__toggle'],\n 'vkuiInternalRemovable__action',\n )}\n onClick={onRemoveActivateClick}\n disabled={removeOffset > 0}\n data-testid={toggleButtonTestId}\n >\n <VisuallyHidden>{removePlaceholderString}</VisuallyHidden>\n <i className={styles['Removable__toggle-in']} role=\"presentation\" />\n </IconButton>\n {typeof childrenProp === 'function'\n ? childrenProp({ isRemoving: removeOffset > 0 })\n : childrenProp}\n\n <span className={styles['Removable__offset']} aria-hidden />\n\n <Tappable\n Component=\"button\"\n hasActive={false}\n hasHover={false}\n disabled={disabledRef.current}\n getRootRef={removeButtonRef}\n className={styles['Removable__remove']}\n onClick={onRemove}\n data-testid={removeButtonTestId}\n >\n <span className={styles['Removable__remove-in']}>{removePlaceholder}</span>\n </Tappable>\n </div>\n );\n};\n\ninterface RemovableIosRenderProps {\n /**\n * Показывает состояние Removable на платформе iOS при клике на иконку удаления.\n * Для имитации поведения на iOS при клике на иконку удаления самого удаление не происходит,\n * контент сдвигается влево и справа выезжает настоящая кнопка \"Удалить\".\n * Когда контент сдвинут `isRemoving = true`.\n */\n isRemoving: boolean;\n}\n\ninterface RemovableOwnProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'children'>,\n RemovableProps {\n /**\n * Расположение кнопки удаления.\n */\n align?: 'start' | 'center';\n /**\n * Скрывает кнопку, но оставляет отступ.\n * @since 5.4.0\n */\n indent?: boolean;\n children?: React.ReactNode | ((renderProps: RemovableIosRenderProps) => React.ReactNode);\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Removable\n */\nexport const Removable = ({\n children,\n onRemove = noop,\n removePlaceholder = 'Удалить',\n align = 'center',\n indent = false,\n toggleButtonTestId,\n removeButtonTestId,\n ...restProps\n}: RemovableOwnProps) => {\n const platform = usePlatform();\n\n const onRemoveClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onRemove(e);\n };\n\n const removePlaceholderString: string = getTextFromChildren(removePlaceholder);\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n platform === 'ios' && styles['Removable--ios'],\n align === 'start' && styles['Removable--align-start'],\n indent && styles['Removable--indent'],\n )}\n >\n {platform !== 'ios' && (\n <div className={classNames(styles['Removable__content'], 'vkuiInternalRemovable__content')}>\n {typeof children === 'function' ? children({ isRemoving: false }) : children}\n\n <IconButton\n activeMode=\"opacity\"\n hoverMode=\"opacity\"\n className={classNames(styles['Removable__action'], 'vkuiInternalRemovable__action')}\n onClick={onRemoveClick}\n label={removePlaceholderString}\n data-testid={removeButtonTestId}\n >\n <Icon24Cancel role=\"presentation\" />\n </IconButton>\n\n <span className={styles['Removable__offset']} aria-hidden />\n </div>\n )}\n\n {platform === 'ios' && (\n <RemovableIos\n onRemove={onRemoveClick}\n removePlaceholder={removePlaceholder}\n removePlaceholderString={removePlaceholderString}\n toggleButtonTestId={toggleButtonTestId}\n removeButtonTestId={removeButtonTestId}\n >\n {children}\n </RemovableIos>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon24Cancel","classNames","noop","useGlobalEventListener","usePlatform","getTextFromChildren","useDOM","IconButton","RootComponent","Tappable","VisuallyHidden","RemovableIos","onRemove","removePlaceholder","removePlaceholderString","children","childrenProp","toggleButtonTestId","removeButtonTestId","window","removeButtonRef","useRef","disabledRef","removeOffset","updateRemoveOffset","useState","capture","onRemoveTransitionEnd","current","focus","onRemoveActivateClick","e","stopPropagation","offsetWidth","div","className","style","transform","onTransitionEnd","hasActive","hasHover","onClick","disabled","data-testid","i","role","isRemoving","span","aria-hidden","Component","getRootRef","Removable","align","indent","restProps","platform","onRemoveClick","preventDefault","baseClassName","activeMode","hoverMode","label"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/RichCell/RichCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { RichCellIcon } from './RichCellIcon/RichCellIcon';\nimport styles from './RichCell.module.css';\n\nconst sizeYClassNames = {\n none: styles['RichCell--sizeY-none'],\n ['compact']: styles['RichCell--sizeY-compact'],\n};\n\nexport interface RichCellProps extends TappableProps {\n /**\n * Контейнер для текста над `children`.\n */\n subhead?: React.ReactNode;\n /**\n * Контейнер для текста под `children`.\n */\n text?: React.ReactNode;\n /**\n * Контейнер для текста под `text`.\n */\n caption?: React.ReactNode;\n /**\n * Контейнер для контента под `caption`. Например `<UsersStack size=\"m\" />`.\n */\n bottom?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button) с параметрами:\n *\n * - `mode=\"primary\" size=\"s\"`\n * - `mode=\"secondary\" size=\"s\"`\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `mode=\"horizontal\" gap=\"s\" stretched`\n */\n actions?: React.ReactNode;\n /**\n * `<Avatar size={40|48|72} />`.\n */\n before?: React.ReactNode;\n /**\n * Иконка 28 или текст.\n */\n after?: React.ReactNode;\n /**\n * Текст под `after`.\n */\n afterCaption?: React.ReactNode;\n /**\n * Убирает анимацию нажатия.\n */\n disabled?: boolean;\n /**\n * Включает многострочный режим для `subhead`, `children`, `text` и `caption`.\n */\n multiline?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RichCell\n */\nexport const RichCell = ({\n subhead,\n children,\n text,\n caption,\n before,\n after,\n afterCaption,\n bottom,\n actions,\n multiline,\n className,\n ...restProps\n}: RichCellProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n className={classNames(\n styles['RichCell'],\n !multiline && styles['RichCell--text-ellipsis'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n >\n {before && <div className={styles['RichCell__before']}>{before}</div>}\n <div className={styles['RichCell__in']}>\n <div className={styles['RichCell__content']}>\n <div className={styles['RichCell__content-before']}>\n {subhead && (\n <Subhead Component=\"div\" className={styles['RichCell__subhead']}>\n {subhead}\n </Subhead>\n )}\n <div className={styles['RichCell__children']}>{children}</div>\n {text && <div className={styles['RichCell__text']}>{text}</div>}\n {caption && (\n <Subhead Component=\"div\" className={styles['RichCell__caption']}>\n {caption}\n </Subhead>\n )}\n </div>\n {(after || afterCaption) && (\n <div className={styles['RichCell__content-after']}>\n {after && <div className={styles['RichCell__after-children']}>{after}</div>}\n {afterCaption && (\n <div className={styles['RichCell__after-caption']}>{afterCaption}</div>\n )}\n </div>\n )}\n </div>\n {bottom && <div className={styles['RichCell__bottom']}>{bottom}</div>}\n {actions && <div className={styles['RichCell__actions']}>{actions}</div>}\n </div>\n </Tappable>\n );\n};\n\nRichCell.Icon = RichCellIcon;\n"],"names":["React","classNames","useAdaptivity","Tappable","Subhead","RichCellIcon","sizeYClassNames","none","RichCell","subhead","children","text","caption","before","after","afterCaption","bottom","actions","multiline","className","restProps","sizeY","div","Component","Icon"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,QAAQ,QAAuB,uBAAuB;AAC/D,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,YAAY,QAAQ,8BAA8B;AAG3D,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAoDA;;CAEC,GACD,OAAO,MAAMC,WAAW;QAAC,EACvBC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,MAAM,EACNC,KAAK,EACLC,YAAY,EACZC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,SAAS,EAEK,WADXC;QAXHX;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAGnB;IAE3B,qBACE,MAACC,kDACKiB;QACJD,WAAWlB,2BAET,CAACiB,4CACDG,UAAU,aAAaf,eAAe,CAACe,MAAM,EAC7CF;;YAGDN,wBAAU,KAACS;gBAAIH,SAAS;0BAA+BN;;0BACxD,MAACS;gBAAIH,SAAS;;kCACZ,MAACG;wBAAIH,SAAS;;0CACZ,MAACG;gCAAIH,SAAS;;oCACXV,yBACC,KAACL;wCAAQmB,WAAU;wCAAMJ,SAAS;kDAC/BV;;kDAGL,KAACa;wCAAIH,SAAS;kDAAiCT;;oCAC9CC,sBAAQ,KAACW;wCAAIH,SAAS;kDAA6BR;;oCACnDC,yBACC,KAACR;wCAAQmB,WAAU;wCAAMJ,SAAS;kDAC/BP;;;;4BAILE,CAAAA,SAASC,YAAW,mBACpB,MAACO;gCAAIH,SAAS;;oCACXL,uBAAS,KAACQ;wCAAIH,SAAS;kDAAuCL;;oCAC9DC,8BACC,KAACO;wCAAIH,SAAS;kDAAsCJ;;;;;;oBAK3DC,wBAAU,KAACM;wBAAIH,SAAS;kCAA+BH;;oBACvDC,yBAAW,KAACK;wBAAIH,SAAS;kCAAgCF;;;;;;AAIlE,EAAE;AAEFT,SAASgB,IAAI,GAAGnB"}
1
+ {"version":3,"sources":["../../../src/components/RichCell/RichCell.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { RichCellIcon } from './RichCellIcon/RichCellIcon';\nimport styles from './RichCell.module.css';\n\nconst sizeYClassNames = {\n none: styles['RichCell--sizeY-none'],\n ['compact']: styles['RichCell--sizeY-compact'],\n};\n\nexport interface RichCellProps extends TappableProps {\n /**\n * Контейнер для текста над `children`.\n */\n subhead?: React.ReactNode;\n /**\n * Контейнер для текста под `children`.\n */\n text?: React.ReactNode;\n /**\n * Контейнер для текста под `text`.\n */\n caption?: React.ReactNode;\n /**\n * Контейнер для контента под `caption`. Например `<UsersStack size=\"m\" />`.\n */\n bottom?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button) с параметрами:\n *\n * - `mode=\"primary\" size=\"s\"`\n * - `mode=\"secondary\" size=\"s\"`\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `mode=\"horizontal\" gap=\"s\" stretched`\n */\n actions?: React.ReactNode;\n /**\n * `<Avatar size={40|48|72} />`.\n */\n before?: React.ReactNode;\n /**\n * Иконка 28 или текст.\n */\n after?: React.ReactNode;\n /**\n * Текст под `after`.\n */\n afterCaption?: React.ReactNode;\n /**\n * Убирает анимацию нажатия.\n */\n disabled?: boolean;\n /**\n * Включает многострочный режим для `subhead`, `children`, `text` и `caption`.\n */\n multiline?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/RichCell\n */\nexport const RichCell = ({\n subhead,\n children,\n text,\n caption,\n before,\n after,\n afterCaption,\n bottom,\n actions,\n multiline,\n className,\n ...restProps\n}: RichCellProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n {...restProps}\n className={classNames(\n styles['RichCell'],\n !multiline && styles['RichCell--text-ellipsis'],\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n className,\n )}\n >\n {before && <div className={styles['RichCell__before']}>{before}</div>}\n <div className={styles['RichCell__in']}>\n <div className={styles['RichCell__content']}>\n <div className={styles['RichCell__content-before']}>\n {subhead && (\n <Subhead Component=\"div\" className={styles['RichCell__subhead']}>\n {subhead}\n </Subhead>\n )}\n <div className={styles['RichCell__children']}>{children}</div>\n {text && <div className={styles['RichCell__text']}>{text}</div>}\n {caption && (\n <Subhead Component=\"div\" className={styles['RichCell__caption']}>\n {caption}\n </Subhead>\n )}\n </div>\n {(after || afterCaption) && (\n <div className={styles['RichCell__content-after']}>\n {after && <div className={styles['RichCell__after-children']}>{after}</div>}\n {afterCaption && (\n <div className={styles['RichCell__after-caption']}>{afterCaption}</div>\n )}\n </div>\n )}\n </div>\n {bottom && <div className={styles['RichCell__bottom']}>{bottom}</div>}\n {actions && <div className={styles['RichCell__actions']}>{actions}</div>}\n </div>\n </Tappable>\n );\n};\n\nRichCell.Icon = RichCellIcon;\n"],"names":["React","classNames","useAdaptivity","Tappable","Subhead","RichCellIcon","sizeYClassNames","none","RichCell","subhead","children","text","caption","before","after","afterCaption","bottom","actions","multiline","className","restProps","sizeY","div","Component","Icon"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,QAAQ,QAAuB,uBAAuB;AAC/D,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,YAAY,QAAQ,8BAA8B;AAG3D,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAoDA;;CAEC,GACD,OAAO,MAAMC,WAAW;QAAC,EACvBC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,OAAO,EACPC,MAAM,EACNC,KAAK,EACLC,YAAY,EACZC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,SAAS,EAEK,WADXC;QAXHX;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAGnB;IAE3B,qBACE,MAACC,kDACKiB;QACJD,WAAWlB,2BAET,CAACiB,4CACDG,UAAU,aAAaf,eAAe,CAACe,MAAM,EAC7CF;;YAGDN,wBAAU,KAACS;gBAAIH,SAAS;0BAA+BN;;0BACxD,MAACS;gBAAIH,SAAS;;kCACZ,MAACG;wBAAIH,SAAS;;0CACZ,MAACG;gCAAIH,SAAS;;oCACXV,yBACC,KAACL;wCAAQmB,WAAU;wCAAMJ,SAAS;kDAC/BV;;kDAGL,KAACa;wCAAIH,SAAS;kDAAiCT;;oCAC9CC,sBAAQ,KAACW;wCAAIH,SAAS;kDAA6BR;;oCACnDC,yBACC,KAACR;wCAAQmB,WAAU;wCAAMJ,SAAS;kDAC/BP;;;;4BAILE,CAAAA,SAASC,YAAW,mBACpB,MAACO;gCAAIH,SAAS;;oCACXL,uBAAS,KAACQ;wCAAIH,SAAS;kDAAuCL;;oCAC9DC,8BACC,KAACO;wCAAIH,SAAS;kDAAsCJ;;;;;;oBAK3DC,wBAAU,KAACM;wBAAIH,SAAS;kCAA+BH;;oBACvDC,yBAAW,KAACK;wBAAIH,SAAS;kCAAgCF;;;;;;AAIlE,EAAE;AAEFT,SAASgB,IAAI,GAAGnB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/RichCell/RichCellIcon/RichCellIcon.tsx"],"sourcesContent":["import { HTMLAttributesWithRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport styles from './RichCellIcon.module.css';\n\nexport type RichCellIconProps = HTMLAttributesWithRootRef<HTMLDivElement>;\n\nexport const RichCellIcon = (props: RichCellIconProps) => {\n return <RootComponent baseClassName={styles['RichCellIcon']} {...props} />;\n};\n"],"names":["RootComponent","RichCellIcon","props","baseClassName"],"rangeMappings":";;;;;;;","mappings":";;AACA,SAASA,aAAa,QAAQ,oCAAoC;AAKlE,OAAO,MAAMC,eAAe,CAACC;IAC3B,qBAAO,KAACF;QAAcG,aAAa;OAA8BD;AACnE,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/RichCell/RichCellIcon/RichCellIcon.tsx"],"sourcesContent":["import { HTMLAttributesWithRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport styles from './RichCellIcon.module.css';\n\nexport type RichCellIconProps = HTMLAttributesWithRootRef<HTMLDivElement>;\n\nexport const RichCellIcon = (props: RichCellIconProps) => {\n return <RootComponent baseClassName={styles['RichCellIcon']} {...props} />;\n};\n"],"names":["RootComponent","RichCellIcon","props","baseClassName"],"mappings":";;AACA,SAASA,aAAa,QAAQ,oCAAoC;AAKlE,OAAO,MAAMC,eAAe,CAACC;IAC3B,qBAAO,KAACF;QAAcG,aAAa;OAA8BD;AACnE,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../src/components/Root/Root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AASxD,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU;IACtF,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;GAEG;AACH,eAAO,MAAM,IAAI,2EAMd,SAAS,4CA2HX,CAAC"}
1
+ {"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../../src/components/Root/Root.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAY,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AASxD,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAAE,UAAU;IACtF,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;GAEG;AACH,eAAO,MAAM,IAAI,2EAMd,SAAS,4CAkHX,CAAC"}
@@ -5,7 +5,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import * as React from 'react';
6
6
  import { classNames } from '@vkontakte/vkjs';
7
7
  import { usePlatform } from '../../hooks/usePlatform';
8
- import { useTimeout } from '../../hooks/useTimeout';
9
8
  import { useDOM } from '../../lib/dom';
10
9
  import { getNavId } from '../../lib/getNavId';
11
10
  import { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';
@@ -85,26 +84,17 @@ const warn = warnOnce('Root');
85
84
  transition,
86
85
  prevView
87
86
  ]);
88
- const fallbackTransition = useTimeout(finishTransition, platform === 'ios' ? 600 : 300);
89
- React.useEffect(()=>{
90
- if (!transition) {
91
- fallbackTransition.clear();
92
- return;
87
+ React.useEffect(function onAnimationEndFallback() {
88
+ if (transition && disableAnimation) {
89
+ finishTransition();
93
90
  }
94
- fallbackTransition.set();
95
91
  }, [
96
- fallbackTransition,
97
- transition
92
+ transition,
93
+ disableAnimation,
94
+ finishTransition
98
95
  ]);
99
- const onAnimationEnd = (e)=>{
100
- if ([
101
- "vkuiroot-android-animation-hide-back",
102
- "vkuiroot-android-animation-show-forward",
103
- "vkuiroot-ios-animation-hide-back",
104
- "vkuiroot-ios-animation-show-forward"
105
- ].includes(e.animationName)) {
106
- finishTransition();
107
- }
96
+ const onAnimationEnd = ()=>{
97
+ finishTransition();
108
98
  };
109
99
  return /*#__PURE__*/ _jsx(RootComponent, _object_spread_props(_object_spread({}, restProps), {
110
100
  baseClassName: classNames("vkuiRoot", platform === 'ios' && "vkuiRoot--ios", transition && "vkuiRoot--transition"),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Root/Root.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { useDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from '../SplitCol/SplitColContext';\nimport styles from './Root.module.css';\n\nexport interface RootProps extends HTMLAttributesWithRootRef<HTMLDivElement>, NavIdProps {\n activeView: string;\n onTransition?: (params: { isBack: boolean; from: string; to: string }) => void;\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nexport interface RootState {\n activeView: string;\n transition: boolean;\n isBack?: boolean;\n prevView?: string;\n}\n\nconst warn = warnOnce('Root');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Root\n */\nexport const Root = ({\n children,\n activeView: _activeView,\n onTransition,\n nav,\n ...restProps\n}: RootProps) => {\n const scroll = React.useContext(ScrollContext);\n const platform = usePlatform();\n const { document } = useDOM();\n const scrolls = React.useRef<Record<string, number>>({}).current;\n const viewNodes = React.useRef<Record<string, HTMLElement | null>>({}).current;\n\n const { transitionMotionEnabled = true } = useConfigProvider();\n const { animate } = React.useContext(SplitColContext);\n const disableAnimation = !transitionMotionEnabled || !animate;\n\n const views = React.Children.toArray(children) as React.ReactElement[];\n\n const [{ prevView, activeView, transition, isBack }, _setState] = React.useState<RootState>({\n activeView: _activeView,\n transition: false,\n });\n const transitionTo = (panel: string) => {\n if (panel !== activeView) {\n const viewIds = views.map((view) => getNavId(view.props, warn));\n const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);\n scrolls[activeView] = scroll.getScroll().y;\n _setState({\n activeView: panel,\n prevView: activeView,\n transition: !disableAnimation,\n isBack,\n });\n }\n };\n const finishTransition = React.useCallback(\n () => _setState({ activeView, prevView, isBack, transition: false }),\n [activeView, isBack, prevView],\n );\n\n useIsomorphicLayoutEffect(() => {\n (document!.activeElement as HTMLElement).blur();\n }, [activeView]);\n\n // Нужен переход\n useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);\n useIsomorphicLayoutEffect(() => {\n if (!transition && prevView) {\n // Закончился переход\n scroll.scrollTo(0, isBack ? scrolls[activeView] : 0);\n onTransition &&\n onTransition({\n isBack: Boolean(isBack),\n from: prevView,\n to: activeView,\n });\n }\n }, [transition, prevView]);\n\n const fallbackTransition = useTimeout(finishTransition, platform === 'ios' ? 600 : 300);\n React.useEffect(() => {\n if (!transition) {\n fallbackTransition.clear();\n return;\n }\n fallbackTransition.set();\n }, [fallbackTransition, transition]);\n\n const onAnimationEnd = (e: React.AnimationEvent) => {\n if (\n [\n styles['root-android-animation-hide-back'],\n styles['root-android-animation-show-forward'],\n styles['root-ios-animation-hide-back'],\n styles['root-ios-animation-show-forward'],\n ].includes(e.animationName)\n ) {\n finishTransition();\n }\n };\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['Root'],\n platform === 'ios' && styles['Root--ios'],\n transition && styles['Root--transition'],\n )}\n >\n {views.map((view) => {\n const viewId = getNavId(view.props, warn);\n if (viewId !== activeView && !(transition && viewId === prevView)) {\n return null;\n }\n const isTransitionTarget = transition && viewId === (isBack ? prevView : activeView);\n const compensateScroll =\n transition && (viewId === prevView || (isBack && viewId === activeView));\n return (\n <div\n key={viewId}\n ref={(e) => viewId && (viewNodes[viewId] = e)}\n onAnimationEnd={isTransitionTarget ? onAnimationEnd : undefined}\n className={classNames(\n styles['Root__view'],\n transition && viewId === prevView && isBack && styles['Root__view--hide-back'],\n transition && viewId === prevView && !isBack && styles['Root__view--hide-forward'],\n transition && viewId === activeView && isBack && styles['Root__view--show-back'],\n transition && viewId === activeView && !isBack && styles['Root__view--show-forward'],\n )}\n >\n <NavTransitionDirectionProvider isBack={isBack}>\n <NavTransitionProvider entering={transition && viewId === activeView}>\n <div\n className={styles['Root__scrollCompensation']}\n style={{\n marginTop: compensateScroll ? viewId && -(scrolls[viewId] ?? 0) : undefined,\n }}\n >\n {view}\n </div>\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n );\n })}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","usePlatform","useTimeout","useDOM","getNavId","useIsomorphicLayoutEffect","warnOnce","ScrollContext","useConfigProvider","NavTransitionProvider","NavTransitionDirectionProvider","RootComponent","SplitColContext","warn","Root","children","activeView","_activeView","onTransition","nav","restProps","scroll","useContext","platform","document","scrolls","useRef","current","viewNodes","transitionMotionEnabled","animate","disableAnimation","views","Children","toArray","prevView","transition","isBack","_setState","useState","transitionTo","panel","viewIds","map","view","props","indexOf","getScroll","y","finishTransition","useCallback","activeElement","blur","scrollTo","Boolean","from","to","fallbackTransition","useEffect","clear","set","onAnimationEnd","e","includes","animationName","baseClassName","viewId","isTransitionTarget","compensateScroll","div","ref","undefined","className","entering","style","marginTop"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Root/Root.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from '../SplitCol/SplitColContext';\nimport styles from './Root.module.css';\n\nexport interface RootProps extends HTMLAttributesWithRootRef<HTMLDivElement>, NavIdProps {\n activeView: string;\n onTransition?: (params: { isBack: boolean; from: string; to: string }) => void;\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nexport interface RootState {\n activeView: string;\n transition: boolean;\n isBack?: boolean;\n prevView?: string;\n}\n\nconst warn = warnOnce('Root');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Root\n */\nexport const Root = ({\n children,\n activeView: _activeView,\n onTransition,\n nav,\n ...restProps\n}: RootProps) => {\n const scroll = React.useContext(ScrollContext);\n const platform = usePlatform();\n const { document } = useDOM();\n const scrolls = React.useRef<Record<string, number>>({}).current;\n const viewNodes = React.useRef<Record<string, HTMLElement | null>>({}).current;\n\n const { transitionMotionEnabled = true } = useConfigProvider();\n const { animate } = React.useContext(SplitColContext);\n const disableAnimation = !transitionMotionEnabled || !animate;\n\n const views = React.Children.toArray(children) as React.ReactElement[];\n\n const [{ prevView, activeView, transition, isBack }, _setState] = React.useState<RootState>({\n activeView: _activeView,\n transition: false,\n });\n const transitionTo = (panel: string) => {\n if (panel !== activeView) {\n const viewIds = views.map((view) => getNavId(view.props, warn));\n const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);\n scrolls[activeView] = scroll.getScroll().y;\n _setState({\n activeView: panel,\n prevView: activeView,\n transition: !disableAnimation,\n isBack,\n });\n }\n };\n const finishTransition = React.useCallback(\n () => _setState({ activeView, prevView, isBack, transition: false }),\n [activeView, isBack, prevView],\n );\n\n useIsomorphicLayoutEffect(() => {\n (document!.activeElement as HTMLElement).blur();\n }, [activeView]);\n\n // Нужен переход\n useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);\n useIsomorphicLayoutEffect(() => {\n if (!transition && prevView) {\n // Закончился переход\n scroll.scrollTo(0, isBack ? scrolls[activeView] : 0);\n onTransition &&\n onTransition({\n isBack: Boolean(isBack),\n from: prevView,\n to: activeView,\n });\n }\n }, [transition, prevView]);\n\n React.useEffect(\n function onAnimationEndFallback() {\n if (transition && disableAnimation) {\n finishTransition();\n }\n },\n [transition, disableAnimation, finishTransition],\n );\n\n const onAnimationEnd = () => {\n finishTransition();\n };\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['Root'],\n platform === 'ios' && styles['Root--ios'],\n transition && styles['Root--transition'],\n )}\n >\n {views.map((view) => {\n const viewId = getNavId(view.props, warn);\n if (viewId !== activeView && !(transition && viewId === prevView)) {\n return null;\n }\n const isTransitionTarget = transition && viewId === (isBack ? prevView : activeView);\n const compensateScroll =\n transition && (viewId === prevView || (isBack && viewId === activeView));\n return (\n <div\n key={viewId}\n ref={(e) => viewId && (viewNodes[viewId] = e)}\n onAnimationEnd={isTransitionTarget ? onAnimationEnd : undefined}\n className={classNames(\n styles['Root__view'],\n transition && viewId === prevView && isBack && styles['Root__view--hide-back'],\n transition && viewId === prevView && !isBack && styles['Root__view--hide-forward'],\n transition && viewId === activeView && isBack && styles['Root__view--show-back'],\n transition && viewId === activeView && !isBack && styles['Root__view--show-forward'],\n )}\n >\n <NavTransitionDirectionProvider isBack={isBack}>\n <NavTransitionProvider entering={transition && viewId === activeView}>\n <div\n className={styles['Root__scrollCompensation']}\n style={{\n marginTop: compensateScroll ? viewId && -(scrolls[viewId] ?? 0) : undefined,\n }}\n >\n {view}\n </div>\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n );\n })}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","usePlatform","useDOM","getNavId","useIsomorphicLayoutEffect","warnOnce","ScrollContext","useConfigProvider","NavTransitionProvider","NavTransitionDirectionProvider","RootComponent","SplitColContext","warn","Root","children","activeView","_activeView","onTransition","nav","restProps","scroll","useContext","platform","document","scrolls","useRef","current","viewNodes","transitionMotionEnabled","animate","disableAnimation","views","Children","toArray","prevView","transition","isBack","_setState","useState","transitionTo","panel","viewIds","map","view","props","indexOf","getScroll","y","finishTransition","useCallback","activeElement","blur","scrollTo","Boolean","from","to","useEffect","onAnimationEndFallback","onAnimationEnd","baseClassName","viewId","isTransitionTarget","compensateScroll","div","ref","e","undefined","className","entering","style","marginTop"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RootComponent.d.ts","sourceRoot":"","sources":["../../../src/components/RootComponent/RootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACnC,SAAQ,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAChC,UAAU,CAAC,CAAC,CAAC,EACb,YAAY;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,yEAMvB,mBAAmB,CAAC,CAAC,4CAEvB,CAAC"}
1
+ {"version":3,"file":"RootComponent.d.ts","sourceRoot":"","sources":["../../../src/components/RootComponent/RootComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACnC,SAAQ,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAChC,UAAU,CAAC,CAAC,CAAC,EACb,YAAY;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,qEAM5B,kBAAkB,CAAC,CAAC,CAAC,4CAEvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/RootComponent/RootComponent.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasComponent, HasRootRef } from '../../types';\n\nexport interface RootComponentProps<T>\n extends React.AllHTMLAttributes<T>,\n HasRootRef<T>,\n HasComponent {\n baseClassName?: string | false;\n}\n\n/**\n * Базовый корневой компонент.\n */\nexport const RootComponent = <T,>({\n Component = 'div',\n baseClassName,\n className,\n getRootRef,\n ...restProps\n}: RootComponentProps<T>) => (\n <Component ref={getRootRef} className={classNames(baseClassName, className)} {...restProps} />\n);\n"],"names":["React","classNames","RootComponent","Component","baseClassName","className","getRootRef","restProps","ref"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAU7C;;CAEC,GACD,OAAO,MAAMC,gBAAgB;QAAK,EAChCC,YAAY,KAAK,EACjBC,aAAa,EACbC,SAAS,EACTC,UAAU,EAEY,WADnBC;QAJHJ;QACAC;QACAC;QACAC;;yBAGA,KAACH;QAAUK,KAAKF;QAAYD,WAAWJ,WAAWG,eAAeC;OAAgBE;EACjF"}
1
+ {"version":3,"sources":["../../../src/components/RootComponent/RootComponent.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasComponent, HasRootRef } from '../../types';\n\nexport interface RootComponentProps<T>\n extends React.AllHTMLAttributes<T>,\n HasRootRef<T>,\n HasComponent {\n baseClassName?: string | false;\n}\n\n/**\n * Базовый корневой компонент.\n */\nexport const RootComponent = <T,>({\n Component = 'div',\n baseClassName,\n className,\n getRootRef,\n ...restProps\n}: RootComponentProps<T>) => (\n <Component ref={getRootRef} className={classNames(baseClassName, className)} {...restProps} />\n);\n"],"names":["React","classNames","RootComponent","Component","baseClassName","className","getRootRef","restProps","ref"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAU7C;;CAEC,GACD,OAAO,MAAMC,gBAAgB;QAAK,EAChCC,YAAY,KAAK,EACjBC,aAAa,EACbC,SAAS,EACTC,UAAU,EAEY,WADnBC;QAJHJ;QACAC;QACAC;QACAC;;yBAGA,KAACH;QAAUK,KAAKF;QAAYD,WAAWJ,WAAWG,eAAeC;OAAgBE;EACjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon48CancelCircle.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenSpinner/Icon48CancelCircle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,kBAAkB,UAAW,MAAM,QAAQ,CAAC,aAAa,CAAC,4CAiBtE,CAAC"}
1
+ {"version":3,"file":"Icon48CancelCircle.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenSpinner/Icon48CancelCircle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,kBAAkB,UAAW,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,4CAiBtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ScreenSpinner/Icon48CancelCircle.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport const Icon48CancelCircle = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n className=\"vkuiIcon\"\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M40 24c0 8.837-7.163 16-16 16S8 32.837 8 24 15.163 8 24 8s16 7.163 16 16Zm-10.08-4.33a1.125 1.125 0 0 0-1.59-1.59L24 22.409l-4.33-4.33a1.125 1.125 0 0 0-1.59 0l-.101.116a1.125 1.125 0 0 0 .1 1.476L22.41 24l-4.33 4.33a1.125 1.125 0 0 0 1.591 1.59L24 25.591l4.33 4.33c.439.439 1.151.439 1.59 0l.101-.116a1.125 1.125 0 0 0-.1-1.476L25.59 24l4.33-4.33Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n"],"names":["React","Icon48CancelCircle","props","svg","className","width","height","viewBox","fill","xmlns","path","fillRule","clipRule","d"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,MAAMC,qBAAqB,CAACC,sBACjC,KAACC;QACCC,WAAU;QACVC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACLC,OAAM;OACFP;kBAEJ,cAAA,KAACQ;YACCC,UAAS;YACTC,UAAS;YACTC,GAAE;YACFL,MAAK;;QAGT"}
1
+ {"version":3,"sources":["../../../src/components/ScreenSpinner/Icon48CancelCircle.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport const Icon48CancelCircle = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n className=\"vkuiIcon\"\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M40 24c0 8.837-7.163 16-16 16S8 32.837 8 24 15.163 8 24 8s16 7.163 16 16Zm-10.08-4.33a1.125 1.125 0 0 0-1.59-1.59L24 22.409l-4.33-4.33a1.125 1.125 0 0 0-1.59 0l-.101.116a1.125 1.125 0 0 0 .1 1.476L22.41 24l-4.33 4.33a1.125 1.125 0 0 0 1.591 1.59L24 25.591l4.33 4.33c.439.439 1.151.439 1.59 0l.101-.116a1.125 1.125 0 0 0-.1-1.476L25.59 24l4.33-4.33Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n"],"names":["React","Icon48CancelCircle","props","svg","className","width","height","viewBox","fill","xmlns","path","fillRule","clipRule","d"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,MAAMC,qBAAqB,CAACC,sBACjC,KAACC;QACCC,WAAU;QACVC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACLC,OAAM;OACFP;kBAEJ,cAAA,KAACQ;YACCC,UAAS;YACTC,UAAS;YACTC,GAAE;YACFL,MAAK;;QAGT"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon48DoneOutline.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenSpinner/Icon48DoneOutline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,iBAAiB,UAAW,MAAM,QAAQ,CAAC,aAAa,CAAC,4CAkBrE,CAAC"}
1
+ {"version":3,"file":"Icon48DoneOutline.d.ts","sourceRoot":"","sources":["../../../src/components/ScreenSpinner/Icon48DoneOutline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,iBAAiB,UAAW,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,4CAkBrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ScreenSpinner/Icon48DoneOutline.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport const Icon48DoneOutline = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n className=\"vkuiIcon\"\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M9 24L19 34L39 14\"\n stroke=\"currentColor\"\n strokeWidth=\"3.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n"],"names":["React","Icon48DoneOutline","props","svg","className","width","height","viewBox","fill","xmlns","path","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,MAAMC,oBAAoB,CAACC,sBAChC,KAACC;QACCC,WAAU;QACVC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACLC,OAAM;OACFP;kBAEJ,cAAA,KAACQ;YACCC,GAAE;YACFC,QAAO;YACPC,aAAY;YACZC,eAAc;YACdC,gBAAe;;QAGnB"}
1
+ {"version":3,"sources":["../../../src/components/ScreenSpinner/Icon48DoneOutline.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport const Icon48DoneOutline = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n className=\"vkuiIcon\"\n width=\"48\"\n height=\"48\"\n viewBox=\"0 0 48 48\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M9 24L19 34L39 14\"\n stroke=\"currentColor\"\n strokeWidth=\"3.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n"],"names":["React","Icon48DoneOutline","props","svg","className","width","height","viewBox","fill","xmlns","path","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,MAAMC,oBAAoB,CAACC,sBAChC,KAACC;QACCC,WAAU;QACVC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACLC,OAAM;OACFP;kBAEJ,cAAA,KAACQ;YACCC,GAAE;YACFC,QAAO;YACPC,aAAY;YACZC,eAAc;YACdC,gBAAe;;QAGnB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ScreenSpinner/ScreenSpinner.tsx"],"sourcesContent":["import { Icon24Cancel } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Spinner, SpinnerProps } from '../Spinner/Spinner';\nimport { Icon48CancelCircle } from './Icon48CancelCircle';\nimport { Icon48DoneOutline } from './Icon48DoneOutline';\nimport styles from './ScreenSpinner.module.css';\n\nexport interface ScreenSpinnerProps extends SpinnerProps {\n state?: 'loading' | 'cancelable' | 'done' | 'error';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ScreenSpinner\n */\nexport const ScreenSpinner = ({\n style,\n className,\n state = 'loading',\n size = 'large',\n onClick,\n children = 'Пожалуйста, подождите...',\n ...restProps\n}: ScreenSpinnerProps) => {\n const hideSpinner = state === 'done' || state === 'error';\n\n const Icon = {\n loading: () => null,\n cancelable: Icon24Cancel,\n done: Icon48DoneOutline,\n error: Icon48CancelCircle,\n }[state];\n\n useScrollLock();\n\n return (\n <PopoutWrapper\n noBackground\n className={classNames(\n styles['ScreenSpinner'],\n state === 'cancelable' && styles['ScreenSpinner--clickable'],\n className,\n )}\n style={style}\n >\n <div className={styles['ScreenSpinner__container']} onClick={onClick}>\n <Spinner\n className={classNames(\n styles['ScreenSpinner__spinner'],\n hideSpinner && styles['ScreenSpinner__spinner--hidden'],\n )}\n size={size}\n {...restProps}\n >\n {children}\n </Spinner>\n <div\n className={classNames(\n styles['ScreenSpinner__icon'],\n state === 'done' && styles['ScreenSpinner__icon--state-done'],\n )}\n >\n <Icon />\n </div>\n </div>\n </PopoutWrapper>\n );\n};\n"],"names":["Icon24Cancel","classNames","useScrollLock","PopoutWrapper","Spinner","Icon48CancelCircle","Icon48DoneOutline","ScreenSpinner","style","className","state","size","onClick","children","restProps","hideSpinner","Icon","loading","cancelable","done","error","noBackground","div"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;AAAA,SAASA,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,OAAO,QAAsB,qBAAqB;AAC3D,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,iBAAiB,QAAQ,sBAAsB;AAOxD;;CAEC,GACD,OAAO,MAAMC,gBAAgB;QAAC,EAC5BC,KAAK,EACLC,SAAS,EACTC,QAAQ,SAAS,EACjBC,OAAO,OAAO,EACdC,OAAO,EACPC,WAAW,0BAA0B,EAElB,WADhBC;QANHN;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,cAAcL,UAAU,UAAUA,UAAU;IAElD,MAAMM,OAAO;QACXC,SAAS,IAAM;QACfC,YAAYlB;QACZmB,MAAMb;QACNc,OAAOf;IACT,CAAC,CAACK,MAAM;IAERR;IAEA,qBACE,KAACC;QACCkB,YAAY;QACZZ,WAAWR,gCAETS,UAAU,gDACVD;QAEFD,OAAOA;kBAEP,cAAA,MAACc;YAAIb,SAAS;YAAsCG,SAASA;;8BAC3D,KAACR;oBACCK,WAAWR,yCAETc;oBAEFJ,MAAMA;mBACFG;8BAEHD;;8BAEH,KAACS;oBACCb,WAAWR,sCAETS,UAAU;8BAGZ,cAAA,KAACM;;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/ScreenSpinner/ScreenSpinner.tsx"],"sourcesContent":["import { Icon24Cancel } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Spinner, SpinnerProps } from '../Spinner/Spinner';\nimport { Icon48CancelCircle } from './Icon48CancelCircle';\nimport { Icon48DoneOutline } from './Icon48DoneOutline';\nimport styles from './ScreenSpinner.module.css';\n\nexport interface ScreenSpinnerProps extends SpinnerProps {\n state?: 'loading' | 'cancelable' | 'done' | 'error';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ScreenSpinner\n */\nexport const ScreenSpinner = ({\n style,\n className,\n state = 'loading',\n size = 'large',\n onClick,\n children = 'Пожалуйста, подождите...',\n ...restProps\n}: ScreenSpinnerProps) => {\n const hideSpinner = state === 'done' || state === 'error';\n\n const Icon = {\n loading: () => null,\n cancelable: Icon24Cancel,\n done: Icon48DoneOutline,\n error: Icon48CancelCircle,\n }[state];\n\n useScrollLock();\n\n return (\n <PopoutWrapper\n noBackground\n className={classNames(\n styles['ScreenSpinner'],\n state === 'cancelable' && styles['ScreenSpinner--clickable'],\n className,\n )}\n style={style}\n >\n <div className={styles['ScreenSpinner__container']} onClick={onClick}>\n <Spinner\n className={classNames(\n styles['ScreenSpinner__spinner'],\n hideSpinner && styles['ScreenSpinner__spinner--hidden'],\n )}\n size={size}\n {...restProps}\n >\n {children}\n </Spinner>\n <div\n className={classNames(\n styles['ScreenSpinner__icon'],\n state === 'done' && styles['ScreenSpinner__icon--state-done'],\n )}\n >\n <Icon />\n </div>\n </div>\n </PopoutWrapper>\n );\n};\n"],"names":["Icon24Cancel","classNames","useScrollLock","PopoutWrapper","Spinner","Icon48CancelCircle","Icon48DoneOutline","ScreenSpinner","style","className","state","size","onClick","children","restProps","hideSpinner","Icon","loading","cancelable","done","error","noBackground","div"],"mappings":";;;;AAAA,SAASA,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,OAAO,QAAsB,qBAAqB;AAC3D,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,iBAAiB,QAAQ,sBAAsB;AAOxD;;CAEC,GACD,OAAO,MAAMC,gBAAgB;QAAC,EAC5BC,KAAK,EACLC,SAAS,EACTC,QAAQ,SAAS,EACjBC,OAAO,OAAO,EACdC,OAAO,EACPC,WAAW,0BAA0B,EAElB,WADhBC;QANHN;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAME,cAAcL,UAAU,UAAUA,UAAU;IAElD,MAAMM,OAAO;QACXC,SAAS,IAAM;QACfC,YAAYlB;QACZmB,MAAMb;QACNc,OAAOf;IACT,CAAC,CAACK,MAAM;IAERR;IAEA,qBACE,KAACC;QACCkB,YAAY;QACZZ,WAAWR,gCAETS,UAAU,gDACVD;QAEFD,OAAOA;kBAEP,cAAA,MAACc;YAAIb,SAAS;YAAsCG,SAASA;;8BAC3D,KAACR;oBACCK,WAAWR,yCAETc;oBAEFJ,MAAMA;mBACFG;8BAEHD;;8BAEH,KAACS;oBACCb,WAAWR,sCAETS,UAAU;8BAGZ,cAAA,KAACM;;;;;AAKX,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ScrollArrow/ScrollArrow.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Chevron, Icon24Chevron } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './ScrollArrow.module.css';\n\nconst stylesSize = {\n m: styles['ScrollArrow--size-m'],\n l: styles['ScrollArrow--size-l'],\n};\n\nconst stylesDirection = {\n up: styles['ScrollArrow--direction-up'],\n right: styles['ScrollArrow--direction-right'],\n down: styles['ScrollArrow--direction-down'],\n left: styles['ScrollArrow--direction-left'],\n};\n\nconst labelDirection = {\n up: 'Назад',\n right: 'Вперед',\n down: 'Вперед',\n left: 'Назад',\n};\n\nconst ArrowIcon = ({ size }: Pick<ScrollArrowProps, 'size'>) => {\n let Icon = Icon24Chevron;\n if (size === 'm') {\n Icon = Icon16Chevron;\n }\n\n return <Icon className={styles['ScrollArrow__defaultIcon']} />;\n};\n\nexport interface ScrollArrowProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n HasRootRef<HTMLButtonElement> {\n /**\n * Направление стрелки\n */\n direction: 'up' | 'right' | 'down' | 'left';\n /**\n * Размер стрелки\n */\n size?: 'm' | 'l';\n /**\n * Смещает иконку кнопки навигации по вертикали.\n */\n offsetY?: number | string;\n label?: string;\n}\n\n/**\n * Компонент стрелки. Используется в [HorizontalScroll](#/HorizontalScroll) и [Gallery](#/Gallery).\n *\n * @since 5.4.0\n * @see https://vkcom.github.io/VKUI/#/ScrollArrow\n */\nexport const ScrollArrow = ({\n size = 'l',\n offsetY,\n direction,\n label: labelProp,\n children = <ArrowIcon size={size} />,\n ...restProps\n}: ScrollArrowProps) => {\n const label = labelProp ?? labelDirection[direction];\n\n return (\n <RootComponent\n Component=\"button\"\n type=\"button\"\n baseClassName={classNames(\n styles['ScrollArrow'],\n stylesSize[size],\n stylesDirection[direction],\n )}\n {...restProps}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n <span className={styles['ScrollArrow__icon']} style={offsetY ? { top: offsetY } : undefined}>\n {children}\n </span>\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Chevron","Icon24Chevron","classNames","RootComponent","VisuallyHidden","stylesSize","m","l","stylesDirection","up","right","down","left","labelDirection","ArrowIcon","size","Icon","className","ScrollArrow","offsetY","direction","label","labelProp","children","restProps","Component","type","baseClassName","span","style","top","undefined"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,aAAa,EAAEC,aAAa,QAAQ,mBAAmB;AAChE,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,cAAc,QAAQ,mCAAmC;AAGlE,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;AACH;AAEA,MAAMC,kBAAkB;IACtBC,EAAE;IACFC,KAAK;IACLC,IAAI;IACJC,IAAI;AACN;AAEA,MAAMC,iBAAiB;IACrBJ,IAAI;IACJC,OAAO;IACPC,MAAM;IACNC,MAAM;AACR;AAEA,MAAME,YAAY,CAAC,EAAEC,IAAI,EAAkC;IACzD,IAAIC,OAAOf;IACX,IAAIc,SAAS,KAAK;QAChBC,OAAOhB;IACT;IAEA,qBAAO,KAACgB;QAAKC,SAAS;;AACxB;AAoBA;;;;;CAKC,GACD,OAAO,MAAMC,cAAc;QAAC,EAC1BH,OAAO,GAAG,EACVI,OAAO,EACPC,SAAS,EACTC,OAAOC,SAAS,EAChBC,yBAAW,KAACT;QAAUC,MAAMA;MAAQ,EAEnB,WADdS;QALHT;QACAI;QACAC;QACAC;QACAE;;IAGA,MAAMF,QAAQC,sBAAAA,uBAAAA,YAAaT,cAAc,CAACO,UAAU;IAEpD,qBACE,MAACjB;QACCsB,WAAU;QACVC,MAAK;QACLC,eAAezB,8BAEbG,UAAU,CAACU,KAAK,EAChBP,eAAe,CAACY,UAAU;OAExBI;;YAEHH,uBAAS,KAACjB;0BAAgBiB;;0BAC3B,KAACO;gBAAKX,SAAS;gBAA+BY,OAAOV,UAAU;oBAAEW,KAAKX;gBAAQ,IAAIY;0BAC/ER;;;;AAIT,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/ScrollArrow/ScrollArrow.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Chevron, Icon24Chevron } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './ScrollArrow.module.css';\n\nconst stylesSize = {\n m: styles['ScrollArrow--size-m'],\n l: styles['ScrollArrow--size-l'],\n};\n\nconst stylesDirection = {\n up: styles['ScrollArrow--direction-up'],\n right: styles['ScrollArrow--direction-right'],\n down: styles['ScrollArrow--direction-down'],\n left: styles['ScrollArrow--direction-left'],\n};\n\nconst labelDirection = {\n up: 'Назад',\n right: 'Вперед',\n down: 'Вперед',\n left: 'Назад',\n};\n\nconst ArrowIcon = ({ size }: Pick<ScrollArrowProps, 'size'>) => {\n let Icon = Icon24Chevron;\n if (size === 'm') {\n Icon = Icon16Chevron;\n }\n\n return <Icon className={styles['ScrollArrow__defaultIcon']} />;\n};\n\nexport interface ScrollArrowProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n HasRootRef<HTMLButtonElement> {\n /**\n * Направление стрелки\n */\n direction: 'up' | 'right' | 'down' | 'left';\n /**\n * Размер стрелки\n */\n size?: 'm' | 'l';\n /**\n * Смещает иконку кнопки навигации по вертикали.\n */\n offsetY?: number | string;\n label?: string;\n}\n\n/**\n * Компонент стрелки. Используется в [HorizontalScroll](#/HorizontalScroll) и [Gallery](#/Gallery).\n *\n * @since 5.4.0\n * @see https://vkcom.github.io/VKUI/#/ScrollArrow\n */\nexport const ScrollArrow = ({\n size = 'l',\n offsetY,\n direction,\n label: labelProp,\n children = <ArrowIcon size={size} />,\n ...restProps\n}: ScrollArrowProps) => {\n const label = labelProp ?? labelDirection[direction];\n\n return (\n <RootComponent\n Component=\"button\"\n type=\"button\"\n baseClassName={classNames(\n styles['ScrollArrow'],\n stylesSize[size],\n stylesDirection[direction],\n )}\n {...restProps}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n <span className={styles['ScrollArrow__icon']} style={offsetY ? { top: offsetY } : undefined}>\n {children}\n </span>\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Chevron","Icon24Chevron","classNames","RootComponent","VisuallyHidden","stylesSize","m","l","stylesDirection","up","right","down","left","labelDirection","ArrowIcon","size","Icon","className","ScrollArrow","offsetY","direction","label","labelProp","children","restProps","Component","type","baseClassName","span","style","top","undefined"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,aAAa,EAAEC,aAAa,QAAQ,mBAAmB;AAChE,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,cAAc,QAAQ,mCAAmC;AAGlE,MAAMC,aAAa;IACjBC,CAAC;IACDC,CAAC;AACH;AAEA,MAAMC,kBAAkB;IACtBC,EAAE;IACFC,KAAK;IACLC,IAAI;IACJC,IAAI;AACN;AAEA,MAAMC,iBAAiB;IACrBJ,IAAI;IACJC,OAAO;IACPC,MAAM;IACNC,MAAM;AACR;AAEA,MAAME,YAAY,CAAC,EAAEC,IAAI,EAAkC;IACzD,IAAIC,OAAOf;IACX,IAAIc,SAAS,KAAK;QAChBC,OAAOhB;IACT;IAEA,qBAAO,KAACgB;QAAKC,SAAS;;AACxB;AAoBA;;;;;CAKC,GACD,OAAO,MAAMC,cAAc;QAAC,EAC1BH,OAAO,GAAG,EACVI,OAAO,EACPC,SAAS,EACTC,OAAOC,SAAS,EAChBC,yBAAW,KAACT;QAAUC,MAAMA;MAAQ,EAEnB,WADdS;QALHT;QACAI;QACAC;QACAC;QACAE;;IAGA,MAAMF,QAAQC,sBAAAA,uBAAAA,YAAaT,cAAc,CAACO,UAAU;IAEpD,qBACE,MAACjB;QACCsB,WAAU;QACVC,MAAK;QACLC,eAAezB,8BAEbG,UAAU,CAACU,KAAK,EAChBP,eAAe,CAACY,UAAU;OAExBI;;YAEHH,uBAAS,KAACjB;0BAAgBiB;;0BAC3B,KAACO;gBAAKX,SAAS;gBAA+BY,OAAOV,UAAU;oBAAEW,KAAKX;gBAAQ,IAAIY;0BAC/ER;;;;AAIT,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Search/Search.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Clear, Icon16SearchOutline, Icon24Cancel } from '@vkontakte/icons';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { useBooleanState } from '../../hooks/useBooleanState';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useNativeFormResetListener } from '../../hooks/useNativeFormResetListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { touchEnabled } from '../../lib/touch';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasRef, HasRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Search.module.css';\n\nexport interface SearchProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLInputElement> {\n /**\n * iOS only. Текст кнопки \"отмена\", которая чистит текстовое поле и убирает фокус.\n */\n after?: React.ReactNode;\n before?: React.ReactNode;\n icon?: React.ReactNode;\n onIconClick?: React.PointerEventHandler<HTMLElement>;\n defaultValue?: string;\n iconLabel?: string;\n clearLabel?: string;\n /**\n * Удаляет отступы у компонента\n */\n noPadding?: boolean;\n /**\n * Текст для кнопки Найти\n */\n findButtonText?: string;\n /**\n * Коллбэк для кнопки Найти\n */\n onFindButtonClick?: React.MouseEventHandler<HTMLElement>;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Search\n */\nexport const Search = ({\n id: idProp,\n before = <Icon16SearchOutline />,\n className,\n placeholder = 'Поиск',\n after = 'Отмена',\n getRef,\n icon,\n onIconClick = noop,\n style,\n autoComplete = 'off',\n onChange,\n iconLabel,\n clearLabel = 'Очистить',\n noPadding,\n getRootRef,\n findButtonText = 'Найти',\n onFindButtonClick,\n ...inputProps\n}: SearchProps) => {\n const inputRef = useExternRef(getRef);\n const {\n value: isFocused,\n setTrue: setFocusedTrue,\n setFalse: setFocusedFalse,\n } = useBooleanState(false);\n const generatedId = React.useId();\n const inputId = idProp ? idProp : `search-${generatedId}`;\n\n const [hasValue, setHasValue] = React.useState<boolean>(() =>\n Boolean(inputProps.value || inputProps.defaultValue),\n );\n const checkHasValue: React.ChangeEventHandler<HTMLInputElement> = (e) =>\n setHasValue(Boolean(e.currentTarget.value));\n\n const { sizeY = 'none' } = useAdaptivity();\n const { sizeY: adaptiveSizeY } = useAdaptivityConditionalRender();\n const platform = usePlatform();\n\n const onFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedTrue();\n inputProps.onFocus && inputProps.onFocus(e);\n };\n\n const onBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedFalse();\n inputProps.onBlur && inputProps.onBlur(e);\n };\n\n const onCancel = React.useCallback(() => {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value',\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, '');\n\n const ev2 = new Event('input', { bubbles: true });\n inputRef.current?.dispatchEvent(ev2);\n }, [inputRef]);\n\n const onIconClickStart: React.PointerEventHandler<HTMLElement> = React.useCallback(\n (e) => onIconClick(e),\n [onIconClick],\n );\n\n const onIconCancelClickStart: React.PointerEventHandler<HTMLElement> = React.useCallback(\n (e) => {\n e.preventDefault();\n inputRef.current?.focus();\n if (touchEnabled()) {\n onCancel();\n }\n },\n [inputRef, onCancel],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (inputProps.value !== undefined) {\n setHasValue(Boolean(inputProps.value));\n }\n }, [inputProps.value]);\n\n useNativeFormResetListener(inputRef, () => {\n setHasValue(Boolean(inputProps.defaultValue));\n });\n\n return (\n <div\n className={classNames(\n 'vkuiInternalSearch',\n styles['Search'],\n sizeY === 'none' && styles['Search--sizeY-none'],\n sizeY === 'compact' && styles['Search--sizeY-compact'],\n isFocused && styles['Search--focused'],\n hasValue && styles['Search--has-value'],\n after && styles['Search--has-after'],\n icon && styles['Search--has-icon'],\n inputProps.disabled && styles['Search--disabled'],\n !noPadding && styles['Search--withPadding'],\n className,\n )}\n ref={getRootRef}\n style={style}\n >\n <div className={styles['Search__field']}>\n <label htmlFor={inputId} className={styles['Search__label']}>\n {placeholder}\n </label>\n <div className={styles['Search__input']}>\n {before}\n <Headline\n Component=\"input\"\n type=\"search\"\n level=\"1\"\n weight=\"3\"\n {...inputProps}\n id={inputId}\n placeholder={placeholder}\n autoComplete={autoComplete}\n getRootRef={inputRef}\n className={styles['Search__nativeInput']}\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={callMultiple(onChange, checkHasValue)}\n />\n </div>\n <div className={styles['Search__controls']}>\n {icon && (\n <IconButton\n hoverMode=\"opacity\"\n onPointerDown={onIconClickStart}\n className={styles['Search__icon']}\n onFocus={setFocusedTrue}\n onBlur={setFocusedFalse}\n onClick={noop}\n >\n <VisuallyHidden>{iconLabel}</VisuallyHidden>\n {icon}\n </IconButton>\n )}\n <IconButton\n hoverMode=\"opacity\"\n onPointerDown={onIconCancelClickStart}\n onClick={onCancel}\n className={styles['Search__icon']}\n tabIndex={hasValue ? undefined : -1}\n >\n <VisuallyHidden>{clearLabel}</VisuallyHidden>\n {platform === 'ios' ? <Icon16Clear /> : <Icon24Cancel />}\n </IconButton>\n {adaptiveSizeY.compact && onFindButtonClick && (\n <Button\n mode=\"primary\"\n size=\"m\"\n className={classNames(styles['Search__findButton'], adaptiveSizeY.compact.className)}\n focusVisibleMode=\"inside\"\n onClick={onFindButtonClick}\n tabIndex={hasValue ? undefined : -1}\n >\n {findButtonText}\n </Button>\n )}\n </div>\n </div>\n {platform === 'ios' && after && (\n <Button\n mode=\"tertiary\"\n size=\"m\"\n className={styles['Search__after']}\n focusVisibleMode=\"inside\"\n onClick={onCancel}\n onFocus={setFocusedTrue}\n onBlur={setFocusedFalse}\n >\n <span className={styles['Search__afterText']}>{after}</span>\n </Button>\n )}\n </div>\n );\n};\n"],"names":["React","Icon16Clear","Icon16SearchOutline","Icon24Cancel","classNames","noop","useAdaptivity","useAdaptivityConditionalRender","useBooleanState","useExternRef","useNativeFormResetListener","usePlatform","callMultiple","touchEnabled","useIsomorphicLayoutEffect","Button","IconButton","Headline","VisuallyHidden","Search","id","idProp","before","className","placeholder","after","getRef","icon","onIconClick","style","autoComplete","onChange","iconLabel","clearLabel","noPadding","getRootRef","findButtonText","onFindButtonClick","inputProps","inputRef","value","isFocused","setTrue","setFocusedTrue","setFalse","setFocusedFalse","generatedId","useId","inputId","hasValue","setHasValue","useState","Boolean","defaultValue","checkHasValue","e","currentTarget","sizeY","adaptiveSizeY","platform","onFocus","onBlur","onCancel","useCallback","Object","nativeInputValueSetter","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","call","current","ev2","Event","bubbles","dispatchEvent","onIconClickStart","onIconCancelClickStart","preventDefault","focus","undefined","div","disabled","ref","label","htmlFor","Component","type","level","weight","hoverMode","onPointerDown","onClick","tabIndex","compact","mode","size","focusVisibleMode","span"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/Search/Search.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon16Clear, Icon16SearchOutline, Icon24Cancel } from '@vkontakte/icons';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { useBooleanState } from '../../hooks/useBooleanState';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useNativeFormResetListener } from '../../hooks/useNativeFormResetListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { touchEnabled } from '../../lib/touch';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasRef, HasRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Search.module.css';\n\nexport interface SearchProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLInputElement> {\n /**\n * iOS only. Текст кнопки \"отмена\", которая чистит текстовое поле и убирает фокус.\n */\n after?: React.ReactNode;\n before?: React.ReactNode;\n icon?: React.ReactNode;\n onIconClick?: React.PointerEventHandler<HTMLElement>;\n defaultValue?: string;\n iconLabel?: string;\n clearLabel?: string;\n /**\n * Удаляет отступы у компонента\n */\n noPadding?: boolean;\n /**\n * Текст для кнопки Найти\n */\n findButtonText?: string;\n /**\n * Коллбэк для кнопки Найти\n */\n onFindButtonClick?: React.MouseEventHandler<HTMLElement>;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Search\n */\nexport const Search = ({\n id: idProp,\n before = <Icon16SearchOutline />,\n className,\n placeholder = 'Поиск',\n after = 'Отмена',\n getRef,\n icon,\n onIconClick = noop,\n style,\n autoComplete = 'off',\n onChange,\n iconLabel,\n clearLabel = 'Очистить',\n noPadding,\n getRootRef,\n findButtonText = 'Найти',\n onFindButtonClick,\n ...inputProps\n}: SearchProps) => {\n const inputRef = useExternRef(getRef);\n const {\n value: isFocused,\n setTrue: setFocusedTrue,\n setFalse: setFocusedFalse,\n } = useBooleanState(false);\n const generatedId = React.useId();\n const inputId = idProp ? idProp : `search-${generatedId}`;\n\n const [hasValue, setHasValue] = React.useState<boolean>(() =>\n Boolean(inputProps.value || inputProps.defaultValue),\n );\n const checkHasValue: React.ChangeEventHandler<HTMLInputElement> = (e) =>\n setHasValue(Boolean(e.currentTarget.value));\n\n const { sizeY = 'none' } = useAdaptivity();\n const { sizeY: adaptiveSizeY } = useAdaptivityConditionalRender();\n const platform = usePlatform();\n\n const onFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedTrue();\n inputProps.onFocus && inputProps.onFocus(e);\n };\n\n const onBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedFalse();\n inputProps.onBlur && inputProps.onBlur(e);\n };\n\n const onCancel = React.useCallback(() => {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value',\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, '');\n\n const ev2 = new Event('input', { bubbles: true });\n inputRef.current?.dispatchEvent(ev2);\n }, [inputRef]);\n\n const onIconClickStart: React.PointerEventHandler<HTMLElement> = React.useCallback(\n (e) => onIconClick(e),\n [onIconClick],\n );\n\n const onIconCancelClickStart: React.PointerEventHandler<HTMLElement> = React.useCallback(\n (e) => {\n e.preventDefault();\n inputRef.current?.focus();\n if (touchEnabled()) {\n onCancel();\n }\n },\n [inputRef, onCancel],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (inputProps.value !== undefined) {\n setHasValue(Boolean(inputProps.value));\n }\n }, [inputProps.value]);\n\n useNativeFormResetListener(inputRef, () => {\n setHasValue(Boolean(inputProps.defaultValue));\n });\n\n return (\n <div\n className={classNames(\n 'vkuiInternalSearch',\n styles['Search'],\n sizeY === 'none' && styles['Search--sizeY-none'],\n sizeY === 'compact' && styles['Search--sizeY-compact'],\n isFocused && styles['Search--focused'],\n hasValue && styles['Search--has-value'],\n after && styles['Search--has-after'],\n icon && styles['Search--has-icon'],\n inputProps.disabled && styles['Search--disabled'],\n !noPadding && styles['Search--withPadding'],\n className,\n )}\n ref={getRootRef}\n style={style}\n >\n <div className={styles['Search__field']}>\n <label htmlFor={inputId} className={styles['Search__label']}>\n {placeholder}\n </label>\n <div className={styles['Search__input']}>\n {before}\n <Headline\n Component=\"input\"\n type=\"search\"\n level=\"1\"\n weight=\"3\"\n {...inputProps}\n id={inputId}\n placeholder={placeholder}\n autoComplete={autoComplete}\n getRootRef={inputRef}\n className={styles['Search__nativeInput']}\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={callMultiple(onChange, checkHasValue)}\n />\n </div>\n <div className={styles['Search__controls']}>\n {icon && (\n <IconButton\n hoverMode=\"opacity\"\n onPointerDown={onIconClickStart}\n className={styles['Search__icon']}\n onFocus={setFocusedTrue}\n onBlur={setFocusedFalse}\n onClick={noop}\n >\n <VisuallyHidden>{iconLabel}</VisuallyHidden>\n {icon}\n </IconButton>\n )}\n <IconButton\n hoverMode=\"opacity\"\n onPointerDown={onIconCancelClickStart}\n onClick={onCancel}\n className={styles['Search__icon']}\n tabIndex={hasValue ? undefined : -1}\n >\n <VisuallyHidden>{clearLabel}</VisuallyHidden>\n {platform === 'ios' ? <Icon16Clear /> : <Icon24Cancel />}\n </IconButton>\n {adaptiveSizeY.compact && onFindButtonClick && (\n <Button\n mode=\"primary\"\n size=\"m\"\n className={classNames(styles['Search__findButton'], adaptiveSizeY.compact.className)}\n focusVisibleMode=\"inside\"\n onClick={onFindButtonClick}\n tabIndex={hasValue ? undefined : -1}\n >\n {findButtonText}\n </Button>\n )}\n </div>\n </div>\n {platform === 'ios' && after && (\n <Button\n mode=\"tertiary\"\n size=\"m\"\n className={styles['Search__after']}\n focusVisibleMode=\"inside\"\n onClick={onCancel}\n onFocus={setFocusedTrue}\n onBlur={setFocusedFalse}\n >\n <span className={styles['Search__afterText']}>{after}</span>\n </Button>\n )}\n </div>\n );\n};\n"],"names":["React","Icon16Clear","Icon16SearchOutline","Icon24Cancel","classNames","noop","useAdaptivity","useAdaptivityConditionalRender","useBooleanState","useExternRef","useNativeFormResetListener","usePlatform","callMultiple","touchEnabled","useIsomorphicLayoutEffect","Button","IconButton","Headline","VisuallyHidden","Search","id","idProp","before","className","placeholder","after","getRef","icon","onIconClick","style","autoComplete","onChange","iconLabel","clearLabel","noPadding","getRootRef","findButtonText","onFindButtonClick","inputProps","inputRef","value","isFocused","setTrue","setFocusedTrue","setFalse","setFocusedFalse","generatedId","useId","inputId","hasValue","setHasValue","useState","Boolean","defaultValue","checkHasValue","e","currentTarget","sizeY","adaptiveSizeY","platform","onFocus","onBlur","onCancel","useCallback","Object","nativeInputValueSetter","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","call","current","ev2","Event","bubbles","dispatchEvent","onIconClickStart","onIconCancelClickStart","preventDefault","focus","undefined","div","disabled","ref","label","htmlFor","Component","type","level","weight","hoverMode","onPointerDown","onClick","tabIndex","compact","mode","size","focusVisibleMode","span"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SegmentedControlOption } from './SegmentedControlOption/SegmentedControlOption';\nimport styles from './SegmentedControl.module.css';\n\nconst sizeYClassNames = {\n none: styles['SegmentedControl--sizeY-none'],\n ['regular']: styles['SegmentedControl--sizeY-regular'],\n};\n\nexport type SegmentedControlValue = string | number | undefined;\n\nexport interface SegmentedControlOptionInterface\n extends Omit<React.HTMLAttributes<HTMLElement>, 'label'> {\n /**\n * Вставляет элемент перед основным контентом.\n * Рекомендуется использовать только иконки с размером 20\n */\n before?: React.ReactNode;\n label: React.ReactChild;\n value: SegmentedControlValue;\n}\n\nexport interface SegmentedControlProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'> {\n options: SegmentedControlOptionInterface[];\n size?: 'm' | 'l';\n name?: string;\n onChange?: (value: SegmentedControlValue) => void;\n value?: SegmentedControlValue;\n defaultValue?: SegmentedControlValue;\n}\n\nconst warn = warnOnce('SegmentedControl');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SegmentedControl\n */\nexport const SegmentedControl = ({\n size = 'l',\n name,\n options,\n defaultValue = options[0]?.value,\n children,\n onChange: onChangeProp,\n value: valueProp,\n ...restProps\n}: SegmentedControlProps) => {\n const id = React.useId();\n\n const [value, onChange] = useCustomEnsuredControl({\n onChange: onChangeProp,\n value: valueProp,\n defaultValue,\n });\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const actualIndex = options.findIndex((option) => option.value === value);\n\n useIsomorphicLayoutEffect(() => {\n if (actualIndex === -1 && process.env.NODE_ENV === 'development') {\n warn('defaultValue: такого значения нет среди опций!', 'error');\n }\n }, [actualIndex]);\n\n const translateX = `translateX(${100 * actualIndex}%)`;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['SegmentedControl'],\n sizeY !== 'compact' && sizeYClassNames[sizeY],\n size === 'l' && styles['SegmentedControl--size-l'],\n )}\n >\n <div role=\"radiogroup\" className={styles['SegmentedControl__in']}>\n {actualIndex > -1 && (\n <div\n aria-hidden\n className={styles['SegmentedControl__slider']}\n style={{\n width: `${100 / options.length}%`,\n transform: translateX,\n WebkitTransform: translateX,\n }}\n />\n )}\n {options.map(({ label, ...optionProps }) => (\n <SegmentedControlOption\n key={`${optionProps.value}`}\n {...optionProps}\n name={name ?? id}\n checked={value === optionProps.value}\n onChange={() => onChange(optionProps.value)}\n >\n {label}\n </SegmentedControlOption>\n ))}\n </div>\n </RootComponent>\n );\n};\n"],"names":["options","React","classNames","useAdaptivity","useCustomEnsuredControl","useIsomorphicLayoutEffect","warnOnce","RootComponent","SegmentedControlOption","sizeYClassNames","none","warn","SegmentedControl","size","name","defaultValue","value","children","onChange","onChangeProp","valueProp","restProps","id","useId","sizeY","actualIndex","findIndex","option","process","env","NODE_ENV","translateX","baseClassName","div","role","className","aria-hidden","style","width","length","transform","WebkitTransform","map","label","optionProps","checked"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;IAgDiBA;;AAhDjB,YAAYC,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,uBAAuB,QAAQ,gCAAgC;AACxE,SAASC,yBAAyB,QAAQ,sCAAsC;AAChF,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,sBAAsB,QAAQ,kDAAkD;AAGzF,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAyBA,MAAMC,OAAOL,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMM,mBAAmB;QAAC,EAC/BC,OAAO,GAAG,EACVC,IAAI,EACJd,OAAO,EACPe,gBAAef,YAAAA,OAAO,CAAC,EAAE,cAAVA,gCAAAA,UAAYgB,KAAK,EAChCC,QAAQ,EACRC,UAAUC,YAAY,EACtBH,OAAOI,SAAS,EAEM,WADnBC;QAPHR;QACAC;QACAd;QACAe;QACAE;QACAC;QACAF;;IAGA,MAAMM,KAAKrB,MAAMsB,KAAK;IAEtB,MAAM,CAACP,OAAOE,SAAS,GAAGd,wBAAwB;QAChDc,UAAUC;QACVH,OAAOI;QACPL;IACF;IAEA,MAAM,EAAES,QAAQ,MAAM,EAAE,GAAGrB;IAE3B,MAAMsB,cAAczB,QAAQ0B,SAAS,CAAC,CAACC,SAAWA,OAAOX,KAAK,KAAKA;IAEnEX,0BAA0B;QACxB,IAAIoB,gBAAgB,CAAC,KAAKG,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;YAChEnB,KAAK,kDAAkD;QACzD;IACF,GAAG;QAACc;KAAY;IAEhB,MAAMM,aAAa,CAAC,WAAW,EAAE,MAAMN,YAAY,EAAE,CAAC;IAEtD,qBACE,KAAClB,uDACKc;QACJW,eAAe9B,mCAEbsB,UAAU,aAAaf,eAAe,CAACe,MAAM,EAC7CX,SAAS;kBAGX,cAAA,MAACoB;YAAIC,MAAK;YAAaC,SAAS;;gBAC7BV,cAAc,CAAC,mBACd,KAACQ;oBACCG,aAAW;oBACXD,SAAS;oBACTE,OAAO;wBACLC,OAAO,CAAC,EAAE,MAAMtC,QAAQuC,MAAM,CAAC,CAAC,CAAC;wBACjCC,WAAWT;wBACXU,iBAAiBV;oBACnB;;gBAGH/B,QAAQ0C,GAAG,CAAC;wBAAC,EAAEC,KAAK,EAAkB,WAAbC;wBAAVD;;yCACd,KAACnC,gEAEKoC;wBACJ9B,MAAMA,iBAAAA,kBAAAA,OAAQQ;wBACduB,SAAS7B,UAAU4B,YAAY5B,KAAK;wBACpCE,UAAU,IAAMA,SAAS0B,YAAY5B,KAAK;kCAEzC2B;wBANI,CAAC,EAAEC,YAAY5B,KAAK,CAAC,CAAC;;;;;AAYvC,EAAE"}
1
+ {"version":3,"sources":["../../../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SegmentedControlOption } from './SegmentedControlOption/SegmentedControlOption';\nimport styles from './SegmentedControl.module.css';\n\nconst sizeYClassNames = {\n none: styles['SegmentedControl--sizeY-none'],\n ['regular']: styles['SegmentedControl--sizeY-regular'],\n};\n\nexport type SegmentedControlValue = string | number | undefined;\n\nexport interface SegmentedControlOptionInterface\n extends Omit<React.HTMLAttributes<HTMLElement>, 'label'> {\n /**\n * Вставляет элемент перед основным контентом.\n * Рекомендуется использовать только иконки с размером 20\n */\n before?: React.ReactNode;\n label: React.ReactChild;\n value: SegmentedControlValue;\n}\n\nexport interface SegmentedControlProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'> {\n options: SegmentedControlOptionInterface[];\n size?: 'm' | 'l';\n name?: string;\n onChange?: (value: SegmentedControlValue) => void;\n value?: SegmentedControlValue;\n defaultValue?: SegmentedControlValue;\n}\n\nconst warn = warnOnce('SegmentedControl');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SegmentedControl\n */\nexport const SegmentedControl = ({\n size = 'l',\n name,\n options,\n defaultValue = options[0]?.value,\n children,\n onChange: onChangeProp,\n value: valueProp,\n ...restProps\n}: SegmentedControlProps) => {\n const id = React.useId();\n\n const [value, onChange] = useCustomEnsuredControl({\n onChange: onChangeProp,\n value: valueProp,\n defaultValue,\n });\n\n const { sizeY = 'none' } = useAdaptivity();\n\n const actualIndex = options.findIndex((option) => option.value === value);\n\n useIsomorphicLayoutEffect(() => {\n if (actualIndex === -1 && process.env.NODE_ENV === 'development') {\n warn('defaultValue: такого значения нет среди опций!', 'error');\n }\n }, [actualIndex]);\n\n const translateX = `translateX(${100 * actualIndex}%)`;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles['SegmentedControl'],\n sizeY !== 'compact' && sizeYClassNames[sizeY],\n size === 'l' && styles['SegmentedControl--size-l'],\n )}\n >\n <div role=\"radiogroup\" className={styles['SegmentedControl__in']}>\n {actualIndex > -1 && (\n <div\n aria-hidden\n className={styles['SegmentedControl__slider']}\n style={{\n width: `${100 / options.length}%`,\n transform: translateX,\n WebkitTransform: translateX,\n }}\n />\n )}\n {options.map(({ label, ...optionProps }) => (\n <SegmentedControlOption\n key={`${optionProps.value}`}\n {...optionProps}\n name={name ?? id}\n checked={value === optionProps.value}\n onChange={() => onChange(optionProps.value)}\n >\n {label}\n </SegmentedControlOption>\n ))}\n </div>\n </RootComponent>\n );\n};\n"],"names":["options","React","classNames","useAdaptivity","useCustomEnsuredControl","useIsomorphicLayoutEffect","warnOnce","RootComponent","SegmentedControlOption","sizeYClassNames","none","warn","SegmentedControl","size","name","defaultValue","value","children","onChange","onChangeProp","valueProp","restProps","id","useId","sizeY","actualIndex","findIndex","option","process","env","NODE_ENV","translateX","baseClassName","div","role","className","aria-hidden","style","width","length","transform","WebkitTransform","map","label","optionProps","checked"],"mappings":";;;IAgDiBA;;AAhDjB,YAAYC,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,uBAAuB,QAAQ,gCAAgC;AACxE,SAASC,yBAAyB,QAAQ,sCAAsC;AAChF,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,aAAa,QAAQ,iCAAiC;AAC/D,SAASC,sBAAsB,QAAQ,kDAAkD;AAGzF,MAAMC,kBAAkB;IACtBC,IAAI;IACJ,CAAC,UAAU;AACb;AAyBA,MAAMC,OAAOL,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMM,mBAAmB;QAAC,EAC/BC,OAAO,GAAG,EACVC,IAAI,EACJd,OAAO,EACPe,gBAAef,YAAAA,OAAO,CAAC,EAAE,cAAVA,gCAAAA,UAAYgB,KAAK,EAChCC,QAAQ,EACRC,UAAUC,YAAY,EACtBH,OAAOI,SAAS,EAEM,WADnBC;QAPHR;QACAC;QACAd;QACAe;QACAE;QACAC;QACAF;;IAGA,MAAMM,KAAKrB,MAAMsB,KAAK;IAEtB,MAAM,CAACP,OAAOE,SAAS,GAAGd,wBAAwB;QAChDc,UAAUC;QACVH,OAAOI;QACPL;IACF;IAEA,MAAM,EAAES,QAAQ,MAAM,EAAE,GAAGrB;IAE3B,MAAMsB,cAAczB,QAAQ0B,SAAS,CAAC,CAACC,SAAWA,OAAOX,KAAK,KAAKA;IAEnEX,0BAA0B;QACxB,IAAIoB,gBAAgB,CAAC,KAAKG,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;YAChEnB,KAAK,kDAAkD;QACzD;IACF,GAAG;QAACc;KAAY;IAEhB,MAAMM,aAAa,CAAC,WAAW,EAAE,MAAMN,YAAY,EAAE,CAAC;IAEtD,qBACE,KAAClB,uDACKc;QACJW,eAAe9B,mCAEbsB,UAAU,aAAaf,eAAe,CAACe,MAAM,EAC7CX,SAAS;kBAGX,cAAA,MAACoB;YAAIC,MAAK;YAAaC,SAAS;;gBAC7BV,cAAc,CAAC,mBACd,KAACQ;oBACCG,aAAW;oBACXD,SAAS;oBACTE,OAAO;wBACLC,OAAO,CAAC,EAAE,MAAMtC,QAAQuC,MAAM,CAAC,CAAC,CAAC;wBACjCC,WAAWT;wBACXU,iBAAiBV;oBACnB;;gBAGH/B,QAAQ0C,GAAG,CAAC;wBAAC,EAAEC,KAAK,EAAkB,WAAbC;wBAAVD;;yCACd,KAACnC,gEAEKoC;wBACJ9B,MAAMA,iBAAAA,kBAAAA,OAAQQ;wBACduB,SAAS7B,UAAU4B,YAAY5B,KAAK;wBACpCE,UAAU,IAAMA,SAAS0B,YAAY5B,KAAK;kCAEzC2B;wBANI,CAAC,EAAEC,YAAY5B,KAAK,CAAC,CAAC;;;;;AAYvC,EAAE"}