@vkontakte/vkui 8.0.2 → 8.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1386) 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 +69 -6
  135. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  136. package/dist/components/CellButton/CellButton.js +115 -6
  137. package/dist/components/CellButton/CellButton.js.map +1 -1
  138. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +2 -2
  139. package/dist/components/Checkbox/Checkbox.d.ts +6 -6
  140. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  141. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  142. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +11 -11
  143. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  144. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  145. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  146. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  147. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  148. package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
  149. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  150. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  151. package/dist/components/ChipsInputBase/Chip/Chip.d.ts +9 -9
  152. package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
  153. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  154. package/dist/components/ChipsInputBase/types.d.ts +19 -19
  155. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  156. package/dist/components/ChipsInputBase/types.js.map +1 -1
  157. package/dist/components/ChipsSelect/ChipsSelect.d.ts +13 -13
  158. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  159. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  160. package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  161. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  162. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  163. package/dist/components/Clickable/Clickable.d.ts +1 -1
  164. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  165. package/dist/components/Clickable/Clickable.js.map +1 -1
  166. package/dist/components/Clickable/useState.d.ts +13 -13
  167. package/dist/components/Clickable/useState.d.ts.map +1 -1
  168. package/dist/components/Clickable/useState.js.map +1 -1
  169. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  170. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  171. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  172. package/dist/components/ContentBadge/ContentBadge.d.ts +4 -4
  173. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  174. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  175. package/dist/components/ContentCard/ContentCard.d.ts +8 -8
  176. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  177. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  178. package/dist/components/Counter/Counter.d.ts +4 -4
  179. package/dist/components/Counter/Counter.d.ts.map +1 -1
  180. package/dist/components/Counter/Counter.js.map +1 -1
  181. package/dist/components/CustomScrollView/CustomScrollView.d.ts +6 -6
  182. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  183. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  184. package/dist/components/CustomSelect/CustomSelect.d.ts +36 -27
  185. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  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 -12
  243. package/dist/components/Flex/Flex.d.ts.map +1 -1
  244. package/dist/components/Flex/Flex.js +2 -9
  245. package/dist/components/Flex/Flex.js.map +1 -1
  246. package/dist/components/Flex/FlexItem/FlexItem.d.ts +5 -12
  247. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  248. package/dist/components/Flex/FlexItem/FlexItem.js +5 -14
  249. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  250. package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -9
  251. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  252. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  253. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  254. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  255. package/dist/components/FocusTrap/FocusTrap.js +2 -4
  256. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  257. package/dist/components/FormField/FormField.d.ts +8 -8
  258. package/dist/components/FormField/FormField.d.ts.map +1 -1
  259. package/dist/components/FormField/FormField.js.map +1 -1
  260. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +2 -2
  261. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  262. package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  263. package/dist/components/FormItem/FormItem.d.ts +10 -10
  264. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  265. package/dist/components/FormItem/FormItem.js.map +1 -1
  266. package/dist/components/FormItem/context.d.ts +2 -2
  267. package/dist/components/FormItem/context.d.ts.map +1 -1
  268. package/dist/components/FormItem/context.js.map +1 -1
  269. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +4 -4
  270. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  271. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  272. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  273. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  274. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  275. package/dist/components/Gallery/Gallery.d.ts +2 -2
  276. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  277. package/dist/components/Gallery/Gallery.js.map +1 -1
  278. package/dist/components/Gradient/Gradient.d.ts +2 -2
  279. package/dist/components/Gradient/Gradient.d.ts.map +1 -1
  280. package/dist/components/Gradient/Gradient.js.map +1 -1
  281. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  282. package/dist/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  283. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  284. package/dist/components/Group/Group.d.ts +2 -2
  285. package/dist/components/Group/Group.d.ts.map +1 -1
  286. package/dist/components/Group/Group.js.map +1 -1
  287. package/dist/components/Group/GroupContainer.d.ts +3 -3
  288. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  289. package/dist/components/Group/GroupContainer.js.map +1 -1
  290. package/dist/components/Group/GroupExpandedContent.d.ts +1 -1
  291. package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
  292. package/dist/components/Group/GroupExpandedContent.js.map +1 -1
  293. package/dist/components/Header/Header.d.ts +11 -11
  294. package/dist/components/Header/Header.d.ts.map +1 -1
  295. package/dist/components/Header/Header.js.map +1 -1
  296. package/dist/components/HorizontalCell/HorizontalCell.d.ts +7 -7
  297. package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
  298. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  299. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +4 -4
  300. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  301. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  302. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +30 -15
  303. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  304. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -6
  305. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  306. package/dist/components/IconButton/IconButton.d.ts +1 -1
  307. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  308. package/dist/components/IconButton/IconButton.js.map +1 -1
  309. package/dist/components/Image/Image.d.ts +5 -5
  310. package/dist/components/Image/Image.d.ts.map +1 -1
  311. package/dist/components/Image/Image.js.map +1 -1
  312. package/dist/components/ImageBase/ImageBase.d.ts +14 -14
  313. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  314. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  315. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
  316. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
  317. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  318. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +3 -3
  319. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
  320. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  321. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +3 -3
  322. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  323. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  324. package/dist/components/ImageBase/types.d.ts +3 -3
  325. package/dist/components/ImageBase/types.d.ts.map +1 -1
  326. package/dist/components/ImageBase/types.js.map +1 -1
  327. package/dist/components/Input/Input.d.ts +4 -4
  328. package/dist/components/Input/Input.d.ts.map +1 -1
  329. package/dist/components/Input/Input.js.map +1 -1
  330. package/dist/components/InputLike/InputLike.d.ts +3 -3
  331. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  332. package/dist/components/InputLike/InputLike.js.map +1 -1
  333. package/dist/components/Link/Link.d.ts +4 -4
  334. package/dist/components/Link/Link.d.ts.map +1 -1
  335. package/dist/components/Link/Link.js.map +1 -1
  336. package/dist/components/List/List.d.ts +1 -1
  337. package/dist/components/List/List.d.ts.map +1 -1
  338. package/dist/components/List/List.js.map +1 -1
  339. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +5 -5
  340. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  341. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  342. package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
  343. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  344. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  345. package/dist/components/ModalCard/types.d.ts +13 -13
  346. package/dist/components/ModalCard/types.d.ts.map +1 -1
  347. package/dist/components/ModalCard/types.js.map +1 -1
  348. package/dist/components/ModalCardBase/ModalCardBase.d.ts +14 -14
  349. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  350. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  351. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  352. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  353. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  354. package/dist/components/ModalOutlet/ModalOutlet.d.ts +3 -3
  355. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  356. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  357. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
  358. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -1
  359. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  360. package/dist/components/ModalOverlay/ModalOverlay.d.ts +7 -7
  361. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  362. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
  363. package/dist/components/ModalPage/ModalPageBase.d.ts +2 -2
  364. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  365. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  366. package/dist/components/ModalPage/ModalPageInternal.d.ts +2 -2
  367. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  368. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  369. package/dist/components/ModalPage/types.d.ts +27 -27
  370. package/dist/components/ModalPage/types.d.ts.map +1 -1
  371. package/dist/components/ModalPage/types.js.map +1 -1
  372. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +2 -2
  373. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  374. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  375. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
  376. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  377. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  378. package/dist/components/ModalRoot/types.d.ts +15 -15
  379. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  380. package/dist/components/ModalRoot/types.js.map +1 -1
  381. package/dist/components/ModalRoot/useModalRootManager.d.ts +19 -19
  382. package/dist/components/ModalRoot/useModalRootManager.d.ts.map +1 -1
  383. package/dist/components/ModalRoot/useModalRootManager.js.map +1 -1
  384. package/dist/components/NativeSelect/NativeSelect.d.ts +11 -11
  385. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  386. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  387. package/dist/components/NumberInputLike/NumberInputLike.d.ts +3 -3
  388. package/dist/components/NumberInputLike/NumberInputLike.d.ts.map +1 -1
  389. package/dist/components/NumberInputLike/NumberInputLike.js.map +1 -1
  390. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +6 -6
  391. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  392. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  393. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  394. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  395. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  396. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  397. package/dist/components/Pagination/Pagination.d.ts +19 -19
  398. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  399. package/dist/components/Pagination/Pagination.js +14 -6
  400. package/dist/components/Pagination/Pagination.js.map +1 -1
  401. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts +3 -3
  402. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  403. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  404. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +3 -3
  405. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  406. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  407. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +1 -1
  408. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  409. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  410. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +3 -3
  411. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  412. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  413. package/dist/components/Panel/Panel.d.ts +3 -3
  414. package/dist/components/Panel/Panel.d.ts.map +1 -1
  415. package/dist/components/Panel/Panel.js.map +1 -1
  416. package/dist/components/PanelHeader/PanelHeader.d.ts +8 -8
  417. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  418. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  419. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  420. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  421. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  422. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +2 -2
  423. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  424. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  425. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -3
  426. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  427. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  428. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
  429. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
  430. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  431. package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
  432. package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
  433. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  434. package/dist/components/Placeholder/Placeholder.d.ts +5 -5
  435. package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
  436. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  437. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +6 -6
  438. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  439. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  440. package/dist/components/Popover/Popover.d.ts +5 -5
  441. package/dist/components/Popover/Popover.d.ts.map +1 -1
  442. package/dist/components/Popover/Popover.js.map +1 -1
  443. package/dist/components/Popper/Popper.d.ts +4 -4
  444. package/dist/components/Popper/Popper.d.ts.map +1 -1
  445. package/dist/components/Popper/Popper.js +13 -7
  446. package/dist/components/Popper/Popper.js.map +1 -1
  447. package/dist/components/Progress/Progress.d.ts +4 -4
  448. package/dist/components/Progress/Progress.d.ts.map +1 -1
  449. package/dist/components/Progress/Progress.js.map +1 -1
  450. package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
  451. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  452. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  453. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +4 -4
  454. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  455. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  456. package/dist/components/Radio/Radio.d.ts +7 -7
  457. package/dist/components/Radio/Radio.d.ts.map +1 -1
  458. package/dist/components/Radio/Radio.js +2 -2
  459. package/dist/components/Radio/Radio.js.map +1 -1
  460. package/dist/components/Radio/RadioInput/RadioInput.d.ts +4 -4
  461. package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
  462. package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
  463. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  464. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  465. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  466. package/dist/components/Removable/Removable.d.ts +9 -9
  467. package/dist/components/Removable/Removable.d.ts.map +1 -1
  468. package/dist/components/Removable/Removable.js.map +1 -1
  469. package/dist/components/Removable/RemovableIos.d.ts +3 -3
  470. package/dist/components/Removable/RemovableIos.d.ts.map +1 -1
  471. package/dist/components/Removable/RemovableIos.js.map +1 -1
  472. package/dist/components/RichCell/RichCell.d.ts +15 -15
  473. package/dist/components/RichCell/RichCell.d.ts.map +1 -1
  474. package/dist/components/RichCell/RichCell.js.map +1 -1
  475. package/dist/components/Root/Root.d.ts +4 -4
  476. package/dist/components/Root/Root.d.ts.map +1 -1
  477. package/dist/components/Root/Root.js.map +1 -1
  478. package/dist/components/RootComponent/RootComponent.d.ts +2 -2
  479. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  480. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  481. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -1
  482. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
  483. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  484. package/dist/components/ScreenSpinner/context.d.ts +2 -2
  485. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  486. package/dist/components/ScreenSpinner/context.js.map +1 -1
  487. package/dist/components/ScreenSpinner/types.d.ts +5 -5
  488. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  489. package/dist/components/ScreenSpinner/types.js.map +1 -1
  490. package/dist/components/ScrollArrow/ScrollArrow.d.ts +10 -4
  491. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  492. package/dist/components/ScrollArrow/ScrollArrow.js +14 -4
  493. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  494. package/dist/components/Search/Search.d.ts +17 -17
  495. package/dist/components/Search/Search.d.ts.map +1 -1
  496. package/dist/components/Search/Search.js +21 -12
  497. package/dist/components/Search/Search.js.map +1 -1
  498. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -6
  499. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  500. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  501. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  502. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  503. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  504. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  505. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  506. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  507. package/dist/components/SelectTypography/SelectTypography.d.ts +1 -1
  508. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  509. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  510. package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
  511. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
  512. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  513. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +2 -2
  514. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  515. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  516. package/dist/components/Separator/Separator.d.ts +5 -5
  517. package/dist/components/Separator/Separator.d.ts.map +1 -1
  518. package/dist/components/Separator/Separator.js.map +1 -1
  519. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +1 -1
  520. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  521. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  522. package/dist/components/SimpleCell/SimpleCell.d.ts +14 -14
  523. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  524. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  525. package/dist/components/SimpleGrid/SimpleGrid.d.ts +6 -6
  526. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  527. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  528. package/dist/components/Skeleton/Skeleton.d.ts +5 -5
  529. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  530. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  531. package/dist/components/Slider/Slider.d.ts +17 -17
  532. package/dist/components/Slider/Slider.d.ts.map +1 -1
  533. package/dist/components/Slider/Slider.js.map +1 -1
  534. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +5 -5
  535. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  536. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  537. package/dist/components/Snackbar/Snackbar.d.ts +10 -10
  538. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  539. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  540. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
  541. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts.map +1 -1
  542. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  543. package/dist/components/Snackbar/utils.d.ts +1 -1
  544. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  545. package/dist/components/Snackbar/utils.js.map +1 -1
  546. package/dist/components/Spacing/Spacing.d.ts +2 -2
  547. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  548. package/dist/components/Spacing/Spacing.js.map +1 -1
  549. package/dist/components/Spinner/Spinner.d.ts +4 -4
  550. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  551. package/dist/components/Spinner/Spinner.js.map +1 -1
  552. package/dist/components/SplitCol/SplitCol.d.ts +7 -7
  553. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  554. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  555. package/dist/components/SplitLayout/SplitLayout.d.ts +8 -8
  556. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  557. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  558. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -2
  559. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  560. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  561. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +8 -8
  562. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  563. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  564. package/dist/components/Switch/Switch.d.ts +4 -4
  565. package/dist/components/Switch/Switch.d.ts.map +1 -1
  566. package/dist/components/Switch/Switch.js.map +1 -1
  567. package/dist/components/Tabbar/Tabbar.d.ts +2 -2
  568. package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
  569. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  570. package/dist/components/TabbarItem/TabbarItem.d.ts +3 -3
  571. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  572. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  573. package/dist/components/Tabs/Tabs.d.ts +7 -7
  574. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  575. package/dist/components/Tabs/Tabs.js.map +1 -1
  576. package/dist/components/Tabs/TabsModeContext.d.ts +1 -1
  577. package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
  578. package/dist/components/Tabs/TabsModeContext.js.map +1 -1
  579. package/dist/components/TabsItem/TabsItem.d.ts +5 -5
  580. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  581. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  582. package/dist/components/Tappable/Tappable.d.ts +3 -3
  583. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  584. package/dist/components/Tappable/Tappable.js.map +1 -1
  585. package/dist/components/Tappable/state.d.ts +2 -2
  586. package/dist/components/Tappable/state.d.ts.map +1 -1
  587. package/dist/components/Tappable/state.js.map +1 -1
  588. package/dist/components/Textarea/Textarea.d.ts +6 -6
  589. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  590. package/dist/components/Textarea/Textarea.js.map +1 -1
  591. package/dist/components/ToolButton/ToolButton.d.ts +4 -4
  592. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  593. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  594. package/dist/components/Tooltip/Tooltip.d.ts +6 -6
  595. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  596. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  597. package/dist/components/TooltipBase/TooltipBase.d.ts +10 -10
  598. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  599. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  600. package/dist/components/Touch/Touch.d.ts +16 -16
  601. package/dist/components/Touch/Touch.d.ts.map +1 -1
  602. package/dist/components/Touch/Touch.js.map +1 -1
  603. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  604. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  605. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  606. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
  607. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  608. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  609. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
  610. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts.map +1 -1
  611. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  612. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  613. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  614. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  615. package/dist/components/Typography/Title/Title.d.ts +1 -1
  616. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  617. package/dist/components/Typography/Title/Title.js.map +1 -1
  618. package/dist/components/Typography/Typography.d.ts +6 -6
  619. package/dist/components/Typography/Typography.d.ts.map +1 -1
  620. package/dist/components/Typography/Typography.js.map +1 -1
  621. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +1 -1
  622. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  623. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  624. package/dist/components/UsersStack/UsersStack.d.ts +6 -6
  625. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  626. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  627. package/dist/components/View/View.d.ts +4 -4
  628. package/dist/components/View/View.d.ts.map +1 -1
  629. package/dist/components/View/View.js.map +1 -1
  630. package/dist/components/View/ViewInfinite.d.ts +12 -12
  631. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  632. package/dist/components/View/ViewInfinite.js.map +1 -1
  633. package/dist/components/WriteBar/WriteBar.d.ts +10 -10
  634. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  635. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  636. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +3 -3
  637. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
  638. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  639. package/dist/components.css +1 -1
  640. package/dist/components.css.map +1 -1
  641. package/dist/cssm/components/Accordion/Accordion.js +3 -0
  642. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  643. package/dist/cssm/components/Accordion/AccordionIcon.js +17 -0
  644. package/dist/cssm/components/Accordion/AccordionIcon.js.map +1 -0
  645. package/dist/cssm/components/Accordion/AccordionSummary.js +4 -7
  646. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  647. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  648. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  649. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  650. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  651. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  652. package/dist/cssm/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  653. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  654. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  655. package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
  656. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  657. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  658. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  659. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  660. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  661. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  662. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  663. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  664. package/dist/cssm/components/Avatar/Avatar.module.css +0 -5
  665. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  666. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  667. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  668. package/dist/cssm/components/Box/Box.js.map +1 -1
  669. package/dist/cssm/components/Button/Button.js +1 -1
  670. package/dist/cssm/components/Button/Button.js.map +1 -1
  671. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  672. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  673. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  674. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  675. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  676. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  677. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  678. package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  679. package/dist/cssm/components/Card/Card.js.map +1 -1
  680. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  681. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  682. package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
  683. package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
  684. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  685. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  686. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  687. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  688. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  689. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  690. package/dist/cssm/components/CellButton/CellButton.js +115 -7
  691. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  692. package/dist/cssm/components/CellButton/CellButton.module.css +165 -7
  693. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  694. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  695. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  696. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  697. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  698. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  699. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  700. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  701. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  702. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  703. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  704. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  705. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  706. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  707. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  708. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  709. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +0 -6
  710. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  711. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  712. package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  713. package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  714. package/dist/cssm/components/CustomSelect/types.js.map +1 -1
  715. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  716. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  717. package/dist/cssm/components/DateInput/DateInput.js +3 -12
  718. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  719. package/dist/cssm/components/DateInput/hooks.js.map +1 -1
  720. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -11
  721. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  722. package/dist/cssm/components/DropZone/DropZone.js +1 -1
  723. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  724. package/dist/cssm/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  725. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  726. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  727. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  728. package/dist/cssm/components/File/File.js.map +1 -1
  729. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  730. package/dist/cssm/components/Flex/Flex.js +2 -10
  731. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  732. package/dist/cssm/components/Flex/FlexItem/FlexItem.js +5 -14
  733. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  734. package/dist/cssm/components/Flex/FlexItem/FlexItem.module.css +0 -22
  735. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  736. package/dist/cssm/components/FocusTrap/FocusTrap.js +2 -4
  737. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  738. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  739. package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  740. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  741. package/dist/cssm/components/FormItem/FormItem.module.css +1 -2
  742. package/dist/cssm/components/FormItem/context.js.map +1 -1
  743. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  744. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  745. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  746. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  747. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  748. package/dist/cssm/components/Group/Group.js.map +1 -1
  749. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  750. package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
  751. package/dist/cssm/components/Header/Header.js.map +1 -1
  752. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  753. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  754. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -6
  755. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  756. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  757. package/dist/cssm/components/Image/Image.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  759. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  760. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  761. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  762. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  763. package/dist/cssm/components/Input/Input.js.map +1 -1
  764. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  765. package/dist/cssm/components/Link/Link.js.map +1 -1
  766. package/dist/cssm/components/List/List.js.map +1 -1
  767. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  768. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  769. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  770. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  771. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +0 -4
  772. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  773. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  774. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  775. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
  776. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  777. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  778. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  779. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  780. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  781. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  782. package/dist/cssm/components/ModalRoot/useModalRootManager.js.map +1 -1
  783. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  784. package/dist/cssm/components/NumberInputLike/NumberInputLike.js.map +1 -1
  785. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  786. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  787. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  788. package/dist/cssm/components/Pagination/Pagination.js +14 -6
  789. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  790. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  791. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  792. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  793. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  794. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  795. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  796. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -5
  797. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  798. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  799. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  800. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  801. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  802. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  803. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  804. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  805. package/dist/cssm/components/Popper/Popper.js +13 -7
  806. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  807. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  808. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  809. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  810. package/dist/cssm/components/Radio/Radio.js +2 -2
  811. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  812. package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
  813. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  814. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  815. package/dist/cssm/components/Removable/Removable.module.css +0 -4
  816. package/dist/cssm/components/Removable/RemovableIos.js.map +1 -1
  817. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  818. package/dist/cssm/components/Root/Root.js.map +1 -1
  819. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  820. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  821. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  822. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  823. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +14 -4
  824. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  825. package/dist/cssm/components/Search/Search.js +21 -12
  826. package/dist/cssm/components/Search/Search.js.map +1 -1
  827. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  828. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  829. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  830. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  831. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  832. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  833. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  834. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  835. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  836. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +3 -5
  837. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  838. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  839. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  840. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  841. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  842. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  843. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  844. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  845. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  846. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  847. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  848. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  849. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  850. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  851. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  852. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  853. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  854. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  855. package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
  856. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  857. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  858. package/dist/cssm/components/Tappable/state.js.map +1 -1
  859. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  860. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  861. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  862. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  863. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  864. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  865. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  866. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  867. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  868. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  869. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  870. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  871. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  872. package/dist/cssm/components/View/View.js.map +1 -1
  873. package/dist/cssm/components/View/View.module.css +1 -3
  874. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  875. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  876. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  877. package/dist/cssm/helpers/math.js.map +1 -1
  878. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  879. package/dist/cssm/hooks/useAutoDetectColorScheme.js +8 -27
  880. package/dist/cssm/hooks/useAutoDetectColorScheme.js.map +1 -1
  881. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  882. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  883. package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
  884. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  885. package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
  886. package/dist/cssm/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  887. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +10 -2
  888. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  889. package/dist/cssm/hooks/useFocusVisibleClassName.js.map +1 -1
  890. package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
  891. package/dist/cssm/hooks/useMediaQueryMatch.js +25 -0
  892. package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -0
  893. package/dist/cssm/hooks/useMergeProps.js.map +1 -1
  894. package/dist/cssm/hooks/useModalManager/types.js.map +1 -1
  895. package/dist/cssm/hooks/usePagination.js.map +1 -1
  896. package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
  897. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +2 -2
  898. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  899. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  900. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  901. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +3 -3
  902. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  903. package/dist/cssm/hooks/useSnackbarManager/types.js.map +1 -1
  904. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  905. package/dist/cssm/index.js +1 -1
  906. package/dist/cssm/index.js.map +1 -1
  907. package/dist/cssm/lib/SSR.js.map +1 -1
  908. package/dist/cssm/lib/accessibility.js.map +1 -1
  909. package/dist/cssm/lib/adaptivity/functions.js +6 -0
  910. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  911. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  912. package/dist/cssm/lib/animation/useCSSTransition.js +4 -2
  913. package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
  914. package/dist/cssm/lib/animation/useReducedMotion.js +2 -20
  915. package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
  916. package/dist/cssm/lib/calendar.js.map +1 -1
  917. package/dist/cssm/lib/date.js.map +1 -1
  918. package/dist/cssm/lib/dom.js.map +1 -1
  919. package/dist/cssm/lib/floating/functions.js.map +1 -1
  920. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  921. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  922. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  923. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  924. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  925. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  926. package/dist/cssm/lib/getNavId.js.map +1 -1
  927. package/dist/cssm/lib/layouts/layoutProps.js +17 -0
  928. package/dist/cssm/lib/layouts/layoutProps.js.map +1 -1
  929. package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
  930. package/dist/cssm/lib/layouts/types.js.map +1 -1
  931. package/dist/cssm/lib/select.js.map +1 -1
  932. package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -1
  933. package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -1
  934. package/dist/cssm/lib/tokens/types.js.map +1 -1
  935. package/dist/cssm/lib/utils.js +3 -0
  936. package/dist/cssm/lib/utils.js.map +1 -1
  937. package/dist/cssm/styles/layout.css +36 -0
  938. package/dist/cssm/types.js +4 -1
  939. package/dist/cssm/types.js.map +1 -1
  940. package/dist/helpers/math.d.ts +1 -1
  941. package/dist/helpers/math.d.ts.map +1 -1
  942. package/dist/helpers/math.js.map +1 -1
  943. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts +5 -1
  944. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts.map +1 -1
  945. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  946. package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
  947. package/dist/hooks/useAutoDetectColorScheme.js +8 -27
  948. package/dist/hooks/useAutoDetectColorScheme.js.map +1 -1
  949. package/dist/hooks/useCalendar.d.ts +1 -1
  950. package/dist/hooks/useCalendar.d.ts.map +1 -1
  951. package/dist/hooks/useCalendar.js.map +1 -1
  952. package/dist/hooks/useDateInput.d.ts +5 -5
  953. package/dist/hooks/useDateInput.d.ts.map +1 -1
  954. package/dist/hooks/useDateInput.js.map +1 -1
  955. package/dist/hooks/useDraggableWithDomApi/types.d.ts +1 -1
  956. package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  957. package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
  958. package/dist/hooks/useEnsuredControl.d.ts +4 -4
  959. package/dist/hooks/useEnsuredControl.d.ts.map +1 -1
  960. package/dist/hooks/useEnsuredControl.js.map +1 -1
  961. package/dist/hooks/useFloatingElement.d.ts +4 -4
  962. package/dist/hooks/useFloatingElement.d.ts.map +1 -1
  963. package/dist/hooks/useFloatingElement.js.map +1 -1
  964. package/dist/hooks/useFocusTrap/FocusGuard.d.ts +1 -1
  965. package/dist/hooks/useFocusTrap/FocusGuard.d.ts.map +1 -1
  966. package/dist/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  967. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +6 -10
  968. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
  969. package/dist/hooks/useFocusTrap/useFocusTrap.js +10 -2
  970. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  971. package/dist/hooks/useFocusVisibleClassName.d.ts +3 -3
  972. package/dist/hooks/useFocusVisibleClassName.d.ts.map +1 -1
  973. package/dist/hooks/useFocusVisibleClassName.js.map +1 -1
  974. package/dist/hooks/useGlobalEscKeyDown.d.ts +1 -1
  975. package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
  976. package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
  977. package/dist/hooks/useMediaQueryMatch.d.ts +6 -0
  978. package/dist/hooks/useMediaQueryMatch.d.ts.map +1 -0
  979. package/dist/hooks/useMediaQueryMatch.js +25 -0
  980. package/dist/hooks/useMediaQueryMatch.js.map +1 -0
  981. package/dist/hooks/useMergeProps.d.ts +1 -1
  982. package/dist/hooks/useMergeProps.d.ts.map +1 -1
  983. package/dist/hooks/useMergeProps.js.map +1 -1
  984. package/dist/hooks/useModalManager/types.d.ts +8 -8
  985. package/dist/hooks/useModalManager/types.d.ts.map +1 -1
  986. package/dist/hooks/useModalManager/types.js.map +1 -1
  987. package/dist/hooks/usePagination.d.ts +4 -4
  988. package/dist/hooks/usePagination.d.ts.map +1 -1
  989. package/dist/hooks/usePagination.js.map +1 -1
  990. package/dist/hooks/usePatchChildren.d.ts +1 -1
  991. package/dist/hooks/usePatchChildren.d.ts.map +1 -1
  992. package/dist/hooks/usePatchChildren.js.map +1 -1
  993. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.d.ts → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts} +1 -1
  994. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts.map +1 -0
  995. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +10 -10
  996. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  997. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.d.ts.map +1 -1
  998. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  999. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  1000. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.d.ts → SnackbarsContainer/SnackbarsContainer.d.ts} +2 -2
  1001. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.d.ts.map +1 -0
  1002. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +10 -10
  1003. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  1004. package/dist/hooks/useSnackbarManager/types.d.ts +11 -11
  1005. package/dist/hooks/useSnackbarManager/types.d.ts.map +1 -1
  1006. package/dist/hooks/useSnackbarManager/types.js.map +1 -1
  1007. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +1 -1
  1008. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
  1009. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  1010. package/dist/index.d.ts +3 -2
  1011. package/dist/index.d.ts.map +1 -1
  1012. package/dist/index.js +1 -1
  1013. package/dist/index.js.map +1 -1
  1014. package/dist/lib/SSR.d.ts +4 -4
  1015. package/dist/lib/SSR.d.ts.map +1 -1
  1016. package/dist/lib/SSR.js.map +1 -1
  1017. package/dist/lib/accessibility.d.ts +1 -1
  1018. package/dist/lib/accessibility.d.ts.map +1 -1
  1019. package/dist/lib/accessibility.js.map +1 -1
  1020. package/dist/lib/adaptivity/functions.d.ts.map +1 -1
  1021. package/dist/lib/adaptivity/functions.js +6 -0
  1022. package/dist/lib/adaptivity/functions.js.map +1 -1
  1023. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts +6 -6
  1024. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  1025. package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  1026. package/dist/lib/animation/useCSSTransition.d.ts +11 -11
  1027. package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
  1028. package/dist/lib/animation/useCSSTransition.js +4 -2
  1029. package/dist/lib/animation/useCSSTransition.js.map +1 -1
  1030. package/dist/lib/animation/useReducedMotion.d.ts.map +1 -1
  1031. package/dist/lib/animation/useReducedMotion.js +2 -20
  1032. package/dist/lib/animation/useReducedMotion.js.map +1 -1
  1033. package/dist/lib/calendar.d.ts +5 -5
  1034. package/dist/lib/calendar.d.ts.map +1 -1
  1035. package/dist/lib/calendar.js.map +1 -1
  1036. package/dist/lib/date.d.ts +10 -10
  1037. package/dist/lib/date.d.ts.map +1 -1
  1038. package/dist/lib/date.js.map +1 -1
  1039. package/dist/lib/dom.d.ts +2 -2
  1040. package/dist/lib/dom.d.ts.map +1 -1
  1041. package/dist/lib/dom.js.map +1 -1
  1042. package/dist/lib/floating/functions.d.ts +2 -2
  1043. package/dist/lib/floating/functions.d.ts.map +1 -1
  1044. package/dist/lib/floating/functions.js.map +1 -1
  1045. package/dist/lib/floating/types/component.d.ts +9 -9
  1046. package/dist/lib/floating/types/component.d.ts.map +1 -1
  1047. package/dist/lib/floating/types/component.js.map +1 -1
  1048. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +14 -14
  1049. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  1050. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  1051. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  1052. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +15 -15
  1053. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  1054. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  1055. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  1056. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  1057. package/dist/lib/getNavId.d.ts +2 -2
  1058. package/dist/lib/getNavId.d.ts.map +1 -1
  1059. package/dist/lib/getNavId.js.map +1 -1
  1060. package/dist/lib/layouts/layoutProps.d.ts +2 -0
  1061. package/dist/lib/layouts/layoutProps.d.ts.map +1 -1
  1062. package/dist/lib/layouts/layoutProps.js +17 -0
  1063. package/dist/lib/layouts/layoutProps.js.map +1 -1
  1064. package/dist/lib/layouts/resolveLayoutProps.d.ts +6 -6
  1065. package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
  1066. package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
  1067. package/dist/lib/layouts/types.d.ts +39 -27
  1068. package/dist/lib/layouts/types.d.ts.map +1 -1
  1069. package/dist/lib/layouts/types.js.map +1 -1
  1070. package/dist/lib/select.d.ts +2 -2
  1071. package/dist/lib/select.d.ts.map +1 -1
  1072. package/dist/lib/select.js.map +1 -1
  1073. package/dist/lib/sheet/useBottomSheet.d.ts +4 -4
  1074. package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
  1075. package/dist/lib/sheet/useBottomSheet.js.map +1 -1
  1076. package/dist/lib/tokens/TokensClassProvider.js.map +1 -1
  1077. package/dist/lib/tokens/types.d.ts +2 -2
  1078. package/dist/lib/tokens/types.d.ts.map +1 -1
  1079. package/dist/lib/tokens/types.js.map +1 -1
  1080. package/dist/lib/utils.d.ts +3 -3
  1081. package/dist/lib/utils.d.ts.map +1 -1
  1082. package/dist/lib/utils.js +3 -0
  1083. package/dist/lib/utils.js.map +1 -1
  1084. package/dist/types.d.ts +17 -10
  1085. package/dist/types.d.ts.map +1 -1
  1086. package/dist/types.js +4 -1
  1087. package/dist/types.js.map +1 -1
  1088. package/dist/vkui.css +1 -1
  1089. package/dist/vkui.css.map +1 -1
  1090. package/package.json +3 -3
  1091. package/src/components/Accordion/Accordion.tsx +10 -6
  1092. package/src/components/Accordion/AccordionIcon.tsx +31 -0
  1093. package/src/components/Accordion/AccordionSummary.tsx +5 -9
  1094. package/src/components/ActionSheet/ActionSheet.tsx +14 -10
  1095. package/src/components/ActionSheet/ActionSheetContext.ts +3 -3
  1096. package/src/components/ActionSheet/types.ts +8 -8
  1097. package/src/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  1098. package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -1
  1099. package/src/components/ActionSheetItem/ActionSheetItem.tsx +15 -15
  1100. package/src/components/ActionSheetItem/subcomponents/Radio/Radio.tsx +1 -1
  1101. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +7 -7
  1102. package/src/components/Alert/Alert.tsx +17 -17
  1103. package/src/components/Alert/AlertBase.tsx +2 -2
  1104. package/src/components/Alert/AlertTypography.tsx +1 -1
  1105. package/src/components/AppRoot/AppRoot.tsx +9 -9
  1106. package/src/components/AppRoot/AppRootContext.ts +4 -4
  1107. package/src/components/AppRoot/AppRootPortal.tsx +2 -2
  1108. package/src/components/AppRoot/ScrollContext.tsx +5 -5
  1109. package/src/components/AppRoot/types.ts +4 -4
  1110. package/src/components/AspectRatio/AspectRatio.tsx +2 -2
  1111. package/src/components/Avatar/Avatar.module.css +0 -5
  1112. package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -1
  1113. package/src/components/Avatar/Avatar.tsx +6 -2
  1114. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -1
  1115. package/src/components/Badge/Badge.tsx +1 -1
  1116. package/src/components/Banner/Banner.tsx +12 -12
  1117. package/src/components/Box/Box.tsx +1 -1
  1118. package/src/components/Button/Button.tsx +19 -12
  1119. package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
  1120. package/src/components/Calendar/Calendar.tsx +17 -17
  1121. package/src/components/CalendarDay/CalendarDay.tsx +18 -18
  1122. package/src/components/CalendarDays/CalendarDays.tsx +14 -14
  1123. package/src/components/CalendarHeader/CalendarHeader.tsx +19 -19
  1124. package/src/components/CalendarRange/CalendarRange.tsx +12 -12
  1125. package/src/components/CalendarTime/CalendarTime.tsx +14 -14
  1126. package/src/components/CalendarTime/CalendarTimePicker.tsx +3 -3
  1127. package/src/components/Card/Card.tsx +1 -1
  1128. package/src/components/CardGrid/CardGrid.tsx +2 -2
  1129. package/src/components/CardScroll/CardScroll.tsx +3 -3
  1130. package/src/components/CarouselBase/Bullets.tsx +1 -1
  1131. package/src/components/CarouselBase/CarouselViewPort.tsx +1 -1
  1132. package/src/components/CarouselBase/ScrollArrows.tsx +2 -2
  1133. package/src/components/CarouselBase/helpers.ts +4 -4
  1134. package/src/components/CarouselBase/types.ts +23 -23
  1135. package/src/components/Cell/Cell.tsx +8 -8
  1136. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +1 -1
  1137. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1138. package/src/components/CellButton/CellButton.module.css +159 -7
  1139. package/src/components/CellButton/CellButton.module.css.d.ts.map +1 -1
  1140. package/src/components/CellButton/CellButton.tsx +154 -11
  1141. package/src/components/Checkbox/Checkbox.tsx +16 -9
  1142. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +20 -14
  1143. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  1144. package/src/components/ChipsInput/useChipsInput.ts +3 -3
  1145. package/src/components/ChipsInputBase/Chip/Chip.tsx +9 -9
  1146. package/src/components/ChipsInputBase/types.ts +28 -22
  1147. package/src/components/ChipsSelect/ChipsSelect.tsx +13 -13
  1148. package/src/components/ChipsSelect/useChipsSelect.ts +22 -21
  1149. package/src/components/Clickable/Clickable.tsx +1 -1
  1150. package/src/components/Clickable/useState.tsx +13 -13
  1151. package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
  1152. package/src/components/ContentBadge/ContentBadge.tsx +4 -4
  1153. package/src/components/ContentCard/ContentCard.tsx +8 -8
  1154. package/src/components/Counter/Counter.tsx +4 -4
  1155. package/src/components/CustomScrollView/CustomScrollView.tsx +6 -6
  1156. package/src/components/CustomSelect/CustomSelect.module.css +0 -6
  1157. package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -1
  1158. package/src/components/CustomSelect/CustomSelect.tsx +42 -29
  1159. package/src/components/CustomSelect/CustomSelectClearButton.tsx +2 -2
  1160. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +20 -14
  1161. package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +2 -2
  1162. package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +1 -1
  1163. package/src/components/CustomSelect/types.ts +1 -1
  1164. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +8 -8
  1165. package/src/components/CustomSelectOption/CustomSelectOption.tsx +9 -9
  1166. package/src/components/DateInput/DateInput.tsx +27 -35
  1167. package/src/components/DateInput/hooks.ts +7 -7
  1168. package/src/components/DateRangeInput/DateRangeInput.tsx +28 -36
  1169. package/src/components/DropZone/DropZone.tsx +5 -2
  1170. package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.tsx +1 -1
  1171. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -1
  1172. package/src/components/Epic/Epic.tsx +1 -1
  1173. package/src/components/Epic/ScrollSaver.tsx +1 -1
  1174. package/src/components/File/File.tsx +15 -9
  1175. package/src/components/FixedLayout/FixedLayout.tsx +3 -3
  1176. package/src/components/Flex/Flex.tsx +8 -23
  1177. package/src/components/Flex/FlexItem/FlexItem.module.css +0 -22
  1178. package/src/components/Flex/FlexItem/FlexItem.module.css.d.ts.map +1 -1
  1179. package/src/components/Flex/FlexItem/FlexItem.tsx +17 -44
  1180. package/src/components/FloatingArrow/FloatingArrow.tsx +9 -9
  1181. package/src/components/FocusTrap/FocusTrap.tsx +0 -3
  1182. package/src/components/FormField/FormField.tsx +8 -8
  1183. package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +2 -2
  1184. package/src/components/FormItem/FormItem.module.css +1 -2
  1185. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -1
  1186. package/src/components/FormItem/FormItem.tsx +10 -10
  1187. package/src/components/FormItem/context.ts +2 -2
  1188. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +4 -4
  1189. package/src/components/FormStatus/FormStatus.tsx +2 -2
  1190. package/src/components/Gallery/Gallery.tsx +2 -2
  1191. package/src/components/Gradient/Gradient.tsx +2 -2
  1192. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  1193. package/src/components/Group/Group.tsx +2 -2
  1194. package/src/components/Group/GroupContainer.tsx +3 -3
  1195. package/src/components/Group/GroupExpandedContent.tsx +1 -1
  1196. package/src/components/Header/Header.tsx +11 -11
  1197. package/src/components/HorizontalCell/HorizontalCell.tsx +7 -7
  1198. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +4 -4
  1199. package/src/components/HorizontalScroll/HorizontalScroll.tsx +63 -18
  1200. package/src/components/IconButton/IconButton.tsx +1 -1
  1201. package/src/components/Image/Image.tsx +5 -5
  1202. package/src/components/ImageBase/ImageBase.tsx +19 -15
  1203. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
  1204. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +3 -3
  1205. package/src/components/ImageBase/ImageBaseOverlay/types.ts +3 -3
  1206. package/src/components/ImageBase/types.ts +3 -3
  1207. package/src/components/Input/Input.tsx +13 -7
  1208. package/src/components/InputLike/InputLike.tsx +3 -3
  1209. package/src/components/Link/Link.tsx +4 -4
  1210. package/src/components/List/List.tsx +1 -1
  1211. package/src/components/MiniInfoCell/MiniInfoCell.tsx +5 -5
  1212. package/src/components/ModalCard/ModalCardInternal.tsx +1 -1
  1213. package/src/components/ModalCard/types.ts +13 -13
  1214. package/src/components/ModalCardBase/ModalCardBase.module.css +0 -4
  1215. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -1
  1216. package/src/components/ModalCardBase/ModalCardBase.tsx +14 -14
  1217. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1218. package/src/components/ModalOutlet/ModalOutlet.tsx +3 -3
  1219. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
  1220. package/src/components/ModalOverlay/ModalOverlay.tsx +7 -7
  1221. package/src/components/ModalPage/ModalPageBase.tsx +2 -2
  1222. package/src/components/ModalPage/ModalPageInternal.tsx +2 -2
  1223. package/src/components/ModalPage/types.ts +27 -27
  1224. package/src/components/ModalPageFooter/ModalPageFooter.tsx +2 -2
  1225. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
  1226. package/src/components/ModalRoot/types.ts +15 -15
  1227. package/src/components/ModalRoot/useModalRootManager.tsx +19 -19
  1228. package/src/components/NativeSelect/NativeSelect.tsx +20 -14
  1229. package/src/components/NumberInputLike/NumberInputLike.tsx +3 -3
  1230. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +16 -8
  1231. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +1 -1
  1232. package/src/components/Pagination/Pagination.tsx +27 -25
  1233. package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +5 -3
  1234. package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +3 -3
  1235. package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -1
  1236. package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +3 -3
  1237. package/src/components/Panel/Panel.tsx +3 -3
  1238. package/src/components/PanelHeader/PanelHeader.module.css +0 -5
  1239. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -1
  1240. package/src/components/PanelHeader/PanelHeader.tsx +14 -12
  1241. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +2 -2
  1242. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +3 -3
  1243. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +3 -3
  1244. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
  1245. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
  1246. package/src/components/Placeholder/Placeholder.tsx +5 -5
  1247. package/src/components/PopoutWrapper/PopoutWrapper.tsx +6 -6
  1248. package/src/components/Popover/Popover.tsx +5 -5
  1249. package/src/components/Popper/Popper.tsx +17 -15
  1250. package/src/components/Progress/Progress.tsx +4 -4
  1251. package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
  1252. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +4 -4
  1253. package/src/components/Radio/Radio.tsx +18 -12
  1254. package/src/components/Radio/RadioInput/RadioInput.tsx +15 -9
  1255. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  1256. package/src/components/Removable/Removable.module.css +0 -4
  1257. package/src/components/Removable/Removable.module.css.d.ts.map +1 -1
  1258. package/src/components/Removable/Removable.tsx +13 -10
  1259. package/src/components/Removable/RemovableIos.tsx +6 -3
  1260. package/src/components/RichCell/RichCell.tsx +15 -15
  1261. package/src/components/Root/Root.tsx +3 -3
  1262. package/src/components/RootComponent/RootComponent.tsx +2 -2
  1263. package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +1 -1
  1264. package/src/components/ScreenSpinner/context.ts +2 -2
  1265. package/src/components/ScreenSpinner/types.tsx +5 -5
  1266. package/src/components/ScrollArrow/ScrollArrow.tsx +27 -4
  1267. package/src/components/Search/Search.tsx +55 -35
  1268. package/src/components/SegmentedControl/SegmentedControl.tsx +6 -6
  1269. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +3 -3
  1270. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -3
  1271. package/src/components/SelectTypography/SelectTypography.tsx +1 -1
  1272. package/src/components/SelectionControl/SelectionControl.tsx +1 -1
  1273. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +2 -2
  1274. package/src/components/Separator/Separator.tsx +5 -5
  1275. package/src/components/SimpleCell/Chevron/Chevron.tsx +1 -1
  1276. package/src/components/SimpleCell/SimpleCell.module.css +3 -5
  1277. package/src/components/SimpleCell/SimpleCell.module.css.d.ts.map +1 -1
  1278. package/src/components/SimpleCell/SimpleCell.tsx +14 -14
  1279. package/src/components/SimpleGrid/SimpleGrid.tsx +6 -6
  1280. package/src/components/Skeleton/Skeleton.tsx +5 -5
  1281. package/src/components/Slider/Slider.tsx +19 -17
  1282. package/src/components/Slider/SliderThumb/SliderThumb.tsx +9 -7
  1283. package/src/components/Snackbar/Snackbar.tsx +19 -13
  1284. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  1285. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -1
  1286. package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
  1287. package/src/components/Snackbar/utils.ts +1 -1
  1288. package/src/components/Spacing/Spacing.tsx +2 -2
  1289. package/src/components/Spinner/Spinner.tsx +4 -4
  1290. package/src/components/SplitCol/SplitCol.tsx +7 -7
  1291. package/src/components/SplitLayout/SplitLayout.tsx +15 -9
  1292. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -2
  1293. package/src/components/SubnavigationButton/SubnavigationButton.tsx +8 -8
  1294. package/src/components/Switch/Switch.tsx +15 -9
  1295. package/src/components/Tabbar/Tabbar.tsx +2 -2
  1296. package/src/components/TabbarItem/TabbarItem.tsx +3 -3
  1297. package/src/components/Tabs/Tabs.tsx +7 -7
  1298. package/src/components/Tabs/TabsModeContext.ts +1 -1
  1299. package/src/components/TabsItem/TabsItem.tsx +5 -5
  1300. package/src/components/Tappable/Tappable.tsx +3 -3
  1301. package/src/components/Tappable/state.tsx +2 -2
  1302. package/src/components/Textarea/Textarea.tsx +14 -10
  1303. package/src/components/ToolButton/ToolButton.tsx +4 -4
  1304. package/src/components/Tooltip/Tooltip.tsx +6 -6
  1305. package/src/components/TooltipBase/TooltipBase.tsx +10 -10
  1306. package/src/components/Touch/Touch.tsx +16 -16
  1307. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1308. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
  1309. package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
  1310. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1311. package/src/components/Typography/Title/Title.tsx +1 -1
  1312. package/src/components/Typography/Typography.tsx +6 -6
  1313. package/src/components/UnstyledTextField/UnstyledTextField.tsx +1 -1
  1314. package/src/components/UsersStack/UsersStack.tsx +6 -6
  1315. package/src/components/View/View.module.css +1 -3
  1316. package/src/components/View/View.module.css.d.ts.map +1 -1
  1317. package/src/components/View/View.tsx +4 -4
  1318. package/src/components/View/ViewInfinite.tsx +11 -11
  1319. package/src/components/WriteBar/WriteBar.tsx +21 -15
  1320. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -3
  1321. package/src/helpers/math.ts +1 -1
  1322. package/src/hooks/useAdaptivityWithJSMediaQueries.ts +3 -1
  1323. package/src/hooks/useAutoDetectColorScheme.ts +8 -30
  1324. package/src/hooks/useCalendar.ts +2 -2
  1325. package/src/hooks/useDateInput.ts +5 -5
  1326. package/src/hooks/useDraggableWithDomApi/types.ts +1 -1
  1327. package/src/hooks/useEnsuredControl.ts +4 -4
  1328. package/src/hooks/useFloatingElement.tsx +4 -4
  1329. package/src/hooks/useFocusTrap/FocusGuard.tsx +1 -1
  1330. package/src/hooks/useFocusTrap/useFocusTrap.tsx +17 -15
  1331. package/src/hooks/useFocusVisibleClassName.ts +3 -3
  1332. package/src/hooks/useGlobalEscKeyDown.ts +2 -2
  1333. package/src/hooks/useMediaQueryMatch.ts +34 -0
  1334. package/src/hooks/useMergeProps.ts +2 -2
  1335. package/src/hooks/useModalManager/types.ts +8 -8
  1336. package/src/hooks/usePagination.ts +4 -4
  1337. package/src/hooks/usePatchChildren.ts +1 -1
  1338. package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.tsx → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.tsx} +3 -3
  1339. package/src/hooks/useSnackbarManager/components/SnackbarHolder.tsx +6 -2
  1340. package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.tsx → SnackbarsContainer/SnackbarsContainer.tsx} +6 -6
  1341. package/src/hooks/useSnackbarManager/types.ts +11 -11
  1342. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
  1343. package/src/index.ts +6 -2
  1344. package/src/lib/SSR.tsx +4 -4
  1345. package/src/lib/accessibility.ts +1 -1
  1346. package/src/lib/adaptivity/functions.ts +10 -1
  1347. package/src/lib/animation/useCSSKeyframesAnimationController.ts +6 -6
  1348. package/src/lib/animation/useCSSTransition.ts +15 -13
  1349. package/src/lib/animation/useReducedMotion.ts +2 -25
  1350. package/src/lib/calendar.ts +5 -2
  1351. package/src/lib/date.ts +11 -11
  1352. package/src/lib/dom.tsx +2 -2
  1353. package/src/lib/floating/functions.ts +2 -2
  1354. package/src/lib/floating/types/component.ts +9 -9
  1355. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +26 -19
  1356. package/src/lib/floating/useFloatingWithInteractions/types.ts +15 -15
  1357. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -2
  1358. package/src/lib/getNavId.ts +2 -2
  1359. package/src/lib/layouts/layoutProps.ts +5 -0
  1360. package/src/lib/layouts/resolveLayoutProps.ts +3 -3
  1361. package/src/lib/layouts/types.ts +40 -27
  1362. package/src/lib/select.ts +2 -2
  1363. package/src/lib/sheet/useBottomSheet.ts +4 -4
  1364. package/src/lib/tokens/TokensClassProvider.tsx +1 -1
  1365. package/src/lib/tokens/types.ts +2 -2
  1366. package/src/lib/utils.ts +8 -3
  1367. package/src/types.ts +18 -10
  1368. package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +0 -1
  1369. package/dist/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1370. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1371. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1372. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1373. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.d.ts.map +0 -1
  1374. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1375. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.d.ts.map +0 -1
  1376. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1377. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +0 -0
  1378. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1379. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1380. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1381. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1382. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css.d.ts.map +0 -0
  1383. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1384. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css.d.ts.map → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css.d.ts.map} +0 -0
  1385. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1386. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css.d.ts.map → SnackbarsContainer/SnackbarsContainer.module.css.d.ts.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/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"}
@@ -101,16 +101,6 @@ autoComplete = 'off', autoCapitalize, autoCorrect, disabled, list, maxLength, mi
101
101
  const onIconClickStart = React.useCallback((e)=>onIconClick?.(e), [
102
102
  onIconClick
103
103
  ]);
104
- const onIconCancelClickStart = React.useCallback((e)=>{
105
- e.preventDefault();
106
- inputRef.current?.focus();
107
- if (touchEnabled()) {
108
- onCancel();
109
- }
110
- }, [
111
- inputRef,
112
- onCancel
113
- ]);
114
104
  useIsomorphicLayoutEffect(()=>{
115
105
  if (inputRest.value !== undefined) {
116
106
  setHasValue(Boolean(inputRest.value));
@@ -137,6 +127,25 @@ autoComplete = 'off', autoCapitalize, autoCorrect, disabled, list, maxLength, mi
137
127
  ]
138
128
  });
139
129
  const showControls = Boolean(iconProp || !hideClearButton || adaptiveDensity.compact && onFindButtonClick);
130
+ const onClearPointerDown = (e)=>{
131
+ // Сначала вызываем внешний обработчик, затем локальную логику, чтобы можно было предотвратить обработку фокуса на поле ввода.
132
+ onClearButtonPointerDown?.(e);
133
+ e.preventDefault();
134
+ inputRef.current?.focus();
135
+ if (touchEnabled()) {
136
+ onCancel();
137
+ }
138
+ };
139
+ const onClearClick = (e)=>{
140
+ // eslint-disable-next-line @typescript-eslint/unbound-method
141
+ const nativeInputValueSetter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value')?.set;
142
+ nativeInputValueSetter?.call(inputRef.current, '');
143
+ const ev2 = new Event('input', {
144
+ bubbles: true
145
+ });
146
+ inputRef.current?.dispatchEvent(ev2);
147
+ onClearButtonClick?.(e);
148
+ };
140
149
  return /*#__PURE__*/ _jsxs(RootComponent, {
141
150
  baseClassName: classNames('vkuiInternalSearch', styles.host, density === 'none' && styles.densityNone, density === 'compact' && styles.densityCompact, isFocused && styles.focused, hasValue && styles.hasValue, hasAfter && styles.hasAfter, iconProp && styles.hasIcon, inputRest.disabled && styles.disabled, !noPadding && styles.withPadding, isRtl && styles.rtl),
142
151
  ...rootRest,
@@ -174,8 +183,8 @@ autoComplete = 'off', autoCapitalize, autoCorrect, disabled, list, maxLength, mi
174
183
  iconProp && (typeof iconProp === 'function' ? iconProp(renderIconButton) : renderIconButton(iconProp)),
175
184
  !hideClearButton && /*#__PURE__*/ _jsxs(IconButton, {
176
185
  hoverMode: "opacity",
177
- onPointerDown: callMultiple(onIconCancelClickStart, onClearButtonPointerDown),
178
- onClick: callMultiple(onCancel, onClearButtonClick),
186
+ onPointerDown: onClearPointerDown,
187
+ onClick: onClearClick,
179
188
  tabIndex: hasValue ? undefined : -1,
180
189
  disabled: inputRest.disabled,
181
190
  "data-testid": clearButtonTestId,
@@ -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 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 const onClearPointerDown: React.PointerEventHandler<HTMLElement> = (e) => {\n // Сначала вызываем внешний обработчик, затем локальную логику, чтобы можно было предотвратить обработку фокуса на поле ввода.\n onClearButtonPointerDown?.(e);\n\n e.preventDefault();\n inputRef.current?.focus();\n if (touchEnabled()) {\n onCancel();\n }\n };\n\n const onClearClick: React.MouseEventHandler<HTMLElement> = (e) => {\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\n onClearButtonClick?.(e);\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={onClearPointerDown}\n onClick={onClearClick}\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","undefined","renderIconButton","props","hoverMode","showControls","compact","onClearPointerDown","preventDefault","focus","onClearClick","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":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,kBAAkB,QAAQ,oCAAiC;AACpE,SAASC,uBAAuB,QAAQ,mCAAgC;AACxE,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,yBAAyB,QAAQ,yCAAsC;AAChF,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SACEC,sBAAsB,QAEjB,qDAAkD;AACzD,OAAOC,YAAY,gCAAgC;AAEnD,MAAMC,oBAAoB;IACxBC,MAAMF,OAAOG,WAAW;IACxBC,SAASJ,OAAOK,cAAc;AAChC;AAkDA,MAAMC,OAAOT,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMU,mBAAmB,CAA0D,EACxFC,OAAO,GAAG,EACVC,IAAI,EACJC,OAAO,EACPC,eAAeD,OAAO,CAAC,EAAE,EAAEE,KAAK,EAChCC,QAAQ,EACRC,UAAUC,YAAY,EACtBH,OAAOI,SAAS,EAChBC,OAAO,YAAY,EACnB,GAAGC,WACsB;IACzB,MAAMC,KAAK7B,MAAM8B,KAAK;IACtB,MAAMC,YAAY5B;IAClB,MAAM6B,QAAQD,cAAc;IAE5B,MAAM,CAACT,OAAOE,SAAS,GAAGpB,wBAAwB;QAChDoB,UAAUC;QACVH,OAAOI;QACPL;IACF;IAEA,MAAM,EAAEY,UAAU,MAAM,EAAE,GAAG/B;IAE7B,MAAM,EAAEgC,OAAO,EAAE,GAAG7B,kBAAkBsB,SAAS,WAAWK;IAE1D,MAAMG,cAAcf,QAAQgB,SAAS,CAAC,CAACC,SAAWA,OAAOf,KAAK,KAAKA;IAEnEhB,0BAA0B;QACxB,IAAI6B,gBAAgB,CAAC,KAAKG,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;YAChExB,KAAK,kDAAkD;QACzD;IACF,GAAG;QAACmB;KAAY;IAEhB,MAAMM,cAAmC;QACvC,kDAAkDC,OAAOP;QACzD,6CAA6CO,OAAOtB,QAAQuB,MAAM;IACpE;IAEA,qBACE,KAACnC;QACE,GAAGoB,SAAS;QACbgB,eAAe3C,WACbS,OAAOmC,IAAI,EACXZ,YAAY,aAAatB,iBAAiB,CAACsB,QAAQ,EACnDf,SAAS,OAAOR,OAAOoC,KAAK,EAC5Bd,SAAStB,OAAOqC,GAAG;kBAGrB,cAAA,MAACC;YAAIrB,MAAMA;YAAMsB,KAAKf;YAASgB,WAAWxC,OAAOyC,EAAE;;gBAChDhB,cAAc,CAAC,mBAAK,KAACa;oBAAII,aAAW;oBAACF,WAAWxC,OAAO2C,MAAM;oBAAEC,OAAOb;;gBACtErB,QAAQmC,GAAG,CAAC,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAGC,aAAa;oBAC7C,MAAMC,WAAWrC,UAAUoC,YAAYpC,KAAK;oBAC5C,MAAMsC,WAAW,IAAMpC,SAASkC,YAAYpC,KAAK;oBACjD,MAAMuC,kBACJlC,SAAS,YACL;wBACE,QAAQ;wBACR,iBAAiBgC;wBACjB,WAAWC;wBACX,YAAYF,YAAYI,QAAQ,IAAKH,CAAAA,WAAW,IAAI,CAAC,CAAA;wBACrD,GAAGD,WAAW;oBAChB,IACAK;oBAEN,MAAMC,mBACJrC,SAAS,YACL;wBACEA,MAAM+B,YAAY/B,IAAI,IAAKA,CAAAA,SAAS,eAAe,UAAUoC,SAAQ;wBACrEE,SAASN;wBACTnC,UAAUoC;wBACVzC,MAAMA,QAAQU;wBACd,GAAG6B,WAAW;oBAChB,IACAK;oBAEN,qBACE,KAACtD;wBAECgD,QAAQA;wBACRS,WAAWL;wBACXM,YAAYH;kCAEXR;uBALI,GAAGE,YAAYpC,KAAK,EAAE;gBAQjC;;;;AAIR,EAAE"}
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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Separator/Separator.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport { resolveLayoutProps } from '../../lib/layouts';\nimport type { LayoutProps } from '../../lib/layouts/types';\nimport { resolveSpacingSize, type SpacingSizeProp } from '../../lib/spacings/sizes';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Separator.module.css';\n\nexport const CUSTOM_CSS_TOKEN_FOR_USER_SIZE = '--vkui_internal--spacing_size';\n\ntype PickAllFlexProps<T> = { [K in keyof T as K extends `flex${string}` ? K : never]: T[K] };\n\nexport interface SeparatorProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n PickAllFlexProps<LayoutProps> {\n /**\n * Стиль отображения разделителя.\n */\n appearance?: 'primary' | 'secondary' | 'primary-alpha';\n /**\n * Добавляет стандартные отступы у разделителя.\n */\n padding?: boolean;\n /**\n * Направление отображения разделителя.\n */\n direction?: 'horizontal' | 'vertical';\n /**\n * Размер контейнера, в который вложен разделитель.\n *\n * Принимает значения дизайн-системы, числовые значения и css-переменные.\n */\n size?: SpacingSizeProp;\n /**\n * Выравнивание разделителя в контейнере.\n */\n align?: 'start' | 'center' | 'end';\n}\n\nconst appearanceClassNames = {\n 'primary': styles.appearancePrimary,\n 'secondary': styles.appearanceSecondary,\n 'primary-alpha': styles.appearancePrimaryAlpha,\n};\n\nconst directionClassNames = {\n horizontal: styles.directionHorizontal,\n vertical: styles.directionVertical,\n};\n\nconst alignClassNames = {\n start: styles.alignStart,\n end: styles.alignEnd,\n};\n\n/**\n * @see https://vkui.io/components/separator\n */\nexport const Separator = ({\n padding = false,\n appearance = 'primary',\n direction = 'horizontal',\n align = 'center',\n size,\n ...restProps\n}: SeparatorProps): React.ReactNode => {\n const [spacingSizeClassName, spacingSizeStyle] = resolveSpacingSize(\n CUSTOM_CSS_TOKEN_FOR_USER_SIZE,\n size,\n );\n const resolvedProps = resolveLayoutProps(restProps);\n\n return (\n <RootComponent\n {...resolvedProps}\n baseClassName={classNames(\n padding && styles.padded,\n appearanceClassNames[appearance],\n directionClassNames[direction],\n size !== undefined && styles.sized,\n align !== 'center' && alignClassNames[align],\n spacingSizeClassName,\n )}\n baseStyle={spacingSizeStyle}\n >\n <hr className={styles.in} />\n </RootComponent>\n );\n};\n"],"names":["classNames","resolveLayoutProps","resolveSpacingSize","RootComponent","styles","CUSTOM_CSS_TOKEN_FOR_USER_SIZE","appearanceClassNames","appearancePrimary","appearanceSecondary","appearancePrimaryAlpha","directionClassNames","horizontal","directionHorizontal","vertical","directionVertical","alignClassNames","start","alignStart","end","alignEnd","Separator","padding","appearance","direction","align","size","restProps","spacingSizeClassName","spacingSizeStyle","resolvedProps","baseClassName","padded","undefined","sized","baseStyle","hr","className","in"],"mappings":";AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAAQ,6BAAoB;AAEvD,SAASC,kBAAkB,QAA8B,8BAA2B;AAEpF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,yBAAyB;AAE5C,OAAO,MAAMC,iCAAiC,gCAAgC;AA+B9E,MAAMC,uBAAuB;IAC3B,WAAWF,OAAOG,iBAAiB;IACnC,aAAaH,OAAOI,mBAAmB;IACvC,iBAAiBJ,OAAOK,sBAAsB;AAChD;AAEA,MAAMC,sBAAsB;IAC1BC,YAAYP,OAAOQ,mBAAmB;IACtCC,UAAUT,OAAOU,iBAAiB;AACpC;AAEA,MAAMC,kBAAkB;IACtBC,OAAOZ,OAAOa,UAAU;IACxBC,KAAKd,OAAOe,QAAQ;AACtB;AAEA;;CAEC,GACD,OAAO,MAAMC,YAAY,CAAC,EACxBC,UAAU,KAAK,EACfC,aAAa,SAAS,EACtBC,YAAY,YAAY,EACxBC,QAAQ,QAAQ,EAChBC,IAAI,EACJ,GAAGC,WACY;IACf,MAAM,CAACC,sBAAsBC,iBAAiB,GAAG1B,mBAC/CG,gCACAoB;IAEF,MAAMI,gBAAgB5B,mBAAmByB;IAEzC,qBACE,KAACvB;QACE,GAAG0B,aAAa;QACjBC,eAAe9B,WACbqB,WAAWjB,OAAO2B,MAAM,EACxBzB,oBAAoB,CAACgB,WAAW,EAChCZ,mBAAmB,CAACa,UAAU,EAC9BE,SAASO,aAAa5B,OAAO6B,KAAK,EAClCT,UAAU,YAAYT,eAAe,CAACS,MAAM,EAC5CG;QAEFO,WAAWN;kBAEX,cAAA,KAACO;YAAGC,WAAWhC,OAAOiC,EAAE;;;AAG9B,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Separator/Separator.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport { resolveLayoutProps } from '../../lib/layouts';\nimport type { LayoutProps } from '../../lib/layouts/types';\nimport { resolveSpacingSize, type SpacingSizeProp } from '../../lib/spacings/sizes';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport styles from './Separator.module.css';\n\nexport const CUSTOM_CSS_TOKEN_FOR_USER_SIZE = '--vkui_internal--spacing_size';\n\ntype PickAllFlexProps<T> = { [K in keyof T as K extends `flex${string}` ? K : never]: T[K] };\n\nexport interface SeparatorProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n PickAllFlexProps<LayoutProps> {\n /**\n * Стиль отображения разделителя.\n */\n appearance?: 'primary' | 'secondary' | 'primary-alpha' | undefined;\n /**\n * Добавляет стандартные отступы у разделителя.\n */\n padding?: boolean | undefined;\n /**\n * Направление отображения разделителя.\n */\n direction?: 'horizontal' | 'vertical' | undefined;\n /**\n * Размер контейнера, в который вложен разделитель.\n *\n * Принимает значения дизайн-системы, числовые значения и css-переменные.\n */\n size?: SpacingSizeProp | undefined;\n /**\n * Выравнивание разделителя в контейнере.\n */\n align?: 'start' | 'center' | 'end' | undefined;\n}\n\nconst appearanceClassNames = {\n 'primary': styles.appearancePrimary,\n 'secondary': styles.appearanceSecondary,\n 'primary-alpha': styles.appearancePrimaryAlpha,\n};\n\nconst directionClassNames = {\n horizontal: styles.directionHorizontal,\n vertical: styles.directionVertical,\n};\n\nconst alignClassNames = {\n start: styles.alignStart,\n end: styles.alignEnd,\n};\n\n/**\n * @see https://vkui.io/components/separator\n */\nexport const Separator = ({\n padding = false,\n appearance = 'primary',\n direction = 'horizontal',\n align = 'center',\n size,\n ...restProps\n}: SeparatorProps): React.ReactNode => {\n const [spacingSizeClassName, spacingSizeStyle] = resolveSpacingSize(\n CUSTOM_CSS_TOKEN_FOR_USER_SIZE,\n size,\n );\n const resolvedProps = resolveLayoutProps(restProps);\n\n return (\n <RootComponent\n {...resolvedProps}\n baseClassName={classNames(\n padding && styles.padded,\n appearanceClassNames[appearance],\n directionClassNames[direction],\n size !== undefined && styles.sized,\n align !== 'center' && alignClassNames[align],\n spacingSizeClassName,\n )}\n baseStyle={spacingSizeStyle}\n >\n <hr className={styles.in} />\n </RootComponent>\n );\n};\n"],"names":["classNames","resolveLayoutProps","resolveSpacingSize","RootComponent","styles","CUSTOM_CSS_TOKEN_FOR_USER_SIZE","appearanceClassNames","appearancePrimary","appearanceSecondary","appearancePrimaryAlpha","directionClassNames","horizontal","directionHorizontal","vertical","directionVertical","alignClassNames","start","alignStart","end","alignEnd","Separator","padding","appearance","direction","align","size","restProps","spacingSizeClassName","spacingSizeStyle","resolvedProps","baseClassName","padded","undefined","sized","baseStyle","hr","className","in"],"mappings":";AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kBAAkB,QAAQ,6BAAoB;AAEvD,SAASC,kBAAkB,QAA8B,8BAA2B;AAEpF,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,OAAOC,YAAY,yBAAyB;AAE5C,OAAO,MAAMC,iCAAiC,gCAAgC;AA+B9E,MAAMC,uBAAuB;IAC3B,WAAWF,OAAOG,iBAAiB;IACnC,aAAaH,OAAOI,mBAAmB;IACvC,iBAAiBJ,OAAOK,sBAAsB;AAChD;AAEA,MAAMC,sBAAsB;IAC1BC,YAAYP,OAAOQ,mBAAmB;IACtCC,UAAUT,OAAOU,iBAAiB;AACpC;AAEA,MAAMC,kBAAkB;IACtBC,OAAOZ,OAAOa,UAAU;IACxBC,KAAKd,OAAOe,QAAQ;AACtB;AAEA;;CAEC,GACD,OAAO,MAAMC,YAAY,CAAC,EACxBC,UAAU,KAAK,EACfC,aAAa,SAAS,EACtBC,YAAY,YAAY,EACxBC,QAAQ,QAAQ,EAChBC,IAAI,EACJ,GAAGC,WACY;IACf,MAAM,CAACC,sBAAsBC,iBAAiB,GAAG1B,mBAC/CG,gCACAoB;IAEF,MAAMI,gBAAgB5B,mBAAmByB;IAEzC,qBACE,KAACvB;QACE,GAAG0B,aAAa;QACjBC,eAAe9B,WACbqB,WAAWjB,OAAO2B,MAAM,EACxBzB,oBAAoB,CAACgB,WAAW,EAChCZ,mBAAmB,CAACa,UAAU,EAC9BE,SAASO,aAAa5B,OAAO6B,KAAK,EAClCT,UAAU,YAAYT,eAAe,CAACS,MAAM,EAC5CG;QAEFO,WAAWN;kBAEX,cAAA,KAACO;YAAGC,WAAWhC,OAAOiC,EAAE;;;AAG9B,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/SimpleCell/Chevron/Chevron.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport type * as React from 'react';\nimport { Icon16Chevron, Icon24ChevronCompactRight } from '@vkontakte/icons';\n\nconst iconSize = {\n s: Icon16Chevron,\n m: Icon24ChevronCompactRight,\n};\n\nexport interface ChevronProps extends Omit<React.SVGProps<SVGSVGElement>, 'width' | 'height'> {\n size?: 's' | 'm';\n}\n\nexport const Chevron = ({ size = 'm', ...restProps }: ChevronProps): React.ReactNode => {\n const Icon = iconSize[size];\n\n return <Icon {...restProps} />;\n};\n"],"names":["Icon16Chevron","Icon24ChevronCompactRight","iconSize","s","m","Chevron","size","restProps","Icon"],"mappings":"AAAA,sCAAsC;AAGtC,SAASA,aAAa,EAAEC,yBAAyB,QAAQ,mBAAmB;AAE5E,MAAMC,WAAW;IACfC,GAAGH;IACHI,GAAGH;AACL;AAMA,OAAO,MAAMI,UAAU,CAAC,EAAEC,OAAO,GAAG,EAAE,GAAGC,WAAyB;IAChE,MAAMC,OAAON,QAAQ,CAACI,KAAK;IAE3B,qBAAO,KAACE;QAAM,GAAGD,SAAS;;AAC5B,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/components/SimpleCell/Chevron/Chevron.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport type * as React from 'react';\nimport { Icon16Chevron, Icon24ChevronCompactRight } from '@vkontakte/icons';\n\nconst iconSize = {\n s: Icon16Chevron,\n m: Icon24ChevronCompactRight,\n};\n\nexport interface ChevronProps extends Omit<React.SVGProps<SVGSVGElement>, 'width' | 'height'> {\n size?: 's' | 'm' | undefined;\n}\n\nexport const Chevron = ({ size = 'm', ...restProps }: ChevronProps): React.ReactNode => {\n const Icon = iconSize[size];\n\n return <Icon {...restProps} />;\n};\n"],"names":["Icon16Chevron","Icon24ChevronCompactRight","iconSize","s","m","Chevron","size","restProps","Icon"],"mappings":"AAAA,sCAAsC;AAGtC,SAASA,aAAa,EAAEC,yBAAyB,QAAQ,mBAAmB;AAE5E,MAAMC,WAAW;IACfC,GAAGH;IACHI,GAAGH;AACL;AAMA,OAAO,MAAMI,UAAU,CAAC,EAAEC,OAAO,GAAG,EAAE,GAAGC,WAAyB;IAChE,MAAMC,OAAON,QAAQ,CAACI,KAAK;IAE3B,qBAAO,KAACE;QAAM,GAAGD,SAAS;;AAC5B,EAAE"}