@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 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../../hooks/useAdaptivityHasPointer';\nimport { useColorScheme } from '../../../hooks/useColorScheme';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../../hooks/useFocusVisibleClassName';\nimport { clickByKeyboardHandler } from '../../../lib/utils';\nimport { ImageBaseContext } from '../context';\nimport { validateOverlayIcon } from '../validators';\nimport { useNonInteractiveOverlayProps } from './hooks';\nimport type {\n ImageBaseOverlayInteractiveProps,\n ImageBaseOverlayNonInteractiveProps,\n} from './types';\nimport styles from './ImageBaseOverlay.module.css';\n\nfunction DevelopmentCheck({ children }: Pick<ImageBaseOverlayInteractiveProps, 'children'>) {\n const { size } = React.useContext(ImageBaseContext);\n\n if (process.env.NODE_ENV === 'development') {\n if (children) {\n validateOverlayIcon(size, { name: 'children', value: children });\n }\n }\n\n return null;\n}\n\nexport type ImageBaseOverlayProps =\n | ImageBaseOverlayInteractiveProps\n | ImageBaseOverlayNonInteractiveProps;\n\nconst ImageBaseOverlayInteractive = ({\n children,\n className,\n getRootRef,\n overlayShown,\n ...restProps\n}: ImageBaseOverlayInteractiveProps & { overlayShown?: boolean }) => {\n const { focusVisible, ...focusEvents } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible, mode: 'inside' });\n\n return (\n <>\n <div\n {...restProps}\n tabIndex={0}\n role=\"button\"\n className={classNames(\n styles.clickable,\n (focusVisible || overlayShown) && styles.visible,\n focusVisibleClassNames,\n className,\n )}\n ref={getRootRef}\n onKeyDown={clickByKeyboardHandler}\n {...focusEvents}\n >\n {children}\n </div>\n {process.env.NODE_ENV === 'development' && <DevelopmentCheck>{children}</DevelopmentCheck>}\n </>\n );\n};\n\nconst ImageBaseOverlayNonInteractive = ({\n className,\n getRootRef,\n overlayShown: overlayShownProps,\n ...restProps\n}: ImageBaseOverlayNonInteractiveProps & { overlayShown?: boolean }) => {\n const rootRef = useExternRef(getRootRef);\n const { shown: overlayShown, onClick: onOverlayClick } = useNonInteractiveOverlayProps(rootRef);\n\n return (\n <div\n {...restProps}\n ref={rootRef}\n className={classNames((overlayShown || overlayShownProps) && styles.visible, className)}\n onClick={onOverlayClick}\n />\n );\n};\n\n/**\n * Оверлей над картинкой.\n */\nexport const ImageBaseOverlay: React.FC<ImageBaseOverlayProps> = ({\n className,\n theme: themeProp,\n visibility: visibilityProp,\n ...restProps\n}: ImageBaseOverlayProps) => {\n const colorScheme = useColorScheme();\n const hasPointer = useAdaptivityHasPointer();\n const theme = themeProp ?? colorScheme;\n const visibility = visibilityProp ?? (hasPointer ? 'on-hover' : 'always');\n\n const commonClassNames = classNames(\n styles.host,\n theme === 'light' && styles.themeLight,\n theme === 'dark' && styles.themeDark,\n className,\n );\n\n const commonProps = {\n className: commonClassNames,\n overlayShown: visibility === 'always',\n };\n\n // Не делаем деструктуризацию пропа, потому что Typescript не вывозит\n if (!restProps.onClick) {\n return <ImageBaseOverlayNonInteractive {...restProps} {...commonProps} />;\n }\n\n return <ImageBaseOverlayInteractive {...restProps} {...commonProps} />;\n};\n\nImageBaseOverlay.displayName = 'ImageBaseOverlay';\n"],"names":["React","classNames","useAdaptivityHasPointer","useColorScheme","useExternRef","useFocusVisible","useFocusVisibleClassName","clickByKeyboardHandler","ImageBaseContext","validateOverlayIcon","useNonInteractiveOverlayProps","styles","DevelopmentCheck","children","size","useContext","process","env","NODE_ENV","name","value","ImageBaseOverlayInteractive","className","getRootRef","overlayShown","restProps","focusVisible","focusEvents","focusVisibleClassNames","mode","div","tabIndex","role","clickable","visible","ref","onKeyDown","ImageBaseOverlayNonInteractive","overlayShownProps","rootRef","shown","onClick","onOverlayClick","ImageBaseOverlay","theme","themeProp","visibility","visibilityProp","colorScheme","hasPointer","commonClassNames","host","themeLight","themeDark","commonProps","displayName"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,uBAAuB,QAAQ,4CAAyC;AACjF,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,SAASC,eAAe,QAAQ,oCAAiC;AACjE,SAASC,wBAAwB,QAAQ,6CAA0C;AACnF,SAASC,sBAAsB,QAAQ,wBAAqB;AAC5D,SAASC,gBAAgB,QAAQ,gBAAa;AAC9C,SAASC,mBAAmB,QAAQ,mBAAgB;AACpD,SAASC,6BAA6B,QAAQ,aAAU;AAKxD,OAAOC,YAAY,gCAAgC;AAEnD,SAASC,iBAAiB,EAAEC,QAAQ,EAAsD;IACxF,MAAM,EAAEC,IAAI,EAAE,GAAGd,MAAMe,UAAU,CAACP;IAElC,IAAIQ,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,IAAIL,UAAU;YACZJ,oBAAoBK,MAAM;gBAAEK,MAAM;gBAAYC,OAAOP;YAAS;QAChE;IACF;IAEA,OAAO;AACT;AAMA,MAAMQ,8BAA8B,CAAC,EACnCR,QAAQ,EACRS,SAAS,EACTC,UAAU,EACVC,YAAY,EACZ,GAAGC,WAC2D;IAC9D,MAAM,EAAEC,YAAY,EAAE,GAAGC,aAAa,GAAGtB;IACzC,MAAMuB,yBAAyBtB,yBAAyB;QAAEoB;QAAcG,MAAM;IAAS;IAEvF,qBACE;;0BACE,KAACC;gBACE,GAAGL,SAAS;gBACbM,UAAU;gBACVC,MAAK;gBACLV,WAAWrB,WACTU,OAAOsB,SAAS,EAChB,AAACP,CAAAA,gBAAgBF,YAAW,KAAMb,OAAOuB,OAAO,EAChDN,wBACAN;gBAEFa,KAAKZ;gBACLa,WAAW7B;gBACV,GAAGoB,WAAW;0BAEdd;;YAEFG,QAAQC,GAAG,CAACC,QAAQ,KAAK,+BAAiB,KAACN;0BAAkBC;;;;AAGpE;AAEA,MAAMwB,iCAAiC,CAAC,EACtCf,SAAS,EACTC,UAAU,EACVC,cAAcc,iBAAiB,EAC/B,GAAGb,WAC8D;IACjE,MAAMc,UAAUnC,aAAamB;IAC7B,MAAM,EAAEiB,OAAOhB,YAAY,EAAEiB,SAASC,cAAc,EAAE,GAAGhC,8BAA8B6B;IAEvF,qBACE,KAACT;QACE,GAAGL,SAAS;QACbU,KAAKI;QACLjB,WAAWrB,WAAW,AAACuB,CAAAA,gBAAgBc,iBAAgB,KAAM3B,OAAOuB,OAAO,EAAEZ;QAC7EmB,SAASC;;AAGf;AAEA;;CAEC,GACD,OAAO,MAAMC,mBAAoD,CAAC,EAChErB,SAAS,EACTsB,OAAOC,SAAS,EAChBC,YAAYC,cAAc,EAC1B,GAAGtB,WACmB;IACtB,MAAMuB,cAAc7C;IACpB,MAAM8C,aAAa/C;IACnB,MAAM0C,QAAQC,aAAaG;IAC3B,MAAMF,aAAaC,kBAAmBE,CAAAA,aAAa,aAAa,QAAO;IAEvE,MAAMC,mBAAmBjD,WACvBU,OAAOwC,IAAI,EACXP,UAAU,WAAWjC,OAAOyC,UAAU,EACtCR,UAAU,UAAUjC,OAAO0C,SAAS,EACpC/B;IAGF,MAAMgC,cAAc;QAClBhC,WAAW4B;QACX1B,cAAcsB,eAAe;IAC/B;IAEA,qEAAqE;IACrE,IAAI,CAACrB,UAAUgB,OAAO,EAAE;QACtB,qBAAO,KAACJ;YAAgC,GAAGZ,SAAS;YAAG,GAAG6B,WAAW;;IACvE;IAEA,qBAAO,KAACjC;QAA6B,GAAGI,SAAS;QAAG,GAAG6B,WAAW;;AACpE,EAAE;AAEFX,iBAAiBY,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useColorScheme } from '../../../hooks/useColorScheme';\nimport { useExternRef } from '../../../hooks/useExternRef';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../../hooks/useFocusVisibleClassName';\nimport { clickByKeyboardHandler } from '../../../lib/utils';\nimport { ImageBaseContext } from '../context';\nimport { validateOverlayIcon } from '../validators';\nimport { useCalculatedDefaultVisibility, useNonInteractiveOverlayProps } from './hooks';\nimport type {\n ImageBaseOverlayInteractiveProps,\n ImageBaseOverlayNonInteractiveProps,\n} from './types';\nimport styles from './ImageBaseOverlay.module.css';\n\nfunction DevelopmentCheck({ children }: Pick<ImageBaseOverlayInteractiveProps, 'children'>) {\n const { size } = React.useContext(ImageBaseContext);\n\n if (process.env.NODE_ENV === 'development') {\n if (children) {\n validateOverlayIcon(size, { name: 'children', value: children });\n }\n }\n\n return null;\n}\n\nexport type ImageBaseOverlayProps =\n | ImageBaseOverlayInteractiveProps\n | ImageBaseOverlayNonInteractiveProps;\n\nconst ImageBaseOverlayInteractive = ({\n children,\n className,\n getRootRef,\n overlayShown,\n ...restProps\n}: ImageBaseOverlayInteractiveProps & { overlayShown?: boolean }) => {\n const { focusVisible, ...focusEvents } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible, mode: 'inside' });\n\n return (\n <>\n <div\n {...restProps}\n tabIndex={0}\n role=\"button\"\n className={classNames(\n styles.clickable,\n (focusVisible || overlayShown) && styles.visible,\n focusVisibleClassNames,\n className,\n )}\n ref={getRootRef}\n onKeyDown={clickByKeyboardHandler}\n {...focusEvents}\n >\n {children}\n </div>\n {process.env.NODE_ENV === 'development' && <DevelopmentCheck>{children}</DevelopmentCheck>}\n </>\n );\n};\n\nconst ImageBaseOverlayNonInteractive = ({\n className,\n getRootRef,\n overlayShown: overlayShownProps,\n ...restProps\n}: ImageBaseOverlayNonInteractiveProps & { overlayShown?: boolean }) => {\n const rootRef = useExternRef(getRootRef);\n const { shown: overlayShown, onClick: onOverlayClick } = useNonInteractiveOverlayProps(rootRef);\n\n return (\n <div\n {...restProps}\n ref={rootRef}\n className={classNames((overlayShown || overlayShownProps) && styles.visible, className)}\n onClick={onOverlayClick}\n />\n );\n};\n\n/**\n * Оверлей над картинкой.\n */\nexport const ImageBaseOverlay: React.FC<ImageBaseOverlayProps> = ({\n className,\n theme: themeProp,\n visibility: visibilityProp,\n ...restProps\n}: ImageBaseOverlayProps) => {\n const colorScheme = useColorScheme();\n\n const theme = themeProp ?? colorScheme;\n\n const commonClassNames = classNames(\n styles.host,\n theme === 'light' && styles.themeLight,\n theme === 'dark' && styles.themeDark,\n className,\n );\n\n const defaultVisibility = useCalculatedDefaultVisibility();\n const visibility = visibilityProp ?? defaultVisibility;\n\n const commonProps = {\n className: commonClassNames,\n overlayShown: visibility === 'always',\n };\n\n // Не делаем деструктуризацию пропа, потому что Typescript не вывозит\n if (!restProps.onClick) {\n return <ImageBaseOverlayNonInteractive {...restProps} {...commonProps} />;\n }\n\n return <ImageBaseOverlayInteractive {...restProps} {...commonProps} />;\n};\n\nImageBaseOverlay.displayName = 'ImageBaseOverlay';\n"],"names":["React","classNames","useColorScheme","useExternRef","useFocusVisible","useFocusVisibleClassName","clickByKeyboardHandler","ImageBaseContext","validateOverlayIcon","useCalculatedDefaultVisibility","useNonInteractiveOverlayProps","styles","DevelopmentCheck","children","size","useContext","process","env","NODE_ENV","name","value","ImageBaseOverlayInteractive","className","getRootRef","overlayShown","restProps","focusVisible","focusEvents","focusVisibleClassNames","mode","div","tabIndex","role","clickable","visible","ref","onKeyDown","ImageBaseOverlayNonInteractive","overlayShownProps","rootRef","shown","onClick","onOverlayClick","ImageBaseOverlay","theme","themeProp","visibility","visibilityProp","colorScheme","commonClassNames","host","themeLight","themeDark","defaultVisibility","commonProps","displayName"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,SAASC,eAAe,QAAQ,oCAAiC;AACjE,SAASC,wBAAwB,QAAQ,6CAA0C;AACnF,SAASC,sBAAsB,QAAQ,wBAAqB;AAC5D,SAASC,gBAAgB,QAAQ,gBAAa;AAC9C,SAASC,mBAAmB,QAAQ,mBAAgB;AACpD,SAASC,8BAA8B,EAAEC,6BAA6B,QAAQ,aAAU;AAKxF,OAAOC,YAAY,gCAAgC;AAEnD,SAASC,iBAAiB,EAAEC,QAAQ,EAAsD;IACxF,MAAM,EAAEC,IAAI,EAAE,GAAGd,MAAMe,UAAU,CAACR;IAElC,IAAIS,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,IAAIL,UAAU;YACZL,oBAAoBM,MAAM;gBAAEK,MAAM;gBAAYC,OAAOP;YAAS;QAChE;IACF;IAEA,OAAO;AACT;AAMA,MAAMQ,8BAA8B,CAAC,EACnCR,QAAQ,EACRS,SAAS,EACTC,UAAU,EACVC,YAAY,EACZ,GAAGC,WAC2D;IAC9D,MAAM,EAAEC,YAAY,EAAE,GAAGC,aAAa,GAAGvB;IACzC,MAAMwB,yBAAyBvB,yBAAyB;QAAEqB;QAAcG,MAAM;IAAS;IAEvF,qBACE;;0BACE,KAACC;gBACE,GAAGL,SAAS;gBACbM,UAAU;gBACVC,MAAK;gBACLV,WAAWrB,WACTU,OAAOsB,SAAS,EAChB,AAACP,CAAAA,gBAAgBF,YAAW,KAAMb,OAAOuB,OAAO,EAChDN,wBACAN;gBAEFa,KAAKZ;gBACLa,WAAW9B;gBACV,GAAGqB,WAAW;0BAEdd;;YAEFG,QAAQC,GAAG,CAACC,QAAQ,KAAK,+BAAiB,KAACN;0BAAkBC;;;;AAGpE;AAEA,MAAMwB,iCAAiC,CAAC,EACtCf,SAAS,EACTC,UAAU,EACVC,cAAcc,iBAAiB,EAC/B,GAAGb,WAC8D;IACjE,MAAMc,UAAUpC,aAAaoB;IAC7B,MAAM,EAAEiB,OAAOhB,YAAY,EAAEiB,SAASC,cAAc,EAAE,GAAGhC,8BAA8B6B;IAEvF,qBACE,KAACT;QACE,GAAGL,SAAS;QACbU,KAAKI;QACLjB,WAAWrB,WAAW,AAACuB,CAAAA,gBAAgBc,iBAAgB,KAAM3B,OAAOuB,OAAO,EAAEZ;QAC7EmB,SAASC;;AAGf;AAEA;;CAEC,GACD,OAAO,MAAMC,mBAAoD,CAAC,EAChErB,SAAS,EACTsB,OAAOC,SAAS,EAChBC,YAAYC,cAAc,EAC1B,GAAGtB,WACmB;IACtB,MAAMuB,cAAc9C;IAEpB,MAAM0C,QAAQC,aAAaG;IAE3B,MAAMC,mBAAmBhD,WACvBU,OAAOuC,IAAI,EACXN,UAAU,WAAWjC,OAAOwC,UAAU,EACtCP,UAAU,UAAUjC,OAAOyC,SAAS,EACpC9B;IAGF,MAAM+B,oBAAoB5C;IAC1B,MAAMqC,aAAaC,kBAAkBM;IAErC,MAAMC,cAAc;QAClBhC,WAAW2B;QACXzB,cAAcsB,eAAe;IAC/B;IAEA,qEAAqE;IACrE,IAAI,CAACrB,UAAUgB,OAAO,EAAE;QACtB,qBAAO,KAACJ;YAAgC,GAAGZ,SAAS;YAAG,GAAG6B,WAAW;;IACvE;IAEA,qBAAO,KAACjC;QAA6B,GAAGI,SAAS;QAAG,GAAG6B,WAAW;;AACpE,EAAE;AAEFX,iBAAiBY,WAAW,GAAG"}
@@ -1,12 +1,12 @@
1
1
  .host {
2
2
  position: absolute;
3
- z-index: var(--vkui_internal--z_index_image_base_overlay);
4
3
  inset-block-start: 0;
5
4
  inset-inline-start: 0;
5
+ z-index: var(--vkui_internal--z_index_image_base_overlay);
6
+ box-sizing: border-box;
6
7
  display: flex;
7
8
  align-items: center;
8
9
  justify-content: center;
9
- box-sizing: border-box;
10
10
  inline-size: 100%;
11
11
  block-size: 100%;
12
12
  border: 0;
@@ -1,5 +1,8 @@
1
1
  import * as React from "react";
2
+ import { hasMouse as hasPointerLib } from "@vkontakte/vkjs";
3
+ import { useAdaptivity } from "../../../hooks/useAdaptivity.js";
2
4
  import { useFocusWithin } from "../../../hooks/useFocusWithin.js";
5
+ import { useIsClient } from "../../../hooks/useIsClient.js";
3
6
  import { useIsomorphicLayoutEffect } from "../../../lib/useIsomorphicLayoutEffect.js";
4
7
  export function useNonInteractiveOverlayProps(rootRef) {
5
8
  const focusWithin = useFocusWithin(rootRef);
@@ -22,5 +25,27 @@ export function useNonInteractiveOverlayProps(rootRef) {
22
25
  onClick
23
26
  };
24
27
  }
28
+ /*
29
+ * Определям значение по умолчанию для свойства visibility.
30
+ *
31
+ * Задача состоит в том, чтобы правильно рендерить Overlay.
32
+ * Для устройств с мышкой, мы можем показывать его по наведению,
33
+ * а для остальных устройств он должен быть виден всегда.
34
+ *
35
+ * Задача в том, чтобы избежать проблем при гидратации,
36
+ * и отложить использование значения `always`, пока мы точно не уверены, что у пользоватея действительно нет мышки.
37
+ * Иначе Overlay при первом рендере может показаться, а потом исчезнуть.
38
+ *
39
+ * Основано на хуке `useAdaptivityHasPointer`, но если при первом рендере мы точно не знаем значения hasPointer, то возвращаем `on-hover`.
40
+ * */ export function useCalculatedDefaultVisibility() {
41
+ const { hasPointer: hasPointerContext } = useAdaptivity();
42
+ const needTwoPassRendering = hasPointerContext === undefined;
43
+ const isClient = useIsClient(!needTwoPassRendering);
44
+ if (!isClient && hasPointerContext === undefined) {
45
+ return 'on-hover';
46
+ }
47
+ const hasPointer = hasPointerContext ?? hasPointerLib;
48
+ return hasPointer ? 'on-hover' : 'always';
49
+ }
25
50
 
26
51
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ImageBase/ImageBaseOverlay/hooks.ts"],"sourcesContent":["import * as React from 'react';\nimport { useFocusWithin } from '../../../hooks/useFocusWithin';\nimport { useIsomorphicLayoutEffect } from '../../../lib/useIsomorphicLayoutEffect';\n\nexport function useNonInteractiveOverlayProps(rootRef: React.RefObject<HTMLElement | null>) {\n const focusWithin = useFocusWithin(rootRef);\n const [nonInteractiveFocusShown, setNonInteractiveFocusShown] = React.useState(false);\n\n function onClick(event: React.MouseEvent) {\n if (event.detail > 0) {\n // Если мы попали на вложенный в оверлей элемент через focus,\n // то при клике мышкой мы должны начать реагировать на hover-состояние,\n // даже если фокус всё ещё остался на вложенном элементе (был по нему клик)\n setNonInteractiveFocusShown(false);\n }\n }\n\n useIsomorphicLayoutEffect(() => {\n setNonInteractiveFocusShown(focusWithin);\n }, [focusWithin]);\n\n return {\n shown: nonInteractiveFocusShown && focusWithin,\n onClick,\n };\n}\n"],"names":["React","useFocusWithin","useIsomorphicLayoutEffect","useNonInteractiveOverlayProps","rootRef","focusWithin","nonInteractiveFocusShown","setNonInteractiveFocusShown","useState","onClick","event","detail","shown"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,yBAAyB,QAAQ,4CAAyC;AAEnF,OAAO,SAASC,8BAA8BC,OAA4C;IACxF,MAAMC,cAAcJ,eAAeG;IACnC,MAAM,CAACE,0BAA0BC,4BAA4B,GAAGP,MAAMQ,QAAQ,CAAC;IAE/E,SAASC,QAAQC,KAAuB;QACtC,IAAIA,MAAMC,MAAM,GAAG,GAAG;YACpB,6DAA6D;YAC7D,uEAAuE;YACvE,2EAA2E;YAC3EJ,4BAA4B;QAC9B;IACF;IAEAL,0BAA0B;QACxBK,4BAA4BF;IAC9B,GAAG;QAACA;KAAY;IAEhB,OAAO;QACLO,OAAON,4BAA4BD;QACnCI;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../src/components/ImageBase/ImageBaseOverlay/hooks.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as hasPointerLib } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useFocusWithin } from '../../../hooks/useFocusWithin';\nimport { useIsClient } from '../../../hooks/useIsClient';\nimport { useIsomorphicLayoutEffect } from '../../../lib/useIsomorphicLayoutEffect';\n\nexport function useNonInteractiveOverlayProps(rootRef: React.RefObject<HTMLElement | null>) {\n const focusWithin = useFocusWithin(rootRef);\n const [nonInteractiveFocusShown, setNonInteractiveFocusShown] = React.useState(false);\n\n function onClick(event: React.MouseEvent) {\n if (event.detail > 0) {\n // Если мы попали на вложенный в оверлей элемент через focus,\n // то при клике мышкой мы должны начать реагировать на hover-состояние,\n // даже если фокус всё ещё остался на вложенном элементе (был по нему клик)\n setNonInteractiveFocusShown(false);\n }\n }\n\n useIsomorphicLayoutEffect(() => {\n setNonInteractiveFocusShown(focusWithin);\n }, [focusWithin]);\n\n return {\n shown: nonInteractiveFocusShown && focusWithin,\n onClick,\n };\n}\n\n/*\n * Определям значение по умолчанию для свойства visibility.\n *\n * Задача состоит в том, чтобы правильно рендерить Overlay.\n * Для устройств с мышкой, мы можем показывать его по наведению,\n * а для остальных устройств он должен быть виден всегда.\n *\n * Задача в том, чтобы избежать проблем при гидратации,\n * и отложить использование значения `always`, пока мы точно не уверены, что у пользоватея действительно нет мышки.\n * Иначе Overlay при первом рендере может показаться, а потом исчезнуть.\n *\n * Основано на хуке `useAdaptivityHasPointer`, но если при первом рендере мы точно не знаем значения hasPointer, то возвращаем `on-hover`.\n * */\nexport function useCalculatedDefaultVisibility() {\n const { hasPointer: hasPointerContext } = useAdaptivity();\n\n const needTwoPassRendering = hasPointerContext === undefined;\n const isClient = useIsClient(!needTwoPassRendering);\n\n if (!isClient && hasPointerContext === undefined) {\n return 'on-hover';\n }\n\n const hasPointer = hasPointerContext ?? hasPointerLib;\n\n return hasPointer ? 'on-hover' : 'always';\n}\n"],"names":["React","hasMouse","hasPointerLib","useAdaptivity","useFocusWithin","useIsClient","useIsomorphicLayoutEffect","useNonInteractiveOverlayProps","rootRef","focusWithin","nonInteractiveFocusShown","setNonInteractiveFocusShown","useState","onClick","event","detail","shown","useCalculatedDefaultVisibility","hasPointer","hasPointerContext","needTwoPassRendering","undefined","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,aAAa,QAAQ,kBAAkB;AAC5D,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,WAAW,QAAQ,gCAA6B;AACzD,SAASC,yBAAyB,QAAQ,4CAAyC;AAEnF,OAAO,SAASC,8BAA8BC,OAA4C;IACxF,MAAMC,cAAcL,eAAeI;IACnC,MAAM,CAACE,0BAA0BC,4BAA4B,GAAGX,MAAMY,QAAQ,CAAC;IAE/E,SAASC,QAAQC,KAAuB;QACtC,IAAIA,MAAMC,MAAM,GAAG,GAAG;YACpB,6DAA6D;YAC7D,uEAAuE;YACvE,2EAA2E;YAC3EJ,4BAA4B;QAC9B;IACF;IAEAL,0BAA0B;QACxBK,4BAA4BF;IAC9B,GAAG;QAACA;KAAY;IAEhB,OAAO;QACLO,OAAON,4BAA4BD;QACnCI;IACF;AACF;AAEA;;;;;;;;;;;;GAYG,GACH,OAAO,SAASI;IACd,MAAM,EAAEC,YAAYC,iBAAiB,EAAE,GAAGhB;IAE1C,MAAMiB,uBAAuBD,sBAAsBE;IACnD,MAAMC,WAAWjB,YAAY,CAACe;IAE9B,IAAI,CAACE,YAAYH,sBAAsBE,WAAW;QAChD,OAAO;IACT;IAEA,MAAMH,aAAaC,qBAAqBjB;IAExC,OAAOgB,aAAa,aAAa;AACnC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ImageBase/ImageBaseOverlay/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { HasRootRef } from '../../../types';\nimport type { ImageBaseExpectedIconProps } from '../types';\n\nexport interface ImageBaseOverlayCommonProps\n extends React.AriaAttributes,\n HasRootRef<HTMLDivElement> {\n /**\n * Задаёт тему оформления.\n *\n * > По умолчанию берётся из параметра `appearance` в `ConfigProvider`.\n */\n theme?: 'dark' | 'light';\n /**\n * Определяет каким образом должен показываться оверлей.\n *\n * - `\"on-hover\"` – на наведение указателя мыши.\n * - `\"always\"` – всегда показывать.\n *\n * > По умолчанию определяется в зависимости от того, есть ли у пользователя мышь или нет.\n */\n visibility?: 'on-hover' | 'always';\n className?: string;\n}\n\nexport interface ImageBaseOverlayInteractiveProps extends ImageBaseOverlayCommonProps {\n /**\n * Обработчик взаимодействия с элементом.\n */\n onClick: React.MouseEventHandler<HTMLElement>;\n /**\n * Принимает иконку.\n *\n *\n * > 📝 Нужный для `<ImageBase size={...} />` размер можно узнать из функции `getOverlayIconSizeByImageBaseSize()`.\n *\n * > Предпочтительней использовать иконки из `@vkontakte/icons`.\n *\n * > 📊️ Если вы хотите передать кастомную иконку, то следует именовать её по шаблону `Icon<size><name>`. Или же\n * > чтобы в неё был передан параметр `width`. Тогда мы сможем выводить в консоль подсказку правильного ли размера вы\n * > использовали иконку.\n */\n children: React.ReactElement<ImageBaseExpectedIconProps>;\n}\n\nexport interface ImageBaseOverlayNonInteractiveProps extends ImageBaseOverlayCommonProps {\n /**\n * По умолчанию сам компонент является интерактивным элементом. Передав значение равное `'undefined'` или не передав этот параметр вовсе, можно отключить\n * такое поведение, что дает возможность передавать отдельные интерактивные элементы в `children`.\n */\n onClick?: undefined;\n children: React.ReactNode;\n}\n"],"names":[],"mappings":"AA6CA,WAOC"}
1
+ {"version":3,"sources":["../../../../../src/components/ImageBase/ImageBaseOverlay/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { HasRootRef } from '../../../types';\nimport type { ImageBaseExpectedIconProps } from '../types';\n\nexport interface ImageBaseOverlayCommonProps\n extends React.AriaAttributes,\n HasRootRef<HTMLDivElement> {\n /**\n * Задаёт тему оформления.\n *\n * > По умолчанию берётся из параметра `appearance` в `ConfigProvider`.\n */\n theme?: 'dark' | 'light';\n /**\n * Определяет каким образом должен показываться оверлей.\n *\n * - `\"on-hover\"` – на наведение указателя мыши.\n * - `\"always\"` – всегда показывать.\n *\n * > По умолчанию определяется в зависимости от того, есть ли у пользователя мышь или нет.\n * > Определение просиходит с помощью двойного рендера, так что на устройствах без мыши\n * > оверлей покажется не раньше второго рендера.\n * > Если это критично (например при SSR), то старайтесь явно указывать значение `visibility`, либо используйте\n * > [AdaptivityProvider](#/AdaptivityProvider) для того, чтобы явно определить `hasPointer`.\n */\n visibility?: 'on-hover' | 'always';\n className?: string;\n}\n\nexport interface ImageBaseOverlayInteractiveProps extends ImageBaseOverlayCommonProps {\n /**\n * Обработчик взаимодействия с элементом.\n */\n onClick: React.MouseEventHandler<HTMLElement>;\n /**\n * Принимает иконку.\n *\n *\n * > 📝 Нужный для `<ImageBase size={...} />` размер можно узнать из функции `getOverlayIconSizeByImageBaseSize()`.\n *\n * > Предпочтительней использовать иконки из `@vkontakte/icons`.\n *\n * > 📊️ Если вы хотите передать кастомную иконку, то следует именовать её по шаблону `Icon<size><name>`. Или же\n * > чтобы в неё был передан параметр `width`. Тогда мы сможем выводить в консоль подсказку правильного ли размера вы\n * > использовали иконку.\n */\n children: React.ReactElement<ImageBaseExpectedIconProps>;\n}\n\nexport interface ImageBaseOverlayNonInteractiveProps extends ImageBaseOverlayCommonProps {\n /**\n * По умолчанию сам компонент является интерактивным элементом. Передав значение равное `'undefined'` или не передав этот параметр вовсе, можно отключить\n * такое поведение, что дает возможность передавать отдельные интерактивные элементы в `children`.\n */\n onClick?: undefined;\n children: React.ReactNode;\n}\n"],"names":[],"mappings":"AAiDA,WAOC"}
@@ -1,17 +1,17 @@
1
1
  .host {
2
+ overflow: hidden;
3
+ text-overflow: ellipsis;
2
4
  -webkit-user-select: text;
3
5
  -moz-user-select: text;
4
6
  user-select: text;
5
- text-overflow: ellipsis;
6
- overflow: hidden;
7
7
  }
8
8
 
9
9
  .header {
10
10
  display: block;
11
11
  -webkit-margin-after: 2px;
12
12
  margin-block-end: 2px;
13
- color: var(--vkui--color_text_subhead);
14
13
  overflow: hidden;
15
14
  text-overflow: ellipsis;
15
+ color: var(--vkui--color_text_subhead);
16
16
  white-space: nowrap;
17
17
  }
@@ -1,7 +1,7 @@
1
1
  .host {
2
2
  position: relative;
3
- line-height: 20px;
4
3
  font-size: 16px;
4
+ line-height: 20px;
5
5
  }
6
6
 
7
7
  .alignCenter .el {
@@ -15,13 +15,13 @@
15
15
  .el {
16
16
  position: relative;
17
17
  z-index: var(--vkui_internal--z_index_form_field_element);
18
- padding-block: 0;
19
- padding-inline: 12px;
18
+ box-sizing: border-box;
20
19
  inline-size: 100%;
21
20
  block-size: var(--vkui--size_field_height--regular);
22
- box-sizing: border-box;
23
- border-radius: inherit;
21
+ padding-block: 0;
22
+ padding-inline: 12px;
24
23
  color: var(--vkui--color_text_primary);
24
+ border-radius: inherit;
25
25
  }
26
26
 
27
27
  .sizeYCompact .el {
@@ -4,12 +4,12 @@
4
4
  }
5
5
 
6
6
  .mask::after {
7
- content: '';
8
7
  position: absolute;
9
- inline-size: calc(100% - 0.1em);
10
- block-size: 1px;
11
8
  inset-block-end: 0;
12
9
  inset-inline-start: 0;
10
+ inline-size: calc(100% - 0.1em);
11
+ block-size: 1px;
12
+ content: '';
13
13
  -webkit-border-after: solid 1px var(--vkui--color_text_secondary);
14
14
  border-block-end: solid 1px var(--vkui--color_text_secondary);
15
15
  }
@@ -1,15 +1,15 @@
1
1
  .host {
2
- color: var(--vkui_internal--link-color, var(--vkui--color_text_link));
3
- border: 0;
4
- background: none;
5
- margin: 0;
2
+ display: inline;
6
3
  padding: 0;
4
+ margin: 0;
5
+ font-family: inherit;
7
6
  font-size: inherit;
8
7
  font-weight: inherit;
9
- font-family: inherit;
10
8
  line-height: inherit;
9
+ color: var(--vkui_internal--link-color, var(--vkui--color_text_link));
11
10
  text-align: inherit;
12
- display: inline;
11
+ background: none;
12
+ border: 0;
13
13
  border-radius: 0;
14
14
  }
15
15
 
@@ -1,8 +1,8 @@
1
1
  .host {
2
- border-radius: 4px;
3
2
  padding: 2px;
4
3
  margin: -2px;
4
+ color: inherit;
5
5
  /* Перебиваем значения браузера */
6
6
  background-color: var(--vkui--color_background_accent_themed_alpha);
7
- color: inherit;
7
+ border-radius: 4px;
8
8
  }
@@ -16,11 +16,11 @@
16
16
  }
17
17
 
18
18
  .middle {
19
+ display: flex;
19
20
  flex: 1;
21
+ align-items: center;
20
22
  min-inline-size: 0;
21
23
  overflow: hidden;
22
- display: flex;
23
- align-items: center;
24
24
  }
25
25
 
26
26
  .content {
@@ -28,15 +28,15 @@
28
28
  min-inline-size: 0;
29
29
  overflow: hidden;
30
30
  text-overflow: ellipsis;
31
- white-space: nowrap;
32
31
  word-break: break-word;
32
+ white-space: nowrap;
33
33
  }
34
34
 
35
35
  .textWrapShort .content {
36
- white-space: initial;
37
36
  display: -webkit-box;
38
37
  max-block-size: 60px;
39
38
  -webkit-line-clamp: 3;
39
+ white-space: initial;
40
40
  -webkit-box-orient: vertical;
41
41
  }
42
42
 
@@ -50,9 +50,9 @@
50
50
  }
51
51
 
52
52
  .after {
53
+ margin-block: calc(-1 * var(--vkui--spacing_size_2xs));
53
54
  -webkit-margin-start: var(--vkui--spacing_size_xl);
54
55
  margin-inline-start: var(--vkui--spacing_size_xl);
55
- margin-block: calc(-1 * var(--vkui--spacing_size_2xs));
56
56
  }
57
57
 
58
58
  .modeAdd,
@@ -1,22 +1,13 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useId } from "react";
4
3
  import { ModalContext } from "../../context/ModalContext.js";
5
- import { getNavId } from "../../lib/getNavId.js";
6
- import { warnOnce } from "../../lib/warnOnce.js";
7
4
  import { useModalManager } from "../ModalRoot/useModalManager.js";
8
5
  import { ModalCardInternal } from "./ModalCardInternal.js";
9
- const warn = warnOnce('ModalCard');
10
6
  /**
11
7
  * @see https://vkcom.github.io/VKUI/#/ModalCard
12
8
  */ export const ModalCard = ({ id: idProp, nav, open = false, modalOverlayTestId, noFocusToDialog, onOpen, onOpened, onClose, onClosed, keepMounted = false, ...restProps })=>{
13
- const generatingId = useId();
14
- const id = getNavId({
15
- nav,
16
- id: idProp
17
- }, warn) || generatingId;
18
- const { mounted, shouldPreserveSnapPoint: excludedProp, ...resolvedProps } = useModalManager({
19
- id,
9
+ const { mounted, shouldPreserveSnapPoint: excludedProp, id, ...resolvedProps } = useModalManager({
10
+ id: nav || idProp,
20
11
  open,
21
12
  keepMounted,
22
13
  modalOverlayTestId,
@@ -34,6 +25,7 @@ const warn = warnOnce('ModalCard');
34
25
  children: /*#__PURE__*/ _jsx(ModalCardInternal, {
35
26
  id: id,
36
27
  "aria-labelledby": `${id}-label`,
28
+ titleId: `${id}-label`,
37
29
  ...resolvedProps,
38
30
  ...restProps
39
31
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalCard/ModalCard.tsx"],"sourcesContent":["'use client';\n\nimport { useId } from 'react';\nimport { ModalContext } from '../../context/ModalContext';\nimport { getNavId } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { useModalManager } from '../ModalRoot/useModalManager';\nimport { ModalCardInternal } from './ModalCardInternal';\nimport type { ModalCardProps } from './types';\n\nconst warn = warnOnce('ModalCard');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalCard\n */\nexport const ModalCard = ({\n id: idProp,\n nav,\n open = false,\n modalOverlayTestId,\n noFocusToDialog,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n keepMounted = false,\n ...restProps\n}: ModalCardProps): React.ReactNode => {\n const generatingId = useId();\n const id = getNavId({ nav, id: idProp }, warn) || generatingId;\n\n const {\n mounted,\n shouldPreserveSnapPoint: excludedProp,\n ...resolvedProps\n } = useModalManager({\n id,\n open,\n keepMounted,\n modalOverlayTestId,\n noFocusToDialog,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n });\n\n if (mounted === false) {\n return null;\n }\n\n return (\n <ModalContext.Provider value={id}>\n <ModalCardInternal\n id={id}\n aria-labelledby={`${id}-label`}\n {...resolvedProps}\n {...restProps}\n />\n </ModalContext.Provider>\n );\n};\n"],"names":["useId","ModalContext","getNavId","warnOnce","useModalManager","ModalCardInternal","warn","ModalCard","id","idProp","nav","open","modalOverlayTestId","noFocusToDialog","onOpen","onOpened","onClose","onClosed","keepMounted","restProps","generatingId","mounted","shouldPreserveSnapPoint","excludedProp","resolvedProps","Provider","value","aria-labelledby"],"mappings":"AAAA;;AAEA,SAASA,KAAK,QAAQ,QAAQ;AAC9B,SAASC,YAAY,QAAQ,gCAA6B;AAC1D,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,iBAAiB,QAAQ,yBAAsB;AAGxD,MAAMC,OAAOH,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMI,YAAY,CAAC,EACxBC,IAAIC,MAAM,EACVC,GAAG,EACHC,OAAO,KAAK,EACZC,kBAAkB,EAClBC,eAAe,EACfC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,cAAc,KAAK,EACnB,GAAGC,WACY;IACf,MAAMC,eAAepB;IACrB,MAAMQ,KAAKN,SAAS;QAAEQ;QAAKF,IAAIC;IAAO,GAAGH,SAASc;IAElD,MAAM,EACJC,OAAO,EACPC,yBAAyBC,YAAY,EACrC,GAAGC,eACJ,GAAGpB,gBAAgB;QAClBI;QACAG;QACAO;QACAN;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,IAAII,YAAY,OAAO;QACrB,OAAO;IACT;IAEA,qBACE,KAACpB,aAAawB,QAAQ;QAACC,OAAOlB;kBAC5B,cAAA,KAACH;YACCG,IAAIA;YACJmB,mBAAiB,GAAGnB,GAAG,MAAM,CAAC;YAC7B,GAAGgB,aAAa;YAChB,GAAGL,SAAS;;;AAIrB,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ModalCard/ModalCard.tsx"],"sourcesContent":["'use client';\n\nimport { ModalContext } from '../../context/ModalContext';\nimport { useModalManager } from '../ModalRoot/useModalManager';\nimport { ModalCardInternal } from './ModalCardInternal';\nimport type { ModalCardProps } from './types';\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalCard\n */\nexport const ModalCard = ({\n id: idProp,\n nav,\n open = false,\n modalOverlayTestId,\n noFocusToDialog,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n keepMounted = false,\n ...restProps\n}: ModalCardProps): React.ReactNode => {\n const {\n mounted,\n shouldPreserveSnapPoint: excludedProp,\n id,\n ...resolvedProps\n } = useModalManager({\n id: nav || idProp,\n open,\n keepMounted,\n modalOverlayTestId,\n noFocusToDialog,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n });\n\n if (mounted === false) {\n return null;\n }\n\n return (\n <ModalContext.Provider value={id}>\n <ModalCardInternal\n id={id}\n aria-labelledby={`${id}-label`}\n titleId={`${id}-label`}\n {...resolvedProps}\n {...restProps}\n />\n </ModalContext.Provider>\n );\n};\n"],"names":["ModalContext","useModalManager","ModalCardInternal","ModalCard","id","idProp","nav","open","modalOverlayTestId","noFocusToDialog","onOpen","onOpened","onClose","onClosed","keepMounted","restProps","mounted","shouldPreserveSnapPoint","excludedProp","resolvedProps","Provider","value","aria-labelledby","titleId"],"mappings":"AAAA;;AAEA,SAASA,YAAY,QAAQ,gCAA6B;AAC1D,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,SAASC,iBAAiB,QAAQ,yBAAsB;AAGxD;;CAEC,GACD,OAAO,MAAMC,YAAY,CAAC,EACxBC,IAAIC,MAAM,EACVC,GAAG,EACHC,OAAO,KAAK,EACZC,kBAAkB,EAClBC,eAAe,EACfC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,cAAc,KAAK,EACnB,GAAGC,WACY;IACf,MAAM,EACJC,OAAO,EACPC,yBAAyBC,YAAY,EACrCd,EAAE,EACF,GAAGe,eACJ,GAAGlB,gBAAgB;QAClBG,IAAIE,OAAOD;QACXE;QACAO;QACAN;QACAC;QACAC;QACAC;QACAC;QACAC;IACF;IAEA,IAAIG,YAAY,OAAO;QACrB,OAAO;IACT;IAEA,qBACE,KAAChB,aAAaoB,QAAQ;QAACC,OAAOjB;kBAC5B,cAAA,KAACF;YACCE,IAAIA;YACJkB,mBAAiB,GAAGlB,GAAG,MAAM,CAAC;YAC9BmB,SAAS,GAAGnB,GAAG,MAAM,CAAC;YACrB,GAAGe,aAAa;YAChB,GAAGJ,SAAS;;;AAIrB,EAAE"}
@@ -1,7 +1,7 @@
1
1
  .host {
2
+ inline-size: 100%;
2
3
  padding: var(--vkui--spacing_size_m);
3
4
  margin-inline: auto;
4
- inline-size: 100%;
5
5
  }
6
6
 
7
7
  .host:focus {
@@ -27,13 +27,13 @@
27
27
  --vkui_internal_ModalCard--safeAreaInsetBottom: var(--vkui_internal--safe_area_inset_bottom);
28
28
 
29
29
  position: absolute;
30
- inset-inline: 0;
31
30
  inset-block-end: 0;
31
+ inset-inline: 0;
32
+ box-sizing: border-box;
32
33
  -webkit-margin-after: var(--vkui_internal_ModalCard--safeAreaInsetBottom);
33
34
  margin-block-end: var(--vkui_internal_ModalCard--safeAreaInsetBottom);
34
35
  transform: translate3d(0, calc(100% - var(--vkui_internal_ModalCard--translateY)), 0);
35
36
  transition: transform 0.4s var(--vkui_internal--spring-easing);
36
- box-sizing: border-box;
37
37
  }
38
38
 
39
39
  .hostMobile.hostStateEnter {
@@ -58,10 +58,10 @@
58
58
  /* Desktop */
59
59
 
60
60
  .hostDesktop {
61
+ box-sizing: content-box;
61
62
  margin-block: auto;
62
63
  opacity: 1;
63
64
  transition: opacity 340ms var(--vkui--animation_easing_platform);
64
- box-sizing: content-box;
65
65
  }
66
66
 
67
67
  .hostDesktop.hostStateEnter {
@@ -32,7 +32,7 @@ const transitionStateClassNames = {
32
32
  * В компоненте заложена вся логика модального окна.
33
33
  *
34
34
  * @private
35
- */ export const ModalCardInternal = ({ icon, title, titleComponent, description, descriptionComponent, children, actions, size, open, style: styleProp, className, preventClose, ModalOverlay = ModalOverlayDefault, modalOverlayTestId, modalDismissButtonTestId, getRootRef, dismissButtonMode, dismissLabel, noFocusToDialog, onOpen, onOpened, onClose = noop, onClosed, disableFocusTrap, ...restProps })=>{
35
+ */ export const ModalCardInternal = ({ icon, title, titleComponent, description, descriptionComponent, children, actions, size, open, style: styleProp, className, preventClose, ModalOverlay = ModalOverlayDefault, modalOverlayTestId, modalDismissButtonTestId, getRootRef, dismissButtonMode, dismissLabel, noFocusToDialog, restoreFocus, onOpen, onOpened, onClose = noop, onClosed, disableFocusTrap, ...restProps })=>{
36
36
  const platform = usePlatform();
37
37
  const [transitionState, { ref, onTransitionEnd }] = useCSSTransition(open, {
38
38
  enableAppear: true,
@@ -85,7 +85,8 @@ const transitionStateClassNames = {
85
85
  useScrollLock(!hidden);
86
86
  useFocusTrap(ref, {
87
87
  autoFocus: !noFocusToDialog,
88
- disabled: !opened || hidden || disableFocusTrap
88
+ disabled: !opened || hidden || disableFocusTrap,
89
+ restoreFocus
89
90
  });
90
91
  return /*#__PURE__*/ _jsxs(ModalOutlet, {
91
92
  hidden: hidden,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalCard/ModalCardInternal.tsx"],"sourcesContent":["'use client';\n\nimport { type ComponentType, type KeyboardEvent, type ReactNode, useCallback } from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useFocusTrap } from '../../hooks/useFocusTrap';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useVirtualKeyboardState } from '../../hooks/useVirtualKeyboardState';\nimport { Keys, pressedKey } from '../../lib/accessibility';\nimport { useCSSTransition, type UseCSSTransitionState } from '../../lib/animation';\nimport { useBottomSheet } from '../../lib/sheet';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { ModalCardBase } from '../ModalCardBase/ModalCardBase';\nimport { ModalOutlet } from '../ModalOutlet/ModalOutlet';\nimport {\n ModalOverlay as ModalOverlayDefault,\n type ModalOverlayProps,\n} from '../ModalOverlay/ModalOverlay';\nimport type { ModalCardProps } from './types';\nimport styles from './ModalCard.module.css';\n\nconst sizeByPlatformClassNames = {\n vkcom: styles['hostMaxWidthS'],\n ios: styles['hostMaxWidthM'],\n android: styles['hostMaxWidthL'],\n};\n\nconst transitionStateClassNames: Partial<Record<UseCSSTransitionState, string>> = {\n appear: styles['hostStateEnter'],\n appearing: styles['hostStateEntering'],\n\n enter: styles['hostStateEnter'],\n entering: styles['hostStateEntering'],\n\n exiting: styles['hostStateExiting'],\n exited: styles['hostStateExited'],\n};\n\nexport interface ModalCardInternalProps extends Omit<ModalCardProps, 'nav' | 'keepMounted'> {\n ModalOverlay?: ComponentType<ModalOverlayProps>;\n}\n\n/**\n * В компоненте заложена вся логика модального окна.\n *\n * @private\n */\nexport const ModalCardInternal = ({\n icon,\n title,\n titleComponent,\n description,\n descriptionComponent,\n children,\n actions,\n size,\n open,\n style: styleProp,\n className,\n preventClose,\n ModalOverlay = ModalOverlayDefault,\n modalOverlayTestId,\n modalDismissButtonTestId,\n getRootRef,\n dismissButtonMode,\n dismissLabel,\n noFocusToDialog,\n onOpen,\n onOpened,\n onClose = noop,\n onClosed,\n disableFocusTrap,\n ...restProps\n}: ModalCardInternalProps): ReactNode => {\n const platform = usePlatform();\n const [transitionState, { ref, onTransitionEnd }] = useCSSTransition<HTMLDivElement>(open, {\n enableAppear: true,\n onEnter() {\n onOpen?.();\n },\n onEntered() {\n onOpened?.();\n },\n onExited() {\n onClosed?.();\n },\n });\n const opened = transitionState === 'appeared' || transitionState === 'entered';\n const hidden = transitionState === 'exited';\n const closable = !preventClose && opened;\n\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n const bottomSheetEnabled = !isDesktop && !preventClose && transitionState !== 'exited';\n\n const { opened: keyboardOpened } = useVirtualKeyboardState(bottomSheetEnabled);\n const [{ setSheetEl, setBackdropEl }, bottomSheetEventHandlers] = useBottomSheet(\n bottomSheetEnabled,\n {\n blocked: keyboardOpened,\n snapPoint: 'auto',\n sheetCSSProperty: '--vkui_internal_ModalCard--translateY',\n backdropCSSProperty: '--vkui_internal--modal-overlay--opacity',\n onDismiss() {\n onClose?.('swipe-down');\n },\n },\n );\n const handleRef = useExternRef<HTMLDivElement>(setSheetEl, ref, getRootRef);\n const style = keyboardOpened\n ? {\n ...styleProp,\n '--vkui_internal_ModalCard--safeAreaInsetBottom': '0px',\n }\n : styleProp;\n const modalOverlay = (\n <ModalOverlay\n getRootRef={setBackdropEl}\n data-testid={modalOverlayTestId}\n visible={open}\n onClick={\n closable\n ? function handleBackdropClick(event) {\n onClose('click-overlay', event);\n }\n : undefined\n }\n />\n );\n const handleEscKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (closable && pressedKey(event) === Keys.ESCAPE) {\n onClose('escape-key');\n }\n },\n [closable, onClose],\n );\n\n useScrollLock(!hidden);\n useFocusTrap(ref, {\n autoFocus: !noFocusToDialog,\n disabled: !opened || hidden || disableFocusTrap,\n });\n\n return (\n <ModalOutlet hidden={hidden} isDesktop={isDesktop} onKeyDown={handleEscKeyDown}>\n {modalOverlay}\n <ModalCardBase\n {...restProps}\n tabIndex={-1}\n role=\"dialog\"\n aria-modal=\"true\"\n getRootRef={handleRef}\n style={style}\n className={classNames(\n styles.host,\n isDesktop ? styles.hostDesktop : styles.hostMobile,\n sizeByPlatformClassNames[platform],\n transitionStateClassNames[transitionState],\n className,\n )}\n onTransitionEnd={onTransitionEnd}\n {...bottomSheetEventHandlers}\n icon={icon}\n title={title}\n titleComponent={titleComponent}\n description={description}\n descriptionComponent={descriptionComponent}\n actions={actions}\n onClose={() => onClose('click-close-button')}\n size={size}\n modalDismissButtonTestId={modalDismissButtonTestId}\n dismissButtonMode={dismissButtonMode}\n dismissLabel={dismissLabel}\n >\n {children}\n </ModalCardBase>\n </ModalOutlet>\n );\n};\n"],"names":["useCallback","classNames","noop","useAdaptivityWithJSMediaQueries","useExternRef","useFocusTrap","usePlatform","useVirtualKeyboardState","Keys","pressedKey","useCSSTransition","useBottomSheet","useScrollLock","ModalCardBase","ModalOutlet","ModalOverlay","ModalOverlayDefault","styles","sizeByPlatformClassNames","vkcom","ios","android","transitionStateClassNames","appear","appearing","enter","entering","exiting","exited","ModalCardInternal","icon","title","titleComponent","description","descriptionComponent","children","actions","size","open","style","styleProp","className","preventClose","modalOverlayTestId","modalDismissButtonTestId","getRootRef","dismissButtonMode","dismissLabel","noFocusToDialog","onOpen","onOpened","onClose","onClosed","disableFocusTrap","restProps","platform","transitionState","ref","onTransitionEnd","enableAppear","onEnter","onEntered","onExited","opened","hidden","closable","isDesktop","bottomSheetEnabled","keyboardOpened","setSheetEl","setBackdropEl","bottomSheetEventHandlers","blocked","snapPoint","sheetCSSProperty","backdropCSSProperty","onDismiss","handleRef","modalOverlay","data-testid","visible","onClick","handleBackdropClick","event","undefined","handleEscKeyDown","ESCAPE","autoFocus","disabled","onKeyDown","tabIndex","role","aria-modal","host","hostDesktop","hostMobile"],"mappings":"AAAA;;AAEA,SAAiEA,WAAW,QAAQ,QAAQ;AAC5F,SAASC,UAAU,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,+BAA+B,QAAQ,iDAA8C;AAC9F,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,uBAAuB,QAAQ,yCAAsC;AAC9E,SAASC,IAAI,EAAEC,UAAU,QAAQ,6BAA0B;AAC3D,SAASC,gBAAgB,QAAoC,+BAAsB;AACnF,SAASC,cAAc,QAAQ,2BAAkB;AACjD,SAASC,aAAa,QAAQ,8BAA2B;AACzD,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,WAAW,QAAQ,gCAA6B;AACzD,SACEC,gBAAgBC,mBAAmB,QAE9B,kCAA+B;AAEtC,OAAOC,YAAY,yBAAyB;AAE5C,MAAMC,2BAA2B;IAC/BC,OAAOF,MAAM,CAAC,gBAAgB;IAC9BG,KAAKH,MAAM,CAAC,gBAAgB;IAC5BI,SAASJ,MAAM,CAAC,gBAAgB;AAClC;AAEA,MAAMK,4BAA4E;IAChFC,QAAQN,MAAM,CAAC,iBAAiB;IAChCO,WAAWP,MAAM,CAAC,oBAAoB;IAEtCQ,OAAOR,MAAM,CAAC,iBAAiB;IAC/BS,UAAUT,MAAM,CAAC,oBAAoB;IAErCU,SAASV,MAAM,CAAC,mBAAmB;IACnCW,QAAQX,MAAM,CAAC,kBAAkB;AACnC;AAMA;;;;CAIC,GACD,OAAO,MAAMY,oBAAoB,CAAC,EAChCC,IAAI,EACJC,KAAK,EACLC,cAAc,EACdC,WAAW,EACXC,oBAAoB,EACpBC,QAAQ,EACRC,OAAO,EACPC,IAAI,EACJC,IAAI,EACJC,OAAOC,SAAS,EAChBC,SAAS,EACTC,YAAY,EACZ3B,eAAeC,mBAAmB,EAClC2B,kBAAkB,EAClBC,wBAAwB,EACxBC,UAAU,EACVC,iBAAiB,EACjBC,YAAY,EACZC,eAAe,EACfC,MAAM,EACNC,QAAQ,EACRC,UAAUjD,IAAI,EACdkD,QAAQ,EACRC,gBAAgB,EAChB,GAAGC,WACoB;IACvB,MAAMC,WAAWjD;IACjB,MAAM,CAACkD,iBAAiB,EAAEC,GAAG,EAAEC,eAAe,EAAE,CAAC,GAAGhD,iBAAiC4B,MAAM;QACzFqB,cAAc;QACdC;YACEX;QACF;QACAY;YACEX;QACF;QACAY;YACEV;QACF;IACF;IACA,MAAMW,SAASP,oBAAoB,cAAcA,oBAAoB;IACrE,MAAMQ,SAASR,oBAAoB;IACnC,MAAMS,WAAW,CAACvB,gBAAgBqB;IAElC,MAAM,EAAEG,SAAS,EAAE,GAAG/D;IACtB,MAAMgE,qBAAqB,CAACD,aAAa,CAACxB,gBAAgBc,oBAAoB;IAE9E,MAAM,EAAEO,QAAQK,cAAc,EAAE,GAAG7D,wBAAwB4D;IAC3D,MAAM,CAAC,EAAEE,UAAU,EAAEC,aAAa,EAAE,EAAEC,yBAAyB,GAAG5D,eAChEwD,oBACA;QACEK,SAASJ;QACTK,WAAW;QACXC,kBAAkB;QAClBC,qBAAqB;QACrBC;YACEzB,UAAU;QACZ;IACF;IAEF,MAAM0B,YAAYzE,aAA6BiE,YAAYZ,KAAKZ;IAChE,MAAMN,QAAQ6B,iBACV;QACE,GAAG5B,SAAS;QACZ,kDAAkD;IACpD,IACAA;IACJ,MAAMsC,6BACJ,KAAC/D;QACC8B,YAAYyB;QACZS,eAAapC;QACbqC,SAAS1C;QACT2C,SACEhB,WACI,SAASiB,oBAAoBC,KAAK;YAChChC,QAAQ,iBAAiBgC;QAC3B,IACAC;;IAIV,MAAMC,mBAAmBrF,YACvB,CAACmF;QACC,IAAIlB,YAAYxD,WAAW0E,WAAW3E,KAAK8E,MAAM,EAAE;YACjDnC,QAAQ;QACV;IACF,GACA;QAACc;QAAUd;KAAQ;IAGrBvC,cAAc,CAACoD;IACf3D,aAAaoD,KAAK;QAChB8B,WAAW,CAACvC;QACZwC,UAAU,CAACzB,UAAUC,UAAUX;IACjC;IAEA,qBACE,MAACvC;QAAYkD,QAAQA;QAAQE,WAAWA;QAAWuB,WAAWJ;;YAC3DP;0BACD,KAACjE;gBACE,GAAGyC,SAAS;gBACboC,UAAU,CAAC;gBACXC,MAAK;gBACLC,cAAW;gBACX/C,YAAYgC;gBACZtC,OAAOA;gBACPE,WAAWxC,WACTgB,OAAO4E,IAAI,EACX3B,YAAYjD,OAAO6E,WAAW,GAAG7E,OAAO8E,UAAU,EAClD7E,wBAAwB,CAACqC,SAAS,EAClCjC,yBAAyB,CAACkC,gBAAgB,EAC1Cf;gBAEFiB,iBAAiBA;gBAChB,GAAGa,wBAAwB;gBAC5BzC,MAAMA;gBACNC,OAAOA;gBACPC,gBAAgBA;gBAChBC,aAAaA;gBACbC,sBAAsBA;gBACtBE,SAASA;gBACTe,SAAS,IAAMA,QAAQ;gBACvBd,MAAMA;gBACNO,0BAA0BA;gBAC1BE,mBAAmBA;gBACnBC,cAAcA;0BAEbZ;;;;AAIT,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ModalCard/ModalCardInternal.tsx"],"sourcesContent":["'use client';\n\nimport { type ComponentType, type KeyboardEvent, type ReactNode, useCallback } from 'react';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useFocusTrap } from '../../hooks/useFocusTrap';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useVirtualKeyboardState } from '../../hooks/useVirtualKeyboardState';\nimport { Keys, pressedKey } from '../../lib/accessibility';\nimport { useCSSTransition, type UseCSSTransitionState } from '../../lib/animation';\nimport { useBottomSheet } from '../../lib/sheet';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { ModalCardBase } from '../ModalCardBase/ModalCardBase';\nimport { ModalOutlet } from '../ModalOutlet/ModalOutlet';\nimport {\n ModalOverlay as ModalOverlayDefault,\n type ModalOverlayProps,\n} from '../ModalOverlay/ModalOverlay';\nimport type { ModalCardProps } from './types';\nimport styles from './ModalCard.module.css';\n\nconst sizeByPlatformClassNames = {\n vkcom: styles['hostMaxWidthS'],\n ios: styles['hostMaxWidthM'],\n android: styles['hostMaxWidthL'],\n};\n\nconst transitionStateClassNames: Partial<Record<UseCSSTransitionState, string>> = {\n appear: styles['hostStateEnter'],\n appearing: styles['hostStateEntering'],\n\n enter: styles['hostStateEnter'],\n entering: styles['hostStateEntering'],\n\n exiting: styles['hostStateExiting'],\n exited: styles['hostStateExited'],\n};\n\nexport interface ModalCardInternalProps extends Omit<ModalCardProps, 'nav' | 'keepMounted'> {\n ModalOverlay?: ComponentType<ModalOverlayProps>;\n}\n\n/**\n * В компоненте заложена вся логика модального окна.\n *\n * @private\n */\nexport const ModalCardInternal = ({\n icon,\n title,\n titleComponent,\n description,\n descriptionComponent,\n children,\n actions,\n size,\n open,\n style: styleProp,\n className,\n preventClose,\n ModalOverlay = ModalOverlayDefault,\n modalOverlayTestId,\n modalDismissButtonTestId,\n getRootRef,\n dismissButtonMode,\n dismissLabel,\n noFocusToDialog,\n restoreFocus,\n onOpen,\n onOpened,\n onClose = noop,\n onClosed,\n disableFocusTrap,\n ...restProps\n}: ModalCardInternalProps): ReactNode => {\n const platform = usePlatform();\n const [transitionState, { ref, onTransitionEnd }] = useCSSTransition<HTMLDivElement>(open, {\n enableAppear: true,\n onEnter() {\n onOpen?.();\n },\n onEntered() {\n onOpened?.();\n },\n onExited() {\n onClosed?.();\n },\n });\n const opened = transitionState === 'appeared' || transitionState === 'entered';\n const hidden = transitionState === 'exited';\n const closable = !preventClose && opened;\n\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n const bottomSheetEnabled = !isDesktop && !preventClose && transitionState !== 'exited';\n\n const { opened: keyboardOpened } = useVirtualKeyboardState(bottomSheetEnabled);\n const [{ setSheetEl, setBackdropEl }, bottomSheetEventHandlers] = useBottomSheet(\n bottomSheetEnabled,\n {\n blocked: keyboardOpened,\n snapPoint: 'auto',\n sheetCSSProperty: '--vkui_internal_ModalCard--translateY',\n backdropCSSProperty: '--vkui_internal--modal-overlay--opacity',\n onDismiss() {\n onClose?.('swipe-down');\n },\n },\n );\n const handleRef = useExternRef<HTMLDivElement>(setSheetEl, ref, getRootRef);\n const style = keyboardOpened\n ? {\n ...styleProp,\n '--vkui_internal_ModalCard--safeAreaInsetBottom': '0px',\n }\n : styleProp;\n const modalOverlay = (\n <ModalOverlay\n getRootRef={setBackdropEl}\n data-testid={modalOverlayTestId}\n visible={open}\n onClick={\n closable\n ? function handleBackdropClick(event) {\n onClose('click-overlay', event);\n }\n : undefined\n }\n />\n );\n const handleEscKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (closable && pressedKey(event) === Keys.ESCAPE) {\n onClose('escape-key');\n }\n },\n [closable, onClose],\n );\n\n useScrollLock(!hidden);\n useFocusTrap(ref, {\n autoFocus: !noFocusToDialog,\n disabled: !opened || hidden || disableFocusTrap,\n restoreFocus,\n });\n\n return (\n <ModalOutlet hidden={hidden} isDesktop={isDesktop} onKeyDown={handleEscKeyDown}>\n {modalOverlay}\n <ModalCardBase\n {...restProps}\n tabIndex={-1}\n role=\"dialog\"\n aria-modal=\"true\"\n getRootRef={handleRef}\n style={style}\n className={classNames(\n styles.host,\n isDesktop ? styles.hostDesktop : styles.hostMobile,\n sizeByPlatformClassNames[platform],\n transitionStateClassNames[transitionState],\n className,\n )}\n onTransitionEnd={onTransitionEnd}\n {...bottomSheetEventHandlers}\n icon={icon}\n title={title}\n titleComponent={titleComponent}\n description={description}\n descriptionComponent={descriptionComponent}\n actions={actions}\n onClose={() => onClose('click-close-button')}\n size={size}\n modalDismissButtonTestId={modalDismissButtonTestId}\n dismissButtonMode={dismissButtonMode}\n dismissLabel={dismissLabel}\n >\n {children}\n </ModalCardBase>\n </ModalOutlet>\n );\n};\n"],"names":["useCallback","classNames","noop","useAdaptivityWithJSMediaQueries","useExternRef","useFocusTrap","usePlatform","useVirtualKeyboardState","Keys","pressedKey","useCSSTransition","useBottomSheet","useScrollLock","ModalCardBase","ModalOutlet","ModalOverlay","ModalOverlayDefault","styles","sizeByPlatformClassNames","vkcom","ios","android","transitionStateClassNames","appear","appearing","enter","entering","exiting","exited","ModalCardInternal","icon","title","titleComponent","description","descriptionComponent","children","actions","size","open","style","styleProp","className","preventClose","modalOverlayTestId","modalDismissButtonTestId","getRootRef","dismissButtonMode","dismissLabel","noFocusToDialog","restoreFocus","onOpen","onOpened","onClose","onClosed","disableFocusTrap","restProps","platform","transitionState","ref","onTransitionEnd","enableAppear","onEnter","onEntered","onExited","opened","hidden","closable","isDesktop","bottomSheetEnabled","keyboardOpened","setSheetEl","setBackdropEl","bottomSheetEventHandlers","blocked","snapPoint","sheetCSSProperty","backdropCSSProperty","onDismiss","handleRef","modalOverlay","data-testid","visible","onClick","handleBackdropClick","event","undefined","handleEscKeyDown","ESCAPE","autoFocus","disabled","onKeyDown","tabIndex","role","aria-modal","host","hostDesktop","hostMobile"],"mappings":"AAAA;;AAEA,SAAiEA,WAAW,QAAQ,QAAQ;AAC5F,SAASC,UAAU,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,+BAA+B,QAAQ,iDAA8C;AAC9F,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,uBAAuB,QAAQ,yCAAsC;AAC9E,SAASC,IAAI,EAAEC,UAAU,QAAQ,6BAA0B;AAC3D,SAASC,gBAAgB,QAAoC,+BAAsB;AACnF,SAASC,cAAc,QAAQ,2BAAkB;AACjD,SAASC,aAAa,QAAQ,8BAA2B;AACzD,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,WAAW,QAAQ,gCAA6B;AACzD,SACEC,gBAAgBC,mBAAmB,QAE9B,kCAA+B;AAEtC,OAAOC,YAAY,yBAAyB;AAE5C,MAAMC,2BAA2B;IAC/BC,OAAOF,MAAM,CAAC,gBAAgB;IAC9BG,KAAKH,MAAM,CAAC,gBAAgB;IAC5BI,SAASJ,MAAM,CAAC,gBAAgB;AAClC;AAEA,MAAMK,4BAA4E;IAChFC,QAAQN,MAAM,CAAC,iBAAiB;IAChCO,WAAWP,MAAM,CAAC,oBAAoB;IAEtCQ,OAAOR,MAAM,CAAC,iBAAiB;IAC/BS,UAAUT,MAAM,CAAC,oBAAoB;IAErCU,SAASV,MAAM,CAAC,mBAAmB;IACnCW,QAAQX,MAAM,CAAC,kBAAkB;AACnC;AAMA;;;;CAIC,GACD,OAAO,MAAMY,oBAAoB,CAAC,EAChCC,IAAI,EACJC,KAAK,EACLC,cAAc,EACdC,WAAW,EACXC,oBAAoB,EACpBC,QAAQ,EACRC,OAAO,EACPC,IAAI,EACJC,IAAI,EACJC,OAAOC,SAAS,EAChBC,SAAS,EACTC,YAAY,EACZ3B,eAAeC,mBAAmB,EAClC2B,kBAAkB,EAClBC,wBAAwB,EACxBC,UAAU,EACVC,iBAAiB,EACjBC,YAAY,EACZC,eAAe,EACfC,YAAY,EACZC,MAAM,EACNC,QAAQ,EACRC,UAAUlD,IAAI,EACdmD,QAAQ,EACRC,gBAAgB,EAChB,GAAGC,WACoB;IACvB,MAAMC,WAAWlD;IACjB,MAAM,CAACmD,iBAAiB,EAAEC,GAAG,EAAEC,eAAe,EAAE,CAAC,GAAGjD,iBAAiC4B,MAAM;QACzFsB,cAAc;QACdC;YACEX;QACF;QACAY;YACEX;QACF;QACAY;YACEV;QACF;IACF;IACA,MAAMW,SAASP,oBAAoB,cAAcA,oBAAoB;IACrE,MAAMQ,SAASR,oBAAoB;IACnC,MAAMS,WAAW,CAACxB,gBAAgBsB;IAElC,MAAM,EAAEG,SAAS,EAAE,GAAGhE;IACtB,MAAMiE,qBAAqB,CAACD,aAAa,CAACzB,gBAAgBe,oBAAoB;IAE9E,MAAM,EAAEO,QAAQK,cAAc,EAAE,GAAG9D,wBAAwB6D;IAC3D,MAAM,CAAC,EAAEE,UAAU,EAAEC,aAAa,EAAE,EAAEC,yBAAyB,GAAG7D,eAChEyD,oBACA;QACEK,SAASJ;QACTK,WAAW;QACXC,kBAAkB;QAClBC,qBAAqB;QACrBC;YACEzB,UAAU;QACZ;IACF;IAEF,MAAM0B,YAAY1E,aAA6BkE,YAAYZ,KAAKb;IAChE,MAAMN,QAAQ8B,iBACV;QACE,GAAG7B,SAAS;QACZ,kDAAkD;IACpD,IACAA;IACJ,MAAMuC,6BACJ,KAAChE;QACC8B,YAAY0B;QACZS,eAAarC;QACbsC,SAAS3C;QACT4C,SACEhB,WACI,SAASiB,oBAAoBC,KAAK;YAChChC,QAAQ,iBAAiBgC;QAC3B,IACAC;;IAIV,MAAMC,mBAAmBtF,YACvB,CAACoF;QACC,IAAIlB,YAAYzD,WAAW2E,WAAW5E,KAAK+E,MAAM,EAAE;YACjDnC,QAAQ;QACV;IACF,GACA;QAACc;QAAUd;KAAQ;IAGrBxC,cAAc,CAACqD;IACf5D,aAAaqD,KAAK;QAChB8B,WAAW,CAACxC;QACZyC,UAAU,CAACzB,UAAUC,UAAUX;QAC/BL;IACF;IAEA,qBACE,MAACnC;QAAYmD,QAAQA;QAAQE,WAAWA;QAAWuB,WAAWJ;;YAC3DP;0BACD,KAAClE;gBACE,GAAG0C,SAAS;gBACboC,UAAU,CAAC;gBACXC,MAAK;gBACLC,cAAW;gBACXhD,YAAYiC;gBACZvC,OAAOA;gBACPE,WAAWxC,WACTgB,OAAO6E,IAAI,EACX3B,YAAYlD,OAAO8E,WAAW,GAAG9E,OAAO+E,UAAU,EAClD9E,wBAAwB,CAACsC,SAAS,EAClClC,yBAAyB,CAACmC,gBAAgB,EAC1ChB;gBAEFkB,iBAAiBA;gBAChB,GAAGa,wBAAwB;gBAC5B1C,MAAMA;gBACNC,OAAOA;gBACPC,gBAAgBA;gBAChBC,aAAaA;gBACbC,sBAAsBA;gBACtBE,SAASA;gBACTgB,SAAS,IAAMA,QAAQ;gBACvBf,MAAMA;gBACNO,0BAA0BA;gBAC1BE,mBAAmBA;gBACnBC,cAAcA;0BAEbZ;;;;AAIT,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalCard/types.ts"],"sourcesContent":["import type { UIEvent } from 'react';\nimport { type UseFocusTrapProps } from '../../hooks/useFocusTrap';\nimport type { NavIdProps } from '../../lib/getNavId';\nimport type { UseBottomSheetHandlers } from '../../lib/sheet';\nimport type { ModalCardBaseProps } from '../ModalCardBase/ModalCardBase';\n\nexport type ModalCardCloseReason =\n | 'click-overlay'\n | 'click-close-button'\n | 'escape-key'\n | 'swipe-down';\n\nexport interface ModalCardProps\n extends NavIdProps,\n Omit<ModalCardBaseProps, 'id' | 'onClose' | 'onTransitionEnd' | keyof UseBottomSheetHandlers> {\n /**\n * Состояние видимости.\n *\n * @default false\n */\n open?: boolean;\n /**\n * Сохранять ли компонент в DOM при `open={false}`.\n *\n * @default false\n */\n keepMounted?: boolean;\n /**\n * Отключает фокус на интерактивный элемент после открытия модалки.\n */\n noFocusToDialog?: boolean;\n /**\n * `data-testid` для оверлея.\n */\n modalOverlayTestId?: string;\n /**\n * Будет вызвано при начале открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Будет вызвано при окончательном открытии модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Будет вызвано при начале закрытия модалки.\n */\n onClose?: (reason: ModalCardCloseReason, event?: UIEvent<HTMLElement>) => void;\n /**\n * Будет вызвано при окончательном закрытии модалки.\n */\n onClosed?: VoidFunction;\n /**\n * Позволяет отключить захват фокуса.\n *\n * Нужно использовать, когда поверх одной модалки открывается другая, чтобы два `FocusTrap` не конфликтовали\n */\n disableFocusTrap?: UseFocusTrapProps['disabled'];\n}\n"],"names":[],"mappings":"AAYA,WA6CC"}
1
+ {"version":3,"sources":["../../../../src/components/ModalCard/types.ts"],"sourcesContent":["import type { UIEvent } from 'react';\nimport { type UseFocusTrapProps } from '../../hooks/useFocusTrap';\nimport type { NavIdProps } from '../../lib/getNavId';\nimport type { UseBottomSheetHandlers } from '../../lib/sheet';\nimport type { ModalCardBaseProps } from '../ModalCardBase/ModalCardBase';\n\nexport type ModalCardCloseReason =\n | 'click-overlay'\n | 'click-close-button'\n | 'escape-key'\n | 'swipe-down';\n\nexport interface ModalCardProps\n extends NavIdProps,\n Omit<ModalCardBaseProps, 'id' | 'onClose' | 'onTransitionEnd' | keyof UseBottomSheetHandlers>,\n Pick<UseFocusTrapProps, 'restoreFocus'> {\n /**\n * Состояние видимости.\n *\n * @default false\n */\n open?: boolean;\n /**\n * Сохранять ли компонент в DOM при `open={false}`.\n *\n * @default false\n */\n keepMounted?: boolean;\n /**\n * Отключает фокус на интерактивный элемент после открытия модалки.\n */\n noFocusToDialog?: boolean;\n /**\n * `data-testid` для оверлея.\n */\n modalOverlayTestId?: string;\n /**\n * Будет вызвано при начале открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Будет вызвано при окончательном открытии модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Будет вызвано при начале закрытия модалки.\n */\n onClose?: (reason: ModalCardCloseReason, event?: UIEvent<HTMLElement>) => void;\n /**\n * Будет вызвано при окончательном закрытии модалки.\n */\n onClosed?: VoidFunction;\n /**\n * Позволяет отключить захват фокуса.\n *\n * Нужно использовать, когда поверх одной модалки открывается другая, чтобы два `FocusTrap` не конфликтовали\n */\n disableFocusTrap?: UseFocusTrapProps['disabled'];\n}\n"],"names":[],"mappings":"AAYA,WA8CC"}
@@ -1,19 +1,23 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
+ import { Icon20Cancel, Icon24Dismiss } from "@vkontakte/icons";
4
5
  import { classNames, hasReactNode } from "@vkontakte/vkjs";
5
6
  import { useAdaptivityWithJSMediaQueries } from "../../hooks/useAdaptivityWithJSMediaQueries.js";
6
7
  import { usePlatform } from "../../hooks/usePlatform.js";
7
8
  import { AdaptivityContext } from "../AdaptivityProvider/AdaptivityContext.js";
9
+ import { ModalOutsideButton } from "../ModalOutsideButton/ModalOutsideButton.js";
10
+ import { ModalOutsideButtons } from "../ModalOutsideButtons/ModalOutsideButtons.js";
8
11
  import { RootComponent } from "../RootComponent/RootComponent.js";
9
12
  import { Spacing } from "../Spacing/Spacing.js";
13
+ import { Tappable } from "../Tappable/Tappable.js";
10
14
  import { Subhead } from "../Typography/Subhead/Subhead.js";
11
15
  import { Title } from "../Typography/Title/Title.js";
12
- import { ModalCardBaseCloseButton } from "./ModalCardBaseCloseButton.js";
16
+ import { VisuallyHidden } from "../VisuallyHidden/VisuallyHidden.js";
13
17
  import styles from "./ModalCardBase.module.css";
14
18
  /**
15
19
  * @see https://vkcom.github.io/VKUI/#/ModalCardBase
16
- */ export const ModalCardBase = ({ icon, title, titleComponent = 'span', description, descriptionComponent = 'span', children, actions, onClose, dismissLabel = 'Скрыть', size: sizeProp, modalDismissButtonTestId, dismissButtonMode = 'outside', preventClose, ...restProps })=>{
20
+ */ export const ModalCardBase = ({ icon, title, titleComponent = 'span', description, descriptionComponent = 'span', children, actions, onClose, dismissLabel = 'Закрыть', size: sizeProp, modalDismissButtonTestId, dismissButtonMode = 'outside', preventClose, outsideButtons, titleId, ...restProps })=>{
17
21
  const platform = usePlatform();
18
22
  const { isDesktop } = useAdaptivityWithJSMediaQueries();
19
23
  const size = isDesktop ? sizeProp : undefined;
@@ -34,6 +38,7 @@ import styles from "./ModalCardBase.module.css";
34
38
  children: icon
35
39
  }),
36
40
  hasReactNode(title) && /*#__PURE__*/ _jsx(Title, {
41
+ id: titleId,
37
42
  level: "2",
38
43
  weight: "2",
39
44
  className: styles.title,
@@ -58,11 +63,29 @@ import styles from "./ModalCardBase.module.css";
58
63
  className: styles.actions,
59
64
  children: actions
60
65
  }),
61
- dismissButtonMode !== 'none' && /*#__PURE__*/ _jsx(ModalCardBaseCloseButton, {
62
- testId: modalDismissButtonTestId,
63
- onClose: onClose,
64
- mode: dismissButtonMode,
65
- children: dismissLabel
66
+ isDesktop && (dismissButtonMode === 'outside' || outsideButtons) && /*#__PURE__*/ _jsxs(ModalOutsideButtons, {
67
+ children: [
68
+ dismissButtonMode === 'outside' && /*#__PURE__*/ _jsx(ModalOutsideButton, {
69
+ "aria-label": dismissLabel,
70
+ "data-testid": modalDismissButtonTestId,
71
+ onClick: onClose,
72
+ children: /*#__PURE__*/ _jsx(Icon20Cancel, {})
73
+ }),
74
+ outsideButtons
75
+ ]
76
+ }),
77
+ (dismissButtonMode === 'inside' || platform === 'ios' && !isDesktop && dismissButtonMode !== 'none') && /*#__PURE__*/ _jsxs(Tappable, {
78
+ className: styles.dismiss,
79
+ onClick: onClose,
80
+ hoverMode: "opacity",
81
+ activeMode: "opacity",
82
+ "data-testid": modalDismissButtonTestId,
83
+ children: [
84
+ /*#__PURE__*/ _jsx(VisuallyHidden, {
85
+ children: dismissLabel
86
+ }),
87
+ platform === 'ios' ? /*#__PURE__*/ _jsx(Icon24Dismiss, {}) : /*#__PURE__*/ _jsx(Icon20Cancel, {})
88
+ ]
66
89
  })
67
90
  ]
68
91
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ModalCardBase/ModalCardBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { AdaptivityContext } from '../AdaptivityProvider/AdaptivityContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Spacing } from '../Spacing/Spacing';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Title } from '../Typography/Title/Title';\nimport { ModalCardBaseCloseButton } from './ModalCardBaseCloseButton';\nimport styles from './ModalCardBase.module.css';\n\nexport interface ModalCardBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'title'> {\n /**\n * Иконка.\n *\n * Может быть компонентом иконки, например, `<Icon56MoneyTransferOutline />`, или `<Avatar size={72} src=\"\" />`\n */\n icon?: React.ReactNode;\n\n /**\n * Заголовок карточки\n */\n title?: React.ReactNode;\n /* Позволяет поменять тег используемый для заголовка */\n titleComponent?: React.ElementType;\n\n /**\n * Описание\n */\n description?: React.ReactNode;\n /* Позволяет поменять тег используемый для описания */\n descriptionComponent?: React.ElementType;\n\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button) с параметрами:\n *\n * - `size=\"l\" mode=\"primary\" stretched`\n * - `size=\"l\" mode=\"secondary\" stretched`\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `gap=\"s\" mode=\"horizontal\" stretched`\n * - `gap=\"m\" mode=\"vertical\" stretched`\n */\n actions?: React.ReactNode;\n\n onClose?: VoidFunction;\n\n /**\n * Текст кнопки закрытия. Делает ее доступной для ассистивных технологий\n */\n dismissLabel?: string;\n\n /**\n * Задаёт контенту максимальную ширину для десктопной версии.\n */\n size?: number;\n\n /**\n * Передает атрибут `data-testid` для кнопки закрытия\n */\n modalDismissButtonTestId?: string;\n /**\n * Расположение кнопки закрытия (внутри и вне `popout'a`)\n *\n * Доступно только в `compact`-режиме\n *\n * На `iOS` в `regular`-режиме всегда включен `inside`\n *\n * ⚠️ ВНИМАНИЕ: использование `none` скрывает крестик, это негативно сказывается на пользовательском опыте\n */\n dismissButtonMode?: 'inside' | 'outside' | 'none';\n /**\n * Позволяет отключить возможность закрытия модальной страницы (смахивание, клавиша `ESC`, клик по подложке)\n *\n * ⚠️ ВНИМАНИЕ: использование этой опции негативно сказывается на пользовательском опыте\n */\n preventClose?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalCardBase\n */\nexport const ModalCardBase = ({\n icon,\n title,\n titleComponent = 'span',\n description,\n descriptionComponent = 'span',\n children,\n actions,\n onClose,\n dismissLabel = 'Скрыть',\n size: sizeProp,\n modalDismissButtonTestId,\n dismissButtonMode = 'outside',\n preventClose,\n ...restProps\n}: ModalCardBaseProps): React.ReactNode => {\n const platform = usePlatform();\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n const size = isDesktop ? sizeProp : undefined;\n const withSafeZone =\n !icon &&\n (dismissButtonMode === 'inside' ||\n (platform === 'ios' && !isDesktop && dismissButtonMode !== 'none'));\n\n const hasTitle = hasReactNode(title);\n const hasDescription = hasReactNode(description);\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n 'vkuiInternalModalCardBase',\n platform === 'ios' && styles.ios,\n isDesktop && styles.desktop,\n withSafeZone && styles.withSafeZone,\n )}\n baseStyle={{\n maxWidth: size,\n }}\n >\n <div className={styles.container}>\n {hasReactNode(icon) && <div className={styles.icon}>{icon}</div>}\n {hasReactNode(title) && (\n <Title level=\"2\" weight=\"2\" className={styles.title} Component={titleComponent}>\n {title}\n </Title>\n )}\n {hasTitle && hasDescription && <Spacing size={8} />}\n {hasDescription && (\n <AdaptivityContext.Provider value={{ sizeY: 'regular' }}>\n <Subhead className={styles.description} Component={descriptionComponent}>\n {description}\n </Subhead>\n </AdaptivityContext.Provider>\n )}\n\n {children}\n\n {hasReactNode(actions) && <div className={styles.actions}>{actions}</div>}\n\n {dismissButtonMode !== 'none' && (\n <ModalCardBaseCloseButton\n testId={modalDismissButtonTestId}\n onClose={onClose}\n mode={dismissButtonMode}\n >\n {dismissLabel}\n </ModalCardBaseCloseButton>\n )}\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivityWithJSMediaQueries","usePlatform","AdaptivityContext","RootComponent","Spacing","Subhead","Title","ModalCardBaseCloseButton","styles","ModalCardBase","icon","title","titleComponent","description","descriptionComponent","children","actions","onClose","dismissLabel","size","sizeProp","modalDismissButtonTestId","dismissButtonMode","preventClose","restProps","platform","isDesktop","undefined","withSafeZone","hasTitle","hasDescription","baseClassName","ios","desktop","baseStyle","maxWidth","div","className","container","level","weight","Component","Provider","value","sizeY","testId","mode"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,+BAA+B,QAAQ,iDAA8C;AAC9F,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,iBAAiB,QAAQ,6CAA0C;AAC5E,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,KAAK,QAAQ,+BAA4B;AAClD,SAASC,wBAAwB,QAAQ,gCAA6B;AACtE,OAAOC,YAAY,6BAA6B;AAwEhD;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,MAAM,EACvBC,WAAW,EACXC,uBAAuB,MAAM,EAC7BC,QAAQ,EACRC,OAAO,EACPC,OAAO,EACPC,eAAe,QAAQ,EACvBC,MAAMC,QAAQ,EACdC,wBAAwB,EACxBC,oBAAoB,SAAS,EAC7BC,YAAY,EACZ,GAAGC,WACgB;IACnB,MAAMC,WAAWxB;IACjB,MAAM,EAAEyB,SAAS,EAAE,GAAG1B;IAEtB,MAAMmB,OAAOO,YAAYN,WAAWO;IACpC,MAAMC,eACJ,CAAClB,QACAY,CAAAA,sBAAsB,YACpBG,aAAa,SAAS,CAACC,aAAaJ,sBAAsB,MAAM;IAErE,MAAMO,WAAW9B,aAAaY;IAC9B,MAAMmB,iBAAiB/B,aAAac;IACpC,qBACE,KAACV;QACE,GAAGqB,SAAS;QACbO,eAAejC,WACb,6BACA2B,aAAa,SAASjB,OAAOwB,GAAG,EAChCN,aAAalB,OAAOyB,OAAO,EAC3BL,gBAAgBpB,OAAOoB,YAAY;QAErCM,WAAW;YACTC,UAAUhB;QACZ;kBAEA,cAAA,MAACiB;YAAIC,WAAW7B,OAAO8B,SAAS;;gBAC7BvC,aAAaW,uBAAS,KAAC0B;oBAAIC,WAAW7B,OAAOE,IAAI;8BAAGA;;gBACpDX,aAAaY,wBACZ,KAACL;oBAAMiC,OAAM;oBAAIC,QAAO;oBAAIH,WAAW7B,OAAOG,KAAK;oBAAE8B,WAAW7B;8BAC7DD;;gBAGJkB,YAAYC,gCAAkB,KAAC1B;oBAAQe,MAAM;;gBAC7CW,gCACC,KAAC5B,kBAAkBwC,QAAQ;oBAACC,OAAO;wBAAEC,OAAO;oBAAU;8BACpD,cAAA,KAACvC;wBAAQgC,WAAW7B,OAAOK,WAAW;wBAAE4B,WAAW3B;kCAChDD;;;gBAKNE;gBAEAhB,aAAaiB,0BAAY,KAACoB;oBAAIC,WAAW7B,OAAOQ,OAAO;8BAAGA;;gBAE1DM,sBAAsB,wBACrB,KAACf;oBACCsC,QAAQxB;oBACRJ,SAASA;oBACT6B,MAAMxB;8BAELJ;;;;;AAMb,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ModalCardBase/ModalCardBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon20Cancel, Icon24Dismiss } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { AdaptivityContext } from '../AdaptivityProvider/AdaptivityContext';\nimport { ModalOutsideButton } from '../ModalOutsideButton/ModalOutsideButton';\nimport { ModalOutsideButtons } from '../ModalOutsideButtons/ModalOutsideButtons';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Spacing } from '../Spacing/Spacing';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Title } from '../Typography/Title/Title';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './ModalCardBase.module.css';\n\nexport interface ModalCardBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'title'> {\n /**\n * Иконка.\n *\n * Может быть компонентом иконки, например, `<Icon56MoneyTransferOutline />`, или `<Avatar size={72} src=\"\" />`\n */\n icon?: React.ReactNode;\n\n /**\n * Заголовок карточки\n */\n title?: React.ReactNode;\n /* Позволяет поменять тег используемый для заголовка */\n titleComponent?: React.ElementType;\n /* Позволяет задать id для заголовка. Используется, чтобы связать модальное окно и title через aria-labelledby, тем самым задав модальному окну имя через title */\n titleId?: string;\n\n /**\n * Описание\n */\n description?: React.ReactNode;\n /* Позволяет поменять тег используемый для описания */\n descriptionComponent?: React.ElementType;\n\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button) с параметрами:\n *\n * - `size=\"l\" mode=\"primary\" stretched`\n * - `size=\"l\" mode=\"secondary\" stretched`\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `gap=\"s\" mode=\"horizontal\" stretched`\n * - `gap=\"m\" mode=\"vertical\" stretched`\n */\n actions?: React.ReactNode;\n\n onClose?: VoidFunction;\n\n /**\n * Текст кнопки закрытия. Делает ее доступной для ассистивных технологий\n */\n dismissLabel?: string;\n\n /**\n * Задаёт контенту максимальную ширину для десктопной версии.\n */\n size?: number;\n\n /**\n * Передает атрибут `data-testid` для кнопки закрытия\n */\n modalDismissButtonTestId?: string;\n /**\n * Расположение кнопки закрытия (внутри и вне `popout'a`)\n *\n * Доступно только в `compact`-режиме\n *\n * На `iOS` в `regular`-режиме всегда включен `inside`\n *\n * ⚠️ ВНИМАНИЕ: использование `none` скрывает крестик, это негативно сказывается на пользовательском опыте\n */\n dismissButtonMode?: 'inside' | 'outside' | 'none';\n /**\n * Позволяет отключить возможность закрытия модальной страницы (смахивание, клавиша `ESC`, клик по подложке)\n *\n * ⚠️ ВНИМАНИЕ: использование этой опции негативно сказывается на пользовательском опыте\n */\n preventClose?: boolean;\n /**\n * Управляющие элементы под кнопкой закрытия.\n *\n * Доступно только в `compact`-режиме. Рекомендуется размещать иконки размера 20, обернутые в ModalOutsideButton\n *\n */\n outsideButtons?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalCardBase\n */\nexport const ModalCardBase = ({\n icon,\n title,\n titleComponent = 'span',\n description,\n descriptionComponent = 'span',\n children,\n actions,\n onClose,\n dismissLabel = 'Закрыть',\n size: sizeProp,\n modalDismissButtonTestId,\n dismissButtonMode = 'outside',\n preventClose,\n outsideButtons,\n titleId,\n ...restProps\n}: ModalCardBaseProps): React.ReactNode => {\n const platform = usePlatform();\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n const size = isDesktop ? sizeProp : undefined;\n const withSafeZone =\n !icon &&\n (dismissButtonMode === 'inside' ||\n (platform === 'ios' && !isDesktop && dismissButtonMode !== 'none'));\n\n const hasTitle = hasReactNode(title);\n const hasDescription = hasReactNode(description);\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n 'vkuiInternalModalCardBase',\n platform === 'ios' && styles.ios,\n isDesktop && styles.desktop,\n withSafeZone && styles.withSafeZone,\n )}\n baseStyle={{\n maxWidth: size,\n }}\n >\n <div className={styles.container}>\n {hasReactNode(icon) && <div className={styles.icon}>{icon}</div>}\n {hasReactNode(title) && (\n <Title\n id={titleId}\n level=\"2\"\n weight=\"2\"\n className={styles.title}\n Component={titleComponent}\n >\n {title}\n </Title>\n )}\n {hasTitle && hasDescription && <Spacing size={8} />}\n {hasDescription && (\n <AdaptivityContext.Provider value={{ sizeY: 'regular' }}>\n <Subhead className={styles.description} Component={descriptionComponent}>\n {description}\n </Subhead>\n </AdaptivityContext.Provider>\n )}\n\n {children}\n\n {hasReactNode(actions) && <div className={styles.actions}>{actions}</div>}\n\n {isDesktop && (dismissButtonMode === 'outside' || outsideButtons) && (\n <ModalOutsideButtons>\n {dismissButtonMode === 'outside' && (\n <ModalOutsideButton\n aria-label={dismissLabel}\n data-testid={modalDismissButtonTestId}\n onClick={onClose}\n >\n <Icon20Cancel />\n </ModalOutsideButton>\n )}\n {outsideButtons}\n </ModalOutsideButtons>\n )}\n\n {(dismissButtonMode === 'inside' ||\n (platform === 'ios' && !isDesktop && dismissButtonMode !== 'none')) && (\n <Tappable\n className={styles.dismiss}\n onClick={onClose}\n hoverMode=\"opacity\"\n activeMode=\"opacity\"\n data-testid={modalDismissButtonTestId}\n >\n <VisuallyHidden>{dismissLabel}</VisuallyHidden>\n {platform === 'ios' ? <Icon24Dismiss /> : <Icon20Cancel />}\n </Tappable>\n )}\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","Icon20Cancel","Icon24Dismiss","classNames","hasReactNode","useAdaptivityWithJSMediaQueries","usePlatform","AdaptivityContext","ModalOutsideButton","ModalOutsideButtons","RootComponent","Spacing","Tappable","Subhead","Title","VisuallyHidden","styles","ModalCardBase","icon","title","titleComponent","description","descriptionComponent","children","actions","onClose","dismissLabel","size","sizeProp","modalDismissButtonTestId","dismissButtonMode","preventClose","outsideButtons","titleId","restProps","platform","isDesktop","undefined","withSafeZone","hasTitle","hasDescription","baseClassName","ios","desktop","baseStyle","maxWidth","div","className","container","id","level","weight","Component","Provider","value","sizeY","aria-label","data-testid","onClick","dismiss","hoverMode","activeMode"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,EAAEC,aAAa,QAAQ,mBAAmB;AAC/D,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,+BAA+B,QAAQ,iDAA8C;AAC9F,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,iBAAiB,QAAQ,6CAA0C;AAC5E,SAASC,kBAAkB,QAAQ,8CAA2C;AAC9E,SAASC,mBAAmB,QAAQ,gDAA6C;AACjF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,KAAK,QAAQ,+BAA4B;AAClD,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,6BAA6B;AAiFhD;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,IAAI,EACJC,KAAK,EACLC,iBAAiB,MAAM,EACvBC,WAAW,EACXC,uBAAuB,MAAM,EAC7BC,QAAQ,EACRC,OAAO,EACPC,OAAO,EACPC,eAAe,SAAS,EACxBC,MAAMC,QAAQ,EACdC,wBAAwB,EACxBC,oBAAoB,SAAS,EAC7BC,YAAY,EACZC,cAAc,EACdC,OAAO,EACP,GAAGC,WACgB;IACnB,MAAMC,WAAW7B;IACjB,MAAM,EAAE8B,SAAS,EAAE,GAAG/B;IAEtB,MAAMsB,OAAOS,YAAYR,WAAWS;IACpC,MAAMC,eACJ,CAACpB,QACAY,CAAAA,sBAAsB,YACpBK,aAAa,SAAS,CAACC,aAAaN,sBAAsB,MAAM;IAErE,MAAMS,WAAWnC,aAAae;IAC9B,MAAMqB,iBAAiBpC,aAAaiB;IACpC,qBACE,KAACX;QACE,GAAGwB,SAAS;QACbO,eAAetC,WACb,6BACAgC,aAAa,SAASnB,OAAO0B,GAAG,EAChCN,aAAapB,OAAO2B,OAAO,EAC3BL,gBAAgBtB,OAAOsB,YAAY;QAErCM,WAAW;YACTC,UAAUlB;QACZ;kBAEA,cAAA,MAACmB;YAAIC,WAAW/B,OAAOgC,SAAS;;gBAC7B5C,aAAac,uBAAS,KAAC4B;oBAAIC,WAAW/B,OAAOE,IAAI;8BAAGA;;gBACpDd,aAAae,wBACZ,KAACL;oBACCmC,IAAIhB;oBACJiB,OAAM;oBACNC,QAAO;oBACPJ,WAAW/B,OAAOG,KAAK;oBACvBiC,WAAWhC;8BAEVD;;gBAGJoB,YAAYC,gCAAkB,KAAC7B;oBAAQgB,MAAM;;gBAC7Ca,gCACC,KAACjC,kBAAkB8C,QAAQ;oBAACC,OAAO;wBAAEC,OAAO;oBAAU;8BACpD,cAAA,KAAC1C;wBAAQkC,WAAW/B,OAAOK,WAAW;wBAAE+B,WAAW9B;kCAChDD;;;gBAKNE;gBAEAnB,aAAaoB,0BAAY,KAACsB;oBAAIC,WAAW/B,OAAOQ,OAAO;8BAAGA;;gBAE1DY,aAAcN,CAAAA,sBAAsB,aAAaE,cAAa,mBAC7D,MAACvB;;wBACEqB,sBAAsB,2BACrB,KAACtB;4BACCgD,cAAY9B;4BACZ+B,eAAa5B;4BACb6B,SAASjC;sCAET,cAAA,KAACxB;;wBAGJ+B;;;gBAIHF,CAAAA,sBAAsB,YACrBK,aAAa,SAAS,CAACC,aAAaN,sBAAsB,MAAM,mBACjE,MAAClB;oBACCmC,WAAW/B,OAAO2C,OAAO;oBACzBD,SAASjC;oBACTmC,WAAU;oBACVC,YAAW;oBACXJ,eAAa5B;;sCAEb,KAACd;sCAAgBW;;wBAChBS,aAAa,sBAAQ,KAACjC,mCAAmB,KAACD;;;;;;AAMvD,EAAE"}
@@ -1,13 +1,13 @@
1
1
  .container {
2
- box-sizing: border-box;
3
2
  position: relative;
4
- background: var(--vkui--color_background_modal);
5
- border-radius: 12px;
6
- padding: 16px;
3
+ box-sizing: border-box;
7
4
  display: flex;
8
5
  flex-direction: column;
9
6
  justify-content: center;
7
+ padding: 16px;
10
8
  pointer-events: initial;
9
+ background: var(--vkui--color_background_modal);
10
+ border-radius: 12px;
11
11
  box-shadow: var(--vkui--elevation3);
12
12
 
13
13
  --vkui_internal--background: var(--vkui--color_background_modal);
@@ -35,10 +35,10 @@
35
35
 
36
36
  .title,
37
37
  .description {
38
- text-align: center;
39
- margin: 0;
40
38
  padding-block: 0;
41
39
  padding-inline: 8px;
40
+ margin: 0;
41
+ text-align: center;
42
42
  word-break: break-word;
43
43
  }
44
44
 
@@ -65,8 +65,8 @@
65
65
  position: absolute;
66
66
  inset-block-start: 0;
67
67
  inset-inline-end: 0;
68
- color: var(--vkui--color_icon_secondary);
69
68
  padding: var(--vkui_internal--dismiss_icon_padding);
69
+ color: var(--vkui--color_icon_secondary);
70
70
  }
71
71
 
72
72
  /**