@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
@@ -43,10 +43,6 @@
43
43
  align-self: flex-start;
44
44
  }
45
45
 
46
- .disabled {
47
- opacity: var(--vkui--opacity_disable);
48
- }
49
-
50
46
  /**
51
47
  * iOS
52
48
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Removable/RemovableIos.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useDOM } from '../../lib/dom';\nimport type { CSSCustomProperties } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport type { RemovableIosRenderProps, RemovableProps } from './Removable';\nimport styles from './Removable.module.css';\n\n/* eslint-disable jsdoc/require-jsdoc */\ninterface RemovableIosOwnProps extends RemovableProps {\n indent?: boolean;\n removePlaceholderString?: string;\n children?: React.ReactNode | ((renderProps: RemovableIosRenderProps) => React.ReactNode);\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nconst RemovableIosWithRemove = ({\n onRemove,\n removePlaceholder,\n removePlaceholderString,\n children: childrenProp,\n toggleButtonTestId,\n removeButtonTestId,\n disabled,\n}: Omit<RemovableIosOwnProps, 'indent'>) => {\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n const { window } = useDOM();\n\n const removeButtonRef = React.useRef<HTMLElement>(null);\n const [removeButtonDisabled, setRemoveButtonDisabled] = React.useState(true);\n const [removeOffset, updateRemoveOffset] = React.useState(0);\n\n React.useEffect(() => {\n const listener = () => {\n if (removeOffset > 0) {\n updateRemoveOffset(0);\n }\n };\n\n window!.addEventListener('click', listener, { capture: true });\n\n return () => window!.removeEventListener('click', listener, { capture: true });\n }, [removeOffset, window]);\n\n const onRemoveTransitionEnd = () => {\n if (removeOffset > 0) {\n removeButtonRef?.current?.focus();\n return;\n }\n\n setRemoveButtonDisabled(true);\n };\n\n const onRemoveActivateClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!removeButtonRef.current) {\n return;\n }\n const { offsetWidth } = removeButtonRef.current;\n setRemoveButtonDisabled(false);\n updateRemoveOffset(offsetWidth);\n };\n\n const style: CSSCustomProperties = {\n '--vkui_internal_Removable_remove_offset': String(removeOffset ?? 0),\n };\n\n return (\n <div\n className={classNames(styles.content, isRtl && styles.rtl, 'vkuiInternalRemovable__content')}\n style={style}\n onTransitionEnd={onRemoveTransitionEnd}\n >\n <IconButton\n hasActive={false}\n hasHover={false}\n className={classNames(styles.action, styles.toggle, 'vkuiInternalRemovable__action')}\n onClick={onRemoveActivateClick}\n disabled={removeOffset > 0 || disabled}\n data-testid={toggleButtonTestId}\n >\n <VisuallyHidden>{removePlaceholderString}</VisuallyHidden>\n <i className={styles.toggleIn} role=\"presentation\" />\n </IconButton>\n {typeof childrenProp === 'function'\n ? childrenProp({ isRemoving: removeOffset > 0 })\n : childrenProp}\n\n <span className={styles.offset} aria-hidden />\n\n <Tappable\n Component=\"button\"\n hasActive={false}\n hasHover={false}\n disabled={removeButtonDisabled}\n getRootRef={removeButtonRef}\n className={styles.remove}\n onClick={onRemove}\n data-testid={removeButtonTestId}\n >\n <span className={styles.removeIn}>{removePlaceholder}</span>\n </Tappable>\n </div>\n );\n};\n\nconst RemovableIosWithIndent = ({\n children: childrenProp,\n}: Pick<RemovableIosOwnProps, 'children'>) => {\n return (\n <div className={classNames(styles.content, 'vkuiInternalRemovable__content')}>\n <div\n className={classNames(styles.action, styles.indentation, 'vkuiInternalRemovable__action')}\n />\n {typeof childrenProp === 'function' ? childrenProp({ isRemoving: false }) : childrenProp}\n\n <span className={styles.offset} aria-hidden />\n </div>\n );\n};\n\nconst RemovableIos = ({ indent, children, ...restProps }: RemovableIosOwnProps) => {\n return indent ? (\n <RemovableIosWithIndent>{children}</RemovableIosWithIndent>\n ) : (\n <RemovableIosWithRemove {...restProps}>{children}</RemovableIosWithRemove>\n );\n};\n\nexport { RemovableIos };\n"],"names":["React","classNames","useConfigDirection","useDOM","IconButton","Tappable","VisuallyHidden","styles","RemovableIosWithRemove","onRemove","removePlaceholder","removePlaceholderString","children","childrenProp","toggleButtonTestId","removeButtonTestId","disabled","direction","isRtl","window","removeButtonRef","useRef","removeButtonDisabled","setRemoveButtonDisabled","useState","removeOffset","updateRemoveOffset","useEffect","listener","addEventListener","capture","removeEventListener","onRemoveTransitionEnd","current","focus","onRemoveActivateClick","e","stopPropagation","offsetWidth","style","String","div","className","content","rtl","onTransitionEnd","hasActive","hasHover","action","toggle","onClick","data-testid","i","toggleIn","role","isRemoving","span","offset","aria-hidden","Component","getRootRef","remove","removeIn","RemovableIosWithIndent","indentation","RemovableIos","indent","restProps"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Removable/RemovableIos.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useDOM } from '../../lib/dom';\nimport type { CSSCustomProperties } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Tappable } from '../Tappable/Tappable';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport type { RemovableIosRenderProps, RemovableProps } from './Removable';\nimport styles from './Removable.module.css';\n\n/* eslint-disable jsdoc/require-jsdoc */\ninterface RemovableIosOwnProps extends RemovableProps {\n indent?: boolean | undefined;\n removePlaceholderString?: string | undefined;\n children?:\n | React.ReactNode\n | ((renderProps: RemovableIosRenderProps) => React.ReactNode)\n | undefined;\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nconst RemovableIosWithRemove = ({\n onRemove,\n removePlaceholder,\n removePlaceholderString,\n children: childrenProp,\n toggleButtonTestId,\n removeButtonTestId,\n disabled,\n}: Omit<RemovableIosOwnProps, 'indent'>) => {\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n const { window } = useDOM();\n\n const removeButtonRef = React.useRef<HTMLElement>(null);\n const [removeButtonDisabled, setRemoveButtonDisabled] = React.useState(true);\n const [removeOffset, updateRemoveOffset] = React.useState(0);\n\n React.useEffect(() => {\n const listener = () => {\n if (removeOffset > 0) {\n updateRemoveOffset(0);\n }\n };\n\n window!.addEventListener('click', listener, { capture: true });\n\n return () => window!.removeEventListener('click', listener, { capture: true });\n }, [removeOffset, window]);\n\n const onRemoveTransitionEnd = () => {\n if (removeOffset > 0) {\n removeButtonRef?.current?.focus();\n return;\n }\n\n setRemoveButtonDisabled(true);\n };\n\n const onRemoveActivateClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!removeButtonRef.current) {\n return;\n }\n const { offsetWidth } = removeButtonRef.current;\n setRemoveButtonDisabled(false);\n updateRemoveOffset(offsetWidth);\n };\n\n const style: CSSCustomProperties = {\n '--vkui_internal_Removable_remove_offset': String(removeOffset ?? 0),\n };\n\n return (\n <div\n className={classNames(styles.content, isRtl && styles.rtl, 'vkuiInternalRemovable__content')}\n style={style}\n onTransitionEnd={onRemoveTransitionEnd}\n >\n <IconButton\n hasActive={false}\n hasHover={false}\n className={classNames(styles.action, styles.toggle, 'vkuiInternalRemovable__action')}\n onClick={onRemoveActivateClick}\n disabled={removeOffset > 0 || disabled}\n data-testid={toggleButtonTestId}\n >\n <VisuallyHidden>{removePlaceholderString}</VisuallyHidden>\n <i className={styles.toggleIn} role=\"presentation\" />\n </IconButton>\n {typeof childrenProp === 'function'\n ? childrenProp({ isRemoving: removeOffset > 0 })\n : childrenProp}\n\n <span className={styles.offset} aria-hidden />\n\n <Tappable\n Component=\"button\"\n hasActive={false}\n hasHover={false}\n disabled={removeButtonDisabled}\n getRootRef={removeButtonRef}\n className={styles.remove}\n onClick={onRemove}\n data-testid={removeButtonTestId}\n >\n <span className={styles.removeIn}>{removePlaceholder}</span>\n </Tappable>\n </div>\n );\n};\n\nconst RemovableIosWithIndent = ({\n children: childrenProp,\n}: Pick<RemovableIosOwnProps, 'children'>) => {\n return (\n <div className={classNames(styles.content, 'vkuiInternalRemovable__content')}>\n <div\n className={classNames(styles.action, styles.indentation, 'vkuiInternalRemovable__action')}\n />\n {typeof childrenProp === 'function' ? childrenProp({ isRemoving: false }) : childrenProp}\n\n <span className={styles.offset} aria-hidden />\n </div>\n );\n};\n\nconst RemovableIos = ({ indent, children, ...restProps }: RemovableIosOwnProps) => {\n return indent ? (\n <RemovableIosWithIndent>{children}</RemovableIosWithIndent>\n ) : (\n <RemovableIosWithRemove {...restProps}>{children}</RemovableIosWithRemove>\n );\n};\n\nexport { RemovableIos };\n"],"names":["React","classNames","useConfigDirection","useDOM","IconButton","Tappable","VisuallyHidden","styles","RemovableIosWithRemove","onRemove","removePlaceholder","removePlaceholderString","children","childrenProp","toggleButtonTestId","removeButtonTestId","disabled","direction","isRtl","window","removeButtonRef","useRef","removeButtonDisabled","setRemoveButtonDisabled","useState","removeOffset","updateRemoveOffset","useEffect","listener","addEventListener","capture","removeEventListener","onRemoveTransitionEnd","current","focus","onRemoveActivateClick","e","stopPropagation","offsetWidth","style","String","div","className","content","rtl","onTransitionEnd","hasActive","hasHover","action","toggle","onClick","data-testid","i","toggleIn","role","isRemoving","span","offset","aria-hidden","Component","getRootRef","remove","removeIn","RemovableIosWithIndent","indentation","RemovableIos","indent","restProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/RichCell/RichCell.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { RichCellIcon } from './RichCellIcon/RichCellIcon';\nimport styles from './RichCell.module.css';\n\nconst warn = warnOnce('RichCell');\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nconst alignAfterClassNames = {\n start: styles.alignAfterStart,\n center: styles.alignAfterCenter,\n end: styles.alignAfterEnd,\n};\n\nconst alignBeforeClassNames = {\n start: styles.alignBeforeStart,\n center: styles.alignBeforeCenter,\n end: styles.alignBeforeEnd,\n};\n\nconst alignContentClassNames = {\n start: styles.contentAlignStart,\n center: styles.contentAlignCenter,\n end: styles.contentAlignEnd,\n};\n\ntype Align = 'start' | 'center' | 'end';\n\nexport interface RichCellProps extends TappableOmitProps {\n /**\n * Контейнер для текста над `children`.\n */\n overTitle?: React.ReactNode;\n /**\n * Контейнер для текста под `children`.\n */\n subtitle?: React.ReactNode;\n /**\n * Контейнер для текста под `subtitle`.\n */\n extraSubtitle?: React.ReactNode;\n /**\n * Контейнер для контента под `caption`. Например `<UsersStack size=\"m\" />`.\n */\n bottom?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkui.io/components/button) с параметрами:\n *\n * - `mode=\"primary\" size=\"s\"`\n * - `mode=\"secondary\" size=\"s\"`.\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkui.io/components/button-group) с параметрами:\n *\n * - `mode=\"horizontal\" gap=\"s\" stretched`.\n */\n actions?: React.ReactNode;\n /**\n * `<Avatar size={40|48|72} />`.\n */\n before?: React.ReactNode;\n /**\n * Иконка 28 или текст после центрального контента.\n */\n after?: React.ReactNode;\n /**\n * Текст под `after`.\n *\n * @deprecated Since 8.0.0. Будет удален в **VKUI v10**.\n * Используйте вместо этого свойство `submeta`.\n */\n afterCaption?: React.ReactNode;\n /**\n * Текст после основного контента.\n */\n meta?: React.ReactNode;\n /**\n * Текст под `meta`.\n */\n submeta?: React.ReactNode;\n /**\n * Выравнивание before компонента по вертикали.\n */\n beforeAlign?: Align;\n /**\n * Выравнивание центрального контента по вертикали.\n */\n contentAlign?: Align;\n /**\n * Выравнивание after компонента по вертикали.\n *\n * > Работает только для `after` и `afterCaption`.\n */\n afterAlign?: Align;\n /**\n * Блокировка взаимодействия с компонентом. Убирает анимацию нажатия.\n */\n disabled?: boolean;\n /**\n * Включает многострочный режим для `subhead`, `children`, `text` и `caption`.\n */\n multiline?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/rich-cell\n */\nexport const RichCell: React.FC<RichCellProps> & {\n Icon: typeof RichCellIcon;\n} = ({\n overTitle,\n children,\n subtitle,\n extraSubtitle,\n before,\n after,\n afterCaption,\n bottom,\n actions,\n multiline,\n beforeAlign = 'start',\n contentAlign = 'start',\n afterAlign = 'start',\n meta,\n submeta,\n ...restProps\n}: RichCellProps) => {\n const { density = 'none' } = useAdaptivity();\n\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development' && afterCaption) {\n warn('Свойство `afterCaption` устаревшее и будет удалено в `v10`, используйте `submeta`');\n }\n\n return (\n <Tappable\n {...restProps}\n baseClassName={classNames(\n styles.host,\n !multiline && styles.textEllipsis,\n density !== 'regular' && densityClassNames[density],\n (after || afterCaption) && alignAfterClassNames[afterAlign],\n before && alignBeforeClassNames[beforeAlign],\n alignContentClassNames[contentAlign],\n )}\n >\n {before && <div className={styles.before}>{before}</div>}\n <div className={styles.in}>\n <div className={styles.content}>\n <div className={styles.contentBefore}>\n {overTitle && (\n <Subhead Component=\"div\" className={styles.overTitle}>\n {overTitle}\n </Subhead>\n )}\n <div className={styles.children}>{children}</div>\n {subtitle && <div className={styles.subtitle}>{subtitle}</div>}\n {extraSubtitle && (\n <Subhead Component=\"div\" className={styles.extraSubtitle}>\n {extraSubtitle}\n </Subhead>\n )}\n </div>\n {(meta || submeta) && (\n <div className={styles.contentMeta}>\n {meta && <div className={styles.afterChildren}>{meta}</div>}\n {submeta && <div className={styles.afterCaption}>{submeta}</div>}\n </div>\n )}\n </div>\n {bottom && <div className={styles.bottom}>{bottom}</div>}\n {actions && <div className={styles.actions}>{actions}</div>}\n </div>\n {(after || afterCaption) && (\n <div className={styles.contentAfter}>\n {after && <div className={styles.afterChildren}>{after}</div>}\n {afterCaption && <div className={styles.afterCaption}>{afterCaption}</div>}\n </div>\n )}\n </Tappable>\n );\n};\n\nRichCell.Icon = RichCellIcon;\n"],"names":["classNames","useAdaptivity","warnOnce","Tappable","Subhead","RichCellIcon","styles","warn","densityClassNames","none","densityNone","compact","densityCompact","alignAfterClassNames","start","alignAfterStart","center","alignAfterCenter","end","alignAfterEnd","alignBeforeClassNames","alignBeforeStart","alignBeforeCenter","alignBeforeEnd","alignContentClassNames","contentAlignStart","contentAlignCenter","contentAlignEnd","RichCell","overTitle","children","subtitle","extraSubtitle","before","after","afterCaption","bottom","actions","multiline","beforeAlign","contentAlign","afterAlign","meta","submeta","restProps","density","process","env","NODE_ENV","baseClassName","host","textEllipsis","div","className","in","content","contentBefore","Component","contentMeta","afterChildren","contentAfter","Icon"],"mappings":"AAAA;;AAGA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,OAAO,QAAQ,mCAAgC;AACxD,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,OAAOC,YAAY,wBAAwB;AAE3C,MAAMC,OAAOL,SAAS;AAEtB,MAAMM,oBAAoB;IACxBC,MAAMH,OAAOI,WAAW;IACxBC,SAASL,OAAOM,cAAc;AAChC;AAEA,MAAMC,uBAAuB;IAC3BC,OAAOR,OAAOS,eAAe;IAC7BC,QAAQV,OAAOW,gBAAgB;IAC/BC,KAAKZ,OAAOa,aAAa;AAC3B;AAEA,MAAMC,wBAAwB;IAC5BN,OAAOR,OAAOe,gBAAgB;IAC9BL,QAAQV,OAAOgB,iBAAiB;IAChCJ,KAAKZ,OAAOiB,cAAc;AAC5B;AAEA,MAAMC,yBAAyB;IAC7BV,OAAOR,OAAOmB,iBAAiB;IAC/BT,QAAQV,OAAOoB,kBAAkB;IACjCR,KAAKZ,OAAOqB,eAAe;AAC7B;AA+EA;;CAEC,GACD,OAAO,MAAMC,WAET,CAAC,EACHC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,MAAM,EACNC,KAAK,EACLC,YAAY,EACZC,MAAM,EACNC,OAAO,EACPC,SAAS,EACTC,cAAc,OAAO,EACrBC,eAAe,OAAO,EACtBC,aAAa,OAAO,EACpBC,IAAI,EACJC,OAAO,EACP,GAAGC,WACW;IACd,MAAM,EAAEC,UAAU,MAAM,EAAE,GAAG5C;IAE7B,6CAA6C,GAC7C,IAAI6C,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiBb,cAAc;QAC1D5B,KAAK;IACP;IAEA,qBACE,MAACJ;QACE,GAAGyC,SAAS;QACbK,eAAejD,WACbM,OAAO4C,IAAI,EACX,CAACZ,aAAahC,OAAO6C,YAAY,EACjCN,YAAY,aAAarC,iBAAiB,CAACqC,QAAQ,EACnD,AAACX,CAAAA,SAASC,YAAW,KAAMtB,oBAAoB,CAAC4B,WAAW,EAC3DR,UAAUb,qBAAqB,CAACmB,YAAY,EAC5Cf,sBAAsB,CAACgB,aAAa;;YAGrCP,wBAAU,KAACmB;gBAAIC,WAAW/C,OAAO2B,MAAM;0BAAGA;;0BAC3C,MAACmB;gBAAIC,WAAW/C,OAAOgD,EAAE;;kCACvB,MAACF;wBAAIC,WAAW/C,OAAOiD,OAAO;;0CAC5B,MAACH;gCAAIC,WAAW/C,OAAOkD,aAAa;;oCACjC3B,2BACC,KAACzB;wCAAQqD,WAAU;wCAAMJ,WAAW/C,OAAOuB,SAAS;kDACjDA;;kDAGL,KAACuB;wCAAIC,WAAW/C,OAAOwB,QAAQ;kDAAGA;;oCACjCC,0BAAY,KAACqB;wCAAIC,WAAW/C,OAAOyB,QAAQ;kDAAGA;;oCAC9CC,+BACC,KAAC5B;wCAAQqD,WAAU;wCAAMJ,WAAW/C,OAAO0B,aAAa;kDACrDA;;;;4BAILU,CAAAA,QAAQC,OAAM,mBACd,MAACS;gCAAIC,WAAW/C,OAAOoD,WAAW;;oCAC/BhB,sBAAQ,KAACU;wCAAIC,WAAW/C,OAAOqD,aAAa;kDAAGjB;;oCAC/CC,yBAAW,KAACS;wCAAIC,WAAW/C,OAAO6B,YAAY;kDAAGQ;;;;;;oBAIvDP,wBAAU,KAACgB;wBAAIC,WAAW/C,OAAO8B,MAAM;kCAAGA;;oBAC1CC,yBAAW,KAACe;wBAAIC,WAAW/C,OAAO+B,OAAO;kCAAGA;;;;YAE7CH,CAAAA,SAASC,YAAW,mBACpB,MAACiB;gBAAIC,WAAW/C,OAAOsD,YAAY;;oBAChC1B,uBAAS,KAACkB;wBAAIC,WAAW/C,OAAOqD,aAAa;kCAAGzB;;oBAChDC,8BAAgB,KAACiB;wBAAIC,WAAW/C,OAAO6B,YAAY;kCAAGA;;;;;;AAKjE,EAAE;AAEFP,SAASiC,IAAI,GAAGxD"}
1
+ {"version":3,"sources":["../../../../src/components/RichCell/RichCell.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { RichCellIcon } from './RichCellIcon/RichCellIcon';\nimport styles from './RichCell.module.css';\n\nconst warn = warnOnce('RichCell');\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nconst alignAfterClassNames = {\n start: styles.alignAfterStart,\n center: styles.alignAfterCenter,\n end: styles.alignAfterEnd,\n};\n\nconst alignBeforeClassNames = {\n start: styles.alignBeforeStart,\n center: styles.alignBeforeCenter,\n end: styles.alignBeforeEnd,\n};\n\nconst alignContentClassNames = {\n start: styles.contentAlignStart,\n center: styles.contentAlignCenter,\n end: styles.contentAlignEnd,\n};\n\ntype Align = 'start' | 'center' | 'end';\n\nexport interface RichCellProps extends TappableOmitProps {\n /**\n * Контейнер для текста над `children`.\n */\n overTitle?: React.ReactNode | undefined;\n /**\n * Контейнер для текста под `children`.\n */\n subtitle?: React.ReactNode | undefined;\n /**\n * Контейнер для текста под `subtitle`.\n */\n extraSubtitle?: React.ReactNode | undefined;\n /**\n * Контейнер для контента под `caption`. Например `<UsersStack size=\"m\" />`.\n */\n bottom?: React.ReactNode | undefined;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkui.io/components/button) с параметрами:\n *\n * - `mode=\"primary\" size=\"s\"`\n * - `mode=\"secondary\" size=\"s\"`.\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkui.io/components/button-group) с параметрами:\n *\n * - `mode=\"horizontal\" gap=\"s\" stretched`.\n */\n actions?: React.ReactNode | undefined;\n /**\n * `<Avatar size={40|48|72} />`.\n */\n before?: React.ReactNode | undefined;\n /**\n * Иконка 28 или текст после центрального контента.\n */\n after?: React.ReactNode | undefined;\n /**\n * Текст под `after`.\n *\n * @deprecated Since 8.0.0. Будет удален в **VKUI v10**.\n * Используйте вместо этого свойство `submeta`.\n */\n afterCaption?: React.ReactNode | undefined;\n /**\n * Текст после основного контента.\n */\n meta?: React.ReactNode | undefined;\n /**\n * Текст под `meta`.\n */\n submeta?: React.ReactNode | undefined;\n /**\n * Выравнивание before компонента по вертикали.\n */\n beforeAlign?: Align | undefined;\n /**\n * Выравнивание центрального контента по вертикали.\n */\n contentAlign?: Align | undefined;\n /**\n * Выравнивание after компонента по вертикали.\n *\n * > Работает только для `after` и `afterCaption`.\n */\n afterAlign?: Align | undefined;\n /**\n * Блокировка взаимодействия с компонентом. Убирает анимацию нажатия.\n */\n disabled?: boolean | undefined;\n /**\n * Включает многострочный режим для `subhead`, `children`, `text` и `caption`.\n */\n multiline?: boolean | undefined;\n}\n\n/**\n * @see https://vkui.io/components/rich-cell\n */\nexport const RichCell: React.FC<RichCellProps> & {\n Icon: typeof RichCellIcon;\n} = ({\n overTitle,\n children,\n subtitle,\n extraSubtitle,\n before,\n after,\n afterCaption,\n bottom,\n actions,\n multiline,\n beforeAlign = 'start',\n contentAlign = 'start',\n afterAlign = 'start',\n meta,\n submeta,\n ...restProps\n}: RichCellProps) => {\n const { density = 'none' } = useAdaptivity();\n\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development' && afterCaption) {\n warn('Свойство `afterCaption` устаревшее и будет удалено в `v10`, используйте `submeta`');\n }\n\n return (\n <Tappable\n {...restProps}\n baseClassName={classNames(\n styles.host,\n !multiline && styles.textEllipsis,\n density !== 'regular' && densityClassNames[density],\n (after || afterCaption) && alignAfterClassNames[afterAlign],\n before && alignBeforeClassNames[beforeAlign],\n alignContentClassNames[contentAlign],\n )}\n >\n {before && <div className={styles.before}>{before}</div>}\n <div className={styles.in}>\n <div className={styles.content}>\n <div className={styles.contentBefore}>\n {overTitle && (\n <Subhead Component=\"div\" className={styles.overTitle}>\n {overTitle}\n </Subhead>\n )}\n <div className={styles.children}>{children}</div>\n {subtitle && <div className={styles.subtitle}>{subtitle}</div>}\n {extraSubtitle && (\n <Subhead Component=\"div\" className={styles.extraSubtitle}>\n {extraSubtitle}\n </Subhead>\n )}\n </div>\n {(meta || submeta) && (\n <div className={styles.contentMeta}>\n {meta && <div className={styles.afterChildren}>{meta}</div>}\n {submeta && <div className={styles.afterCaption}>{submeta}</div>}\n </div>\n )}\n </div>\n {bottom && <div className={styles.bottom}>{bottom}</div>}\n {actions && <div className={styles.actions}>{actions}</div>}\n </div>\n {(after || afterCaption) && (\n <div className={styles.contentAfter}>\n {after && <div className={styles.afterChildren}>{after}</div>}\n {afterCaption && <div className={styles.afterCaption}>{afterCaption}</div>}\n </div>\n )}\n </Tappable>\n );\n};\n\nRichCell.Icon = RichCellIcon;\n"],"names":["classNames","useAdaptivity","warnOnce","Tappable","Subhead","RichCellIcon","styles","warn","densityClassNames","none","densityNone","compact","densityCompact","alignAfterClassNames","start","alignAfterStart","center","alignAfterCenter","end","alignAfterEnd","alignBeforeClassNames","alignBeforeStart","alignBeforeCenter","alignBeforeEnd","alignContentClassNames","contentAlignStart","contentAlignCenter","contentAlignEnd","RichCell","overTitle","children","subtitle","extraSubtitle","before","after","afterCaption","bottom","actions","multiline","beforeAlign","contentAlign","afterAlign","meta","submeta","restProps","density","process","env","NODE_ENV","baseClassName","host","textEllipsis","div","className","in","content","contentBefore","Component","contentMeta","afterChildren","contentAfter","Icon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Root/Root.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useDOM } from '../../lib/dom';\nimport { LockFloatingPositionContext } from '../../lib/floating/LockFloatingPosition/LockFloatingPosition';\nimport { getNavId, type NavIdProps } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from '../SplitCol/SplitColContext';\nimport styles from './Root.module.css';\n\nexport interface RootProps extends HTMLAttributesWithRootRef<HTMLDivElement>, NavIdProps {\n /**\n * `id` активной `View`.\n */\n activeView: string;\n /**\n * Обработчик, который вызывается при завершении анимации смены активной `View`.\n */\n onTransition?: (params: { isBack: boolean; from: string; to: string }) => void;\n /**\n * Коллекция `View`. У каждой `View` должен быть `id`.\n */\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\n/* eslint-disable jsdoc/require-jsdoc */\nexport interface RootState {\n activeView: string;\n transition: boolean;\n isBack?: boolean;\n prevView?: string;\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nconst warn = warnOnce('Root');\n\n/**\n * @see https://vkui.io/components/root\n */\nexport const Root = ({\n children,\n activeView: _activeView,\n onTransition,\n nav,\n ...restProps\n}: RootProps): React.ReactNode => {\n const scroll = React.useContext(ScrollContext);\n const platform = usePlatform();\n const { document } = useDOM();\n const [scrolls] = React.useState(() => new Map<string, number>());\n const [viewNodes] = React.useState(() => new Map<string, HTMLElement | null>());\n\n const { transitionMotionEnabled = true } = useConfigProvider();\n const { animate } = React.useContext(SplitColContext);\n const disableAnimation = !transitionMotionEnabled || !animate;\n\n const views = React.Children.toArray(children) as Array<React.ReactElement<NavIdProps>>;\n\n const [{ prevView, activeView, transition, isBack }, _setState] = React.useState<RootState>({\n activeView: _activeView,\n transition: false,\n });\n const transitionTo = (panel: string) => {\n if (panel !== activeView) {\n const viewIds = views.map((view) => getNavId(view.props, warn));\n const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);\n scrolls.set(activeView, scroll.getScroll().y);\n _setState({\n activeView: panel,\n prevView: activeView,\n transition: !disableAnimation,\n isBack,\n });\n }\n };\n const finishTransition = React.useCallback(\n () => _setState({ activeView, prevView, isBack, transition: false }),\n [activeView, isBack, prevView],\n );\n\n useIsomorphicLayoutEffect(() => {\n (document!.activeElement as HTMLElement).blur();\n }, [activeView]);\n\n // Нужен переход\n useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);\n useIsomorphicLayoutEffect(() => {\n if (!transition && prevView) {\n // Закончился переход\n scroll.scrollTo(0, isBack ? scrolls.get(activeView) : 0);\n onTransition &&\n onTransition({\n isBack: Boolean(isBack),\n from: prevView,\n to: activeView,\n });\n }\n }, [transition, prevView]);\n\n React.useEffect(\n function onAnimationEndFallback() {\n if (transition && disableAnimation) {\n finishTransition();\n }\n },\n [transition, disableAnimation, finishTransition],\n );\n\n const onAnimationEnd: React.AnimationEventHandler<HTMLElement> = (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n finishTransition();\n };\n\n return (\n <LockFloatingPositionContext.Provider value={transition}>\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n transition && styles.transition,\n )}\n >\n {views.map((view) => {\n const viewId = getNavId(view.props, warn);\n if (viewId !== activeView && !(transition && viewId === prevView)) {\n return null;\n }\n const isTransitionTarget = transition && viewId === (isBack ? prevView : activeView);\n const compensateScroll =\n transition && (viewId === prevView || (isBack && viewId === activeView));\n return (\n <div\n key={viewId}\n ref={(e) => {\n viewId && viewNodes.set(viewId, e);\n }}\n onAnimationEnd={isTransitionTarget ? onAnimationEnd : undefined}\n className={classNames(\n styles.view,\n transition && viewId === prevView && isBack && styles.viewHideBack,\n transition && viewId === prevView && !isBack && styles.viewHideForward,\n transition && viewId === activeView && isBack && styles.viewShowBack,\n transition && viewId === activeView && !isBack && styles.viewShowForward,\n )}\n >\n <NavTransitionDirectionProvider isBack={isBack}>\n <NavTransitionProvider entering={transition && viewId === activeView}>\n <div\n className={styles.scrollCompensation}\n style={{\n marginTop: compensateScroll\n ? viewId && -(scrolls.get(viewId) ?? 0)\n : undefined,\n }}\n >\n {view}\n </div>\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n );\n })}\n </RootComponent>\n </LockFloatingPositionContext.Provider>\n );\n};\n"],"names":["React","classNames","usePlatform","useDOM","LockFloatingPositionContext","getNavId","useIsomorphicLayoutEffect","warnOnce","ScrollContext","useConfigProvider","NavTransitionProvider","NavTransitionDirectionProvider","RootComponent","SplitColContext","styles","warn","Root","children","activeView","_activeView","onTransition","nav","restProps","scroll","useContext","platform","document","scrolls","useState","Map","viewNodes","transitionMotionEnabled","animate","disableAnimation","views","Children","toArray","prevView","transition","isBack","_setState","transitionTo","panel","viewIds","map","view","props","indexOf","set","getScroll","y","finishTransition","useCallback","activeElement","blur","scrollTo","get","Boolean","from","to","useEffect","onAnimationEndFallback","onAnimationEnd","e","target","currentTarget","Provider","value","baseClassName","host","ios","viewId","isTransitionTarget","compensateScroll","div","ref","undefined","className","viewHideBack","viewHideForward","viewShowBack","viewShowForward","entering","scrollCompensation","style","marginTop"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Root/Root.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useDOM } from '../../lib/dom';\nimport { LockFloatingPositionContext } from '../../lib/floating/LockFloatingPosition/LockFloatingPosition';\nimport { getNavId, type NavIdProps } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { ScrollContext } from '../AppRoot/ScrollContext';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { NavTransitionDirectionProvider } from '../NavTransitionDirectionContext/NavTransitionDirectionContext';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { SplitColContext } from '../SplitCol/SplitColContext';\nimport styles from './Root.module.css';\n\nexport interface RootProps extends HTMLAttributesWithRootRef<HTMLDivElement>, NavIdProps {\n /**\n * `id` активной `View`.\n */\n activeView: string;\n /**\n * Обработчик, который вызывается при завершении анимации смены активной `View`.\n */\n onTransition?: ((params: { isBack: boolean; from: string; to: string }) => void) | undefined;\n /**\n * Коллекция `View`. У каждой `View` должен быть `id`.\n */\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\n/* eslint-disable jsdoc/require-jsdoc */\nexport interface RootState {\n activeView: string;\n transition: boolean;\n isBack?: boolean | undefined;\n prevView?: string | undefined;\n}\n/* eslint-enable jsdoc/require-jsdoc */\n\nconst warn = warnOnce('Root');\n\n/**\n * @see https://vkui.io/components/root\n */\nexport const Root = ({\n children,\n activeView: _activeView,\n onTransition,\n nav,\n ...restProps\n}: RootProps): React.ReactNode => {\n const scroll = React.useContext(ScrollContext);\n const platform = usePlatform();\n const { document } = useDOM();\n const [scrolls] = React.useState(() => new Map<string, number>());\n const [viewNodes] = React.useState(() => new Map<string, HTMLElement | null>());\n\n const { transitionMotionEnabled = true } = useConfigProvider();\n const { animate } = React.useContext(SplitColContext);\n const disableAnimation = !transitionMotionEnabled || !animate;\n\n const views = React.Children.toArray(children) as Array<React.ReactElement<NavIdProps>>;\n\n const [{ prevView, activeView, transition, isBack }, _setState] = React.useState<RootState>({\n activeView: _activeView,\n transition: false,\n });\n const transitionTo = (panel: string) => {\n if (panel !== activeView) {\n const viewIds = views.map((view) => getNavId(view.props, warn));\n const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);\n scrolls.set(activeView, scroll.getScroll().y);\n _setState({\n activeView: panel,\n prevView: activeView,\n transition: !disableAnimation,\n isBack,\n });\n }\n };\n const finishTransition = React.useCallback(\n () => _setState({ activeView, prevView, isBack, transition: false }),\n [activeView, isBack, prevView],\n );\n\n useIsomorphicLayoutEffect(() => {\n (document!.activeElement as HTMLElement).blur();\n }, [activeView]);\n\n // Нужен переход\n useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);\n useIsomorphicLayoutEffect(() => {\n if (!transition && prevView) {\n // Закончился переход\n scroll.scrollTo(0, isBack ? scrolls.get(activeView) : 0);\n onTransition &&\n onTransition({\n isBack: Boolean(isBack),\n from: prevView,\n to: activeView,\n });\n }\n }, [transition, prevView]);\n\n React.useEffect(\n function onAnimationEndFallback() {\n if (transition && disableAnimation) {\n finishTransition();\n }\n },\n [transition, disableAnimation, finishTransition],\n );\n\n const onAnimationEnd: React.AnimationEventHandler<HTMLElement> = (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n finishTransition();\n };\n\n return (\n <LockFloatingPositionContext.Provider value={transition}>\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n platform === 'ios' && styles.ios,\n transition && styles.transition,\n )}\n >\n {views.map((view) => {\n const viewId = getNavId(view.props, warn);\n if (viewId !== activeView && !(transition && viewId === prevView)) {\n return null;\n }\n const isTransitionTarget = transition && viewId === (isBack ? prevView : activeView);\n const compensateScroll =\n transition && (viewId === prevView || (isBack && viewId === activeView));\n return (\n <div\n key={viewId}\n ref={(e) => {\n viewId && viewNodes.set(viewId, e);\n }}\n onAnimationEnd={isTransitionTarget ? onAnimationEnd : undefined}\n className={classNames(\n styles.view,\n transition && viewId === prevView && isBack && styles.viewHideBack,\n transition && viewId === prevView && !isBack && styles.viewHideForward,\n transition && viewId === activeView && isBack && styles.viewShowBack,\n transition && viewId === activeView && !isBack && styles.viewShowForward,\n )}\n >\n <NavTransitionDirectionProvider isBack={isBack}>\n <NavTransitionProvider entering={transition && viewId === activeView}>\n <div\n className={styles.scrollCompensation}\n style={{\n marginTop: compensateScroll\n ? viewId && -(scrolls.get(viewId) ?? 0)\n : undefined,\n }}\n >\n {view}\n </div>\n </NavTransitionProvider>\n </NavTransitionDirectionProvider>\n </div>\n );\n })}\n </RootComponent>\n </LockFloatingPositionContext.Provider>\n );\n};\n"],"names":["React","classNames","usePlatform","useDOM","LockFloatingPositionContext","getNavId","useIsomorphicLayoutEffect","warnOnce","ScrollContext","useConfigProvider","NavTransitionProvider","NavTransitionDirectionProvider","RootComponent","SplitColContext","styles","warn","Root","children","activeView","_activeView","onTransition","nav","restProps","scroll","useContext","platform","document","scrolls","useState","Map","viewNodes","transitionMotionEnabled","animate","disableAnimation","views","Children","toArray","prevView","transition","isBack","_setState","transitionTo","panel","viewIds","map","view","props","indexOf","set","getScroll","y","finishTransition","useCallback","activeElement","blur","scrollTo","get","Boolean","from","to","useEffect","onAnimationEndFallback","onAnimationEnd","e","target","currentTarget","Provider","value","baseClassName","host","ios","viewId","isTransitionTarget","compensateScroll","div","ref","undefined","className","viewHideBack","viewHideForward","viewShowBack","viewShowForward","entering","scrollCompensation","style","marginTop"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/RootComponent/RootComponent.tsx"],"sourcesContent":["import type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport type { HasComponent, HasRootRef } from '../../types';\nimport styles from './RootComponent.module.css';\n\nexport interface RootComponentProps<T>\n extends React.AllHTMLAttributes<T>,\n HasRootRef<T>,\n HasComponent {}\n\nexport interface RootComponentExtendProps {\n /**\n * Базовый класс.\n */\n baseClassName?: string | false;\n /**\n * Базовые стили.\n */\n baseStyle?: React.CSSProperties;\n}\n\nexport interface RootComponentInternalProps<T>\n extends RootComponentProps<T>,\n RootComponentExtendProps {}\n\n/**\n * Базовый корневой компонент.\n */\nexport const RootComponent = <T,>({\n Component = 'div',\n baseClassName,\n className,\n baseStyle,\n style,\n getRootRef,\n ...restProps\n}: RootComponentInternalProps<T>): React.ReactNode => (\n <Component\n ref={getRootRef}\n className={classNames(\n className,\n baseClassName,\n styles.host,\n restProps.hidden === true && styles.hidden,\n )}\n style={mergeStyle(baseStyle, style)}\n {...restProps}\n />\n);\n"],"names":["classNames","mergeStyle","styles","RootComponent","Component","baseClassName","className","baseStyle","style","getRootRef","restProps","ref","host","hidden"],"mappings":";AACA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AAEtD,OAAOC,YAAY,6BAA6B;AAsBhD;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAK,EAChCC,YAAY,KAAK,EACjBC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTC,KAAK,EACLC,UAAU,EACV,GAAGC,WAC2B,iBAC9B,KAACN;QACCO,KAAKF;QACLH,WAAWN,WACTM,WACAD,eACAH,OAAOU,IAAI,EACXF,UAAUG,MAAM,KAAK,QAAQX,OAAOW,MAAM;QAE5CL,OAAOP,WAAWM,WAAWC;QAC5B,GAAGE,SAAS;OAEf"}
1
+ {"version":3,"sources":["../../../../src/components/RootComponent/RootComponent.tsx"],"sourcesContent":["import type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { mergeStyle } from '../../helpers/mergeStyle';\nimport type { HasComponent, HasRootRef } from '../../types';\nimport styles from './RootComponent.module.css';\n\nexport interface RootComponentProps<T>\n extends React.AllHTMLAttributes<T>,\n HasRootRef<T>,\n HasComponent {}\n\nexport interface RootComponentExtendProps {\n /**\n * Базовый класс.\n */\n baseClassName?: string | false | undefined;\n /**\n * Базовые стили.\n */\n baseStyle?: React.CSSProperties | undefined;\n}\n\nexport interface RootComponentInternalProps<T>\n extends RootComponentProps<T>,\n RootComponentExtendProps {}\n\n/**\n * Базовый корневой компонент.\n */\nexport const RootComponent = <T,>({\n Component = 'div',\n baseClassName,\n className,\n baseStyle,\n style,\n getRootRef,\n ...restProps\n}: RootComponentInternalProps<T>): React.ReactNode => (\n <Component\n ref={getRootRef}\n className={classNames(\n className,\n baseClassName,\n styles.host,\n restProps.hidden === true && styles.hidden,\n )}\n style={mergeStyle(baseStyle, style)}\n {...restProps}\n />\n);\n"],"names":["classNames","mergeStyle","styles","RootComponent","Component","baseClassName","className","baseStyle","style","getRootRef","restProps","ref","host","hidden"],"mappings":";AACA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,UAAU,QAAQ,8BAA2B;AAEtD,OAAOC,YAAY,6BAA6B;AAsBhD;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAK,EAChCC,YAAY,KAAK,EACjBC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTC,KAAK,EACLC,UAAU,EACV,GAAGC,WAC2B,iBAC9B,KAACN;QACCO,KAAKF;QACLH,WAAWN,WACTM,WACAD,eACAH,OAAOU,IAAI,EACXF,UAAUG,MAAM,KAAK,QAAQX,OAAOW,MAAM;QAE5CL,OAAOP,WAAWM,WAAWC;QAC5B,GAAGE,SAAS;OAEf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { Icon24Cancel } from '@vkontakte/icons';\nimport { mergeCalls } from '../../lib/mergeCalls';\nimport { clickByKeyboardHandler } from '../../lib/utils';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Icon48CancelCircle } from './Icon48CancelCircle';\nimport { Icon48DoneOutline } from './Icon48DoneOutline';\nimport { ScreenSpinnerContext } from './context';\nimport type { ScreenSpinnerProps } from './types';\nimport styles from './ScreenSpinner.module.css';\n\ntype ScreenSpinnerSwapIconProps = HTMLAttributesWithRootRef<HTMLElement> & {\n cancelLabel?: ScreenSpinnerProps['cancelLabel'];\n};\n\nconst ScreenSpinnerCancelIcon = ({\n onKeyDown,\n 'aria-label': ariaLabel = 'Отменить',\n ...restProps\n}: ScreenSpinnerSwapIconProps) => {\n const handlers = mergeCalls(\n { onKeyDown: clickByKeyboardHandler },\n {\n onKeyDown,\n },\n );\n let clickableProps: React.HTMLAttributes<HTMLSpanElement> = {\n ...handlers,\n 'tabIndex': 0,\n 'role': 'button',\n 'aria-label': ariaLabel,\n };\n\n return (\n <RootComponent baseClassName={styles.icon} {...clickableProps} {...restProps}>\n <Icon24Cancel />\n </RootComponent>\n );\n};\n\nexport const ScreenSpinnerSwapIcon = ({\n cancelLabel,\n ...restProps\n}: ScreenSpinnerSwapIconProps) => {\n const { state, customIcon } = React.useContext(ScreenSpinnerContext);\n\n if (state === 'cancelable') {\n return <ScreenSpinnerCancelIcon aria-label={cancelLabel} {...restProps} />;\n }\n\n const getContent = () => {\n if (state === 'custom') {\n return customIcon;\n }\n\n const Icon = {\n loading: () => null,\n done: Icon48DoneOutline,\n error: Icon48CancelCircle,\n }[state];\n\n return <Icon />;\n };\n\n return (\n <RootComponent baseClassName={styles.icon} {...restProps}>\n {getContent()}\n </RootComponent>\n );\n};\n"],"names":["React","Icon24Cancel","mergeCalls","clickByKeyboardHandler","RootComponent","Icon48CancelCircle","Icon48DoneOutline","ScreenSpinnerContext","styles","ScreenSpinnerCancelIcon","onKeyDown","ariaLabel","restProps","handlers","clickableProps","baseClassName","icon","ScreenSpinnerSwapIcon","cancelLabel","state","customIcon","useContext","aria-label","getContent","Icon","loading","done","error"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,sBAAsB,QAAQ,qBAAkB;AAEzD,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,kBAAkB,QAAQ,0BAAuB;AAC1D,SAASC,iBAAiB,QAAQ,yBAAsB;AACxD,SAASC,oBAAoB,QAAQ,eAAY;AAEjD,OAAOC,YAAY,6BAA6B;AAMhD,MAAMC,0BAA0B,CAAC,EAC/BC,SAAS,EACT,cAAcC,YAAY,UAAU,EACpC,GAAGC,WACwB;IAC3B,MAAMC,WAAWX,WACf;QAAEQ,WAAWP;IAAuB,GACpC;QACEO;IACF;IAEF,IAAII,iBAAwD;QAC1D,GAAGD,QAAQ;QACX,YAAY;QACZ,QAAQ;QACR,cAAcF;IAChB;IAEA,qBACE,KAACP;QAAcW,eAAeP,OAAOQ,IAAI;QAAG,GAAGF,cAAc;QAAG,GAAGF,SAAS;kBAC1E,cAAA,KAACX;;AAGP;AAEA,OAAO,MAAMgB,wBAAwB,CAAC,EACpCC,WAAW,EACX,GAAGN,WACwB;IAC3B,MAAM,EAAEO,KAAK,EAAEC,UAAU,EAAE,GAAGpB,MAAMqB,UAAU,CAACd;IAE/C,IAAIY,UAAU,cAAc;QAC1B,qBAAO,KAACV;YAAwBa,cAAYJ;YAAc,GAAGN,SAAS;;IACxE;IAEA,MAAMW,aAAa;QACjB,IAAIJ,UAAU,UAAU;YACtB,OAAOC;QACT;QAEA,MAAMI,OAAO;YACXC,SAAS,IAAM;YACfC,MAAMpB;YACNqB,OAAOtB;QACT,CAAC,CAACc,MAAM;QAER,qBAAO,KAACK;IACV;IAEA,qBACE,KAACpB;QAAcW,eAAeP,OAAOQ,IAAI;QAAG,GAAGJ,SAAS;kBACrDW;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { Icon24Cancel } from '@vkontakte/icons';\nimport { mergeCalls } from '../../lib/mergeCalls';\nimport { clickByKeyboardHandler } from '../../lib/utils';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Icon48CancelCircle } from './Icon48CancelCircle';\nimport { Icon48DoneOutline } from './Icon48DoneOutline';\nimport { ScreenSpinnerContext } from './context';\nimport type { ScreenSpinnerProps } from './types';\nimport styles from './ScreenSpinner.module.css';\n\ntype ScreenSpinnerSwapIconProps = HTMLAttributesWithRootRef<HTMLElement> & {\n cancelLabel?: ScreenSpinnerProps['cancelLabel'] | undefined;\n};\n\nconst ScreenSpinnerCancelIcon = ({\n onKeyDown,\n 'aria-label': ariaLabel = 'Отменить',\n ...restProps\n}: ScreenSpinnerSwapIconProps) => {\n const handlers = mergeCalls(\n { onKeyDown: clickByKeyboardHandler },\n {\n onKeyDown,\n },\n );\n let clickableProps: React.HTMLAttributes<HTMLSpanElement> = {\n ...handlers,\n 'tabIndex': 0,\n 'role': 'button',\n 'aria-label': ariaLabel,\n };\n\n return (\n <RootComponent baseClassName={styles.icon} {...clickableProps} {...restProps}>\n <Icon24Cancel />\n </RootComponent>\n );\n};\n\nexport const ScreenSpinnerSwapIcon = ({\n cancelLabel,\n ...restProps\n}: ScreenSpinnerSwapIconProps) => {\n const { state, customIcon } = React.useContext(ScreenSpinnerContext);\n\n if (state === 'cancelable') {\n return <ScreenSpinnerCancelIcon aria-label={cancelLabel} {...restProps} />;\n }\n\n const getContent = () => {\n if (state === 'custom') {\n return customIcon;\n }\n\n const Icon = {\n loading: () => null,\n done: Icon48DoneOutline,\n error: Icon48CancelCircle,\n }[state];\n\n return <Icon />;\n };\n\n return (\n <RootComponent baseClassName={styles.icon} {...restProps}>\n {getContent()}\n </RootComponent>\n );\n};\n"],"names":["React","Icon24Cancel","mergeCalls","clickByKeyboardHandler","RootComponent","Icon48CancelCircle","Icon48DoneOutline","ScreenSpinnerContext","styles","ScreenSpinnerCancelIcon","onKeyDown","ariaLabel","restProps","handlers","clickableProps","baseClassName","icon","ScreenSpinnerSwapIcon","cancelLabel","state","customIcon","useContext","aria-label","getContent","Icon","loading","done","error"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,QAAQ,0BAAuB;AAClD,SAASC,sBAAsB,QAAQ,qBAAkB;AAEzD,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,kBAAkB,QAAQ,0BAAuB;AAC1D,SAASC,iBAAiB,QAAQ,yBAAsB;AACxD,SAASC,oBAAoB,QAAQ,eAAY;AAEjD,OAAOC,YAAY,6BAA6B;AAMhD,MAAMC,0BAA0B,CAAC,EAC/BC,SAAS,EACT,cAAcC,YAAY,UAAU,EACpC,GAAGC,WACwB;IAC3B,MAAMC,WAAWX,WACf;QAAEQ,WAAWP;IAAuB,GACpC;QACEO;IACF;IAEF,IAAII,iBAAwD;QAC1D,GAAGD,QAAQ;QACX,YAAY;QACZ,QAAQ;QACR,cAAcF;IAChB;IAEA,qBACE,KAACP;QAAcW,eAAeP,OAAOQ,IAAI;QAAG,GAAGF,cAAc;QAAG,GAAGF,SAAS;kBAC1E,cAAA,KAACX;;AAGP;AAEA,OAAO,MAAMgB,wBAAwB,CAAC,EACpCC,WAAW,EACX,GAAGN,WACwB;IAC3B,MAAM,EAAEO,KAAK,EAAEC,UAAU,EAAE,GAAGpB,MAAMqB,UAAU,CAACd;IAE/C,IAAIY,UAAU,cAAc;QAC1B,qBAAO,KAACV;YAAwBa,cAAYJ;YAAc,GAAGN,SAAS;;IACxE;IAEA,MAAMW,aAAa;QACjB,IAAIJ,UAAU,UAAU;YACtB,OAAOC;QACT;QAEA,MAAMI,OAAO;YACXC,SAAS,IAAM;YACfC,MAAMpB;YACNqB,OAAOtB;QACT,CAAC,CAACc,MAAM;QAER,qBAAO,KAACK;IACV;IAEA,qBACE,KAACpB;QAAcW,eAAeP,OAAOQ,IAAI;QAAG,GAAGJ,SAAS;kBACrDW;;AAGP,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScreenSpinner/context.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ScreenSpinnerProps } from './types';\n\nexport interface ScreenSpinnerContextProps {\n /**\n * Тип отображения спиннера.\n */\n state: NonNullable<ScreenSpinnerProps['state']>;\n /**\n * Текст под иконкой.\n */\n label?: ScreenSpinnerProps['label'];\n /**\n * Кастомная иконка, работает совместно со `state=\"custom\"`.\n */\n customIcon?: ScreenSpinnerProps['customIcon'];\n}\n\nexport const ScreenSpinnerContext: React.Context<ScreenSpinnerContextProps> =\n React.createContext<ScreenSpinnerContextProps>({\n state: 'loading',\n label: undefined,\n customIcon: undefined,\n });\n"],"names":["React","ScreenSpinnerContext","createContext","state","label","undefined","customIcon"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAkB/B,OAAO,MAAMC,uBACXD,MAAME,aAAa,CAA4B;IAC7CC,OAAO;IACPC,OAAOC;IACPC,YAAYD;AACd,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/ScreenSpinner/context.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ScreenSpinnerProps } from './types';\n\nexport interface ScreenSpinnerContextProps {\n /**\n * Тип отображения спиннера.\n */\n state: NonNullable<ScreenSpinnerProps['state']>;\n /**\n * Текст под иконкой.\n */\n label?: ScreenSpinnerProps['label'] | undefined;\n /**\n * Кастомная иконка, работает совместно со `state=\"custom\"`.\n */\n customIcon?: ScreenSpinnerProps['customIcon'] | undefined;\n}\n\nexport const ScreenSpinnerContext: React.Context<ScreenSpinnerContextProps> =\n React.createContext<ScreenSpinnerContextProps>({\n state: 'loading',\n label: undefined,\n customIcon: undefined,\n });\n"],"names":["React","ScreenSpinnerContext","createContext","state","label","undefined","customIcon"],"mappings":"AAAA;AAEA,YAAYA,WAAW,QAAQ;AAkB/B,OAAO,MAAMC,uBACXD,MAAME,aAAa,CAA4B;IAC7CC,OAAO;IACPC,OAAOC;IACPC,YAAYD;AACd,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScreenSpinner/types.tsx"],"sourcesContent":["import type * as React from 'react';\nimport type { AppRootPortalProps } from '../AppRoot/AppRootPortal';\nimport type { SpinnerProps } from '../Spinner/Spinner';\n\nexport type ScreenSpinnerProps = Omit<SpinnerProps, 'size'> &\n Pick<AppRootPortalProps, 'usePortal'> & {\n /**\n * Тип отображения спиннера.\n */\n state?: 'loading' | 'cancelable' | 'done' | 'error' | 'custom';\n /**\n * Кастомная иконка, работает совместно со `state=\"custom\"`.\n */\n customIcon?: React.ReactNode;\n /**\n * Внешний вид отображения спиннера.\n */\n mode?: 'shadow' | 'overlay';\n /**\n * Текст под иконкой.\n */\n label?: React.ReactNode;\n /**\n * Используется при `state='cancelable'`. Делает доступным для ассистивных технологий.\n */\n cancelLabel?: string;\n };\n"],"names":[],"mappings":"AAIA,WAsBI"}
1
+ {"version":3,"sources":["../../../../src/components/ScreenSpinner/types.tsx"],"sourcesContent":["import type * as React from 'react';\nimport type { AppRootPortalProps } from '../AppRoot/AppRootPortal';\nimport type { SpinnerProps } from '../Spinner/Spinner';\n\nexport type ScreenSpinnerProps = Omit<SpinnerProps, 'size'> &\n Pick<AppRootPortalProps, 'usePortal'> & {\n /**\n * Тип отображения спиннера.\n */\n state?: 'loading' | 'cancelable' | 'done' | 'error' | 'custom' | undefined;\n /**\n * Кастомная иконка, работает совместно со `state=\"custom\"`.\n */\n customIcon?: React.ReactNode | undefined;\n /**\n * Внешний вид отображения спиннера.\n */\n mode?: 'shadow' | 'overlay' | undefined;\n /**\n * Текст под иконкой.\n */\n label?: React.ReactNode | undefined;\n /**\n * Используется при `state='cancelable'`. Делает доступным для ассистивных технологий.\n */\n cancelLabel?: string | undefined;\n };\n"],"names":[],"mappings":"AAIA,WAsBI"}
@@ -36,11 +36,23 @@ const ArrowIcon = ({ size })=>{
36
36
  *
37
37
  * @since 5.4.0
38
38
  * @see https://vkui.io/components/scroll-arrow
39
- */ export const ScrollArrow = ({ size = 'm', offsetY, direction, label: labelProp, children = /*#__PURE__*/ _jsx(ArrowIcon, {
39
+ */ export const ScrollArrow = ({ size = 'm', offsetY, offsetX, direction, label: labelProp, children = /*#__PURE__*/ _jsx(ArrowIcon, {
40
40
  size: size
41
41
  }), ...restProps })=>{
42
42
  const textDirection = useConfigDirection();
43
43
  const label = labelProp ?? labelDirection[direction];
44
+ const iconStyle = {};
45
+ if (offsetY) {
46
+ iconStyle.top = offsetY;
47
+ }
48
+ if (offsetX) {
49
+ const isRtl = textDirection === 'rtl';
50
+ if (direction === 'left') {
51
+ iconStyle[isRtl ? 'right' : 'left'] = offsetX;
52
+ } else if (direction === 'right') {
53
+ iconStyle[isRtl ? 'left' : 'right'] = offsetX;
54
+ }
55
+ }
44
56
  return /*#__PURE__*/ _jsxs(RootComponent, {
45
57
  Component: "button",
46
58
  type: "button",
@@ -52,9 +64,7 @@ const ArrowIcon = ({ size })=>{
52
64
  }),
53
65
  /*#__PURE__*/ _jsx("span", {
54
66
  className: styles.icon,
55
- style: offsetY ? {
56
- top: offsetY
57
- } : undefined,
67
+ style: Object.keys(iconStyle).length > 0 ? iconStyle : undefined,
58
68
  children: children
59
69
  })
60
70
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScrollArrow/ScrollArrow.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { Icon16Chevron, Icon24Chevron } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport type { HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './ScrollArrow.module.css';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n};\n\nconst stylesDirection = {\n up: styles.directionUp,\n right: styles.directionRight,\n down: styles.directionDown,\n left: styles.directionLeft,\n};\n\nconst labelDirection = {\n up: 'Назад',\n right: 'Вперед',\n down: 'Вперед',\n left: 'Назад',\n};\n\nconst ArrowIcon = ({ size }: Pick<ScrollArrowProps, 'size'>) => {\n let Icon = Icon24Chevron;\n if (size === 's') {\n Icon = Icon16Chevron;\n }\n\n return <Icon className={styles.defaultIcon} />;\n};\n\nexport interface ScrollArrowProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n HasRootRef<HTMLButtonElement> {\n /**\n * Направление стрелки.\n */\n direction: 'up' | 'right' | 'down' | 'left';\n /**\n * Размер стрелки.\n */\n size?: 's' | 'm';\n /**\n * Смещает иконку кнопки навигации по вертикали.\n */\n offsetY?: number | string;\n /**\n * [a11y]: Используется для ассистивных технологий.\n */\n label?: string;\n}\n\n/**\n * Компонент стрелки. Используется в [HorizontalScroll](#/HorizontalScroll) и [Gallery](#/Gallery).\n *\n * @since 5.4.0\n * @see https://vkui.io/components/scroll-arrow\n */\nexport const ScrollArrow = ({\n size = 'm',\n offsetY,\n direction,\n label: labelProp,\n children = <ArrowIcon size={size} />,\n ...restProps\n}: ScrollArrowProps): React.ReactNode => {\n const textDirection = useConfigDirection();\n const label = labelProp ?? labelDirection[direction];\n\n return (\n <RootComponent\n Component=\"button\"\n type=\"button\"\n baseClassName={classNames(\n styles.host,\n stylesSize[size],\n stylesDirection[direction],\n textDirection === 'rtl' && styles.rtl,\n )}\n {...restProps}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n <span className={styles.icon} style={offsetY ? { top: offsetY } : undefined}>\n {children}\n </span>\n </RootComponent>\n );\n};\n"],"names":["Icon16Chevron","Icon24Chevron","classNames","useConfigDirection","RootComponent","VisuallyHidden","styles","stylesSize","s","sizeS","m","sizeM","stylesDirection","up","directionUp","right","directionRight","down","directionDown","left","directionLeft","labelDirection","ArrowIcon","size","Icon","className","defaultIcon","ScrollArrow","offsetY","direction","label","labelProp","children","restProps","textDirection","Component","type","baseClassName","host","rtl","span","icon","style","top","undefined"],"mappings":"AAAA;;AAGA,SAASA,aAAa,EAAEC,aAAa,QAAQ,mBAAmB;AAChE,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAAQ,oCAAiC;AAEpE,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,2BAA2B;AAE9C,MAAMC,aAAa;IACjBC,GAAGF,OAAOG,KAAK;IACfC,GAAGJ,OAAOK,KAAK;AACjB;AAEA,MAAMC,kBAAkB;IACtBC,IAAIP,OAAOQ,WAAW;IACtBC,OAAOT,OAAOU,cAAc;IAC5BC,MAAMX,OAAOY,aAAa;IAC1BC,MAAMb,OAAOc,aAAa;AAC5B;AAEA,MAAMC,iBAAiB;IACrBR,IAAI;IACJE,OAAO;IACPE,MAAM;IACNE,MAAM;AACR;AAEA,MAAMG,YAAY,CAAC,EAAEC,IAAI,EAAkC;IACzD,IAAIC,OAAOvB;IACX,IAAIsB,SAAS,KAAK;QAChBC,OAAOxB;IACT;IAEA,qBAAO,KAACwB;QAAKC,WAAWnB,OAAOoB,WAAW;;AAC5C;AAuBA;;;;;CAKC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BJ,OAAO,GAAG,EACVK,OAAO,EACPC,SAAS,EACTC,OAAOC,SAAS,EAChBC,yBAAW,KAACV;IAAUC,MAAMA;EAAQ,EACpC,GAAGU,WACc;IACjB,MAAMC,gBAAgB/B;IACtB,MAAM2B,QAAQC,aAAaV,cAAc,CAACQ,UAAU;IAEpD,qBACE,MAACzB;QACC+B,WAAU;QACVC,MAAK;QACLC,eAAenC,WACbI,OAAOgC,IAAI,EACX/B,UAAU,CAACgB,KAAK,EAChBX,eAAe,CAACiB,UAAU,EAC1BK,kBAAkB,SAAS5B,OAAOiC,GAAG;QAEtC,GAAGN,SAAS;;YAEZH,uBAAS,KAACzB;0BAAgByB;;0BAC3B,KAACU;gBAAKf,WAAWnB,OAAOmC,IAAI;gBAAEC,OAAOd,UAAU;oBAAEe,KAAKf;gBAAQ,IAAIgB;0BAC/DZ;;;;AAIT,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/ScrollArrow/ScrollArrow.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { Icon16Chevron, Icon24Chevron } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport type { HasRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './ScrollArrow.module.css';\n\nconst stylesSize = {\n s: styles.sizeS,\n m: styles.sizeM,\n};\n\nconst stylesDirection = {\n up: styles.directionUp,\n right: styles.directionRight,\n down: styles.directionDown,\n left: styles.directionLeft,\n};\n\nconst labelDirection = {\n up: 'Назад',\n right: 'Вперед',\n down: 'Вперед',\n left: 'Назад',\n};\n\nconst ArrowIcon = ({ size }: Pick<ScrollArrowProps, 'size'>) => {\n let Icon = Icon24Chevron;\n if (size === 's') {\n Icon = Icon16Chevron;\n }\n\n return <Icon className={styles.defaultIcon} />;\n};\n\nexport interface ScrollArrowProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n HasRootRef<HTMLButtonElement> {\n /**\n * Направление стрелки.\n */\n direction: 'up' | 'right' | 'down' | 'left';\n /**\n * Размер стрелки.\n */\n size?: 's' | 'm' | undefined;\n /**\n * Смещает иконку кнопки навигации по вертикали.\n */\n offsetY?: number | string | undefined;\n /**\n * Смещает иконку кнопки навигации по горизонтали.\n * Для `direction=\"left\"` применяется к `left` (в LTR) или `right` (в RTL).\n * Для `direction=\"right\"` применяется к `right` (в LTR) или `left` (в RTL).\n */\n offsetX?: number | string | undefined;\n /**\n * [a11y]: Используется для ассистивных технологий.\n */\n label?: string | undefined;\n}\n\n/**\n * Компонент стрелки. Используется в [HorizontalScroll](#/HorizontalScroll) и [Gallery](#/Gallery).\n *\n * @since 5.4.0\n * @see https://vkui.io/components/scroll-arrow\n */\nexport const ScrollArrow = ({\n size = 'm',\n offsetY,\n offsetX,\n direction,\n label: labelProp,\n children = <ArrowIcon size={size} />,\n ...restProps\n}: ScrollArrowProps): React.ReactNode => {\n const textDirection = useConfigDirection();\n const label = labelProp ?? labelDirection[direction];\n\n const iconStyle: React.CSSProperties = {};\n if (offsetY) {\n iconStyle.top = offsetY;\n }\n if (offsetX) {\n const isRtl = textDirection === 'rtl';\n if (direction === 'left') {\n iconStyle[isRtl ? 'right' : 'left'] = offsetX;\n } else if (direction === 'right') {\n iconStyle[isRtl ? 'left' : 'right'] = offsetX;\n }\n }\n\n return (\n <RootComponent\n Component=\"button\"\n type=\"button\"\n baseClassName={classNames(\n styles.host,\n stylesSize[size],\n stylesDirection[direction],\n textDirection === 'rtl' && styles.rtl,\n )}\n {...restProps}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n <span\n className={styles.icon}\n style={Object.keys(iconStyle).length > 0 ? iconStyle : undefined}\n >\n {children}\n </span>\n </RootComponent>\n );\n};\n"],"names":["Icon16Chevron","Icon24Chevron","classNames","useConfigDirection","RootComponent","VisuallyHidden","styles","stylesSize","s","sizeS","m","sizeM","stylesDirection","up","directionUp","right","directionRight","down","directionDown","left","directionLeft","labelDirection","ArrowIcon","size","Icon","className","defaultIcon","ScrollArrow","offsetY","offsetX","direction","label","labelProp","children","restProps","textDirection","iconStyle","top","isRtl","Component","type","baseClassName","host","rtl","span","icon","style","Object","keys","length","undefined"],"mappings":"AAAA;;AAGA,SAASA,aAAa,EAAEC,aAAa,QAAQ,mBAAmB;AAChE,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAAQ,oCAAiC;AAEpE,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,YAAY,2BAA2B;AAE9C,MAAMC,aAAa;IACjBC,GAAGF,OAAOG,KAAK;IACfC,GAAGJ,OAAOK,KAAK;AACjB;AAEA,MAAMC,kBAAkB;IACtBC,IAAIP,OAAOQ,WAAW;IACtBC,OAAOT,OAAOU,cAAc;IAC5BC,MAAMX,OAAOY,aAAa;IAC1BC,MAAMb,OAAOc,aAAa;AAC5B;AAEA,MAAMC,iBAAiB;IACrBR,IAAI;IACJE,OAAO;IACPE,MAAM;IACNE,MAAM;AACR;AAEA,MAAMG,YAAY,CAAC,EAAEC,IAAI,EAAkC;IACzD,IAAIC,OAAOvB;IACX,IAAIsB,SAAS,KAAK;QAChBC,OAAOxB;IACT;IAEA,qBAAO,KAACwB;QAAKC,WAAWnB,OAAOoB,WAAW;;AAC5C;AA6BA;;;;;CAKC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BJ,OAAO,GAAG,EACVK,OAAO,EACPC,OAAO,EACPC,SAAS,EACTC,OAAOC,SAAS,EAChBC,yBAAW,KAACX;IAAUC,MAAMA;EAAQ,EACpC,GAAGW,WACc;IACjB,MAAMC,gBAAgBhC;IACtB,MAAM4B,QAAQC,aAAaX,cAAc,CAACS,UAAU;IAEpD,MAAMM,YAAiC,CAAC;IACxC,IAAIR,SAAS;QACXQ,UAAUC,GAAG,GAAGT;IAClB;IACA,IAAIC,SAAS;QACX,MAAMS,QAAQH,kBAAkB;QAChC,IAAIL,cAAc,QAAQ;YACxBM,SAAS,CAACE,QAAQ,UAAU,OAAO,GAAGT;QACxC,OAAO,IAAIC,cAAc,SAAS;YAChCM,SAAS,CAACE,QAAQ,SAAS,QAAQ,GAAGT;QACxC;IACF;IAEA,qBACE,MAACzB;QACCmC,WAAU;QACVC,MAAK;QACLC,eAAevC,WACbI,OAAOoC,IAAI,EACXnC,UAAU,CAACgB,KAAK,EAChBX,eAAe,CAACkB,UAAU,EAC1BK,kBAAkB,SAAS7B,OAAOqC,GAAG;QAEtC,GAAGT,SAAS;;YAEZH,uBAAS,KAAC1B;0BAAgB0B;;0BAC3B,KAACa;gBACCnB,WAAWnB,OAAOuC,IAAI;gBACtBC,OAAOC,OAAOC,IAAI,CAACZ,WAAWa,MAAM,GAAG,IAAIb,YAAYc;0BAEtDjB;;;;AAIT,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Search/Search.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon16SearchOutline, Icon24Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { useBooleanState } from '../../hooks/useBooleanState';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { useNativeFormResetListener } from '../../hooks/useNativeFormResetListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { touchEnabled } from '../../lib/touch';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { IconButton, type IconButtonProps } from '../IconButton/IconButton';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Search.module.css';\n\nconst warn = warnOnce('Search');\n\nexport type RenderIconButtonFn = (\n icon: React.ReactNode,\n props?: Partial<IconButtonProps> & HasDataAttribute,\n) => React.ReactElement;\n\nexport interface SearchProps\n extends Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n | 'autoComplete'\n | 'autoCapitalize'\n | 'autoCorrect'\n | 'disabled'\n | 'list'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'pattern'\n | 'enterKeyHint'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'value'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLDivElement> {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement>;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в поле ввода;\n * - `clearButton`: свойства для прокидывания в кнопку очистки.\n */\n slotProps?: {\n root?: React.HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute;\n input?: React.InputHTMLAttributes<HTMLInputElement> &\n HasRootRef<HTMLInputElement> &\n HasDataAttribute;\n clearButton?: React.HTMLAttributes<HTMLElement> & HasRootRef<HTMLElement> & HasDataAttribute;\n };\n /**\n * Only iOS. Текст кнопки \"отмена\", которая чистит текстовое поле и убирает фокус.\n */\n after?: React.ReactNode;\n /**\n * Контент, отображаемый перед полем ввода.\n */\n before?: React.ReactNode;\n /**\n * Иконка поиска. Может быть React-элементом или функцией, возвращающей элемент.\n */\n icon?: React.ReactNode | ((renderFn: RenderIconButtonFn) => React.ReactNode);\n /**\n * Обработчик нажатия на иконку поиска.\n */\n onIconClick?: React.PointerEventHandler<HTMLElement>;\n /**\n * Значение поля ввода по умолчанию.\n */\n defaultValue?: string;\n /**\n * Текст для скринридеров, описывающий иконку поиска.\n */\n iconLabel?: string;\n /**\n * Текст для скринридеров, описывающий кнопку очистки.\n */\n clearLabel?: string;\n /**\n * @deprecated Since 8.1.0. Будет удалено в **VKUI v10**. Вместо этого используйте `slotProps={ clearButton: { 'data-testid': ... } }`.\n *\n * Передает атрибут `data-testid` для кнопки очистки.\n */\n clearButtonTestId?: string;\n /**\n * Удаляет отступы у компонента.\n */\n noPadding?: boolean;\n /**\n * Текст для кнопки Найти.\n */\n findButtonText?: string;\n /**\n * Обработчик, при нажатии на кнопку \"Найти\".\n */\n onFindButtonClick?: React.MouseEventHandler<HTMLElement>;\n /**\n * Передает атрибут `data-testid` для кнопки поиска.\n */\n findButtonTestId?: string;\n /**\n * Скрывает кнопку очистки.\n */\n hideClearButton?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/search\n */\nexport const Search = ({\n // SearchProps\n after = 'Отмена',\n before = <Icon16SearchOutline />,\n icon: iconProp,\n onIconClick,\n iconLabel,\n clearLabel = 'Очистить',\n clearButtonTestId,\n noPadding,\n findButtonText = 'Найти',\n onFindButtonClick,\n findButtonTestId,\n hideClearButton,\n getRef,\n\n // input props\n autoComplete = 'off',\n autoCapitalize,\n autoCorrect,\n disabled,\n list,\n maxLength,\n minLength,\n name,\n pattern,\n placeholder: placeholderProp = 'Поиск',\n enterKeyHint,\n readOnly,\n required,\n value,\n form,\n id: idProp,\n inputMode,\n defaultValue,\n autoFocus,\n tabIndex,\n spellCheck,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n\n slotProps,\n ...restProps\n}: SearchProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development') {\n if (getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n if (clearButtonTestId) {\n warn(\n \"Свойство `clearButtonTestId` устаревшее, используйте `slotProps={ clearButton: { 'data-testid': ... } }`\",\n );\n }\n }\n\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const rootRest = useMergeProps(restProps, slotProps?.root);\n\n const {\n id,\n placeholder,\n getRootRef: getInputRef,\n onChange,\n onFocus: onInputFocus,\n onBlur: onInputBlur,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n className: styles.nativeInput,\n placeholder: placeholderProp,\n autoComplete,\n autoCapitalize,\n autoCorrect,\n disabled,\n list,\n maxLength,\n minLength,\n name,\n pattern,\n enterKeyHint,\n readOnly,\n required,\n value,\n form,\n id: idProp,\n inputMode,\n defaultValue,\n autoFocus,\n tabIndex,\n spellCheck,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n },\n slotProps?.input,\n );\n\n const {\n onClick: onClearButtonClick,\n onPointerDown: onClearButtonPointerDown,\n ...clearButtonRest\n } = useMergeProps({ className: styles.icon }, slotProps?.clearButton);\n\n const inputRef = useExternRef(getInputRef);\n const [isFocused, setFocusedTrue, setFocusedFalse] = useBooleanState(false);\n const generatedId = React.useId();\n const inputId = id ? id : `search-${generatedId}`;\n\n const [hasValue, setHasValue] = React.useState<boolean>(() =>\n Boolean(inputRest.value || inputRest.defaultValue),\n );\n const checkHasValue: React.ChangeEventHandler<HTMLInputElement> = (e) =>\n setHasValue(Boolean(e.currentTarget.value));\n\n const { density = 'none' } = useAdaptivity();\n const { density: adaptiveDensity } = useAdaptivityConditionalRender();\n const platform = usePlatform();\n\n const hasAfter = platform === 'ios' && hasReactNode(after);\n\n const onFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedTrue();\n onInputFocus && onInputFocus(e);\n };\n\n const onBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedFalse();\n onInputBlur && onInputBlur(e);\n };\n\n const onCancel = React.useCallback(() => {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value',\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, '');\n\n const ev2 = new Event('input', { bubbles: true });\n inputRef.current?.dispatchEvent(ev2);\n }, [inputRef]);\n\n const onIconClickStart: React.PointerEventHandler<HTMLElement> = React.useCallback(\n (e) => onIconClick?.(e),\n [onIconClick],\n );\n\n const onIconCancelClickStart: React.PointerEventHandler<HTMLElement> = React.useCallback(\n (e) => {\n e.preventDefault();\n inputRef.current?.focus();\n if (touchEnabled()) {\n onCancel();\n }\n },\n [inputRef, onCancel],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (inputRest.value !== undefined) {\n setHasValue(Boolean(inputRest.value));\n }\n }, [inputRest.value]);\n\n useNativeFormResetListener(inputRef, () => {\n setHasValue(Boolean(inputRest.defaultValue));\n });\n\n const renderIconButton: RenderIconButtonFn = (icon, props = {}) => (\n <IconButton\n hoverMode=\"opacity\"\n onPointerDown={onIconClickStart}\n className={styles.icon}\n onFocus={setFocusedTrue}\n onBlur={setFocusedFalse}\n onClick={noop}\n {...props}\n >\n <VisuallyHidden>{iconLabel}</VisuallyHidden>\n {icon}\n </IconButton>\n );\n\n const showControls = Boolean(\n iconProp || !hideClearButton || (adaptiveDensity.compact && onFindButtonClick),\n );\n\n return (\n <RootComponent\n baseClassName={classNames(\n 'vkuiInternalSearch',\n styles.host,\n density === 'none' && styles.densityNone,\n density === 'compact' && styles.densityCompact,\n isFocused && styles.focused,\n hasValue && styles.hasValue,\n hasAfter && styles.hasAfter,\n iconProp && styles.hasIcon,\n inputRest.disabled && styles.disabled,\n !noPadding && styles.withPadding,\n isRtl && styles.rtl,\n )}\n {...rootRest}\n >\n <div className={styles.field}>\n <label htmlFor={inputId} className={styles.label}>\n {placeholder}\n </label>\n <div className={styles.input}>\n {before}\n <Headline\n Component=\"input\"\n type=\"search\"\n level=\"1\"\n weight=\"3\"\n id={inputId}\n placeholder={placeholder}\n getRootRef={inputRef}\n onChange={callMultiple(onChange, checkHasValue)}\n onFocus={onFocus}\n onBlur={onBlur}\n {...inputRest}\n />\n </div>\n {showControls && (\n <div className={styles.controls}>\n {iconProp &&\n (typeof iconProp === 'function'\n ? iconProp(renderIconButton)\n : renderIconButton(iconProp))}\n {!hideClearButton && (\n <IconButton\n hoverMode=\"opacity\"\n onPointerDown={callMultiple(onIconCancelClickStart, onClearButtonPointerDown)}\n onClick={callMultiple(onCancel, onClearButtonClick)}\n tabIndex={hasValue ? undefined : -1}\n disabled={inputRest.disabled}\n data-testid={clearButtonTestId}\n {...clearButtonRest}\n >\n <VisuallyHidden>{clearLabel}</VisuallyHidden>\n {platform === 'ios' ? <Icon16Clear /> : <Icon24Cancel />}\n </IconButton>\n )}\n {adaptiveDensity.compact && onFindButtonClick && (\n <Button\n mode=\"primary\"\n size=\"m\"\n className={classNames(styles.findButton, adaptiveDensity.compact.className)}\n focusVisibleMode=\"inside\"\n onClick={onFindButtonClick}\n tabIndex={hasValue ? undefined : -1}\n data-testid={findButtonTestId}\n >\n {findButtonText}\n </Button>\n )}\n </div>\n )}\n </div>\n {hasAfter && (\n <div className={styles.after}>\n <Button\n mode=\"tertiary\"\n size=\"m\"\n focusVisibleMode=\"inside\"\n hoverMode=\"opacity\"\n activeMode=\"opacity\"\n onClick={onCancel}\n onFocus={setFocusedTrue}\n onBlur={setFocusedFalse}\n >\n <span className={styles.afterTextClip}>{after}</span>\n </Button>\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Clear","Icon16SearchOutline","Icon24Cancel","classNames","hasReactNode","noop","useAdaptivity","useAdaptivityConditionalRender","useBooleanState","useConfigDirection","useExternRef","useMergeProps","useNativeFormResetListener","usePlatform","callMultiple","touchEnabled","useIsomorphicLayoutEffect","warnOnce","Button","IconButton","RootComponent","Headline","VisuallyHidden","styles","warn","Search","after","before","icon","iconProp","onIconClick","iconLabel","clearLabel","clearButtonTestId","noPadding","findButtonText","onFindButtonClick","findButtonTestId","hideClearButton","getRef","autoComplete","autoCapitalize","autoCorrect","disabled","list","maxLength","minLength","name","pattern","placeholder","placeholderProp","enterKeyHint","readOnly","required","value","form","id","idProp","inputMode","defaultValue","autoFocus","tabIndex","spellCheck","onChange","onChangeProp","onFocus","onFocusProp","onBlur","onBlurProp","slotProps","restProps","process","env","NODE_ENV","direction","isRtl","rootRest","root","getRootRef","getInputRef","onInputFocus","onInputBlur","inputRest","className","nativeInput","input","onClick","onClearButtonClick","onPointerDown","onClearButtonPointerDown","clearButtonRest","clearButton","inputRef","isFocused","setFocusedTrue","setFocusedFalse","generatedId","useId","inputId","hasValue","setHasValue","useState","Boolean","checkHasValue","e","currentTarget","density","adaptiveDensity","platform","hasAfter","onCancel","useCallback","nativeInputValueSetter","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","call","current","ev2","Event","bubbles","dispatchEvent","onIconClickStart","onIconCancelClickStart","preventDefault","focus","undefined","renderIconButton","props","hoverMode","showControls","compact","baseClassName","host","densityNone","densityCompact","focused","hasIcon","withPadding","rtl","div","field","label","htmlFor","Component","type","level","weight","controls","data-testid","mode","size","findButton","focusVisibleMode","activeMode","span","afterTextClip"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Search/Search.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon16SearchOutline, Icon24Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { useBooleanState } from '../../hooks/useBooleanState';\nimport { useConfigDirection } from '../../hooks/useConfigDirection';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { useNativeFormResetListener } from '../../hooks/useNativeFormResetListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { touchEnabled } from '../../lib/touch';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { IconButton, type IconButtonProps } from '../IconButton/IconButton';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport styles from './Search.module.css';\n\nconst warn = warnOnce('Search');\n\nexport type RenderIconButtonFn = (\n icon: React.ReactNode,\n props?: (Partial<IconButtonProps> & HasDataAttribute) | undefined,\n) => React.ReactElement;\n\nexport interface SearchProps\n extends Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n | 'autoComplete'\n | 'autoCapitalize'\n | 'autoCorrect'\n | 'disabled'\n | 'list'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'pattern'\n | 'enterKeyHint'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'value'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLDivElement> {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement> | undefined;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в поле ввода;\n * - `clearButton`: свойства для прокидывания в кнопку очистки.\n */\n slotProps?:\n | {\n root?:\n | (React.HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute)\n | undefined;\n input?: React.InputHTMLAttributes<HTMLInputElement> &\n HasRootRef<HTMLInputElement> &\n HasDataAttribute;\n clearButton?: React.HTMLAttributes<HTMLElement> &\n HasRootRef<HTMLElement> &\n HasDataAttribute;\n }\n | undefined;\n /**\n * Only iOS. Текст кнопки \"отмена\", которая чистит текстовое поле и убирает фокус.\n */\n after?: React.ReactNode | undefined;\n /**\n * Контент, отображаемый перед полем ввода.\n */\n before?: React.ReactNode | undefined;\n /**\n * Иконка поиска. Может быть React-элементом или функцией, возвращающей элемент.\n */\n icon?: React.ReactNode | ((renderFn: RenderIconButtonFn) => React.ReactNode) | undefined;\n /**\n * Обработчик нажатия на иконку поиска.\n */\n onIconClick?: React.PointerEventHandler<HTMLElement> | undefined;\n /**\n * Значение поля ввода по умолчанию.\n */\n defaultValue?: string | undefined;\n /**\n * Текст для скринридеров, описывающий иконку поиска.\n */\n iconLabel?: string | undefined;\n /**\n * Текст для скринридеров, описывающий кнопку очистки.\n */\n clearLabel?: string | undefined;\n /**\n * @deprecated Since 8.1.0. Будет удалено в **VKUI v10**. Вместо этого используйте `slotProps={ clearButton: { 'data-testid': ... } }`.\n *\n * Передает атрибут `data-testid` для кнопки очистки.\n */\n clearButtonTestId?: string | undefined;\n /**\n * Удаляет отступы у компонента.\n */\n noPadding?: boolean | undefined;\n /**\n * Текст для кнопки Найти.\n */\n findButtonText?: string | undefined;\n /**\n * Обработчик, при нажатии на кнопку \"Найти\".\n */\n onFindButtonClick?: React.MouseEventHandler<HTMLElement> | undefined;\n /**\n * Передает атрибут `data-testid` для кнопки поиска.\n */\n findButtonTestId?: string | undefined;\n /**\n * Скрывает кнопку очистки.\n */\n hideClearButton?: boolean | undefined;\n}\n\n/**\n * @see https://vkui.io/components/search\n */\nexport const Search = ({\n // SearchProps\n after = 'Отмена',\n before = <Icon16SearchOutline />,\n icon: iconProp,\n onIconClick,\n iconLabel,\n clearLabel = 'Очистить',\n clearButtonTestId,\n noPadding,\n findButtonText = 'Найти',\n onFindButtonClick,\n findButtonTestId,\n hideClearButton,\n getRef,\n\n // input props\n autoComplete = 'off',\n autoCapitalize,\n autoCorrect,\n disabled,\n list,\n maxLength,\n minLength,\n name,\n pattern,\n placeholder: placeholderProp = 'Поиск',\n enterKeyHint,\n readOnly,\n required,\n value,\n form,\n id: idProp,\n inputMode,\n defaultValue,\n autoFocus,\n tabIndex,\n spellCheck,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n\n slotProps,\n ...restProps\n}: SearchProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development') {\n if (getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n if (clearButtonTestId) {\n warn(\n \"Свойство `clearButtonTestId` устаревшее, используйте `slotProps={ clearButton: { 'data-testid': ... } }`\",\n );\n }\n }\n\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const rootRest = useMergeProps(restProps, slotProps?.root);\n\n const {\n id,\n placeholder,\n getRootRef: getInputRef,\n onChange,\n onFocus: onInputFocus,\n onBlur: onInputBlur,\n ...inputRest\n } = useMergeProps(\n {\n getRootRef: getRef,\n className: styles.nativeInput,\n placeholder: placeholderProp,\n autoComplete,\n autoCapitalize,\n autoCorrect,\n disabled,\n list,\n maxLength,\n minLength,\n name,\n pattern,\n enterKeyHint,\n readOnly,\n required,\n value,\n form,\n id: idProp,\n inputMode,\n defaultValue,\n autoFocus,\n tabIndex,\n spellCheck,\n onChange: onChangeProp,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n },\n slotProps?.input,\n );\n\n const {\n onClick: onClearButtonClick,\n onPointerDown: onClearButtonPointerDown,\n ...clearButtonRest\n } = useMergeProps({ className: styles.icon }, slotProps?.clearButton);\n\n const inputRef = useExternRef(getInputRef);\n const [isFocused, setFocusedTrue, setFocusedFalse] = useBooleanState(false);\n const generatedId = React.useId();\n const inputId = id ? id : `search-${generatedId}`;\n\n const [hasValue, setHasValue] = React.useState<boolean>(() =>\n Boolean(inputRest.value || inputRest.defaultValue),\n );\n const checkHasValue: React.ChangeEventHandler<HTMLInputElement> = (e) =>\n setHasValue(Boolean(e.currentTarget.value));\n\n const { density = 'none' } = useAdaptivity();\n const { density: adaptiveDensity } = useAdaptivityConditionalRender();\n const platform = usePlatform();\n\n const hasAfter = platform === 'ios' && hasReactNode(after);\n\n const onFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedTrue();\n onInputFocus && onInputFocus(e);\n };\n\n const onBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedFalse();\n onInputBlur && onInputBlur(e);\n };\n\n const onCancel = React.useCallback(() => {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n 'value',\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, '');\n\n const ev2 = new Event('input', { bubbles: true });\n inputRef.current?.dispatchEvent(ev2);\n }, [inputRef]);\n\n const onIconClickStart: React.PointerEventHandler<HTMLElement> = React.useCallback(\n (e) => onIconClick?.(e),\n [onIconClick],\n );\n\n const onIconCancelClickStart: React.PointerEventHandler<HTMLElement> = React.useCallback(\n (e) => {\n e.preventDefault();\n inputRef.current?.focus();\n if (touchEnabled()) {\n onCancel();\n }\n },\n [inputRef, onCancel],\n );\n\n useIsomorphicLayoutEffect(() => {\n if (inputRest.value !== undefined) {\n setHasValue(Boolean(inputRest.value));\n }\n }, [inputRest.value]);\n\n useNativeFormResetListener(inputRef, () => {\n setHasValue(Boolean(inputRest.defaultValue));\n });\n\n const renderIconButton: RenderIconButtonFn = (icon, props = {}) => (\n <IconButton\n hoverMode=\"opacity\"\n onPointerDown={onIconClickStart}\n className={styles.icon}\n onFocus={setFocusedTrue}\n onBlur={setFocusedFalse}\n onClick={noop}\n {...props}\n >\n <VisuallyHidden>{iconLabel}</VisuallyHidden>\n {icon}\n </IconButton>\n );\n\n const showControls = Boolean(\n iconProp || !hideClearButton || (adaptiveDensity.compact && onFindButtonClick),\n );\n\n return (\n <RootComponent\n baseClassName={classNames(\n 'vkuiInternalSearch',\n styles.host,\n density === 'none' && styles.densityNone,\n density === 'compact' && styles.densityCompact,\n isFocused && styles.focused,\n hasValue && styles.hasValue,\n hasAfter && styles.hasAfter,\n iconProp && styles.hasIcon,\n inputRest.disabled && styles.disabled,\n !noPadding && styles.withPadding,\n isRtl && styles.rtl,\n )}\n {...rootRest}\n >\n <div className={styles.field}>\n <label htmlFor={inputId} className={styles.label}>\n {placeholder}\n </label>\n <div className={styles.input}>\n {before}\n <Headline\n Component=\"input\"\n type=\"search\"\n level=\"1\"\n weight=\"3\"\n id={inputId}\n placeholder={placeholder}\n getRootRef={inputRef}\n onChange={callMultiple(onChange, checkHasValue)}\n onFocus={onFocus}\n onBlur={onBlur}\n {...inputRest}\n />\n </div>\n {showControls && (\n <div className={styles.controls}>\n {iconProp &&\n (typeof iconProp === 'function'\n ? iconProp(renderIconButton)\n : renderIconButton(iconProp))}\n {!hideClearButton && (\n <IconButton\n hoverMode=\"opacity\"\n onPointerDown={callMultiple(onIconCancelClickStart, onClearButtonPointerDown)}\n onClick={callMultiple(onCancel, onClearButtonClick)}\n tabIndex={hasValue ? undefined : -1}\n disabled={inputRest.disabled}\n data-testid={clearButtonTestId}\n {...clearButtonRest}\n >\n <VisuallyHidden>{clearLabel}</VisuallyHidden>\n {platform === 'ios' ? <Icon16Clear /> : <Icon24Cancel />}\n </IconButton>\n )}\n {adaptiveDensity.compact && onFindButtonClick && (\n <Button\n mode=\"primary\"\n size=\"m\"\n className={classNames(styles.findButton, adaptiveDensity.compact.className)}\n focusVisibleMode=\"inside\"\n onClick={onFindButtonClick}\n tabIndex={hasValue ? undefined : -1}\n data-testid={findButtonTestId}\n >\n {findButtonText}\n </Button>\n )}\n </div>\n )}\n </div>\n {hasAfter && (\n <div className={styles.after}>\n <Button\n mode=\"tertiary\"\n size=\"m\"\n focusVisibleMode=\"inside\"\n hoverMode=\"opacity\"\n activeMode=\"opacity\"\n onClick={onCancel}\n onFocus={setFocusedTrue}\n onBlur={setFocusedFalse}\n >\n <span className={styles.afterTextClip}>{after}</span>\n </Button>\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Clear","Icon16SearchOutline","Icon24Cancel","classNames","hasReactNode","noop","useAdaptivity","useAdaptivityConditionalRender","useBooleanState","useConfigDirection","useExternRef","useMergeProps","useNativeFormResetListener","usePlatform","callMultiple","touchEnabled","useIsomorphicLayoutEffect","warnOnce","Button","IconButton","RootComponent","Headline","VisuallyHidden","styles","warn","Search","after","before","icon","iconProp","onIconClick","iconLabel","clearLabel","clearButtonTestId","noPadding","findButtonText","onFindButtonClick","findButtonTestId","hideClearButton","getRef","autoComplete","autoCapitalize","autoCorrect","disabled","list","maxLength","minLength","name","pattern","placeholder","placeholderProp","enterKeyHint","readOnly","required","value","form","id","idProp","inputMode","defaultValue","autoFocus","tabIndex","spellCheck","onChange","onChangeProp","onFocus","onFocusProp","onBlur","onBlurProp","slotProps","restProps","process","env","NODE_ENV","direction","isRtl","rootRest","root","getRootRef","getInputRef","onInputFocus","onInputBlur","inputRest","className","nativeInput","input","onClick","onClearButtonClick","onPointerDown","onClearButtonPointerDown","clearButtonRest","clearButton","inputRef","isFocused","setFocusedTrue","setFocusedFalse","generatedId","useId","inputId","hasValue","setHasValue","useState","Boolean","checkHasValue","e","currentTarget","density","adaptiveDensity","platform","hasAfter","onCancel","useCallback","nativeInputValueSetter","Object","getOwnPropertyDescriptor","HTMLInputElement","prototype","set","call","current","ev2","Event","bubbles","dispatchEvent","onIconClickStart","onIconCancelClickStart","preventDefault","focus","undefined","renderIconButton","props","hoverMode","showControls","compact","baseClassName","host","densityNone","densityCompact","focused","hasIcon","withPadding","rtl","div","field","label","htmlFor","Component","type","level","weight","controls","data-testid","mode","size","findButton","focusVisibleMode","activeMode","span","afterTextClip"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SegmentedControl/SegmentedControl.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 { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useTabsNavigation } from '../../hooks/useTabsNavigation';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport {\n SegmentedControlOption,\n type SegmentedControlOptionProps,\n} from './SegmentedControlOption/SegmentedControlOption';\nimport styles from './SegmentedControl.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n regular: styles.densityRegular,\n};\n\nexport type SegmentedControlValue = string | number;\n\nexport interface SegmentedControlOptionInterface<\n T extends SegmentedControlValue = SegmentedControlValue,\n> extends Omit<React.HTMLAttributes<HTMLElement>, 'label'> {\n /**\n * Вставляет элемент перед основным контентом.\n * Рекомендуется использовать только иконки с размером 20.\n */\n before?: React.ReactNode;\n /**\n * Текст или React-элемент, отображаемый в качестве метки опции.\n */\n label: React.ReactNode;\n /**\n * Значение опции, которое будет передано в обработчик onChange при выборе.\n */\n value: T;\n}\n\nexport interface SegmentedControlProps<T extends SegmentedControlValue = SegmentedControlValue>\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'> {\n /**\n * Массив опций для отображения в компоненте.\n */\n options: Array<SegmentedControlOptionInterface<T>>;\n /**\n * Размер компонента.\n */\n size?: 'm' | 'l';\n /**\n * Имя для input-элементов внутри компонента.\n */\n name?: string;\n /**\n * Обработчик изменения выбранного значения.\n */\n onChange?: (value: T) => void;\n /**\n * Текущее выбранное значение (для контролируемого компонента).\n */\n value?: T;\n /**\n * Значение по умолчанию (для неконтролируемого компонента).\n */\n defaultValue?: T;\n}\n\nconst warn = warnOnce('SegmentedControl');\n\n/**\n * @see https://vkui.io/components/segmented-control\n */\nexport const SegmentedControl = <T extends SegmentedControlValue = SegmentedControlValue>({\n size = 'l',\n name,\n options,\n defaultValue = options[0]?.value,\n children,\n onChange: onChangeProp,\n value: valueProp,\n role = 'radiogroup',\n ...restProps\n}: SegmentedControlProps<T>): React.ReactNode => {\n const id = React.useId();\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const [value, onChange] = useCustomEnsuredControl({\n onChange: onChangeProp,\n value: valueProp,\n defaultValue,\n });\n\n const { density = 'none' } = useAdaptivity();\n\n const { tabsRef } = useTabsNavigation(role === 'tablist', isRtl);\n\n const actualIndex = options.findIndex((option) => option.value === value);\n\n useIsomorphicLayoutEffect(() => {\n if (actualIndex === -1 && process.env.NODE_ENV === 'development') {\n warn('defaultValue: такого значения нет среди опций!', 'error');\n }\n }, [actualIndex]);\n\n const sliderStyle: CSSCustomProperties = {\n '--vkui_internal--SegmentedControl_actual_index': String(actualIndex),\n '--vkui_internal--SegmentedControl_options': String(options.length),\n };\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n density !== 'compact' && densityClassNames[density],\n size === 'l' && styles.sizeL,\n isRtl && styles.rtl,\n )}\n >\n <div role={role} ref={tabsRef} className={styles.in}>\n {actualIndex > -1 && <div aria-hidden className={styles.slider} style={sliderStyle} />}\n {options.map(({ label, before, ...optionProps }) => {\n const selected = value === optionProps.value;\n const onSelect = () => onChange(optionProps.value);\n const optionRootProps: SegmentedControlOptionProps['rootProps'] =\n role === 'tablist'\n ? {\n 'role': 'tab',\n 'aria-selected': selected,\n 'onClick': onSelect,\n 'tabIndex': optionProps.tabIndex ?? (selected ? 0 : -1),\n ...optionProps,\n }\n : undefined;\n\n const optionInputProps: SegmentedControlOptionProps['inputProps'] =\n role !== 'tablist'\n ? {\n role: optionProps.role || (role === 'radiogroup' ? 'radio' : undefined),\n checked: selected,\n onChange: onSelect,\n name: name ?? id,\n ...optionProps,\n }\n : undefined;\n\n return (\n <SegmentedControlOption\n key={`${optionProps.value}`}\n before={before}\n rootProps={optionRootProps}\n inputProps={optionInputProps}\n >\n {label}\n </SegmentedControlOption>\n );\n })}\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useConfigDirection","useCustomEnsuredControl","useTabsNavigation","useIsomorphicLayoutEffect","warnOnce","RootComponent","SegmentedControlOption","styles","densityClassNames","none","densityNone","regular","densityRegular","warn","SegmentedControl","size","name","options","defaultValue","value","children","onChange","onChangeProp","valueProp","role","restProps","id","useId","direction","isRtl","density","tabsRef","actualIndex","findIndex","option","process","env","NODE_ENV","sliderStyle","String","length","baseClassName","host","sizeL","rtl","div","ref","className","in","aria-hidden","slider","style","map","label","before","optionProps","selected","onSelect","optionRootProps","tabIndex","undefined","optionInputProps","checked","rootProps","inputProps"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/SegmentedControl/SegmentedControl.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 { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useTabsNavigation } from '../../hooks/useTabsNavigation';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport {\n SegmentedControlOption,\n type SegmentedControlOptionProps,\n} from './SegmentedControlOption/SegmentedControlOption';\nimport styles from './SegmentedControl.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n regular: styles.densityRegular,\n};\n\nexport type SegmentedControlValue = string | number;\n\nexport interface SegmentedControlOptionInterface<\n T extends SegmentedControlValue = SegmentedControlValue,\n> extends Omit<React.HTMLAttributes<HTMLElement>, 'label'> {\n /**\n * Вставляет элемент перед основным контентом.\n * Рекомендуется использовать только иконки с размером 20.\n */\n before?: React.ReactNode | undefined;\n /**\n * Текст или React-элемент, отображаемый в качестве метки опции.\n */\n label: React.ReactNode;\n /**\n * Значение опции, которое будет передано в обработчик onChange при выборе.\n */\n value: T;\n}\n\nexport interface SegmentedControlProps<T extends SegmentedControlValue = SegmentedControlValue>\n extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'onChange'> {\n /**\n * Массив опций для отображения в компоненте.\n */\n options: Array<SegmentedControlOptionInterface<T>>;\n /**\n * Размер компонента.\n */\n size?: 'm' | 'l' | undefined;\n /**\n * Имя для input-элементов внутри компонента.\n */\n name?: string | undefined;\n /**\n * Обработчик изменения выбранного значения.\n */\n onChange?: ((value: T) => void) | undefined;\n /**\n * Текущее выбранное значение (для контролируемого компонента).\n */\n value?: T | undefined;\n /**\n * Значение по умолчанию (для неконтролируемого компонента).\n */\n defaultValue?: T | undefined;\n}\n\nconst warn = warnOnce('SegmentedControl');\n\n/**\n * @see https://vkui.io/components/segmented-control\n */\nexport const SegmentedControl = <T extends SegmentedControlValue = SegmentedControlValue>({\n size = 'l',\n name,\n options,\n defaultValue = options[0]?.value,\n children,\n onChange: onChangeProp,\n value: valueProp,\n role = 'radiogroup',\n ...restProps\n}: SegmentedControlProps<T>): React.ReactNode => {\n const id = React.useId();\n const direction = useConfigDirection();\n const isRtl = direction === 'rtl';\n\n const [value, onChange] = useCustomEnsuredControl({\n onChange: onChangeProp,\n value: valueProp,\n defaultValue,\n });\n\n const { density = 'none' } = useAdaptivity();\n\n const { tabsRef } = useTabsNavigation(role === 'tablist', isRtl);\n\n const actualIndex = options.findIndex((option) => option.value === value);\n\n useIsomorphicLayoutEffect(() => {\n if (actualIndex === -1 && process.env.NODE_ENV === 'development') {\n warn('defaultValue: такого значения нет среди опций!', 'error');\n }\n }, [actualIndex]);\n\n const sliderStyle: CSSCustomProperties = {\n '--vkui_internal--SegmentedControl_actual_index': String(actualIndex),\n '--vkui_internal--SegmentedControl_options': String(options.length),\n };\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(\n styles.host,\n density !== 'compact' && densityClassNames[density],\n size === 'l' && styles.sizeL,\n isRtl && styles.rtl,\n )}\n >\n <div role={role} ref={tabsRef} className={styles.in}>\n {actualIndex > -1 && <div aria-hidden className={styles.slider} style={sliderStyle} />}\n {options.map(({ label, before, ...optionProps }) => {\n const selected = value === optionProps.value;\n const onSelect = () => onChange(optionProps.value);\n const optionRootProps: SegmentedControlOptionProps['rootProps'] =\n role === 'tablist'\n ? {\n 'role': 'tab',\n 'aria-selected': selected,\n 'onClick': onSelect,\n 'tabIndex': optionProps.tabIndex ?? (selected ? 0 : -1),\n ...optionProps,\n }\n : undefined;\n\n const optionInputProps: SegmentedControlOptionProps['inputProps'] =\n role !== 'tablist'\n ? {\n role: optionProps.role || (role === 'radiogroup' ? 'radio' : undefined),\n checked: selected,\n onChange: onSelect,\n name: name ?? id,\n ...optionProps,\n }\n : undefined;\n\n return (\n <SegmentedControlOption\n key={`${optionProps.value}`}\n before={before}\n rootProps={optionRootProps}\n inputProps={optionInputProps}\n >\n {label}\n </SegmentedControlOption>\n );\n })}\n </div>\n </RootComponent>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useConfigDirection","useCustomEnsuredControl","useTabsNavigation","useIsomorphicLayoutEffect","warnOnce","RootComponent","SegmentedControlOption","styles","densityClassNames","none","densityNone","regular","densityRegular","warn","SegmentedControl","size","name","options","defaultValue","value","children","onChange","onChangeProp","valueProp","role","restProps","id","useId","direction","isRtl","density","tabsRef","actualIndex","findIndex","option","process","env","NODE_ENV","sliderStyle","String","length","baseClassName","host","sizeL","rtl","div","ref","className","in","aria-hidden","slider","style","map","label","before","optionProps","selected","onSelect","optionRootProps","tabIndex","undefined","optionInputProps","checked","rootProps","inputProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport type * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport type { HasChildren, HasRef, HasRootRef } from '../../../types';\nimport { Clickable } from '../../Clickable/Clickable';\nimport { Headline } from '../../Typography/Headline/Headline';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './SegmentedControlOption.module.css';\n\nexport interface SegmentedControlOptionProps\n extends HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement>,\n HasChildren {\n rootProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n before?: React.ReactNode;\n}\n\nexport const SegmentedControlOption = ({\n getRef,\n children,\n getRootRef,\n before,\n rootProps,\n inputProps,\n}: SegmentedControlOptionProps): React.ReactNode => (\n <Clickable\n Component=\"label\"\n baseClassName={styles.host}\n hoverClassName={styles.hover}\n activeClassName={styles.hover}\n getRootRef={getRootRef}\n {...rootProps}\n >\n {inputProps && (\n <VisuallyHidden {...inputProps} Component=\"input\" getRootRef={getRef} type=\"radio\" />\n )}\n {hasReactNode(before) && <div className={styles.before}>{before}</div>}\n <Headline level=\"2\" weight=\"2\">\n {children}\n </Headline>\n </Clickable>\n);\n"],"names":["hasReactNode","Clickable","Headline","VisuallyHidden","styles","SegmentedControlOption","getRef","children","getRootRef","before","rootProps","inputProps","Component","baseClassName","host","hoverClassName","hover","activeClassName","type","div","className","level","weight"],"mappings":"AAAA;;AAIA,SAASA,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,SAAS,QAAQ,+BAA4B;AACtD,SAASC,QAAQ,QAAQ,wCAAqC;AAC9D,SAASC,cAAc,QAAQ,yCAAsC;AACrE,OAAOC,YAAY,sCAAsC;AAWzD,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,UAAU,EACkB,iBAC5B,MAACV;QACCW,WAAU;QACVC,eAAeT,OAAOU,IAAI;QAC1BC,gBAAgBX,OAAOY,KAAK;QAC5BC,iBAAiBb,OAAOY,KAAK;QAC7BR,YAAYA;QACX,GAAGE,SAAS;;YAEZC,4BACC,KAACR;gBAAgB,GAAGQ,UAAU;gBAAEC,WAAU;gBAAQJ,YAAYF;gBAAQY,MAAK;;YAE5ElB,aAAaS,yBAAW,KAACU;gBAAIC,WAAWhB,OAAOK,MAAM;0BAAGA;;0BACzD,KAACP;gBAASmB,OAAM;gBAAIC,QAAO;0BACxBf;;;OAGL"}
1
+ {"version":3,"sources":["../../../../../src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport type * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport type { HasChildren, HasRef, HasRootRef } from '../../../types';\nimport { Clickable } from '../../Clickable/Clickable';\nimport { Headline } from '../../Typography/Headline/Headline';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport styles from './SegmentedControlOption.module.css';\n\nexport interface SegmentedControlOptionProps\n extends HasRootRef<HTMLLabelElement>,\n HasRef<HTMLInputElement>,\n HasChildren {\n rootProps?: React.LabelHTMLAttributes<HTMLLabelElement> | undefined;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\n before?: React.ReactNode | undefined;\n}\n\nexport const SegmentedControlOption = ({\n getRef,\n children,\n getRootRef,\n before,\n rootProps,\n inputProps,\n}: SegmentedControlOptionProps): React.ReactNode => (\n <Clickable\n Component=\"label\"\n baseClassName={styles.host}\n hoverClassName={styles.hover}\n activeClassName={styles.hover}\n getRootRef={getRootRef}\n {...rootProps}\n >\n {inputProps && (\n <VisuallyHidden {...inputProps} Component=\"input\" getRootRef={getRef} type=\"radio\" />\n )}\n {hasReactNode(before) && <div className={styles.before}>{before}</div>}\n <Headline level=\"2\" weight=\"2\">\n {children}\n </Headline>\n </Clickable>\n);\n"],"names":["hasReactNode","Clickable","Headline","VisuallyHidden","styles","SegmentedControlOption","getRef","children","getRootRef","before","rootProps","inputProps","Component","baseClassName","host","hoverClassName","hover","activeClassName","type","div","className","level","weight"],"mappings":"AAAA;;AAIA,SAASA,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,SAAS,QAAQ,+BAA4B;AACtD,SAASC,QAAQ,QAAQ,wCAAqC;AAC9D,SAASC,cAAc,QAAQ,yCAAsC;AACrE,OAAOC,YAAY,sCAAsC;AAWzD,OAAO,MAAMC,yBAAyB,CAAC,EACrCC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,UAAU,EACkB,iBAC5B,MAACV;QACCW,WAAU;QACVC,eAAeT,OAAOU,IAAI;QAC1BC,gBAAgBX,OAAOY,KAAK;QAC5BC,iBAAiBb,OAAOY,KAAK;QAC7BR,YAAYA;QACX,GAAGE,SAAS;;YAEZC,4BACC,KAACR;gBAAgB,GAAGQ,UAAU;gBAAEC,WAAU;gBAAQJ,YAAYF;gBAAQY,MAAK;;YAE5ElB,aAAaS,yBAAW,KAACU;gBAAIC,WAAWhB,OAAOK,MAAM;0BAAGA;;0BACzD,KAACP;gBAASmB,OAAM;gBAAIC,QAAO;0BACxBf;;;OAGL"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAutoFocus } from '../../hooks/useAutoFocus';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { getFormFieldModeFromSelectType } from '../../lib/select';\nimport type { HasAlign, HasRootRef } from '../../types';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport styles from '../Select/Select.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface SelectMimicryProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasAlign,\n Pick<FormFieldProps, 'before' | 'after' | 'status'> {\n /**\n * Включает многострочный режим отображения.\n */\n multiline?: boolean;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n /**\n * Тип селекта, влияющий на внешний вид компонента.\n */\n selectType?: SelectType;\n}\n\n/**\n * @see https://vkui.io/components/select-mimicry\n */\nexport const SelectMimicry = ({\n tabIndex = 0,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n before,\n after = <DropdownIcon />,\n selectType = 'default',\n status,\n className,\n autoFocus,\n ...restProps\n}: SelectMimicryProps): React.ReactNode => {\n const rootRef = useExternRef(getRootRef);\n\n const { density = 'none' } = useAdaptivity();\n const title = children || placeholder;\n\n useAutoFocus(rootRef, autoFocus);\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n className={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n !children && styles.empty,\n multiline && styles.multiline,\n align === 'center' && styles.alignCenter,\n align === 'right' && styles.alignRight,\n before && styles.hasBefore,\n className,\n )}\n getRootRef={rootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n before={before}\n after={after}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles.container}>\n <SelectTypography selectType={selectType} className={styles.title}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n"],"names":["classNames","useAdaptivity","useAutoFocus","useExternRef","getFormFieldModeFromSelectType","DropdownIcon","FormField","SelectTypography","styles","densityClassNames","none","densityNone","compact","densityCompact","SelectMimicry","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","before","after","selectType","status","className","autoFocus","restProps","rootRef","density","title","undefined","host","empty","alignCenter","alignRight","hasBefore","mode","div","container"],"mappings":"AAAA;;AAGA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,8BAA8B,QAAQ,sBAAmB;AAElE,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,SAAS,QAA6B,4BAAyB;AAExE,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,OAAOC,YAAY,8BAA8B;AAEjD,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAqBA;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,WAAW,CAAC,EACZC,WAAW,EACXC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,sBAAQ,KAACnB,iBAAe,EACxBoB,aAAa,SAAS,EACtBC,MAAM,EACNC,SAAS,EACTC,SAAS,EACT,GAAGC,WACgB;IACnB,MAAMC,UAAU3B,aAAagB;IAE7B,MAAM,EAAEY,UAAU,MAAM,EAAE,GAAG9B;IAC7B,MAAM+B,QAAQf,YAAYD;IAE1Bd,aAAa4B,SAASF;IAEtB,qBACE,KAACtB;QACE,GAAGuB,SAAS;QACbd,UAAUM,WAAWY,YAAYlB;QACjCY,WAAW3B,WACTQ,OAAO0B,IAAI,EACXH,YAAY,aAAatB,iBAAiB,CAACsB,QAAQ,EACnD,CAACd,YAAYT,OAAO2B,KAAK,EACzBf,aAAaZ,OAAOY,SAAS,EAC7BF,UAAU,YAAYV,OAAO4B,WAAW,EACxClB,UAAU,WAAWV,OAAO6B,UAAU,EACtCd,UAAUf,OAAO8B,SAAS,EAC1BX;QAEFR,YAAYW;QACZR,SAASD,WAAWY,YAAYX;QAChCD,UAAUA;QACVE,QAAQA;QACRC,OAAOA;QACPe,MAAMnC,+BAA+BqB;QACrCC,QAAQA;kBAER,cAAA,KAACc;YAAIb,WAAWnB,OAAOiC,SAAS;sBAC9B,cAAA,KAAClC;gBAAiBkB,YAAYA;gBAAYE,WAAWnB,OAAOwB,KAAK;0BAC9DA;;;;AAKX,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/SelectMimicry/SelectMimicry.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAutoFocus } from '../../hooks/useAutoFocus';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { getFormFieldModeFromSelectType } from '../../lib/select';\nimport type { HasAlign, HasRootRef } from '../../types';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport styles from '../Select/Select.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface SelectMimicryProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasAlign,\n Pick<FormFieldProps, 'before' | 'after' | 'status'> {\n /**\n * Включает многострочный режим отображения.\n */\n multiline?: boolean | undefined;\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean | undefined;\n /**\n * Тип селекта, влияющий на внешний вид компонента.\n */\n selectType?: SelectType | undefined;\n}\n\n/**\n * @see https://vkui.io/components/select-mimicry\n */\nexport const SelectMimicry = ({\n tabIndex = 0,\n placeholder,\n children,\n align,\n getRootRef,\n multiline,\n disabled,\n onClick,\n before,\n after = <DropdownIcon />,\n selectType = 'default',\n status,\n className,\n autoFocus,\n ...restProps\n}: SelectMimicryProps): React.ReactNode => {\n const rootRef = useExternRef(getRootRef);\n\n const { density = 'none' } = useAdaptivity();\n const title = children || placeholder;\n\n useAutoFocus(rootRef, autoFocus);\n\n return (\n <FormField\n {...restProps}\n tabIndex={disabled ? undefined : tabIndex}\n className={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n !children && styles.empty,\n multiline && styles.multiline,\n align === 'center' && styles.alignCenter,\n align === 'right' && styles.alignRight,\n before && styles.hasBefore,\n className,\n )}\n getRootRef={rootRef}\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n before={before}\n after={after}\n mode={getFormFieldModeFromSelectType(selectType)}\n status={status}\n >\n <div className={styles.container}>\n <SelectTypography selectType={selectType} className={styles.title}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n"],"names":["classNames","useAdaptivity","useAutoFocus","useExternRef","getFormFieldModeFromSelectType","DropdownIcon","FormField","SelectTypography","styles","densityClassNames","none","densityNone","compact","densityCompact","SelectMimicry","tabIndex","placeholder","children","align","getRootRef","multiline","disabled","onClick","before","after","selectType","status","className","autoFocus","restProps","rootRef","density","title","undefined","host","empty","alignCenter","alignRight","hasBefore","mode","div","container"],"mappings":"AAAA;;AAGA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,8BAA8B,QAAQ,sBAAmB;AAElE,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,SAAS,QAA6B,4BAAyB;AAExE,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,OAAOC,YAAY,8BAA8B;AAEjD,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAqBA;;CAEC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,WAAW,CAAC,EACZC,WAAW,EACXC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,sBAAQ,KAACnB,iBAAe,EACxBoB,aAAa,SAAS,EACtBC,MAAM,EACNC,SAAS,EACTC,SAAS,EACT,GAAGC,WACgB;IACnB,MAAMC,UAAU3B,aAAagB;IAE7B,MAAM,EAAEY,UAAU,MAAM,EAAE,GAAG9B;IAC7B,MAAM+B,QAAQf,YAAYD;IAE1Bd,aAAa4B,SAASF;IAEtB,qBACE,KAACtB;QACE,GAAGuB,SAAS;QACbd,UAAUM,WAAWY,YAAYlB;QACjCY,WAAW3B,WACTQ,OAAO0B,IAAI,EACXH,YAAY,aAAatB,iBAAiB,CAACsB,QAAQ,EACnD,CAACd,YAAYT,OAAO2B,KAAK,EACzBf,aAAaZ,OAAOY,SAAS,EAC7BF,UAAU,YAAYV,OAAO4B,WAAW,EACxClB,UAAU,WAAWV,OAAO6B,UAAU,EACtCd,UAAUf,OAAO8B,SAAS,EAC1BX;QAEFR,YAAYW;QACZR,SAASD,WAAWY,YAAYX;QAChCD,UAAUA;QACVE,QAAQA;QACRC,OAAOA;QACPe,MAAMnC,+BAA+BqB;QACrCC,QAAQA;kBAER,cAAA,KAACc;YAAIb,WAAWnB,OAAOiC,SAAS;sBAC9B,cAAA,KAAClC;gBAAiBkB,YAAYA;gBAAYE,WAAWnB,OAAOwB,KAAK;0BAC9DA;;;;AAKX,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectTypography/SelectTypography.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport type { SelectType } from '../Select/Select';\nimport { Text, type TextProps } from '../Typography/Text/Text';\n\nexport interface SelectTypographyProps extends TextProps {\n selectType?: SelectType;\n}\n\n/**\n * @private\n */\nexport const SelectTypography = ({\n selectType = 'default',\n children,\n ...restProps\n}: SelectTypographyProps): React.ReactNode => {\n return (\n <Text weight={selectType === 'accent' ? '2' : '3'} {...restProps}>\n {children}\n </Text>\n );\n};\n"],"names":["Text","SelectTypography","selectType","children","restProps","weight"],"mappings":"AAAA,sCAAsC;AAGtC,SAASA,IAAI,QAAwB,6BAA0B;AAM/D;;CAEC,GACD,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,aAAa,SAAS,EACtBC,QAAQ,EACR,GAAGC,WACmB;IACtB,qBACE,KAACJ;QAAKK,QAAQH,eAAe,WAAW,MAAM;QAAM,GAAGE,SAAS;kBAC7DD;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/SelectTypography/SelectTypography.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport type { SelectType } from '../Select/Select';\nimport { Text, type TextProps } from '../Typography/Text/Text';\n\nexport interface SelectTypographyProps extends TextProps {\n selectType?: SelectType | undefined;\n}\n\n/**\n * @private\n */\nexport const SelectTypography = ({\n selectType = 'default',\n children,\n ...restProps\n}: SelectTypographyProps): React.ReactNode => {\n return (\n <Text weight={selectType === 'accent' ? '2' : '3'} {...restProps}>\n {children}\n </Text>\n );\n};\n"],"names":["Text","SelectTypography","selectType","children","restProps","weight"],"mappings":"AAAA,sCAAsC;AAGtC,SAASA,IAAI,QAAwB,6BAA0B;AAM/D;;CAEC,GACD,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,aAAa,SAAS,EACtBC,QAAQ,EACR,GAAGC,WACmB;IACtB,qBACE,KAACJ;QAAKK,QAAQH,eAAe,WAAW,MAAM;QAAM,GAAGE,SAAS;kBAC7DD;;AAGP,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectionControl/SelectionControl.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasComponent, HasRootRef } from '../../types';\nimport { DEFAULT_ACTIVE_EFFECT_DELAY } from '../Clickable/useState';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { SelectionControlContext } from './SelectionControlContext';\nimport { SelectionControlLabel } from './SelectionControlLabel/SelectionControlLabel';\nimport styles from './SelectionControl.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface SelectionControlProps\n extends React.ComponentProps<'label'>,\n HasRootRef<HTMLLabelElement>,\n HasComponent,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode' | 'disabled'\n > {\n /**\n * Отключает отступы. При использовании этого свойства, значение по умолчанию для свойств `hoverMode` и `activeMode` становится `\"opacity\"`.\n */\n noPadding?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/selection-control\n */\nexport const SelectionControl = ({\n noPadding = false,\n hoverMode: hoverModeProp,\n activeMode: activeModeProp,\n ...restProps\n}: SelectionControlProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n const hoverMode = hoverModeProp || (noPadding ? 'opacity' : 'background');\n const activeMode = activeModeProp || (noPadding ? 'opacity' : 'background');\n\n return (\n <SelectionControlContext.Provider value={{ noPadding }}>\n <Tappable\n Component=\"label\"\n baseClassName={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n !noPadding && styles.withPadding,\n )}\n activeEffectDelay={platform === 'ios' ? 100 : DEFAULT_ACTIVE_EFFECT_DELAY}\n hoverMode={hoverMode}\n activeMode={activeMode}\n {...restProps}\n />\n </SelectionControlContext.Provider>\n );\n};\n\nSelectionControl.Label = SelectionControlLabel;\n"],"names":["classNames","useAdaptivity","usePlatform","DEFAULT_ACTIVE_EFFECT_DELAY","Tappable","SelectionControlContext","SelectionControlLabel","styles","densityClassNames","none","densityNone","compact","densityCompact","SelectionControl","noPadding","hoverMode","hoverModeProp","activeMode","activeModeProp","restProps","density","platform","Provider","value","Component","baseClassName","host","withPadding","activeEffectDelay","Label"],"mappings":"AAAA;;AAGA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,2BAA2B,QAAQ,2BAAwB;AACpE,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,uBAAuB,QAAQ,+BAA4B;AACpE,SAASC,qBAAqB,QAAQ,mDAAgD;AACtF,OAAOC,YAAY,gCAAgC;AAEnD,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAgBA;;CAEC,GACD,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,YAAY,KAAK,EACjBC,WAAWC,aAAa,EACxBC,YAAYC,cAAc,EAC1B,GAAGC,WACmB;IACtB,MAAM,EAAEC,UAAU,MAAM,EAAE,GAAGnB;IAC7B,MAAMoB,WAAWnB;IAEjB,MAAMa,YAAYC,iBAAkBF,CAAAA,YAAY,YAAY,YAAW;IACvE,MAAMG,aAAaC,kBAAmBJ,CAAAA,YAAY,YAAY,YAAW;IAEzE,qBACE,KAACT,wBAAwBiB,QAAQ;QAACC,OAAO;YAAET;QAAU;kBACnD,cAAA,KAACV;YACCoB,WAAU;YACVC,eAAezB,WACbO,OAAOmB,IAAI,EACXN,YAAY,aAAaZ,iBAAiB,CAACY,QAAQ,EACnD,CAACN,aAAaP,OAAOoB,WAAW;YAElCC,mBAAmBP,aAAa,QAAQ,MAAMlB;YAC9CY,WAAWA;YACXE,YAAYA;YACX,GAAGE,SAAS;;;AAIrB,EAAE;AAEFN,iBAAiBgB,KAAK,GAAGvB"}
1
+ {"version":3,"sources":["../../../../src/components/SelectionControl/SelectionControl.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasComponent, HasRootRef } from '../../types';\nimport { DEFAULT_ACTIVE_EFFECT_DELAY } from '../Clickable/useState';\nimport { Tappable, type TappableOmitProps } from '../Tappable/Tappable';\nimport { SelectionControlContext } from './SelectionControlContext';\nimport { SelectionControlLabel } from './SelectionControlLabel/SelectionControlLabel';\nimport styles from './SelectionControl.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport interface SelectionControlProps\n extends React.ComponentProps<'label'>,\n HasRootRef<HTMLLabelElement>,\n HasComponent,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode' | 'disabled'\n > {\n /**\n * Отключает отступы. При использовании этого свойства, значение по умолчанию для свойств `hoverMode` и `activeMode` становится `\"opacity\"`.\n */\n noPadding?: boolean | undefined;\n}\n\n/**\n * @see https://vkui.io/components/selection-control\n */\nexport const SelectionControl = ({\n noPadding = false,\n hoverMode: hoverModeProp,\n activeMode: activeModeProp,\n ...restProps\n}: SelectionControlProps): React.ReactNode => {\n const { density = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n const hoverMode = hoverModeProp || (noPadding ? 'opacity' : 'background');\n const activeMode = activeModeProp || (noPadding ? 'opacity' : 'background');\n\n return (\n <SelectionControlContext.Provider value={{ noPadding }}>\n <Tappable\n Component=\"label\"\n baseClassName={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n !noPadding && styles.withPadding,\n )}\n activeEffectDelay={platform === 'ios' ? 100 : DEFAULT_ACTIVE_EFFECT_DELAY}\n hoverMode={hoverMode}\n activeMode={activeMode}\n {...restProps}\n />\n </SelectionControlContext.Provider>\n );\n};\n\nSelectionControl.Label = SelectionControlLabel;\n"],"names":["classNames","useAdaptivity","usePlatform","DEFAULT_ACTIVE_EFFECT_DELAY","Tappable","SelectionControlContext","SelectionControlLabel","styles","densityClassNames","none","densityNone","compact","densityCompact","SelectionControl","noPadding","hoverMode","hoverModeProp","activeMode","activeModeProp","restProps","density","platform","Provider","value","Component","baseClassName","host","withPadding","activeEffectDelay","Label"],"mappings":"AAAA;;AAGA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,2BAA2B,QAAQ,2BAAwB;AACpE,SAASC,QAAQ,QAAgC,0BAAuB;AACxE,SAASC,uBAAuB,QAAQ,+BAA4B;AACpE,SAASC,qBAAqB,QAAQ,mDAAgD;AACtF,OAAOC,YAAY,gCAAgC;AAEnD,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAgBA;;CAEC,GACD,OAAO,MAAMC,mBAAmB,CAAC,EAC/BC,YAAY,KAAK,EACjBC,WAAWC,aAAa,EACxBC,YAAYC,cAAc,EAC1B,GAAGC,WACmB;IACtB,MAAM,EAAEC,UAAU,MAAM,EAAE,GAAGnB;IAC7B,MAAMoB,WAAWnB;IAEjB,MAAMa,YAAYC,iBAAkBF,CAAAA,YAAY,YAAY,YAAW;IACvE,MAAMG,aAAaC,kBAAmBJ,CAAAA,YAAY,YAAY,YAAW;IAEzE,qBACE,KAACT,wBAAwBiB,QAAQ;QAACC,OAAO;YAAET;QAAU;kBACnD,cAAA,KAACV;YACCoB,WAAU;YACVC,eAAezB,WACbO,OAAOmB,IAAI,EACXN,YAAY,aAAaZ,iBAAiB,CAACY,QAAQ,EACnD,CAACN,aAAaP,OAAOoB,WAAW;YAElCC,mBAAmBP,aAAa,QAAQ,MAAMlB;YAC9CY,WAAWA;YACXE,YAAYA;YACX,GAAGE,SAAS;;;AAIrB,EAAE;AAEFN,iBAAiBgB,KAAK,GAAGvB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { Footnote } from '../../Typography/Footnote/Footnote';\nimport { Text } from '../../Typography/Text/Text';\nimport { useSelectionControlContext } from '../SelectionControlContext';\nimport styles from './SelectionControlLabel.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\ninterface SelectionControlLabelProps extends React.ComponentProps<'div'> {\n description?: React.ReactNode;\n titleAfter?: React.ReactNode;\n}\n\nexport function SelectionControlLabel({\n children,\n titleAfter,\n description,\n ...restProps\n}: SelectionControlLabelProps) {\n const { noPadding } = useSelectionControlContext();\n const { density = 'none' } = useAdaptivity();\n\n return (\n <RootComponent\n baseClassName={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n !noPadding && styles.withPadding,\n )}\n {...restProps}\n >\n <div className={styles.titleLayout}>\n <Text className={styles.title}>{children}</Text>\n <div className={styles.titleAfter}>{titleAfter}</div>\n </div>\n {hasReactNode(description) && (\n <Footnote className={styles.description}>{description}</Footnote>\n )}\n </RootComponent>\n );\n}\n"],"names":["classNames","hasReactNode","useAdaptivity","RootComponent","Footnote","Text","useSelectionControlContext","styles","densityClassNames","none","densityNone","compact","densityCompact","SelectionControlLabel","children","titleAfter","description","restProps","noPadding","density","baseClassName","host","withPadding","div","className","titleLayout","title"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,SAASA,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,aAAa,QAAQ,uCAAoC;AAClE,SAASC,QAAQ,QAAQ,wCAAqC;AAC9D,SAASC,IAAI,QAAQ,gCAA6B;AAClD,SAASC,0BAA0B,QAAQ,gCAA6B;AACxE,OAAOC,YAAY,qCAAqC;AAExD,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAOA,OAAO,SAASC,sBAAsB,EACpCC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACX,GAAGC,WACwB;IAC3B,MAAM,EAAEC,SAAS,EAAE,GAAGZ;IACtB,MAAM,EAAEa,UAAU,MAAM,EAAE,GAAGjB;IAE7B,qBACE,MAACC;QACCiB,eAAepB,WACbO,OAAOc,IAAI,EACXF,YAAY,aAAaX,iBAAiB,CAACW,QAAQ,EACnD,CAACD,aAAaX,OAAOe,WAAW;QAEjC,GAAGL,SAAS;;0BAEb,MAACM;gBAAIC,WAAWjB,OAAOkB,WAAW;;kCAChC,KAACpB;wBAAKmB,WAAWjB,OAAOmB,KAAK;kCAAGZ;;kCAChC,KAACS;wBAAIC,WAAWjB,OAAOQ,UAAU;kCAAGA;;;;YAErCd,aAAae,8BACZ,KAACZ;gBAASoB,WAAWjB,OAAOS,WAAW;0BAAGA;;;;AAIlD"}
1
+ {"version":3,"sources":["../../../../../src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { Footnote } from '../../Typography/Footnote/Footnote';\nimport { Text } from '../../Typography/Text/Text';\nimport { useSelectionControlContext } from '../SelectionControlContext';\nimport styles from './SelectionControlLabel.module.css';\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\ninterface SelectionControlLabelProps extends React.ComponentProps<'div'> {\n description?: React.ReactNode | undefined;\n titleAfter?: React.ReactNode | undefined;\n}\n\nexport function SelectionControlLabel({\n children,\n titleAfter,\n description,\n ...restProps\n}: SelectionControlLabelProps) {\n const { noPadding } = useSelectionControlContext();\n const { density = 'none' } = useAdaptivity();\n\n return (\n <RootComponent\n baseClassName={classNames(\n styles.host,\n density !== 'regular' && densityClassNames[density],\n !noPadding && styles.withPadding,\n )}\n {...restProps}\n >\n <div className={styles.titleLayout}>\n <Text className={styles.title}>{children}</Text>\n <div className={styles.titleAfter}>{titleAfter}</div>\n </div>\n {hasReactNode(description) && (\n <Footnote className={styles.description}>{description}</Footnote>\n )}\n </RootComponent>\n );\n}\n"],"names":["classNames","hasReactNode","useAdaptivity","RootComponent","Footnote","Text","useSelectionControlContext","styles","densityClassNames","none","densityNone","compact","densityCompact","SelectionControlLabel","children","titleAfter","description","restProps","noPadding","density","baseClassName","host","withPadding","div","className","titleLayout","title"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,SAASA,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,aAAa,QAAQ,uCAAoC;AAClE,SAASC,QAAQ,QAAQ,wCAAqC;AAC9D,SAASC,IAAI,QAAQ,gCAA6B;AAClD,SAASC,0BAA0B,QAAQ,gCAA6B;AACxE,OAAOC,YAAY,qCAAqC;AAExD,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAOA,OAAO,SAASC,sBAAsB,EACpCC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACX,GAAGC,WACwB;IAC3B,MAAM,EAAEC,SAAS,EAAE,GAAGZ;IACtB,MAAM,EAAEa,UAAU,MAAM,EAAE,GAAGjB;IAE7B,qBACE,MAACC;QACCiB,eAAepB,WACbO,OAAOc,IAAI,EACXF,YAAY,aAAaX,iBAAiB,CAACW,QAAQ,EACnD,CAACD,aAAaX,OAAOe,WAAW;QAEjC,GAAGL,SAAS;;0BAEb,MAACM;gBAAIC,WAAWjB,OAAOkB,WAAW;;kCAChC,KAACpB;wBAAKmB,WAAWjB,OAAOmB,KAAK;kCAAGZ;;kCAChC,KAACS;wBAAIC,WAAWjB,OAAOQ,UAAU;kCAAGA;;;;YAErCd,aAAae,8BACZ,KAACZ;gBAASoB,WAAWjB,OAAOS,WAAW;0BAAGA;;;;AAIlD"}