@vkontakte/vkui 8.0.1 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1368) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +8 -6
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +3 -0
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/AccordionIcon.d.ts +14 -0
  6. package/dist/components/Accordion/AccordionIcon.d.ts.map +1 -0
  7. package/dist/components/Accordion/AccordionIcon.js +16 -0
  8. package/dist/components/Accordion/AccordionIcon.js.map +1 -0
  9. package/dist/components/Accordion/AccordionSummary.d.ts +3 -3
  10. package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
  11. package/dist/components/Accordion/AccordionSummary.js +4 -6
  12. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  13. package/dist/components/ActionSheet/ActionSheet.d.ts +9 -9
  14. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  15. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  16. package/dist/components/ActionSheet/ActionSheetContext.d.ts +3 -3
  17. package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  18. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  19. package/dist/components/ActionSheet/types.d.ts +8 -8
  20. package/dist/components/ActionSheet/types.d.ts.map +1 -1
  21. package/dist/components/ActionSheet/types.js.map +1 -1
  22. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +15 -15
  23. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  24. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  25. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts +1 -1
  26. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts.map +1 -1
  27. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  28. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +7 -7
  29. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
  30. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  31. package/dist/components/Alert/Alert.d.ts +18 -18
  32. package/dist/components/Alert/Alert.d.ts.map +1 -1
  33. package/dist/components/Alert/Alert.js.map +1 -1
  34. package/dist/components/Alert/AlertBase.d.ts +2 -2
  35. package/dist/components/Alert/AlertBase.d.ts.map +1 -1
  36. package/dist/components/Alert/AlertBase.js.map +1 -1
  37. package/dist/components/Alert/AlertTypography.d.ts +1 -1
  38. package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
  39. package/dist/components/Alert/AlertTypography.js.map +1 -1
  40. package/dist/components/AppRoot/AppRoot.d.ts +9 -9
  41. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  42. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  43. package/dist/components/AppRoot/AppRootContext.d.ts +4 -4
  44. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  45. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  46. package/dist/components/AppRoot/AppRootPortal.d.ts +2 -2
  47. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  48. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  49. package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
  50. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  51. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  52. package/dist/components/AppRoot/types.d.ts +4 -4
  53. package/dist/components/AppRoot/types.d.ts.map +1 -1
  54. package/dist/components/AppRoot/types.js.map +1 -1
  55. package/dist/components/AspectRatio/AspectRatio.d.ts +2 -2
  56. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  57. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  58. package/dist/components/Avatar/Avatar.d.ts +2 -2
  59. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  60. package/dist/components/Avatar/Avatar.js.map +1 -1
  61. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
  62. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
  63. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  64. package/dist/components/Badge/Badge.d.ts +1 -1
  65. package/dist/components/Badge/Badge.d.ts.map +1 -1
  66. package/dist/components/Badge/Badge.js.map +1 -1
  67. package/dist/components/Banner/Banner.d.ts +12 -12
  68. package/dist/components/Banner/Banner.d.ts.map +1 -1
  69. package/dist/components/Banner/Banner.js.map +1 -1
  70. package/dist/components/Box/Box.d.ts +1 -1
  71. package/dist/components/Box/Box.d.ts.map +1 -1
  72. package/dist/components/Box/Box.js.map +1 -1
  73. package/dist/components/Button/Button.d.ts +11 -11
  74. package/dist/components/Button/Button.d.ts.map +1 -1
  75. package/dist/components/Button/Button.js +1 -1
  76. package/dist/components/Button/Button.js.map +1 -1
  77. package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -4
  78. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  79. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  80. package/dist/components/Calendar/Calendar.d.ts +17 -17
  81. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  82. package/dist/components/Calendar/Calendar.js.map +1 -1
  83. package/dist/components/CalendarDay/CalendarDay.d.ts +18 -18
  84. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  85. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  86. package/dist/components/CalendarDays/CalendarDays.d.ts +14 -14
  87. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  88. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  89. package/dist/components/CalendarHeader/CalendarHeader.d.ts +19 -19
  90. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  91. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  92. package/dist/components/CalendarRange/CalendarRange.d.ts +12 -12
  93. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  94. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  95. package/dist/components/CalendarTime/CalendarTime.d.ts +14 -14
  96. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  97. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  98. package/dist/components/CalendarTime/CalendarTimePicker.d.ts +3 -3
  99. package/dist/components/CalendarTime/CalendarTimePicker.d.ts.map +1 -1
  100. package/dist/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  101. package/dist/components/Card/Card.d.ts +1 -1
  102. package/dist/components/Card/Card.d.ts.map +1 -1
  103. package/dist/components/Card/Card.js.map +1 -1
  104. package/dist/components/CardGrid/CardGrid.d.ts +2 -2
  105. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  106. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  107. package/dist/components/CardScroll/CardScroll.d.ts +3 -3
  108. package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
  109. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  110. package/dist/components/CarouselBase/Bullets.d.ts +1 -1
  111. package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
  112. package/dist/components/CarouselBase/Bullets.js.map +1 -1
  113. package/dist/components/CarouselBase/CarouselViewPort.d.ts +1 -1
  114. package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -1
  115. package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -1
  116. package/dist/components/CarouselBase/ScrollArrows.d.ts +2 -2
  117. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  118. package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
  119. package/dist/components/CarouselBase/helpers.d.ts +4 -4
  120. package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
  121. package/dist/components/CarouselBase/helpers.js.map +1 -1
  122. package/dist/components/CarouselBase/types.d.ts +23 -23
  123. package/dist/components/CarouselBase/types.d.ts.map +1 -1
  124. package/dist/components/CarouselBase/types.js.map +1 -1
  125. package/dist/components/Cell/Cell.d.ts +8 -8
  126. package/dist/components/Cell/Cell.d.ts.map +1 -1
  127. package/dist/components/Cell/Cell.js.map +1 -1
  128. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  129. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts.map +1 -1
  130. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  131. package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -2
  132. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  133. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  134. package/dist/components/CellButton/CellButton.d.ts +16 -16
  135. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  136. package/dist/components/CellButton/CellButton.js.map +1 -1
  137. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +2 -2
  138. package/dist/components/Checkbox/Checkbox.d.ts +6 -6
  139. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  140. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  141. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +11 -11
  142. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  143. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  144. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  145. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  146. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  147. package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
  148. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  149. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  150. package/dist/components/ChipsInputBase/Chip/Chip.d.ts +9 -9
  151. package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
  152. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  153. package/dist/components/ChipsInputBase/types.d.ts +19 -19
  154. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  155. package/dist/components/ChipsInputBase/types.js.map +1 -1
  156. package/dist/components/ChipsSelect/ChipsSelect.d.ts +13 -13
  157. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  158. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  159. package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  160. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  161. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  162. package/dist/components/Clickable/Clickable.d.ts +1 -1
  163. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  164. package/dist/components/Clickable/Clickable.js.map +1 -1
  165. package/dist/components/Clickable/useState.d.ts +13 -13
  166. package/dist/components/Clickable/useState.d.ts.map +1 -1
  167. package/dist/components/Clickable/useState.js.map +1 -1
  168. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  169. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  170. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  171. package/dist/components/ContentBadge/ContentBadge.d.ts +4 -4
  172. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  173. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  174. package/dist/components/ContentCard/ContentCard.d.ts +8 -8
  175. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  176. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  177. package/dist/components/Counter/Counter.d.ts +4 -4
  178. package/dist/components/Counter/Counter.d.ts.map +1 -1
  179. package/dist/components/Counter/Counter.js.map +1 -1
  180. package/dist/components/CustomScrollView/CustomScrollView.d.ts +6 -6
  181. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  182. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  183. package/dist/components/CustomSelect/CustomSelect.d.ts +36 -27
  184. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  185. package/dist/components/CustomSelect/CustomSelect.js +2 -2
  186. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  187. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +2 -2
  188. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  189. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  190. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +9 -9
  191. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  192. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  193. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts +2 -2
  194. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts.map +1 -1
  195. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  196. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts +1 -1
  197. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts.map +1 -1
  198. package/dist/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  199. package/dist/components/CustomSelect/types.d.ts +1 -1
  200. package/dist/components/CustomSelect/types.d.ts.map +1 -1
  201. package/dist/components/CustomSelect/types.js.map +1 -1
  202. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +8 -8
  203. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  204. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  205. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +9 -9
  206. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
  207. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  208. package/dist/components/DateInput/DateInput.d.ts +23 -23
  209. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  210. package/dist/components/DateInput/DateInput.js +3 -12
  211. package/dist/components/DateInput/DateInput.js.map +1 -1
  212. package/dist/components/DateInput/hooks.d.ts +4 -4
  213. package/dist/components/DateInput/hooks.d.ts.map +1 -1
  214. package/dist/components/DateInput/hooks.js.map +1 -1
  215. package/dist/components/DateRangeInput/DateRangeInput.d.ts +25 -25
  216. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  217. package/dist/components/DateRangeInput/DateRangeInput.js +2 -11
  218. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  219. package/dist/components/DropZone/DropZone.d.ts +2 -2
  220. package/dist/components/DropZone/DropZone.d.ts.map +1 -1
  221. package/dist/components/DropZone/DropZone.js +1 -1
  222. package/dist/components/DropZone/DropZone.js.map +1 -1
  223. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.d.ts +1 -1
  224. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.d.ts.map +1 -0
  225. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +3 -3
  226. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  227. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  228. package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
  229. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  230. package/dist/components/Epic/Epic.d.ts +1 -1
  231. package/dist/components/Epic/Epic.d.ts.map +1 -1
  232. package/dist/components/Epic/Epic.js.map +1 -1
  233. package/dist/components/Epic/ScrollSaver.d.ts +1 -1
  234. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  235. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  236. package/dist/components/File/File.d.ts +4 -4
  237. package/dist/components/File/File.d.ts.map +1 -1
  238. package/dist/components/File/File.js.map +1 -1
  239. package/dist/components/FixedLayout/FixedLayout.d.ts +3 -3
  240. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  241. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  242. package/dist/components/Flex/Flex.d.ts +8 -8
  243. package/dist/components/Flex/Flex.d.ts.map +1 -1
  244. package/dist/components/Flex/Flex.js.map +1 -1
  245. package/dist/components/Flex/FlexItem/FlexItem.d.ts +1 -1
  246. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  247. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  248. package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -9
  249. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  250. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  251. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  252. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  253. package/dist/components/FocusTrap/FocusTrap.js +2 -4
  254. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  255. package/dist/components/FormField/FormField.d.ts +8 -8
  256. package/dist/components/FormField/FormField.d.ts.map +1 -1
  257. package/dist/components/FormField/FormField.js.map +1 -1
  258. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +2 -2
  259. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  260. package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  261. package/dist/components/FormItem/FormItem.d.ts +10 -10
  262. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  263. package/dist/components/FormItem/FormItem.js.map +1 -1
  264. package/dist/components/FormItem/context.d.ts +2 -2
  265. package/dist/components/FormItem/context.d.ts.map +1 -1
  266. package/dist/components/FormItem/context.js.map +1 -1
  267. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +4 -4
  268. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  269. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  270. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  271. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  272. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  273. package/dist/components/Gallery/Gallery.d.ts +2 -2
  274. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  275. package/dist/components/Gallery/Gallery.js.map +1 -1
  276. package/dist/components/Gradient/Gradient.d.ts +2 -2
  277. package/dist/components/Gradient/Gradient.d.ts.map +1 -1
  278. package/dist/components/Gradient/Gradient.js.map +1 -1
  279. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  280. package/dist/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  281. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  282. package/dist/components/Group/Group.d.ts +2 -2
  283. package/dist/components/Group/Group.d.ts.map +1 -1
  284. package/dist/components/Group/Group.js.map +1 -1
  285. package/dist/components/Group/GroupContainer.d.ts +3 -3
  286. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  287. package/dist/components/Group/GroupContainer.js.map +1 -1
  288. package/dist/components/Group/GroupExpandedContent.d.ts +1 -1
  289. package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
  290. package/dist/components/Group/GroupExpandedContent.js.map +1 -1
  291. package/dist/components/Header/Header.d.ts +11 -11
  292. package/dist/components/Header/Header.d.ts.map +1 -1
  293. package/dist/components/Header/Header.js.map +1 -1
  294. package/dist/components/HorizontalCell/HorizontalCell.d.ts +7 -7
  295. package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
  296. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  297. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +4 -4
  298. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  299. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  300. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +30 -15
  301. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  302. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -6
  303. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  304. package/dist/components/IconButton/IconButton.d.ts +1 -1
  305. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  306. package/dist/components/IconButton/IconButton.js.map +1 -1
  307. package/dist/components/Image/Image.d.ts +5 -5
  308. package/dist/components/Image/Image.d.ts.map +1 -1
  309. package/dist/components/Image/Image.js.map +1 -1
  310. package/dist/components/ImageBase/ImageBase.d.ts +17 -15
  311. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  312. package/dist/components/ImageBase/ImageBase.js +9 -5
  313. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  314. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
  315. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
  316. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  317. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +3 -3
  318. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
  319. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  320. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +3 -3
  321. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  322. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  323. package/dist/components/ImageBase/types.d.ts +3 -3
  324. package/dist/components/ImageBase/types.d.ts.map +1 -1
  325. package/dist/components/ImageBase/types.js.map +1 -1
  326. package/dist/components/Input/Input.d.ts +4 -4
  327. package/dist/components/Input/Input.d.ts.map +1 -1
  328. package/dist/components/Input/Input.js.map +1 -1
  329. package/dist/components/InputLike/InputLike.d.ts +3 -3
  330. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  331. package/dist/components/InputLike/InputLike.js.map +1 -1
  332. package/dist/components/Link/Link.d.ts +4 -4
  333. package/dist/components/Link/Link.d.ts.map +1 -1
  334. package/dist/components/Link/Link.js.map +1 -1
  335. package/dist/components/List/List.d.ts +1 -1
  336. package/dist/components/List/List.d.ts.map +1 -1
  337. package/dist/components/List/List.js.map +1 -1
  338. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +5 -5
  339. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  340. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  341. package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
  342. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  343. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  344. package/dist/components/ModalCard/types.d.ts +13 -13
  345. package/dist/components/ModalCard/types.d.ts.map +1 -1
  346. package/dist/components/ModalCard/types.js.map +1 -1
  347. package/dist/components/ModalCardBase/ModalCardBase.d.ts +14 -14
  348. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  349. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  350. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  351. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  352. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  353. package/dist/components/ModalOutlet/ModalOutlet.d.ts +3 -3
  354. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  355. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  356. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
  357. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -1
  358. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  359. package/dist/components/ModalOverlay/ModalOverlay.d.ts +7 -7
  360. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  361. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
  362. package/dist/components/ModalPage/ModalPageBase.d.ts +2 -2
  363. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  364. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  365. package/dist/components/ModalPage/ModalPageInternal.d.ts +2 -2
  366. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  367. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  368. package/dist/components/ModalPage/types.d.ts +27 -27
  369. package/dist/components/ModalPage/types.d.ts.map +1 -1
  370. package/dist/components/ModalPage/types.js.map +1 -1
  371. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +2 -2
  372. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  373. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  374. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
  375. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  376. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  377. package/dist/components/ModalRoot/types.d.ts +15 -15
  378. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  379. package/dist/components/ModalRoot/types.js.map +1 -1
  380. package/dist/components/ModalRoot/useModalRootManager.d.ts +19 -19
  381. package/dist/components/ModalRoot/useModalRootManager.d.ts.map +1 -1
  382. package/dist/components/ModalRoot/useModalRootManager.js.map +1 -1
  383. package/dist/components/NativeSelect/NativeSelect.d.ts +11 -11
  384. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  385. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  386. package/dist/components/NumberInputLike/NumberInputLike.d.ts +3 -3
  387. package/dist/components/NumberInputLike/NumberInputLike.d.ts.map +1 -1
  388. package/dist/components/NumberInputLike/NumberInputLike.js.map +1 -1
  389. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +6 -6
  390. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  391. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  392. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  393. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  394. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  395. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  396. package/dist/components/Pagination/Pagination.d.ts +19 -19
  397. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  398. package/dist/components/Pagination/Pagination.js +14 -6
  399. package/dist/components/Pagination/Pagination.js.map +1 -1
  400. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts +3 -3
  401. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  402. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  403. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +3 -3
  404. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  405. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  406. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +1 -1
  407. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  408. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  409. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +3 -3
  410. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  411. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  412. package/dist/components/Panel/Panel.d.ts +3 -3
  413. package/dist/components/Panel/Panel.d.ts.map +1 -1
  414. package/dist/components/Panel/Panel.js.map +1 -1
  415. package/dist/components/PanelHeader/PanelHeader.d.ts +8 -8
  416. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  417. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  418. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  419. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  420. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  421. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +2 -2
  422. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  423. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  424. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -3
  425. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  426. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  427. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
  428. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
  429. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  430. package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
  431. package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
  432. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  433. package/dist/components/Placeholder/Placeholder.d.ts +5 -5
  434. package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
  435. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  436. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +6 -6
  437. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  438. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  439. package/dist/components/Popover/Popover.d.ts +5 -5
  440. package/dist/components/Popover/Popover.d.ts.map +1 -1
  441. package/dist/components/Popover/Popover.js.map +1 -1
  442. package/dist/components/Popper/Popper.d.ts +4 -4
  443. package/dist/components/Popper/Popper.d.ts.map +1 -1
  444. package/dist/components/Popper/Popper.js +13 -7
  445. package/dist/components/Popper/Popper.js.map +1 -1
  446. package/dist/components/Progress/Progress.d.ts +4 -4
  447. package/dist/components/Progress/Progress.d.ts.map +1 -1
  448. package/dist/components/Progress/Progress.js.map +1 -1
  449. package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
  450. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  451. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  452. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +4 -4
  453. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  454. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  455. package/dist/components/Radio/Radio.d.ts +7 -7
  456. package/dist/components/Radio/Radio.d.ts.map +1 -1
  457. package/dist/components/Radio/Radio.js +2 -2
  458. package/dist/components/Radio/Radio.js.map +1 -1
  459. package/dist/components/Radio/RadioInput/RadioInput.d.ts +4 -4
  460. package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
  461. package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
  462. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  463. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  464. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  465. package/dist/components/Removable/Removable.d.ts +9 -9
  466. package/dist/components/Removable/Removable.d.ts.map +1 -1
  467. package/dist/components/Removable/Removable.js.map +1 -1
  468. package/dist/components/Removable/RemovableIos.d.ts +3 -3
  469. package/dist/components/Removable/RemovableIos.d.ts.map +1 -1
  470. package/dist/components/Removable/RemovableIos.js.map +1 -1
  471. package/dist/components/RichCell/RichCell.d.ts +15 -15
  472. package/dist/components/RichCell/RichCell.d.ts.map +1 -1
  473. package/dist/components/RichCell/RichCell.js.map +1 -1
  474. package/dist/components/Root/Root.d.ts +4 -4
  475. package/dist/components/Root/Root.d.ts.map +1 -1
  476. package/dist/components/Root/Root.js.map +1 -1
  477. package/dist/components/RootComponent/RootComponent.d.ts +2 -2
  478. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  479. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  480. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -1
  481. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
  482. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  483. package/dist/components/ScreenSpinner/context.d.ts +2 -2
  484. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  485. package/dist/components/ScreenSpinner/context.js.map +1 -1
  486. package/dist/components/ScreenSpinner/types.d.ts +5 -5
  487. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  488. package/dist/components/ScreenSpinner/types.js.map +1 -1
  489. package/dist/components/ScrollArrow/ScrollArrow.d.ts +10 -4
  490. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  491. package/dist/components/ScrollArrow/ScrollArrow.js +14 -4
  492. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  493. package/dist/components/Search/Search.d.ts +17 -17
  494. package/dist/components/Search/Search.d.ts.map +1 -1
  495. package/dist/components/Search/Search.js.map +1 -1
  496. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -6
  497. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  498. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  499. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  500. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  501. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  502. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  503. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  504. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  505. package/dist/components/SelectTypography/SelectTypography.d.ts +1 -1
  506. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  507. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  508. package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
  509. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
  510. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  511. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +2 -2
  512. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  513. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  514. package/dist/components/Separator/Separator.d.ts +5 -5
  515. package/dist/components/Separator/Separator.d.ts.map +1 -1
  516. package/dist/components/Separator/Separator.js.map +1 -1
  517. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +1 -1
  518. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  519. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  520. package/dist/components/SimpleCell/SimpleCell.d.ts +14 -14
  521. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  522. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  523. package/dist/components/SimpleGrid/SimpleGrid.d.ts +6 -6
  524. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  525. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  526. package/dist/components/Skeleton/Skeleton.d.ts +5 -5
  527. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  528. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  529. package/dist/components/Slider/Slider.d.ts +17 -17
  530. package/dist/components/Slider/Slider.d.ts.map +1 -1
  531. package/dist/components/Slider/Slider.js.map +1 -1
  532. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +5 -5
  533. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  534. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  535. package/dist/components/Snackbar/Snackbar.d.ts +10 -10
  536. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  537. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  538. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
  539. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts.map +1 -1
  540. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  541. package/dist/components/Snackbar/utils.d.ts +1 -1
  542. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  543. package/dist/components/Snackbar/utils.js.map +1 -1
  544. package/dist/components/Spacing/Spacing.d.ts +2 -2
  545. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  546. package/dist/components/Spacing/Spacing.js.map +1 -1
  547. package/dist/components/Spinner/Spinner.d.ts +4 -4
  548. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  549. package/dist/components/Spinner/Spinner.js.map +1 -1
  550. package/dist/components/SplitCol/SplitCol.d.ts +7 -7
  551. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  552. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  553. package/dist/components/SplitLayout/SplitLayout.d.ts +8 -8
  554. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  555. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  556. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -2
  557. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  558. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  559. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +8 -8
  560. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  561. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  562. package/dist/components/Switch/Switch.d.ts +4 -4
  563. package/dist/components/Switch/Switch.d.ts.map +1 -1
  564. package/dist/components/Switch/Switch.js.map +1 -1
  565. package/dist/components/Tabbar/Tabbar.d.ts +2 -2
  566. package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
  567. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  568. package/dist/components/TabbarItem/TabbarItem.d.ts +3 -3
  569. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  570. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  571. package/dist/components/Tabs/Tabs.d.ts +7 -7
  572. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  573. package/dist/components/Tabs/Tabs.js.map +1 -1
  574. package/dist/components/Tabs/TabsModeContext.d.ts +1 -1
  575. package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
  576. package/dist/components/Tabs/TabsModeContext.js.map +1 -1
  577. package/dist/components/TabsItem/TabsItem.d.ts +5 -5
  578. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  579. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  580. package/dist/components/Tappable/Tappable.d.ts +3 -3
  581. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  582. package/dist/components/Tappable/Tappable.js.map +1 -1
  583. package/dist/components/Tappable/state.d.ts +2 -2
  584. package/dist/components/Tappable/state.d.ts.map +1 -1
  585. package/dist/components/Tappable/state.js.map +1 -1
  586. package/dist/components/Textarea/Textarea.d.ts +6 -6
  587. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  588. package/dist/components/Textarea/Textarea.js.map +1 -1
  589. package/dist/components/ToolButton/ToolButton.d.ts +4 -4
  590. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  591. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  592. package/dist/components/Tooltip/Tooltip.d.ts +6 -6
  593. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  594. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  595. package/dist/components/TooltipBase/TooltipBase.d.ts +10 -10
  596. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  597. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  598. package/dist/components/Touch/Touch.d.ts +16 -16
  599. package/dist/components/Touch/Touch.d.ts.map +1 -1
  600. package/dist/components/Touch/Touch.js.map +1 -1
  601. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  602. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  603. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  604. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
  605. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  606. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  607. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
  608. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts.map +1 -1
  609. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  610. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  611. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  612. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  613. package/dist/components/Typography/Title/Title.d.ts +1 -1
  614. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  615. package/dist/components/Typography/Title/Title.js.map +1 -1
  616. package/dist/components/Typography/Typography.d.ts +6 -6
  617. package/dist/components/Typography/Typography.d.ts.map +1 -1
  618. package/dist/components/Typography/Typography.js.map +1 -1
  619. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +1 -1
  620. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  621. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  622. package/dist/components/UsersStack/UsersStack.d.ts +6 -6
  623. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  624. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  625. package/dist/components/View/View.d.ts +4 -4
  626. package/dist/components/View/View.d.ts.map +1 -1
  627. package/dist/components/View/View.js.map +1 -1
  628. package/dist/components/View/ViewInfinite.d.ts +12 -12
  629. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  630. package/dist/components/View/ViewInfinite.js.map +1 -1
  631. package/dist/components/WriteBar/WriteBar.d.ts +10 -10
  632. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  633. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  634. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +3 -3
  635. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
  636. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  637. package/dist/components.css +1 -1
  638. package/dist/components.css.map +1 -1
  639. package/dist/cssm/components/Accordion/Accordion.js +3 -0
  640. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  641. package/dist/cssm/components/Accordion/AccordionIcon.js +17 -0
  642. package/dist/cssm/components/Accordion/AccordionIcon.js.map +1 -0
  643. package/dist/cssm/components/Accordion/AccordionSummary.js +4 -7
  644. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  645. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  646. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  647. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  648. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  649. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  650. package/dist/cssm/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  651. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  652. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  653. package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
  654. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  655. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  656. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  657. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  658. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  659. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  660. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  661. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  662. package/dist/cssm/components/Avatar/Avatar.module.css +0 -5
  663. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  664. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  665. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  666. package/dist/cssm/components/Box/Box.js.map +1 -1
  667. package/dist/cssm/components/Button/Button.js +1 -1
  668. package/dist/cssm/components/Button/Button.js.map +1 -1
  669. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  670. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  671. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  672. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  673. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  674. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  675. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  676. package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  677. package/dist/cssm/components/Card/Card.js.map +1 -1
  678. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  679. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  680. package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
  681. package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
  682. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  683. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  684. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  685. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  686. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  687. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  688. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  689. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  690. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  691. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  692. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  693. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  694. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  695. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  696. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  697. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  698. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  699. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  700. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  701. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  702. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  703. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  704. package/dist/cssm/components/CustomSelect/CustomSelect.js +2 -2
  705. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  706. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +0 -6
  707. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  708. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  709. package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  710. package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  711. package/dist/cssm/components/CustomSelect/types.js.map +1 -1
  712. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  713. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  714. package/dist/cssm/components/DateInput/DateInput.js +3 -12
  715. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  716. package/dist/cssm/components/DateInput/hooks.js.map +1 -1
  717. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -11
  718. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  719. package/dist/cssm/components/DropZone/DropZone.js +1 -1
  720. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  721. package/dist/cssm/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  722. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  723. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  724. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  725. package/dist/cssm/components/File/File.js.map +1 -1
  726. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  727. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  728. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  729. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  730. package/dist/cssm/components/FocusTrap/FocusTrap.js +2 -4
  731. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  732. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  733. package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  734. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  735. package/dist/cssm/components/FormItem/FormItem.module.css +1 -2
  736. package/dist/cssm/components/FormItem/context.js.map +1 -1
  737. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  738. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  739. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  740. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  741. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  742. package/dist/cssm/components/Group/Group.js.map +1 -1
  743. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  744. package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
  745. package/dist/cssm/components/Header/Header.js.map +1 -1
  746. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  747. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  748. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -6
  749. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  750. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  751. package/dist/cssm/components/Image/Image.js.map +1 -1
  752. package/dist/cssm/components/ImageBase/ImageBase.js +9 -5
  753. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  754. package/dist/cssm/components/ImageBase/ImageBase.module.css +11 -3
  755. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  756. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  757. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  759. package/dist/cssm/components/Input/Input.js.map +1 -1
  760. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  761. package/dist/cssm/components/Link/Link.js.map +1 -1
  762. package/dist/cssm/components/List/List.js.map +1 -1
  763. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  764. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  765. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  766. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  767. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +0 -4
  768. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  769. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  770. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  771. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
  772. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  773. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  774. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  775. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  776. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  777. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  778. package/dist/cssm/components/ModalRoot/useModalRootManager.js.map +1 -1
  779. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  780. package/dist/cssm/components/NumberInputLike/NumberInputLike.js.map +1 -1
  781. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  782. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  783. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  784. package/dist/cssm/components/Pagination/Pagination.js +14 -6
  785. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  786. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  787. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  788. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  789. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  790. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  791. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  792. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -5
  793. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  794. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  795. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  796. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  797. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  798. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  799. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  800. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  801. package/dist/cssm/components/Popper/Popper.js +13 -7
  802. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  803. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  804. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  805. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  806. package/dist/cssm/components/Radio/Radio.js +2 -2
  807. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  808. package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
  809. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  810. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  811. package/dist/cssm/components/Removable/Removable.module.css +0 -4
  812. package/dist/cssm/components/Removable/RemovableIos.js.map +1 -1
  813. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  814. package/dist/cssm/components/Root/Root.js.map +1 -1
  815. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  816. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  817. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  818. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  819. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +14 -4
  820. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  821. package/dist/cssm/components/Search/Search.js.map +1 -1
  822. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  823. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  824. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  825. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  826. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  827. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  828. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  829. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  830. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  831. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  832. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  833. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  834. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  835. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  836. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  837. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  838. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  839. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  840. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  841. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  842. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  843. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  844. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  845. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  846. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  847. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  848. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  849. package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
  850. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  851. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  852. package/dist/cssm/components/Tappable/state.js.map +1 -1
  853. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  854. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  855. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  856. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  857. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  858. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  859. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  860. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  861. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  862. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  863. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  864. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  865. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  866. package/dist/cssm/components/View/View.js.map +1 -1
  867. package/dist/cssm/components/View/View.module.css +1 -3
  868. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  869. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  870. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  871. package/dist/cssm/helpers/math.js.map +1 -1
  872. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  873. package/dist/cssm/hooks/useAutoDetectColorScheme.js +8 -27
  874. package/dist/cssm/hooks/useAutoDetectColorScheme.js.map +1 -1
  875. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  876. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  877. package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
  878. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  879. package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
  880. package/dist/cssm/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  881. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +10 -2
  882. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  883. package/dist/cssm/hooks/useFocusVisibleClassName.js.map +1 -1
  884. package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
  885. package/dist/cssm/hooks/useMediaQueryMatch.js +25 -0
  886. package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -0
  887. package/dist/cssm/hooks/useMergeProps.js.map +1 -1
  888. package/dist/cssm/hooks/useModalManager/types.js.map +1 -1
  889. package/dist/cssm/hooks/usePagination.js.map +1 -1
  890. package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
  891. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +2 -2
  892. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  893. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  894. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  895. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +3 -3
  896. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  897. package/dist/cssm/hooks/useSnackbarManager/types.js.map +1 -1
  898. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  899. package/dist/cssm/index.js +1 -1
  900. package/dist/cssm/index.js.map +1 -1
  901. package/dist/cssm/lib/SSR.js.map +1 -1
  902. package/dist/cssm/lib/accessibility.js.map +1 -1
  903. package/dist/cssm/lib/adaptivity/functions.js +6 -0
  904. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  905. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  906. package/dist/cssm/lib/animation/useCSSTransition.js +4 -2
  907. package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
  908. package/dist/cssm/lib/animation/useReducedMotion.js +2 -20
  909. package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
  910. package/dist/cssm/lib/calendar.js.map +1 -1
  911. package/dist/cssm/lib/date.js.map +1 -1
  912. package/dist/cssm/lib/dom.js.map +1 -1
  913. package/dist/cssm/lib/floating/functions.js.map +1 -1
  914. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  915. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  916. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  917. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  918. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  919. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  920. package/dist/cssm/lib/getNavId.js.map +1 -1
  921. package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
  922. package/dist/cssm/lib/layouts/types.js.map +1 -1
  923. package/dist/cssm/lib/select.js.map +1 -1
  924. package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -1
  925. package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -1
  926. package/dist/cssm/lib/tokens/types.js.map +1 -1
  927. package/dist/cssm/lib/utils.js +3 -0
  928. package/dist/cssm/lib/utils.js.map +1 -1
  929. package/dist/cssm/types.js +4 -1
  930. package/dist/cssm/types.js.map +1 -1
  931. package/dist/helpers/math.d.ts +1 -1
  932. package/dist/helpers/math.d.ts.map +1 -1
  933. package/dist/helpers/math.js.map +1 -1
  934. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts +5 -1
  935. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts.map +1 -1
  936. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  937. package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
  938. package/dist/hooks/useAutoDetectColorScheme.js +8 -27
  939. package/dist/hooks/useAutoDetectColorScheme.js.map +1 -1
  940. package/dist/hooks/useCalendar.d.ts +1 -1
  941. package/dist/hooks/useCalendar.d.ts.map +1 -1
  942. package/dist/hooks/useCalendar.js.map +1 -1
  943. package/dist/hooks/useDateInput.d.ts +5 -5
  944. package/dist/hooks/useDateInput.d.ts.map +1 -1
  945. package/dist/hooks/useDateInput.js.map +1 -1
  946. package/dist/hooks/useDraggableWithDomApi/types.d.ts +1 -1
  947. package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  948. package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
  949. package/dist/hooks/useEnsuredControl.d.ts +4 -4
  950. package/dist/hooks/useEnsuredControl.d.ts.map +1 -1
  951. package/dist/hooks/useEnsuredControl.js.map +1 -1
  952. package/dist/hooks/useFloatingElement.d.ts +4 -4
  953. package/dist/hooks/useFloatingElement.d.ts.map +1 -1
  954. package/dist/hooks/useFloatingElement.js.map +1 -1
  955. package/dist/hooks/useFocusTrap/FocusGuard.d.ts +1 -1
  956. package/dist/hooks/useFocusTrap/FocusGuard.d.ts.map +1 -1
  957. package/dist/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  958. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +6 -10
  959. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
  960. package/dist/hooks/useFocusTrap/useFocusTrap.js +10 -2
  961. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  962. package/dist/hooks/useFocusVisibleClassName.d.ts +3 -3
  963. package/dist/hooks/useFocusVisibleClassName.d.ts.map +1 -1
  964. package/dist/hooks/useFocusVisibleClassName.js.map +1 -1
  965. package/dist/hooks/useGlobalEscKeyDown.d.ts +1 -1
  966. package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
  967. package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
  968. package/dist/hooks/useMediaQueryMatch.d.ts +6 -0
  969. package/dist/hooks/useMediaQueryMatch.d.ts.map +1 -0
  970. package/dist/hooks/useMediaQueryMatch.js +25 -0
  971. package/dist/hooks/useMediaQueryMatch.js.map +1 -0
  972. package/dist/hooks/useMergeProps.d.ts +1 -1
  973. package/dist/hooks/useMergeProps.d.ts.map +1 -1
  974. package/dist/hooks/useMergeProps.js.map +1 -1
  975. package/dist/hooks/useModalManager/types.d.ts +8 -8
  976. package/dist/hooks/useModalManager/types.d.ts.map +1 -1
  977. package/dist/hooks/useModalManager/types.js.map +1 -1
  978. package/dist/hooks/usePagination.d.ts +4 -4
  979. package/dist/hooks/usePagination.d.ts.map +1 -1
  980. package/dist/hooks/usePagination.js.map +1 -1
  981. package/dist/hooks/usePatchChildren.d.ts +1 -1
  982. package/dist/hooks/usePatchChildren.d.ts.map +1 -1
  983. package/dist/hooks/usePatchChildren.js.map +1 -1
  984. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.d.ts → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts} +1 -1
  985. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts.map +1 -0
  986. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +10 -10
  987. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  988. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.d.ts.map +1 -1
  989. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  990. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  991. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.d.ts → SnackbarsContainer/SnackbarsContainer.d.ts} +2 -2
  992. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.d.ts.map +1 -0
  993. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +10 -10
  994. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  995. package/dist/hooks/useSnackbarManager/types.d.ts +11 -11
  996. package/dist/hooks/useSnackbarManager/types.d.ts.map +1 -1
  997. package/dist/hooks/useSnackbarManager/types.js.map +1 -1
  998. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +1 -1
  999. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
  1000. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  1001. package/dist/index.d.ts +3 -2
  1002. package/dist/index.d.ts.map +1 -1
  1003. package/dist/index.js +1 -1
  1004. package/dist/index.js.map +1 -1
  1005. package/dist/lib/SSR.d.ts +4 -4
  1006. package/dist/lib/SSR.d.ts.map +1 -1
  1007. package/dist/lib/SSR.js.map +1 -1
  1008. package/dist/lib/accessibility.d.ts +1 -1
  1009. package/dist/lib/accessibility.d.ts.map +1 -1
  1010. package/dist/lib/accessibility.js.map +1 -1
  1011. package/dist/lib/adaptivity/functions.d.ts.map +1 -1
  1012. package/dist/lib/adaptivity/functions.js +6 -0
  1013. package/dist/lib/adaptivity/functions.js.map +1 -1
  1014. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts +6 -6
  1015. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  1016. package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  1017. package/dist/lib/animation/useCSSTransition.d.ts +11 -11
  1018. package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
  1019. package/dist/lib/animation/useCSSTransition.js +4 -2
  1020. package/dist/lib/animation/useCSSTransition.js.map +1 -1
  1021. package/dist/lib/animation/useReducedMotion.d.ts.map +1 -1
  1022. package/dist/lib/animation/useReducedMotion.js +2 -20
  1023. package/dist/lib/animation/useReducedMotion.js.map +1 -1
  1024. package/dist/lib/calendar.d.ts +5 -5
  1025. package/dist/lib/calendar.d.ts.map +1 -1
  1026. package/dist/lib/calendar.js.map +1 -1
  1027. package/dist/lib/date.d.ts +10 -10
  1028. package/dist/lib/date.d.ts.map +1 -1
  1029. package/dist/lib/date.js.map +1 -1
  1030. package/dist/lib/dom.d.ts +2 -2
  1031. package/dist/lib/dom.d.ts.map +1 -1
  1032. package/dist/lib/dom.js.map +1 -1
  1033. package/dist/lib/floating/functions.d.ts +2 -2
  1034. package/dist/lib/floating/functions.d.ts.map +1 -1
  1035. package/dist/lib/floating/functions.js.map +1 -1
  1036. package/dist/lib/floating/types/component.d.ts +9 -9
  1037. package/dist/lib/floating/types/component.d.ts.map +1 -1
  1038. package/dist/lib/floating/types/component.js.map +1 -1
  1039. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +14 -14
  1040. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  1041. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  1042. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  1043. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +15 -15
  1044. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  1045. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  1046. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  1047. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  1048. package/dist/lib/getNavId.d.ts +2 -2
  1049. package/dist/lib/getNavId.d.ts.map +1 -1
  1050. package/dist/lib/getNavId.js.map +1 -1
  1051. package/dist/lib/layouts/resolveLayoutProps.d.ts +6 -6
  1052. package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
  1053. package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
  1054. package/dist/lib/layouts/types.d.ts +29 -29
  1055. package/dist/lib/layouts/types.d.ts.map +1 -1
  1056. package/dist/lib/layouts/types.js.map +1 -1
  1057. package/dist/lib/select.d.ts +2 -2
  1058. package/dist/lib/select.d.ts.map +1 -1
  1059. package/dist/lib/select.js.map +1 -1
  1060. package/dist/lib/sheet/useBottomSheet.d.ts +4 -4
  1061. package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
  1062. package/dist/lib/sheet/useBottomSheet.js.map +1 -1
  1063. package/dist/lib/tokens/TokensClassProvider.js.map +1 -1
  1064. package/dist/lib/tokens/types.d.ts +2 -2
  1065. package/dist/lib/tokens/types.d.ts.map +1 -1
  1066. package/dist/lib/tokens/types.js.map +1 -1
  1067. package/dist/lib/utils.d.ts +3 -3
  1068. package/dist/lib/utils.d.ts.map +1 -1
  1069. package/dist/lib/utils.js +3 -0
  1070. package/dist/lib/utils.js.map +1 -1
  1071. package/dist/types.d.ts +17 -10
  1072. package/dist/types.d.ts.map +1 -1
  1073. package/dist/types.js +4 -1
  1074. package/dist/types.js.map +1 -1
  1075. package/dist/vkui.css +1 -1
  1076. package/dist/vkui.css.map +1 -1
  1077. package/package.json +3 -3
  1078. package/src/components/Accordion/Accordion.tsx +10 -6
  1079. package/src/components/Accordion/AccordionIcon.tsx +31 -0
  1080. package/src/components/Accordion/AccordionSummary.tsx +5 -9
  1081. package/src/components/ActionSheet/ActionSheet.tsx +14 -10
  1082. package/src/components/ActionSheet/ActionSheetContext.ts +3 -3
  1083. package/src/components/ActionSheet/types.ts +8 -8
  1084. package/src/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  1085. package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -1
  1086. package/src/components/ActionSheetItem/ActionSheetItem.tsx +15 -15
  1087. package/src/components/ActionSheetItem/subcomponents/Radio/Radio.tsx +1 -1
  1088. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +7 -7
  1089. package/src/components/Alert/Alert.tsx +17 -17
  1090. package/src/components/Alert/AlertBase.tsx +2 -2
  1091. package/src/components/Alert/AlertTypography.tsx +1 -1
  1092. package/src/components/AppRoot/AppRoot.tsx +9 -9
  1093. package/src/components/AppRoot/AppRootContext.ts +4 -4
  1094. package/src/components/AppRoot/AppRootPortal.tsx +2 -2
  1095. package/src/components/AppRoot/ScrollContext.tsx +5 -5
  1096. package/src/components/AppRoot/types.ts +4 -4
  1097. package/src/components/AspectRatio/AspectRatio.tsx +2 -2
  1098. package/src/components/Avatar/Avatar.module.css +0 -5
  1099. package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -1
  1100. package/src/components/Avatar/Avatar.tsx +6 -2
  1101. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -1
  1102. package/src/components/Badge/Badge.tsx +1 -1
  1103. package/src/components/Banner/Banner.tsx +12 -12
  1104. package/src/components/Box/Box.tsx +1 -1
  1105. package/src/components/Button/Button.tsx +19 -12
  1106. package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
  1107. package/src/components/Calendar/Calendar.tsx +17 -17
  1108. package/src/components/CalendarDay/CalendarDay.tsx +18 -18
  1109. package/src/components/CalendarDays/CalendarDays.tsx +14 -14
  1110. package/src/components/CalendarHeader/CalendarHeader.tsx +19 -19
  1111. package/src/components/CalendarRange/CalendarRange.tsx +12 -12
  1112. package/src/components/CalendarTime/CalendarTime.tsx +14 -14
  1113. package/src/components/CalendarTime/CalendarTimePicker.tsx +3 -3
  1114. package/src/components/Card/Card.tsx +1 -1
  1115. package/src/components/CardGrid/CardGrid.tsx +2 -2
  1116. package/src/components/CardScroll/CardScroll.tsx +3 -3
  1117. package/src/components/CarouselBase/Bullets.tsx +1 -1
  1118. package/src/components/CarouselBase/CarouselViewPort.tsx +1 -1
  1119. package/src/components/CarouselBase/ScrollArrows.tsx +2 -2
  1120. package/src/components/CarouselBase/helpers.ts +4 -4
  1121. package/src/components/CarouselBase/types.ts +23 -23
  1122. package/src/components/Cell/Cell.tsx +8 -8
  1123. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +1 -1
  1124. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1125. package/src/components/CellButton/CellButton.tsx +16 -16
  1126. package/src/components/Checkbox/Checkbox.tsx +16 -9
  1127. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +20 -14
  1128. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  1129. package/src/components/ChipsInput/useChipsInput.ts +3 -3
  1130. package/src/components/ChipsInputBase/Chip/Chip.tsx +9 -9
  1131. package/src/components/ChipsInputBase/types.ts +28 -22
  1132. package/src/components/ChipsSelect/ChipsSelect.tsx +13 -13
  1133. package/src/components/ChipsSelect/useChipsSelect.ts +22 -21
  1134. package/src/components/Clickable/Clickable.tsx +1 -1
  1135. package/src/components/Clickable/useState.tsx +13 -13
  1136. package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
  1137. package/src/components/ContentBadge/ContentBadge.tsx +4 -4
  1138. package/src/components/ContentCard/ContentCard.tsx +8 -8
  1139. package/src/components/Counter/Counter.tsx +4 -4
  1140. package/src/components/CustomScrollView/CustomScrollView.tsx +6 -6
  1141. package/src/components/CustomSelect/CustomSelect.module.css +0 -6
  1142. package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -1
  1143. package/src/components/CustomSelect/CustomSelect.tsx +45 -31
  1144. package/src/components/CustomSelect/CustomSelectClearButton.tsx +2 -2
  1145. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +20 -14
  1146. package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +2 -2
  1147. package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +1 -1
  1148. package/src/components/CustomSelect/types.ts +1 -1
  1149. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +8 -8
  1150. package/src/components/CustomSelectOption/CustomSelectOption.tsx +9 -9
  1151. package/src/components/DateInput/DateInput.tsx +27 -35
  1152. package/src/components/DateInput/hooks.ts +7 -7
  1153. package/src/components/DateRangeInput/DateRangeInput.tsx +28 -36
  1154. package/src/components/DropZone/DropZone.tsx +5 -2
  1155. package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.tsx +1 -1
  1156. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -1
  1157. package/src/components/Epic/Epic.tsx +1 -1
  1158. package/src/components/Epic/ScrollSaver.tsx +1 -1
  1159. package/src/components/File/File.tsx +15 -9
  1160. package/src/components/FixedLayout/FixedLayout.tsx +3 -3
  1161. package/src/components/Flex/Flex.tsx +8 -8
  1162. package/src/components/Flex/FlexItem/FlexItem.tsx +1 -1
  1163. package/src/components/FloatingArrow/FloatingArrow.tsx +9 -9
  1164. package/src/components/FocusTrap/FocusTrap.tsx +0 -3
  1165. package/src/components/FormField/FormField.tsx +8 -8
  1166. package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +2 -2
  1167. package/src/components/FormItem/FormItem.module.css +1 -2
  1168. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -1
  1169. package/src/components/FormItem/FormItem.tsx +10 -10
  1170. package/src/components/FormItem/context.ts +2 -2
  1171. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +4 -4
  1172. package/src/components/FormStatus/FormStatus.tsx +2 -2
  1173. package/src/components/Gallery/Gallery.tsx +2 -2
  1174. package/src/components/Gradient/Gradient.tsx +2 -2
  1175. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  1176. package/src/components/Group/Group.tsx +2 -2
  1177. package/src/components/Group/GroupContainer.tsx +3 -3
  1178. package/src/components/Group/GroupExpandedContent.tsx +1 -1
  1179. package/src/components/Header/Header.tsx +11 -11
  1180. package/src/components/HorizontalCell/HorizontalCell.tsx +7 -7
  1181. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +4 -4
  1182. package/src/components/HorizontalScroll/HorizontalScroll.tsx +63 -18
  1183. package/src/components/IconButton/IconButton.tsx +1 -1
  1184. package/src/components/Image/Image.tsx +5 -5
  1185. package/src/components/ImageBase/ImageBase.module.css +11 -3
  1186. package/src/components/ImageBase/ImageBase.module.css.d.ts.map +1 -1
  1187. package/src/components/ImageBase/ImageBase.tsx +27 -17
  1188. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
  1189. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +3 -3
  1190. package/src/components/ImageBase/ImageBaseOverlay/types.ts +3 -3
  1191. package/src/components/ImageBase/types.ts +3 -3
  1192. package/src/components/Input/Input.tsx +13 -7
  1193. package/src/components/InputLike/InputLike.tsx +3 -3
  1194. package/src/components/Link/Link.tsx +4 -4
  1195. package/src/components/List/List.tsx +1 -1
  1196. package/src/components/MiniInfoCell/MiniInfoCell.tsx +5 -5
  1197. package/src/components/ModalCard/ModalCardInternal.tsx +1 -1
  1198. package/src/components/ModalCard/types.ts +13 -13
  1199. package/src/components/ModalCardBase/ModalCardBase.module.css +0 -4
  1200. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -1
  1201. package/src/components/ModalCardBase/ModalCardBase.tsx +14 -14
  1202. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1203. package/src/components/ModalOutlet/ModalOutlet.tsx +3 -3
  1204. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
  1205. package/src/components/ModalOverlay/ModalOverlay.tsx +7 -7
  1206. package/src/components/ModalPage/ModalPageBase.tsx +2 -2
  1207. package/src/components/ModalPage/ModalPageInternal.tsx +2 -2
  1208. package/src/components/ModalPage/types.ts +27 -27
  1209. package/src/components/ModalPageFooter/ModalPageFooter.tsx +2 -2
  1210. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
  1211. package/src/components/ModalRoot/types.ts +15 -15
  1212. package/src/components/ModalRoot/useModalRootManager.tsx +19 -19
  1213. package/src/components/NativeSelect/NativeSelect.tsx +20 -14
  1214. package/src/components/NumberInputLike/NumberInputLike.tsx +3 -3
  1215. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +16 -8
  1216. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +1 -1
  1217. package/src/components/Pagination/Pagination.tsx +27 -25
  1218. package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +5 -3
  1219. package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +3 -3
  1220. package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -1
  1221. package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +3 -3
  1222. package/src/components/Panel/Panel.tsx +3 -3
  1223. package/src/components/PanelHeader/PanelHeader.module.css +0 -5
  1224. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -1
  1225. package/src/components/PanelHeader/PanelHeader.tsx +14 -12
  1226. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +2 -2
  1227. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +3 -3
  1228. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +3 -3
  1229. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
  1230. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
  1231. package/src/components/Placeholder/Placeholder.tsx +5 -5
  1232. package/src/components/PopoutWrapper/PopoutWrapper.tsx +6 -6
  1233. package/src/components/Popover/Popover.tsx +5 -5
  1234. package/src/components/Popper/Popper.tsx +17 -15
  1235. package/src/components/Progress/Progress.tsx +4 -4
  1236. package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
  1237. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +4 -4
  1238. package/src/components/Radio/Radio.tsx +18 -12
  1239. package/src/components/Radio/RadioInput/RadioInput.tsx +15 -9
  1240. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  1241. package/src/components/Removable/Removable.module.css +0 -4
  1242. package/src/components/Removable/Removable.module.css.d.ts.map +1 -1
  1243. package/src/components/Removable/Removable.tsx +13 -10
  1244. package/src/components/Removable/RemovableIos.tsx +6 -3
  1245. package/src/components/RichCell/RichCell.tsx +15 -15
  1246. package/src/components/Root/Root.tsx +3 -3
  1247. package/src/components/RootComponent/RootComponent.tsx +2 -2
  1248. package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +1 -1
  1249. package/src/components/ScreenSpinner/context.ts +2 -2
  1250. package/src/components/ScreenSpinner/types.tsx +5 -5
  1251. package/src/components/ScrollArrow/ScrollArrow.tsx +27 -4
  1252. package/src/components/Search/Search.tsx +28 -22
  1253. package/src/components/SegmentedControl/SegmentedControl.tsx +6 -6
  1254. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +3 -3
  1255. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -3
  1256. package/src/components/SelectTypography/SelectTypography.tsx +1 -1
  1257. package/src/components/SelectionControl/SelectionControl.tsx +1 -1
  1258. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +2 -2
  1259. package/src/components/Separator/Separator.tsx +5 -5
  1260. package/src/components/SimpleCell/Chevron/Chevron.tsx +1 -1
  1261. package/src/components/SimpleCell/SimpleCell.tsx +14 -14
  1262. package/src/components/SimpleGrid/SimpleGrid.tsx +6 -6
  1263. package/src/components/Skeleton/Skeleton.tsx +5 -5
  1264. package/src/components/Slider/Slider.tsx +19 -17
  1265. package/src/components/Slider/SliderThumb/SliderThumb.tsx +9 -7
  1266. package/src/components/Snackbar/Snackbar.tsx +19 -13
  1267. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  1268. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -1
  1269. package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
  1270. package/src/components/Snackbar/utils.ts +1 -1
  1271. package/src/components/Spacing/Spacing.tsx +2 -2
  1272. package/src/components/Spinner/Spinner.tsx +4 -4
  1273. package/src/components/SplitCol/SplitCol.tsx +7 -7
  1274. package/src/components/SplitLayout/SplitLayout.tsx +15 -9
  1275. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -2
  1276. package/src/components/SubnavigationButton/SubnavigationButton.tsx +8 -8
  1277. package/src/components/Switch/Switch.tsx +15 -9
  1278. package/src/components/Tabbar/Tabbar.tsx +2 -2
  1279. package/src/components/TabbarItem/TabbarItem.tsx +3 -3
  1280. package/src/components/Tabs/Tabs.tsx +7 -7
  1281. package/src/components/Tabs/TabsModeContext.ts +1 -1
  1282. package/src/components/TabsItem/TabsItem.tsx +5 -5
  1283. package/src/components/Tappable/Tappable.tsx +3 -3
  1284. package/src/components/Tappable/state.tsx +2 -2
  1285. package/src/components/Textarea/Textarea.tsx +14 -10
  1286. package/src/components/ToolButton/ToolButton.tsx +4 -4
  1287. package/src/components/Tooltip/Tooltip.tsx +6 -6
  1288. package/src/components/TooltipBase/TooltipBase.tsx +10 -10
  1289. package/src/components/Touch/Touch.tsx +16 -16
  1290. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1291. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
  1292. package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
  1293. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1294. package/src/components/Typography/Title/Title.tsx +1 -1
  1295. package/src/components/Typography/Typography.tsx +6 -6
  1296. package/src/components/UnstyledTextField/UnstyledTextField.tsx +1 -1
  1297. package/src/components/UsersStack/UsersStack.tsx +6 -6
  1298. package/src/components/View/View.module.css +1 -3
  1299. package/src/components/View/View.module.css.d.ts.map +1 -1
  1300. package/src/components/View/View.tsx +4 -4
  1301. package/src/components/View/ViewInfinite.tsx +11 -11
  1302. package/src/components/WriteBar/WriteBar.tsx +21 -15
  1303. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -3
  1304. package/src/helpers/math.ts +1 -1
  1305. package/src/hooks/useAdaptivityWithJSMediaQueries.ts +3 -1
  1306. package/src/hooks/useAutoDetectColorScheme.ts +8 -30
  1307. package/src/hooks/useCalendar.ts +2 -2
  1308. package/src/hooks/useDateInput.ts +5 -5
  1309. package/src/hooks/useDraggableWithDomApi/types.ts +1 -1
  1310. package/src/hooks/useEnsuredControl.ts +4 -4
  1311. package/src/hooks/useFloatingElement.tsx +4 -4
  1312. package/src/hooks/useFocusTrap/FocusGuard.tsx +1 -1
  1313. package/src/hooks/useFocusTrap/useFocusTrap.tsx +17 -15
  1314. package/src/hooks/useFocusVisibleClassName.ts +3 -3
  1315. package/src/hooks/useGlobalEscKeyDown.ts +2 -2
  1316. package/src/hooks/useMediaQueryMatch.ts +34 -0
  1317. package/src/hooks/useMergeProps.ts +2 -2
  1318. package/src/hooks/useModalManager/types.ts +8 -8
  1319. package/src/hooks/usePagination.ts +4 -4
  1320. package/src/hooks/usePatchChildren.ts +1 -1
  1321. package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.tsx → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.tsx} +3 -3
  1322. package/src/hooks/useSnackbarManager/components/SnackbarHolder.tsx +6 -2
  1323. package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.tsx → SnackbarsContainer/SnackbarsContainer.tsx} +6 -6
  1324. package/src/hooks/useSnackbarManager/types.ts +11 -11
  1325. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
  1326. package/src/index.ts +6 -2
  1327. package/src/lib/SSR.tsx +4 -4
  1328. package/src/lib/accessibility.ts +1 -1
  1329. package/src/lib/adaptivity/functions.ts +10 -1
  1330. package/src/lib/animation/useCSSKeyframesAnimationController.ts +6 -6
  1331. package/src/lib/animation/useCSSTransition.ts +15 -13
  1332. package/src/lib/animation/useReducedMotion.ts +2 -25
  1333. package/src/lib/calendar.ts +5 -2
  1334. package/src/lib/date.ts +11 -11
  1335. package/src/lib/dom.tsx +2 -2
  1336. package/src/lib/floating/functions.ts +2 -2
  1337. package/src/lib/floating/types/component.ts +9 -9
  1338. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +26 -19
  1339. package/src/lib/floating/useFloatingWithInteractions/types.ts +15 -15
  1340. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -2
  1341. package/src/lib/getNavId.ts +2 -2
  1342. package/src/lib/layouts/resolveLayoutProps.ts +3 -3
  1343. package/src/lib/layouts/types.ts +29 -29
  1344. package/src/lib/select.ts +2 -2
  1345. package/src/lib/sheet/useBottomSheet.ts +4 -4
  1346. package/src/lib/tokens/TokensClassProvider.tsx +1 -1
  1347. package/src/lib/tokens/types.ts +2 -2
  1348. package/src/lib/utils.ts +8 -3
  1349. package/src/types.ts +18 -10
  1350. package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +0 -1
  1351. package/dist/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1352. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1353. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1354. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1355. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.d.ts.map +0 -1
  1356. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1357. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.d.ts.map +0 -1
  1358. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1359. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +0 -0
  1360. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1361. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1362. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1363. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1364. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css.d.ts.map +0 -0
  1365. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1366. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css.d.ts.map → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css.d.ts.map} +0 -0
  1367. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1368. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css.d.ts.map → SnackbarsContainer/SnackbarsContainer.module.css.d.ts.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SplitCol/SplitCol.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { ViewWidth, viewWidthToClassName } from '../../lib/adaptivity';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from './SplitColContext';\nimport styles from './SplitCol.module.css';\n\nconst breakpointClassNames = {\n none: classNames(styles.viewWidthNone, 'vkuiInternalSplitCol--viewWidth-none'),\n tabletMinus: styles.viewWidthTabletMinus,\n smallTabletPlus: styles.viewWidthSmallTabletPlus,\n tabletPlus: 'vkuiInternalSplitCol--viewWidth-tabletPlus',\n};\n\nfunction useTransitionAnimate(animateProp?: boolean) {\n const { viewWidth } = useAdaptivity();\n const [animate, setAnimate] = React.useState(Boolean(animateProp));\n const mediaQueries = useMediaQueries();\n\n React.useEffect(() => {\n if (animateProp !== undefined) {\n setAnimate(animateProp);\n return;\n }\n\n if (viewWidth !== undefined) {\n setAnimate(viewWidth < ViewWidth.TABLET);\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const listener = () => setAnimate(!mediaQueries.smallTabletPlus.matches);\n listener();\n\n mediaQueries.smallTabletPlus.addEventListener('change', listener);\n return () => {\n mediaQueries.smallTabletPlus.removeEventListener('change', listener);\n };\n }, [animateProp, viewWidth, mediaQueries]);\n\n return animate;\n}\n\nexport interface SplitColProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Ширина колонки.\n */\n width?: number | string;\n /**\n * Максимальная ширина колонки.\n */\n maxWidth?: number | string;\n /**\n * Минимальная ширина колонки.\n */\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации.\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`.\n */\n autoSpaced?: boolean;\n /**\n * Фиксированное положение колонки.\n */\n fixed?: boolean;\n /**\n * Если true, то ширина контейнера становится 100% при ширине меньше чем `tablet`.\n */\n stretchedOnMobile?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/split-layout#split-col\n */\nexport const SplitCol = (props: SplitColProps): React.ReactNode => {\n const {\n children,\n width,\n maxWidth,\n minWidth,\n animate: animateProp,\n fixed,\n autoSpaced,\n stretchedOnMobile,\n getRootRef,\n ...restProps\n } = props;\n const baseRef = useExternRef(getRootRef);\n const { viewWidth } = useAdaptivity();\n const animate = useTransitionAnimate(animateProp);\n\n const contextValue = React.useMemo(\n () => ({\n colRef: baseRef,\n animate,\n }),\n [animate, baseRef],\n );\n\n return (\n <RootComponent\n {...restProps}\n baseStyle={{\n width,\n maxWidth,\n minWidth,\n }}\n getRootRef={baseRef}\n baseClassName={classNames(\n styles.host,\n viewWidthToClassName(breakpointClassNames, viewWidth),\n autoSpaced && classNames(styles.spacedAuto, 'vkuiInternalSplitCol--spaced-auto'),\n fixed && styles.fixed,\n stretchedOnMobile && styles.stretchedOnMobile,\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? <div className={styles.fixedInner}>{children}</div> : children}\n </SplitColContext.Provider>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useMediaQueries","ViewWidth","viewWidthToClassName","RootComponent","SplitColContext","styles","breakpointClassNames","none","viewWidthNone","tabletMinus","viewWidthTabletMinus","smallTabletPlus","viewWidthSmallTabletPlus","tabletPlus","useTransitionAnimate","animateProp","viewWidth","animate","setAnimate","useState","Boolean","mediaQueries","useEffect","undefined","TABLET","listener","matches","addEventListener","removeEventListener","SplitCol","props","children","width","maxWidth","minWidth","fixed","autoSpaced","stretchedOnMobile","getRootRef","restProps","baseRef","contextValue","useMemo","colRef","baseStyle","baseClassName","host","spacedAuto","Provider","value","div","className","fixedInner"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,SAAS,EAAEC,oBAAoB,QAAQ,gCAAuB;AAEvE,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,eAAe,QAAQ,uBAAoB;AACpD,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,uBAAuB;IAC3BC,MAAMV,WAAWQ,OAAOG,aAAa,EAAE;IACvCC,aAAaJ,OAAOK,oBAAoB;IACxCC,iBAAiBN,OAAOO,wBAAwB;IAChDC,YAAY;AACd;AAEA,SAASC,qBAAqBC,WAAqB;IACjD,MAAM,EAAEC,SAAS,EAAE,GAAGlB;IACtB,MAAM,CAACmB,SAASC,WAAW,GAAGtB,MAAMuB,QAAQ,CAACC,QAAQL;IACrD,MAAMM,eAAerB;IAErBJ,MAAM0B,SAAS,CAAC;QACd,IAAIP,gBAAgBQ,WAAW;YAC7BL,WAAWH;YACX;QACF;QAEA,IAAIC,cAAcO,WAAW;YAC3BL,WAAWF,YAAYf,UAAUuB,MAAM;YACvC;QACF;QAEA,oDAAoD;QACpD,MAAMC,WAAW,IAAMP,WAAW,CAACG,aAAaV,eAAe,CAACe,OAAO;QACvED;QAEAJ,aAAaV,eAAe,CAACgB,gBAAgB,CAAC,UAAUF;QACxD,OAAO;YACLJ,aAAaV,eAAe,CAACiB,mBAAmB,CAAC,UAAUH;QAC7D;IACF,GAAG;QAACV;QAAaC;QAAWK;KAAa;IAEzC,OAAOJ;AACT;AAiCA;;CAEC,GACD,OAAO,MAAMY,WAAW,CAACC;IACvB,MAAM,EACJC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRjB,SAASF,WAAW,EACpBoB,KAAK,EACLC,UAAU,EACVC,iBAAiB,EACjBC,UAAU,EACV,GAAGC,WACJ,GAAGT;IACJ,MAAMU,UAAUzC,aAAauC;IAC7B,MAAM,EAAEtB,SAAS,EAAE,GAAGlB;IACtB,MAAMmB,UAAUH,qBAAqBC;IAErC,MAAM0B,eAAe7C,MAAM8C,OAAO,CAChC,IAAO,CAAA;YACLC,QAAQH;YACRvB;QACF,CAAA,GACA;QAACA;QAASuB;KAAQ;IAGpB,qBACE,KAACrC;QACE,GAAGoC,SAAS;QACbK,WAAW;YACTZ;YACAC;YACAC;QACF;QACAI,YAAYE;QACZK,eAAehD,WACbQ,OAAOyC,IAAI,EACX5C,qBAAqBI,sBAAsBU,YAC3CoB,cAAcvC,WAAWQ,OAAO0C,UAAU,EAAE,sCAC5CZ,SAAS9B,OAAO8B,KAAK,EACrBE,qBAAqBhC,OAAOgC,iBAAiB;kBAG/C,cAAA,KAACjC,gBAAgB4C,QAAQ;YAACC,OAAOR;sBAC9BN,sBAAQ,KAACe;gBAAIC,WAAW9C,OAAO+C,UAAU;0BAAGrB;iBAAkBA;;;AAIvE,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/SplitCol/SplitCol.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMediaQueries } from '../../hooks/useMediaQueries';\nimport { ViewWidth, viewWidthToClassName } from '../../lib/adaptivity';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from './SplitColContext';\nimport styles from './SplitCol.module.css';\n\nconst breakpointClassNames = {\n none: classNames(styles.viewWidthNone, 'vkuiInternalSplitCol--viewWidth-none'),\n tabletMinus: styles.viewWidthTabletMinus,\n smallTabletPlus: styles.viewWidthSmallTabletPlus,\n tabletPlus: 'vkuiInternalSplitCol--viewWidth-tabletPlus',\n};\n\nfunction useTransitionAnimate(animateProp?: boolean) {\n const { viewWidth } = useAdaptivity();\n const [animate, setAnimate] = React.useState(Boolean(animateProp));\n const mediaQueries = useMediaQueries();\n\n React.useEffect(() => {\n if (animateProp !== undefined) {\n setAnimate(animateProp);\n return;\n }\n\n if (viewWidth !== undefined) {\n setAnimate(viewWidth < ViewWidth.TABLET);\n return;\n }\n\n // eslint-disable-next-line no-restricted-properties\n const listener = () => setAnimate(!mediaQueries.smallTabletPlus.matches);\n listener();\n\n mediaQueries.smallTabletPlus.addEventListener('change', listener);\n return () => {\n mediaQueries.smallTabletPlus.removeEventListener('change', listener);\n };\n }, [animateProp, viewWidth, mediaQueries]);\n\n return animate;\n}\n\nexport interface SplitColProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Ширина колонки.\n */\n width?: number | string | undefined;\n /**\n * Максимальная ширина колонки.\n */\n maxWidth?: number | string | undefined;\n /**\n * Минимальная ширина колонки.\n */\n minWidth?: number | string | undefined;\n /**\n * Если false, то переходы между Panel происходят без анимации.\n */\n animate?: boolean | undefined;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины при ширине больше чем `smallTablet`.\n */\n autoSpaced?: boolean | undefined;\n /**\n * Фиксированное положение колонки.\n */\n fixed?: boolean | undefined;\n /**\n * Если true, то ширина контейнера становится 100% при ширине меньше чем `tablet`.\n */\n stretchedOnMobile?: boolean | undefined;\n}\n\n/**\n * @see https://vkui.io/components/split-layout#split-col\n */\nexport const SplitCol = (props: SplitColProps): React.ReactNode => {\n const {\n children,\n width,\n maxWidth,\n minWidth,\n animate: animateProp,\n fixed,\n autoSpaced,\n stretchedOnMobile,\n getRootRef,\n ...restProps\n } = props;\n const baseRef = useExternRef(getRootRef);\n const { viewWidth } = useAdaptivity();\n const animate = useTransitionAnimate(animateProp);\n\n const contextValue = React.useMemo(\n () => ({\n colRef: baseRef,\n animate,\n }),\n [animate, baseRef],\n );\n\n return (\n <RootComponent\n {...restProps}\n baseStyle={{\n width,\n maxWidth,\n minWidth,\n }}\n getRootRef={baseRef}\n baseClassName={classNames(\n styles.host,\n viewWidthToClassName(breakpointClassNames, viewWidth),\n autoSpaced && classNames(styles.spacedAuto, 'vkuiInternalSplitCol--spaced-auto'),\n fixed && styles.fixed,\n stretchedOnMobile && styles.stretchedOnMobile,\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? <div className={styles.fixedInner}>{children}</div> : children}\n </SplitColContext.Provider>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useMediaQueries","ViewWidth","viewWidthToClassName","RootComponent","SplitColContext","styles","breakpointClassNames","none","viewWidthNone","tabletMinus","viewWidthTabletMinus","smallTabletPlus","viewWidthSmallTabletPlus","tabletPlus","useTransitionAnimate","animateProp","viewWidth","animate","setAnimate","useState","Boolean","mediaQueries","useEffect","undefined","TABLET","listener","matches","addEventListener","removeEventListener","SplitCol","props","children","width","maxWidth","minWidth","fixed","autoSpaced","stretchedOnMobile","getRootRef","restProps","baseRef","contextValue","useMemo","colRef","baseStyle","baseClassName","host","spacedAuto","Provider","value","div","className","fixedInner"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,SAAS,EAAEC,oBAAoB,QAAQ,gCAAuB;AAEvE,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,eAAe,QAAQ,uBAAoB;AACpD,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,uBAAuB;IAC3BC,MAAMV,WAAWQ,OAAOG,aAAa,EAAE;IACvCC,aAAaJ,OAAOK,oBAAoB;IACxCC,iBAAiBN,OAAOO,wBAAwB;IAChDC,YAAY;AACd;AAEA,SAASC,qBAAqBC,WAAqB;IACjD,MAAM,EAAEC,SAAS,EAAE,GAAGlB;IACtB,MAAM,CAACmB,SAASC,WAAW,GAAGtB,MAAMuB,QAAQ,CAACC,QAAQL;IACrD,MAAMM,eAAerB;IAErBJ,MAAM0B,SAAS,CAAC;QACd,IAAIP,gBAAgBQ,WAAW;YAC7BL,WAAWH;YACX;QACF;QAEA,IAAIC,cAAcO,WAAW;YAC3BL,WAAWF,YAAYf,UAAUuB,MAAM;YACvC;QACF;QAEA,oDAAoD;QACpD,MAAMC,WAAW,IAAMP,WAAW,CAACG,aAAaV,eAAe,CAACe,OAAO;QACvED;QAEAJ,aAAaV,eAAe,CAACgB,gBAAgB,CAAC,UAAUF;QACxD,OAAO;YACLJ,aAAaV,eAAe,CAACiB,mBAAmB,CAAC,UAAUH;QAC7D;IACF,GAAG;QAACV;QAAaC;QAAWK;KAAa;IAEzC,OAAOJ;AACT;AAiCA;;CAEC,GACD,OAAO,MAAMY,WAAW,CAACC;IACvB,MAAM,EACJC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRjB,SAASF,WAAW,EACpBoB,KAAK,EACLC,UAAU,EACVC,iBAAiB,EACjBC,UAAU,EACV,GAAGC,WACJ,GAAGT;IACJ,MAAMU,UAAUzC,aAAauC;IAC7B,MAAM,EAAEtB,SAAS,EAAE,GAAGlB;IACtB,MAAMmB,UAAUH,qBAAqBC;IAErC,MAAM0B,eAAe7C,MAAM8C,OAAO,CAChC,IAAO,CAAA;YACLC,QAAQH;YACRvB;QACF,CAAA,GACA;QAACA;QAASuB;KAAQ;IAGpB,qBACE,KAACrC;QACE,GAAGoC,SAAS;QACbK,WAAW;YACTZ;YACAC;YACAC;QACF;QACAI,YAAYE;QACZK,eAAehD,WACbQ,OAAOyC,IAAI,EACX5C,qBAAqBI,sBAAsBU,YAC3CoB,cAAcvC,WAAWQ,OAAO0C,UAAU,EAAE,sCAC5CZ,SAAS9B,OAAO8B,KAAK,EACrBE,qBAAqBhC,OAAOgC,iBAAiB;kBAG/C,cAAA,KAACjC,gBAAgB4C,QAAQ;YAACC,OAAOR;sBAC9BN,sBAAQ,KAACe;gBAAIC,WAAW9C,OAAO+C,UAAU;0BAAGrB;iBAAkBA;;;AAIvE,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SplitLayout/SplitLayout.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasDataAttribute, HasRootRef, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './SplitLayout.module.css';\n\nconst warn = warnOnce('SplitLayout');\n\nexport interface SplitLayoutProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * @deprecated Since 7.9.0. Будет удалeно в **VKUI v9**.\n * Вместо этого используйте `slotProps={ content: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLDivElement>;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `content`: свойства для прокидывания в контент;.\n */\n slotProps?: {\n root?: React.HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute;\n content?: React.HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute;\n };\n /**\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n *\n * @deprecated Since 7.0.0. Будет удалeно в **VKUI v9**.\n * Начиная с **VKUI v7** компоненты можно располагать в любом\n * месте приложения в пределах `AppRoot`.\n */\n popout?: React.ReactNode;\n /**\n * Свойство для отрисовки `ModalRoot`.\n *\n * @deprecated Since 7.0.0. Будет удалeно в **VKUI v9**.\n * Начиная с **VKUI v7** `ModalRoot` можно располагать в любом\n * месте приложения в пределах `AppRoot`.\n */\n modal?: React.ReactNode;\n /**\n * Компонент для отрисовки заголовка.\n */\n header?: React.ReactNode;\n /**\n * Центрирует контент.\n */\n center?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/split-layout\n */\nexport const SplitLayout = ({\n popout,\n modal,\n header,\n center,\n getRef,\n children,\n\n slotProps,\n ...restProps\n}: SplitLayoutProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development') {\n if (getRef) {\n warn(\n 'Свойство `getRef` устаревшее, используйте `slotProps={ content: { getRootRef: ... } }`',\n );\n }\n if (popout) {\n warn(\n 'Свойство `popout` устаревшее. Передаваемый элемент можно рендерить в любом месте приложения.',\n );\n }\n if (modal) {\n warn(\n 'Свойство `modal` устаревшее. Передаваемый элемент можно рендерить в любом месте приложения.',\n );\n }\n }\n\n const rootRest = useMergeProps(restProps, slotProps?.root);\n const contentRest = useMergeProps({ getRootRef: getRef }, slotProps?.content);\n\n const platform = usePlatform();\n\n return (\n <RootComponent\n baseClassName={classNames(styles.host, platform === 'ios' && styles.ios)}\n {...rootRest}\n >\n {header}\n <RootComponent\n baseClassName={classNames(\n styles.inner,\n !!header && styles.innerHeader,\n center && styles.innerCenter,\n )}\n {...contentRest}\n >\n {children}\n {modal}\n {popout}\n </RootComponent>\n </RootComponent>\n );\n};\n"],"names":["classNames","useMergeProps","usePlatform","warnOnce","RootComponent","styles","warn","SplitLayout","popout","modal","header","center","getRef","children","slotProps","restProps","process","env","NODE_ENV","rootRest","root","contentRest","getRootRef","content","platform","baseClassName","host","ios","inner","innerHeader","innerCenter"],"mappings":"AAAA;;AAGA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,2BAA2B;AAE9C,MAAMC,OAAOH,SAAS;AA2CtB;;CAEC,GACD,OAAO,MAAMI,cAAc,CAAC,EAC1BC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,QAAQ,EAERC,SAAS,EACT,GAAGC,WACc;IACjB,6CAA6C,GAC7C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,IAAIN,QAAQ;YACVN,KACE;QAEJ;QACA,IAAIE,QAAQ;YACVF,KACE;QAEJ;QACA,IAAIG,OAAO;YACTH,KACE;QAEJ;IACF;IAEA,MAAMa,WAAWlB,cAAcc,WAAWD,WAAWM;IACrD,MAAMC,cAAcpB,cAAc;QAAEqB,YAAYV;IAAO,GAAGE,WAAWS;IAErE,MAAMC,WAAWtB;IAEjB,qBACE,MAACE;QACCqB,eAAezB,WAAWK,OAAOqB,IAAI,EAAEF,aAAa,SAASnB,OAAOsB,GAAG;QACtE,GAAGR,QAAQ;;YAEXT;0BACD,MAACN;gBACCqB,eAAezB,WACbK,OAAOuB,KAAK,EACZ,CAAC,CAAClB,UAAUL,OAAOwB,WAAW,EAC9BlB,UAAUN,OAAOyB,WAAW;gBAE7B,GAAGT,WAAW;;oBAEdR;oBACAJ;oBACAD;;;;;AAIT,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/SplitLayout/SplitLayout.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasDataAttribute, HasRootRef, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './SplitLayout.module.css';\n\nconst warn = warnOnce('SplitLayout');\n\nexport interface SplitLayoutProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * @deprecated Since 7.9.0. Будет удалeно в **VKUI v9**.\n * Вместо этого используйте `slotProps={ content: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLDivElement> | undefined;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `content`: свойства для прокидывания в контент;.\n */\n slotProps?:\n | {\n root?:\n | (React.HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute)\n | undefined;\n content?:\n | (React.HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute)\n | undefined;\n }\n | undefined;\n /**\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n *\n * @deprecated Since 7.0.0. Будет удалeно в **VKUI v9**.\n * Начиная с **VKUI v7** компоненты можно располагать в любом\n * месте приложения в пределах `AppRoot`.\n */\n popout?: React.ReactNode | undefined;\n /**\n * Свойство для отрисовки `ModalRoot`.\n *\n * @deprecated Since 7.0.0. Будет удалeно в **VKUI v9**.\n * Начиная с **VKUI v7** `ModalRoot` можно располагать в любом\n * месте приложения в пределах `AppRoot`.\n */\n modal?: React.ReactNode | undefined;\n /**\n * Компонент для отрисовки заголовка.\n */\n header?: React.ReactNode | undefined;\n /**\n * Центрирует контент.\n */\n center?: boolean | undefined;\n}\n\n/**\n * @see https://vkui.io/components/split-layout\n */\nexport const SplitLayout = ({\n popout,\n modal,\n header,\n center,\n getRef,\n children,\n\n slotProps,\n ...restProps\n}: SplitLayoutProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development') {\n if (getRef) {\n warn(\n 'Свойство `getRef` устаревшее, используйте `slotProps={ content: { getRootRef: ... } }`',\n );\n }\n if (popout) {\n warn(\n 'Свойство `popout` устаревшее. Передаваемый элемент можно рендерить в любом месте приложения.',\n );\n }\n if (modal) {\n warn(\n 'Свойство `modal` устаревшее. Передаваемый элемент можно рендерить в любом месте приложения.',\n );\n }\n }\n\n const rootRest = useMergeProps(restProps, slotProps?.root);\n const contentRest = useMergeProps({ getRootRef: getRef }, slotProps?.content);\n\n const platform = usePlatform();\n\n return (\n <RootComponent\n baseClassName={classNames(styles.host, platform === 'ios' && styles.ios)}\n {...rootRest}\n >\n {header}\n <RootComponent\n baseClassName={classNames(\n styles.inner,\n !!header && styles.innerHeader,\n center && styles.innerCenter,\n )}\n {...contentRest}\n >\n {children}\n {modal}\n {popout}\n </RootComponent>\n </RootComponent>\n );\n};\n"],"names":["classNames","useMergeProps","usePlatform","warnOnce","RootComponent","styles","warn","SplitLayout","popout","modal","header","center","getRef","children","slotProps","restProps","process","env","NODE_ENV","rootRest","root","contentRest","getRootRef","content","platform","baseClassName","host","ios","inner","innerHeader","innerCenter"],"mappings":"AAAA;;AAGA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,2BAA2B;AAE9C,MAAMC,OAAOH,SAAS;AAiDtB;;CAEC,GACD,OAAO,MAAMI,cAAc,CAAC,EAC1BC,MAAM,EACNC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,QAAQ,EAERC,SAAS,EACT,GAAGC,WACc;IACjB,6CAA6C,GAC7C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,IAAIN,QAAQ;YACVN,KACE;QAEJ;QACA,IAAIE,QAAQ;YACVF,KACE;QAEJ;QACA,IAAIG,OAAO;YACTH,KACE;QAEJ;IACF;IAEA,MAAMa,WAAWlB,cAAcc,WAAWD,WAAWM;IACrD,MAAMC,cAAcpB,cAAc;QAAEqB,YAAYV;IAAO,GAAGE,WAAWS;IAErE,MAAMC,WAAWtB;IAEjB,qBACE,MAACE;QACCqB,eAAezB,WAAWK,OAAOqB,IAAI,EAAEF,aAAa,SAASnB,OAAOsB,GAAG;QACtE,GAAGR,QAAQ;;YAEXT;0BACD,MAACN;gBACCqB,eAAezB,WACbK,OAAOuB,KAAK,EACZ,CAAC,CAAClB,UAAUL,OAAOwB,WAAW,EAC9BlB,UAAUN,OAAOyB,WAAW;gBAE7B,GAAGT,WAAW;;oBAEdR;oBACAJ;oBACAD;;;;;AAIT,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SubnavigationBar/SubnavigationBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport {\n HorizontalScroll,\n type HorizontalScrollProps,\n type ScrollPositionHandler,\n} from '../HorizontalScroll/HorizontalScroll';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './SubnavigationBar.module.css';\n\nexport interface SubnavigationBarProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n Pick<\n HorizontalScrollProps,\n | 'showArrows'\n | 'arrowSize'\n | 'getScrollToLeft'\n | 'getScrollToRight'\n | 'scrollAnimationDuration'\n > {\n /**\n * Отключение возможности прокручивания компонента по горизонтали.\n */\n fixed?: boolean;\n /**\n * Отключает отступы. Рекомендуется использовать с `mode=\"outline\"` у [`SubnavigationButton`](https://vkui.io/components/subnavigation-button).\n */\n noPadding?: boolean;\n}\n\nconst defaultScrollToLeft: ScrollPositionHandler = (x) => x - 240;\n\nconst defaultScrollToRight: ScrollPositionHandler = (x) => x + 240;\n\n/**\n * @see https://vkui.io/components/subnavigation-bar\n */\nexport const SubnavigationBar = ({\n fixed = false,\n children,\n showArrows = true,\n noPadding = false,\n arrowSize = 's',\n getScrollToLeft = defaultScrollToLeft,\n getScrollToRight = defaultScrollToRight,\n scrollAnimationDuration,\n ...restProps\n}: SubnavigationBarProps): React.ReactNode => {\n let ScrollWrapper: React.ElementType;\n let scrollWrapperProps = {};\n\n if (fixed) {\n ScrollWrapper = 'div';\n } else {\n ScrollWrapper = HorizontalScroll;\n scrollWrapperProps = {\n showArrows,\n arrowSize,\n getScrollToLeft,\n getScrollToRight,\n scrollAnimationDuration,\n };\n }\n\n return (\n <RootComponent baseClassName={fixed && styles.modeFixed} {...restProps}>\n <ScrollWrapper className={styles.in} {...scrollWrapperProps}>\n <ul className={classNames(styles.scrollIn, noPadding && styles.noPadding)}>\n {React.Children.map(children, (child, idx) =>\n hasReactNode(child) ? (\n <li key={idx} className={styles.item}>\n {child}\n </li>\n ) : null,\n )}\n </ul>\n </ScrollWrapper>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","HorizontalScroll","RootComponent","styles","defaultScrollToLeft","x","defaultScrollToRight","SubnavigationBar","fixed","children","showArrows","noPadding","arrowSize","getScrollToLeft","getScrollToRight","scrollAnimationDuration","restProps","ScrollWrapper","scrollWrapperProps","baseClassName","modeFixed","className","in","ul","scrollIn","Children","map","child","idx","li","item"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SACEC,gBAAgB,QAGX,0CAAuC;AAC9C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,gCAAgC;AAsBnD,MAAMC,sBAA6C,CAACC,IAAMA,IAAI;AAE9D,MAAMC,uBAA8C,CAACD,IAAMA,IAAI;AAE/D;;CAEC,GACD,OAAO,MAAME,mBAAmB,CAAC,EAC/BC,QAAQ,KAAK,EACbC,QAAQ,EACRC,aAAa,IAAI,EACjBC,YAAY,KAAK,EACjBC,YAAY,GAAG,EACfC,kBAAkBT,mBAAmB,EACrCU,mBAAmBR,oBAAoB,EACvCS,uBAAuB,EACvB,GAAGC,WACmB;IACtB,IAAIC;IACJ,IAAIC,qBAAqB,CAAC;IAE1B,IAAIV,OAAO;QACTS,gBAAgB;IAClB,OAAO;QACLA,gBAAgBhB;QAChBiB,qBAAqB;YACnBR;YACAE;YACAC;YACAC;YACAC;QACF;IACF;IAEA,qBACE,KAACb;QAAciB,eAAeX,SAASL,OAAOiB,SAAS;QAAG,GAAGJ,SAAS;kBACpE,cAAA,KAACC;YAAcI,WAAWlB,OAAOmB,EAAE;YAAG,GAAGJ,kBAAkB;sBACzD,cAAA,KAACK;gBAAGF,WAAWtB,WAAWI,OAAOqB,QAAQ,EAAEb,aAAaR,OAAOQ,SAAS;0BACrEb,MAAM2B,QAAQ,CAACC,GAAG,CAACjB,UAAU,CAACkB,OAAOC,MACpC5B,aAAa2B,uBACX,KAACE;wBAAaR,WAAWlB,OAAO2B,IAAI;kCACjCH;uBADMC,OAGP;;;;AAMhB,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/SubnavigationBar/SubnavigationBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport {\n HorizontalScroll,\n type HorizontalScrollProps,\n type ScrollPositionHandler,\n} from '../HorizontalScroll/HorizontalScroll';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './SubnavigationBar.module.css';\n\nexport interface SubnavigationBarProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n Pick<\n HorizontalScrollProps,\n | 'showArrows'\n | 'arrowSize'\n | 'getScrollToLeft'\n | 'getScrollToRight'\n | 'scrollAnimationDuration'\n > {\n /**\n * Отключение возможности прокручивания компонента по горизонтали.\n */\n fixed?: boolean | undefined;\n /**\n * Отключает отступы. Рекомендуется использовать с `mode=\"outline\"` у [`SubnavigationButton`](https://vkui.io/components/subnavigation-button).\n */\n noPadding?: boolean | undefined;\n}\n\nconst defaultScrollToLeft: ScrollPositionHandler = (x) => x - 240;\n\nconst defaultScrollToRight: ScrollPositionHandler = (x) => x + 240;\n\n/**\n * @see https://vkui.io/components/subnavigation-bar\n */\nexport const SubnavigationBar = ({\n fixed = false,\n children,\n showArrows = true,\n noPadding = false,\n arrowSize = 's',\n getScrollToLeft = defaultScrollToLeft,\n getScrollToRight = defaultScrollToRight,\n scrollAnimationDuration,\n ...restProps\n}: SubnavigationBarProps): React.ReactNode => {\n let ScrollWrapper: React.ElementType;\n let scrollWrapperProps = {};\n\n if (fixed) {\n ScrollWrapper = 'div';\n } else {\n ScrollWrapper = HorizontalScroll;\n scrollWrapperProps = {\n showArrows,\n arrowSize,\n getScrollToLeft,\n getScrollToRight,\n scrollAnimationDuration,\n };\n }\n\n return (\n <RootComponent baseClassName={fixed && styles.modeFixed} {...restProps}>\n <ScrollWrapper className={styles.in} {...scrollWrapperProps}>\n <ul className={classNames(styles.scrollIn, noPadding && styles.noPadding)}>\n {React.Children.map(children, (child, idx) =>\n hasReactNode(child) ? (\n <li key={idx} className={styles.item}>\n {child}\n </li>\n ) : null,\n )}\n </ul>\n </ScrollWrapper>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","hasReactNode","HorizontalScroll","RootComponent","styles","defaultScrollToLeft","x","defaultScrollToRight","SubnavigationBar","fixed","children","showArrows","noPadding","arrowSize","getScrollToLeft","getScrollToRight","scrollAnimationDuration","restProps","ScrollWrapper","scrollWrapperProps","baseClassName","modeFixed","className","in","ul","scrollIn","Children","map","child","idx","li","item"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SACEC,gBAAgB,QAGX,0CAAuC;AAC9C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,gCAAgC;AAsBnD,MAAMC,sBAA6C,CAACC,IAAMA,IAAI;AAE9D,MAAMC,uBAA8C,CAACD,IAAMA,IAAI;AAE/D;;CAEC,GACD,OAAO,MAAME,mBAAmB,CAAC,EAC/BC,QAAQ,KAAK,EACbC,QAAQ,EACRC,aAAa,IAAI,EACjBC,YAAY,KAAK,EACjBC,YAAY,GAAG,EACfC,kBAAkBT,mBAAmB,EACrCU,mBAAmBR,oBAAoB,EACvCS,uBAAuB,EACvB,GAAGC,WACmB;IACtB,IAAIC;IACJ,IAAIC,qBAAqB,CAAC;IAE1B,IAAIV,OAAO;QACTS,gBAAgB;IAClB,OAAO;QACLA,gBAAgBhB;QAChBiB,qBAAqB;YACnBR;YACAE;YACAC;YACAC;YACAC;QACF;IACF;IAEA,qBACE,KAACb;QAAciB,eAAeX,SAASL,OAAOiB,SAAS;QAAG,GAAGJ,SAAS;kBACpE,cAAA,KAACC;YAAcI,WAAWlB,OAAOmB,EAAE;YAAG,GAAGJ,kBAAkB;sBACzD,cAAA,KAACK;gBAAGF,WAAWtB,WAAWI,OAAOqB,QAAQ,EAAEb,aAAaR,OAAOQ,SAAS;0BACrEb,MAAM2B,QAAQ,CAACC,GAAG,CAACjB,UAAU,CAACkB,OAAOC,MACpC5B,aAAa2B,uBACX,KAACE;wBAAaR,WAAWlB,OAAO2B,IAAI;kCACjCH;uBADMC,OAGP;;;;AAMhB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SubnavigationButton/SubnavigationButton.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { Icon16Dropdown } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport type { HasChildren, HasComponent } from '../../types';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './SubnavigationButton.module.css';\n\nconst appearanceStyles = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n};\n\nconst modeStyles = {\n primary: styles.modePrimary,\n outline: styles.modeOutline,\n tertiary: styles.modeTertiary,\n};\n\nconst sizeStyles = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface SubnavigationButtonProps extends Omit<TappableOmitProps, 'size'> {\n /**\n * Стиль отображения кнопки.\n */\n mode?: 'primary' | 'outline' | 'tertiary';\n /**\n * Тип внешнего вида кнопки.\n */\n appearance?: 'accent' | 'neutral';\n /**\n * Размер кнопки.\n */\n size?: 's' | 'm' | 'l';\n /**\n * Выбранное состояние.\n */\n selected?: boolean;\n /**\n * Размер шрифта. Этим свойством рекомендуется пользоваться, чтобы отрегулировать размер шрифта у кнопок в `<SubnavigationBar fixed />`.\n */\n textLevel?: '1' | '2' | '3';\n /**\n * Рекомендуется использовать только иконки с размером 24.\n */\n before?: React.ReactNode;\n /**\n * Рекомендуется использовать только `<Counter size=\"s\" />` или `<Badge />`.\n */\n after?: React.ReactNode;\n /**\n * Нужно ли отображать иконку `\"chevron\"`.\n */\n chevron?: boolean;\n}\n\ntype SubnavigationButtonTypographyProps = Pick<\n SubnavigationButtonProps,\n 'textLevel' | 'className'\n> &\n HasComponent &\n HasChildren;\n\nconst SubnavigationButtonTypography = ({\n textLevel,\n ...restProps\n}: SubnavigationButtonTypographyProps) => {\n if (textLevel === '1') {\n return <Subhead {...restProps} />;\n }\n\n return <Caption level={textLevel === '2' ? '1' : '2'} {...restProps} />;\n};\n\n/**\n * @see https://vkui.io/components/subnavigation-bar#subnavigation-button\n */\nexport const SubnavigationButton = ({\n mode = 'primary',\n appearance = 'accent',\n size = 'm',\n selected,\n textLevel = '1',\n before,\n after,\n chevron,\n children,\n ...restProps\n}: SubnavigationButtonProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n hasActive={false}\n focusVisibleMode=\"outside\"\n {...restProps}\n baseClassName={classNames(\n styles.host,\n sizeStyles[size],\n modeStyles[mode],\n appearanceStyles[appearance],\n selected && styles.selected,\n density !== 'regular' && densityClassNames[density],\n restProps.disabled && styles.disabled,\n )}\n >\n <span className={styles.in}>\n {before && <span className={styles.before}>{before}</span>}\n <SubnavigationButtonTypography\n textLevel={textLevel}\n className={styles.label}\n Component=\"span\"\n >\n {children}\n </SubnavigationButtonTypography>\n {after && <span className={styles.after}>{after}</span>}\n {chevron && <Icon16Dropdown className={styles.chevronIcon} />}\n </span>\n </Tappable>\n );\n};\n"],"names":["Icon16Dropdown","classNames","useAdaptivity","Tappable","Caption","Subhead","styles","appearanceStyles","accent","appearanceAccent","neutral","appearanceNeutral","modeStyles","primary","modePrimary","outline","modeOutline","tertiary","modeTertiary","sizeStyles","s","sizeS","m","sizeM","l","sizeL","densityClassNames","none","densityNone","compact","densityCompact","SubnavigationButtonTypography","textLevel","restProps","level","SubnavigationButton","mode","appearance","size","selected","before","after","chevron","children","density","hasActive","focusVisibleMode","baseClassName","host","disabled","span","className","in","label","Component","chevronIcon"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,mBAAmB;AAClD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAE1D,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,OAAO,QAAQ,mCAAgC;AACxD,OAAOC,YAAY,mCAAmC;AAEtD,MAAMC,mBAAmB;IACvBC,QAAQF,OAAOG,gBAAgB;IAC/BC,SAASJ,OAAOK,iBAAiB;AACnC;AAEA,MAAMC,aAAa;IACjBC,SAASP,OAAOQ,WAAW;IAC3BC,SAAST,OAAOU,WAAW;IAC3BC,UAAUX,OAAOY,YAAY;AAC/B;AAEA,MAAMC,aAAa;IACjBC,GAAGd,OAAOe,KAAK;IACfC,GAAGhB,OAAOiB,KAAK;IACfC,GAAGlB,OAAOmB,KAAK;AACjB;AAEA,MAAMC,oBAAoB;IACxBC,MAAMrB,OAAOsB,WAAW;IACxBC,SAASvB,OAAOwB,cAAc;AAChC;AA4CA,MAAMC,gCAAgC,CAAC,EACrCC,SAAS,EACT,GAAGC,WACgC;IACnC,IAAID,cAAc,KAAK;QACrB,qBAAO,KAAC3B;YAAS,GAAG4B,SAAS;;IAC/B;IAEA,qBAAO,KAAC7B;QAAQ8B,OAAOF,cAAc,MAAM,MAAM;QAAM,GAAGC,SAAS;;AACrE;AAEA;;CAEC,GACD,OAAO,MAAME,sBAAsB,CAAC,EAClCC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,OAAO,GAAG,EACVC,QAAQ,EACRP,YAAY,GAAG,EACfQ,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACR,GAAGV,WACsB;IACzB,MAAM,EAAEW,UAAU,MAAM,EAAE,GAAG1C;IAE7B,qBACE,KAACC;QACC0C,WAAW;QACXC,kBAAiB;QAChB,GAAGb,SAAS;QACbc,eAAe9C,WACbK,OAAO0C,IAAI,EACX7B,UAAU,CAACmB,KAAK,EAChB1B,UAAU,CAACwB,KAAK,EAChB7B,gBAAgB,CAAC8B,WAAW,EAC5BE,YAAYjC,OAAOiC,QAAQ,EAC3BK,YAAY,aAAalB,iBAAiB,CAACkB,QAAQ,EACnDX,UAAUgB,QAAQ,IAAI3C,OAAO2C,QAAQ;kBAGvC,cAAA,MAACC;YAAKC,WAAW7C,OAAO8C,EAAE;;gBACvBZ,wBAAU,KAACU;oBAAKC,WAAW7C,OAAOkC,MAAM;8BAAGA;;8BAC5C,KAACT;oBACCC,WAAWA;oBACXmB,WAAW7C,OAAO+C,KAAK;oBACvBC,WAAU;8BAETX;;gBAEFF,uBAAS,KAACS;oBAAKC,WAAW7C,OAAOmC,KAAK;8BAAGA;;gBACzCC,yBAAW,KAAC1C;oBAAemD,WAAW7C,OAAOiD,WAAW;;;;;AAIjE,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/SubnavigationButton/SubnavigationButton.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { Icon16Dropdown } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport type { HasChildren, HasComponent } from '../../types';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport styles from './SubnavigationButton.module.css';\n\nconst appearanceStyles = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n};\n\nconst modeStyles = {\n primary: styles.modePrimary,\n outline: styles.modeOutline,\n tertiary: styles.modeTertiary,\n};\n\nconst sizeStyles = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface SubnavigationButtonProps extends Omit<TappableOmitProps, 'size'> {\n /**\n * Стиль отображения кнопки.\n */\n mode?: 'primary' | 'outline' | 'tertiary' | undefined;\n /**\n * Тип внешнего вида кнопки.\n */\n appearance?: 'accent' | 'neutral' | undefined;\n /**\n * Размер кнопки.\n */\n size?: 's' | 'm' | 'l' | undefined;\n /**\n * Выбранное состояние.\n */\n selected?: boolean | undefined;\n /**\n * Размер шрифта. Этим свойством рекомендуется пользоваться, чтобы отрегулировать размер шрифта у кнопок в `<SubnavigationBar fixed />`.\n */\n textLevel?: '1' | '2' | '3' | undefined;\n /**\n * Рекомендуется использовать только иконки с размером 24.\n */\n before?: React.ReactNode | undefined;\n /**\n * Рекомендуется использовать только `<Counter size=\"s\" />` или `<Badge />`.\n */\n after?: React.ReactNode | undefined;\n /**\n * Нужно ли отображать иконку `\"chevron\"`.\n */\n chevron?: boolean | undefined;\n}\n\ntype SubnavigationButtonTypographyProps = Pick<\n SubnavigationButtonProps,\n 'textLevel' | 'className'\n> &\n HasComponent &\n HasChildren;\n\nconst SubnavigationButtonTypography = ({\n textLevel,\n ...restProps\n}: SubnavigationButtonTypographyProps) => {\n if (textLevel === '1') {\n return <Subhead {...restProps} />;\n }\n\n return <Caption level={textLevel === '2' ? '1' : '2'} {...restProps} />;\n};\n\n/**\n * @see https://vkui.io/components/subnavigation-bar#subnavigation-button\n */\nexport const SubnavigationButton = ({\n mode = 'primary',\n appearance = 'accent',\n size = 'm',\n selected,\n textLevel = '1',\n before,\n after,\n chevron,\n children,\n ...restProps\n}: SubnavigationButtonProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n hasActive={false}\n focusVisibleMode=\"outside\"\n {...restProps}\n baseClassName={classNames(\n styles.host,\n sizeStyles[size],\n modeStyles[mode],\n appearanceStyles[appearance],\n selected && styles.selected,\n density !== 'regular' && densityClassNames[density],\n restProps.disabled && styles.disabled,\n )}\n >\n <span className={styles.in}>\n {before && <span className={styles.before}>{before}</span>}\n <SubnavigationButtonTypography\n textLevel={textLevel}\n className={styles.label}\n Component=\"span\"\n >\n {children}\n </SubnavigationButtonTypography>\n {after && <span className={styles.after}>{after}</span>}\n {chevron && <Icon16Dropdown className={styles.chevronIcon} />}\n </span>\n </Tappable>\n );\n};\n"],"names":["Icon16Dropdown","classNames","useAdaptivity","Tappable","Caption","Subhead","styles","appearanceStyles","accent","appearanceAccent","neutral","appearanceNeutral","modeStyles","primary","modePrimary","outline","modeOutline","tertiary","modeTertiary","sizeStyles","s","sizeS","m","sizeM","l","sizeL","densityClassNames","none","densityNone","compact","densityCompact","SubnavigationButtonTypography","textLevel","restProps","level","SubnavigationButton","mode","appearance","size","selected","before","after","chevron","children","density","hasActive","focusVisibleMode","baseClassName","host","disabled","span","className","in","label","Component","chevronIcon"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,mBAAmB;AAClD,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAE1D,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,OAAO,QAAQ,mCAAgC;AACxD,OAAOC,YAAY,mCAAmC;AAEtD,MAAMC,mBAAmB;IACvBC,QAAQF,OAAOG,gBAAgB;IAC/BC,SAASJ,OAAOK,iBAAiB;AACnC;AAEA,MAAMC,aAAa;IACjBC,SAASP,OAAOQ,WAAW;IAC3BC,SAAST,OAAOU,WAAW;IAC3BC,UAAUX,OAAOY,YAAY;AAC/B;AAEA,MAAMC,aAAa;IACjBC,GAAGd,OAAOe,KAAK;IACfC,GAAGhB,OAAOiB,KAAK;IACfC,GAAGlB,OAAOmB,KAAK;AACjB;AAEA,MAAMC,oBAAoB;IACxBC,MAAMrB,OAAOsB,WAAW;IACxBC,SAASvB,OAAOwB,cAAc;AAChC;AA4CA,MAAMC,gCAAgC,CAAC,EACrCC,SAAS,EACT,GAAGC,WACgC;IACnC,IAAID,cAAc,KAAK;QACrB,qBAAO,KAAC3B;YAAS,GAAG4B,SAAS;;IAC/B;IAEA,qBAAO,KAAC7B;QAAQ8B,OAAOF,cAAc,MAAM,MAAM;QAAM,GAAGC,SAAS;;AACrE;AAEA;;CAEC,GACD,OAAO,MAAME,sBAAsB,CAAC,EAClCC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,OAAO,GAAG,EACVC,QAAQ,EACRP,YAAY,GAAG,EACfQ,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACR,GAAGV,WACsB;IACzB,MAAM,EAAEW,UAAU,MAAM,EAAE,GAAG1C;IAE7B,qBACE,KAACC;QACC0C,WAAW;QACXC,kBAAiB;QAChB,GAAGb,SAAS;QACbc,eAAe9C,WACbK,OAAO0C,IAAI,EACX7B,UAAU,CAACmB,KAAK,EAChB1B,UAAU,CAACwB,KAAK,EAChB7B,gBAAgB,CAAC8B,WAAW,EAC5BE,YAAYjC,OAAOiC,QAAQ,EAC3BK,YAAY,aAAalB,iBAAiB,CAACkB,QAAQ,EACnDX,UAAUgB,QAAQ,IAAI3C,OAAO2C,QAAQ;kBAGvC,cAAA,MAACC;YAAKC,WAAW7C,OAAO8C,EAAE;;gBACvBZ,wBAAU,KAACU;oBAAKC,WAAW7C,OAAOkC,MAAM;8BAAGA;;8BAC5C,KAACT;oBACCC,WAAWA;oBACXmB,WAAW7C,OAAO+C,KAAK;oBACvBC,WAAU;8BAETX;;gBAEFF,uBAAS,KAACS;oBAAKC,WAAW7C,OAAOmC,KAAK;8BAAGA;;gBACzCC,yBAAW,KAAC1C;oBAAemD,WAAW7C,OAAOiD,WAAW;;;;;AAIjE,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { withLabelClickWrapper } from '../../lib/withLabelClickWrapper';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden, type VisuallyHiddenProps } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Switch.module.css';\n\nconst warn = warnOnce('Switch');\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface SwitchProps\n extends Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n | 'checked'\n | 'defaultChecked'\n | 'disabled'\n | 'readOnly'\n | 'required'\n | 'autoFocus'\n | 'name'\n | 'value'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLLabelElement> {\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?: {\n root?: Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'children'> &\n HasRootRef<HTMLLabelElement> &\n HasDataAttribute;\n input?: React.InputHTMLAttributes<HTMLInputElement> &\n HasRootRef<HTMLInputElement> &\n HasDataAttribute;\n };\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement>;\n}\n\n/**\n * @see https://vkui.io/components/switch\n */\nexport const Switch = ({\n getRef,\n\n // Input props\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n form,\n onChange,\n onFocus,\n onBlur,\n\n slotProps,\n ...restProps\n}: SwitchProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development' && getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n const { onClick: onRootClick, ...rootRest } = useMergeProps(restProps, slotProps?.root);\n\n const {\n checked: checkedProp,\n onBlur: onInputBlur,\n onFocus: onInputFocus,\n onClick,\n className: inputClassName,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n form,\n onChange,\n onFocus,\n onBlur,\n },\n slotProps?.input,\n );\n\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n const platform = usePlatform();\n const { density = 'none' } = useAdaptivity();\n const {\n focusVisible,\n onBlur: onFocusVisibleBlur,\n onFocus: onFocusVisibleFocus,\n } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible, mode: 'outside' });\n const handleBlur = callMultiple(onFocusVisibleBlur, onInputBlur);\n const handleFocus = callMultiple(onFocusVisibleFocus, onInputFocus);\n\n const [localUncontrolledChecked, setLocalUncontrolledChecked] = React.useState(\n Boolean(inputRest.defaultChecked),\n );\n const isControlled = checkedProp !== undefined;\n\n const syncUncontrolledCheckedStateOnClick = React.useCallback(\n (e: React.MouseEvent<HTMLInputElement>) => {\n if (isControlled) {\n return;\n }\n\n const switchTarget = e.target as HTMLInputElement;\n setLocalUncontrolledChecked(switchTarget.checked);\n },\n [isControlled],\n );\n\n const inputProps: VisuallyHiddenProps<HTMLInputElement> = {\n Component: 'input',\n type: 'checkbox',\n role: 'switch',\n onBlur: handleBlur,\n onFocus: handleFocus,\n onClick: callMultiple(syncUncontrolledCheckedStateOnClick, onClick),\n ...inputRest,\n };\n\n if (isControlled) {\n inputProps.checked = checkedProp;\n inputProps['aria-checked'] = checkedProp ? 'true' : 'false';\n } else {\n inputProps['aria-checked'] = localUncontrolledChecked ? 'true' : 'false';\n }\n\n return (\n <RootComponent\n Component=\"label\"\n baseClassName={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n platform === 'ios' ? styles.ios : styles.default,\n inputRest.disabled && styles.disabled,\n isRtl && styles.rtl,\n focusVisibleClassNames,\n )}\n onClick={withLabelClickWrapper(onRootClick)}\n {...rootRest}\n >\n <VisuallyHidden className={classNames(inputClassName, styles.inputNative)} {...inputProps} />\n <span aria-hidden className={styles.inputFake}>\n <span className={styles.track} />\n <span\n aria-hidden\n className={classNames(\n styles.handle,\n platform !== 'ios' && !inputRest.disabled && styles.handleWithRipple,\n )}\n />\n </span>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useConfigDirection","useFocusVisible","useFocusVisibleClassName","useMergeProps","usePlatform","callMultiple","warnOnce","withLabelClickWrapper","RootComponent","VisuallyHidden","styles","warn","densityClassNames","none","densityNone","compact","densityCompact","Switch","getRef","checked","defaultChecked","disabled","readOnly","required","autoFocus","id","name","value","form","onChange","onFocus","onBlur","slotProps","restProps","process","env","NODE_ENV","onClick","onRootClick","rootRest","root","checkedProp","onInputBlur","onInputFocus","className","inputClassName","inputRest","getRootRef","input","direction","isRtl","platform","density","focusVisible","onFocusVisibleBlur","onFocusVisibleFocus","focusVisibleClassNames","mode","handleBlur","handleFocus","localUncontrolledChecked","setLocalUncontrolledChecked","useState","Boolean","isControlled","undefined","syncUncontrolledCheckedStateOnClick","useCallback","e","switchTarget","target","inputProps","Component","type","role","baseClassName","host","ios","default","rtl","inputNative","span","aria-hidden","inputFake","track","handle","handleWithRipple"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Switch/Switch.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { withLabelClickWrapper } from '../../lib/withLabelClickWrapper';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden, type VisuallyHiddenProps } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Switch.module.css';\n\nconst warn = warnOnce('Switch');\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface SwitchProps\n extends Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n | 'checked'\n | 'defaultChecked'\n | 'disabled'\n | 'readOnly'\n | 'required'\n | 'autoFocus'\n | 'name'\n | 'value'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLLabelElement> {\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?:\n | {\n root?:\n | (Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'children'> &\n HasRootRef<HTMLLabelElement> &\n HasDataAttribute)\n | undefined;\n input?:\n | (React.InputHTMLAttributes<HTMLInputElement> &\n HasRootRef<HTMLInputElement> &\n HasDataAttribute)\n | undefined;\n }\n | undefined;\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement> | undefined;\n}\n\n/**\n * @see https://vkui.io/components/switch\n */\nexport const Switch = ({\n getRef,\n\n // Input props\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n form,\n onChange,\n onFocus,\n onBlur,\n\n slotProps,\n ...restProps\n}: SwitchProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development' && getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n const { onClick: onRootClick, ...rootRest } = useMergeProps(restProps, slotProps?.root);\n\n const {\n checked: checkedProp,\n onBlur: onInputBlur,\n onFocus: onInputFocus,\n onClick,\n className: inputClassName,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n checked,\n defaultChecked,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n form,\n onChange,\n onFocus,\n onBlur,\n },\n slotProps?.input,\n );\n\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n const platform = usePlatform();\n const { density = 'none' } = useAdaptivity();\n const {\n focusVisible,\n onBlur: onFocusVisibleBlur,\n onFocus: onFocusVisibleFocus,\n } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({ focusVisible, mode: 'outside' });\n const handleBlur = callMultiple(onFocusVisibleBlur, onInputBlur);\n const handleFocus = callMultiple(onFocusVisibleFocus, onInputFocus);\n\n const [localUncontrolledChecked, setLocalUncontrolledChecked] = React.useState(\n Boolean(inputRest.defaultChecked),\n );\n const isControlled = checkedProp !== undefined;\n\n const syncUncontrolledCheckedStateOnClick = React.useCallback(\n (e: React.MouseEvent<HTMLInputElement>) => {\n if (isControlled) {\n return;\n }\n\n const switchTarget = e.target as HTMLInputElement;\n setLocalUncontrolledChecked(switchTarget.checked);\n },\n [isControlled],\n );\n\n const inputProps: VisuallyHiddenProps<HTMLInputElement> = {\n Component: 'input',\n type: 'checkbox',\n role: 'switch',\n onBlur: handleBlur,\n onFocus: handleFocus,\n onClick: callMultiple(syncUncontrolledCheckedStateOnClick, onClick),\n ...inputRest,\n };\n\n if (isControlled) {\n inputProps.checked = checkedProp;\n inputProps['aria-checked'] = checkedProp ? 'true' : 'false';\n } else {\n inputProps['aria-checked'] = localUncontrolledChecked ? 'true' : 'false';\n }\n\n return (\n <RootComponent\n Component=\"label\"\n baseClassName={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n platform === 'ios' ? styles.ios : styles.default,\n inputRest.disabled && styles.disabled,\n isRtl && styles.rtl,\n focusVisibleClassNames,\n )}\n onClick={withLabelClickWrapper(onRootClick)}\n {...rootRest}\n >\n <VisuallyHidden className={classNames(inputClassName, styles.inputNative)} {...inputProps} />\n <span aria-hidden className={styles.inputFake}>\n <span className={styles.track} />\n <span\n aria-hidden\n className={classNames(\n styles.handle,\n platform !== 'ios' && !inputRest.disabled && styles.handleWithRipple,\n )}\n />\n </span>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useConfigDirection","useFocusVisible","useFocusVisibleClassName","useMergeProps","usePlatform","callMultiple","warnOnce","withLabelClickWrapper","RootComponent","VisuallyHidden","styles","warn","densityClassNames","none","densityNone","compact","densityCompact","Switch","getRef","checked","defaultChecked","disabled","readOnly","required","autoFocus","id","name","value","form","onChange","onFocus","onBlur","slotProps","restProps","process","env","NODE_ENV","onClick","onRootClick","rootRest","root","checkedProp","onInputBlur","onInputFocus","className","inputClassName","inputRest","getRootRef","input","direction","isRtl","platform","density","focusVisible","onFocusVisibleBlur","onFocusVisibleFocus","focusVisibleClassNames","mode","handleBlur","handleFocus","localUncontrolledChecked","setLocalUncontrolledChecked","useState","Boolean","isControlled","undefined","syncUncontrolledCheckedStateOnClick","useCallback","e","switchTarget","target","inputProps","Component","type","role","baseClassName","host","ios","default","rtl","inputNative","span","aria-hidden","inputFake","track","handle","handleWithRipple"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabbar/Tabbar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Tabbar.module.css';\n\nexport interface TabbarProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Флаг, который скрывает тень (Android) или границы (iOS).\n */\n plain?: boolean;\n /**\n * Задает расположение элементов (вертикальное/горизонтальное).\n */\n mode?: 'vertical' | 'horizontal' | 'auto';\n}\n\nconst getItemsLayoutClassName = (\n itemsLayout: TabbarProps['mode'],\n children: TabbarProps['children'],\n): string => {\n switch (itemsLayout) {\n case 'horizontal':\n return 'vkuiInternalTabbar--layout-horizontal';\n case 'vertical':\n return 'vkuiInternalTabbar--layout-vertical';\n default:\n return React.Children.count(children) > 2\n ? getItemsLayoutClassName('vertical', [])\n : getItemsLayoutClassName('horizontal', []);\n }\n};\n\n/**\n * @see https://vkui.io/components/epic#tabbar\n */\nexport const Tabbar = ({ plain = false, mode, ...restProps }: TabbarProps): React.ReactNode => {\n const platform = usePlatform();\n\n return (\n <RootComponent\n baseClassName={classNames(\n 'vkuiInternalTabbar',\n styles.host,\n platform === 'ios' && styles.ios,\n getItemsLayoutClassName(mode, restProps.children),\n !plain && styles.shadow,\n )}\n {...restProps}\n />\n );\n};\n"],"names":["React","classNames","usePlatform","RootComponent","styles","getItemsLayoutClassName","itemsLayout","children","Children","count","Tabbar","plain","mode","restProps","platform","baseClassName","host","ios","shadow"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,sBAAsB;AAazC,MAAMC,0BAA0B,CAC9BC,aACAC;IAEA,OAAQD;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAON,MAAMQ,QAAQ,CAACC,KAAK,CAACF,YAAY,IACpCF,wBAAwB,YAAY,EAAE,IACtCA,wBAAwB,cAAc,EAAE;IAChD;AACF;AAEA;;CAEC,GACD,OAAO,MAAMK,SAAS,CAAC,EAAEC,QAAQ,KAAK,EAAEC,IAAI,EAAE,GAAGC,WAAwB;IACvE,MAAMC,WAAWZ;IAEjB,qBACE,KAACC;QACCY,eAAed,WACb,sBACAG,OAAOY,IAAI,EACXF,aAAa,SAASV,OAAOa,GAAG,EAChCZ,wBAAwBO,MAAMC,UAAUN,QAAQ,GAChD,CAACI,SAASP,OAAOc,MAAM;QAExB,GAAGL,SAAS;;AAGnB,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Tabbar/Tabbar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Tabbar.module.css';\n\nexport interface TabbarProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Флаг, который скрывает тень (Android) или границы (iOS).\n */\n plain?: boolean | undefined;\n /**\n * Задает расположение элементов (вертикальное/горизонтальное).\n */\n mode?: 'vertical' | 'horizontal' | 'auto' | undefined;\n}\n\nconst getItemsLayoutClassName = (\n itemsLayout: TabbarProps['mode'],\n children: TabbarProps['children'],\n): string => {\n switch (itemsLayout) {\n case 'horizontal':\n return 'vkuiInternalTabbar--layout-horizontal';\n case 'vertical':\n return 'vkuiInternalTabbar--layout-vertical';\n default:\n return React.Children.count(children) > 2\n ? getItemsLayoutClassName('vertical', [])\n : getItemsLayoutClassName('horizontal', []);\n }\n};\n\n/**\n * @see https://vkui.io/components/epic#tabbar\n */\nexport const Tabbar = ({ plain = false, mode, ...restProps }: TabbarProps): React.ReactNode => {\n const platform = usePlatform();\n\n return (\n <RootComponent\n baseClassName={classNames(\n 'vkuiInternalTabbar',\n styles.host,\n platform === 'ios' && styles.ios,\n getItemsLayoutClassName(mode, restProps.children),\n !plain && styles.shadow,\n )}\n {...restProps}\n />\n );\n};\n"],"names":["React","classNames","usePlatform","RootComponent","styles","getItemsLayoutClassName","itemsLayout","children","Children","count","Tabbar","plain","mode","restProps","platform","baseClassName","host","ios","shadow"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,sBAAsB;AAazC,MAAMC,0BAA0B,CAC9BC,aACAC;IAEA,OAAQD;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAON,MAAMQ,QAAQ,CAACC,KAAK,CAACF,YAAY,IACpCF,wBAAwB,YAAY,EAAE,IACtCA,wBAAwB,cAAc,EAAE;IAChD;AACF;AAEA;;CAEC,GACD,OAAO,MAAMK,SAAS,CAAC,EAAEC,QAAQ,KAAK,EAAEC,IAAI,EAAE,GAAGC,WAAwB;IACvE,MAAMC,WAAWZ;IAEjB,qBACE,KAACC;QACCY,eAAed,WACb,sBACAG,OAAOY,IAAI,EACXF,aAAa,SAASV,OAAOa,GAAG,EAChCZ,wBAAwBO,MAAMC,UAAUN,QAAQ,GAChD,CAACI,SAASP,OAAOc,MAAM;QAExB,GAAGL,SAAS;;AAGnB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames, hasReactNode, noop } from '@vkontakte/vkjs';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport type { HasComponent, HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './TabbarItem.module.css';\n\nexport interface TabbarItemProps\n extends Omit<React.AllHTMLAttributes<HTMLElement>, 'label'>,\n HasRootRef<HTMLElement>,\n HasComponent {\n /**\n * Выбранное состояние компонента.\n */\n selected?: boolean;\n /**\n * Текст рядом с иконкой.\n */\n label?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`.\n */\n indicator?: React.ReactNode;\n}\n\nconst warn = warnOnce('TabbarItem');\n\n/**\n * @see https://vkui.io/components/epic#tabbar-item\n */\nexport const TabbarItem = ({\n children,\n selected,\n indicator,\n label,\n href,\n Component = href ? 'a' : 'button',\n disabled,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n ...restProps\n}: TabbarItemProps): React.ReactNode => {\n const platform = usePlatform();\n\n if (process.env.NODE_ENV === 'development') {\n const hasAccessibleName = label || restProps['aria-label'] || restProps['aria-labelledby'];\n\n if (!hasAccessibleName) {\n warn(COMMON_WARNINGS.a11y[Component === 'a' ? 'link-name' : 'button-name'], 'error');\n }\n }\n\n const {\n focusVisible,\n onFocus: handleFocusVisibleOnFocus,\n onBlur: handleFocusVisibleOnBlur,\n } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({\n focusVisible,\n });\n\n return (\n <RootComponent\n Component={Component}\n disabled={disabled}\n onFocus={callMultiple(handleFocusVisibleOnFocus, onFocusProp)}\n onBlur={callMultiple(handleFocusVisibleOnBlur, onBlurProp)}\n href={href}\n baseClassName={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n platform === 'android' && styles.android,\n selected && styles.selected,\n )}\n {...restProps}\n >\n <Tappable\n role=\"presentation\"\n disabled={disabled}\n activeMode={platform === 'ios' ? styles.tappableActive : 'background'}\n activeEffectDelay={platform === 'ios' ? 0 : 300}\n hasHover={false}\n className={classNames(styles.tappable, focusVisibleClassNames)}\n onClick={noop}\n tabIndex={-1}\n />\n <div className={styles.in}>\n <div className={styles.icon}>\n {children}\n <div className=\"vkuiInternalTabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n </div>\n </div>\n {label && (\n <Footnote Component=\"div\" className={styles.label} weight=\"2\">\n {label}\n </Footnote>\n )}\n </div>\n </RootComponent>\n );\n};\n"],"names":["classNames","hasReactNode","noop","useFocusVisible","useFocusVisibleClassName","usePlatform","callMultiple","COMMON_WARNINGS","warnOnce","RootComponent","Tappable","Footnote","styles","warn","TabbarItem","children","selected","indicator","label","href","Component","disabled","onFocus","onFocusProp","onBlur","onBlurProp","restProps","platform","process","env","NODE_ENV","hasAccessibleName","a11y","focusVisible","handleFocusVisibleOnFocus","handleFocusVisibleOnBlur","focusVisibleClassNames","baseClassName","host","ios","android","role","activeMode","tappableActive","activeEffectDelay","hasHover","className","tappable","onClick","tabIndex","div","in","icon","weight"],"mappings":"AAAA;;AAGA,SAASA,UAAU,EAAEC,YAAY,EAAEC,IAAI,QAAQ,kBAAkB;AACjE,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,wBAAwB,QAAQ,0CAAuC;AAChF,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAE/D,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,OAAOC,YAAY,0BAA0B;AAoB7C,MAAMC,OAAOL,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMM,aAAa,CAAC,EACzBC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,IAAI,EACJC,YAAYD,OAAO,MAAM,QAAQ,EACjCE,QAAQ,EACRC,SAASC,WAAW,EACpBC,QAAQC,UAAU,EAClB,GAAGC,WACa;IAChB,MAAMC,WAAWtB;IAEjB,IAAIuB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,MAAMC,oBAAoBb,SAASQ,SAAS,CAAC,aAAa,IAAIA,SAAS,CAAC,kBAAkB;QAE1F,IAAI,CAACK,mBAAmB;YACtBlB,KAAKN,gBAAgByB,IAAI,CAACZ,cAAc,MAAM,cAAc,cAAc,EAAE;QAC9E;IACF;IAEA,MAAM,EACJa,YAAY,EACZX,SAASY,yBAAyB,EAClCV,QAAQW,wBAAwB,EACjC,GAAGhC;IACJ,MAAMiC,yBAAyBhC,yBAAyB;QACtD6B;IACF;IAEA,qBACE,MAACxB;QACCW,WAAWA;QACXC,UAAUA;QACVC,SAAShB,aAAa4B,2BAA2BX;QACjDC,QAAQlB,aAAa6B,0BAA0BV;QAC/CN,MAAMA;QACNkB,eAAerC,WACbY,OAAO0B,IAAI,EACXX,aAAa,SAASf,OAAO2B,GAAG,EAChCZ,aAAa,aAAaf,OAAO4B,OAAO,EACxCxB,YAAYJ,OAAOI,QAAQ;QAE5B,GAAGU,SAAS;;0BAEb,KAAChB;gBACC+B,MAAK;gBACLpB,UAAUA;gBACVqB,YAAYf,aAAa,QAAQf,OAAO+B,cAAc,GAAG;gBACzDC,mBAAmBjB,aAAa,QAAQ,IAAI;gBAC5CkB,UAAU;gBACVC,WAAW9C,WAAWY,OAAOmC,QAAQ,EAAEX;gBACvCY,SAAS9C;gBACT+C,UAAU,CAAC;;0BAEb,MAACC;gBAAIJ,WAAWlC,OAAOuC,EAAE;;kCACvB,MAACD;wBAAIJ,WAAWlC,OAAOwC,IAAI;;4BACxBrC;0CACD,KAACmC;gCAAIJ,WAAU;0CACZ7C,aAAagB,cAAcA;;;;oBAG/BC,uBACC,KAACP;wBAASS,WAAU;wBAAM0B,WAAWlC,OAAOM,KAAK;wBAAEmC,QAAO;kCACvDnC;;;;;;AAMb,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames, hasReactNode, noop } from '@vkontakte/vkjs';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../hooks/useFocusVisibleClassName';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport type { HasComponent, HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport styles from './TabbarItem.module.css';\n\nexport interface TabbarItemProps\n extends Omit<React.AllHTMLAttributes<HTMLElement>, 'label'>,\n HasRootRef<HTMLElement>,\n HasComponent {\n /**\n * Выбранное состояние компонента.\n */\n selected?: boolean | undefined;\n /**\n * Текст рядом с иконкой.\n */\n label?: React.ReactNode | undefined;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`.\n */\n indicator?: React.ReactNode | undefined;\n}\n\nconst warn = warnOnce('TabbarItem');\n\n/**\n * @see https://vkui.io/components/epic#tabbar-item\n */\nexport const TabbarItem = ({\n children,\n selected,\n indicator,\n label,\n href,\n Component = href ? 'a' : 'button',\n disabled,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n ...restProps\n}: TabbarItemProps): React.ReactNode => {\n const platform = usePlatform();\n\n if (process.env.NODE_ENV === 'development') {\n const hasAccessibleName = label || restProps['aria-label'] || restProps['aria-labelledby'];\n\n if (!hasAccessibleName) {\n warn(COMMON_WARNINGS.a11y[Component === 'a' ? 'link-name' : 'button-name'], 'error');\n }\n }\n\n const {\n focusVisible,\n onFocus: handleFocusVisibleOnFocus,\n onBlur: handleFocusVisibleOnBlur,\n } = useFocusVisible();\n const focusVisibleClassNames = useFocusVisibleClassName({\n focusVisible,\n });\n\n return (\n <RootComponent\n Component={Component}\n disabled={disabled}\n onFocus={callMultiple(handleFocusVisibleOnFocus, onFocusProp)}\n onBlur={callMultiple(handleFocusVisibleOnBlur, onBlurProp)}\n href={href}\n baseClassName={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n platform === 'android' && styles.android,\n selected && styles.selected,\n )}\n {...restProps}\n >\n <Tappable\n role=\"presentation\"\n disabled={disabled}\n activeMode={platform === 'ios' ? styles.tappableActive : 'background'}\n activeEffectDelay={platform === 'ios' ? 0 : 300}\n hasHover={false}\n className={classNames(styles.tappable, focusVisibleClassNames)}\n onClick={noop}\n tabIndex={-1}\n />\n <div className={styles.in}>\n <div className={styles.icon}>\n {children}\n <div className=\"vkuiInternalTabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n </div>\n </div>\n {label && (\n <Footnote Component=\"div\" className={styles.label} weight=\"2\">\n {label}\n </Footnote>\n )}\n </div>\n </RootComponent>\n );\n};\n"],"names":["classNames","hasReactNode","noop","useFocusVisible","useFocusVisibleClassName","usePlatform","callMultiple","COMMON_WARNINGS","warnOnce","RootComponent","Tappable","Footnote","styles","warn","TabbarItem","children","selected","indicator","label","href","Component","disabled","onFocus","onFocusProp","onBlur","onBlurProp","restProps","platform","process","env","NODE_ENV","hasAccessibleName","a11y","focusVisible","handleFocusVisibleOnFocus","handleFocusVisibleOnBlur","focusVisibleClassNames","baseClassName","host","ios","android","role","activeMode","tappableActive","activeEffectDelay","hasHover","className","tappable","onClick","tabIndex","div","in","icon","weight"],"mappings":"AAAA;;AAGA,SAASA,UAAU,EAAEC,YAAY,EAAEC,IAAI,QAAQ,kBAAkB;AACjE,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,SAASC,wBAAwB,QAAQ,0CAAuC;AAChF,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,eAAe,EAAEC,QAAQ,QAAQ,wBAAqB;AAE/D,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,OAAOC,YAAY,0BAA0B;AAoB7C,MAAMC,OAAOL,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMM,aAAa,CAAC,EACzBC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,IAAI,EACJC,YAAYD,OAAO,MAAM,QAAQ,EACjCE,QAAQ,EACRC,SAASC,WAAW,EACpBC,QAAQC,UAAU,EAClB,GAAGC,WACa;IAChB,MAAMC,WAAWtB;IAEjB,IAAIuB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,MAAMC,oBAAoBb,SAASQ,SAAS,CAAC,aAAa,IAAIA,SAAS,CAAC,kBAAkB;QAE1F,IAAI,CAACK,mBAAmB;YACtBlB,KAAKN,gBAAgByB,IAAI,CAACZ,cAAc,MAAM,cAAc,cAAc,EAAE;QAC9E;IACF;IAEA,MAAM,EACJa,YAAY,EACZX,SAASY,yBAAyB,EAClCV,QAAQW,wBAAwB,EACjC,GAAGhC;IACJ,MAAMiC,yBAAyBhC,yBAAyB;QACtD6B;IACF;IAEA,qBACE,MAACxB;QACCW,WAAWA;QACXC,UAAUA;QACVC,SAAShB,aAAa4B,2BAA2BX;QACjDC,QAAQlB,aAAa6B,0BAA0BV;QAC/CN,MAAMA;QACNkB,eAAerC,WACbY,OAAO0B,IAAI,EACXX,aAAa,SAASf,OAAO2B,GAAG,EAChCZ,aAAa,aAAaf,OAAO4B,OAAO,EACxCxB,YAAYJ,OAAOI,QAAQ;QAE5B,GAAGU,SAAS;;0BAEb,KAAChB;gBACC+B,MAAK;gBACLpB,UAAUA;gBACVqB,YAAYf,aAAa,QAAQf,OAAO+B,cAAc,GAAG;gBACzDC,mBAAmBjB,aAAa,QAAQ,IAAI;gBAC5CkB,UAAU;gBACVC,WAAW9C,WAAWY,OAAOmC,QAAQ,EAAEX;gBACvCY,SAAS9C;gBACT+C,UAAU,CAAC;;0BAEb,MAACC;gBAAIJ,WAAWlC,OAAOuC,EAAE;;kCACvB,MAACD;wBAAIJ,WAAWlC,OAAOwC,IAAI;;4BACxBrC;0CACD,KAACmC;gCAAIJ,WAAU;0CACZ7C,aAAagB,cAAcA;;;;oBAG/BC,uBACC,KAACP;wBAASS,WAAU;wBAAM0B,WAAWlC,OAAOM,KAAK;wBAAEmC,QAAO;kCACvDnC;;;;;;AAMb,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTabsNavigation } from '../../hooks/useTabsNavigation';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { useTabsController } from './TabsController';\nimport { TabsControllerContext } from './TabsControllerContext';\nimport { TabsModeContext } from './TabsModeContext';\nimport styles from './Tabs.module.css';\nexport interface TabsProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Режим отображения компонента.\n */\n mode?: 'default' | 'accent' | 'secondary';\n /**\n * Включает прокрутку контейнера до активной (`selected`) вкладки.\n * @since 5.10.0\n */\n withScrollToSelectedTab?: boolean;\n /**\n * Отвечает за горизонтальное выравнивание при прокрутке до активной вкладки.\n * @see [scrollIntoView](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView)\n * @since 5.10.0\n */\n scrollBehaviorToSelectedTab?: ScrollIntoViewOptions['inline'];\n /**\n * При `auto` ширина вкладок определяется контекстом:\n * - равномерно занимают всю доступную ширину при вложении в `HorizontalScroll`\n * - равномерно занимают всю доступную ширину при `mode=default` и platform !== 'VKCOM'\n * При `stretched` и `shrinked` вкладки либо равномерно занимают всю ширину,\n * либо выравниваются по контенту соответственно.\n */\n layoutFillMode?: 'auto' | 'stretched' | 'shrinked';\n /**\n * Идентификатор выбранной вкладки. Чтобы свойство работало корректно, у каждого `TabsItem` должно быть прокинуто свойство `id`.\n */\n selectedId?: string;\n /**\n * Идентификатор выбранной вкладки по умолчанию. Чтобы свойство работало корректно, у каждого `TabsItem` должно быть прокинуто свойство `id`.\n */\n defaultSelectedId?: string;\n /**\n * Обработчик изменения выбранной вкладки. Чтобы свойство работало корректно, у каждого `TabsItem` должно быть прокинуто свойство `id`.\n */\n onSelectedIdChange?: (id: string) => void;\n}\n\n/**\n * @see https://vkui.io/components/tabs\n */\nexport const Tabs = ({\n children,\n mode = 'default',\n role = 'tablist',\n withScrollToSelectedTab,\n scrollBehaviorToSelectedTab = 'nearest',\n layoutFillMode = 'auto',\n selectedId,\n defaultSelectedId,\n onSelectedIdChange,\n ...restProps\n}: TabsProps): React.ReactNode => {\n const controller = useTabsController({\n selectedId,\n defaultSelectedId,\n onSelectedIdChange,\n });\n const platform = usePlatform();\n const direction = useConfigDirection();\n const isTabFlow = role === 'tablist';\n const withGaps = mode === 'accent' || mode === 'secondary';\n\n const { tabsRef } = useTabsNavigation(isTabFlow, direction === 'rtl');\n\n const tabsModeContext = React.useMemo(\n () => ({\n mode,\n withGaps,\n layoutFillMode,\n withScrollToSelectedTab,\n scrollBehaviorToSelectedTab,\n }),\n [mode, withGaps, layoutFillMode, withScrollToSelectedTab, scrollBehaviorToSelectedTab],\n );\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalTabs',\n platform === 'vkcom' && 'vkuiInternalTabs--vkcom',\n withGaps && classNames(styles.withGaps, 'vkuiInternalTabs--withGaps'),\n mode === 'default' && styles.modeDefault,\n )}\n role={role}\n >\n <div className={styles.in} ref={tabsRef}>\n <TabsModeContext.Provider value={tabsModeContext}>\n <TabsControllerContext.Provider value={controller}>\n {children}\n </TabsControllerContext.Provider>\n </TabsModeContext.Provider>\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useConfigDirection","usePlatform","useTabsNavigation","RootComponent","useTabsController","TabsControllerContext","TabsModeContext","styles","Tabs","children","mode","role","withScrollToSelectedTab","scrollBehaviorToSelectedTab","layoutFillMode","selectedId","defaultSelectedId","onSelectedIdChange","restProps","controller","platform","direction","isTabFlow","withGaps","tabsRef","tabsModeContext","useMemo","baseClassName","host","modeDefault","div","className","in","ref","Provider","value"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAAQ,oCAAiC;AACpE,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,mCAAgC;AAElE,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,iBAAiB,QAAQ,sBAAmB;AACrD,SAASC,qBAAqB,QAAQ,6BAA0B;AAChE,SAASC,eAAe,QAAQ,uBAAoB;AACpD,OAAOC,YAAY,oBAAoB;AAuCvC;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,QAAQ,EACRC,OAAO,SAAS,EAChBC,OAAO,SAAS,EAChBC,uBAAuB,EACvBC,8BAA8B,SAAS,EACvCC,iBAAiB,MAAM,EACvBC,UAAU,EACVC,iBAAiB,EACjBC,kBAAkB,EAClB,GAAGC,WACO;IACV,MAAMC,aAAaf,kBAAkB;QACnCW;QACAC;QACAC;IACF;IACA,MAAMG,WAAWnB;IACjB,MAAMoB,YAAYrB;IAClB,MAAMsB,YAAYX,SAAS;IAC3B,MAAMY,WAAWb,SAAS,YAAYA,SAAS;IAE/C,MAAM,EAAEc,OAAO,EAAE,GAAGtB,kBAAkBoB,WAAWD,cAAc;IAE/D,MAAMI,kBAAkB3B,MAAM4B,OAAO,CACnC,IAAO,CAAA;YACLhB;YACAa;YACAT;YACAF;YACAC;QACF,CAAA,GACA;QAACH;QAAMa;QAAUT;QAAgBF;QAAyBC;KAA4B;IAGxF,qBACE,KAACV;QACE,GAAGe,SAAS;QACbS,eAAe5B,WACbQ,OAAOqB,IAAI,EACX,oBACAR,aAAa,WAAW,2BACxBG,YAAYxB,WAAWQ,OAAOgB,QAAQ,EAAE,+BACxCb,SAAS,aAAaH,OAAOsB,WAAW;QAE1ClB,MAAMA;kBAEN,cAAA,KAACmB;YAAIC,WAAWxB,OAAOyB,EAAE;YAAEC,KAAKT;sBAC9B,cAAA,KAAClB,gBAAgB4B,QAAQ;gBAACC,OAAOV;0BAC/B,cAAA,KAACpB,sBAAsB6B,QAAQ;oBAACC,OAAOhB;8BACpCV;;;;;AAMb,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTabsNavigation } from '../../hooks/useTabsNavigation';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { useTabsController } from './TabsController';\nimport { TabsControllerContext } from './TabsControllerContext';\nimport { TabsModeContext } from './TabsModeContext';\nimport styles from './Tabs.module.css';\nexport interface TabsProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Режим отображения компонента.\n */\n mode?: 'default' | 'accent' | 'secondary' | undefined;\n /**\n * Включает прокрутку контейнера до активной (`selected`) вкладки.\n * @since 5.10.0\n */\n withScrollToSelectedTab?: boolean | undefined;\n /**\n * Отвечает за горизонтальное выравнивание при прокрутке до активной вкладки.\n * @see [scrollIntoView](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView)\n * @since 5.10.0\n */\n scrollBehaviorToSelectedTab?: ScrollIntoViewOptions['inline'] | undefined;\n /**\n * При `auto` ширина вкладок определяется контекстом:\n * - равномерно занимают всю доступную ширину при вложении в `HorizontalScroll`\n * - равномерно занимают всю доступную ширину при `mode=default` и platform !== 'VKCOM'\n * При `stretched` и `shrinked` вкладки либо равномерно занимают всю ширину,\n * либо выравниваются по контенту соответственно.\n */\n layoutFillMode?: 'auto' | 'stretched' | 'shrinked' | undefined;\n /**\n * Идентификатор выбранной вкладки. Чтобы свойство работало корректно, у каждого `TabsItem` должно быть прокинуто свойство `id`.\n */\n selectedId?: string | undefined;\n /**\n * Идентификатор выбранной вкладки по умолчанию. Чтобы свойство работало корректно, у каждого `TabsItem` должно быть прокинуто свойство `id`.\n */\n defaultSelectedId?: string | undefined;\n /**\n * Обработчик изменения выбранной вкладки. Чтобы свойство работало корректно, у каждого `TabsItem` должно быть прокинуто свойство `id`.\n */\n onSelectedIdChange?: ((id: string) => void) | undefined;\n}\n\n/**\n * @see https://vkui.io/components/tabs\n */\nexport const Tabs = ({\n children,\n mode = 'default',\n role = 'tablist',\n withScrollToSelectedTab,\n scrollBehaviorToSelectedTab = 'nearest',\n layoutFillMode = 'auto',\n selectedId,\n defaultSelectedId,\n onSelectedIdChange,\n ...restProps\n}: TabsProps): React.ReactNode => {\n const controller = useTabsController({\n selectedId,\n defaultSelectedId,\n onSelectedIdChange,\n });\n const platform = usePlatform();\n const direction = useConfigDirection();\n const isTabFlow = role === 'tablist';\n const withGaps = mode === 'accent' || mode === 'secondary';\n\n const { tabsRef } = useTabsNavigation(isTabFlow, direction === 'rtl');\n\n const tabsModeContext = React.useMemo(\n () => ({\n mode,\n withGaps,\n layoutFillMode,\n withScrollToSelectedTab,\n scrollBehaviorToSelectedTab,\n }),\n [mode, withGaps, layoutFillMode, withScrollToSelectedTab, scrollBehaviorToSelectedTab],\n );\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n 'vkuiInternalTabs',\n platform === 'vkcom' && 'vkuiInternalTabs--vkcom',\n withGaps && classNames(styles.withGaps, 'vkuiInternalTabs--withGaps'),\n mode === 'default' && styles.modeDefault,\n )}\n role={role}\n >\n <div className={styles.in} ref={tabsRef}>\n <TabsModeContext.Provider value={tabsModeContext}>\n <TabsControllerContext.Provider value={controller}>\n {children}\n </TabsControllerContext.Provider>\n </TabsModeContext.Provider>\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useConfigDirection","usePlatform","useTabsNavigation","RootComponent","useTabsController","TabsControllerContext","TabsModeContext","styles","Tabs","children","mode","role","withScrollToSelectedTab","scrollBehaviorToSelectedTab","layoutFillMode","selectedId","defaultSelectedId","onSelectedIdChange","restProps","controller","platform","direction","isTabFlow","withGaps","tabsRef","tabsModeContext","useMemo","baseClassName","host","modeDefault","div","className","in","ref","Provider","value"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAAQ,oCAAiC;AACpE,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,mCAAgC;AAElE,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,iBAAiB,QAAQ,sBAAmB;AACrD,SAASC,qBAAqB,QAAQ,6BAA0B;AAChE,SAASC,eAAe,QAAQ,uBAAoB;AACpD,OAAOC,YAAY,oBAAoB;AAuCvC;;CAEC,GACD,OAAO,MAAMC,OAAO,CAAC,EACnBC,QAAQ,EACRC,OAAO,SAAS,EAChBC,OAAO,SAAS,EAChBC,uBAAuB,EACvBC,8BAA8B,SAAS,EACvCC,iBAAiB,MAAM,EACvBC,UAAU,EACVC,iBAAiB,EACjBC,kBAAkB,EAClB,GAAGC,WACO;IACV,MAAMC,aAAaf,kBAAkB;QACnCW;QACAC;QACAC;IACF;IACA,MAAMG,WAAWnB;IACjB,MAAMoB,YAAYrB;IAClB,MAAMsB,YAAYX,SAAS;IAC3B,MAAMY,WAAWb,SAAS,YAAYA,SAAS;IAE/C,MAAM,EAAEc,OAAO,EAAE,GAAGtB,kBAAkBoB,WAAWD,cAAc;IAE/D,MAAMI,kBAAkB3B,MAAM4B,OAAO,CACnC,IAAO,CAAA;YACLhB;YACAa;YACAT;YACAF;YACAC;QACF,CAAA,GACA;QAACH;QAAMa;QAAUT;QAAgBF;QAAyBC;KAA4B;IAGxF,qBACE,KAACV;QACE,GAAGe,SAAS;QACbS,eAAe5B,WACbQ,OAAOqB,IAAI,EACX,oBACAR,aAAa,WAAW,2BACxBG,YAAYxB,WAAWQ,OAAOgB,QAAQ,EAAE,+BACxCb,SAAS,aAAaH,OAAOsB,WAAW;QAE1ClB,MAAMA;kBAEN,cAAA,KAACmB;YAAIC,WAAWxB,OAAOyB,EAAE;YAAEC,KAAKT;sBAC9B,cAAA,KAAClB,gBAAgB4B,QAAQ;gBAACC,OAAOV;0BAC/B,cAAA,KAACpB,sBAAsB6B,QAAQ;oBAACC,OAAOhB;8BACpCV;;;;;AAMb,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tabs/TabsModeContext.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TabsProps } from './Tabs';\n\n/* eslint-disable jsdoc/require-jsdoc */\nexport interface TabsContextProps {\n mode: TabsProps['mode'];\n withGaps: boolean;\n layoutFillMode: NonNullable<TabsProps['layoutFillMode']>;\n withScrollToSelectedTab: TabsProps['withScrollToSelectedTab'];\n scrollBehaviorToSelectedTab: Required<TabsProps['scrollBehaviorToSelectedTab']>;\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nexport const TabsModeContext: React.Context<TabsContextProps> =\n React.createContext<TabsContextProps>({\n mode: 'default',\n withGaps: false,\n layoutFillMode: 'auto',\n withScrollToSelectedTab: false,\n scrollBehaviorToSelectedTab: 'nearest',\n });\n"],"names":["React","TabsModeContext","createContext","mode","withGaps","layoutFillMode","withScrollToSelectedTab","scrollBehaviorToSelectedTab"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAW/B,qCAAqC,GAErC,OAAO,MAAMC,kBACXD,MAAME,aAAa,CAAmB;IACpCC,MAAM;IACNC,UAAU;IACVC,gBAAgB;IAChBC,yBAAyB;IACzBC,6BAA6B;AAC/B,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/Tabs/TabsModeContext.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TabsProps } from './Tabs';\n\n/* eslint-disable jsdoc/require-jsdoc */\nexport interface TabsContextProps {\n mode: TabsProps['mode'];\n withGaps: boolean;\n layoutFillMode: NonNullable<TabsProps['layoutFillMode']>;\n withScrollToSelectedTab: TabsProps['withScrollToSelectedTab'];\n scrollBehaviorToSelectedTab: NonNullable<TabsProps['scrollBehaviorToSelectedTab']>;\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nexport const TabsModeContext: React.Context<TabsContextProps> =\n React.createContext<TabsContextProps>({\n mode: 'default',\n withGaps: false,\n layoutFillMode: 'auto',\n withScrollToSelectedTab: false,\n scrollBehaviorToSelectedTab: 'nearest',\n });\n"],"names":["React","TabsModeContext","createContext","mode","withGaps","layoutFillMode","withScrollToSelectedTab","scrollBehaviorToSelectedTab"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAW/B,qCAAqC,GAErC,OAAO,MAAMC,kBACXD,MAAME,aAAa,CAAmB;IACpCC,MAAM;IACNC,UAAU;IACVC,gBAAgB;IAChBC,yBAAyB;IACzBC,6BAA6B;AAC/B,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabsItem/TabsItem.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useDOM } from '../../lib/dom';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { AnchorHTMLAttributesOnly, HTMLAttributesWithRootRef } from '../../types';\nimport { TabsControllerContext } from '../Tabs/TabsControllerContext';\nimport { TabsModeContext } from '../Tabs/TabsModeContext';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './TabsItem.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nconst stylesMode = {\n default: styles.modeDefault,\n accent: styles.modeAccent,\n secondary: styles.modeSecondary,\n};\n\nconst fillModeClassNames = {\n stretched: styles.stretched,\n shrinked: styles.shrinked,\n};\n\nexport interface TabsItemProps\n extends HTMLAttributesWithRootRef<HTMLElement>,\n AnchorHTMLAttributesOnly,\n Pick<\n TappableOmitProps,\n | 'Component'\n | 'activeMode'\n | 'hoverMode'\n | 'hovered'\n | 'activated'\n | 'hasActive'\n | 'hasHover'\n | 'focusVisibleMode'\n > {\n /**\n * Добавляет иконку слева.\n *\n * - Для `mode=\"default\"` используйте иконки размером 24.\n * - Для всех остальных `mode` используйте иконки размером 20.\n */\n before?: React.ReactNode;\n /**\n * Добавляет элемент слева от `after`.\n *\n * - `React.ReactElement` – либо [`Badge`](https://vkui.io/components/badge) с параметром `mode=\"prominent\"`.\n * Либо [`Counter`](https://vkui.io/components/counter) с параметрами `mode=\"prominent\" size=\"s\"`.\n * - `number` – для показа текстового блока с переданным числом.\n */\n status?: React.ReactElement | number;\n /**\n * Добавляет иконку справа.\n *\n * Например, `<Icon16Dropdown />`.\n */\n after?: React.ReactNode;\n /**\n * Флаг для отображения выбранного состояния.\n */\n selected?: boolean;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n}\n\nconst warn = warnOnce('TabsItem');\n\n/**\n * @see https://vkui.io/components/tabs#tabs-item\n */\nexport const TabsItem = ({\n before,\n children,\n status,\n after,\n selected: selectedProp = false,\n role = 'tab',\n tabIndex: tabIndexProp,\n getRootRef,\n hoverMode = styles.hover,\n activeMode = '',\n hasActive = false,\n focusVisibleMode = 'inside',\n id,\n onClick,\n ...restProps\n}: TabsItemProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n const { mode, withGaps, layoutFillMode, scrollBehaviorToSelectedTab, withScrollToSelectedTab } =\n React.useContext(TabsModeContext);\n const controller = React.useContext(TabsControllerContext);\n let statusComponent = null;\n\n const isTabFlow = role === 'tab';\n\n const selected = selectedProp || (!!id && controller?.selectedTab === id);\n\n if (hasReactNode(status)) {\n statusComponent =\n typeof status === 'number' ? (\n <Subhead\n Component=\"span\"\n className={classNames(styles.status, styles.statusCount)}\n weight=\"2\"\n >\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </Subhead>\n ) : (\n <span className={styles.status}>\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </span>\n );\n }\n\n if (process.env.NODE_ENV === 'development' && isTabFlow) {\n if (!restProps['aria-controls']) {\n warn(`Передайте в \"aria-controls\" id контролируемого блока`, 'warn');\n } else if (!id) {\n warn(\n `Передайте \"id\" компоненту для использования в \"aria-labelledby\" контролируемого блока`,\n 'warn',\n );\n }\n }\n\n let tabIndex = tabIndexProp;\n if (isTabFlow && tabIndex === undefined) {\n tabIndex = selected ? 0 : -1;\n }\n\n const rootRef = useExternRef(getRootRef);\n\n const prevSelectedRef = React.useRef<boolean | undefined>(undefined);\n\n const { document } = useDOM();\n React.useEffect(\n function scrollToSelectedItem() {\n const isInitialRender = prevSelectedRef.current === undefined;\n const shouldScrollToSelected =\n withScrollToSelectedTab &&\n !isInitialRender &&\n prevSelectedRef.current !== selected &&\n selected;\n\n prevSelectedRef.current = selected;\n\n if (!shouldScrollToSelected || !rootRef.current || !document) {\n return;\n }\n\n const tabDOMRect = rootRef.current.getBoundingClientRect();\n const isTabVerticallyOutsideOfViewport =\n tabDOMRect.top < 0 || tabDOMRect.bottom > document.documentElement.clientHeight;\n\n /* проверяем, возможен ли вертикальный скролл, а он возможен для scrollIntoView если\n * элемент вертикально вне зоны видимости */\n if (isTabVerticallyOutsideOfViewport) {\n return;\n }\n\n /* Не все браузеры поддерживают используемые нами опции. */\n try {\n rootRef.current.scrollIntoView({\n inline: scrollBehaviorToSelectedTab,\n block: 'nearest',\n behavior: 'smooth',\n });\n } catch {\n /* Вызывать scrollIntoView с булевым аргументом не следует, потому что это повлечёт\n * вертикальный скролл.\n **/\n }\n },\n [rootRef, document, scrollBehaviorToSelectedTab, withScrollToSelectedTab, selected],\n );\n\n const _onClick: React.MouseEventHandler<HTMLElement> = React.useCallback(\n (e) => {\n onClick?.(e);\n if (id) {\n controller?.onChange(id);\n }\n },\n [id, onClick, controller],\n );\n\n return (\n <Tappable\n getRootRef={rootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n role={role}\n aria-selected={selected}\n tabIndex={tabIndex}\n baseClassName={classNames(\n styles.host,\n mode && stylesMode[mode],\n selected && styles.selected,\n density !== 'regular' && densityClassNames[density],\n withGaps && styles.withGaps,\n layoutFillMode !== 'auto' && fillModeClassNames[layoutFillMode],\n )}\n onClick={controller ? _onClick : onClick}\n id={id}\n {...restProps}\n >\n {before && <div className={styles.before}>{before}</div>}\n <Headline\n Component=\"span\"\n className={styles.label}\n level={mode === 'default' ? '1' : '2'}\n weight=\"2\"\n >\n {children}\n </Headline>\n {statusComponent}\n {after && <div className={styles.after}>{after}</div>}\n {mode === 'default' && (\n <div className={styles.underline} aria-hidden data-selected={selected} />\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","useExternRef","useDOM","warnOnce","TabsControllerContext","TabsModeContext","Tappable","Headline","Subhead","VisuallyHidden","styles","densityClassNames","none","densityNone","compact","densityCompact","stylesMode","default","modeDefault","accent","modeAccent","secondary","modeSecondary","fillModeClassNames","stretched","shrinked","warn","TabsItem","before","children","status","after","selected","selectedProp","role","tabIndex","tabIndexProp","getRootRef","hoverMode","hover","activeMode","hasActive","focusVisibleMode","id","onClick","restProps","density","mode","withGaps","layoutFillMode","scrollBehaviorToSelectedTab","withScrollToSelectedTab","useContext","controller","statusComponent","isTabFlow","selectedTab","Component","className","statusCount","weight","span","process","env","NODE_ENV","undefined","rootRef","prevSelectedRef","useRef","document","useEffect","scrollToSelectedItem","isInitialRender","current","shouldScrollToSelected","tabDOMRect","getBoundingClientRect","isTabVerticallyOutsideOfViewport","top","bottom","documentElement","clientHeight","scrollIntoView","inline","block","behavior","_onClick","useCallback","e","onChange","aria-selected","baseClassName","host","div","label","level","underline","aria-hidden","data-selected"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/TabsItem/TabsItem.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useDOM } from '../../lib/dom';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { AnchorHTMLAttributesOnly, HTMLAttributesWithRootRef } from '../../types';\nimport { TabsControllerContext } from '../Tabs/TabsControllerContext';\nimport { TabsModeContext } from '../Tabs/TabsModeContext';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './TabsItem.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nconst stylesMode = {\n default: styles.modeDefault,\n accent: styles.modeAccent,\n secondary: styles.modeSecondary,\n};\n\nconst fillModeClassNames = {\n stretched: styles.stretched,\n shrinked: styles.shrinked,\n};\n\nexport interface TabsItemProps\n extends HTMLAttributesWithRootRef<HTMLElement>,\n AnchorHTMLAttributesOnly,\n Pick<\n TappableOmitProps,\n | 'Component'\n | 'activeMode'\n | 'hoverMode'\n | 'hovered'\n | 'activated'\n | 'hasActive'\n | 'hasHover'\n | 'focusVisibleMode'\n > {\n /**\n * Добавляет иконку слева.\n *\n * - Для `mode=\"default\"` используйте иконки размером 24.\n * - Для всех остальных `mode` используйте иконки размером 20.\n */\n before?: React.ReactNode | undefined;\n /**\n * Добавляет элемент слева от `after`.\n *\n * - `React.ReactElement` – либо [`Badge`](https://vkui.io/components/badge) с параметром `mode=\"prominent\"`.\n * Либо [`Counter`](https://vkui.io/components/counter) с параметрами `mode=\"prominent\" size=\"s\"`.\n * - `number` – для показа текстового блока с переданным числом.\n */\n status?: React.ReactElement | number | undefined;\n /**\n * Добавляет иконку справа.\n *\n * Например, `<Icon16Dropdown />`.\n */\n after?: React.ReactNode | undefined;\n /**\n * Флаг для отображения выбранного состояния.\n */\n selected?: boolean | undefined;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean | undefined;\n}\n\nconst warn = warnOnce('TabsItem');\n\n/**\n * @see https://vkui.io/components/tabs#tabs-item\n */\nexport const TabsItem = ({\n before,\n children,\n status,\n after,\n selected: selectedProp = false,\n role = 'tab',\n tabIndex: tabIndexProp,\n getRootRef,\n hoverMode = styles.hover,\n activeMode = '',\n hasActive = false,\n focusVisibleMode = 'inside',\n id,\n onClick,\n ...restProps\n}: TabsItemProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n const { mode, withGaps, layoutFillMode, scrollBehaviorToSelectedTab, withScrollToSelectedTab } =\n React.useContext(TabsModeContext);\n const controller = React.useContext(TabsControllerContext);\n let statusComponent = null;\n\n const isTabFlow = role === 'tab';\n\n const selected = selectedProp || (!!id && controller?.selectedTab === id);\n\n if (hasReactNode(status)) {\n statusComponent =\n typeof status === 'number' ? (\n <Subhead\n Component=\"span\"\n className={classNames(styles.status, styles.statusCount)}\n weight=\"2\"\n >\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </Subhead>\n ) : (\n <span className={styles.status}>\n <VisuallyHidden>&nbsp;</VisuallyHidden>\n {status}\n </span>\n );\n }\n\n if (process.env.NODE_ENV === 'development' && isTabFlow) {\n if (!restProps['aria-controls']) {\n warn(`Передайте в \"aria-controls\" id контролируемого блока`, 'warn');\n } else if (!id) {\n warn(\n `Передайте \"id\" компоненту для использования в \"aria-labelledby\" контролируемого блока`,\n 'warn',\n );\n }\n }\n\n let tabIndex = tabIndexProp;\n if (isTabFlow && tabIndex === undefined) {\n tabIndex = selected ? 0 : -1;\n }\n\n const rootRef = useExternRef(getRootRef);\n\n const prevSelectedRef = React.useRef<boolean | undefined>(undefined);\n\n const { document } = useDOM();\n React.useEffect(\n function scrollToSelectedItem() {\n const isInitialRender = prevSelectedRef.current === undefined;\n const shouldScrollToSelected =\n withScrollToSelectedTab &&\n !isInitialRender &&\n prevSelectedRef.current !== selected &&\n selected;\n\n prevSelectedRef.current = selected;\n\n if (!shouldScrollToSelected || !rootRef.current || !document) {\n return;\n }\n\n const tabDOMRect = rootRef.current.getBoundingClientRect();\n const isTabVerticallyOutsideOfViewport =\n tabDOMRect.top < 0 || tabDOMRect.bottom > document.documentElement.clientHeight;\n\n /* проверяем, возможен ли вертикальный скролл, а он возможен для scrollIntoView если\n * элемент вертикально вне зоны видимости */\n if (isTabVerticallyOutsideOfViewport) {\n return;\n }\n\n /* Не все браузеры поддерживают используемые нами опции. */\n try {\n rootRef.current.scrollIntoView({\n inline: scrollBehaviorToSelectedTab,\n block: 'nearest',\n behavior: 'smooth',\n });\n } catch {\n /* Вызывать scrollIntoView с булевым аргументом не следует, потому что это повлечёт\n * вертикальный скролл.\n **/\n }\n },\n [rootRef, document, scrollBehaviorToSelectedTab, withScrollToSelectedTab, selected],\n );\n\n const _onClick: React.MouseEventHandler<HTMLElement> = React.useCallback(\n (e) => {\n onClick?.(e);\n if (id) {\n controller?.onChange(id);\n }\n },\n [id, onClick, controller],\n );\n\n return (\n <Tappable\n getRootRef={rootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n role={role}\n aria-selected={selected}\n tabIndex={tabIndex}\n baseClassName={classNames(\n styles.host,\n mode && stylesMode[mode],\n selected && styles.selected,\n density !== 'regular' && densityClassNames[density],\n withGaps && styles.withGaps,\n layoutFillMode !== 'auto' && fillModeClassNames[layoutFillMode],\n )}\n onClick={controller ? _onClick : onClick}\n id={id}\n {...restProps}\n >\n {before && <div className={styles.before}>{before}</div>}\n <Headline\n Component=\"span\"\n className={styles.label}\n level={mode === 'default' ? '1' : '2'}\n weight=\"2\"\n >\n {children}\n </Headline>\n {statusComponent}\n {after && <div className={styles.after}>{after}</div>}\n {mode === 'default' && (\n <div className={styles.underline} aria-hidden data-selected={selected} />\n )}\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","useExternRef","useDOM","warnOnce","TabsControllerContext","TabsModeContext","Tappable","Headline","Subhead","VisuallyHidden","styles","densityClassNames","none","densityNone","compact","densityCompact","stylesMode","default","modeDefault","accent","modeAccent","secondary","modeSecondary","fillModeClassNames","stretched","shrinked","warn","TabsItem","before","children","status","after","selected","selectedProp","role","tabIndex","tabIndexProp","getRootRef","hoverMode","hover","activeMode","hasActive","focusVisibleMode","id","onClick","restProps","density","mode","withGaps","layoutFillMode","scrollBehaviorToSelectedTab","withScrollToSelectedTab","useContext","controller","statusComponent","isTabFlow","selectedTab","Component","className","statusCount","weight","span","process","env","NODE_ENV","undefined","rootRef","prevSelectedRef","useRef","document","useEffect","scrollToSelectedItem","isInitialRender","current","shouldScrollToSelected","tabDOMRect","getBoundingClientRect","isTabVerticallyOutsideOfViewport","top","bottom","documentElement","clientHeight","scrollIntoView","inline","block","behavior","_onClick","useCallback","e","onChange","aria-selected","baseClassName","host","div","label","level","underline","aria-hidden","data-selected"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,MAAM,QAAQ,mBAAgB;AACvC,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,qBAAqB,QAAQ,mCAAgC;AACtE,SAASC,eAAe,QAAQ,6BAA0B;AAC1D,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,QAAQ,QAAQ,qCAAkC;AAC3D,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAEA,MAAMC,aAAa;IACjBC,SAASP,OAAOQ,WAAW;IAC3BC,QAAQT,OAAOU,UAAU;IACzBC,WAAWX,OAAOY,aAAa;AACjC;AAEA,MAAMC,qBAAqB;IACzBC,WAAWd,OAAOc,SAAS;IAC3BC,UAAUf,OAAOe,QAAQ;AAC3B;AA+CA,MAAMC,OAAOvB,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMwB,WAAW,CAAC,EACvBC,MAAM,EACNC,QAAQ,EACRC,MAAM,EACNC,KAAK,EACLC,UAAUC,eAAe,KAAK,EAC9BC,OAAO,KAAK,EACZC,UAAUC,YAAY,EACtBC,UAAU,EACVC,YAAY5B,OAAO6B,KAAK,EACxBC,aAAa,EAAE,EACfC,YAAY,KAAK,EACjBC,mBAAmB,QAAQ,EAC3BC,EAAE,EACFC,OAAO,EACP,GAAGC,WACW;IACd,MAAM,EAAEC,UAAU,MAAM,EAAE,GAAG9C;IAC7B,MAAM,EAAE+C,IAAI,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,2BAA2B,EAAEC,uBAAuB,EAAE,GAC5FtD,MAAMuD,UAAU,CAAC/C;IACnB,MAAMgD,aAAaxD,MAAMuD,UAAU,CAAChD;IACpC,IAAIkD,kBAAkB;IAEtB,MAAMC,YAAYrB,SAAS;IAE3B,MAAMF,WAAWC,gBAAiB,CAAC,CAACU,MAAMU,YAAYG,gBAAgBb;IAEtE,IAAI5C,aAAa+B,SAAS;QACxBwB,kBACE,OAAOxB,WAAW,yBAChB,MAACtB;YACCiD,WAAU;YACVC,WAAW5D,WAAWY,OAAOoB,MAAM,EAAEpB,OAAOiD,WAAW;YACvDC,QAAO;;8BAEP,KAACnD;8BAAe;;gBACfqB;;2BAGH,MAAC+B;YAAKH,WAAWhD,OAAOoB,MAAM;;8BAC5B,KAACrB;8BAAe;;gBACfqB;;;IAGT;IAEA,IAAIgC,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiBT,WAAW;QACvD,IAAI,CAACV,SAAS,CAAC,gBAAgB,EAAE;YAC/BnB,KAAK,CAAC,oDAAoD,CAAC,EAAE;QAC/D,OAAO,IAAI,CAACiB,IAAI;YACdjB,KACE,CAAC,qFAAqF,CAAC,EACvF;QAEJ;IACF;IAEA,IAAIS,WAAWC;IACf,IAAImB,aAAapB,aAAa8B,WAAW;QACvC9B,WAAWH,WAAW,IAAI,CAAC;IAC7B;IAEA,MAAMkC,UAAUjE,aAAaoC;IAE7B,MAAM8B,kBAAkBtE,MAAMuE,MAAM,CAAsBH;IAE1D,MAAM,EAAEI,QAAQ,EAAE,GAAGnE;IACrBL,MAAMyE,SAAS,CACb,SAASC;QACP,MAAMC,kBAAkBL,gBAAgBM,OAAO,KAAKR;QACpD,MAAMS,yBACJvB,2BACA,CAACqB,mBACDL,gBAAgBM,OAAO,KAAKzC,YAC5BA;QAEFmC,gBAAgBM,OAAO,GAAGzC;QAE1B,IAAI,CAAC0C,0BAA0B,CAACR,QAAQO,OAAO,IAAI,CAACJ,UAAU;YAC5D;QACF;QAEA,MAAMM,aAAaT,QAAQO,OAAO,CAACG,qBAAqB;QACxD,MAAMC,mCACJF,WAAWG,GAAG,GAAG,KAAKH,WAAWI,MAAM,GAAGV,SAASW,eAAe,CAACC,YAAY;QAEjF;gDAC0C,GAC1C,IAAIJ,kCAAkC;YACpC;QACF;QAEA,yDAAyD,GACzD,IAAI;YACFX,QAAQO,OAAO,CAACS,cAAc,CAAC;gBAC7BC,QAAQjC;gBACRkC,OAAO;gBACPC,UAAU;YACZ;QACF,EAAE,OAAM;QACN;;UAEE,GACJ;IACF,GACA;QAACnB;QAASG;QAAUnB;QAA6BC;QAAyBnB;KAAS;IAGrF,MAAMsD,WAAiDzF,MAAM0F,WAAW,CACtE,CAACC;QACC5C,UAAU4C;QACV,IAAI7C,IAAI;YACNU,YAAYoC,SAAS9C;QACvB;IACF,GACA;QAACA;QAAIC;QAASS;KAAW;IAG3B,qBACE,MAAC/C;QACC+B,YAAY6B;QACZ5B,WAAWA;QACXE,YAAYA;QACZC,WAAWA;QACXC,kBAAkBA;QAClBR,MAAMA;QACNwD,iBAAe1D;QACfG,UAAUA;QACVwD,eAAe7F,WACbY,OAAOkF,IAAI,EACX7C,QAAQ/B,UAAU,CAAC+B,KAAK,EACxBf,YAAYtB,OAAOsB,QAAQ,EAC3Bc,YAAY,aAAanC,iBAAiB,CAACmC,QAAQ,EACnDE,YAAYtC,OAAOsC,QAAQ,EAC3BC,mBAAmB,UAAU1B,kBAAkB,CAAC0B,eAAe;QAEjEL,SAASS,aAAaiC,WAAW1C;QACjCD,IAAIA;QACH,GAAGE,SAAS;;YAEZjB,wBAAU,KAACiE;gBAAInC,WAAWhD,OAAOkB,MAAM;0BAAGA;;0BAC3C,KAACrB;gBACCkD,WAAU;gBACVC,WAAWhD,OAAOoF,KAAK;gBACvBC,OAAOhD,SAAS,YAAY,MAAM;gBAClCa,QAAO;0BAEN/B;;YAEFyB;YACAvB,uBAAS,KAAC8D;gBAAInC,WAAWhD,OAAOqB,KAAK;0BAAGA;;YACxCgB,SAAS,2BACR,KAAC8C;gBAAInC,WAAWhD,OAAOsF,SAAS;gBAAEC,aAAW;gBAACC,iBAAelE;;;;AAIrE,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tappable/Tappable.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { type SizeTypeValues, ViewWidth, type ViewWidthType } from '../../lib/adaptivity';\nimport { mergeCalls } from '../../lib/mergeCalls';\nimport { checkClickable, Clickable, type ClickableProps } from '../Clickable/Clickable';\nimport { Ripple, useMaybeNeedRipple, useRipple } from './Ripple';\nimport { activeClass, DEFAULT_STATE_MODE, hoverClass, type StateProps } from './state';\nimport styles from './Tappable.module.css';\n\nfunction getViewWidthClassName(\n viewWidth: ViewWidthType | 'none',\n legacySizeX: SizeTypeValues | undefined,\n) {\n // TODO [>=10]: #9015 Удалить это условие\n if (legacySizeX !== undefined && legacySizeX === 'compact') {\n return styles.withBorder;\n }\n if (viewWidth === 'none') {\n return styles.withBorderOnSmallTabletMinus;\n }\n if (viewWidth < ViewWidth.SMALL_TABLET) {\n return styles.withBorder;\n }\n return;\n}\n\nfunction hasPointerClassName(hasPointer: boolean | undefined) {\n switch (hasPointer) {\n case undefined:\n return styles.hasPointerNone;\n case false:\n return styles.hasPointerFalse;\n }\n\n return undefined;\n}\n\nexport interface TappableProps extends ClickableProps, StateProps {\n /**\n * Задает border-radius элементу\n * В режиме `auto` на маленьких экранах `border-radius: 0`, иначе определяется токеном `--vkui--size_border_radius--regular`.\n */\n borderRadiusMode?: 'auto' | 'inherit';\n /**\n * @deprecated Since 7.3.0. Будет удалeно в **VKUI v9**.\n *\n * Используйте свойство `activeMode`.\n */\n activeClassName?: string; // TODO [>=9]: удалить неиспользуемое свойство.\n /**\n * @deprecated Since 7.3.0. Будет удалeно в **VKUI v9**.\n *\n * Используйте свойство `hoverMode`.\n */\n hoverClassName?: string; // TODO [>=9]: удалить неиспользуемое свойство.\n}\n\n/**\n * @deprecated Не наследуйтесь от этого типа и от TappableProps.\n *\n * Компонентам не нужны лишние свойства Tappable компонента.\n */\nexport type TappableOmitProps = Omit<\n TappableProps,\n 'DefaultComponent' | 'baseClassName' | 'baseStyle'\n>;\n\nexport const Tappable = ({\n baseClassName,\n borderRadiusMode = 'auto',\n children,\n hoverMode = DEFAULT_STATE_MODE,\n activeMode = DEFAULT_STATE_MODE,\n onPointerDown,\n onPointerCancel,\n ...restProps\n}: TappableProps): React.ReactNode => {\n const isClickable = checkClickable(restProps);\n\n const { sizeX: legacySizeX, viewWidth = 'none', hasPointer } = useAdaptivity();\n\n const needRipple = useMaybeNeedRipple(activeMode, hasPointer);\n const { clicks, ...rippleEvents } = useRipple(needRipple, hasPointer);\n\n const handlers = mergeCalls(rippleEvents, {\n onPointerDown,\n onPointerCancel,\n });\n\n const typeProps = restProps.Component === 'button' ? { type: 'button' } : {};\n\n return (\n <Clickable\n baseClassName={classNames(\n 'vkuiInternalTappable',\n baseClassName,\n styles.host,\n getViewWidthClassName(viewWidth, legacySizeX),\n borderRadiusMode === 'inherit' && styles.borderRadiusInherit,\n hasPointerClassName(hasPointer),\n )}\n hoverClassName={hoverClass(hoverMode)}\n activeClassName={activeClass(activeMode)}\n {...typeProps}\n {...handlers}\n {...restProps}\n >\n {children}\n {isClickable && (hoverMode === 'background' || activeMode === 'background') && (\n <Ripple needRipple={needRipple} clicks={clicks} />\n )}\n </Clickable>\n );\n};\n"],"names":["classNames","useAdaptivity","ViewWidth","mergeCalls","checkClickable","Clickable","Ripple","useMaybeNeedRipple","useRipple","activeClass","DEFAULT_STATE_MODE","hoverClass","styles","getViewWidthClassName","viewWidth","legacySizeX","undefined","withBorder","withBorderOnSmallTabletMinus","SMALL_TABLET","hasPointerClassName","hasPointer","hasPointerNone","hasPointerFalse","Tappable","baseClassName","borderRadiusMode","children","hoverMode","activeMode","onPointerDown","onPointerCancel","restProps","isClickable","sizeX","needRipple","clicks","rippleEvents","handlers","typeProps","Component","type","host","borderRadiusInherit","hoverClassName","activeClassName"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAA8BC,SAAS,QAA4B,gCAAuB;AAC1F,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,cAAc,EAAEC,SAAS,QAA6B,4BAAyB;AACxF,SAASC,MAAM,EAAEC,kBAAkB,EAAEC,SAAS,QAAQ,cAAW;AACjE,SAASC,WAAW,EAAEC,kBAAkB,EAAEC,UAAU,QAAyB,aAAU;AACvF,OAAOC,YAAY,wBAAwB;AAE3C,SAASC,sBACPC,SAAiC,EACjCC,WAAuC;IAEvC,yCAAyC;IACzC,IAAIA,gBAAgBC,aAAaD,gBAAgB,WAAW;QAC1D,OAAOH,OAAOK,UAAU;IAC1B;IACA,IAAIH,cAAc,QAAQ;QACxB,OAAOF,OAAOM,4BAA4B;IAC5C;IACA,IAAIJ,YAAYZ,UAAUiB,YAAY,EAAE;QACtC,OAAOP,OAAOK,UAAU;IAC1B;IACA;AACF;AAEA,SAASG,oBAAoBC,UAA+B;IAC1D,OAAQA;QACN,KAAKL;YACH,OAAOJ,OAAOU,cAAc;QAC9B,KAAK;YACH,OAAOV,OAAOW,eAAe;IACjC;IAEA,OAAOP;AACT;AAgCA,OAAO,MAAMQ,WAAW,CAAC,EACvBC,aAAa,EACbC,mBAAmB,MAAM,EACzBC,QAAQ,EACRC,YAAYlB,kBAAkB,EAC9BmB,aAAanB,kBAAkB,EAC/BoB,aAAa,EACbC,eAAe,EACf,GAAGC,WACW;IACd,MAAMC,cAAc7B,eAAe4B;IAEnC,MAAM,EAAEE,OAAOnB,WAAW,EAAED,YAAY,MAAM,EAAEO,UAAU,EAAE,GAAGpB;IAE/D,MAAMkC,aAAa5B,mBAAmBsB,YAAYR;IAClD,MAAM,EAAEe,MAAM,EAAE,GAAGC,cAAc,GAAG7B,UAAU2B,YAAYd;IAE1D,MAAMiB,WAAWnC,WAAWkC,cAAc;QACxCP;QACAC;IACF;IAEA,MAAMQ,YAAYP,UAAUQ,SAAS,KAAK,WAAW;QAAEC,MAAM;IAAS,IAAI,CAAC;IAE3E,qBACE,MAACpC;QACCoB,eAAezB,WACb,wBACAyB,eACAb,OAAO8B,IAAI,EACX7B,sBAAsBC,WAAWC,cACjCW,qBAAqB,aAAad,OAAO+B,mBAAmB,EAC5DvB,oBAAoBC;QAEtBuB,gBAAgBjC,WAAWiB;QAC3BiB,iBAAiBpC,YAAYoB;QAC5B,GAAGU,SAAS;QACZ,GAAGD,QAAQ;QACX,GAAGN,SAAS;;YAEZL;YACAM,eAAgBL,CAAAA,cAAc,gBAAgBC,eAAe,YAAW,mBACvE,KAACvB;gBAAO6B,YAAYA;gBAAYC,QAAQA;;;;AAIhD,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Tappable/Tappable.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { type SizeTypeValues, ViewWidth, type ViewWidthType } from '../../lib/adaptivity';\nimport { mergeCalls } from '../../lib/mergeCalls';\nimport { checkClickable, Clickable, type ClickableProps } from '../Clickable/Clickable';\nimport { Ripple, useMaybeNeedRipple, useRipple } from './Ripple';\nimport { activeClass, DEFAULT_STATE_MODE, hoverClass, type StateProps } from './state';\nimport styles from './Tappable.module.css';\n\nfunction getViewWidthClassName(\n viewWidth: ViewWidthType | 'none',\n legacySizeX: SizeTypeValues | undefined,\n) {\n // TODO [>=10]: #9015 Удалить это условие\n if (legacySizeX !== undefined && legacySizeX === 'compact') {\n return styles.withBorder;\n }\n if (viewWidth === 'none') {\n return styles.withBorderOnSmallTabletMinus;\n }\n if (viewWidth < ViewWidth.SMALL_TABLET) {\n return styles.withBorder;\n }\n return;\n}\n\nfunction hasPointerClassName(hasPointer: boolean | undefined) {\n switch (hasPointer) {\n case undefined:\n return styles.hasPointerNone;\n case false:\n return styles.hasPointerFalse;\n }\n\n return undefined;\n}\n\nexport interface TappableProps extends ClickableProps, StateProps {\n /**\n * Задает border-radius элементу\n * В режиме `auto` на маленьких экранах `border-radius: 0`, иначе определяется токеном `--vkui--size_border_radius--regular`.\n */\n borderRadiusMode?: 'auto' | 'inherit' | undefined;\n /**\n * @deprecated Since 7.3.0. Будет удалeно в **VKUI v9**.\n *\n * Используйте свойство `activeMode`.\n */\n activeClassName?: string | undefined; // TODO [>=9]: удалить неиспользуемое свойство.\n /**\n * @deprecated Since 7.3.0. Будет удалeно в **VKUI v9**.\n *\n * Используйте свойство `hoverMode`.\n */\n hoverClassName?: string | undefined; // TODO [>=9]: удалить неиспользуемое свойство.\n}\n\n/**\n * @deprecated Не наследуйтесь от этого типа и от TappableProps.\n *\n * Компонентам не нужны лишние свойства Tappable компонента.\n */\nexport type TappableOmitProps = Omit<\n TappableProps,\n 'DefaultComponent' | 'baseClassName' | 'baseStyle'\n>;\n\nexport const Tappable = ({\n baseClassName,\n borderRadiusMode = 'auto',\n children,\n hoverMode = DEFAULT_STATE_MODE,\n activeMode = DEFAULT_STATE_MODE,\n onPointerDown,\n onPointerCancel,\n ...restProps\n}: TappableProps): React.ReactNode => {\n const isClickable = checkClickable(restProps);\n\n const { sizeX: legacySizeX, viewWidth = 'none', hasPointer } = useAdaptivity();\n\n const needRipple = useMaybeNeedRipple(activeMode, hasPointer);\n const { clicks, ...rippleEvents } = useRipple(needRipple, hasPointer);\n\n const handlers = mergeCalls(rippleEvents, {\n onPointerDown,\n onPointerCancel,\n });\n\n const typeProps = restProps.Component === 'button' ? { type: 'button' } : {};\n\n return (\n <Clickable\n baseClassName={classNames(\n 'vkuiInternalTappable',\n baseClassName,\n styles.host,\n getViewWidthClassName(viewWidth, legacySizeX),\n borderRadiusMode === 'inherit' && styles.borderRadiusInherit,\n hasPointerClassName(hasPointer),\n )}\n hoverClassName={hoverClass(hoverMode)}\n activeClassName={activeClass(activeMode)}\n {...typeProps}\n {...handlers}\n {...restProps}\n >\n {children}\n {isClickable && (hoverMode === 'background' || activeMode === 'background') && (\n <Ripple needRipple={needRipple} clicks={clicks} />\n )}\n </Clickable>\n );\n};\n"],"names":["classNames","useAdaptivity","ViewWidth","mergeCalls","checkClickable","Clickable","Ripple","useMaybeNeedRipple","useRipple","activeClass","DEFAULT_STATE_MODE","hoverClass","styles","getViewWidthClassName","viewWidth","legacySizeX","undefined","withBorder","withBorderOnSmallTabletMinus","SMALL_TABLET","hasPointerClassName","hasPointer","hasPointerNone","hasPointerFalse","Tappable","baseClassName","borderRadiusMode","children","hoverMode","activeMode","onPointerDown","onPointerCancel","restProps","isClickable","sizeX","needRipple","clicks","rippleEvents","handlers","typeProps","Component","type","host","borderRadiusInherit","hoverClassName","activeClassName"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAA8BC,SAAS,QAA4B,gCAAuB;AAC1F,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,cAAc,EAAEC,SAAS,QAA6B,4BAAyB;AACxF,SAASC,MAAM,EAAEC,kBAAkB,EAAEC,SAAS,QAAQ,cAAW;AACjE,SAASC,WAAW,EAAEC,kBAAkB,EAAEC,UAAU,QAAyB,aAAU;AACvF,OAAOC,YAAY,wBAAwB;AAE3C,SAASC,sBACPC,SAAiC,EACjCC,WAAuC;IAEvC,yCAAyC;IACzC,IAAIA,gBAAgBC,aAAaD,gBAAgB,WAAW;QAC1D,OAAOH,OAAOK,UAAU;IAC1B;IACA,IAAIH,cAAc,QAAQ;QACxB,OAAOF,OAAOM,4BAA4B;IAC5C;IACA,IAAIJ,YAAYZ,UAAUiB,YAAY,EAAE;QACtC,OAAOP,OAAOK,UAAU;IAC1B;IACA;AACF;AAEA,SAASG,oBAAoBC,UAA+B;IAC1D,OAAQA;QACN,KAAKL;YACH,OAAOJ,OAAOU,cAAc;QAC9B,KAAK;YACH,OAAOV,OAAOW,eAAe;IACjC;IAEA,OAAOP;AACT;AAgCA,OAAO,MAAMQ,WAAW,CAAC,EACvBC,aAAa,EACbC,mBAAmB,MAAM,EACzBC,QAAQ,EACRC,YAAYlB,kBAAkB,EAC9BmB,aAAanB,kBAAkB,EAC/BoB,aAAa,EACbC,eAAe,EACf,GAAGC,WACW;IACd,MAAMC,cAAc7B,eAAe4B;IAEnC,MAAM,EAAEE,OAAOnB,WAAW,EAAED,YAAY,MAAM,EAAEO,UAAU,EAAE,GAAGpB;IAE/D,MAAMkC,aAAa5B,mBAAmBsB,YAAYR;IAClD,MAAM,EAAEe,MAAM,EAAE,GAAGC,cAAc,GAAG7B,UAAU2B,YAAYd;IAE1D,MAAMiB,WAAWnC,WAAWkC,cAAc;QACxCP;QACAC;IACF;IAEA,MAAMQ,YAAYP,UAAUQ,SAAS,KAAK,WAAW;QAAEC,MAAM;IAAS,IAAI,CAAC;IAE3E,qBACE,MAACpC;QACCoB,eAAezB,WACb,wBACAyB,eACAb,OAAO8B,IAAI,EACX7B,sBAAsBC,WAAWC,cACjCW,qBAAqB,aAAad,OAAO+B,mBAAmB,EAC5DvB,oBAAoBC;QAEtBuB,gBAAgBjC,WAAWiB;QAC3BiB,iBAAiBpC,YAAYoB;QAC5B,GAAGU,SAAS;QACZ,GAAGD,QAAQ;QACX,GAAGN,SAAS;;YAEZL;YACAM,eAAgBL,CAAAA,cAAc,gBAAgBC,eAAe,YAAW,mBACvE,KAACvB;gBAAO6B,YAAYA;gBAAYC,QAAQA;;;;AAIhD,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tappable/state.tsx"],"sourcesContent":["import type { LiteralUnion } from '../../types';\nimport styles from './Tappable.module.css';\n\ntype StateMode = 'opacity' | 'background' | 'none';\nexport type StateModeLiteral = LiteralUnion<StateMode, string>;\n\nexport interface StateProps {\n /**\n * Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active.\n */\n activeMode?: StateModeLiteral;\n\n /**\n * Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover.\n */\n hoverMode?: StateModeLiteral;\n}\n\n/**\n * Состояние по умолчанию.\n */\nexport const DEFAULT_STATE_MODE: StateMode = 'background';\n\nconst stylesHovered: Record<string, string> = {\n background: styles.hoveredBackground,\n opacity: styles.hoveredOpacity,\n none: '',\n};\n\n/**\n * Определяем класс наведения.\n */\nexport function hoverClass(hoverMode: StateModeLiteral = DEFAULT_STATE_MODE): string {\n const presetClass = stylesHovered[hoverMode] as string | undefined;\n\n return presetClass !== undefined ? presetClass : hoverMode;\n}\n\nconst stylesActivated: Record<string, string> = {\n background: styles.activatedBackground,\n opacity: styles.activatedOpacity,\n none: '',\n};\n\n/**\n * Определяем класс наведения.\n */\nexport function activeClass(activeMode: StateModeLiteral = DEFAULT_STATE_MODE): string {\n const presetClass = stylesActivated[activeMode] as string | undefined;\n\n return presetClass !== undefined ? presetClass : activeMode;\n}\n"],"names":["styles","DEFAULT_STATE_MODE","stylesHovered","background","hoveredBackground","opacity","hoveredOpacity","none","hoverClass","hoverMode","presetClass","undefined","stylesActivated","activatedBackground","activatedOpacity","activeClass","activeMode"],"mappings":"AACA,OAAOA,YAAY,wBAAwB;AAiB3C;;CAEC,GACD,OAAO,MAAMC,qBAAgC,aAAa;AAE1D,MAAMC,gBAAwC;IAC5CC,YAAYH,OAAOI,iBAAiB;IACpCC,SAASL,OAAOM,cAAc;IAC9BC,MAAM;AACR;AAEA;;CAEC,GACD,OAAO,SAASC,WAAWC,YAA8BR,kBAAkB;IACzE,MAAMS,cAAcR,aAAa,CAACO,UAAU;IAE5C,OAAOC,gBAAgBC,YAAYD,cAAcD;AACnD;AAEA,MAAMG,kBAA0C;IAC9CT,YAAYH,OAAOa,mBAAmB;IACtCR,SAASL,OAAOc,gBAAgB;IAChCP,MAAM;AACR;AAEA;;CAEC,GACD,OAAO,SAASQ,YAAYC,aAA+Bf,kBAAkB;IAC3E,MAAMS,cAAcE,eAAe,CAACI,WAAW;IAE/C,OAAON,gBAAgBC,YAAYD,cAAcM;AACnD"}
1
+ {"version":3,"sources":["../../../../src/components/Tappable/state.tsx"],"sourcesContent":["import type { LiteralUnion } from '../../types';\nimport styles from './Tappable.module.css';\n\ntype StateMode = 'opacity' | 'background' | 'none';\nexport type StateModeLiteral = LiteralUnion<StateMode, string>;\n\nexport interface StateProps {\n /**\n * Стиль подсветки active-состояния. Если передать произвольную строку, она добавится как css-класс во время active.\n */\n activeMode?: StateModeLiteral | undefined;\n\n /**\n * Стиль подсветки hover-состояния. Если передать произвольную строку, она добавится как css-класс во время hover.\n */\n hoverMode?: StateModeLiteral | undefined;\n}\n\n/**\n * Состояние по умолчанию.\n */\nexport const DEFAULT_STATE_MODE: StateMode = 'background';\n\nconst stylesHovered: Record<string, string> = {\n background: styles.hoveredBackground,\n opacity: styles.hoveredOpacity,\n none: '',\n};\n\n/**\n * Определяем класс наведения.\n */\nexport function hoverClass(hoverMode: StateModeLiteral = DEFAULT_STATE_MODE): string {\n const presetClass = stylesHovered[hoverMode] as string | undefined;\n\n return presetClass !== undefined ? presetClass : hoverMode;\n}\n\nconst stylesActivated: Record<string, string> = {\n background: styles.activatedBackground,\n opacity: styles.activatedOpacity,\n none: '',\n};\n\n/**\n * Определяем класс наведения.\n */\nexport function activeClass(activeMode: StateModeLiteral = DEFAULT_STATE_MODE): string {\n const presetClass = stylesActivated[activeMode] as string | undefined;\n\n return presetClass !== undefined ? presetClass : activeMode;\n}\n"],"names":["styles","DEFAULT_STATE_MODE","stylesHovered","background","hoveredBackground","opacity","hoveredOpacity","none","hoverClass","hoverMode","presetClass","undefined","stylesActivated","activatedBackground","activatedOpacity","activeClass","activeMode"],"mappings":"AACA,OAAOA,YAAY,wBAAwB;AAiB3C;;CAEC,GACD,OAAO,MAAMC,qBAAgC,aAAa;AAE1D,MAAMC,gBAAwC;IAC5CC,YAAYH,OAAOI,iBAAiB;IACpCC,SAASL,OAAOM,cAAc;IAC9BC,MAAM;AACR;AAEA;;CAEC,GACD,OAAO,SAASC,WAAWC,YAA8BR,kBAAkB;IACzE,MAAMS,cAAcR,aAAa,CAACO,UAAU;IAE5C,OAAOC,gBAAgBC,YAAYD,cAAcD;AACnD;AAEA,MAAMG,kBAA0C;IAC9CT,YAAYH,OAAOa,mBAAmB;IACtCR,SAASL,OAAOc,gBAAgB;IAChCP,MAAM;AACR;AAEA;;CAEC,GACD,OAAO,SAASQ,YAAYC,aAA+Bf,kBAAkB;IAC3E,MAAMS,cAAcE,eAAe,CAACI,WAAW;IAE/C,OAAON,gBAAgBC,YAAYD,cAAcM;AACnD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useResizeObserver } from '../../hooks/useResizeObserver';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { useDOM } from '../../lib/dom';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasAlign, HasDataAttribute, HasRootRef } from '../../types';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { UnstyledTextField } from '../UnstyledTextField/UnstyledTextField';\nimport { useResizeTextarea } from './useResizeTextarea';\nimport styles from './Textarea.module.css';\n\nconst warn = warnOnce('Textarea');\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface TextareaProps\n extends Pick<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n | 'autoComplete'\n | 'autoCapitalize'\n | 'autoCorrect'\n | 'cols'\n | 'dirName'\n | 'disabled'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'rows'\n | 'value'\n | 'wrap'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLElement>,\n HasAlign,\n FormFieldProps {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ textArea: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLTextAreaElement>;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `textArea`: свойства для прокидывания в поле ввода.\n */\n slotProps?: {\n root?: React.HTMLAttributes<HTMLElement> & HasRootRef<HTMLElement> & HasDataAttribute;\n textArea?: React.TextareaHTMLAttributes<HTMLTextAreaElement> &\n HasRootRef<HTMLTextAreaElement> &\n HasDataAttribute;\n };\n /**\n * Свойство управляющее автоматическим изменением высоты компонента.\n */\n grow?: boolean;\n /**\n * Обработчик, срабатывающий при изменении размера компонента.\n */\n onResize?: (el: HTMLTextAreaElement) => void;\n /**\n * Значение по умолчанию.\n */\n defaultValue?: string;\n}\n\n/**\n * @see https://vkui.io/components/textarea\n */\nexport const Textarea = ({\n // FormFieldProps\n status,\n mode,\n after,\n before,\n afterAlign,\n beforeAlign,\n maxHeight,\n\n // TextareaProps\n grow = true,\n onResize,\n align,\n getRef,\n\n // textarea props\n autoComplete,\n autoCapitalize,\n autoCorrect,\n cols,\n dirName,\n disabled,\n maxLength,\n minLength,\n name,\n placeholder,\n readOnly,\n required,\n value: valueProp,\n wrap,\n rows = 2,\n form,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n id,\n inputMode,\n defaultValue,\n autoFocus,\n tabIndex,\n spellCheck,\n\n slotProps,\n ...restProps\n}: TextareaProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development' && getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ textArea: { getRootRef: ... } }`');\n }\n\n const { density = 'none' } = useAdaptivity();\n const platform = usePlatform();\n const { window } = useDOM();\n\n const { className, ...rootProps } = useMergeProps(restProps, slotProps?.root);\n\n const {\n onChange,\n getRootRef: getTextAreaRef,\n value,\n ...textAreaRest\n } = useMergeProps(\n {\n className: styles.el,\n getRootRef: getRef,\n autoComplete,\n autoCapitalize,\n autoCorrect,\n cols,\n dirName,\n disabled,\n maxLength,\n minLength,\n name,\n placeholder,\n readOnly,\n required,\n value: valueProp,\n wrap,\n rows,\n form,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n id,\n inputMode,\n defaultValue,\n autoFocus,\n tabIndex,\n spellCheck,\n },\n slotProps?.textArea,\n );\n\n const [refResizeTextarea, resize] = useResizeTextarea(onResize, grow);\n const elementRef = useExternRef(getTextAreaRef, refResizeTextarea);\n\n React.useEffect(resize, [resize, density, platform, value]);\n useResizeObserver(window, resize);\n\n return (\n <FormField\n className={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n align === 'right' && styles.alignRight,\n align === 'center' && styles.alignCenter,\n className,\n )}\n disabled={textAreaRest.disabled}\n status={status}\n mode={mode}\n after={after}\n before={before}\n afterAlign={afterAlign}\n beforeAlign={beforeAlign}\n maxHeight={maxHeight}\n {...rootProps}\n >\n <UnstyledTextField\n value={value}\n as=\"textarea\"\n rows={rows}\n getRootRef={elementRef}\n onChange={callMultiple(onChange, resize)}\n {...textAreaRest}\n />\n </FormField>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useMergeProps","usePlatform","useResizeObserver","callMultiple","useDOM","warnOnce","FormField","UnstyledTextField","useResizeTextarea","styles","warn","densityClassNames","none","densityNone","compact","densityCompact","Textarea","status","mode","after","before","afterAlign","beforeAlign","maxHeight","grow","onResize","align","getRef","autoComplete","autoCapitalize","autoCorrect","cols","dirName","disabled","maxLength","minLength","name","placeholder","readOnly","required","value","valueProp","wrap","rows","form","onChange","onChangeProp","onFocus","onBlur","id","inputMode","defaultValue","autoFocus","tabIndex","spellCheck","slotProps","restProps","process","env","NODE_ENV","density","platform","window","className","rootProps","root","getRootRef","getTextAreaRef","textAreaRest","el","textArea","refResizeTextarea","resize","elementRef","useEffect","host","alignRight","alignCenter","as"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useResizeObserver } from '../../hooks/useResizeObserver';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { useDOM } from '../../lib/dom';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasAlign, HasDataAttribute, HasRootRef } from '../../types';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { UnstyledTextField } from '../UnstyledTextField/UnstyledTextField';\nimport { useResizeTextarea } from './useResizeTextarea';\nimport styles from './Textarea.module.css';\n\nconst warn = warnOnce('Textarea');\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface TextareaProps\n extends Pick<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n | 'autoComplete'\n | 'autoCapitalize'\n | 'autoCorrect'\n | 'cols'\n | 'dirName'\n | 'disabled'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'rows'\n | 'value'\n | 'wrap'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.HTMLAttributes<HTMLElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLElement>,\n HasAlign,\n FormFieldProps {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ textArea: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLTextAreaElement> | undefined;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `textArea`: свойства для прокидывания в поле ввода.\n */\n slotProps?:\n | {\n root?:\n | (React.HTMLAttributes<HTMLElement> & HasRootRef<HTMLElement> & HasDataAttribute)\n | undefined;\n textArea?: React.TextareaHTMLAttributes<HTMLTextAreaElement> &\n HasRootRef<HTMLTextAreaElement> &\n HasDataAttribute;\n }\n | undefined;\n /**\n * Свойство управляющее автоматическим изменением высоты компонента.\n */\n grow?: boolean | undefined;\n /**\n * Обработчик, срабатывающий при изменении размера компонента.\n */\n onResize?: ((el: HTMLTextAreaElement) => void) | undefined;\n /**\n * Значение по умолчанию.\n */\n defaultValue?: string | undefined;\n}\n\n/**\n * @see https://vkui.io/components/textarea\n */\nexport const Textarea = ({\n // FormFieldProps\n status,\n mode,\n after,\n before,\n afterAlign,\n beforeAlign,\n maxHeight,\n\n // TextareaProps\n grow = true,\n onResize,\n align,\n getRef,\n\n // textarea props\n autoComplete,\n autoCapitalize,\n autoCorrect,\n cols,\n dirName,\n disabled,\n maxLength,\n minLength,\n name,\n placeholder,\n readOnly,\n required,\n value: valueProp,\n wrap,\n rows = 2,\n form,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n id,\n inputMode,\n defaultValue,\n autoFocus,\n tabIndex,\n spellCheck,\n\n slotProps,\n ...restProps\n}: TextareaProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development' && getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ textArea: { getRootRef: ... } }`');\n }\n\n const { density = 'none' } = useAdaptivity();\n const platform = usePlatform();\n const { window } = useDOM();\n\n const { className, ...rootProps } = useMergeProps(restProps, slotProps?.root);\n\n const {\n onChange,\n getRootRef: getTextAreaRef,\n value,\n ...textAreaRest\n } = useMergeProps(\n {\n className: styles.el,\n getRootRef: getRef,\n autoComplete,\n autoCapitalize,\n autoCorrect,\n cols,\n dirName,\n disabled,\n maxLength,\n minLength,\n name,\n placeholder,\n readOnly,\n required,\n value: valueProp,\n wrap,\n rows,\n form,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n id,\n inputMode,\n defaultValue,\n autoFocus,\n tabIndex,\n spellCheck,\n },\n slotProps?.textArea,\n );\n\n const [refResizeTextarea, resize] = useResizeTextarea(onResize, grow);\n const elementRef = useExternRef(getTextAreaRef, refResizeTextarea);\n\n React.useEffect(resize, [resize, density, platform, value]);\n useResizeObserver(window, resize);\n\n return (\n <FormField\n className={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n align === 'right' && styles.alignRight,\n align === 'center' && styles.alignCenter,\n className,\n )}\n disabled={textAreaRest.disabled}\n status={status}\n mode={mode}\n after={after}\n before={before}\n afterAlign={afterAlign}\n beforeAlign={beforeAlign}\n maxHeight={maxHeight}\n {...rootProps}\n >\n <UnstyledTextField\n value={value}\n as=\"textarea\"\n rows={rows}\n getRootRef={elementRef}\n onChange={callMultiple(onChange, resize)}\n {...textAreaRest}\n />\n </FormField>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useExternRef","useMergeProps","usePlatform","useResizeObserver","callMultiple","useDOM","warnOnce","FormField","UnstyledTextField","useResizeTextarea","styles","warn","densityClassNames","none","densityNone","compact","densityCompact","Textarea","status","mode","after","before","afterAlign","beforeAlign","maxHeight","grow","onResize","align","getRef","autoComplete","autoCapitalize","autoCorrect","cols","dirName","disabled","maxLength","minLength","name","placeholder","readOnly","required","value","valueProp","wrap","rows","form","onChange","onChangeProp","onFocus","onBlur","id","inputMode","defaultValue","autoFocus","tabIndex","spellCheck","slotProps","restProps","process","env","NODE_ENV","density","platform","window","className","rootProps","root","getRootRef","getTextAreaRef","textAreaRest","el","textArea","refResizeTextarea","resize","elementRef","useEffect","host","alignRight","alignCenter","as"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ToolButton/ToolButton.tsx"],"sourcesContent":["'use client';\n\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport {\n AdaptiveIconRenderer,\n type AdaptiveIconRendererProps,\n} from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport styles from './ToolButton.module.css';\n\nconst stylesMode = {\n primary: styles.modePrimary,\n secondary: styles.modeSecondary,\n tertiary: styles.modeTertiary,\n outline: styles.modeOutline,\n};\n\nconst stylesAppearance = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n};\n\nconst stylesDirection = {\n row: styles.directionRow,\n column: styles.directionColumn,\n};\n\nconst densityClassNames = {\n none: styles.densityNone,\n regular: styles.densityRegular,\n};\n\nexport interface ToolButtonProps extends TappableOmitProps, AdaptiveIconRendererProps {\n /**\n * Режим отображения компонента.\n */\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline';\n /**\n * Внешний вид компонента.\n */\n appearance?: 'accent' | 'neutral';\n /**\n * Направление контента.\n */\n direction?: 'row' | 'column';\n /**\n * Задаёт `50%` закругления для контейнера.\n *\n * > Note: игнорируется при `direction=\"column\"` если передан `children`.\n */\n rounded?: boolean;\n}\n\n/**\n * Кнопки, которые используются для вызова инструмента, вставки аттачей или\n * для форматирования. Их можно использовать как кнопки для разового действия\n * или для включения/выключения режима.\n *\n * @see https://vkui.io/components/tool-button\n */\nexport const ToolButton = ({\n mode = 'primary',\n appearance = 'accent',\n direction = 'row',\n children,\n IconCompact,\n IconRegular,\n rounded,\n ...restProps\n}: ToolButtonProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n const hasChildren = hasReactNode(children);\n\n return (\n <Tappable\n hoverMode={styles.hover}\n activeMode={styles.active}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n baseClassName={classNames(\n styles.host,\n rounded && getRoundedClassName(direction, hasChildren),\n hasChildren && direction === 'row' && styles.withFakeEndIcon,\n stylesMode[mode],\n stylesAppearance[appearance],\n stylesDirection[direction],\n density !== 'compact' && densityClassNames[density],\n )}\n {...restProps}\n >\n <AdaptiveIconRenderer IconCompact={IconCompact} IconRegular={IconRegular} />\n {hasChildren && <span className={styles.text}>{children}</span>}\n </Tappable>\n );\n};\n\nexport function getRoundedClassName(\n direction: 'row' | 'column',\n hasChildren: boolean,\n): string | undefined {\n switch (direction) {\n case 'row':\n return styles.rounded;\n case 'column':\n return hasChildren ? undefined : styles.rounded;\n }\n}\n"],"names":["classNames","hasReactNode","useAdaptivity","AdaptiveIconRenderer","Tappable","styles","stylesMode","primary","modePrimary","secondary","modeSecondary","tertiary","modeTertiary","outline","modeOutline","stylesAppearance","accent","appearanceAccent","neutral","appearanceNeutral","stylesDirection","row","directionRow","column","directionColumn","densityClassNames","none","densityNone","regular","densityRegular","ToolButton","mode","appearance","direction","children","IconCompact","IconRegular","rounded","restProps","density","hasChildren","hoverMode","hover","activeMode","active","Component","href","focusVisibleMode","baseClassName","host","getRoundedClassName","withFakeEndIcon","span","className","text","undefined"],"mappings":"AAAA;;AAEA,SAASA,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SACEC,oBAAoB,QAEf,kDAA+C;AACtD,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,OAAOC,YAAY,0BAA0B;AAE7C,MAAMC,aAAa;IACjBC,SAASF,OAAOG,WAAW;IAC3BC,WAAWJ,OAAOK,aAAa;IAC/BC,UAAUN,OAAOO,YAAY;IAC7BC,SAASR,OAAOS,WAAW;AAC7B;AAEA,MAAMC,mBAAmB;IACvBC,QAAQX,OAAOY,gBAAgB;IAC/BC,SAASb,OAAOc,iBAAiB;AACnC;AAEA,MAAMC,kBAAkB;IACtBC,KAAKhB,OAAOiB,YAAY;IACxBC,QAAQlB,OAAOmB,eAAe;AAChC;AAEA,MAAMC,oBAAoB;IACxBC,MAAMrB,OAAOsB,WAAW;IACxBC,SAASvB,OAAOwB,cAAc;AAChC;AAuBA;;;;;;CAMC,GACD,OAAO,MAAMC,aAAa,CAAC,EACzBC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,YAAY,KAAK,EACjBC,QAAQ,EACRC,WAAW,EACXC,WAAW,EACXC,OAAO,EACP,GAAGC,WACa;IAChB,MAAM,EAAEC,UAAU,MAAM,EAAE,GAAGrC;IAC7B,MAAMsC,cAAcvC,aAAaiC;IAEjC,qBACE,MAAC9B;QACCqC,WAAWpC,OAAOqC,KAAK;QACvBC,YAAYtC,OAAOuC,MAAM;QACzBC,WAAWP,UAAUQ,IAAI,GAAG,MAAM;QAClCC,kBAAiB;QACjBC,eAAehD,WACbK,OAAO4C,IAAI,EACXZ,WAAWa,oBAAoBjB,WAAWO,cAC1CA,eAAeP,cAAc,SAAS5B,OAAO8C,eAAe,EAC5D7C,UAAU,CAACyB,KAAK,EAChBhB,gBAAgB,CAACiB,WAAW,EAC5BZ,eAAe,CAACa,UAAU,EAC1BM,YAAY,aAAad,iBAAiB,CAACc,QAAQ;QAEpD,GAAGD,SAAS;;0BAEb,KAACnC;gBAAqBgC,aAAaA;gBAAaC,aAAaA;;YAC5DI,6BAAe,KAACY;gBAAKC,WAAWhD,OAAOiD,IAAI;0BAAGpB;;;;AAGrD,EAAE;AAEF,OAAO,SAASgB,oBACdjB,SAA2B,EAC3BO,WAAoB;IAEpB,OAAQP;QACN,KAAK;YACH,OAAO5B,OAAOgC,OAAO;QACvB,KAAK;YACH,OAAOG,cAAce,YAAYlD,OAAOgC,OAAO;IACnD;AACF"}
1
+ {"version":3,"sources":["../../../../src/components/ToolButton/ToolButton.tsx"],"sourcesContent":["'use client';\n\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport {\n AdaptiveIconRenderer,\n type AdaptiveIconRendererProps,\n} from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport styles from './ToolButton.module.css';\n\nconst stylesMode = {\n primary: styles.modePrimary,\n secondary: styles.modeSecondary,\n tertiary: styles.modeTertiary,\n outline: styles.modeOutline,\n};\n\nconst stylesAppearance = {\n accent: styles.appearanceAccent,\n neutral: styles.appearanceNeutral,\n};\n\nconst stylesDirection = {\n row: styles.directionRow,\n column: styles.directionColumn,\n};\n\nconst densityClassNames = {\n none: styles.densityNone,\n regular: styles.densityRegular,\n};\n\nexport interface ToolButtonProps extends TappableOmitProps, AdaptiveIconRendererProps {\n /**\n * Режим отображения компонента.\n */\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | undefined;\n /**\n * Внешний вид компонента.\n */\n appearance?: 'accent' | 'neutral' | undefined;\n /**\n * Направление контента.\n */\n direction?: 'row' | 'column' | undefined;\n /**\n * Задаёт `50%` закругления для контейнера.\n *\n * > Note: игнорируется при `direction=\"column\"` если передан `children`.\n */\n rounded?: boolean | undefined;\n}\n\n/**\n * Кнопки, которые используются для вызова инструмента, вставки аттачей или\n * для форматирования. Их можно использовать как кнопки для разового действия\n * или для включения/выключения режима.\n *\n * @see https://vkui.io/components/tool-button\n */\nexport const ToolButton = ({\n mode = 'primary',\n appearance = 'accent',\n direction = 'row',\n children,\n IconCompact,\n IconRegular,\n rounded,\n ...restProps\n}: ToolButtonProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n const hasChildren = hasReactNode(children);\n\n return (\n <Tappable\n hoverMode={styles.hover}\n activeMode={styles.active}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n baseClassName={classNames(\n styles.host,\n rounded && getRoundedClassName(direction, hasChildren),\n hasChildren && direction === 'row' && styles.withFakeEndIcon,\n stylesMode[mode],\n stylesAppearance[appearance],\n stylesDirection[direction],\n density !== 'compact' && densityClassNames[density],\n )}\n {...restProps}\n >\n <AdaptiveIconRenderer IconCompact={IconCompact} IconRegular={IconRegular} />\n {hasChildren && <span className={styles.text}>{children}</span>}\n </Tappable>\n );\n};\n\nexport function getRoundedClassName(\n direction: 'row' | 'column',\n hasChildren: boolean,\n): string | undefined {\n switch (direction) {\n case 'row':\n return styles.rounded;\n case 'column':\n return hasChildren ? undefined : styles.rounded;\n }\n}\n"],"names":["classNames","hasReactNode","useAdaptivity","AdaptiveIconRenderer","Tappable","styles","stylesMode","primary","modePrimary","secondary","modeSecondary","tertiary","modeTertiary","outline","modeOutline","stylesAppearance","accent","appearanceAccent","neutral","appearanceNeutral","stylesDirection","row","directionRow","column","directionColumn","densityClassNames","none","densityNone","regular","densityRegular","ToolButton","mode","appearance","direction","children","IconCompact","IconRegular","rounded","restProps","density","hasChildren","hoverMode","hover","activeMode","active","Component","href","focusVisibleMode","baseClassName","host","getRoundedClassName","withFakeEndIcon","span","className","text","undefined"],"mappings":"AAAA;;AAEA,SAASA,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SACEC,oBAAoB,QAEf,kDAA+C;AACtD,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,OAAOC,YAAY,0BAA0B;AAE7C,MAAMC,aAAa;IACjBC,SAASF,OAAOG,WAAW;IAC3BC,WAAWJ,OAAOK,aAAa;IAC/BC,UAAUN,OAAOO,YAAY;IAC7BC,SAASR,OAAOS,WAAW;AAC7B;AAEA,MAAMC,mBAAmB;IACvBC,QAAQX,OAAOY,gBAAgB;IAC/BC,SAASb,OAAOc,iBAAiB;AACnC;AAEA,MAAMC,kBAAkB;IACtBC,KAAKhB,OAAOiB,YAAY;IACxBC,QAAQlB,OAAOmB,eAAe;AAChC;AAEA,MAAMC,oBAAoB;IACxBC,MAAMrB,OAAOsB,WAAW;IACxBC,SAASvB,OAAOwB,cAAc;AAChC;AAuBA;;;;;;CAMC,GACD,OAAO,MAAMC,aAAa,CAAC,EACzBC,OAAO,SAAS,EAChBC,aAAa,QAAQ,EACrBC,YAAY,KAAK,EACjBC,QAAQ,EACRC,WAAW,EACXC,WAAW,EACXC,OAAO,EACP,GAAGC,WACa;IAChB,MAAM,EAAEC,UAAU,MAAM,EAAE,GAAGrC;IAC7B,MAAMsC,cAAcvC,aAAaiC;IAEjC,qBACE,MAAC9B;QACCqC,WAAWpC,OAAOqC,KAAK;QACvBC,YAAYtC,OAAOuC,MAAM;QACzBC,WAAWP,UAAUQ,IAAI,GAAG,MAAM;QAClCC,kBAAiB;QACjBC,eAAehD,WACbK,OAAO4C,IAAI,EACXZ,WAAWa,oBAAoBjB,WAAWO,cAC1CA,eAAeP,cAAc,SAAS5B,OAAO8C,eAAe,EAC5D7C,UAAU,CAACyB,KAAK,EAChBhB,gBAAgB,CAACiB,WAAW,EAC5BZ,eAAe,CAACa,UAAU,EAC1BM,YAAY,aAAad,iBAAiB,CAACc,QAAQ;QAEpD,GAAGD,SAAS;;0BAEb,KAACnC;gBAAqBgC,aAAaA;gBAAaC,aAAaA;;YAC5DI,6BAAe,KAACY;gBAAKC,WAAWhD,OAAOiD,IAAI;0BAAGpB;;;;AAGrD,EAAE;AAEF,OAAO,SAASgB,oBACdjB,SAA2B,EAC3BO,WAAoB;IAEpB,OAAQP;QACN,KAAK;YACH,OAAO5B,OAAOgC,OAAO;QACvB,KAAK;YACH,OAAOG,cAAce,YAAYlD,OAAOgC,OAAO;IACnD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useReferenceElement } from '../../hooks/useReferenceElement';\nimport type { FloatingComponentProps, OnShownChange } from '../../lib/floating';\nimport type { FloatingArrowProps as FloatingArrowPropsPrivate } from '../FloatingArrow/FloatingArrow';\nimport type { TooltipBaseProps } from '../TooltipBase/TooltipBase';\nimport { useTooltip } from './useTooltip';\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrowHeight'\n | 'arrowPadding'\n | 'hoverDelay'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'defaultShown'\n | 'onShownChange'\n | 'hideWhenReferenceHidden'\n | 'onReferenceHiddenChange'\n | 'children'\n | 'zIndex'\n | 'usePortal'\n | 'onPlacementChange'\n | 'disableFlipMiddleware'\n | 'disableShiftMiddleware'\n | 'strategy'\n | 'overflowPadding'\n>;\n\ntype AllowedTooltipBaseProps = Omit<TooltipBaseProps, 'arrowProps' | 'onCloseIconClick'>;\n\n/**\n * @alias\n * @public\n */\nexport type TooltipArrowProps = Omit<\n FloatingArrowPropsPrivate,\n 'getRootRef' | 'coords' | 'placement' | 'Icon'\n>;\n\n/**\n * @alias\n * @public\n */\nexport type TooltipOnShownChange = OnShownChange;\n\nexport interface TooltipProps extends AllowedFloatingComponentProps, AllowedTooltipBaseProps {\n /**\n * Передача `boolean` позволяет контролировать состояния показа и скрытия вручную. Используйте\n * совместно с `onShownChange`.\n *\n * > Если нужно разово инициировать показ тултипа при первом рендере, то используйте `defaultShown`.\n */\n shown?: boolean;\n /**\n * Добавляет возможность наводить на тултип.\n */\n enableInteractive?: boolean;\n /**\n * Добавляет возможность закрыть тултип через иконку-крестик.\n *\n * > Работает в сочетании с `enableInteractive` или при использовании `shown` и `onShownChange`.\n */\n closable?: boolean;\n /**\n * Скрывает стрелку, указывающую на якорный элемент.\n */\n disableArrow?: boolean;\n /**\n * Отключает закрытие по нажатию.\n */\n disableCloseAfterClick?: boolean;\n /**\n * Отключает появление при фокусе.\n */\n disableTriggerOnFocus?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/tooltip\n */\nexport const Tooltip = ({ children, ...restProps }: TooltipProps): React.ReactNode => {\n const { anchorRef, anchorProps, tooltip } = useTooltip(restProps);\n\n const anchor = useReferenceElement(children, anchorProps, anchorRef);\n\n return (\n <React.Fragment>\n {anchor}\n {tooltip}\n </React.Fragment>\n );\n};\n"],"names":["React","useReferenceElement","useTooltip","Tooltip","children","restProps","anchorRef","anchorProps","tooltip","anchor","Fragment"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,mBAAmB,QAAQ,qCAAkC;AAItE,SAASC,UAAU,QAAQ,kBAAe;AAyE1C;;CAEC,GACD,OAAO,MAAMC,UAAU,CAAC,EAAEC,QAAQ,EAAE,GAAGC,WAAyB;IAC9D,MAAM,EAAEC,SAAS,EAAEC,WAAW,EAAEC,OAAO,EAAE,GAAGN,WAAWG;IAEvD,MAAMI,SAASR,oBAAoBG,UAAUG,aAAaD;IAE1D,qBACE,MAACN,MAAMU,QAAQ;;YACZD;YACAD;;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useReferenceElement } from '../../hooks/useReferenceElement';\nimport type { FloatingComponentProps, OnShownChange } from '../../lib/floating';\nimport type { FloatingArrowProps as FloatingArrowPropsPrivate } from '../FloatingArrow/FloatingArrow';\nimport type { TooltipBaseProps } from '../TooltipBase/TooltipBase';\nimport { useTooltip } from './useTooltip';\n\ntype AllowedFloatingComponentProps = Pick<\n FloatingComponentProps,\n | 'arrowHeight'\n | 'arrowPadding'\n | 'hoverDelay'\n | 'placement'\n | 'offsetByMainAxis'\n | 'offsetByCrossAxis'\n | 'defaultShown'\n | 'onShownChange'\n | 'hideWhenReferenceHidden'\n | 'onReferenceHiddenChange'\n | 'children'\n | 'zIndex'\n | 'usePortal'\n | 'onPlacementChange'\n | 'disableFlipMiddleware'\n | 'disableShiftMiddleware'\n | 'strategy'\n | 'overflowPadding'\n>;\n\ntype AllowedTooltipBaseProps = Omit<TooltipBaseProps, 'arrowProps' | 'onCloseIconClick'>;\n\n/**\n * @alias\n * @public\n */\nexport type TooltipArrowProps = Omit<\n FloatingArrowPropsPrivate,\n 'getRootRef' | 'coords' | 'placement' | 'Icon'\n>;\n\n/**\n * @alias\n * @public\n */\nexport type TooltipOnShownChange = OnShownChange;\n\nexport interface TooltipProps extends AllowedFloatingComponentProps, AllowedTooltipBaseProps {\n /**\n * Передача `boolean` позволяет контролировать состояния показа и скрытия вручную. Используйте\n * совместно с `onShownChange`.\n *\n * > Если нужно разово инициировать показ тултипа при первом рендере, то используйте `defaultShown`.\n */\n shown?: boolean | undefined;\n /**\n * Добавляет возможность наводить на тултип.\n */\n enableInteractive?: boolean | undefined;\n /**\n * Добавляет возможность закрыть тултип через иконку-крестик.\n *\n * > Работает в сочетании с `enableInteractive` или при использовании `shown` и `onShownChange`.\n */\n closable?: boolean | undefined;\n /**\n * Скрывает стрелку, указывающую на якорный элемент.\n */\n disableArrow?: boolean | undefined;\n /**\n * Отключает закрытие по нажатию.\n */\n disableCloseAfterClick?: boolean | undefined;\n /**\n * Отключает появление при фокусе.\n */\n disableTriggerOnFocus?: boolean | undefined;\n}\n\n/**\n * @see https://vkui.io/components/tooltip\n */\nexport const Tooltip = ({ children, ...restProps }: TooltipProps): React.ReactNode => {\n const { anchorRef, anchorProps, tooltip } = useTooltip(restProps);\n\n const anchor = useReferenceElement(children, anchorProps, anchorRef);\n\n return (\n <React.Fragment>\n {anchor}\n {tooltip}\n </React.Fragment>\n );\n};\n"],"names":["React","useReferenceElement","useTooltip","Tooltip","children","restProps","anchorRef","anchorProps","tooltip","anchor","Fragment"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,mBAAmB,QAAQ,qCAAkC;AAItE,SAASC,UAAU,QAAQ,kBAAe;AAyE1C;;CAEC,GACD,OAAO,MAAMC,UAAU,CAAC,EAAEC,QAAQ,EAAE,GAAGC,WAAyB;IAC9D,MAAM,EAAEC,SAAS,EAAEC,WAAW,EAAEC,OAAO,EAAE,GAAGN,WAAWG;IAEvD,MAAMI,SAASR,oBAAoBG,UAAUG,aAAaD;IAE1D,qBACE,MAACN,MAAMU,QAAQ;;YACZD;YACAD;;;AAGP,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TooltipBase/TooltipBase.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { DefaultIcon } from '../FloatingArrow/DefaultIcon';\nimport { FloatingArrow, type FloatingArrowProps } from '../FloatingArrow/FloatingArrow';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './TooltipBase.module.css';\n\nexport const TOOLTIP_MAX_WIDTH = 220;\n\nconst stylesAppearance = {\n accent: styles.appearanceAccent,\n white: styles.appearanceWhite,\n black: styles.appearanceBlack,\n inversion: styles.appearanceInversion,\n};\n\nexport interface TooltipBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'children' | 'title'> {\n /**\n * Стиль отображения подсказки.\n */\n appearance?: 'accent' | 'neutral' | 'white' | 'black' | 'inversion';\n /**\n * Текст тултипа.\n */\n description?: React.ReactNode;\n /**\n * Заголовок тултипа.\n */\n title?: React.ReactNode;\n /**\n * [a11y] Id для заголовка тултипа.\n * Можно использовать для связи элемента с `role=\"dialog\"` и заголовка через `aria-labelledby`.\n */\n titleId?: string;\n /**\n * Для показа указателя, требуется передать хотя бы `coords` и `placement`.\n */\n arrowProps?: Omit<FloatingArrowProps, 'Icon'>;\n /**\n * Пользовательская SVG иконка.\n *\n * Требования:\n *\n * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`).\n * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,\n * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG.\n * (смотри https://github.com/VKCOM/VKUI/pull/4496).\n * 3. Убедитесь, что компонент принимает все валидные для SVG параметры.\n * 4. Убедитесь, что SVG и её элементы наследует цвет через `fill=\"currentColor\"`.\n * 5. Если стрелка наезжает на якорный элемент, то увеличьте смещение между целевым и всплывающим элементами.\n */\n ArrowIcon?: FloatingArrowProps['Icon'];\n /**\n * Пользовательские css-классы, будут добавлены на root-элемент.\n */\n className?: string;\n /**\n * Перебивает максимальную ширину заданную по умолчанию.\n *\n * Передача `null` полностью сбрасывает установку `max-width` на элемент.\n */\n maxWidth?: number | string | null;\n /**\n * Скрытый текст для кнопки закрытия.\n */\n closeIconLabel?: string;\n /**\n * Обработчик нажатия на кнопку закрытия. При передаче, показывается иконка.\n */\n onCloseIconClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\n/**\n * Низкоуровневый компонент для отрисовки тултипа.\n * @private\n */\nexport const TooltipBase = ({\n appearance = 'accent',\n arrowProps,\n ArrowIcon = DefaultIcon,\n description,\n title,\n titleId,\n maxWidth = TOOLTIP_MAX_WIDTH,\n closeIconLabel = 'Закрыть',\n onCloseIconClick,\n className,\n ...restProps\n}: TooltipBaseProps): React.ReactNode => {\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n appearance !== 'neutral' && stylesAppearance[appearance],\n className,\n )}\n role=\"tooltip\"\n >\n {arrowProps && (\n <FloatingArrow\n {...arrowProps}\n iconClassName={classNames(styles.arrow, arrowProps.iconClassName)}\n Icon={ArrowIcon}\n />\n )}\n <div className={styles.content} style={maxWidth !== null ? { maxWidth } : undefined}>\n <div>\n {hasReactNode(title) && (\n <Subhead id={titleId} className={styles.title} weight=\"2\">\n {title}\n </Subhead>\n )}\n {hasReactNode(description) && (\n <Subhead className={styles.description}>{description}</Subhead>\n )}\n </div>\n {typeof onCloseIconClick === 'function' && (\n <Tappable\n Component=\"button\"\n className={styles.closeButton}\n hoverMode=\"opacity\"\n activeMode=\"opacity\"\n onClick={onCloseIconClick}\n >\n <VisuallyHidden>{closeIconLabel}</VisuallyHidden>\n <Icon16Cancel display=\"block\" />\n </Tappable>\n )}\n </div>\n </RootComponent>\n );\n};\n"],"names":["Icon16Cancel","classNames","hasReactNode","DefaultIcon","FloatingArrow","RootComponent","Tappable","Subhead","VisuallyHidden","styles","TOOLTIP_MAX_WIDTH","stylesAppearance","accent","appearanceAccent","white","appearanceWhite","black","appearanceBlack","inversion","appearanceInversion","TooltipBase","appearance","arrowProps","ArrowIcon","description","title","titleId","maxWidth","closeIconLabel","onCloseIconClick","className","restProps","baseClassName","host","role","iconClassName","arrow","Icon","div","content","style","undefined","id","weight","Component","closeButton","hoverMode","activeMode","onClick","display"],"mappings":"AAAA;;AAGA,SAASA,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SAASC,WAAW,QAAQ,kCAA+B;AAC3D,SAASC,aAAa,QAAiC,oCAAiC;AACxF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,2BAA2B;AAE9C,OAAO,MAAMC,oBAAoB,IAAI;AAErC,MAAMC,mBAAmB;IACvBC,QAAQH,OAAOI,gBAAgB;IAC/BC,OAAOL,OAAOM,eAAe;IAC7BC,OAAOP,OAAOQ,eAAe;IAC7BC,WAAWT,OAAOU,mBAAmB;AACvC;AA2DA;;;CAGC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,aAAa,QAAQ,EACrBC,UAAU,EACVC,YAAYpB,WAAW,EACvBqB,WAAW,EACXC,KAAK,EACLC,OAAO,EACPC,WAAWjB,iBAAiB,EAC5BkB,iBAAiB,SAAS,EAC1BC,gBAAgB,EAChBC,SAAS,EACT,GAAGC,WACc;IACjB,qBACE,MAAC1B;QACE,GAAG0B,SAAS;QACbC,eAAe/B,WACbQ,OAAOwB,IAAI,EACXZ,eAAe,aAAaV,gBAAgB,CAACU,WAAW,EACxDS;QAEFI,MAAK;;YAEJZ,4BACC,KAAClB;gBACE,GAAGkB,UAAU;gBACda,eAAelC,WAAWQ,OAAO2B,KAAK,EAAEd,WAAWa,aAAa;gBAChEE,MAAMd;;0BAGV,MAACe;gBAAIR,WAAWrB,OAAO8B,OAAO;gBAAEC,OAAOb,aAAa,OAAO;oBAAEA;gBAAS,IAAIc;;kCACxE,MAACH;;4BACEpC,aAAauB,wBACZ,KAAClB;gCAAQmC,IAAIhB;gCAASI,WAAWrB,OAAOgB,KAAK;gCAAEkB,QAAO;0CACnDlB;;4BAGJvB,aAAasB,8BACZ,KAACjB;gCAAQuB,WAAWrB,OAAOe,WAAW;0CAAGA;;;;oBAG5C,OAAOK,qBAAqB,4BAC3B,MAACvB;wBACCsC,WAAU;wBACVd,WAAWrB,OAAOoC,WAAW;wBAC7BC,WAAU;wBACVC,YAAW;wBACXC,SAASnB;;0CAET,KAACrB;0CAAgBoB;;0CACjB,KAAC5B;gCAAaiD,SAAQ;;;;;;;;AAMlC,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/TooltipBase/TooltipBase.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { DefaultIcon } from '../FloatingArrow/DefaultIcon';\nimport { FloatingArrow, type FloatingArrowProps } from '../FloatingArrow/FloatingArrow';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './TooltipBase.module.css';\n\nexport const TOOLTIP_MAX_WIDTH = 220;\n\nconst stylesAppearance = {\n accent: styles.appearanceAccent,\n white: styles.appearanceWhite,\n black: styles.appearanceBlack,\n inversion: styles.appearanceInversion,\n};\n\nexport interface TooltipBaseProps\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'children' | 'title'> {\n /**\n * Стиль отображения подсказки.\n */\n appearance?: 'accent' | 'neutral' | 'white' | 'black' | 'inversion' | undefined;\n /**\n * Текст тултипа.\n */\n description?: React.ReactNode | undefined;\n /**\n * Заголовок тултипа.\n */\n title?: React.ReactNode | undefined;\n /**\n * [a11y] Id для заголовка тултипа.\n * Можно использовать для связи элемента с `role=\"dialog\"` и заголовка через `aria-labelledby`.\n */\n titleId?: string | undefined;\n /**\n * Для показа указателя, требуется передать хотя бы `coords` и `placement`.\n */\n arrowProps?: Omit<FloatingArrowProps, 'Icon'> | undefined;\n /**\n * Пользовательская SVG иконка.\n *\n * Требования:\n *\n * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`).\n * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах,\n * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG.\n * (смотри https://github.com/VKCOM/VKUI/pull/4496).\n * 3. Убедитесь, что компонент принимает все валидные для SVG параметры.\n * 4. Убедитесь, что SVG и её элементы наследует цвет через `fill=\"currentColor\"`.\n * 5. Если стрелка наезжает на якорный элемент, то увеличьте смещение между целевым и всплывающим элементами.\n */\n ArrowIcon?: FloatingArrowProps['Icon'] | undefined;\n /**\n * Пользовательские css-классы, будут добавлены на root-элемент.\n */\n className?: string | undefined;\n /**\n * Перебивает максимальную ширину заданную по умолчанию.\n *\n * Передача `null` полностью сбрасывает установку `max-width` на элемент.\n */\n maxWidth?: number | string | null | undefined;\n /**\n * Скрытый текст для кнопки закрытия.\n */\n closeIconLabel?: string | undefined;\n /**\n * Обработчик нажатия на кнопку закрытия. При передаче, показывается иконка.\n */\n onCloseIconClick?: ((event: React.MouseEvent<HTMLButtonElement>) => void) | undefined;\n}\n\n/**\n * Низкоуровневый компонент для отрисовки тултипа.\n * @private\n */\nexport const TooltipBase = ({\n appearance = 'accent',\n arrowProps,\n ArrowIcon = DefaultIcon,\n description,\n title,\n titleId,\n maxWidth = TOOLTIP_MAX_WIDTH,\n closeIconLabel = 'Закрыть',\n onCloseIconClick,\n className,\n ...restProps\n}: TooltipBaseProps): React.ReactNode => {\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n appearance !== 'neutral' && stylesAppearance[appearance],\n className,\n )}\n role=\"tooltip\"\n >\n {arrowProps && (\n <FloatingArrow\n {...arrowProps}\n iconClassName={classNames(styles.arrow, arrowProps.iconClassName)}\n Icon={ArrowIcon}\n />\n )}\n <div className={styles.content} style={maxWidth !== null ? { maxWidth } : undefined}>\n <div>\n {hasReactNode(title) && (\n <Subhead id={titleId} className={styles.title} weight=\"2\">\n {title}\n </Subhead>\n )}\n {hasReactNode(description) && (\n <Subhead className={styles.description}>{description}</Subhead>\n )}\n </div>\n {typeof onCloseIconClick === 'function' && (\n <Tappable\n Component=\"button\"\n className={styles.closeButton}\n hoverMode=\"opacity\"\n activeMode=\"opacity\"\n onClick={onCloseIconClick}\n >\n <VisuallyHidden>{closeIconLabel}</VisuallyHidden>\n <Icon16Cancel display=\"block\" />\n </Tappable>\n )}\n </div>\n </RootComponent>\n );\n};\n"],"names":["Icon16Cancel","classNames","hasReactNode","DefaultIcon","FloatingArrow","RootComponent","Tappable","Subhead","VisuallyHidden","styles","TOOLTIP_MAX_WIDTH","stylesAppearance","accent","appearanceAccent","white","appearanceWhite","black","appearanceBlack","inversion","appearanceInversion","TooltipBase","appearance","arrowProps","ArrowIcon","description","title","titleId","maxWidth","closeIconLabel","onCloseIconClick","className","restProps","baseClassName","host","role","iconClassName","arrow","Icon","div","content","style","undefined","id","weight","Component","closeButton","hoverMode","activeMode","onClick","display"],"mappings":"AAAA;;AAGA,SAASA,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAE3D,SAASC,WAAW,QAAQ,kCAA+B;AAC3D,SAASC,aAAa,QAAiC,oCAAiC;AACxF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,2BAA2B;AAE9C,OAAO,MAAMC,oBAAoB,IAAI;AAErC,MAAMC,mBAAmB;IACvBC,QAAQH,OAAOI,gBAAgB;IAC/BC,OAAOL,OAAOM,eAAe;IAC7BC,OAAOP,OAAOQ,eAAe;IAC7BC,WAAWT,OAAOU,mBAAmB;AACvC;AA2DA;;;CAGC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,aAAa,QAAQ,EACrBC,UAAU,EACVC,YAAYpB,WAAW,EACvBqB,WAAW,EACXC,KAAK,EACLC,OAAO,EACPC,WAAWjB,iBAAiB,EAC5BkB,iBAAiB,SAAS,EAC1BC,gBAAgB,EAChBC,SAAS,EACT,GAAGC,WACc;IACjB,qBACE,MAAC1B;QACE,GAAG0B,SAAS;QACbC,eAAe/B,WACbQ,OAAOwB,IAAI,EACXZ,eAAe,aAAaV,gBAAgB,CAACU,WAAW,EACxDS;QAEFI,MAAK;;YAEJZ,4BACC,KAAClB;gBACE,GAAGkB,UAAU;gBACda,eAAelC,WAAWQ,OAAO2B,KAAK,EAAEd,WAAWa,aAAa;gBAChEE,MAAMd;;0BAGV,MAACe;gBAAIR,WAAWrB,OAAO8B,OAAO;gBAAEC,OAAOb,aAAa,OAAO;oBAAEA;gBAAS,IAAIc;;kCACxE,MAACH;;4BACEpC,aAAauB,wBACZ,KAAClB;gCAAQmC,IAAIhB;gCAASI,WAAWrB,OAAOgB,KAAK;gCAAEkB,QAAO;0CACnDlB;;4BAGJvB,aAAasB,8BACZ,KAACjB;gCAAQuB,WAAWrB,OAAOe,WAAW;0CAAGA;;;;oBAG5C,OAAOK,qBAAqB,4BAC3B,MAACvB;wBACCsC,WAAU;wBACVd,WAAWrB,OAAOoC,WAAW;wBAC7BC,WAAU;wBACVC,YAAW;wBACXC,SAASnB;;0CAET,KAACrB;0CAAgBoB;;0CACjB,KAAC5B;gCAAaiD,SAAQ;;;;;;;;AAMlC,EAAE"}