@vkontakte/vkui 7.1.3 → 7.2.1

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 (1202) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +2 -2
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js.map +1 -1
  4. package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
  5. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  6. package/dist/components/ActionSheet/ActionSheet.js +1 -1
  7. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  8. package/dist/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts.map +1 -1
  9. package/dist/components/ActionSheet/ActionSheetDropdownMenu.d.ts +1 -1
  10. package/dist/components/ActionSheet/ActionSheetDropdownMenu.d.ts.map +1 -1
  11. package/dist/components/ActionSheet/ActionSheetDropdownMenu.js +10 -4
  12. package/dist/components/ActionSheet/ActionSheetDropdownMenu.js.map +1 -1
  13. package/dist/components/ActionSheet/ActionSheetDropdownSheet.d.ts +1 -1
  14. package/dist/components/ActionSheet/ActionSheetDropdownSheet.d.ts.map +1 -1
  15. package/dist/components/ActionSheet/ActionSheetDropdownSheet.js +10 -4
  16. package/dist/components/ActionSheet/ActionSheetDropdownSheet.js.map +1 -1
  17. package/dist/components/ActionSheet/types.d.ts +4 -0
  18. package/dist/components/ActionSheet/types.d.ts.map +1 -1
  19. package/dist/components/ActionSheet/types.js.map +1 -1
  20. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  21. package/dist/components/ActionSheetItem/helpers.d.ts.map +1 -1
  22. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts.map +1 -1
  23. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts.map +1 -1
  24. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts.map +1 -1
  25. package/dist/components/Alert/Alert.d.ts +14 -2
  26. package/dist/components/Alert/Alert.d.ts.map +1 -1
  27. package/dist/components/Alert/Alert.js +15 -104
  28. package/dist/components/Alert/Alert.js.map +1 -1
  29. package/dist/components/Alert/AlertAction.d.ts.map +1 -1
  30. package/dist/components/Alert/AlertActions.d.ts.map +1 -1
  31. package/dist/components/Alert/AlertBase.d.ts +7 -0
  32. package/dist/components/Alert/AlertBase.d.ts.map +1 -0
  33. package/dist/components/Alert/AlertBase.js +131 -0
  34. package/dist/components/Alert/AlertBase.js.map +1 -0
  35. package/dist/components/Alert/AlertTypography.d.ts +2 -1
  36. package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
  37. package/dist/components/Alert/AlertTypography.js.map +1 -1
  38. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  39. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  40. package/dist/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.js +1 -1
  41. package/dist/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.js.map +1 -1
  42. package/dist/components/AppRoot/ScrollContext.d.ts +1 -0
  43. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  44. package/dist/components/AppRoot/ScrollContext.js +127 -39
  45. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  46. package/dist/components/AppRoot/helpers.d.ts.map +1 -1
  47. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
  48. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +4 -1
  49. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  50. package/dist/components/Avatar/AvatarBadge/icons.d.ts.map +1 -1
  51. package/dist/components/Badge/Badge.d.ts.map +1 -1
  52. package/dist/components/Banner/Banner.d.ts.map +1 -1
  53. package/dist/components/Button/Button.d.ts.map +1 -1
  54. package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -1
  55. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  56. package/dist/components/ButtonGroup/ButtonGroup.js +1 -0
  57. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  58. package/dist/components/Calendar/Calendar.d.ts +8 -3
  59. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  60. package/dist/components/Calendar/Calendar.js +98 -92
  61. package/dist/components/Calendar/Calendar.js.map +1 -1
  62. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  63. package/dist/components/CalendarDay/CalendarDay.js +1 -3
  64. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  65. package/dist/components/CalendarDays/CalendarDays.d.ts +1 -1
  66. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  67. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  68. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  69. package/dist/components/CalendarHeader/CalendarHeader.js +1 -3
  70. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  71. package/dist/components/CalendarRange/CalendarRange.d.ts +4 -3
  72. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  73. package/dist/components/CalendarRange/CalendarRange.js +105 -108
  74. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  75. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  76. package/dist/components/CalendarTime/CalendarTime.js +16 -13
  77. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  78. package/dist/components/Card/Card.d.ts.map +1 -1
  79. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  80. package/dist/components/CardScroll/CardScroll.d.ts +5 -1
  81. package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
  82. package/dist/components/CardScroll/CardScroll.js +32 -29
  83. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  84. package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -1
  85. package/dist/components/CarouselBase/CarouselBase.js +71 -46
  86. package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
  87. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  88. package/dist/components/CarouselBase/helpers.d.ts +20 -5
  89. package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
  90. package/dist/components/CarouselBase/helpers.js +70 -44
  91. package/dist/components/CarouselBase/helpers.js.map +1 -1
  92. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts.map +1 -1
  93. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  94. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  95. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +300 -0
  96. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts.map +1 -0
  97. package/dist/components/CellButtonGroup/CellButtonGroup.js +20 -0
  98. package/dist/components/CellButtonGroup/CellButtonGroup.js.map +1 -0
  99. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts +8 -0
  100. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.d.ts.map +1 -0
  101. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +20 -0
  102. package/dist/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -0
  103. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  104. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  105. package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
  106. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
  107. package/dist/components/ChipsInputBase/ChipsInputBase.js +1 -0
  108. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  109. package/dist/components/ChipsInputBase/helpers.d.ts +1 -1
  110. package/dist/components/ChipsInputBase/helpers.d.ts.map +1 -1
  111. package/dist/components/ChipsInputBase/helpers.js +4 -0
  112. package/dist/components/ChipsInputBase/helpers.js.map +1 -1
  113. package/dist/components/ChipsInputBase/types.d.ts +1 -1
  114. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  115. package/dist/components/ChipsInputBase/types.js.map +1 -1
  116. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  117. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  118. package/dist/components/ChipsSelect/ChipsSelect.js +9 -2
  119. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  120. package/dist/components/ChipsSelect/constants.d.ts.map +1 -1
  121. package/dist/components/ChipsSelect/useChipsSelect.d.ts +3 -2
  122. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  123. package/dist/components/ChipsSelect/useChipsSelect.js +9 -3
  124. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  125. package/dist/components/Clickable/Clickable.d.ts +1 -1
  126. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  127. package/dist/components/Clickable/Clickable.js +28 -28
  128. package/dist/components/Clickable/Clickable.js.map +1 -1
  129. package/dist/components/Clickable/RealClickable.d.ts.map +1 -1
  130. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.d.ts.map +1 -1
  131. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
  132. package/dist/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  133. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  134. package/dist/components/ConfigProvider/ConfigProvider.js +5 -2
  135. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  136. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +11 -1
  137. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts.map +1 -1
  138. package/dist/components/ConfigProvider/ConfigProviderContext.js +12 -7
  139. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  140. package/dist/components/ContentCard/ContentCard.d.ts +6 -1
  141. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  142. package/dist/components/ContentCard/ContentCard.js +6 -4
  143. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  144. package/dist/components/Counter/Counter.d.ts.map +1 -1
  145. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  146. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  147. package/dist/components/CustomSelect/CustomSelect.js +108 -71
  148. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  149. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  150. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  151. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  152. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +3 -1
  153. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  154. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
  155. package/dist/components/DateInput/DateInput.d.ts +19 -2
  156. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  157. package/dist/components/DateInput/DateInput.js +118 -82
  158. package/dist/components/DateInput/DateInput.js.map +1 -1
  159. package/dist/components/DateInput/hooks.d.ts +16 -0
  160. package/dist/components/DateInput/hooks.d.ts.map +1 -0
  161. package/dist/components/DateInput/hooks.js +61 -0
  162. package/dist/components/DateInput/hooks.js.map +1 -0
  163. package/dist/components/DateRangeInput/DateRangeInput.d.ts +10 -2
  164. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  165. package/dist/components/DateRangeInput/DateRangeInput.js +110 -82
  166. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  167. package/dist/components/DirectionProvider/DirectionProvider.d.ts +13 -0
  168. package/dist/components/DirectionProvider/DirectionProvider.d.ts.map +1 -0
  169. package/dist/components/DirectionProvider/DirectionProvider.js +15 -0
  170. package/dist/components/DirectionProvider/DirectionProvider.js.map +1 -0
  171. package/dist/components/Div/Div.d.ts.map +1 -1
  172. package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
  173. package/dist/components/Epic/Epic.d.ts.map +1 -1
  174. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  175. package/dist/components/File/File.d.ts.map +1 -1
  176. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  177. package/dist/components/Flex/Flex.d.ts.map +1 -1
  178. package/dist/components/Flex/Flex.js +3 -5
  179. package/dist/components/Flex/Flex.js.map +1 -1
  180. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  181. package/dist/components/FloatingArrow/DefaultIcon.d.ts.map +1 -1
  182. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  183. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  184. package/dist/components/Footer/Footer.d.ts.map +1 -1
  185. package/dist/components/FormField/FormField.d.ts.map +1 -1
  186. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  187. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  188. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  189. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  190. package/dist/components/Gradient/Gradient.d.ts.map +1 -1
  191. package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.d.ts.map +1 -1
  192. package/dist/components/Header/Header.d.ts.map +1 -1
  193. package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
  194. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  195. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +13 -1
  196. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  197. package/dist/components/HorizontalScroll/HorizontalScroll.js +32 -24
  198. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  199. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  200. package/dist/components/ImageBase/ImageBase.d.ts +5 -0
  201. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  202. package/dist/components/ImageBase/ImageBase.js +6 -4
  203. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  204. package/dist/components/ImageBase/ImageBaseFloatElement/helpers.d.ts.map +1 -1
  205. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.d.ts.map +1 -1
  206. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +3 -4
  207. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  208. package/dist/components/ImageBase/ImageBaseOverlay/hooks.d.ts +1 -0
  209. package/dist/components/ImageBase/ImageBaseOverlay/hooks.d.ts.map +1 -1
  210. package/dist/components/ImageBase/ImageBaseOverlay/hooks.js +25 -0
  211. package/dist/components/ImageBase/ImageBaseOverlay/hooks.js.map +1 -1
  212. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +4 -0
  213. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  214. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  215. package/dist/components/InfoRow/InfoRow.d.ts.map +1 -1
  216. package/dist/components/Input/Input.d.ts.map +1 -1
  217. package/dist/components/InputLike/InputLikeDivider.d.ts.map +1 -1
  218. package/dist/components/Link/Link.d.ts.map +1 -1
  219. package/dist/components/List/List.d.ts.map +1 -1
  220. package/dist/components/Mark/Mark.d.ts.map +1 -1
  221. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  222. package/dist/components/ModalCard/ModalCard.d.ts.map +1 -1
  223. package/dist/components/ModalCard/ModalCard.js +6 -13
  224. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  225. package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
  226. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  227. package/dist/components/ModalCard/ModalCardInternal.js +4 -2
  228. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  229. package/dist/components/ModalCard/types.d.ts +1 -1
  230. package/dist/components/ModalCard/types.d.ts.map +1 -1
  231. package/dist/components/ModalCard/types.js.map +1 -1
  232. package/dist/components/ModalCardBase/ModalCardBase.d.ts +9 -1
  233. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  234. package/dist/components/ModalCardBase/ModalCardBase.js +33 -8
  235. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  236. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +5 -3
  237. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  238. package/dist/components/ModalDismissButton/ModalDismissButton.js +7 -7
  239. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  240. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  241. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +17 -0
  242. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -0
  243. package/dist/components/ModalOutsideButton/ModalOutsideButton.js +30 -0
  244. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -0
  245. package/dist/components/ModalOutsideButtons/ModalOutsideButtons.d.ts +6 -0
  246. package/dist/components/ModalOutsideButtons/ModalOutsideButtons.d.ts.map +1 -0
  247. package/dist/components/ModalOutsideButtons/ModalOutsideButtons.js +22 -0
  248. package/dist/components/ModalOutsideButtons/ModalOutsideButtons.js.map +1 -0
  249. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  250. package/dist/components/ModalPage/ModalPage.d.ts.map +1 -1
  251. package/dist/components/ModalPage/ModalPage.js +5 -12
  252. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  253. package/dist/components/ModalPage/ModalPageBase.d.ts +8 -0
  254. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -0
  255. package/dist/components/ModalPage/ModalPageBase.js +66 -0
  256. package/dist/components/ModalPage/ModalPageBase.js.map +1 -0
  257. package/dist/components/ModalPage/ModalPageInternal.d.ts +1 -1
  258. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  259. package/dist/components/ModalPage/ModalPageInternal.js +24 -32
  260. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  261. package/dist/components/ModalPage/types.d.ts +12 -1
  262. package/dist/components/ModalPage/types.d.ts.map +1 -1
  263. package/dist/components/ModalPage/types.js.map +1 -1
  264. package/dist/components/ModalPageContent/ModalPageContent.d.ts.map +1 -1
  265. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  266. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  267. package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
  268. package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.d.ts.map +1 -1
  269. package/dist/components/ModalRoot/types.d.ts +1 -0
  270. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  271. package/dist/components/ModalRoot/types.js.map +1 -1
  272. package/dist/components/ModalRoot/useModalManager.d.ts +4 -2
  273. package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
  274. package/dist/components/ModalRoot/useModalManager.js +12 -3
  275. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  276. package/dist/components/ModalRoot/useModalRootContext.js +1 -0
  277. package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
  278. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  279. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
  280. package/dist/components/NavTransitionDirectionContext/NavTransitionDirectionContext.d.ts.map +1 -1
  281. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +2 -2
  282. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  283. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +22 -8
  284. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  285. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  286. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js +12 -3
  287. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  288. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.d.ts +7 -0
  289. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.d.ts.map +1 -0
  290. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js +9 -0
  291. package/dist/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -0
  292. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  293. package/dist/components/Pagination/Pagination.js +5 -2
  294. package/dist/components/Pagination/Pagination.js.map +1 -1
  295. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  296. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  297. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  298. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  299. package/dist/components/Panel/Panel.d.ts.map +1 -1
  300. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  301. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  302. package/dist/components/PanelHeaderBack/PanelHeaderBack.js +3 -1
  303. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  304. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  305. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts.map +1 -1
  306. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  307. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts.map +1 -1
  308. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
  309. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts.map +1 -1
  310. package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
  311. package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
  312. package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
  313. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +15 -2
  314. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  315. package/dist/components/PopoutWrapper/PopoutWrapper.js +10 -2
  316. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  317. package/dist/components/Popover/Popover.d.ts +1 -1
  318. package/dist/components/Popover/Popover.d.ts.map +1 -1
  319. package/dist/components/Popover/Popover.js +4 -4
  320. package/dist/components/Popover/Popover.js.map +1 -1
  321. package/dist/components/Popover/usePopover.d.ts +1 -1
  322. package/dist/components/Popover/usePopover.d.ts.map +1 -1
  323. package/dist/components/Popover/usePopover.js +69 -44
  324. package/dist/components/Popover/usePopover.js.map +1 -1
  325. package/dist/components/Popper/Popper.d.ts +2 -2
  326. package/dist/components/Popper/Popper.d.ts.map +1 -1
  327. package/dist/components/Popper/Popper.js +18 -5
  328. package/dist/components/Popper/Popper.js.map +1 -1
  329. package/dist/components/Progress/Progress.d.ts +7 -3
  330. package/dist/components/Progress/Progress.d.ts.map +1 -1
  331. package/dist/components/Progress/Progress.js +30 -11
  332. package/dist/components/Progress/Progress.js.map +1 -1
  333. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  334. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  335. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  336. package/dist/components/Removable/Removable.d.ts.map +1 -1
  337. package/dist/components/Removable/Removable.js +8 -4
  338. package/dist/components/Removable/Removable.js.map +1 -1
  339. package/dist/components/RichCell/RichCellIcon/RichCellIcon.d.ts.map +1 -1
  340. package/dist/components/Root/Root.d.ts.map +1 -1
  341. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  342. package/dist/components/ScreenSpinner/Icon48CancelCircle.d.ts.map +1 -1
  343. package/dist/components/ScreenSpinner/Icon48DoneOutline.d.ts.map +1 -1
  344. package/dist/components/ScreenSpinner/ScreenSpinner.js +1 -0
  345. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  346. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  347. package/dist/components/ScrollArrow/ScrollArrow.js +4 -1
  348. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  349. package/dist/components/Search/Search.d.ts +9 -1
  350. package/dist/components/Search/Search.d.ts.map +1 -1
  351. package/dist/components/Search/Search.js +9 -2
  352. package/dist/components/Search/Search.js.map +1 -1
  353. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  354. package/dist/components/SegmentedControl/SegmentedControl.js +10 -7
  355. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  356. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  357. package/dist/components/Select/Select.d.ts.map +1 -1
  358. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  359. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  360. package/dist/components/Separator/Separator.d.ts.map +1 -1
  361. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  362. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  363. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  364. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  365. package/dist/components/Slider/Slider.d.ts +1 -1
  366. package/dist/components/Slider/Slider.d.ts.map +1 -1
  367. package/dist/components/Slider/Slider.js +22 -18
  368. package/dist/components/Slider/Slider.js.map +1 -1
  369. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  370. package/dist/components/Slider/SliderThumb/SliderThumb.js +5 -1
  371. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  372. package/dist/components/Slider/helpers.d.ts.map +1 -1
  373. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  374. package/dist/components/Snackbar/Snackbar.js +6 -3
  375. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  376. package/dist/components/Snackbar/utils.d.ts +3 -2
  377. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  378. package/dist/components/Snackbar/utils.js +11 -8
  379. package/dist/components/Snackbar/utils.js.map +1 -1
  380. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  381. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  382. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  383. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  384. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  385. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -1
  386. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  387. package/dist/components/Switch/Switch.d.ts.map +1 -1
  388. package/dist/components/Switch/Switch.js +4 -1
  389. package/dist/components/Switch/Switch.js.map +1 -1
  390. package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
  391. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  392. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  393. package/dist/components/Tabs/Tabs.js +3 -1
  394. package/dist/components/Tabs/Tabs.js.map +1 -1
  395. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  396. package/dist/components/Tappable/Ripple.d.ts.map +1 -1
  397. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  398. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  399. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  400. package/dist/components/Tooltip/Tooltip.d.ts +2 -2
  401. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  402. package/dist/components/Tooltip/Tooltip.js +8 -101
  403. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  404. package/dist/components/Tooltip/useTooltip.d.ts +14 -0
  405. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -0
  406. package/dist/components/Tooltip/useTooltip.js +126 -0
  407. package/dist/components/Tooltip/useTooltip.js.map +1 -0
  408. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  409. package/dist/components/Touch/Touch.d.ts.map +1 -1
  410. package/dist/components/Touch/Touch.js +2 -2
  411. package/dist/components/Touch/Touch.js.map +1 -1
  412. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  413. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  414. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts.map +1 -1
  415. package/dist/components/Typography/Footnote/Footnote.d.ts.map +1 -1
  416. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  417. package/dist/components/Typography/Paragraph/Paragraph.d.ts.map +1 -1
  418. package/dist/components/Typography/Subhead/Subhead.d.ts.map +1 -1
  419. package/dist/components/Typography/Text/Text.d.ts.map +1 -1
  420. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  421. package/dist/components/Typography/Typography.d.ts.map +1 -1
  422. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  423. package/dist/components/UsersStack/UsersStack.d.ts +1 -1
  424. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  425. package/dist/components/UsersStack/UsersStack.js +5 -9
  426. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  427. package/dist/components/View/View.d.ts.map +1 -1
  428. package/dist/components/View/utils.d.ts.map +1 -1
  429. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  430. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  431. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
  432. package/dist/components.css +1 -1
  433. package/dist/components.css.map +1 -1
  434. package/dist/context/CalendarDirectionContext.d.ts +1 -1
  435. package/dist/context/CalendarDirectionContext.d.ts.map +1 -1
  436. package/dist/context/CalendarDirectionContext.js.map +1 -1
  437. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  438. package/dist/cssm/components/Accordion/Accordion.module.css +6 -6
  439. package/dist/cssm/components/ActionSheet/ActionSheet.js +1 -1
  440. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  441. package/dist/cssm/components/ActionSheet/ActionSheet.module.css +9 -9
  442. package/dist/cssm/components/ActionSheet/ActionSheetDropdownMenu.js +7 -3
  443. package/dist/cssm/components/ActionSheet/ActionSheetDropdownMenu.js.map +1 -1
  444. package/dist/cssm/components/ActionSheet/ActionSheetDropdownSheet.js +7 -3
  445. package/dist/cssm/components/ActionSheet/ActionSheetDropdownSheet.js.map +1 -1
  446. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  447. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +18 -18
  448. package/dist/cssm/components/Alert/Alert.js +12 -92
  449. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  450. package/dist/cssm/components/Alert/Alert.module.css +27 -29
  451. package/dist/cssm/components/Alert/AlertBase.js +111 -0
  452. package/dist/cssm/components/Alert/AlertBase.js.map +1 -0
  453. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  454. package/dist/cssm/components/AppRoot/AppRoot.module.css +2 -2
  455. package/dist/cssm/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.js +1 -1
  456. package/dist/cssm/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.js.map +1 -1
  457. package/dist/cssm/components/AppRoot/ScrollContext.js +129 -37
  458. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  459. package/dist/cssm/components/AspectRatio/AspectRatio.module.css +2 -2
  460. package/dist/cssm/components/Avatar/Avatar.module.css +1 -1
  461. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.module.css +8 -3
  462. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +4 -1
  463. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  464. package/dist/cssm/components/Banner/Banner.module.css +19 -19
  465. package/dist/cssm/components/Button/Button.module.css +11 -11
  466. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -0
  467. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  468. package/dist/cssm/components/Calendar/Calendar.js +96 -92
  469. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  470. package/dist/cssm/components/Calendar/Calendar.module.css +8 -8
  471. package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -3
  472. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  473. package/dist/cssm/components/CalendarDay/CalendarDay.module.css +11 -11
  474. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  475. package/dist/cssm/components/CalendarDays/CalendarDays.module.css +7 -7
  476. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +1 -3
  477. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  478. package/dist/cssm/components/CalendarHeader/CalendarHeader.module.css +4 -4
  479. package/dist/cssm/components/CalendarRange/CalendarRange.js +106 -110
  480. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  481. package/dist/cssm/components/CalendarRange/CalendarRange.module.css +5 -5
  482. package/dist/cssm/components/CalendarTime/CalendarTime.js +16 -13
  483. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  484. package/dist/cssm/components/CalendarTime/CalendarTime.module.css +1 -1
  485. package/dist/cssm/components/Card/Card.module.css +7 -7
  486. package/dist/cssm/components/CardGrid/CardGrid.module.css +3 -3
  487. package/dist/cssm/components/CardScroll/CardScroll.js +30 -28
  488. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  489. package/dist/cssm/components/CardScroll/CardScroll.module.css +16 -16
  490. package/dist/cssm/components/CarouselBase/CarouselBase.js +71 -44
  491. package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
  492. package/dist/cssm/components/CarouselBase/CarouselBase.module.css +11 -11
  493. package/dist/cssm/components/CarouselBase/helpers.js +70 -44
  494. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  495. package/dist/cssm/components/Cell/Cell.module.css +18 -2
  496. package/dist/cssm/components/Cell/CellDragger/CellDragger.module.css +2 -2
  497. package/dist/cssm/components/CellButton/CellButton.module.css +8 -8
  498. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js +20 -0
  499. package/dist/cssm/components/CellButtonGroup/CellButtonGroup.js.map +1 -0
  500. package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js +15 -0
  501. package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.js.map +1 -0
  502. package/dist/cssm/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.module.css +5 -0
  503. package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +2 -2
  504. package/dist/cssm/components/ChipsInputBase/Chip/Chip.module.css +16 -16
  505. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +1 -0
  506. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  507. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +12 -12
  508. package/dist/cssm/components/ChipsInputBase/helpers.js +4 -0
  509. package/dist/cssm/components/ChipsInputBase/helpers.js.map +1 -1
  510. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  511. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +8 -2
  512. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  513. package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +1 -1
  514. package/dist/cssm/components/ChipsSelect/useChipsSelect.js +9 -3
  515. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  516. package/dist/cssm/components/Clickable/Clickable.js +29 -22
  517. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  518. package/dist/cssm/components/Clickable/Clickable.module.css +1 -1
  519. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js +1 -1
  520. package/dist/cssm/components/ColorSchemeProvider/ColorSchemeProvider.js.map +1 -1
  521. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +5 -2
  522. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  523. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +12 -7
  524. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  525. package/dist/cssm/components/ContentBadge/ContentBadge.module.css +7 -7
  526. package/dist/cssm/components/ContentCard/ContentCard.js +5 -4
  527. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  528. package/dist/cssm/components/ContentCard/ContentCard.module.css +6 -6
  529. package/dist/cssm/components/Counter/Counter.module.css +4 -4
  530. package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +2 -2
  531. package/dist/cssm/components/CustomSelect/CustomSelect.js +108 -70
  532. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  533. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +2 -2
  534. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css +13 -13
  535. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -0
  536. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  537. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +2 -2
  538. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +9 -9
  539. package/dist/cssm/components/DateInput/DateInput.js +112 -81
  540. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  541. package/dist/cssm/components/DateInput/DateInput.module.css +40 -6
  542. package/dist/cssm/components/DateInput/hooks.js +61 -0
  543. package/dist/cssm/components/DateInput/hooks.js.map +1 -0
  544. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +107 -82
  545. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  546. package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +3 -3
  547. package/dist/cssm/components/DirectionProvider/DirectionProvider.js +15 -0
  548. package/dist/cssm/components/DirectionProvider/DirectionProvider.js.map +1 -0
  549. package/dist/cssm/components/DropZone/DropZone.module.css +2 -2
  550. package/dist/cssm/components/FixedLayout/FixedLayout.module.css +3 -3
  551. package/dist/cssm/components/Flex/Flex.js +3 -5
  552. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  553. package/dist/cssm/components/Flex/Flex.module.css +40 -23
  554. package/dist/cssm/components/FloatingArrow/FloatingArrow.module.css +1 -1
  555. package/dist/cssm/components/Footer/Footer.module.css +1 -1
  556. package/dist/cssm/components/FormField/FormField.module.css +24 -24
  557. package/dist/cssm/components/FormItem/FormItem.module.css +11 -10
  558. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +5 -5
  559. package/dist/cssm/components/GridAvatar/GridAvatar.module.css +2 -2
  560. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css +2 -2
  561. package/dist/cssm/components/Group/Group.module.css +16 -16
  562. package/dist/cssm/components/Header/Header.module.css +6 -6
  563. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +3 -3
  564. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css +2 -2
  565. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +28 -23
  566. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  567. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +10 -4
  568. package/dist/cssm/components/IconButton/IconButton.module.css +11 -11
  569. package/dist/cssm/components/ImageBase/ImageBase.js +5 -4
  570. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  571. package/dist/cssm/components/ImageBase/ImageBase.module.css +15 -6
  572. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +5 -5
  573. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css +8 -8
  574. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +3 -4
  575. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  576. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +2 -2
  577. package/dist/cssm/components/ImageBase/ImageBaseOverlay/hooks.js +25 -0
  578. package/dist/cssm/components/ImageBase/ImageBaseOverlay/hooks.js.map +1 -1
  579. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  580. package/dist/cssm/components/InfoRow/InfoRow.module.css +3 -3
  581. package/dist/cssm/components/Input/Input.module.css +5 -5
  582. package/dist/cssm/components/InputLike/InputLike.module.css +3 -3
  583. package/dist/cssm/components/Link/Link.module.css +6 -6
  584. package/dist/cssm/components/Mark/Mark.module.css +2 -2
  585. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +5 -5
  586. package/dist/cssm/components/ModalCard/ModalCard.js +3 -11
  587. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  588. package/dist/cssm/components/ModalCard/ModalCard.module.css +4 -4
  589. package/dist/cssm/components/ModalCard/ModalCardInternal.js +3 -2
  590. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  591. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  592. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +30 -7
  593. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  594. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +7 -7
  595. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +5 -6
  596. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  597. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.module.css +0 -29
  598. package/dist/cssm/components/ModalOutlet/ModalOutlet.module.css +1 -1
  599. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js +24 -0
  600. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -0
  601. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.module.css +31 -0
  602. package/dist/cssm/components/ModalOutsideButtons/ModalOutsideButtons.js +16 -0
  603. package/dist/cssm/components/ModalOutsideButtons/ModalOutsideButtons.js.map +1 -0
  604. package/dist/cssm/components/ModalOutsideButtons/ModalOutsideButtons.module.css +6 -0
  605. package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +2 -2
  606. package/dist/cssm/components/ModalPage/ModalPage.js +3 -11
  607. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  608. package/dist/cssm/components/ModalPage/ModalPage.module.css +15 -16
  609. package/dist/cssm/components/ModalPage/ModalPageBase.js +49 -0
  610. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -0
  611. package/dist/cssm/components/ModalPage/ModalPageInternal.js +21 -32
  612. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  613. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  614. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.module.css +4 -4
  615. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +2 -3
  616. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  617. package/dist/cssm/components/ModalRoot/useModalManager.js +12 -3
  618. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  619. package/dist/cssm/components/ModalRoot/useModalRootContext.js +1 -0
  620. package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
  621. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +20 -7
  622. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  623. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.module.css +1 -1
  624. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js +13 -4
  625. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  626. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js +9 -0
  627. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContext.js.map +1 -0
  628. package/dist/cssm/components/Pagination/Pagination.js +5 -2
  629. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  630. package/dist/cssm/components/Pagination/Pagination.module.css +1 -1
  631. package/dist/cssm/components/Pagination/PaginationPage/PaginationPage.module.css +9 -9
  632. package/dist/cssm/components/Panel/Panel.module.css +3 -3
  633. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +30 -30
  634. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +3 -1
  635. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  636. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +16 -8
  637. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +10 -10
  638. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +7 -7
  639. package/dist/cssm/components/Placeholder/Placeholder.module.css +3 -3
  640. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  641. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  642. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +9 -2
  643. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  644. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +14 -9
  645. package/dist/cssm/components/Popover/Popover.js +4 -4
  646. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  647. package/dist/cssm/components/Popover/Popover.module.css +1 -1
  648. package/dist/cssm/components/Popover/usePopover.js +62 -44
  649. package/dist/cssm/components/Popover/usePopover.js.map +1 -1
  650. package/dist/cssm/components/Popper/Popper.js +15 -5
  651. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  652. package/dist/cssm/components/Progress/Progress.js +29 -9
  653. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  654. package/dist/cssm/components/Progress/Progress.module.css +20 -9
  655. package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +14 -14
  656. package/dist/cssm/components/Radio/Radio.module.css +1 -1
  657. package/dist/cssm/components/Radio/RadioInput/RadioInput.module.css +1 -1
  658. package/dist/cssm/components/RadioGroup/RadioGroup.module.css +1 -1
  659. package/dist/cssm/components/Removable/Removable.js +8 -4
  660. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  661. package/dist/cssm/components/Removable/Removable.module.css +19 -6
  662. package/dist/cssm/components/RichCell/RichCell.module.css +10 -10
  663. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.module.css +4 -4
  664. package/dist/cssm/components/Root/Root.module.css +10 -10
  665. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -0
  666. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  667. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +12 -12
  668. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +4 -1
  669. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  670. package/dist/cssm/components/ScrollArrow/ScrollArrow.module.css +15 -14
  671. package/dist/cssm/components/Search/Search.js +7 -2
  672. package/dist/cssm/components/Search/Search.js.map +1 -1
  673. package/dist/cssm/components/Search/Search.module.css +44 -32
  674. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +10 -7
  675. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  676. package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +16 -7
  677. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +14 -14
  678. package/dist/cssm/components/Select/Select.module.css +15 -15
  679. package/dist/cssm/components/SelectionControl/SelectionControl.module.css +2 -2
  680. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +5 -5
  681. package/dist/cssm/components/Separator/Separator.module.css +3 -3
  682. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +18 -16
  683. package/dist/cssm/components/SimpleGrid/SimpleGrid.module.css +2 -2
  684. package/dist/cssm/components/Skeleton/Skeleton.module.css +8 -8
  685. package/dist/cssm/components/Slider/Slider.js +20 -17
  686. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  687. package/dist/cssm/components/Slider/Slider.module.css +25 -4
  688. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +5 -1
  689. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  690. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.module.css +8 -8
  691. package/dist/cssm/components/Snackbar/Snackbar.js +6 -3
  692. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  693. package/dist/cssm/components/Snackbar/Snackbar.module.css +23 -6
  694. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +9 -8
  695. package/dist/cssm/components/Snackbar/utils.js +11 -8
  696. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  697. package/dist/cssm/components/Spacing/Spacing.module.css +1 -1
  698. package/dist/cssm/components/Spinner/Spinner.module.css +2 -2
  699. package/dist/cssm/components/SplitCol/SplitCol.module.css +9 -9
  700. package/dist/cssm/components/SplitLayout/SplitLayout.module.css +2 -2
  701. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.module.css +4 -4
  702. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -1
  703. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  704. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +10 -6
  705. package/dist/cssm/components/Switch/Switch.js +4 -1
  706. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  707. package/dist/cssm/components/Switch/Switch.module.css +25 -17
  708. package/dist/cssm/components/Tabbar/Tabbar.module.css +5 -5
  709. package/dist/cssm/components/TabbarItem/TabbarItem.module.css +16 -16
  710. package/dist/cssm/components/Tabs/Tabs.js +3 -1
  711. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  712. package/dist/cssm/components/Tabs/Tabs.module.css +1 -1
  713. package/dist/cssm/components/TabsItem/TabsItem.module.css +21 -20
  714. package/dist/cssm/components/Tappable/Tappable.module.css +7 -7
  715. package/dist/cssm/components/Textarea/Textarea.module.css +7 -3
  716. package/dist/cssm/components/ToolButton/ToolButton.module.css +7 -7
  717. package/dist/cssm/components/Tooltip/Tooltip.js +7 -80
  718. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  719. package/dist/cssm/components/Tooltip/useTooltip.js +97 -0
  720. package/dist/cssm/components/Tooltip/useTooltip.js.map +1 -0
  721. package/dist/cssm/components/TooltipBase/TooltipBase.module.css +9 -9
  722. package/dist/cssm/components/Touch/Touch.js +2 -2
  723. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  724. package/dist/cssm/components/Typography/Caption/Caption.module.css +96 -96
  725. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.module.css +64 -64
  726. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.module.css +3 -3
  727. package/dist/cssm/components/Typography/Footnote/Footnote.module.css +32 -32
  728. package/dist/cssm/components/Typography/Headline/Headline.module.css +20 -20
  729. package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +16 -16
  730. package/dist/cssm/components/Typography/Subhead/Subhead.module.css +16 -16
  731. package/dist/cssm/components/Typography/Text/Text.module.css +16 -16
  732. package/dist/cssm/components/Typography/Title/Title.module.css +48 -48
  733. package/dist/cssm/components/Typography/Typography.module.css +1 -1
  734. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.module.css +5 -5
  735. package/dist/cssm/components/UsersStack/UsersStack.js +4 -7
  736. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  737. package/dist/cssm/components/UsersStack/UsersStack.module.css +4 -4
  738. package/dist/cssm/components/View/View.module.css +8 -8
  739. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.module.css +10 -10
  740. package/dist/cssm/components/WriteBar/WriteBar.module.css +10 -11
  741. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +9 -9
  742. package/dist/cssm/context/CalendarDirectionContext.js.map +1 -1
  743. package/dist/cssm/helpers/getValueByKey.js +17 -0
  744. package/dist/cssm/helpers/getValueByKey.js.map +1 -0
  745. package/dist/cssm/hooks/useAutoDetectDirection.js +21 -0
  746. package/dist/cssm/hooks/useAutoDetectDirection.js.map +1 -0
  747. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  748. package/dist/cssm/hooks/useConfigDirection.js +7 -0
  749. package/dist/cssm/hooks/useConfigDirection.js.map +1 -0
  750. package/dist/cssm/hooks/useDateInput.js +3 -3
  751. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  752. package/dist/cssm/hooks/useFloatingElement.js +70 -0
  753. package/dist/cssm/hooks/useFloatingElement.js.map +1 -0
  754. package/dist/cssm/hooks/useFocusVisible.js +10 -1
  755. package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
  756. package/dist/cssm/hooks/useReferenceElement.js +13 -0
  757. package/dist/cssm/hooks/useReferenceElement.js.map +1 -0
  758. package/dist/cssm/hooks/useTabsNavigation.js +3 -3
  759. package/dist/cssm/hooks/useTabsNavigation.js.map +1 -1
  760. package/dist/cssm/hooks/useTodayDate.js +4 -4
  761. package/dist/cssm/hooks/useTodayDate.js.map +1 -1
  762. package/dist/cssm/index.js +6 -1
  763. package/dist/cssm/index.js.map +1 -1
  764. package/dist/cssm/lib/SSR.js +2 -1
  765. package/dist/cssm/lib/SSR.js.map +1 -1
  766. package/dist/cssm/lib/date.js +21 -0
  767. package/dist/cssm/lib/date.js.map +1 -1
  768. package/dist/cssm/lib/direction/index.js +3 -0
  769. package/dist/cssm/lib/direction/index.js.map +1 -0
  770. package/dist/cssm/lib/dom.js +6 -0
  771. package/dist/cssm/lib/dom.js.map +1 -1
  772. package/dist/cssm/lib/floating/adapters.js.map +1 -1
  773. package/dist/cssm/lib/floating/customResizeObserver.js +2 -5
  774. package/dist/cssm/lib/floating/customResizeObserver.js.map +1 -1
  775. package/dist/cssm/lib/floating/functions.js +1 -1
  776. package/dist/cssm/lib/floating/functions.js.map +1 -1
  777. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  778. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +4 -2
  779. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  780. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -1
  781. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  782. package/dist/cssm/lib/floating/useReferenceHiddenChangeCallback.js +21 -0
  783. package/dist/cssm/lib/floating/useReferenceHiddenChangeCallback.js.map +1 -0
  784. package/dist/cssm/lib/object.js +9 -0
  785. package/dist/cssm/lib/object.js.map +1 -0
  786. package/dist/cssm/lib/select.js.map +1 -1
  787. package/dist/cssm/lib/sheet/controllers/BottomSheetController.js +13 -23
  788. package/dist/cssm/lib/sheet/controllers/BottomSheetController.js.map +1 -1
  789. package/dist/cssm/lib/sheet/controllers/CSSTransitionController.js +4 -5
  790. package/dist/cssm/lib/sheet/controllers/CSSTransitionController.js.map +1 -1
  791. package/dist/cssm/lib/tokens/TokensClassProvider.module.css +1 -1
  792. package/dist/cssm/styles/common.css +2 -2
  793. package/dist/cssm/styles/constants.css +2 -2
  794. package/dist/cssm/styles/themes.css +22 -5
  795. package/dist/helpers/getMergedSameEventsByProps.d.ts.map +1 -1
  796. package/dist/helpers/getValueByKey.d.ts +5 -0
  797. package/dist/helpers/getValueByKey.d.ts.map +1 -0
  798. package/dist/helpers/getValueByKey.js +17 -0
  799. package/dist/helpers/getValueByKey.js.map +1 -0
  800. package/dist/helpers/math.d.ts.map +1 -1
  801. package/dist/hooks/useAdaptivityConditionalRender/helpers.d.ts.map +1 -1
  802. package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
  803. package/dist/hooks/useAutoDetectDirection.d.ts +3 -0
  804. package/dist/hooks/useAutoDetectDirection.d.ts.map +1 -0
  805. package/dist/hooks/useAutoDetectDirection.js +21 -0
  806. package/dist/hooks/useAutoDetectDirection.js.map +1 -0
  807. package/dist/hooks/useBooleanState.d.ts.map +1 -1
  808. package/dist/hooks/useCalendar.d.ts +1 -1
  809. package/dist/hooks/useCalendar.d.ts.map +1 -1
  810. package/dist/hooks/useCalendar.js.map +1 -1
  811. package/dist/hooks/useConfigDirection.d.ts +3 -0
  812. package/dist/hooks/useConfigDirection.d.ts.map +1 -0
  813. package/dist/hooks/useConfigDirection.js +7 -0
  814. package/dist/hooks/useConfigDirection.js.map +1 -0
  815. package/dist/hooks/useDateInput.d.ts +4 -4
  816. package/dist/hooks/useDateInput.d.ts.map +1 -1
  817. package/dist/hooks/useDateInput.js +3 -3
  818. package/dist/hooks/useDateInput.js.map +1 -1
  819. package/dist/hooks/useDraggableWithDomApi/autoScroll.d.ts.map +1 -1
  820. package/dist/hooks/useDraggableWithDomApi/useDraggableWithDomApi.d.ts.map +1 -1
  821. package/dist/hooks/useDraggableWithDomApi/utils.d.ts.map +1 -1
  822. package/dist/hooks/useFloatingElement.d.ts +26 -0
  823. package/dist/hooks/useFloatingElement.d.ts.map +1 -0
  824. package/dist/hooks/useFloatingElement.js +71 -0
  825. package/dist/hooks/useFloatingElement.js.map +1 -0
  826. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  827. package/dist/hooks/useFocusVisible.d.ts +9 -1
  828. package/dist/hooks/useFocusVisible.d.ts.map +1 -1
  829. package/dist/hooks/useFocusVisible.js +10 -1
  830. package/dist/hooks/useFocusVisible.js.map +1 -1
  831. package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
  832. package/dist/hooks/useGlobalOnClickOutside.d.ts.map +1 -1
  833. package/dist/hooks/useMutationObserver.d.ts.map +1 -1
  834. package/dist/hooks/useNativeFormResetListener.d.ts.map +1 -1
  835. package/dist/hooks/usePagination.d.ts.map +1 -1
  836. package/dist/hooks/usePatchChildren.d.ts.map +1 -1
  837. package/dist/hooks/useReferenceElement.d.ts +3 -0
  838. package/dist/hooks/useReferenceElement.d.ts.map +1 -0
  839. package/dist/hooks/useReferenceElement.js +13 -0
  840. package/dist/hooks/useReferenceElement.js.map +1 -0
  841. package/dist/hooks/useTabsNavigation.d.ts +1 -1
  842. package/dist/hooks/useTabsNavigation.d.ts.map +1 -1
  843. package/dist/hooks/useTabsNavigation.js +3 -3
  844. package/dist/hooks/useTabsNavigation.js.map +1 -1
  845. package/dist/hooks/useTodayDate.d.ts.map +1 -1
  846. package/dist/hooks/useTodayDate.js +4 -4
  847. package/dist/hooks/useTodayDate.js.map +1 -1
  848. package/dist/index.d.ts +9 -2
  849. package/dist/index.d.ts.map +1 -1
  850. package/dist/index.js +6 -1
  851. package/dist/index.js.map +1 -1
  852. package/dist/lib/SSR.d.ts +2 -0
  853. package/dist/lib/SSR.d.ts.map +1 -1
  854. package/dist/lib/SSR.js +2 -1
  855. package/dist/lib/SSR.js.map +1 -1
  856. package/dist/lib/accessibility.d.ts.map +1 -1
  857. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  858. package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
  859. package/dist/lib/calendar.d.ts.map +1 -1
  860. package/dist/lib/callMultiple.d.ts.map +1 -1
  861. package/dist/lib/children.d.ts.map +1 -1
  862. package/dist/lib/createPortal.d.ts.map +1 -1
  863. package/dist/lib/date.d.ts +2 -0
  864. package/dist/lib/date.d.ts.map +1 -1
  865. package/dist/lib/date.js +21 -0
  866. package/dist/lib/date.js.map +1 -1
  867. package/dist/lib/direction/index.d.ts +2 -0
  868. package/dist/lib/direction/index.d.ts.map +1 -0
  869. package/dist/lib/direction/index.js +3 -0
  870. package/dist/lib/direction/index.js.map +1 -0
  871. package/dist/lib/dom.d.ts +1 -0
  872. package/dist/lib/dom.d.ts.map +1 -1
  873. package/dist/lib/dom.js +6 -0
  874. package/dist/lib/dom.js.map +1 -1
  875. package/dist/lib/floating/adapters.d.ts +1 -0
  876. package/dist/lib/floating/adapters.d.ts.map +1 -1
  877. package/dist/lib/floating/adapters.js.map +1 -1
  878. package/dist/lib/floating/customResizeObserver.d.ts +1 -1
  879. package/dist/lib/floating/customResizeObserver.d.ts.map +1 -1
  880. package/dist/lib/floating/customResizeObserver.js +2 -5
  881. package/dist/lib/floating/customResizeObserver.js.map +1 -1
  882. package/dist/lib/floating/functions.d.ts +8 -1
  883. package/dist/lib/floating/functions.d.ts.map +1 -1
  884. package/dist/lib/floating/functions.js +1 -1
  885. package/dist/lib/floating/functions.js.map +1 -1
  886. package/dist/lib/floating/types/component.d.ts +10 -0
  887. package/dist/lib/floating/types/component.d.ts.map +1 -1
  888. package/dist/lib/floating/types/component.js.map +1 -1
  889. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +3 -1
  890. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  891. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +4 -2
  892. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  893. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.d.ts.map +1 -1
  894. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -1
  895. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  896. package/dist/lib/floating/useFloatingWithInteractions/useResolveTriggerType.d.ts.map +1 -1
  897. package/dist/lib/floating/useReferenceHiddenChangeCallback.d.ts +4 -0
  898. package/dist/lib/floating/useReferenceHiddenChangeCallback.d.ts.map +1 -0
  899. package/dist/lib/floating/useReferenceHiddenChangeCallback.js +21 -0
  900. package/dist/lib/floating/useReferenceHiddenChangeCallback.js.map +1 -0
  901. package/dist/lib/fx.d.ts.map +1 -1
  902. package/dist/lib/isRefObject.d.ts.map +1 -1
  903. package/dist/lib/object.d.ts +2 -0
  904. package/dist/lib/object.d.ts.map +1 -0
  905. package/dist/lib/object.js +9 -0
  906. package/dist/lib/object.js.map +1 -0
  907. package/dist/lib/rafSchd.d.ts.map +1 -1
  908. package/dist/lib/react/simulateReactInput.d.ts.map +1 -1
  909. package/dist/lib/select.d.ts +1 -0
  910. package/dist/lib/select.d.ts.map +1 -1
  911. package/dist/lib/select.js.map +1 -1
  912. package/dist/lib/sheet/controllers/BottomSheetController.d.ts.map +1 -1
  913. package/dist/lib/sheet/controllers/BottomSheetController.js +13 -23
  914. package/dist/lib/sheet/controllers/BottomSheetController.js.map +1 -1
  915. package/dist/lib/sheet/controllers/CSSTransitionController.d.ts.map +1 -1
  916. package/dist/lib/sheet/controllers/CSSTransitionController.js +4 -5
  917. package/dist/lib/sheet/controllers/CSSTransitionController.js.map +1 -1
  918. package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
  919. package/dist/lib/touch/functions.d.ts.map +1 -1
  920. package/dist/lib/utils.d.ts.map +1 -1
  921. package/dist/vkui.css +1 -1
  922. package/dist/vkui.css.map +1 -1
  923. package/package.json +5 -4
  924. package/src/components/Accordion/Accordion.module.css +6 -6
  925. package/src/components/Accordion/Accordion.tsx +2 -2
  926. package/src/components/ActionSheet/ActionSheet.module.css +9 -9
  927. package/src/components/ActionSheet/ActionSheet.tsx +5 -2
  928. package/src/components/ActionSheet/ActionSheetDropdownMenu.tsx +11 -3
  929. package/src/components/ActionSheet/ActionSheetDropdownSheet.tsx +11 -3
  930. package/src/components/ActionSheet/types.ts +4 -0
  931. package/src/components/ActionSheetItem/ActionSheetItem.module.css +17 -17
  932. package/src/components/Alert/Alert.module.css +25 -25
  933. package/src/components/Alert/Alert.tsx +33 -118
  934. package/src/components/Alert/AlertBase.tsx +156 -0
  935. package/src/components/Alert/AlertTypography.tsx +2 -1
  936. package/src/components/AppRoot/AppRoot.module.css +2 -2
  937. package/src/components/AppRoot/AppRootStyleContainer/AppRootStyleContainer.tsx +1 -1
  938. package/src/components/AppRoot/ScrollContext.tsx +162 -50
  939. package/src/components/AspectRatio/AspectRatio.module.css +2 -2
  940. package/src/components/Avatar/Avatar.module.css +1 -1
  941. package/src/components/Avatar/AvatarBadge/AvatarBadge.module.css +8 -3
  942. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +4 -1
  943. package/src/components/Banner/Banner.module.css +17 -17
  944. package/src/components/Button/Button.module.css +11 -11
  945. package/src/components/ButtonGroup/ButtonGroup.tsx +2 -0
  946. package/src/components/Calendar/Calendar.module.css +7 -7
  947. package/src/components/Calendar/Calendar.tsx +110 -100
  948. package/src/components/CalendarDay/CalendarDay.module.css +11 -11
  949. package/src/components/CalendarDay/CalendarDay.tsx +1 -3
  950. package/src/components/CalendarDays/CalendarDays.module.css +7 -7
  951. package/src/components/CalendarDays/CalendarDays.tsx +1 -1
  952. package/src/components/CalendarHeader/CalendarHeader.module.css +4 -4
  953. package/src/components/CalendarHeader/CalendarHeader.tsx +1 -3
  954. package/src/components/CalendarRange/CalendarRange.module.css +5 -5
  955. package/src/components/CalendarRange/CalendarRange.tsx +105 -109
  956. package/src/components/CalendarTime/CalendarTime.module.css +1 -1
  957. package/src/components/CalendarTime/CalendarTime.tsx +17 -9
  958. package/src/components/Card/Card.module.css +7 -7
  959. package/src/components/CardGrid/CardGrid.module.css +3 -3
  960. package/src/components/CardScroll/CardScroll.module.css +16 -16
  961. package/src/components/CardScroll/CardScroll.tsx +49 -29
  962. package/src/components/CarouselBase/CarouselBase.module.css +11 -11
  963. package/src/components/CarouselBase/CarouselBase.tsx +107 -44
  964. package/src/components/CarouselBase/helpers.ts +108 -46
  965. package/src/components/Cell/Cell.module.css +16 -2
  966. package/src/components/Cell/CellDragger/CellDragger.module.css +2 -2
  967. package/src/components/CellButton/CellButton.module.css +7 -7
  968. package/src/components/CellButtonGroup/CellButtonGroup.tsx +20 -0
  969. package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.module.css +5 -0
  970. package/src/components/CellButtonGroup/CellButtonGroupSeparator/CellButtonGroupSeparator.tsx +21 -0
  971. package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +2 -2
  972. package/src/components/ChipsInputBase/Chip/Chip.module.css +16 -16
  973. package/src/components/ChipsInputBase/ChipsInputBase.module.css +10 -10
  974. package/src/components/ChipsInputBase/ChipsInputBase.tsx +1 -0
  975. package/src/components/ChipsInputBase/helpers.ts +5 -1
  976. package/src/components/ChipsInputBase/types.ts +1 -1
  977. package/src/components/ChipsSelect/ChipsSelect.module.css +1 -1
  978. package/src/components/ChipsSelect/ChipsSelect.tsx +8 -1
  979. package/src/components/ChipsSelect/useChipsSelect.ts +12 -1
  980. package/src/components/Clickable/Clickable.module.css +1 -1
  981. package/src/components/Clickable/Clickable.tsx +37 -25
  982. package/src/components/ColorSchemeProvider/ColorSchemeProvider.tsx +1 -1
  983. package/src/components/ConfigProvider/ConfigProvider.tsx +4 -1
  984. package/src/components/ConfigProvider/ConfigProviderContext.tsx +29 -15
  985. package/src/components/ContentBadge/ContentBadge.module.css +7 -7
  986. package/src/components/ContentCard/ContentCard.module.css +6 -6
  987. package/src/components/ContentCard/ContentCard.tsx +9 -3
  988. package/src/components/Counter/Counter.module.css +4 -4
  989. package/src/components/CustomScrollView/CustomScrollView.module.css +2 -2
  990. package/src/components/CustomSelect/CustomSelect.module.css +2 -2
  991. package/src/components/CustomSelect/CustomSelect.tsx +153 -93
  992. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css +12 -12
  993. package/src/components/CustomSelectDropdown/CustomSelectDropdown.module.css +2 -2
  994. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +2 -0
  995. package/src/components/CustomSelectOption/CustomSelectOption.module.css +8 -8
  996. package/src/components/DateInput/DateInput.module.css +38 -5
  997. package/src/components/DateInput/DateInput.tsx +152 -89
  998. package/src/components/DateInput/hooks.ts +93 -0
  999. package/src/components/DateRangeInput/DateRangeInput.module.css +3 -3
  1000. package/src/components/DateRangeInput/DateRangeInput.tsx +127 -83
  1001. package/src/components/DirectionProvider/DirectionProvider.tsx +17 -0
  1002. package/src/components/DropZone/DropZone.module.css +2 -2
  1003. package/src/components/FixedLayout/FixedLayout.module.css +3 -3
  1004. package/src/components/Flex/Flex.module.css +26 -14
  1005. package/src/components/Flex/Flex.tsx +3 -6
  1006. package/src/components/FloatingArrow/FloatingArrow.module.css +1 -1
  1007. package/src/components/Footer/Footer.module.css +1 -1
  1008. package/src/components/FormField/FormField.module.css +24 -24
  1009. package/src/components/FormItem/FormItem.module.css +11 -10
  1010. package/src/components/FormLayoutGroup/FormLayoutGroup.module.css +5 -5
  1011. package/src/components/GridAvatar/GridAvatar.module.css +2 -2
  1012. package/src/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css +2 -2
  1013. package/src/components/Group/Group.module.css +16 -16
  1014. package/src/components/Header/Header.module.css +5 -5
  1015. package/src/components/HorizontalCell/HorizontalCell.module.css +3 -3
  1016. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.module.css +2 -2
  1017. package/src/components/HorizontalScroll/HorizontalScroll.module.css +10 -4
  1018. package/src/components/HorizontalScroll/HorizontalScroll.tsx +47 -19
  1019. package/src/components/IconButton/IconButton.module.css +9 -9
  1020. package/src/components/ImageBase/ImageBase.module.css +15 -6
  1021. package/src/components/ImageBase/ImageBase.tsx +16 -5
  1022. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +5 -5
  1023. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.module.css +8 -8
  1024. package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +2 -2
  1025. package/src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.tsx +5 -4
  1026. package/src/components/ImageBase/ImageBaseOverlay/hooks.ts +31 -0
  1027. package/src/components/ImageBase/ImageBaseOverlay/types.ts +4 -0
  1028. package/src/components/InfoRow/InfoRow.module.css +3 -3
  1029. package/src/components/Input/Input.module.css +5 -5
  1030. package/src/components/InputLike/InputLike.module.css +3 -3
  1031. package/src/components/Link/Link.module.css +6 -6
  1032. package/src/components/Mark/Mark.module.css +2 -2
  1033. package/src/components/MiniInfoCell/MiniInfoCell.module.css +5 -5
  1034. package/src/components/ModalCard/ModalCard.module.css +4 -4
  1035. package/src/components/ModalCard/ModalCard.tsx +3 -9
  1036. package/src/components/ModalCard/ModalCardInternal.tsx +2 -0
  1037. package/src/components/ModalCard/types.ts +2 -1
  1038. package/src/components/ModalCardBase/ModalCardBase.module.css +7 -7
  1039. package/src/components/ModalCardBase/ModalCardBase.tsx +50 -10
  1040. package/src/components/ModalDismissButton/ModalDismissButton.module.css +0 -28
  1041. package/src/components/ModalDismissButton/ModalDismissButton.tsx +11 -9
  1042. package/src/components/ModalOutlet/ModalOutlet.module.css +1 -1
  1043. package/src/components/ModalOutsideButton/ModalOutsideButton.module.css +30 -0
  1044. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +38 -0
  1045. package/src/components/ModalOutsideButtons/ModalOutsideButtons.module.css +6 -0
  1046. package/src/components/ModalOutsideButtons/ModalOutsideButtons.tsx +14 -0
  1047. package/src/components/ModalOverlay/ModalOverlay.module.css +2 -2
  1048. package/src/components/ModalPage/ModalPage.module.css +15 -16
  1049. package/src/components/ModalPage/ModalPage.tsx +3 -10
  1050. package/src/components/ModalPage/ModalPageBase.tsx +92 -0
  1051. package/src/components/ModalPage/ModalPageInternal.tsx +23 -42
  1052. package/src/components/ModalPage/types.ts +12 -0
  1053. package/src/components/ModalPageFooter/ModalPageFooter.module.css +4 -4
  1054. package/src/components/ModalPageHeader/ModalPageHeader.module.css +2 -3
  1055. package/src/components/ModalRoot/types.ts +1 -0
  1056. package/src/components/ModalRoot/useModalManager.tsx +12 -5
  1057. package/src/components/ModalRoot/useModalRootContext.ts +1 -1
  1058. package/src/components/OnboardingTooltip/OnboardingTooltip.module.css +1 -1
  1059. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +21 -12
  1060. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +10 -1
  1061. package/src/components/OnboardingTooltip/OnboardingTooltipContext.tsx +11 -0
  1062. package/src/components/Pagination/Pagination.module.css +1 -1
  1063. package/src/components/Pagination/Pagination.tsx +5 -2
  1064. package/src/components/Pagination/PaginationPage/PaginationPage.module.css +8 -8
  1065. package/src/components/Panel/Panel.module.css +3 -3
  1066. package/src/components/PanelHeader/PanelHeader.module.css +27 -27
  1067. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +3 -0
  1068. package/src/components/PanelHeaderButton/PanelHeaderButton.module.css +14 -8
  1069. package/src/components/PanelHeaderContent/PanelHeaderContent.module.css +10 -10
  1070. package/src/components/PanelHeaderContext/PanelHeaderContext.module.css +7 -7
  1071. package/src/components/Placeholder/Placeholder.module.css +3 -3
  1072. package/src/components/PlatformProvider/PlatformProvider.tsx +1 -1
  1073. package/src/components/PopoutWrapper/PopoutWrapper.module.css +14 -9
  1074. package/src/components/PopoutWrapper/PopoutWrapper.tsx +25 -2
  1075. package/src/components/Popover/Popover.module.css +1 -1
  1076. package/src/components/Popover/Popover.tsx +6 -4
  1077. package/src/components/Popover/usePopover.tsx +106 -85
  1078. package/src/components/Popper/Popper.tsx +17 -6
  1079. package/src/components/Progress/Progress.module.css +20 -9
  1080. package/src/components/Progress/Progress.tsx +38 -9
  1081. package/src/components/PullToRefresh/PullToRefresh.module.css +14 -14
  1082. package/src/components/Radio/Radio.module.css +1 -1
  1083. package/src/components/Radio/RadioInput/RadioInput.module.css +1 -1
  1084. package/src/components/RadioGroup/RadioGroup.module.css +1 -1
  1085. package/src/components/Removable/Removable.module.css +19 -6
  1086. package/src/components/Removable/Removable.tsx +10 -3
  1087. package/src/components/RichCell/RichCell.module.css +10 -10
  1088. package/src/components/RichCell/RichCellIcon/RichCellIcon.module.css +4 -4
  1089. package/src/components/Root/Root.module.css +10 -10
  1090. package/src/components/ScreenSpinner/ScreenSpinner.module.css +11 -11
  1091. package/src/components/ScreenSpinner/ScreenSpinner.tsx +1 -1
  1092. package/src/components/ScrollArrow/ScrollArrow.module.css +15 -14
  1093. package/src/components/ScrollArrow/ScrollArrow.tsx +10 -1
  1094. package/src/components/Search/Search.module.css +40 -28
  1095. package/src/components/Search/Search.tsx +16 -0
  1096. package/src/components/SegmentedControl/SegmentedControl.module.css +16 -7
  1097. package/src/components/SegmentedControl/SegmentedControl.tsx +11 -13
  1098. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +11 -11
  1099. package/src/components/Select/Select.module.css +14 -14
  1100. package/src/components/SelectionControl/SelectionControl.module.css +2 -2
  1101. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +5 -5
  1102. package/src/components/Separator/Separator.module.css +3 -3
  1103. package/src/components/SimpleCell/SimpleCell.module.css +18 -16
  1104. package/src/components/SimpleGrid/SimpleGrid.module.css +2 -2
  1105. package/src/components/Skeleton/Skeleton.module.css +8 -8
  1106. package/src/components/Slider/Slider.module.css +25 -4
  1107. package/src/components/Slider/Slider.tsx +23 -15
  1108. package/src/components/Slider/SliderThumb/SliderThumb.module.css +7 -7
  1109. package/src/components/Slider/SliderThumb/SliderThumb.tsx +5 -5
  1110. package/src/components/Snackbar/Snackbar.module.css +23 -6
  1111. package/src/components/Snackbar/Snackbar.tsx +7 -0
  1112. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +9 -8
  1113. package/src/components/Snackbar/utils.ts +24 -6
  1114. package/src/components/Spacing/Spacing.module.css +1 -1
  1115. package/src/components/Spinner/Spinner.module.css +2 -2
  1116. package/src/components/SplitCol/SplitCol.module.css +9 -9
  1117. package/src/components/SplitLayout/SplitLayout.module.css +2 -2
  1118. package/src/components/SubnavigationBar/SubnavigationBar.module.css +4 -4
  1119. package/src/components/SubnavigationButton/SubnavigationButton.module.css +9 -5
  1120. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -0
  1121. package/src/components/Switch/Switch.module.css +25 -17
  1122. package/src/components/Switch/Switch.tsx +4 -0
  1123. package/src/components/Tabbar/Tabbar.module.css +5 -5
  1124. package/src/components/TabbarItem/TabbarItem.module.css +16 -16
  1125. package/src/components/Tabs/Tabs.module.css +1 -1
  1126. package/src/components/Tabs/Tabs.tsx +3 -1
  1127. package/src/components/TabsItem/TabsItem.module.css +21 -20
  1128. package/src/components/Tappable/Tappable.module.css +7 -7
  1129. package/src/components/Textarea/Textarea.module.css +7 -3
  1130. package/src/components/ToolButton/ToolButton.module.css +7 -7
  1131. package/src/components/Tooltip/Tooltip.tsx +9 -142
  1132. package/src/components/Tooltip/useTooltip.tsx +168 -0
  1133. package/src/components/TooltipBase/TooltipBase.module.css +9 -9
  1134. package/src/components/Touch/Touch.tsx +35 -3
  1135. package/src/components/Typography/Caption/Caption.module.css +96 -96
  1136. package/src/components/Typography/DisplayTitle/DisplayTitle.module.css +64 -64
  1137. package/src/components/Typography/EllipsisText/EllipsisText.module.css +3 -3
  1138. package/src/components/Typography/Footnote/Footnote.module.css +32 -32
  1139. package/src/components/Typography/Headline/Headline.module.css +20 -20
  1140. package/src/components/Typography/Paragraph/Paragraph.module.css +16 -16
  1141. package/src/components/Typography/Subhead/Subhead.module.css +16 -16
  1142. package/src/components/Typography/Text/Text.module.css +16 -16
  1143. package/src/components/Typography/Title/Title.module.css +48 -48
  1144. package/src/components/Typography/Typography.module.css +1 -1
  1145. package/src/components/UnstyledTextField/UnstyledTextField.module.css +4 -4
  1146. package/src/components/UsersStack/UsersStack.module.css +4 -4
  1147. package/src/components/UsersStack/UsersStack.tsx +3 -7
  1148. package/src/components/View/View.module.css +8 -8
  1149. package/src/components/VisuallyHidden/VisuallyHidden.module.css +8 -8
  1150. package/src/components/WriteBar/WriteBar.module.css +10 -10
  1151. package/src/components/WriteBarIcon/WriteBarIcon.module.css +9 -9
  1152. package/src/context/CalendarDirectionContext.ts +1 -1
  1153. package/src/helpers/getValueByKey.ts +25 -0
  1154. package/src/hooks/useAutoDetectDirection.ts +18 -0
  1155. package/src/hooks/useCalendar.ts +1 -1
  1156. package/src/hooks/useConfigDirection.ts +8 -0
  1157. package/src/hooks/useDateInput.ts +6 -6
  1158. package/src/hooks/useFloatingElement.tsx +172 -0
  1159. package/src/hooks/useFocusVisible.ts +12 -1
  1160. package/src/hooks/useReferenceElement.tsx +13 -0
  1161. package/src/hooks/useTabsNavigation.ts +5 -3
  1162. package/src/hooks/useTodayDate.ts +34 -31
  1163. package/src/index.ts +9 -2
  1164. package/src/lib/SSR.tsx +11 -2
  1165. package/src/lib/date.ts +29 -0
  1166. package/src/lib/direction/index.ts +1 -0
  1167. package/src/lib/dom.tsx +8 -0
  1168. package/src/lib/floating/adapters.ts +2 -0
  1169. package/src/lib/floating/customResizeObserver.ts +2 -1
  1170. package/src/lib/floating/functions.ts +15 -7
  1171. package/src/lib/floating/types/component.ts +10 -0
  1172. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +6 -1
  1173. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -3
  1174. package/src/lib/floating/useReferenceHiddenChangeCallback.ts +26 -0
  1175. package/src/lib/object.ts +14 -0
  1176. package/src/lib/select.ts +2 -0
  1177. package/src/lib/sheet/controllers/BottomSheetController.ts +4 -1
  1178. package/src/lib/sheet/controllers/CSSTransitionController.ts +7 -4
  1179. package/src/lib/tokens/TokensClassProvider.module.css +1 -1
  1180. package/src/styles/common.css +2 -2
  1181. package/src/styles/constants.css +2 -2
  1182. package/dist/components/ModalCardBase/ModalCardBaseCloseButton.d.ts +0 -10
  1183. package/dist/components/ModalCardBase/ModalCardBaseCloseButton.d.ts.map +0 -1
  1184. package/dist/components/ModalCardBase/ModalCardBaseCloseButton.js +0 -38
  1185. package/dist/components/ModalCardBase/ModalCardBaseCloseButton.js.map +0 -1
  1186. package/dist/cssm/components/ModalCardBase/ModalCardBaseCloseButton.js +0 -39
  1187. package/dist/cssm/components/ModalCardBase/ModalCardBaseCloseButton.js.map +0 -1
  1188. package/dist/cssm/hooks/useDirection.js +0 -55
  1189. package/dist/cssm/hooks/useDirection.js.map +0 -1
  1190. package/dist/cssm/lib/tokens/index.js +0 -5
  1191. package/dist/cssm/lib/tokens/index.js.map +0 -1
  1192. package/dist/hooks/useDirection.d.ts +0 -39
  1193. package/dist/hooks/useDirection.d.ts.map +0 -1
  1194. package/dist/hooks/useDirection.js +0 -55
  1195. package/dist/hooks/useDirection.js.map +0 -1
  1196. package/dist/lib/tokens/index.d.ts +0 -5
  1197. package/dist/lib/tokens/index.d.ts.map +0 -1
  1198. package/dist/lib/tokens/index.js +0 -5
  1199. package/dist/lib/tokens/index.js.map +0 -1
  1200. package/src/components/ModalCardBase/ModalCardBaseCloseButton.tsx +0 -51
  1201. package/src/hooks/useDirection.ts +0 -63
  1202. package/src/lib/tokens/index.ts +0 -11
@@ -1,13 +1,13 @@
1
1
  .host {
2
2
  position: relative;
3
- inline-size: 100%;
4
- border-end-start-radius: inherit;
5
- border-end-end-radius: inherit;
6
- background-color: var(--vkui--color_background_modal);
7
3
  box-sizing: border-box;
8
4
 
9
5
  /* см. `.children {}` в `ModalPage` */
10
6
  flex: 0 0 auto;
7
+ inline-size: 100%;
8
+ background-color: var(--vkui--color_background_modal);
9
+ border-end-start-radius: inherit;
10
+ border-end-end-radius: inherit;
11
11
  }
12
12
 
13
13
  .Separator {
@@ -1,11 +1,10 @@
1
1
  .host {
2
2
  --vkui_internal--safe_area_inset_top: 0;
3
3
 
4
- border-start-start-radius: inherit;
5
- border-start-end-radius: inherit;
6
-
7
4
  /* см. `.children {}` в `ModalPage` */
8
5
  flex: 0 0 auto;
6
+ border-start-start-radius: inherit;
7
+ border-start-end-radius: inherit;
9
8
  }
10
9
 
11
10
  .hostWithGaps {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/types.ts"],"sourcesContent":["/** TODO [>=8] Удалить deprecated типы */\n\nimport type { AppRootPortalProps } from '../AppRoot/AppRootPortal';\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport type ModalType = 'page' | 'card';\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport type TranslateRange = [number, number];\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport interface ModalElements {\n modalElement?: HTMLElement | null;\n innerElement?: HTMLElement | null;\n headerElement?: HTMLElement | null;\n contentElement?: HTMLElement | null;\n bottomInset?: HTMLElement | null;\n}\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport interface ModalsStateEntry extends ModalElements {\n id: string | null;\n /**\n * Событие начала открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Событие открытия модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Событие начала закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Событие закрытия модалки.\n */\n onClosed?: VoidFunction;\n type?: ModalType;\n\n settlingHeight?: number;\n expandable?: boolean;\n\n /**\n * Процент текущего сдвига модалки\n */\n translateY?: number;\n /**\n * Процент сдвига модалки в изначальном состоянии\n */\n translateYFrom?: number;\n /**\n * Процент сдвига модалки во время взаимодействия с ней (потянуть, чтобы открыть или закрыть)\n */\n translateYCurrent?: number;\n\n touchStartContentScrollTop?: number;\n touchMovePositive?: boolean | null;\n touchShiftYPercent?: number;\n\n expanded?: boolean;\n collapsed?: boolean;\n hidden?: boolean;\n\n contentScrolled?: boolean;\n contentScrollStopTimeout?: ReturnType<typeof setTimeout>;\n\n expandedRange?: TranslateRange;\n collapsedRange?: TranslateRange;\n hiddenRange?: TranslateRange;\n /**\n * Отключает возможность закрыть модалку стандартными способами\n */\n preventClose?: boolean;\n}\n\nexport type ModalRootActiveModal = string | null;\n\nexport type ModalRootCallbackFunction = (modalId: string) => void;\n\ntype ModalRootBaseProps = {\n activeModal?: ModalRootActiveModal;\n\n /**\n * `data-testid` для маски\n */\n modalOverlayTestId?: string;\n\n /**\n * Отключает фокус на контейнер диалогового окна при открытии.\n */\n noFocusToDialog?: boolean;\n\n usePortal?: AppRootPortalProps['usePortal'];\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?: ModalRootCallbackFunction;\n};\n\nexport interface ModalRootProps extends ModalRootBaseProps {\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\ntype ModalRootContextBaseInterface = {\n /**\n * Обозначает, в контексте ли модального окна мы сейчас.\n */\n isInsideModal: boolean;\n\n /**\n * С **VKUI v7** задача с обновлением высоты контента при `dynamicContentHeight` решается через CSS.\n *\n * @deprecated будет удалён в **VKUI v8**\n */\n updateModalHeight: VoidFunction;\n\n /**\n * С **VKUI v7** регистрация модальных окон больше не требуется.\n *\n * @deprecated будет удалён в **VKUI v8**\n */\n registerModal: (data: ModalElements & Required<Pick<ModalsStateEntry, 'type' | 'id'>>) => void;\n};\n\nexport interface ModalRootContextInterface\n extends ModalRootContextBaseInterface,\n ModalRootBaseProps {}\n\nexport interface UseModalRootContext extends ModalRootContextBaseInterface {\n onClose?: VoidFunction;\n}\n"],"names":[],"mappings":"AAAA,uCAAuC,GAwJvC,WAEC"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/types.ts"],"sourcesContent":["/** TODO [>=8] Удалить deprecated типы */\n\nimport type { AppRootPortalProps } from '../AppRoot/AppRootPortal';\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport type ModalType = 'page' | 'card';\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport type TranslateRange = [number, number];\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport interface ModalElements {\n modalElement?: HTMLElement | null;\n innerElement?: HTMLElement | null;\n headerElement?: HTMLElement | null;\n contentElement?: HTMLElement | null;\n bottomInset?: HTMLElement | null;\n}\n\n/**\n * @deprecated будет удалён в **VKUI v8**\n */\nexport interface ModalsStateEntry extends ModalElements {\n id: string | null;\n /**\n * Событие начала открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Событие открытия модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Событие начала закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Событие закрытия модалки.\n */\n onClosed?: VoidFunction;\n type?: ModalType;\n\n settlingHeight?: number;\n expandable?: boolean;\n\n /**\n * Процент текущего сдвига модалки\n */\n translateY?: number;\n /**\n * Процент сдвига модалки в изначальном состоянии\n */\n translateYFrom?: number;\n /**\n * Процент сдвига модалки во время взаимодействия с ней (потянуть, чтобы открыть или закрыть)\n */\n translateYCurrent?: number;\n\n touchStartContentScrollTop?: number;\n touchMovePositive?: boolean | null;\n touchShiftYPercent?: number;\n\n expanded?: boolean;\n collapsed?: boolean;\n hidden?: boolean;\n\n contentScrolled?: boolean;\n contentScrollStopTimeout?: ReturnType<typeof setTimeout>;\n\n expandedRange?: TranslateRange;\n collapsedRange?: TranslateRange;\n hiddenRange?: TranslateRange;\n /**\n * Отключает возможность закрыть модалку стандартными способами\n */\n preventClose?: boolean;\n}\n\nexport type ModalRootActiveModal = string | null;\n\nexport type ModalRootCallbackFunction = (modalId: string) => void;\n\ntype ModalRootBaseProps = {\n activeModal?: ModalRootActiveModal;\n\n /**\n * `data-testid` для маски\n */\n modalOverlayTestId?: string;\n\n /**\n * Отключает фокус на контейнер диалогового окна при открытии.\n */\n noFocusToDialog?: boolean;\n\n usePortal?: AppRootPortalProps['usePortal'];\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?: ModalRootCallbackFunction;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?: ModalRootCallbackFunction;\n};\n\nexport interface ModalRootProps extends ModalRootBaseProps {\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\ntype ModalRootContextBaseInterface = {\n /**\n * Обозначает, в контексте ли модального окна мы сейчас.\n */\n isInsideModal: boolean;\n\n /**\n * С **VKUI v7** задача с обновлением высоты контента при `dynamicContentHeight` решается через CSS.\n *\n * @deprecated будет удалён в **VKUI v8**\n */\n updateModalHeight: VoidFunction;\n\n /**\n * С **VKUI v7** регистрация модальных окон больше не требуется.\n *\n * @deprecated будет удалён в **VKUI v8**\n */\n registerModal: (data: ModalElements & Required<Pick<ModalsStateEntry, 'type' | 'id'>>) => void;\n};\n\nexport interface ModalRootContextInterface\n extends ModalRootContextBaseInterface,\n ModalRootBaseProps {}\n\nexport interface UseModalRootContext extends ModalRootContextBaseInterface {\n activeModal?: string | null;\n onClose?: VoidFunction;\n}\n"],"names":[],"mappings":"AAAA,uCAAuC,GAwJvC,WAGC"}
@@ -1,10 +1,17 @@
1
- import { useContext, useState } from "react";
1
+ import { useContext, useId, useState } from "react";
2
+ import { getNavId } from "../../lib/getNavId.js";
2
3
  import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect.js";
4
+ import { warnOnce } from "../../lib/warnOnce.js";
3
5
  import { ModalOverlay } from "../ModalOverlay/ModalOverlay.js";
4
6
  import { ModalRootContext } from "./ModalRootContext.js";
5
7
  import { VisuallyHiddenModalOverlay } from "./VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js";
6
- export const useModalManager = ({ id, open, keepMounted, modalOverlayTestId, noFocusToDialog, onOpen, onOpened, onClose, onClosed })=>{
8
+ const warn = warnOnce('useModalManager');
9
+ export const useModalManager = ({ id: idProp, open, keepMounted, modalOverlayTestId, noFocusToDialog, onOpen, onOpened, onClose, onClosed })=>{
7
10
  const context = useContext(ModalRootContext);
11
+ const generatingId = useId();
12
+ const id = getNavId({
13
+ nav: idProp
14
+ }, context.isInsideModal ? warn : undefined) || generatingId;
8
15
  const opened = context.isInsideModal ? context.activeModal === id : open;
9
16
  const shouldPreserveSnapPoint = context.isInsideModal ? context.activeModal !== null : false;
10
17
  const [unmounted, setUnmounted] = useState(keepMounted ? false : !opened);
@@ -19,10 +26,12 @@ export const useModalManager = ({ id, open, keepMounted, modalOverlayTestId, noF
19
26
  if (unmounted) {
20
27
  return {
21
28
  mounted: false,
22
- shouldPreserveSnapPoint
29
+ shouldPreserveSnapPoint,
30
+ id
23
31
  };
24
32
  }
25
33
  return {
34
+ id,
26
35
  mounted: true,
27
36
  open: opened,
28
37
  shouldPreserveSnapPoint,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"sourcesContent":["import { useContext, useState } from 'react';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { AnyFunction } from '../../types';\nimport { ModalOverlay, type ModalOverlayProps } from '../ModalOverlay/ModalOverlay';\nimport { ModalRootContext } from './ModalRootContext';\nimport { VisuallyHiddenModalOverlay } from './VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay';\nimport type { ModalRootCallbackFunction } from './types';\n\nexport interface UseModalManager {\n id: string;\n open: boolean;\n keepMounted: boolean;\n modalOverlayTestId?: string;\n noFocusToDialog?: boolean;\n onOpen?: AnyFunction;\n onOpened?: AnyFunction;\n onClose?: AnyFunction;\n onClosed?: AnyFunction;\n}\n\nexport interface UseModalManagerResolvedProps {\n open: boolean;\n noFocusToDialog?: boolean;\n modalOverlayTestId?: string;\n ModalOverlay: React.ComponentType<ModalOverlayProps>;\n onOpen?: AnyFunction;\n onOpened?: AnyFunction;\n onClose?: AnyFunction;\n onClosed?: AnyFunction;\n}\n\nexport type UseModalManagerResult =\n | { mounted: false; shouldPreserveSnapPoint: boolean }\n | ({ mounted: true; shouldPreserveSnapPoint: boolean } & UseModalManagerResolvedProps);\n\nexport const useModalManager = ({\n id,\n open,\n keepMounted,\n modalOverlayTestId,\n noFocusToDialog,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n}: UseModalManager): UseModalManagerResult => {\n const context = useContext(ModalRootContext);\n const opened = context.isInsideModal ? context.activeModal === id : open;\n const shouldPreserveSnapPoint = context.isInsideModal ? context.activeModal !== null : false;\n\n const [unmounted, setUnmounted] = useState(keepMounted ? false : !opened);\n\n useIsomorphicLayoutEffect(\n function unsetUnmounted() {\n if (!keepMounted && opened) {\n setUnmounted((prev) => (prev ? false : prev));\n }\n },\n [opened, keepMounted],\n );\n\n if (unmounted) {\n return { mounted: false, shouldPreserveSnapPoint };\n }\n\n return {\n mounted: true,\n open: opened,\n shouldPreserveSnapPoint,\n noFocusToDialog: noFocusToDialog || context.noFocusToDialog,\n modalOverlayTestId: modalOverlayTestId || context.modalOverlayTestId,\n ModalOverlay: context.isInsideModal ? VisuallyHiddenModalOverlay : ModalOverlay,\n onOpen: onOpen || getContextCallback(id, context.onOpen),\n onOpened: onOpened || getContextCallback(id, context.onOpened),\n onClose: onClose || getContextCallback(id, context.onClose),\n onClosed: function handleClosed(...args: any[]) {\n if (!keepMounted) {\n setUnmounted(true);\n }\n\n if (onClosed) {\n onClosed(...args);\n } else {\n context.onClosed?.(id);\n }\n },\n };\n};\n\nfunction getContextCallback(id: string, fn: ModalRootCallbackFunction | undefined) {\n return fn ? () => fn(id) : undefined;\n}\n"],"names":["useContext","useState","useIsomorphicLayoutEffect","ModalOverlay","ModalRootContext","VisuallyHiddenModalOverlay","useModalManager","id","open","keepMounted","modalOverlayTestId","noFocusToDialog","onOpen","onOpened","onClose","onClosed","context","opened","isInsideModal","activeModal","shouldPreserveSnapPoint","unmounted","setUnmounted","unsetUnmounted","prev","mounted","getContextCallback","handleClosed","args","fn","undefined"],"mappings":"AAAA,SAASA,UAAU,EAAEC,QAAQ,QAAQ,QAAQ;AAC7C,SAASC,yBAAyB,QAAQ,yCAAsC;AAEhF,SAASC,YAAY,QAAgC,kCAA+B;AACpF,SAASC,gBAAgB,QAAQ,wBAAqB;AACtD,SAASC,0BAA0B,QAAQ,6DAA0D;AA8BrG,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,EAAE,EACFC,IAAI,EACJC,WAAW,EACXC,kBAAkB,EAClBC,eAAe,EACfC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACQ;IAChB,MAAMC,UAAUhB,WAAWI;IAC3B,MAAMa,SAASD,QAAQE,aAAa,GAAGF,QAAQG,WAAW,KAAKZ,KAAKC;IACpE,MAAMY,0BAA0BJ,QAAQE,aAAa,GAAGF,QAAQG,WAAW,KAAK,OAAO;IAEvF,MAAM,CAACE,WAAWC,aAAa,GAAGrB,SAASQ,cAAc,QAAQ,CAACQ;IAElEf,0BACE,SAASqB;QACP,IAAI,CAACd,eAAeQ,QAAQ;YAC1BK,aAAa,CAACE,OAAUA,OAAO,QAAQA;QACzC;IACF,GACA;QAACP;QAAQR;KAAY;IAGvB,IAAIY,WAAW;QACb,OAAO;YAAEI,SAAS;YAAOL;QAAwB;IACnD;IAEA,OAAO;QACLK,SAAS;QACTjB,MAAMS;QACNG;QACAT,iBAAiBA,mBAAmBK,QAAQL,eAAe;QAC3DD,oBAAoBA,sBAAsBM,QAAQN,kBAAkB;QACpEP,cAAca,QAAQE,aAAa,GAAGb,6BAA6BF;QACnES,QAAQA,UAAUc,mBAAmBnB,IAAIS,QAAQJ,MAAM;QACvDC,UAAUA,YAAYa,mBAAmBnB,IAAIS,QAAQH,QAAQ;QAC7DC,SAASA,WAAWY,mBAAmBnB,IAAIS,QAAQF,OAAO;QAC1DC,UAAU,SAASY,aAAa,GAAGC,IAAW;YAC5C,IAAI,CAACnB,aAAa;gBAChBa,aAAa;YACf;YAEA,IAAIP,UAAU;gBACZA,YAAYa;YACd,OAAO;gBACLZ,QAAQD,QAAQ,GAAGR;YACrB;QACF;IACF;AACF,EAAE;AAEF,SAASmB,mBAAmBnB,EAAU,EAAEsB,EAAyC;IAC/E,OAAOA,KAAK,IAAMA,GAAGtB,MAAMuB;AAC7B"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"sourcesContent":["import { useContext, useId, useState } from 'react';\nimport { getNavId } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { AnyFunction } from '../../types';\nimport { ModalOverlay, type ModalOverlayProps } from '../ModalOverlay/ModalOverlay';\nimport { ModalRootContext } from './ModalRootContext';\nimport { VisuallyHiddenModalOverlay } from './VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay';\nimport type { ModalRootCallbackFunction } from './types';\n\nconst warn = warnOnce('useModalManager');\nexport interface UseModalManager {\n id?: string;\n open: boolean;\n keepMounted: boolean;\n modalOverlayTestId?: string;\n noFocusToDialog?: boolean;\n onOpen?: AnyFunction;\n onOpened?: AnyFunction;\n onClose?: AnyFunction;\n onClosed?: AnyFunction;\n}\n\nexport interface UseModalManagerResolvedProps {\n id: string;\n open: boolean;\n noFocusToDialog?: boolean;\n modalOverlayTestId?: string;\n ModalOverlay: React.ComponentType<ModalOverlayProps>;\n onOpen?: AnyFunction;\n onOpened?: AnyFunction;\n onClose?: AnyFunction;\n onClosed?: AnyFunction;\n}\n\nexport type UseModalManagerResult =\n | { mounted: false; shouldPreserveSnapPoint: boolean; id: UseModalManagerResolvedProps['id'] }\n | ({ mounted: true; shouldPreserveSnapPoint: boolean } & UseModalManagerResolvedProps);\n\nexport const useModalManager = ({\n id: idProp,\n open,\n keepMounted,\n modalOverlayTestId,\n noFocusToDialog,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n}: UseModalManager): UseModalManagerResult => {\n const context = useContext(ModalRootContext);\n const generatingId = useId();\n const id = getNavId({ nav: idProp }, context.isInsideModal ? warn : undefined) || generatingId;\n const opened = context.isInsideModal ? context.activeModal === id : open;\n const shouldPreserveSnapPoint = context.isInsideModal ? context.activeModal !== null : false;\n\n const [unmounted, setUnmounted] = useState(keepMounted ? false : !opened);\n\n useIsomorphicLayoutEffect(\n function unsetUnmounted() {\n if (!keepMounted && opened) {\n setUnmounted((prev) => (prev ? false : prev));\n }\n },\n [opened, keepMounted],\n );\n\n if (unmounted) {\n return { mounted: false, shouldPreserveSnapPoint, id };\n }\n\n return {\n id,\n mounted: true,\n open: opened,\n shouldPreserveSnapPoint,\n noFocusToDialog: noFocusToDialog || context.noFocusToDialog,\n modalOverlayTestId: modalOverlayTestId || context.modalOverlayTestId,\n ModalOverlay: context.isInsideModal ? VisuallyHiddenModalOverlay : ModalOverlay,\n onOpen: onOpen || getContextCallback(id, context.onOpen),\n onOpened: onOpened || getContextCallback(id, context.onOpened),\n onClose: onClose || getContextCallback(id, context.onClose),\n onClosed: function handleClosed(...args: any[]) {\n if (!keepMounted) {\n setUnmounted(true);\n }\n\n if (onClosed) {\n onClosed(...args);\n } else {\n context.onClosed?.(id);\n }\n },\n };\n};\n\nfunction getContextCallback(id: string, fn: ModalRootCallbackFunction | undefined) {\n return fn ? () => fn(id) : undefined;\n}\n"],"names":["useContext","useId","useState","getNavId","useIsomorphicLayoutEffect","warnOnce","ModalOverlay","ModalRootContext","VisuallyHiddenModalOverlay","warn","useModalManager","id","idProp","open","keepMounted","modalOverlayTestId","noFocusToDialog","onOpen","onOpened","onClose","onClosed","context","generatingId","nav","isInsideModal","undefined","opened","activeModal","shouldPreserveSnapPoint","unmounted","setUnmounted","unsetUnmounted","prev","mounted","getContextCallback","handleClosed","args","fn"],"mappings":"AAAA,SAASA,UAAU,EAAEC,KAAK,EAAEC,QAAQ,QAAQ,QAAQ;AACpD,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,yBAAyB,QAAQ,yCAAsC;AAChF,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,YAAY,QAAgC,kCAA+B;AACpF,SAASC,gBAAgB,QAAQ,wBAAqB;AACtD,SAASC,0BAA0B,QAAQ,6DAA0D;AAGrG,MAAMC,OAAOJ,SAAS;AA6BtB,OAAO,MAAMK,kBAAkB,CAAC,EAC9BC,IAAIC,MAAM,EACVC,IAAI,EACJC,WAAW,EACXC,kBAAkB,EAClBC,eAAe,EACfC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACQ;IAChB,MAAMC,UAAUrB,WAAWO;IAC3B,MAAMe,eAAerB;IACrB,MAAMU,KAAKR,SAAS;QAAEoB,KAAKX;IAAO,GAAGS,QAAQG,aAAa,GAAGf,OAAOgB,cAAcH;IAClF,MAAMI,SAASL,QAAQG,aAAa,GAAGH,QAAQM,WAAW,KAAKhB,KAAKE;IACpE,MAAMe,0BAA0BP,QAAQG,aAAa,GAAGH,QAAQM,WAAW,KAAK,OAAO;IAEvF,MAAM,CAACE,WAAWC,aAAa,GAAG5B,SAASY,cAAc,QAAQ,CAACY;IAElEtB,0BACE,SAAS2B;QACP,IAAI,CAACjB,eAAeY,QAAQ;YAC1BI,aAAa,CAACE,OAAUA,OAAO,QAAQA;QACzC;IACF,GACA;QAACN;QAAQZ;KAAY;IAGvB,IAAIe,WAAW;QACb,OAAO;YAAEI,SAAS;YAAOL;YAAyBjB;QAAG;IACvD;IAEA,OAAO;QACLA;QACAsB,SAAS;QACTpB,MAAMa;QACNE;QACAZ,iBAAiBA,mBAAmBK,QAAQL,eAAe;QAC3DD,oBAAoBA,sBAAsBM,QAAQN,kBAAkB;QACpET,cAAce,QAAQG,aAAa,GAAGhB,6BAA6BF;QACnEW,QAAQA,UAAUiB,mBAAmBvB,IAAIU,QAAQJ,MAAM;QACvDC,UAAUA,YAAYgB,mBAAmBvB,IAAIU,QAAQH,QAAQ;QAC7DC,SAASA,WAAWe,mBAAmBvB,IAAIU,QAAQF,OAAO;QAC1DC,UAAU,SAASe,aAAa,GAAGC,IAAW;YAC5C,IAAI,CAACtB,aAAa;gBAChBgB,aAAa;YACf;YAEA,IAAIV,UAAU;gBACZA,YAAYgB;YACd,OAAO;gBACLf,QAAQD,QAAQ,GAAGT;YACrB;QACF;IACF;AACF,EAAE;AAEF,SAASuB,mBAAmBvB,EAAU,EAAE0B,EAAyC;IAC/E,OAAOA,KAAK,IAAMA,GAAG1B,MAAMc;AAC7B"}
@@ -11,6 +11,7 @@ export const useModalRootContext = ()=>{
11
11
  onCloseContext
12
12
  ]);
13
13
  return {
14
+ activeModal,
14
15
  isInsideModal,
15
16
  onClose,
16
17
  updateModalHeight,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalRoot/useModalRootContext.ts"],"sourcesContent":["import { useCallback, useContext } from 'react';\nimport { ModalRootContext } from './ModalRootContext';\nimport type { UseModalRootContext } from './types';\n\nexport const useModalRootContext = (): UseModalRootContext => {\n const {\n activeModal,\n isInsideModal,\n onClose: onCloseContext,\n updateModalHeight,\n registerModal,\n } = useContext(ModalRootContext);\n\n const onClose = useCallback(() => {\n if (onCloseContext && activeModal !== null && activeModal !== undefined) {\n onCloseContext(activeModal);\n }\n }, [activeModal, onCloseContext]);\n\n return { isInsideModal, onClose, updateModalHeight, registerModal };\n};\n"],"names":["useCallback","useContext","ModalRootContext","useModalRootContext","activeModal","isInsideModal","onClose","onCloseContext","updateModalHeight","registerModal","undefined"],"mappings":"AAAA,SAASA,WAAW,EAAEC,UAAU,QAAQ,QAAQ;AAChD,SAASC,gBAAgB,QAAQ,wBAAqB;AAGtD,OAAO,MAAMC,sBAAsB;IACjC,MAAM,EACJC,WAAW,EACXC,aAAa,EACbC,SAASC,cAAc,EACvBC,iBAAiB,EACjBC,aAAa,EACd,GAAGR,WAAWC;IAEf,MAAMI,UAAUN,YAAY;QAC1B,IAAIO,kBAAkBH,gBAAgB,QAAQA,gBAAgBM,WAAW;YACvEH,eAAeH;QACjB;IACF,GAAG;QAACA;QAAaG;KAAe;IAEhC,OAAO;QAAEF;QAAeC;QAASE;QAAmBC;IAAc;AACpE,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ModalRoot/useModalRootContext.ts"],"sourcesContent":["import { useCallback, useContext } from 'react';\nimport { ModalRootContext } from './ModalRootContext';\nimport type { UseModalRootContext } from './types';\n\nexport const useModalRootContext = (): UseModalRootContext => {\n const {\n activeModal,\n isInsideModal,\n onClose: onCloseContext,\n updateModalHeight,\n registerModal,\n } = useContext(ModalRootContext);\n\n const onClose = useCallback(() => {\n if (onCloseContext && activeModal !== null && activeModal !== undefined) {\n onCloseContext(activeModal);\n }\n }, [activeModal, onCloseContext]);\n\n return { activeModal, isInsideModal, onClose, updateModalHeight, registerModal };\n};\n"],"names":["useCallback","useContext","ModalRootContext","useModalRootContext","activeModal","isInsideModal","onClose","onCloseContext","updateModalHeight","registerModal","undefined"],"mappings":"AAAA,SAASA,WAAW,EAAEC,UAAU,QAAQ,QAAQ;AAChD,SAASC,gBAAgB,QAAQ,wBAAqB;AAGtD,OAAO,MAAMC,sBAAsB;IACjC,MAAM,EACJC,WAAW,EACXC,aAAa,EACbC,SAASC,cAAc,EACvBC,iBAAiB,EACjBC,aAAa,EACd,GAAGR,WAAWC;IAEf,MAAMI,UAAUN,YAAY;QAC1B,IAAIO,kBAAkBH,gBAAgB,QAAQA,gBAAgBM,WAAW;YACvEH,eAAeH;QACjB;IACF,GAAG;QAACA;QAAaG;KAAe;IAEhC,OAAO;QAAEH;QAAaC;QAAeC;QAASE;QAAmBC;IAAc;AACjF,EAAE"}
@@ -7,21 +7,22 @@ import { useExternRef } from "../../hooks/useExternRef.js";
7
7
  import { usePatchChildren } from "../../hooks/usePatchChildren.js";
8
8
  import { createPortal } from "../../lib/createPortal.js";
9
9
  import { autoUpdateFloatingElement, convertFloatingDataToReactCSSProperties, useFloating, useFloatingMiddlewaresBootstrap, usePlacementChangeCallback } from "../../lib/floating/index.js";
10
- import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect.js";
11
10
  import { warnOnce } from "../../lib/warnOnce.js";
12
11
  import { DEFAULT_ARROW_HEIGHT, DEFAULT_ARROW_PADDING } from "../FloatingArrow/DefaultIcon.js";
13
12
  import { FocusTrap } from "../FocusTrap/FocusTrap.js";
14
13
  import { useNavTransition } from "../NavTransitionContext/NavTransitionContext.js";
15
14
  import { TOOLTIP_MAX_WIDTH, TooltipBase } from "../TooltipBase/TooltipBase.js";
16
15
  import { onboardingTooltipContainerAttr } from "./OnboardingTooltipContainer.js";
16
+ import { useOnboardingTooltipContext } from "./OnboardingTooltipContext.js";
17
17
  import styles from "./OnboardingTooltip.module.css";
18
18
  const warn = warnOnce('OnboardingTooltip');
19
19
  /**
20
20
  * @see https://vkcom.github.io/VKUI/#/Tooltip
21
- */ export const OnboardingTooltip = ({ 'id': idProp, children, 'shown': shownProp = true, arrowPadding = DEFAULT_ARROW_PADDING, arrowHeight = DEFAULT_ARROW_HEIGHT, offsetByMainAxis = 0, offsetByCrossAxis = 0, arrowOffset = 0, isStaticArrowOffset = false, onClose, 'placement': placementProp = 'bottom-start', maxWidth = TOOLTIP_MAX_WIDTH, 'style': styleProp, getRootRef, disableArrow = false, onPlacementChange, disableFlipMiddleware = false, overlayLabel = 'Закрыть', title, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, restoreFocus, ...restProps })=>{
21
+ */ export const OnboardingTooltip = ({ 'id': idProp, children, 'shown': shownProp = true, arrowPadding = DEFAULT_ARROW_PADDING, arrowHeight = DEFAULT_ARROW_HEIGHT, offsetByMainAxis = 0, offsetByCrossAxis = 0, arrowOffset = 0, isStaticArrowOffset = false, onClose, 'placement': placementProp = 'bottom-start', maxWidth = TOOLTIP_MAX_WIDTH, 'style': styleProp, getRootRef, disableArrow = false, onPlacementChange, disableFlipMiddleware = false, overlayLabel = 'Закрыть', title, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, restoreFocus, disableFocusTrap, ...restProps })=>{
22
22
  const generatedId = React.useId();
23
23
  const tooltipId = idProp || generatedId;
24
24
  const { entering } = useNavTransition();
25
+ const { containerRef: tooltipContainerRef } = useOnboardingTooltipContext();
25
26
  const [arrowRef, setArrowRef] = React.useState(null);
26
27
  const [tooltipContainer, setTooltipContainer] = React.useState(null);
27
28
  const [positionStrategy, setPositionStrategy] = React.useState('absolute');
@@ -53,13 +54,18 @@ const warn = warnOnce('OnboardingTooltip');
53
54
  }
54
55
  let tooltip = null;
55
56
  if (shown) {
56
- const floatingStyle = convertFloatingDataToReactCSSProperties(positionStrategy, floatingDataX, floatingDataY);
57
+ const floatingStyle = convertFloatingDataToReactCSSProperties({
58
+ strategy: positionStrategy,
59
+ x: floatingDataX,
60
+ y: floatingDataY
61
+ });
57
62
  tooltip = createPortal(/*#__PURE__*/ _jsxs(FocusTrap, {
58
63
  role: "dialog",
59
64
  "aria-modal": "true",
60
65
  "aria-label": ariaLabel,
61
66
  "aria-labelledby": title ? titleId : ariaLabel ? undefined : ariaLabelledBy,
62
67
  onClose: onClose,
68
+ disabled: disableFocusTrap,
63
69
  restoreFocus: restoreFocus,
64
70
  children: [
65
71
  /*#__PURE__*/ _jsx("button", {
@@ -86,15 +92,22 @@ const warn = warnOnce('OnboardingTooltip');
86
92
  ]
87
93
  }), tooltipContainer);
88
94
  }
89
- useIsomorphicLayoutEffect(function initialize() {
95
+ React.useEffect(function initialize() {
90
96
  const referenceEl = childRef.current;
91
- if (referenceEl) {
92
- setTooltipContainer(referenceEl.closest(`[${onboardingTooltipContainerAttr}]`));
97
+ if (!referenceEl) {
98
+ return;
99
+ }
100
+ const tooltipContainer = tooltipContainerRef.current || // eslint-disable-next-line no-restricted-properties
101
+ referenceEl.closest(`[${onboardingTooltipContainerAttr}]`);
102
+ if (tooltipContainer) {
103
+ setTooltipContainer(tooltipContainer);
93
104
  setPositionStrategy(referenceEl.style.position === 'fixed' ? 'fixed' : 'absolute');
94
105
  refs.setReference(referenceEl);
95
106
  }
96
107
  }, [
97
- childRef
108
+ childRef,
109
+ refs,
110
+ tooltipContainerRef
98
111
  ]);
99
112
  if (process.env.NODE_ENV === 'development') {
100
113
  const multiChildren = React.Children.count(children) > 1;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { type UseFocusTrapProps } from '../../hooks/useFocusTrap';\nimport { usePatchChildren } from '../../hooks/usePatchChildren';\nimport { createPortal } from '../../lib/createPortal';\nimport {\n autoUpdateFloatingElement,\n convertFloatingDataToReactCSSProperties,\n type FloatingComponentProps,\n useFloating,\n useFloatingMiddlewaresBootstrap,\n usePlacementChangeCallback,\n} from '../../lib/floating';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { DEFAULT_ARROW_HEIGHT, DEFAULT_ARROW_PADDING } from '../FloatingArrow/DefaultIcon';\nimport type { FloatingArrowProps } from '../FloatingArrow/FloatingArrow';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { useNavTransition } from '../NavTransitionContext/NavTransitionContext';\nimport { TOOLTIP_MAX_WIDTH, TooltipBase, type TooltipBaseProps } from '../TooltipBase/TooltipBase';\nimport { onboardingTooltipContainerAttr } from './OnboardingTooltipContainer';\nimport styles from './OnboardingTooltip.module.css';\n\nconst warn = warnOnce('OnboardingTooltip');\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrowHeight'\n | 'arrowPadding'\n | 'arrowRef'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'shown'\n | 'children'\n | 'onPlacementChange'\n | 'disableFlipMiddleware'\n>;\n\ntype AllowedTooltipBaseProps = Omit<\n TooltipBaseProps,\n 'arrowProps' | 'closeIconLabel' | 'onCloseIconClick'\n>;\n\ntype AllowedFloatingArrowProps = {\n /**\n * Сдвиг стрелки относительно текущих координат.\n */\n arrowOffset?: FloatingArrowProps['offset'];\n /**\n * Включает абсолютное смещение по `arrowOffset`.\n */\n isStaticArrowOffset?: FloatingArrowProps['isStaticOffset'];\n};\n\nexport interface OnboardingTooltipProps\n extends AllowedFloatingComponentProps,\n AllowedTooltipBaseProps,\n AllowedFloatingArrowProps,\n Pick<UseFocusTrapProps, 'restoreFocus'> {\n /**\n * Скрывает стрелку, указывающую на якорный элемент.\n */\n disableArrow?: boolean;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: (this: void) => void;\n /**\n * [a11y] Метка для подложки-кнопки, для описания того, что произойдёт при клике.\n */\n overlayLabel?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tooltip\n */\nexport const OnboardingTooltip = ({\n 'id': idProp,\n children,\n 'shown': shownProp = true,\n arrowPadding = DEFAULT_ARROW_PADDING,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n offsetByMainAxis = 0,\n offsetByCrossAxis = 0,\n arrowOffset = 0,\n isStaticArrowOffset = false,\n onClose,\n 'placement': placementProp = 'bottom-start',\n maxWidth = TOOLTIP_MAX_WIDTH,\n 'style': styleProp,\n getRootRef,\n disableArrow = false,\n onPlacementChange,\n disableFlipMiddleware = false,\n overlayLabel = 'Закрыть',\n title,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n restoreFocus,\n ...restProps\n}: OnboardingTooltipProps): React.ReactNode => {\n const generatedId = React.useId();\n const tooltipId = idProp || generatedId;\n const { entering } = useNavTransition();\n\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n const [tooltipContainer, setTooltipContainer] = React.useState<HTMLElement | null>(null);\n const [positionStrategy, setPositionStrategy] = React.useState<'fixed' | 'absolute'>('absolute');\n const shown = shownProp && tooltipContainer && !entering;\n\n const { middlewares, strictPlacement } = useFloatingMiddlewaresBootstrap({\n placement: placementProp,\n offsetByMainAxis,\n offsetByCrossAxis,\n arrowRef,\n arrow: !disableArrow,\n arrowHeight,\n arrowPadding,\n disableFlipMiddleware,\n });\n const {\n x: floatingDataX,\n y: floatingDataY,\n refs,\n placement: resolvedPlacement,\n middlewareData: { arrow: arrowCoords },\n } = useFloating({\n strategy: positionStrategy,\n placement: strictPlacement,\n middleware: middlewares,\n whileElementsMounted: autoUpdateFloatingElement,\n });\n const tooltipRef = useExternRef<HTMLDivElement>(getRootRef, refs.setFloating);\n const [childRef, child] = usePatchChildren(children, {\n 'aria-describedby': shown ? tooltipId : undefined,\n });\n\n usePlacementChangeCallback(placementProp, resolvedPlacement, onPlacementChange);\n\n const titleId = React.useId();\n if (process.env.NODE_ENV === 'development' && !title && !ariaLabel && !ariaLabelledBy) {\n warn(\n 'Если \"title\" не используется, то необходимо задать либо \"aria-label\", либо \"aria-labelledby\" (см. правило axe aria-dialog-name)',\n );\n }\n\n let tooltip: React.ReactPortal | null = null;\n if (shown) {\n const floatingStyle = convertFloatingDataToReactCSSProperties(\n positionStrategy,\n floatingDataX,\n floatingDataY,\n );\n\n tooltip = createPortal(\n <FocusTrap\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={ariaLabel}\n aria-labelledby={title ? titleId : ariaLabel ? undefined : ariaLabelledBy}\n onClose={onClose}\n restoreFocus={restoreFocus}\n >\n <button aria-label={overlayLabel} className={styles.overlay} onClickCapture={onClose} />\n <TooltipBase\n {...restProps}\n id={tooltipId}\n title={title}\n titleId={title ? titleId : undefined}\n getRootRef={tooltipRef}\n style={mergeStyle(floatingStyle, styleProp)}\n maxWidth={maxWidth}\n arrowProps={\n disableArrow\n ? undefined\n : {\n offset: arrowOffset,\n isStaticOffset: isStaticArrowOffset,\n coords: arrowCoords,\n placement: resolvedPlacement,\n getRootRef: setArrowRef,\n }\n }\n />\n </FocusTrap>,\n tooltipContainer,\n );\n }\n\n useIsomorphicLayoutEffect(\n function initialize() {\n const referenceEl = childRef.current;\n if (referenceEl) {\n setTooltipContainer(\n referenceEl.closest<HTMLDivElement>(`[${onboardingTooltipContainerAttr}]`), // eslint-disable-line no-restricted-properties\n );\n setPositionStrategy(referenceEl.style.position === 'fixed' ? 'fixed' : 'absolute');\n refs.setReference(referenceEl);\n }\n },\n [childRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild = hasReactNode(children) && typeof children !== 'object';\n (multiChildren || primitiveChild) &&\n warn(\n [\n 'children должен быть одним React элементом, получено',\n multiChildren && 'несколько',\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(' '),\n 'error',\n );\n\n if (refs.reference.current && !tooltipContainer) {\n throw new Error('Use TooltipContainer for Tooltip outside Panel (see docs)');\n }\n }\n\n return (\n <React.Fragment>\n {child}\n {tooltip}\n </React.Fragment>\n );\n};\n"],"names":["React","hasReactNode","mergeStyle","useExternRef","usePatchChildren","createPortal","autoUpdateFloatingElement","convertFloatingDataToReactCSSProperties","useFloating","useFloatingMiddlewaresBootstrap","usePlacementChangeCallback","useIsomorphicLayoutEffect","warnOnce","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","FocusTrap","useNavTransition","TOOLTIP_MAX_WIDTH","TooltipBase","onboardingTooltipContainerAttr","styles","warn","OnboardingTooltip","idProp","children","shownProp","arrowPadding","arrowHeight","offsetByMainAxis","offsetByCrossAxis","arrowOffset","isStaticArrowOffset","onClose","placementProp","maxWidth","styleProp","getRootRef","disableArrow","onPlacementChange","disableFlipMiddleware","overlayLabel","title","ariaLabel","ariaLabelledBy","restoreFocus","restProps","generatedId","useId","tooltipId","entering","arrowRef","setArrowRef","useState","tooltipContainer","setTooltipContainer","positionStrategy","setPositionStrategy","shown","middlewares","strictPlacement","placement","arrow","x","floatingDataX","y","floatingDataY","refs","resolvedPlacement","middlewareData","arrowCoords","strategy","middleware","whileElementsMounted","tooltipRef","setFloating","childRef","child","undefined","titleId","process","env","NODE_ENV","tooltip","floatingStyle","role","aria-modal","aria-label","aria-labelledby","button","className","overlay","onClickCapture","id","style","arrowProps","offset","isStaticOffset","coords","initialize","referenceEl","current","closest","position","setReference","multiChildren","Children","count","primitiveChild","JSON","stringify","filter","Boolean","join","reference","Error","Fragment"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { type UseFocusTrapProps } from '../../hooks/useFocusTrap';\nimport { usePatchChildren } from '../../hooks/usePatchChildren';\nimport { createPortal } from '../../lib/createPortal';\nimport {\n autoUpdateFloatingElement,\n convertFloatingDataToReactCSSProperties,\n type FloatingComponentProps,\n useFloating,\n useFloatingMiddlewaresBootstrap,\n usePlacementChangeCallback,\n} from '../../lib/floating';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { DEFAULT_ARROW_HEIGHT, DEFAULT_ARROW_PADDING } from '../FloatingArrow/DefaultIcon';\nimport type { FloatingArrowProps } from '../FloatingArrow/FloatingArrow';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { useNavTransition } from '../NavTransitionContext/NavTransitionContext';\nimport { TOOLTIP_MAX_WIDTH, TooltipBase, type TooltipBaseProps } from '../TooltipBase/TooltipBase';\nimport { onboardingTooltipContainerAttr } from './OnboardingTooltipContainer';\nimport { useOnboardingTooltipContext } from './OnboardingTooltipContext';\nimport styles from './OnboardingTooltip.module.css';\n\nconst warn = warnOnce('OnboardingTooltip');\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrowHeight'\n | 'arrowPadding'\n | 'arrowRef'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'shown'\n | 'children'\n | 'onPlacementChange'\n | 'disableFlipMiddleware'\n | 'disableFocusTrap'\n>;\n\ntype AllowedTooltipBaseProps = Omit<\n TooltipBaseProps,\n 'arrowProps' | 'closeIconLabel' | 'onCloseIconClick'\n>;\n\ntype AllowedFloatingArrowProps = {\n /**\n * Сдвиг стрелки относительно текущих координат.\n */\n arrowOffset?: FloatingArrowProps['offset'];\n /**\n * Включает абсолютное смещение по `arrowOffset`.\n */\n isStaticArrowOffset?: FloatingArrowProps['isStaticOffset'];\n};\n\nexport interface OnboardingTooltipProps\n extends AllowedFloatingComponentProps,\n AllowedTooltipBaseProps,\n AllowedFloatingArrowProps,\n Pick<UseFocusTrapProps, 'restoreFocus'> {\n /**\n * Скрывает стрелку, указывающую на якорный элемент.\n */\n disableArrow?: boolean;\n /**\n * Callback, который вызывается при клике по любому месту в пределах экрана.\n */\n onClose?: (this: void) => void;\n /**\n * [a11y] Метка для подложки-кнопки, для описания того, что произойдёт при клике.\n */\n overlayLabel?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Tooltip\n */\nexport const OnboardingTooltip = ({\n 'id': idProp,\n children,\n 'shown': shownProp = true,\n arrowPadding = DEFAULT_ARROW_PADDING,\n arrowHeight = DEFAULT_ARROW_HEIGHT,\n offsetByMainAxis = 0,\n offsetByCrossAxis = 0,\n arrowOffset = 0,\n isStaticArrowOffset = false,\n onClose,\n 'placement': placementProp = 'bottom-start',\n maxWidth = TOOLTIP_MAX_WIDTH,\n 'style': styleProp,\n getRootRef,\n disableArrow = false,\n onPlacementChange,\n disableFlipMiddleware = false,\n overlayLabel = 'Закрыть',\n title,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n restoreFocus,\n disableFocusTrap,\n ...restProps\n}: OnboardingTooltipProps): React.ReactNode => {\n const generatedId = React.useId();\n const tooltipId = idProp || generatedId;\n const { entering } = useNavTransition();\n const { containerRef: tooltipContainerRef } = useOnboardingTooltipContext();\n\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n const [tooltipContainer, setTooltipContainer] = React.useState<HTMLElement | null>(null);\n const [positionStrategy, setPositionStrategy] = React.useState<'fixed' | 'absolute'>('absolute');\n const shown = shownProp && tooltipContainer && !entering;\n\n const { middlewares, strictPlacement } = useFloatingMiddlewaresBootstrap({\n placement: placementProp,\n offsetByMainAxis,\n offsetByCrossAxis,\n arrowRef,\n arrow: !disableArrow,\n arrowHeight,\n arrowPadding,\n disableFlipMiddleware,\n });\n const {\n x: floatingDataX,\n y: floatingDataY,\n refs,\n placement: resolvedPlacement,\n middlewareData: { arrow: arrowCoords },\n } = useFloating({\n strategy: positionStrategy,\n placement: strictPlacement,\n middleware: middlewares,\n whileElementsMounted: autoUpdateFloatingElement,\n });\n const tooltipRef = useExternRef<HTMLDivElement>(getRootRef, refs.setFloating);\n const [childRef, child] = usePatchChildren(children, {\n 'aria-describedby': shown ? tooltipId : undefined,\n });\n\n usePlacementChangeCallback(placementProp, resolvedPlacement, onPlacementChange);\n\n const titleId = React.useId();\n if (process.env.NODE_ENV === 'development' && !title && !ariaLabel && !ariaLabelledBy) {\n warn(\n 'Если \"title\" не используется, то необходимо задать либо \"aria-label\", либо \"aria-labelledby\" (см. правило axe aria-dialog-name)',\n );\n }\n\n let tooltip: React.ReactPortal | null = null;\n if (shown) {\n const floatingStyle = convertFloatingDataToReactCSSProperties({\n strategy: positionStrategy,\n x: floatingDataX,\n y: floatingDataY,\n });\n\n tooltip = createPortal(\n <FocusTrap\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={ariaLabel}\n aria-labelledby={title ? titleId : ariaLabel ? undefined : ariaLabelledBy}\n onClose={onClose}\n disabled={disableFocusTrap}\n restoreFocus={restoreFocus}\n >\n <button aria-label={overlayLabel} className={styles.overlay} onClickCapture={onClose} />\n <TooltipBase\n {...restProps}\n id={tooltipId}\n title={title}\n titleId={title ? titleId : undefined}\n getRootRef={tooltipRef}\n style={mergeStyle(floatingStyle, styleProp)}\n maxWidth={maxWidth}\n arrowProps={\n disableArrow\n ? undefined\n : {\n offset: arrowOffset,\n isStaticOffset: isStaticArrowOffset,\n coords: arrowCoords,\n placement: resolvedPlacement,\n getRootRef: setArrowRef,\n }\n }\n />\n </FocusTrap>,\n tooltipContainer,\n );\n }\n\n React.useEffect(\n function initialize() {\n const referenceEl = childRef.current;\n if (!referenceEl) {\n return;\n }\n const tooltipContainer =\n tooltipContainerRef.current ||\n // eslint-disable-next-line no-restricted-properties\n referenceEl.closest<HTMLDivElement>(`[${onboardingTooltipContainerAttr}]`);\n if (tooltipContainer) {\n setTooltipContainer(tooltipContainer);\n setPositionStrategy(referenceEl.style.position === 'fixed' ? 'fixed' : 'absolute');\n refs.setReference(referenceEl);\n }\n },\n [childRef, refs, tooltipContainerRef],\n );\n\n if (process.env.NODE_ENV === 'development') {\n const multiChildren = React.Children.count(children) > 1;\n // Empty children is a noop\n const primitiveChild = hasReactNode(children) && typeof children !== 'object';\n (multiChildren || primitiveChild) &&\n warn(\n [\n 'children должен быть одним React элементом, получено',\n multiChildren && 'несколько',\n primitiveChild && JSON.stringify(children),\n ]\n .filter(Boolean)\n .join(' '),\n 'error',\n );\n\n if (refs.reference.current && !tooltipContainer) {\n throw new Error('Use TooltipContainer for Tooltip outside Panel (see docs)');\n }\n }\n\n return (\n <React.Fragment>\n {child}\n {tooltip}\n </React.Fragment>\n );\n};\n"],"names":["React","hasReactNode","mergeStyle","useExternRef","usePatchChildren","createPortal","autoUpdateFloatingElement","convertFloatingDataToReactCSSProperties","useFloating","useFloatingMiddlewaresBootstrap","usePlacementChangeCallback","warnOnce","DEFAULT_ARROW_HEIGHT","DEFAULT_ARROW_PADDING","FocusTrap","useNavTransition","TOOLTIP_MAX_WIDTH","TooltipBase","onboardingTooltipContainerAttr","useOnboardingTooltipContext","styles","warn","OnboardingTooltip","idProp","children","shownProp","arrowPadding","arrowHeight","offsetByMainAxis","offsetByCrossAxis","arrowOffset","isStaticArrowOffset","onClose","placementProp","maxWidth","styleProp","getRootRef","disableArrow","onPlacementChange","disableFlipMiddleware","overlayLabel","title","ariaLabel","ariaLabelledBy","restoreFocus","disableFocusTrap","restProps","generatedId","useId","tooltipId","entering","containerRef","tooltipContainerRef","arrowRef","setArrowRef","useState","tooltipContainer","setTooltipContainer","positionStrategy","setPositionStrategy","shown","middlewares","strictPlacement","placement","arrow","x","floatingDataX","y","floatingDataY","refs","resolvedPlacement","middlewareData","arrowCoords","strategy","middleware","whileElementsMounted","tooltipRef","setFloating","childRef","child","undefined","titleId","process","env","NODE_ENV","tooltip","floatingStyle","role","aria-modal","aria-label","aria-labelledby","disabled","button","className","overlay","onClickCapture","id","style","arrowProps","offset","isStaticOffset","coords","useEffect","initialize","referenceEl","current","closest","position","setReference","multiChildren","Children","count","primitiveChild","JSON","stringify","filter","Boolean","join","reference","Error","Fragment"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  .overlay {
2
2
  position: fixed;
3
- inset-inline-start: 0;
4
3
  inset-block-start: 0;
4
+ inset-inline-start: 0;
5
5
  inline-size: 100%;
6
6
  block-size: 100%;
7
7
  padding: 0;
@@ -1,14 +1,23 @@
1
+ 'use client';
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import * as React from "react";
4
+ import { useExternRef } from "../../hooks/useExternRef.js";
5
+ import { OnboardingTooltipContext } from "./OnboardingTooltipContext.js";
3
6
  export const onboardingTooltipContainerAttr = 'data-onboarding-tooltip-container';
4
7
  export const OnboardingTooltipContainer = /*#__PURE__*/ React.forwardRef(({ fixed = false, Component = 'div', ...props }, ref)=>{
8
+ const containerRef = useExternRef(ref);
5
9
  const dataProps = {
6
10
  [onboardingTooltipContainerAttr]: fixed ? 'fixed' : 'true'
7
11
  };
8
- return /*#__PURE__*/ _jsx(Component, {
9
- ...dataProps,
10
- ...props,
11
- ref: ref
12
+ return /*#__PURE__*/ _jsx(OnboardingTooltipContext.Provider, {
13
+ value: {
14
+ containerRef
15
+ },
16
+ children: /*#__PURE__*/ _jsx(Component, {
17
+ ...dataProps,
18
+ ...props,
19
+ ref: containerRef
20
+ })
12
21
  });
13
22
  });
14
23
  OnboardingTooltipContainer.displayName = 'OnboardingTooltipContainer';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport type { HasComponent, HasDataAttribute } from '../../types';\n\nexport const onboardingTooltipContainerAttr = 'data-onboarding-tooltip-container';\n\ntype OnboardingTooltipContainerProps = React.HTMLAttributes<HTMLDivElement> &\n HasComponent &\n HasDataAttribute & {\n fixed?: boolean;\n };\n\nexport const OnboardingTooltipContainer: React.ForwardRefExoticComponent<\n React.PropsWithoutRef<OnboardingTooltipContainerProps> & React.RefAttributes<HTMLDivElement>\n> = React.forwardRef<HTMLDivElement, OnboardingTooltipContainerProps>(\n ({ fixed = false, Component = 'div', ...props }, ref) => {\n const dataProps = {\n [onboardingTooltipContainerAttr]: fixed ? 'fixed' : 'true',\n };\n\n return <Component {...dataProps} {...props} ref={ref} />;\n },\n);\n\nOnboardingTooltipContainer.displayName = 'OnboardingTooltipContainer';\n"],"names":["React","onboardingTooltipContainerAttr","OnboardingTooltipContainer","forwardRef","fixed","Component","props","ref","dataProps","displayName"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAG/B,OAAO,MAAMC,iCAAiC,oCAAoC;AAQlF,OAAO,MAAMC,2CAETF,MAAMG,UAAU,CAClB,CAAC,EAAEC,QAAQ,KAAK,EAAEC,YAAY,KAAK,EAAE,GAAGC,OAAO,EAAEC;IAC/C,MAAMC,YAAY;QAChB,CAACP,+BAA+B,EAAEG,QAAQ,UAAU;IACtD;IAEA,qBAAO,KAACC;QAAW,GAAGG,SAAS;QAAG,GAAGF,KAAK;QAAEC,KAAKA;;AACnD,GACA;AAEFL,2BAA2BO,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport type { HasComponent, HasDataAttribute } from '../../types';\nimport { OnboardingTooltipContext } from './OnboardingTooltipContext';\n\nexport const onboardingTooltipContainerAttr = 'data-onboarding-tooltip-container';\n\ntype OnboardingTooltipContainerProps = React.HTMLAttributes<HTMLDivElement> &\n HasComponent &\n HasDataAttribute & {\n fixed?: boolean;\n };\n\nexport const OnboardingTooltipContainer: React.ForwardRefExoticComponent<\n React.PropsWithoutRef<OnboardingTooltipContainerProps> & React.RefAttributes<HTMLDivElement>\n> = React.forwardRef<HTMLDivElement, OnboardingTooltipContainerProps>(\n ({ fixed = false, Component = 'div', ...props }, ref) => {\n const containerRef = useExternRef(ref);\n const dataProps = {\n [onboardingTooltipContainerAttr]: fixed ? 'fixed' : 'true',\n };\n\n return (\n <OnboardingTooltipContext.Provider value={{ containerRef }}>\n <Component {...dataProps} {...props} ref={containerRef} />\n </OnboardingTooltipContext.Provider>\n );\n },\n);\n\nOnboardingTooltipContainer.displayName = 'OnboardingTooltipContainer';\n"],"names":["React","useExternRef","OnboardingTooltipContext","onboardingTooltipContainerAttr","OnboardingTooltipContainer","forwardRef","fixed","Component","props","ref","containerRef","dataProps","Provider","value","displayName"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,8BAA2B;AAExD,SAASC,wBAAwB,QAAQ,gCAA6B;AAEtE,OAAO,MAAMC,iCAAiC,oCAAoC;AAQlF,OAAO,MAAMC,2CAETJ,MAAMK,UAAU,CAClB,CAAC,EAAEC,QAAQ,KAAK,EAAEC,YAAY,KAAK,EAAE,GAAGC,OAAO,EAAEC;IAC/C,MAAMC,eAAeT,aAAaQ;IAClC,MAAME,YAAY;QAChB,CAACR,+BAA+B,EAAEG,QAAQ,UAAU;IACtD;IAEA,qBACE,KAACJ,yBAAyBU,QAAQ;QAACC,OAAO;YAAEH;QAAa;kBACvD,cAAA,KAACH;YAAW,GAAGI,SAAS;YAAG,GAAGH,KAAK;YAAEC,KAAKC;;;AAGhD,GACA;AAEFN,2BAA2BU,WAAW,GAAG"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ export const OnboardingTooltipContext = /*#__PURE__*/ React.createContext({
3
+ containerRef: {
4
+ current: null
5
+ }
6
+ });
7
+ export const useOnboardingTooltipContext = ()=>React.useContext(OnboardingTooltipContext);
8
+
9
+ //# sourceMappingURL=OnboardingTooltipContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/OnboardingTooltip/OnboardingTooltipContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport interface OnboardingTooltipContextValue {\n containerRef: React.RefObject<HTMLElement | null>;\n}\n\nexport const OnboardingTooltipContext = React.createContext<OnboardingTooltipContextValue>({\n containerRef: { current: null },\n});\n\nexport const useOnboardingTooltipContext = () => React.useContext(OnboardingTooltipContext);\n"],"names":["React","OnboardingTooltipContext","createContext","containerRef","current","useOnboardingTooltipContext","useContext"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAM/B,OAAO,MAAMC,yCAA2BD,MAAME,aAAa,CAAgC;IACzFC,cAAc;QAAEC,SAAS;IAAK;AAChC,GAAG;AAEH,OAAO,MAAMC,8BAA8B,IAAML,MAAMM,UAAU,CAACL,0BAA0B"}
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from "@vkontakte/icons";
5
5
  import { useAdaptivity } from "../../hooks/useAdaptivity.js";
6
+ import { useConfigDirection } from "../../hooks/useConfigDirection.js";
6
7
  import { usePagination } from "../../hooks/usePagination.js";
7
8
  import { RootComponent } from "../RootComponent/RootComponent.js";
8
9
  import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
@@ -13,6 +14,8 @@ import styles from "./Pagination.module.css";
13
14
  /**
14
15
  * @see https://vkcom.github.io/VKUI/#/Pagination
15
16
  */ export const Pagination = ({ currentPage = 1, siblingCount = 1, boundaryCount = 1, totalPages = 1, disabled, prevButtonCaption = 'Назад', nextButtonCaption = 'Вперёд', navigationButtonsStyle = 'icon', getPageLabel, navigationLabel = 'Страницы', navigationLabelComponent = 'h2', prevButtonLabel = 'Перейти на предыдущую страницу', nextButtonLabel = 'Перейти на следующую страницу', onChange, renderPageButton, pageButtonTestId, prevButtonTestId, nextButtonTestId, renderNavigationButton, ...resetProps })=>{
17
+ const direction = useConfigDirection();
18
+ const isRtl = direction === 'rtl';
16
19
  const pages = usePagination({
17
20
  currentPage,
18
21
  totalPages,
@@ -104,7 +107,7 @@ import styles from "./Pagination.module.css";
104
107
  type: "prev",
105
108
  style: navigationButtonsStyle,
106
109
  caption: prevButtonCaption,
107
- Icon: Icon24ChevronCompactLeft,
110
+ Icon: isRtl ? Icon24ChevronCompactRight : Icon24ChevronCompactLeft,
108
111
  a11yLabel: prevButtonLabel,
109
112
  disabled: isFirstPage || disabled,
110
113
  onClick: handlePrevClick,
@@ -120,7 +123,7 @@ import styles from "./Pagination.module.css";
120
123
  type: "next",
121
124
  style: navigationButtonsStyle,
122
125
  caption: nextButtonCaption,
123
- Icon: Icon24ChevronCompactRight,
126
+ Icon: isRtl ? Icon24ChevronCompactLeft : Icon24ChevronCompactRight,
124
127
  a11yLabel: nextButtonLabel,
125
128
  disabled: isLastPage || disabled,
126
129
  onClick: handleNextClick,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from '@vkontakte/icons';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { type PaginationPageType, usePagination } from '../../hooks/usePagination';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport {\n type CustomPaginationNavigationButton,\n PaginationNavigationButton,\n type PaginationNavigationButtonProps,\n} from './PaginationNavigationButton/PaginationNavigationButton';\nimport {\n type CustomPaginationPageButtonProps,\n PaginationPageButton,\n} from './PaginationPage/PaginationPageButton';\nimport { PaginationPageEllipsis } from './PaginationPage/PaginationPageEllipsis';\nimport styles from './Pagination.module.css';\n\nexport interface PaginationProps extends Omit<HTMLAttributesWithRootRef<HTMLElement>, 'onChange'> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Декоративный текст для кнопки навигации назад.\n *\n * > Note: Экранные дикторы будут использовать `prevButtonLabel`.\n */\n prevButtonCaption?: string;\n /**\n * Декоративный текст для кнопки навигации вперёд.\n *\n * > Note: Экранные дикторы будут использовать `nextButtonLabel`.\n */\n nextButtonCaption?: string;\n /**\n * Задаёт стиль отображения кнопок навигации.\n *\n * - `icon` – показывать только иконку;\n * - `caption` – показывать только подпись;\n * - `both` – показывать и иконку, и подпись.\n */\n navigationButtonsStyle?: PaginationNavigationButtonProps['style'];\n /**\n * [a11y] Метка для обозначения блока навигации.\n */\n navigationLabel?: string;\n navigationLabelComponent?: HasComponent['Component'];\n /**\n * [a11y] Метка для кнопки навигации назад.\n */\n prevButtonLabel?: string;\n /**\n * [a11y] Метка для кнопки навигации вперёд.\n */\n nextButtonLabel?: string;\n /**\n * [a11y] Функция для переопределения и/или локализации метки кнопки страницы.\n *\n * > Note: По возможности лучше не использовать,\n * так как компонент и так проставляет номер страницы в разметку,\n * что достаточно для пользователей скринридеров.\n * Дополнительная информация скорее будет избыточна,\n * так как будет зачитываться для каждой кнопки при перемещении по списку.\n */\n getPageLabel?: (isCurrent: boolean) => string;\n onChange?: (page: number, event: React.MouseEvent<HTMLElement>) => void;\n /**\n * Функция для кастомного рендера кнопок страниц.\n *\n * > Note: `CustomPaginationPageButtonProps` наследует API [Tappable](https://vkcom.github.io/VKUI/#/Tappable).\n */\n renderPageButton?: (props: CustomPaginationPageButtonProps) => React.ReactNode;\n /**\n Функция для кастомного рендера кнопок навигации `prev` и `next`.\n *\n * > Note: `CustomPaginationNavigationButton` наследует API [Button](https://vkcom.github.io/VKUI/#/Button).\n */\n renderNavigationButton?: (props: CustomPaginationNavigationButton) => React.ReactNode;\n /**\n * Передает атрибут `data-testid` для кнопок страниц\n */\n pageButtonTestId?: (day: PaginationPageType, active: boolean) => string;\n /**\n * Передает атрибут `data-testid` для кнопки `prev`\n */\n prevButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки `next`\n */\n nextButtonTestId?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Pagination\n */\nexport const Pagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n prevButtonCaption = 'Назад',\n nextButtonCaption = 'Вперёд',\n navigationButtonsStyle = 'icon',\n getPageLabel,\n navigationLabel = 'Страницы',\n navigationLabelComponent = 'h2',\n prevButtonLabel = 'Перейти на предыдущую страницу',\n nextButtonLabel = 'Перейти на следующую страницу',\n onChange,\n renderPageButton,\n pageButtonTestId,\n prevButtonTestId,\n nextButtonTestId,\n renderNavigationButton,\n ...resetProps\n}: PaginationProps): React.ReactNode => {\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n const prevPage = isFirstPage ? undefined : currentPage - 1;\n const nextPage = isLastPage ? undefined : currentPage + 1;\n\n const handlePrevClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (onChange && prevPage !== undefined) {\n onChange(prevPage, event);\n }\n },\n [prevPage, onChange],\n );\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || '1';\n onChange?.(Number(page), event);\n },\n [onChange],\n );\n\n const handleNextClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (onChange && nextPage !== undefined) {\n onChange(nextPage, event);\n }\n },\n [nextPage, onChange],\n );\n\n const { sizeY } = useAdaptivity();\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n const isCurrent = page === currentPage;\n const dataTestId = pageButtonTestId?.(page, isCurrent);\n\n switch (page) {\n case 'start-ellipsis':\n case 'end-ellipsis':\n return (\n <li key={page}>\n <PaginationPageEllipsis disabled={disabled} data-testid={dataTestId} />\n </li>\n );\n default: {\n return (\n <li key={page}>\n <PaginationPageButton\n getPageLabel={getPageLabel}\n isCurrent={isCurrent}\n onClick={handleClick}\n disabled={disabled}\n sizeY={sizeY}\n renderPageButton={renderPageButton}\n data-testid={dataTestId}\n >\n {page}\n </PaginationPageButton>\n </li>\n );\n }\n }\n },\n [currentPage, disabled, getPageLabel, handleClick, renderPageButton, sizeY, pageButtonTestId],\n );\n\n const navigationLabelId = React.useId();\n\n return (\n <RootComponent\n Component=\"nav\"\n role=\"navigation\"\n aria-labelledby={navigationLabelId}\n {...resetProps}\n >\n <VisuallyHidden id={navigationLabelId} Component={navigationLabelComponent}>\n {navigationLabel}\n </VisuallyHidden>\n <ul className={styles.list}>\n <li className={styles.prevButtonContainer}>\n <PaginationNavigationButton\n type=\"prev\"\n style={navigationButtonsStyle}\n caption={prevButtonCaption}\n Icon={Icon24ChevronCompactLeft}\n a11yLabel={prevButtonLabel}\n disabled={isFirstPage || disabled}\n onClick={handlePrevClick}\n data-page={prevPage}\n data-testid={prevButtonTestId}\n renderNavigationButton={renderNavigationButton}\n />\n </li>\n {pages.map(renderPages)}\n <li className={styles.nextButtonContainer}>\n <PaginationNavigationButton\n type=\"next\"\n style={navigationButtonsStyle}\n caption={nextButtonCaption}\n Icon={Icon24ChevronCompactRight}\n a11yLabel={nextButtonLabel}\n disabled={isLastPage || disabled}\n onClick={handleNextClick}\n data-page={nextPage}\n data-testid={nextButtonTestId}\n renderNavigationButton={renderNavigationButton}\n />\n </li>\n </ul>\n </RootComponent>\n );\n};\n"],"names":["React","Icon24ChevronCompactLeft","Icon24ChevronCompactRight","useAdaptivity","usePagination","RootComponent","VisuallyHidden","PaginationNavigationButton","PaginationPageButton","PaginationPageEllipsis","styles","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","prevButtonCaption","nextButtonCaption","navigationButtonsStyle","getPageLabel","navigationLabel","navigationLabelComponent","prevButtonLabel","nextButtonLabel","onChange","renderPageButton","pageButtonTestId","prevButtonTestId","nextButtonTestId","renderNavigationButton","resetProps","pages","isFirstPage","isLastPage","prevPage","undefined","nextPage","handlePrevClick","useCallback","event","handleClick","page","currentTarget","dataset","Number","handleNextClick","sizeY","renderPages","isCurrent","dataTestId","li","data-testid","onClick","navigationLabelId","useId","Component","role","aria-labelledby","id","ul","className","list","prevButtonContainer","type","style","caption","Icon","a11yLabel","data-page","map","nextButtonContainer"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from '@vkontakte/icons';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { type PaginationPageType, usePagination } from '../../hooks/usePagination';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport {\n type CustomPaginationNavigationButton,\n PaginationNavigationButton,\n type PaginationNavigationButtonProps,\n} from './PaginationNavigationButton/PaginationNavigationButton';\nimport {\n type CustomPaginationPageButtonProps,\n PaginationPageButton,\n} from './PaginationPage/PaginationPageButton';\nimport { PaginationPageEllipsis } from './PaginationPage/PaginationPageEllipsis';\nimport styles from './Pagination.module.css';\n\nexport interface PaginationProps extends Omit<HTMLAttributesWithRootRef<HTMLElement>, 'onChange'> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Декоративный текст для кнопки навигации назад.\n *\n * > Note: Экранные дикторы будут использовать `prevButtonLabel`.\n */\n prevButtonCaption?: string;\n /**\n * Декоративный текст для кнопки навигации вперёд.\n *\n * > Note: Экранные дикторы будут использовать `nextButtonLabel`.\n */\n nextButtonCaption?: string;\n /**\n * Задаёт стиль отображения кнопок навигации.\n *\n * - `icon` – показывать только иконку;\n * - `caption` – показывать только подпись;\n * - `both` – показывать и иконку, и подпись.\n */\n navigationButtonsStyle?: PaginationNavigationButtonProps['style'];\n /**\n * [a11y] Метка для обозначения блока навигации.\n */\n navigationLabel?: string;\n navigationLabelComponent?: HasComponent['Component'];\n /**\n * [a11y] Метка для кнопки навигации назад.\n */\n prevButtonLabel?: string;\n /**\n * [a11y] Метка для кнопки навигации вперёд.\n */\n nextButtonLabel?: string;\n /**\n * [a11y] Функция для переопределения и/или локализации метки кнопки страницы.\n *\n * > Note: По возможности лучше не использовать,\n * так как компонент и так проставляет номер страницы в разметку,\n * что достаточно для пользователей скринридеров.\n * Дополнительная информация скорее будет избыточна,\n * так как будет зачитываться для каждой кнопки при перемещении по списку.\n */\n getPageLabel?: (isCurrent: boolean) => string;\n onChange?: (page: number, event: React.MouseEvent<HTMLElement>) => void;\n /**\n * Функция для кастомного рендера кнопок страниц.\n *\n * > Note: `CustomPaginationPageButtonProps` наследует API [Tappable](https://vkcom.github.io/VKUI/#/Tappable).\n */\n renderPageButton?: (props: CustomPaginationPageButtonProps) => React.ReactNode;\n /**\n Функция для кастомного рендера кнопок навигации `prev` и `next`.\n *\n * > Note: `CustomPaginationNavigationButton` наследует API [Button](https://vkcom.github.io/VKUI/#/Button).\n */\n renderNavigationButton?: (props: CustomPaginationNavigationButton) => React.ReactNode;\n /**\n * Передает атрибут `data-testid` для кнопок страниц\n */\n pageButtonTestId?: (day: PaginationPageType, active: boolean) => string;\n /**\n * Передает атрибут `data-testid` для кнопки `prev`\n */\n prevButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки `next`\n */\n nextButtonTestId?: string;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Pagination\n */\nexport const Pagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n prevButtonCaption = 'Назад',\n nextButtonCaption = 'Вперёд',\n navigationButtonsStyle = 'icon',\n getPageLabel,\n navigationLabel = 'Страницы',\n navigationLabelComponent = 'h2',\n prevButtonLabel = 'Перейти на предыдущую страницу',\n nextButtonLabel = 'Перейти на следующую страницу',\n onChange,\n renderPageButton,\n pageButtonTestId,\n prevButtonTestId,\n nextButtonTestId,\n renderNavigationButton,\n ...resetProps\n}: PaginationProps): React.ReactNode => {\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n const prevPage = isFirstPage ? undefined : currentPage - 1;\n const nextPage = isLastPage ? undefined : currentPage + 1;\n\n const handlePrevClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (onChange && prevPage !== undefined) {\n onChange(prevPage, event);\n }\n },\n [prevPage, onChange],\n );\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || '1';\n onChange?.(Number(page), event);\n },\n [onChange],\n );\n\n const handleNextClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (onChange && nextPage !== undefined) {\n onChange(nextPage, event);\n }\n },\n [nextPage, onChange],\n );\n\n const { sizeY } = useAdaptivity();\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n const isCurrent = page === currentPage;\n const dataTestId = pageButtonTestId?.(page, isCurrent);\n\n switch (page) {\n case 'start-ellipsis':\n case 'end-ellipsis':\n return (\n <li key={page}>\n <PaginationPageEllipsis disabled={disabled} data-testid={dataTestId} />\n </li>\n );\n default: {\n return (\n <li key={page}>\n <PaginationPageButton\n getPageLabel={getPageLabel}\n isCurrent={isCurrent}\n onClick={handleClick}\n disabled={disabled}\n sizeY={sizeY}\n renderPageButton={renderPageButton}\n data-testid={dataTestId}\n >\n {page}\n </PaginationPageButton>\n </li>\n );\n }\n }\n },\n [currentPage, disabled, getPageLabel, handleClick, renderPageButton, sizeY, pageButtonTestId],\n );\n\n const navigationLabelId = React.useId();\n\n return (\n <RootComponent\n Component=\"nav\"\n role=\"navigation\"\n aria-labelledby={navigationLabelId}\n {...resetProps}\n >\n <VisuallyHidden id={navigationLabelId} Component={navigationLabelComponent}>\n {navigationLabel}\n </VisuallyHidden>\n <ul className={styles.list}>\n <li className={styles.prevButtonContainer}>\n <PaginationNavigationButton\n type=\"prev\"\n style={navigationButtonsStyle}\n caption={prevButtonCaption}\n Icon={isRtl ? Icon24ChevronCompactRight : Icon24ChevronCompactLeft}\n a11yLabel={prevButtonLabel}\n disabled={isFirstPage || disabled}\n onClick={handlePrevClick}\n data-page={prevPage}\n data-testid={prevButtonTestId}\n renderNavigationButton={renderNavigationButton}\n />\n </li>\n {pages.map(renderPages)}\n <li className={styles.nextButtonContainer}>\n <PaginationNavigationButton\n type=\"next\"\n style={navigationButtonsStyle}\n caption={nextButtonCaption}\n Icon={isRtl ? Icon24ChevronCompactLeft : Icon24ChevronCompactRight}\n a11yLabel={nextButtonLabel}\n disabled={isLastPage || disabled}\n onClick={handleNextClick}\n data-page={nextPage}\n data-testid={nextButtonTestId}\n renderNavigationButton={renderNavigationButton}\n />\n </li>\n </ul>\n </RootComponent>\n );\n};\n"],"names":["React","Icon24ChevronCompactLeft","Icon24ChevronCompactRight","useAdaptivity","useConfigDirection","usePagination","RootComponent","VisuallyHidden","PaginationNavigationButton","PaginationPageButton","PaginationPageEllipsis","styles","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","prevButtonCaption","nextButtonCaption","navigationButtonsStyle","getPageLabel","navigationLabel","navigationLabelComponent","prevButtonLabel","nextButtonLabel","onChange","renderPageButton","pageButtonTestId","prevButtonTestId","nextButtonTestId","renderNavigationButton","resetProps","direction","isRtl","pages","isFirstPage","isLastPage","prevPage","undefined","nextPage","handlePrevClick","useCallback","event","handleClick","page","currentTarget","dataset","Number","handleNextClick","sizeY","renderPages","isCurrent","dataTestId","li","data-testid","onClick","navigationLabelId","useId","Component","role","aria-labelledby","id","ul","className","list","prevButtonContainer","type","style","caption","Icon","a11yLabel","data-page","map","nextButtonContainer"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  .list {
2
2
  display: flex;
3
- margin: 0;
4
3
  padding: 0;
4
+ margin: 0;
5
5
  list-style-type: none;
6
6
  }
7
7
 
@@ -1,19 +1,19 @@
1
1
  /* Page styles */
2
2
  .host {
3
3
  box-sizing: border-box;
4
- padding-inline: 8px;
4
+ display: block;
5
5
  inline-size: 100%;
6
6
  min-inline-size: 40px;
7
- border-radius: var(--vkui--size_border_radius--regular);
8
- text-align: center;
7
+ block-size: var(--vkui--size_button_large_height--regular);
8
+ padding-inline: 8px;
9
+ line-height: var(--vkui--size_button_large_height--regular);
9
10
  color: var(--vkui--color_text_secondary);
11
+ text-align: center;
12
+ text-decoration: none;
10
13
  -webkit-user-select: none;
11
14
  -moz-user-select: none;
12
15
  user-select: none;
13
- block-size: var(--vkui--size_button_large_height--regular);
14
- line-height: var(--vkui--size_button_large_height--regular);
15
- display: block;
16
- text-decoration: none;
16
+ border-radius: var(--vkui--size_border_radius--regular);
17
17
  }
18
18
  .stateHover {
19
19
  background-color: var(--vkui--color_transparent--hover);
@@ -27,13 +27,13 @@
27
27
  opacity: var(--vkui--opacity_disable);
28
28
  }
29
29
  .sizeYCompact {
30
- line-height: var(--vkui--size_button_large_height--compact);
31
30
  block-size: var(--vkui--size_button_large_height--compact);
31
+ line-height: var(--vkui--size_button_large_height--compact);
32
32
  }
33
33
  @media (pointer: fine) and (min-width: 768px),(max-height: 414.9px) {
34
34
  .sizeYNone {
35
- line-height: var(--vkui--size_button_large_height--compact);
36
35
  block-size: var(--vkui--size_button_large_height--compact);
36
+ line-height: var(--vkui--size_button_large_height--compact);
37
37
  }
38
38
  }
39
39
  .typeEllipsis {
@@ -7,19 +7,19 @@
7
7
  .in {
8
8
  position: relative;
9
9
  box-sizing: border-box;
10
- inline-size: 100%;
11
- min-block-size: 100%;
12
10
  display: flex;
13
11
  flex-direction: column;
12
+ inline-size: 100%;
13
+ min-block-size: 100%;
14
14
  }
15
15
 
16
16
  .centered {
17
+ box-sizing: border-box;
17
18
  display: flex;
18
19
  flex: 1 0;
19
20
  flex-direction: column;
20
21
  align-items: center;
21
22
  justify-content: center;
22
- box-sizing: border-box;
23
23
  }
24
24
 
25
25
  /* stylelint-disable selector-max-universal */