@vkontakte/vkui 8.0.1 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1368) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +8 -6
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +3 -0
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/AccordionIcon.d.ts +14 -0
  6. package/dist/components/Accordion/AccordionIcon.d.ts.map +1 -0
  7. package/dist/components/Accordion/AccordionIcon.js +16 -0
  8. package/dist/components/Accordion/AccordionIcon.js.map +1 -0
  9. package/dist/components/Accordion/AccordionSummary.d.ts +3 -3
  10. package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
  11. package/dist/components/Accordion/AccordionSummary.js +4 -6
  12. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  13. package/dist/components/ActionSheet/ActionSheet.d.ts +9 -9
  14. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  15. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  16. package/dist/components/ActionSheet/ActionSheetContext.d.ts +3 -3
  17. package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  18. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  19. package/dist/components/ActionSheet/types.d.ts +8 -8
  20. package/dist/components/ActionSheet/types.d.ts.map +1 -1
  21. package/dist/components/ActionSheet/types.js.map +1 -1
  22. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +15 -15
  23. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  24. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  25. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts +1 -1
  26. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts.map +1 -1
  27. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  28. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +7 -7
  29. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
  30. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  31. package/dist/components/Alert/Alert.d.ts +18 -18
  32. package/dist/components/Alert/Alert.d.ts.map +1 -1
  33. package/dist/components/Alert/Alert.js.map +1 -1
  34. package/dist/components/Alert/AlertBase.d.ts +2 -2
  35. package/dist/components/Alert/AlertBase.d.ts.map +1 -1
  36. package/dist/components/Alert/AlertBase.js.map +1 -1
  37. package/dist/components/Alert/AlertTypography.d.ts +1 -1
  38. package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
  39. package/dist/components/Alert/AlertTypography.js.map +1 -1
  40. package/dist/components/AppRoot/AppRoot.d.ts +9 -9
  41. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  42. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  43. package/dist/components/AppRoot/AppRootContext.d.ts +4 -4
  44. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  45. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  46. package/dist/components/AppRoot/AppRootPortal.d.ts +2 -2
  47. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  48. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  49. package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
  50. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  51. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  52. package/dist/components/AppRoot/types.d.ts +4 -4
  53. package/dist/components/AppRoot/types.d.ts.map +1 -1
  54. package/dist/components/AppRoot/types.js.map +1 -1
  55. package/dist/components/AspectRatio/AspectRatio.d.ts +2 -2
  56. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  57. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  58. package/dist/components/Avatar/Avatar.d.ts +2 -2
  59. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  60. package/dist/components/Avatar/Avatar.js.map +1 -1
  61. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
  62. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
  63. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  64. package/dist/components/Badge/Badge.d.ts +1 -1
  65. package/dist/components/Badge/Badge.d.ts.map +1 -1
  66. package/dist/components/Badge/Badge.js.map +1 -1
  67. package/dist/components/Banner/Banner.d.ts +12 -12
  68. package/dist/components/Banner/Banner.d.ts.map +1 -1
  69. package/dist/components/Banner/Banner.js.map +1 -1
  70. package/dist/components/Box/Box.d.ts +1 -1
  71. package/dist/components/Box/Box.d.ts.map +1 -1
  72. package/dist/components/Box/Box.js.map +1 -1
  73. package/dist/components/Button/Button.d.ts +11 -11
  74. package/dist/components/Button/Button.d.ts.map +1 -1
  75. package/dist/components/Button/Button.js +1 -1
  76. package/dist/components/Button/Button.js.map +1 -1
  77. package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -4
  78. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  79. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  80. package/dist/components/Calendar/Calendar.d.ts +17 -17
  81. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  82. package/dist/components/Calendar/Calendar.js.map +1 -1
  83. package/dist/components/CalendarDay/CalendarDay.d.ts +18 -18
  84. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  85. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  86. package/dist/components/CalendarDays/CalendarDays.d.ts +14 -14
  87. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  88. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  89. package/dist/components/CalendarHeader/CalendarHeader.d.ts +19 -19
  90. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  91. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  92. package/dist/components/CalendarRange/CalendarRange.d.ts +12 -12
  93. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  94. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  95. package/dist/components/CalendarTime/CalendarTime.d.ts +14 -14
  96. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  97. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  98. package/dist/components/CalendarTime/CalendarTimePicker.d.ts +3 -3
  99. package/dist/components/CalendarTime/CalendarTimePicker.d.ts.map +1 -1
  100. package/dist/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  101. package/dist/components/Card/Card.d.ts +1 -1
  102. package/dist/components/Card/Card.d.ts.map +1 -1
  103. package/dist/components/Card/Card.js.map +1 -1
  104. package/dist/components/CardGrid/CardGrid.d.ts +2 -2
  105. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  106. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  107. package/dist/components/CardScroll/CardScroll.d.ts +3 -3
  108. package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
  109. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  110. package/dist/components/CarouselBase/Bullets.d.ts +1 -1
  111. package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
  112. package/dist/components/CarouselBase/Bullets.js.map +1 -1
  113. package/dist/components/CarouselBase/CarouselViewPort.d.ts +1 -1
  114. package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -1
  115. package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -1
  116. package/dist/components/CarouselBase/ScrollArrows.d.ts +2 -2
  117. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  118. package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
  119. package/dist/components/CarouselBase/helpers.d.ts +4 -4
  120. package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
  121. package/dist/components/CarouselBase/helpers.js.map +1 -1
  122. package/dist/components/CarouselBase/types.d.ts +23 -23
  123. package/dist/components/CarouselBase/types.d.ts.map +1 -1
  124. package/dist/components/CarouselBase/types.js.map +1 -1
  125. package/dist/components/Cell/Cell.d.ts +8 -8
  126. package/dist/components/Cell/Cell.d.ts.map +1 -1
  127. package/dist/components/Cell/Cell.js.map +1 -1
  128. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  129. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts.map +1 -1
  130. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  131. package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -2
  132. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  133. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  134. package/dist/components/CellButton/CellButton.d.ts +16 -16
  135. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  136. package/dist/components/CellButton/CellButton.js.map +1 -1
  137. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +2 -2
  138. package/dist/components/Checkbox/Checkbox.d.ts +6 -6
  139. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  140. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  141. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +11 -11
  142. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  143. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  144. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  145. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  146. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  147. package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
  148. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  149. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  150. package/dist/components/ChipsInputBase/Chip/Chip.d.ts +9 -9
  151. package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
  152. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  153. package/dist/components/ChipsInputBase/types.d.ts +19 -19
  154. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  155. package/dist/components/ChipsInputBase/types.js.map +1 -1
  156. package/dist/components/ChipsSelect/ChipsSelect.d.ts +13 -13
  157. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  158. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  159. package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  160. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  161. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  162. package/dist/components/Clickable/Clickable.d.ts +1 -1
  163. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  164. package/dist/components/Clickable/Clickable.js.map +1 -1
  165. package/dist/components/Clickable/useState.d.ts +13 -13
  166. package/dist/components/Clickable/useState.d.ts.map +1 -1
  167. package/dist/components/Clickable/useState.js.map +1 -1
  168. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  169. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  170. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  171. package/dist/components/ContentBadge/ContentBadge.d.ts +4 -4
  172. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  173. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  174. package/dist/components/ContentCard/ContentCard.d.ts +8 -8
  175. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  176. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  177. package/dist/components/Counter/Counter.d.ts +4 -4
  178. package/dist/components/Counter/Counter.d.ts.map +1 -1
  179. package/dist/components/Counter/Counter.js.map +1 -1
  180. package/dist/components/CustomScrollView/CustomScrollView.d.ts +6 -6
  181. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  182. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  183. package/dist/components/CustomSelect/CustomSelect.d.ts +36 -27
  184. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  185. package/dist/components/CustomSelect/CustomSelect.js +2 -2
  186. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  187. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +2 -2
  188. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  189. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  190. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +9 -9
  191. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  192. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  193. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts +2 -2
  194. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts.map +1 -1
  195. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  196. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts +1 -1
  197. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts.map +1 -1
  198. package/dist/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  199. package/dist/components/CustomSelect/types.d.ts +1 -1
  200. package/dist/components/CustomSelect/types.d.ts.map +1 -1
  201. package/dist/components/CustomSelect/types.js.map +1 -1
  202. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +8 -8
  203. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  204. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  205. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +9 -9
  206. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
  207. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  208. package/dist/components/DateInput/DateInput.d.ts +23 -23
  209. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  210. package/dist/components/DateInput/DateInput.js +3 -12
  211. package/dist/components/DateInput/DateInput.js.map +1 -1
  212. package/dist/components/DateInput/hooks.d.ts +4 -4
  213. package/dist/components/DateInput/hooks.d.ts.map +1 -1
  214. package/dist/components/DateInput/hooks.js.map +1 -1
  215. package/dist/components/DateRangeInput/DateRangeInput.d.ts +25 -25
  216. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  217. package/dist/components/DateRangeInput/DateRangeInput.js +2 -11
  218. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  219. package/dist/components/DropZone/DropZone.d.ts +2 -2
  220. package/dist/components/DropZone/DropZone.d.ts.map +1 -1
  221. package/dist/components/DropZone/DropZone.js +1 -1
  222. package/dist/components/DropZone/DropZone.js.map +1 -1
  223. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.d.ts +1 -1
  224. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.d.ts.map +1 -0
  225. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +3 -3
  226. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  227. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  228. package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
  229. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  230. package/dist/components/Epic/Epic.d.ts +1 -1
  231. package/dist/components/Epic/Epic.d.ts.map +1 -1
  232. package/dist/components/Epic/Epic.js.map +1 -1
  233. package/dist/components/Epic/ScrollSaver.d.ts +1 -1
  234. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  235. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  236. package/dist/components/File/File.d.ts +4 -4
  237. package/dist/components/File/File.d.ts.map +1 -1
  238. package/dist/components/File/File.js.map +1 -1
  239. package/dist/components/FixedLayout/FixedLayout.d.ts +3 -3
  240. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  241. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  242. package/dist/components/Flex/Flex.d.ts +8 -8
  243. package/dist/components/Flex/Flex.d.ts.map +1 -1
  244. package/dist/components/Flex/Flex.js.map +1 -1
  245. package/dist/components/Flex/FlexItem/FlexItem.d.ts +1 -1
  246. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  247. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  248. package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -9
  249. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  250. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  251. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  252. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  253. package/dist/components/FocusTrap/FocusTrap.js +2 -4
  254. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  255. package/dist/components/FormField/FormField.d.ts +8 -8
  256. package/dist/components/FormField/FormField.d.ts.map +1 -1
  257. package/dist/components/FormField/FormField.js.map +1 -1
  258. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +2 -2
  259. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  260. package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  261. package/dist/components/FormItem/FormItem.d.ts +10 -10
  262. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  263. package/dist/components/FormItem/FormItem.js.map +1 -1
  264. package/dist/components/FormItem/context.d.ts +2 -2
  265. package/dist/components/FormItem/context.d.ts.map +1 -1
  266. package/dist/components/FormItem/context.js.map +1 -1
  267. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +4 -4
  268. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  269. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  270. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  271. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  272. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  273. package/dist/components/Gallery/Gallery.d.ts +2 -2
  274. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  275. package/dist/components/Gallery/Gallery.js.map +1 -1
  276. package/dist/components/Gradient/Gradient.d.ts +2 -2
  277. package/dist/components/Gradient/Gradient.d.ts.map +1 -1
  278. package/dist/components/Gradient/Gradient.js.map +1 -1
  279. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  280. package/dist/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  281. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  282. package/dist/components/Group/Group.d.ts +2 -2
  283. package/dist/components/Group/Group.d.ts.map +1 -1
  284. package/dist/components/Group/Group.js.map +1 -1
  285. package/dist/components/Group/GroupContainer.d.ts +3 -3
  286. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  287. package/dist/components/Group/GroupContainer.js.map +1 -1
  288. package/dist/components/Group/GroupExpandedContent.d.ts +1 -1
  289. package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
  290. package/dist/components/Group/GroupExpandedContent.js.map +1 -1
  291. package/dist/components/Header/Header.d.ts +11 -11
  292. package/dist/components/Header/Header.d.ts.map +1 -1
  293. package/dist/components/Header/Header.js.map +1 -1
  294. package/dist/components/HorizontalCell/HorizontalCell.d.ts +7 -7
  295. package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
  296. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  297. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +4 -4
  298. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  299. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  300. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +30 -15
  301. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  302. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -6
  303. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  304. package/dist/components/IconButton/IconButton.d.ts +1 -1
  305. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  306. package/dist/components/IconButton/IconButton.js.map +1 -1
  307. package/dist/components/Image/Image.d.ts +5 -5
  308. package/dist/components/Image/Image.d.ts.map +1 -1
  309. package/dist/components/Image/Image.js.map +1 -1
  310. package/dist/components/ImageBase/ImageBase.d.ts +17 -15
  311. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  312. package/dist/components/ImageBase/ImageBase.js +9 -5
  313. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  314. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
  315. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
  316. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  317. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +3 -3
  318. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
  319. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  320. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +3 -3
  321. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  322. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  323. package/dist/components/ImageBase/types.d.ts +3 -3
  324. package/dist/components/ImageBase/types.d.ts.map +1 -1
  325. package/dist/components/ImageBase/types.js.map +1 -1
  326. package/dist/components/Input/Input.d.ts +4 -4
  327. package/dist/components/Input/Input.d.ts.map +1 -1
  328. package/dist/components/Input/Input.js.map +1 -1
  329. package/dist/components/InputLike/InputLike.d.ts +3 -3
  330. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  331. package/dist/components/InputLike/InputLike.js.map +1 -1
  332. package/dist/components/Link/Link.d.ts +4 -4
  333. package/dist/components/Link/Link.d.ts.map +1 -1
  334. package/dist/components/Link/Link.js.map +1 -1
  335. package/dist/components/List/List.d.ts +1 -1
  336. package/dist/components/List/List.d.ts.map +1 -1
  337. package/dist/components/List/List.js.map +1 -1
  338. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +5 -5
  339. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  340. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  341. package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
  342. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  343. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  344. package/dist/components/ModalCard/types.d.ts +13 -13
  345. package/dist/components/ModalCard/types.d.ts.map +1 -1
  346. package/dist/components/ModalCard/types.js.map +1 -1
  347. package/dist/components/ModalCardBase/ModalCardBase.d.ts +14 -14
  348. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  349. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  350. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  351. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  352. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  353. package/dist/components/ModalOutlet/ModalOutlet.d.ts +3 -3
  354. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  355. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  356. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
  357. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -1
  358. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  359. package/dist/components/ModalOverlay/ModalOverlay.d.ts +7 -7
  360. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  361. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
  362. package/dist/components/ModalPage/ModalPageBase.d.ts +2 -2
  363. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  364. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  365. package/dist/components/ModalPage/ModalPageInternal.d.ts +2 -2
  366. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  367. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  368. package/dist/components/ModalPage/types.d.ts +27 -27
  369. package/dist/components/ModalPage/types.d.ts.map +1 -1
  370. package/dist/components/ModalPage/types.js.map +1 -1
  371. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +2 -2
  372. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  373. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  374. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
  375. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  376. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  377. package/dist/components/ModalRoot/types.d.ts +15 -15
  378. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  379. package/dist/components/ModalRoot/types.js.map +1 -1
  380. package/dist/components/ModalRoot/useModalRootManager.d.ts +19 -19
  381. package/dist/components/ModalRoot/useModalRootManager.d.ts.map +1 -1
  382. package/dist/components/ModalRoot/useModalRootManager.js.map +1 -1
  383. package/dist/components/NativeSelect/NativeSelect.d.ts +11 -11
  384. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  385. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  386. package/dist/components/NumberInputLike/NumberInputLike.d.ts +3 -3
  387. package/dist/components/NumberInputLike/NumberInputLike.d.ts.map +1 -1
  388. package/dist/components/NumberInputLike/NumberInputLike.js.map +1 -1
  389. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +6 -6
  390. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  391. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  392. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  393. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  394. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  395. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  396. package/dist/components/Pagination/Pagination.d.ts +19 -19
  397. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  398. package/dist/components/Pagination/Pagination.js +14 -6
  399. package/dist/components/Pagination/Pagination.js.map +1 -1
  400. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts +3 -3
  401. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  402. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  403. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +3 -3
  404. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  405. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  406. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +1 -1
  407. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  408. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  409. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +3 -3
  410. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  411. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  412. package/dist/components/Panel/Panel.d.ts +3 -3
  413. package/dist/components/Panel/Panel.d.ts.map +1 -1
  414. package/dist/components/Panel/Panel.js.map +1 -1
  415. package/dist/components/PanelHeader/PanelHeader.d.ts +8 -8
  416. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  417. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  418. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  419. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  420. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  421. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +2 -2
  422. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  423. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  424. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -3
  425. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  426. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  427. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
  428. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
  429. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  430. package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
  431. package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
  432. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  433. package/dist/components/Placeholder/Placeholder.d.ts +5 -5
  434. package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
  435. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  436. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +6 -6
  437. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  438. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  439. package/dist/components/Popover/Popover.d.ts +5 -5
  440. package/dist/components/Popover/Popover.d.ts.map +1 -1
  441. package/dist/components/Popover/Popover.js.map +1 -1
  442. package/dist/components/Popper/Popper.d.ts +4 -4
  443. package/dist/components/Popper/Popper.d.ts.map +1 -1
  444. package/dist/components/Popper/Popper.js +13 -7
  445. package/dist/components/Popper/Popper.js.map +1 -1
  446. package/dist/components/Progress/Progress.d.ts +4 -4
  447. package/dist/components/Progress/Progress.d.ts.map +1 -1
  448. package/dist/components/Progress/Progress.js.map +1 -1
  449. package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
  450. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  451. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  452. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +4 -4
  453. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  454. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  455. package/dist/components/Radio/Radio.d.ts +7 -7
  456. package/dist/components/Radio/Radio.d.ts.map +1 -1
  457. package/dist/components/Radio/Radio.js +2 -2
  458. package/dist/components/Radio/Radio.js.map +1 -1
  459. package/dist/components/Radio/RadioInput/RadioInput.d.ts +4 -4
  460. package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
  461. package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
  462. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  463. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  464. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  465. package/dist/components/Removable/Removable.d.ts +9 -9
  466. package/dist/components/Removable/Removable.d.ts.map +1 -1
  467. package/dist/components/Removable/Removable.js.map +1 -1
  468. package/dist/components/Removable/RemovableIos.d.ts +3 -3
  469. package/dist/components/Removable/RemovableIos.d.ts.map +1 -1
  470. package/dist/components/Removable/RemovableIos.js.map +1 -1
  471. package/dist/components/RichCell/RichCell.d.ts +15 -15
  472. package/dist/components/RichCell/RichCell.d.ts.map +1 -1
  473. package/dist/components/RichCell/RichCell.js.map +1 -1
  474. package/dist/components/Root/Root.d.ts +4 -4
  475. package/dist/components/Root/Root.d.ts.map +1 -1
  476. package/dist/components/Root/Root.js.map +1 -1
  477. package/dist/components/RootComponent/RootComponent.d.ts +2 -2
  478. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  479. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  480. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -1
  481. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
  482. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  483. package/dist/components/ScreenSpinner/context.d.ts +2 -2
  484. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  485. package/dist/components/ScreenSpinner/context.js.map +1 -1
  486. package/dist/components/ScreenSpinner/types.d.ts +5 -5
  487. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  488. package/dist/components/ScreenSpinner/types.js.map +1 -1
  489. package/dist/components/ScrollArrow/ScrollArrow.d.ts +10 -4
  490. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  491. package/dist/components/ScrollArrow/ScrollArrow.js +14 -4
  492. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  493. package/dist/components/Search/Search.d.ts +17 -17
  494. package/dist/components/Search/Search.d.ts.map +1 -1
  495. package/dist/components/Search/Search.js.map +1 -1
  496. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -6
  497. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  498. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  499. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  500. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  501. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  502. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  503. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  504. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  505. package/dist/components/SelectTypography/SelectTypography.d.ts +1 -1
  506. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  507. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  508. package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
  509. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
  510. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  511. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +2 -2
  512. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  513. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  514. package/dist/components/Separator/Separator.d.ts +5 -5
  515. package/dist/components/Separator/Separator.d.ts.map +1 -1
  516. package/dist/components/Separator/Separator.js.map +1 -1
  517. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +1 -1
  518. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  519. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  520. package/dist/components/SimpleCell/SimpleCell.d.ts +14 -14
  521. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  522. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  523. package/dist/components/SimpleGrid/SimpleGrid.d.ts +6 -6
  524. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  525. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  526. package/dist/components/Skeleton/Skeleton.d.ts +5 -5
  527. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  528. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  529. package/dist/components/Slider/Slider.d.ts +17 -17
  530. package/dist/components/Slider/Slider.d.ts.map +1 -1
  531. package/dist/components/Slider/Slider.js.map +1 -1
  532. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +5 -5
  533. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  534. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  535. package/dist/components/Snackbar/Snackbar.d.ts +10 -10
  536. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  537. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  538. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
  539. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts.map +1 -1
  540. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  541. package/dist/components/Snackbar/utils.d.ts +1 -1
  542. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  543. package/dist/components/Snackbar/utils.js.map +1 -1
  544. package/dist/components/Spacing/Spacing.d.ts +2 -2
  545. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  546. package/dist/components/Spacing/Spacing.js.map +1 -1
  547. package/dist/components/Spinner/Spinner.d.ts +4 -4
  548. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  549. package/dist/components/Spinner/Spinner.js.map +1 -1
  550. package/dist/components/SplitCol/SplitCol.d.ts +7 -7
  551. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  552. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  553. package/dist/components/SplitLayout/SplitLayout.d.ts +8 -8
  554. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  555. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  556. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -2
  557. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  558. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  559. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +8 -8
  560. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  561. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  562. package/dist/components/Switch/Switch.d.ts +4 -4
  563. package/dist/components/Switch/Switch.d.ts.map +1 -1
  564. package/dist/components/Switch/Switch.js.map +1 -1
  565. package/dist/components/Tabbar/Tabbar.d.ts +2 -2
  566. package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
  567. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  568. package/dist/components/TabbarItem/TabbarItem.d.ts +3 -3
  569. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  570. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  571. package/dist/components/Tabs/Tabs.d.ts +7 -7
  572. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  573. package/dist/components/Tabs/Tabs.js.map +1 -1
  574. package/dist/components/Tabs/TabsModeContext.d.ts +1 -1
  575. package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
  576. package/dist/components/Tabs/TabsModeContext.js.map +1 -1
  577. package/dist/components/TabsItem/TabsItem.d.ts +5 -5
  578. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  579. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  580. package/dist/components/Tappable/Tappable.d.ts +3 -3
  581. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  582. package/dist/components/Tappable/Tappable.js.map +1 -1
  583. package/dist/components/Tappable/state.d.ts +2 -2
  584. package/dist/components/Tappable/state.d.ts.map +1 -1
  585. package/dist/components/Tappable/state.js.map +1 -1
  586. package/dist/components/Textarea/Textarea.d.ts +6 -6
  587. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  588. package/dist/components/Textarea/Textarea.js.map +1 -1
  589. package/dist/components/ToolButton/ToolButton.d.ts +4 -4
  590. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  591. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  592. package/dist/components/Tooltip/Tooltip.d.ts +6 -6
  593. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  594. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  595. package/dist/components/TooltipBase/TooltipBase.d.ts +10 -10
  596. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  597. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  598. package/dist/components/Touch/Touch.d.ts +16 -16
  599. package/dist/components/Touch/Touch.d.ts.map +1 -1
  600. package/dist/components/Touch/Touch.js.map +1 -1
  601. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  602. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  603. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  604. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
  605. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  606. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  607. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
  608. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts.map +1 -1
  609. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  610. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  611. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  612. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  613. package/dist/components/Typography/Title/Title.d.ts +1 -1
  614. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  615. package/dist/components/Typography/Title/Title.js.map +1 -1
  616. package/dist/components/Typography/Typography.d.ts +6 -6
  617. package/dist/components/Typography/Typography.d.ts.map +1 -1
  618. package/dist/components/Typography/Typography.js.map +1 -1
  619. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +1 -1
  620. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  621. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  622. package/dist/components/UsersStack/UsersStack.d.ts +6 -6
  623. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  624. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  625. package/dist/components/View/View.d.ts +4 -4
  626. package/dist/components/View/View.d.ts.map +1 -1
  627. package/dist/components/View/View.js.map +1 -1
  628. package/dist/components/View/ViewInfinite.d.ts +12 -12
  629. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  630. package/dist/components/View/ViewInfinite.js.map +1 -1
  631. package/dist/components/WriteBar/WriteBar.d.ts +10 -10
  632. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  633. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  634. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +3 -3
  635. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
  636. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  637. package/dist/components.css +1 -1
  638. package/dist/components.css.map +1 -1
  639. package/dist/cssm/components/Accordion/Accordion.js +3 -0
  640. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  641. package/dist/cssm/components/Accordion/AccordionIcon.js +17 -0
  642. package/dist/cssm/components/Accordion/AccordionIcon.js.map +1 -0
  643. package/dist/cssm/components/Accordion/AccordionSummary.js +4 -7
  644. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  645. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  646. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  647. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  648. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  649. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  650. package/dist/cssm/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  651. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  652. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  653. package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
  654. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  655. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  656. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  657. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  658. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  659. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  660. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  661. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  662. package/dist/cssm/components/Avatar/Avatar.module.css +0 -5
  663. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  664. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  665. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  666. package/dist/cssm/components/Box/Box.js.map +1 -1
  667. package/dist/cssm/components/Button/Button.js +1 -1
  668. package/dist/cssm/components/Button/Button.js.map +1 -1
  669. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  670. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  671. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  672. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  673. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  674. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  675. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  676. package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  677. package/dist/cssm/components/Card/Card.js.map +1 -1
  678. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  679. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  680. package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
  681. package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
  682. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  683. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  684. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  685. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  686. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  687. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  688. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  689. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  690. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  691. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  692. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  693. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  694. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  695. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  696. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  697. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  698. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  699. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  700. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  701. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  702. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  703. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  704. package/dist/cssm/components/CustomSelect/CustomSelect.js +2 -2
  705. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  706. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +0 -6
  707. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  708. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  709. package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  710. package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  711. package/dist/cssm/components/CustomSelect/types.js.map +1 -1
  712. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  713. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  714. package/dist/cssm/components/DateInput/DateInput.js +3 -12
  715. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  716. package/dist/cssm/components/DateInput/hooks.js.map +1 -1
  717. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -11
  718. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  719. package/dist/cssm/components/DropZone/DropZone.js +1 -1
  720. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  721. package/dist/cssm/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  722. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  723. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  724. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  725. package/dist/cssm/components/File/File.js.map +1 -1
  726. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  727. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  728. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  729. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  730. package/dist/cssm/components/FocusTrap/FocusTrap.js +2 -4
  731. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  732. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  733. package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  734. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  735. package/dist/cssm/components/FormItem/FormItem.module.css +1 -2
  736. package/dist/cssm/components/FormItem/context.js.map +1 -1
  737. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  738. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  739. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  740. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  741. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  742. package/dist/cssm/components/Group/Group.js.map +1 -1
  743. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  744. package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
  745. package/dist/cssm/components/Header/Header.js.map +1 -1
  746. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  747. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  748. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -6
  749. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  750. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  751. package/dist/cssm/components/Image/Image.js.map +1 -1
  752. package/dist/cssm/components/ImageBase/ImageBase.js +9 -5
  753. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  754. package/dist/cssm/components/ImageBase/ImageBase.module.css +11 -3
  755. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  756. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  757. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  759. package/dist/cssm/components/Input/Input.js.map +1 -1
  760. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  761. package/dist/cssm/components/Link/Link.js.map +1 -1
  762. package/dist/cssm/components/List/List.js.map +1 -1
  763. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  764. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  765. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  766. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  767. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +0 -4
  768. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  769. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  770. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  771. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
  772. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  773. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  774. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  775. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  776. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  777. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  778. package/dist/cssm/components/ModalRoot/useModalRootManager.js.map +1 -1
  779. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  780. package/dist/cssm/components/NumberInputLike/NumberInputLike.js.map +1 -1
  781. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  782. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  783. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  784. package/dist/cssm/components/Pagination/Pagination.js +14 -6
  785. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  786. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  787. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  788. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  789. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  790. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  791. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  792. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -5
  793. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  794. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  795. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  796. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  797. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  798. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  799. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  800. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  801. package/dist/cssm/components/Popper/Popper.js +13 -7
  802. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  803. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  804. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  805. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  806. package/dist/cssm/components/Radio/Radio.js +2 -2
  807. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  808. package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
  809. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  810. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  811. package/dist/cssm/components/Removable/Removable.module.css +0 -4
  812. package/dist/cssm/components/Removable/RemovableIos.js.map +1 -1
  813. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  814. package/dist/cssm/components/Root/Root.js.map +1 -1
  815. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  816. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  817. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  818. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  819. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +14 -4
  820. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  821. package/dist/cssm/components/Search/Search.js.map +1 -1
  822. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  823. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  824. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  825. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  826. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  827. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  828. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  829. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  830. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  831. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  832. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  833. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  834. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  835. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  836. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  837. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  838. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  839. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  840. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  841. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  842. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  843. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  844. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  845. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  846. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  847. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  848. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  849. package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
  850. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  851. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  852. package/dist/cssm/components/Tappable/state.js.map +1 -1
  853. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  854. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  855. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  856. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  857. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  858. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  859. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  860. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  861. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  862. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  863. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  864. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  865. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  866. package/dist/cssm/components/View/View.js.map +1 -1
  867. package/dist/cssm/components/View/View.module.css +1 -3
  868. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  869. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  870. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  871. package/dist/cssm/helpers/math.js.map +1 -1
  872. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  873. package/dist/cssm/hooks/useAutoDetectColorScheme.js +8 -27
  874. package/dist/cssm/hooks/useAutoDetectColorScheme.js.map +1 -1
  875. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  876. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  877. package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
  878. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  879. package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
  880. package/dist/cssm/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  881. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +10 -2
  882. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  883. package/dist/cssm/hooks/useFocusVisibleClassName.js.map +1 -1
  884. package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
  885. package/dist/cssm/hooks/useMediaQueryMatch.js +25 -0
  886. package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -0
  887. package/dist/cssm/hooks/useMergeProps.js.map +1 -1
  888. package/dist/cssm/hooks/useModalManager/types.js.map +1 -1
  889. package/dist/cssm/hooks/usePagination.js.map +1 -1
  890. package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
  891. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +2 -2
  892. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  893. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  894. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  895. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +3 -3
  896. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  897. package/dist/cssm/hooks/useSnackbarManager/types.js.map +1 -1
  898. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  899. package/dist/cssm/index.js +1 -1
  900. package/dist/cssm/index.js.map +1 -1
  901. package/dist/cssm/lib/SSR.js.map +1 -1
  902. package/dist/cssm/lib/accessibility.js.map +1 -1
  903. package/dist/cssm/lib/adaptivity/functions.js +6 -0
  904. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  905. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  906. package/dist/cssm/lib/animation/useCSSTransition.js +4 -2
  907. package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
  908. package/dist/cssm/lib/animation/useReducedMotion.js +2 -20
  909. package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
  910. package/dist/cssm/lib/calendar.js.map +1 -1
  911. package/dist/cssm/lib/date.js.map +1 -1
  912. package/dist/cssm/lib/dom.js.map +1 -1
  913. package/dist/cssm/lib/floating/functions.js.map +1 -1
  914. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  915. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  916. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  917. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  918. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  919. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  920. package/dist/cssm/lib/getNavId.js.map +1 -1
  921. package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
  922. package/dist/cssm/lib/layouts/types.js.map +1 -1
  923. package/dist/cssm/lib/select.js.map +1 -1
  924. package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -1
  925. package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -1
  926. package/dist/cssm/lib/tokens/types.js.map +1 -1
  927. package/dist/cssm/lib/utils.js +3 -0
  928. package/dist/cssm/lib/utils.js.map +1 -1
  929. package/dist/cssm/types.js +4 -1
  930. package/dist/cssm/types.js.map +1 -1
  931. package/dist/helpers/math.d.ts +1 -1
  932. package/dist/helpers/math.d.ts.map +1 -1
  933. package/dist/helpers/math.js.map +1 -1
  934. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts +5 -1
  935. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts.map +1 -1
  936. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  937. package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
  938. package/dist/hooks/useAutoDetectColorScheme.js +8 -27
  939. package/dist/hooks/useAutoDetectColorScheme.js.map +1 -1
  940. package/dist/hooks/useCalendar.d.ts +1 -1
  941. package/dist/hooks/useCalendar.d.ts.map +1 -1
  942. package/dist/hooks/useCalendar.js.map +1 -1
  943. package/dist/hooks/useDateInput.d.ts +5 -5
  944. package/dist/hooks/useDateInput.d.ts.map +1 -1
  945. package/dist/hooks/useDateInput.js.map +1 -1
  946. package/dist/hooks/useDraggableWithDomApi/types.d.ts +1 -1
  947. package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  948. package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
  949. package/dist/hooks/useEnsuredControl.d.ts +4 -4
  950. package/dist/hooks/useEnsuredControl.d.ts.map +1 -1
  951. package/dist/hooks/useEnsuredControl.js.map +1 -1
  952. package/dist/hooks/useFloatingElement.d.ts +4 -4
  953. package/dist/hooks/useFloatingElement.d.ts.map +1 -1
  954. package/dist/hooks/useFloatingElement.js.map +1 -1
  955. package/dist/hooks/useFocusTrap/FocusGuard.d.ts +1 -1
  956. package/dist/hooks/useFocusTrap/FocusGuard.d.ts.map +1 -1
  957. package/dist/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  958. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +6 -10
  959. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
  960. package/dist/hooks/useFocusTrap/useFocusTrap.js +10 -2
  961. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  962. package/dist/hooks/useFocusVisibleClassName.d.ts +3 -3
  963. package/dist/hooks/useFocusVisibleClassName.d.ts.map +1 -1
  964. package/dist/hooks/useFocusVisibleClassName.js.map +1 -1
  965. package/dist/hooks/useGlobalEscKeyDown.d.ts +1 -1
  966. package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
  967. package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
  968. package/dist/hooks/useMediaQueryMatch.d.ts +6 -0
  969. package/dist/hooks/useMediaQueryMatch.d.ts.map +1 -0
  970. package/dist/hooks/useMediaQueryMatch.js +25 -0
  971. package/dist/hooks/useMediaQueryMatch.js.map +1 -0
  972. package/dist/hooks/useMergeProps.d.ts +1 -1
  973. package/dist/hooks/useMergeProps.d.ts.map +1 -1
  974. package/dist/hooks/useMergeProps.js.map +1 -1
  975. package/dist/hooks/useModalManager/types.d.ts +8 -8
  976. package/dist/hooks/useModalManager/types.d.ts.map +1 -1
  977. package/dist/hooks/useModalManager/types.js.map +1 -1
  978. package/dist/hooks/usePagination.d.ts +4 -4
  979. package/dist/hooks/usePagination.d.ts.map +1 -1
  980. package/dist/hooks/usePagination.js.map +1 -1
  981. package/dist/hooks/usePatchChildren.d.ts +1 -1
  982. package/dist/hooks/usePatchChildren.d.ts.map +1 -1
  983. package/dist/hooks/usePatchChildren.js.map +1 -1
  984. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.d.ts → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts} +1 -1
  985. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts.map +1 -0
  986. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +10 -10
  987. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  988. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.d.ts.map +1 -1
  989. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  990. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  991. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.d.ts → SnackbarsContainer/SnackbarsContainer.d.ts} +2 -2
  992. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.d.ts.map +1 -0
  993. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +10 -10
  994. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  995. package/dist/hooks/useSnackbarManager/types.d.ts +11 -11
  996. package/dist/hooks/useSnackbarManager/types.d.ts.map +1 -1
  997. package/dist/hooks/useSnackbarManager/types.js.map +1 -1
  998. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +1 -1
  999. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
  1000. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  1001. package/dist/index.d.ts +3 -2
  1002. package/dist/index.d.ts.map +1 -1
  1003. package/dist/index.js +1 -1
  1004. package/dist/index.js.map +1 -1
  1005. package/dist/lib/SSR.d.ts +4 -4
  1006. package/dist/lib/SSR.d.ts.map +1 -1
  1007. package/dist/lib/SSR.js.map +1 -1
  1008. package/dist/lib/accessibility.d.ts +1 -1
  1009. package/dist/lib/accessibility.d.ts.map +1 -1
  1010. package/dist/lib/accessibility.js.map +1 -1
  1011. package/dist/lib/adaptivity/functions.d.ts.map +1 -1
  1012. package/dist/lib/adaptivity/functions.js +6 -0
  1013. package/dist/lib/adaptivity/functions.js.map +1 -1
  1014. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts +6 -6
  1015. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  1016. package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  1017. package/dist/lib/animation/useCSSTransition.d.ts +11 -11
  1018. package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
  1019. package/dist/lib/animation/useCSSTransition.js +4 -2
  1020. package/dist/lib/animation/useCSSTransition.js.map +1 -1
  1021. package/dist/lib/animation/useReducedMotion.d.ts.map +1 -1
  1022. package/dist/lib/animation/useReducedMotion.js +2 -20
  1023. package/dist/lib/animation/useReducedMotion.js.map +1 -1
  1024. package/dist/lib/calendar.d.ts +5 -5
  1025. package/dist/lib/calendar.d.ts.map +1 -1
  1026. package/dist/lib/calendar.js.map +1 -1
  1027. package/dist/lib/date.d.ts +10 -10
  1028. package/dist/lib/date.d.ts.map +1 -1
  1029. package/dist/lib/date.js.map +1 -1
  1030. package/dist/lib/dom.d.ts +2 -2
  1031. package/dist/lib/dom.d.ts.map +1 -1
  1032. package/dist/lib/dom.js.map +1 -1
  1033. package/dist/lib/floating/functions.d.ts +2 -2
  1034. package/dist/lib/floating/functions.d.ts.map +1 -1
  1035. package/dist/lib/floating/functions.js.map +1 -1
  1036. package/dist/lib/floating/types/component.d.ts +9 -9
  1037. package/dist/lib/floating/types/component.d.ts.map +1 -1
  1038. package/dist/lib/floating/types/component.js.map +1 -1
  1039. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +14 -14
  1040. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  1041. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  1042. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  1043. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +15 -15
  1044. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  1045. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  1046. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  1047. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  1048. package/dist/lib/getNavId.d.ts +2 -2
  1049. package/dist/lib/getNavId.d.ts.map +1 -1
  1050. package/dist/lib/getNavId.js.map +1 -1
  1051. package/dist/lib/layouts/resolveLayoutProps.d.ts +6 -6
  1052. package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
  1053. package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
  1054. package/dist/lib/layouts/types.d.ts +29 -29
  1055. package/dist/lib/layouts/types.d.ts.map +1 -1
  1056. package/dist/lib/layouts/types.js.map +1 -1
  1057. package/dist/lib/select.d.ts +2 -2
  1058. package/dist/lib/select.d.ts.map +1 -1
  1059. package/dist/lib/select.js.map +1 -1
  1060. package/dist/lib/sheet/useBottomSheet.d.ts +4 -4
  1061. package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
  1062. package/dist/lib/sheet/useBottomSheet.js.map +1 -1
  1063. package/dist/lib/tokens/TokensClassProvider.js.map +1 -1
  1064. package/dist/lib/tokens/types.d.ts +2 -2
  1065. package/dist/lib/tokens/types.d.ts.map +1 -1
  1066. package/dist/lib/tokens/types.js.map +1 -1
  1067. package/dist/lib/utils.d.ts +3 -3
  1068. package/dist/lib/utils.d.ts.map +1 -1
  1069. package/dist/lib/utils.js +3 -0
  1070. package/dist/lib/utils.js.map +1 -1
  1071. package/dist/types.d.ts +17 -10
  1072. package/dist/types.d.ts.map +1 -1
  1073. package/dist/types.js +4 -1
  1074. package/dist/types.js.map +1 -1
  1075. package/dist/vkui.css +1 -1
  1076. package/dist/vkui.css.map +1 -1
  1077. package/package.json +3 -3
  1078. package/src/components/Accordion/Accordion.tsx +10 -6
  1079. package/src/components/Accordion/AccordionIcon.tsx +31 -0
  1080. package/src/components/Accordion/AccordionSummary.tsx +5 -9
  1081. package/src/components/ActionSheet/ActionSheet.tsx +14 -10
  1082. package/src/components/ActionSheet/ActionSheetContext.ts +3 -3
  1083. package/src/components/ActionSheet/types.ts +8 -8
  1084. package/src/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  1085. package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -1
  1086. package/src/components/ActionSheetItem/ActionSheetItem.tsx +15 -15
  1087. package/src/components/ActionSheetItem/subcomponents/Radio/Radio.tsx +1 -1
  1088. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +7 -7
  1089. package/src/components/Alert/Alert.tsx +17 -17
  1090. package/src/components/Alert/AlertBase.tsx +2 -2
  1091. package/src/components/Alert/AlertTypography.tsx +1 -1
  1092. package/src/components/AppRoot/AppRoot.tsx +9 -9
  1093. package/src/components/AppRoot/AppRootContext.ts +4 -4
  1094. package/src/components/AppRoot/AppRootPortal.tsx +2 -2
  1095. package/src/components/AppRoot/ScrollContext.tsx +5 -5
  1096. package/src/components/AppRoot/types.ts +4 -4
  1097. package/src/components/AspectRatio/AspectRatio.tsx +2 -2
  1098. package/src/components/Avatar/Avatar.module.css +0 -5
  1099. package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -1
  1100. package/src/components/Avatar/Avatar.tsx +6 -2
  1101. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -1
  1102. package/src/components/Badge/Badge.tsx +1 -1
  1103. package/src/components/Banner/Banner.tsx +12 -12
  1104. package/src/components/Box/Box.tsx +1 -1
  1105. package/src/components/Button/Button.tsx +19 -12
  1106. package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
  1107. package/src/components/Calendar/Calendar.tsx +17 -17
  1108. package/src/components/CalendarDay/CalendarDay.tsx +18 -18
  1109. package/src/components/CalendarDays/CalendarDays.tsx +14 -14
  1110. package/src/components/CalendarHeader/CalendarHeader.tsx +19 -19
  1111. package/src/components/CalendarRange/CalendarRange.tsx +12 -12
  1112. package/src/components/CalendarTime/CalendarTime.tsx +14 -14
  1113. package/src/components/CalendarTime/CalendarTimePicker.tsx +3 -3
  1114. package/src/components/Card/Card.tsx +1 -1
  1115. package/src/components/CardGrid/CardGrid.tsx +2 -2
  1116. package/src/components/CardScroll/CardScroll.tsx +3 -3
  1117. package/src/components/CarouselBase/Bullets.tsx +1 -1
  1118. package/src/components/CarouselBase/CarouselViewPort.tsx +1 -1
  1119. package/src/components/CarouselBase/ScrollArrows.tsx +2 -2
  1120. package/src/components/CarouselBase/helpers.ts +4 -4
  1121. package/src/components/CarouselBase/types.ts +23 -23
  1122. package/src/components/Cell/Cell.tsx +8 -8
  1123. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +1 -1
  1124. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1125. package/src/components/CellButton/CellButton.tsx +16 -16
  1126. package/src/components/Checkbox/Checkbox.tsx +16 -9
  1127. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +20 -14
  1128. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  1129. package/src/components/ChipsInput/useChipsInput.ts +3 -3
  1130. package/src/components/ChipsInputBase/Chip/Chip.tsx +9 -9
  1131. package/src/components/ChipsInputBase/types.ts +28 -22
  1132. package/src/components/ChipsSelect/ChipsSelect.tsx +13 -13
  1133. package/src/components/ChipsSelect/useChipsSelect.ts +22 -21
  1134. package/src/components/Clickable/Clickable.tsx +1 -1
  1135. package/src/components/Clickable/useState.tsx +13 -13
  1136. package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
  1137. package/src/components/ContentBadge/ContentBadge.tsx +4 -4
  1138. package/src/components/ContentCard/ContentCard.tsx +8 -8
  1139. package/src/components/Counter/Counter.tsx +4 -4
  1140. package/src/components/CustomScrollView/CustomScrollView.tsx +6 -6
  1141. package/src/components/CustomSelect/CustomSelect.module.css +0 -6
  1142. package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -1
  1143. package/src/components/CustomSelect/CustomSelect.tsx +45 -31
  1144. package/src/components/CustomSelect/CustomSelectClearButton.tsx +2 -2
  1145. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +20 -14
  1146. package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +2 -2
  1147. package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +1 -1
  1148. package/src/components/CustomSelect/types.ts +1 -1
  1149. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +8 -8
  1150. package/src/components/CustomSelectOption/CustomSelectOption.tsx +9 -9
  1151. package/src/components/DateInput/DateInput.tsx +27 -35
  1152. package/src/components/DateInput/hooks.ts +7 -7
  1153. package/src/components/DateRangeInput/DateRangeInput.tsx +28 -36
  1154. package/src/components/DropZone/DropZone.tsx +5 -2
  1155. package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.tsx +1 -1
  1156. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -1
  1157. package/src/components/Epic/Epic.tsx +1 -1
  1158. package/src/components/Epic/ScrollSaver.tsx +1 -1
  1159. package/src/components/File/File.tsx +15 -9
  1160. package/src/components/FixedLayout/FixedLayout.tsx +3 -3
  1161. package/src/components/Flex/Flex.tsx +8 -8
  1162. package/src/components/Flex/FlexItem/FlexItem.tsx +1 -1
  1163. package/src/components/FloatingArrow/FloatingArrow.tsx +9 -9
  1164. package/src/components/FocusTrap/FocusTrap.tsx +0 -3
  1165. package/src/components/FormField/FormField.tsx +8 -8
  1166. package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +2 -2
  1167. package/src/components/FormItem/FormItem.module.css +1 -2
  1168. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -1
  1169. package/src/components/FormItem/FormItem.tsx +10 -10
  1170. package/src/components/FormItem/context.ts +2 -2
  1171. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +4 -4
  1172. package/src/components/FormStatus/FormStatus.tsx +2 -2
  1173. package/src/components/Gallery/Gallery.tsx +2 -2
  1174. package/src/components/Gradient/Gradient.tsx +2 -2
  1175. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  1176. package/src/components/Group/Group.tsx +2 -2
  1177. package/src/components/Group/GroupContainer.tsx +3 -3
  1178. package/src/components/Group/GroupExpandedContent.tsx +1 -1
  1179. package/src/components/Header/Header.tsx +11 -11
  1180. package/src/components/HorizontalCell/HorizontalCell.tsx +7 -7
  1181. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +4 -4
  1182. package/src/components/HorizontalScroll/HorizontalScroll.tsx +63 -18
  1183. package/src/components/IconButton/IconButton.tsx +1 -1
  1184. package/src/components/Image/Image.tsx +5 -5
  1185. package/src/components/ImageBase/ImageBase.module.css +11 -3
  1186. package/src/components/ImageBase/ImageBase.module.css.d.ts.map +1 -1
  1187. package/src/components/ImageBase/ImageBase.tsx +27 -17
  1188. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
  1189. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +3 -3
  1190. package/src/components/ImageBase/ImageBaseOverlay/types.ts +3 -3
  1191. package/src/components/ImageBase/types.ts +3 -3
  1192. package/src/components/Input/Input.tsx +13 -7
  1193. package/src/components/InputLike/InputLike.tsx +3 -3
  1194. package/src/components/Link/Link.tsx +4 -4
  1195. package/src/components/List/List.tsx +1 -1
  1196. package/src/components/MiniInfoCell/MiniInfoCell.tsx +5 -5
  1197. package/src/components/ModalCard/ModalCardInternal.tsx +1 -1
  1198. package/src/components/ModalCard/types.ts +13 -13
  1199. package/src/components/ModalCardBase/ModalCardBase.module.css +0 -4
  1200. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -1
  1201. package/src/components/ModalCardBase/ModalCardBase.tsx +14 -14
  1202. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1203. package/src/components/ModalOutlet/ModalOutlet.tsx +3 -3
  1204. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
  1205. package/src/components/ModalOverlay/ModalOverlay.tsx +7 -7
  1206. package/src/components/ModalPage/ModalPageBase.tsx +2 -2
  1207. package/src/components/ModalPage/ModalPageInternal.tsx +2 -2
  1208. package/src/components/ModalPage/types.ts +27 -27
  1209. package/src/components/ModalPageFooter/ModalPageFooter.tsx +2 -2
  1210. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
  1211. package/src/components/ModalRoot/types.ts +15 -15
  1212. package/src/components/ModalRoot/useModalRootManager.tsx +19 -19
  1213. package/src/components/NativeSelect/NativeSelect.tsx +20 -14
  1214. package/src/components/NumberInputLike/NumberInputLike.tsx +3 -3
  1215. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +16 -8
  1216. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +1 -1
  1217. package/src/components/Pagination/Pagination.tsx +27 -25
  1218. package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +5 -3
  1219. package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +3 -3
  1220. package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -1
  1221. package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +3 -3
  1222. package/src/components/Panel/Panel.tsx +3 -3
  1223. package/src/components/PanelHeader/PanelHeader.module.css +0 -5
  1224. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -1
  1225. package/src/components/PanelHeader/PanelHeader.tsx +14 -12
  1226. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +2 -2
  1227. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +3 -3
  1228. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +3 -3
  1229. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
  1230. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
  1231. package/src/components/Placeholder/Placeholder.tsx +5 -5
  1232. package/src/components/PopoutWrapper/PopoutWrapper.tsx +6 -6
  1233. package/src/components/Popover/Popover.tsx +5 -5
  1234. package/src/components/Popper/Popper.tsx +17 -15
  1235. package/src/components/Progress/Progress.tsx +4 -4
  1236. package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
  1237. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +4 -4
  1238. package/src/components/Radio/Radio.tsx +18 -12
  1239. package/src/components/Radio/RadioInput/RadioInput.tsx +15 -9
  1240. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  1241. package/src/components/Removable/Removable.module.css +0 -4
  1242. package/src/components/Removable/Removable.module.css.d.ts.map +1 -1
  1243. package/src/components/Removable/Removable.tsx +13 -10
  1244. package/src/components/Removable/RemovableIos.tsx +6 -3
  1245. package/src/components/RichCell/RichCell.tsx +15 -15
  1246. package/src/components/Root/Root.tsx +3 -3
  1247. package/src/components/RootComponent/RootComponent.tsx +2 -2
  1248. package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +1 -1
  1249. package/src/components/ScreenSpinner/context.ts +2 -2
  1250. package/src/components/ScreenSpinner/types.tsx +5 -5
  1251. package/src/components/ScrollArrow/ScrollArrow.tsx +27 -4
  1252. package/src/components/Search/Search.tsx +28 -22
  1253. package/src/components/SegmentedControl/SegmentedControl.tsx +6 -6
  1254. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +3 -3
  1255. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -3
  1256. package/src/components/SelectTypography/SelectTypography.tsx +1 -1
  1257. package/src/components/SelectionControl/SelectionControl.tsx +1 -1
  1258. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +2 -2
  1259. package/src/components/Separator/Separator.tsx +5 -5
  1260. package/src/components/SimpleCell/Chevron/Chevron.tsx +1 -1
  1261. package/src/components/SimpleCell/SimpleCell.tsx +14 -14
  1262. package/src/components/SimpleGrid/SimpleGrid.tsx +6 -6
  1263. package/src/components/Skeleton/Skeleton.tsx +5 -5
  1264. package/src/components/Slider/Slider.tsx +19 -17
  1265. package/src/components/Slider/SliderThumb/SliderThumb.tsx +9 -7
  1266. package/src/components/Snackbar/Snackbar.tsx +19 -13
  1267. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  1268. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -1
  1269. package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
  1270. package/src/components/Snackbar/utils.ts +1 -1
  1271. package/src/components/Spacing/Spacing.tsx +2 -2
  1272. package/src/components/Spinner/Spinner.tsx +4 -4
  1273. package/src/components/SplitCol/SplitCol.tsx +7 -7
  1274. package/src/components/SplitLayout/SplitLayout.tsx +15 -9
  1275. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -2
  1276. package/src/components/SubnavigationButton/SubnavigationButton.tsx +8 -8
  1277. package/src/components/Switch/Switch.tsx +15 -9
  1278. package/src/components/Tabbar/Tabbar.tsx +2 -2
  1279. package/src/components/TabbarItem/TabbarItem.tsx +3 -3
  1280. package/src/components/Tabs/Tabs.tsx +7 -7
  1281. package/src/components/Tabs/TabsModeContext.ts +1 -1
  1282. package/src/components/TabsItem/TabsItem.tsx +5 -5
  1283. package/src/components/Tappable/Tappable.tsx +3 -3
  1284. package/src/components/Tappable/state.tsx +2 -2
  1285. package/src/components/Textarea/Textarea.tsx +14 -10
  1286. package/src/components/ToolButton/ToolButton.tsx +4 -4
  1287. package/src/components/Tooltip/Tooltip.tsx +6 -6
  1288. package/src/components/TooltipBase/TooltipBase.tsx +10 -10
  1289. package/src/components/Touch/Touch.tsx +16 -16
  1290. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1291. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
  1292. package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
  1293. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1294. package/src/components/Typography/Title/Title.tsx +1 -1
  1295. package/src/components/Typography/Typography.tsx +6 -6
  1296. package/src/components/UnstyledTextField/UnstyledTextField.tsx +1 -1
  1297. package/src/components/UsersStack/UsersStack.tsx +6 -6
  1298. package/src/components/View/View.module.css +1 -3
  1299. package/src/components/View/View.module.css.d.ts.map +1 -1
  1300. package/src/components/View/View.tsx +4 -4
  1301. package/src/components/View/ViewInfinite.tsx +11 -11
  1302. package/src/components/WriteBar/WriteBar.tsx +21 -15
  1303. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -3
  1304. package/src/helpers/math.ts +1 -1
  1305. package/src/hooks/useAdaptivityWithJSMediaQueries.ts +3 -1
  1306. package/src/hooks/useAutoDetectColorScheme.ts +8 -30
  1307. package/src/hooks/useCalendar.ts +2 -2
  1308. package/src/hooks/useDateInput.ts +5 -5
  1309. package/src/hooks/useDraggableWithDomApi/types.ts +1 -1
  1310. package/src/hooks/useEnsuredControl.ts +4 -4
  1311. package/src/hooks/useFloatingElement.tsx +4 -4
  1312. package/src/hooks/useFocusTrap/FocusGuard.tsx +1 -1
  1313. package/src/hooks/useFocusTrap/useFocusTrap.tsx +17 -15
  1314. package/src/hooks/useFocusVisibleClassName.ts +3 -3
  1315. package/src/hooks/useGlobalEscKeyDown.ts +2 -2
  1316. package/src/hooks/useMediaQueryMatch.ts +34 -0
  1317. package/src/hooks/useMergeProps.ts +2 -2
  1318. package/src/hooks/useModalManager/types.ts +8 -8
  1319. package/src/hooks/usePagination.ts +4 -4
  1320. package/src/hooks/usePatchChildren.ts +1 -1
  1321. package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.tsx → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.tsx} +3 -3
  1322. package/src/hooks/useSnackbarManager/components/SnackbarHolder.tsx +6 -2
  1323. package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.tsx → SnackbarsContainer/SnackbarsContainer.tsx} +6 -6
  1324. package/src/hooks/useSnackbarManager/types.ts +11 -11
  1325. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
  1326. package/src/index.ts +6 -2
  1327. package/src/lib/SSR.tsx +4 -4
  1328. package/src/lib/accessibility.ts +1 -1
  1329. package/src/lib/adaptivity/functions.ts +10 -1
  1330. package/src/lib/animation/useCSSKeyframesAnimationController.ts +6 -6
  1331. package/src/lib/animation/useCSSTransition.ts +15 -13
  1332. package/src/lib/animation/useReducedMotion.ts +2 -25
  1333. package/src/lib/calendar.ts +5 -2
  1334. package/src/lib/date.ts +11 -11
  1335. package/src/lib/dom.tsx +2 -2
  1336. package/src/lib/floating/functions.ts +2 -2
  1337. package/src/lib/floating/types/component.ts +9 -9
  1338. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +26 -19
  1339. package/src/lib/floating/useFloatingWithInteractions/types.ts +15 -15
  1340. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -2
  1341. package/src/lib/getNavId.ts +2 -2
  1342. package/src/lib/layouts/resolveLayoutProps.ts +3 -3
  1343. package/src/lib/layouts/types.ts +29 -29
  1344. package/src/lib/select.ts +2 -2
  1345. package/src/lib/sheet/useBottomSheet.ts +4 -4
  1346. package/src/lib/tokens/TokensClassProvider.tsx +1 -1
  1347. package/src/lib/tokens/types.ts +2 -2
  1348. package/src/lib/utils.ts +8 -3
  1349. package/src/types.ts +18 -10
  1350. package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +0 -1
  1351. package/dist/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1352. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1353. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1354. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1355. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.d.ts.map +0 -1
  1356. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1357. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.d.ts.map +0 -1
  1358. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1359. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +0 -0
  1360. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1361. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1362. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1363. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1364. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css.d.ts.map +0 -0
  1365. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1366. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css.d.ts.map → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css.d.ts.map} +0 -0
  1367. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1368. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css.d.ts.map → SnackbarsContainer/SnackbarsContainer.module.css.d.ts.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon20CalendarOutline } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useDateInput } from '../../hooks/useDateInput';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEscKeyDown } from '../../hooks/useGlobalEscKeyDown';\nimport {\n convertDateToTimeZone,\n createDateInTimeZone,\n dateFormatter,\n dateTimeFormatter,\n isMatch,\n parse,\n startOfDay,\n startOfMinute,\n} from '../../lib/date';\nimport type { PlacementWithAuto } from '../../lib/floating';\nimport { cacheDateTimeFormat } from '../../lib/intlCache';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasRootRef } from '../../types';\nimport { Calendar, type CalendarProps, type CalendarTestsProps } from '../Calendar/Calendar';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrapInternal } from '../FocusTrap/FocusTrap';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { InputLikeDivider } from '../InputLike/InputLikeDivider';\nimport { NumberInputLike } from '../NumberInputLike/NumberInputLike';\nimport { Popper } from '../Popper/Popper';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { useDateInputValue } from './hooks';\nimport '../InputLike/InputLike.module.css'; // Reorder css\nimport styles from './DateInput.module.css';\n\nconst labelDateTimeFormatOptions = {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n} as const;\n\nconst labelDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport type DateInputPropsTestsProps = {\n /**\n * Передает атрибут `data-testid` для поля ввода дня.\n */\n dayFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода месяца.\n */\n monthFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода года.\n */\n yearFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода часа.\n */\n hourFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода минут.\n */\n minuteFieldTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки показа календаря.\n */\n showCalendarButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки очистки даты.\n */\n clearButtonTestId?: string;\n};\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n 'value' | 'defaultValue' | 'onChange' | 'size'\n >,\n Pick<\n CalendarProps,\n | 'disablePast'\n | 'disableFuture'\n | 'enableTime'\n | 'shouldDisableDate'\n | 'value'\n | 'defaultValue'\n | 'doneButtonText'\n | 'DoneButton'\n | 'weekStartsOn'\n | 'disablePickers'\n | 'changeHoursLabel'\n | 'changeMinutesLabel'\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'showNeighboringMonth'\n | 'size'\n | 'viewDate'\n | 'onHeaderChange'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'minDateTime'\n | 'maxDateTime'\n | 'renderDayContent'\n >,\n HasRootRef<HTMLDivElement>,\n Omit<FormFieldProps, 'maxHeight'>,\n DateInputPropsTestsProps {\n /**\n * Обработчик изменения выбранной даты.\n */\n onChange?: (value: Date | null) => void;\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в календаре.\n */\n calendarTestsProps?: CalendarTestsProps;\n /**\n * Расположение календаря относительно поля ввода.\n */\n calendarPlacement?: PlacementWithAuto;\n /**\n * Автоматически закрывать календарь при изменениях.\n */\n closeOnChange?: boolean;\n /**\n * `aria-label` для календаря.\n */\n calendarLabel?: string;\n /**\n * Label для кнопки очистки. Делает доступным для ассистивных технологий.\n */\n clearFieldLabel?: string;\n /**\n * Label для кнопки открытия календаря. Делает доступным для ассистивных технологий.\n */\n showCalendarLabel?: string;\n /**\n * Отключение открытия календаря.\n */\n disableCalendar?: boolean;\n /**\n * Обработчик изменения состояния открытия календаря.\n */\n onCalendarOpenChanged?: (opened: boolean) => void;\n /**\n * `aria-label` для поля изменения дня.\n */\n changeDayLabel?: string;\n /**\n * Обработчик нажатия на кнопку `\"Done\"`. Используется совместно с флагом `enableTime`.\n */\n onApply?: (value?: Date) => void;\n /**\n * Функция для кастомного форматирования отображаемого значения даты.\n * Позволяет переопределить стандартное отображение даты и вернуть собственное представление.\n */\n renderCustomValue?: (date: Date | undefined) => React.ReactNode;\n /**\n * Часовой пояс для отображения даты.\n */\n timezone?: string;\n /**\n * @deprecated Since 8.0.0. Будет удалено в 9.0.0.\n *\n * Включает режим в котором DateInput доступен\n * для ассистивных технологий.\n * В этом режиме:\n * - календарь больше не открывает при фокусе на DateInput;\n * - иконка календаря видна всегда, чтобы пользователи\n * ассистивных технологий могли открыть календарь по клику на иконку;\n * - календарь при открытии получает фокус, клавиатурный\n * фокус зациклен и не выходит за пределы календаря пока календарь не закрыт.\n */\n accessible?: boolean /* TODO [>=v9] удалить свойство */;\n /**\n * Позволяет отключить захват фокуса при появлении календаря.\n */\n disableFocusTrap?: boolean;\n /**\n * Управление поведением возврата фокуса при закрытии всплывающего окна.\n * @default true\n */\n restoreFocus?: boolean | (() => boolean | HTMLElement);\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps['value']) => {\n const newValue = ['', '', '', '', ''];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, '0');\n newValue[1] = String(value.getMonth() + 1).padStart(2, '0');\n newValue[2] = String(value.getFullYear()).padStart(4, '0');\n newValue[3] = String(value.getHours()).padStart(2, '0');\n newValue[4] = String(value.getMinutes()).padStart(2, '0');\n }\n return newValue;\n};\n\nconst CALENDAR_MUTATION_OBSERVER_OPTIONS: MutationObserverInit = {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['tabindex'],\n};\n\n/**\n * @see https://vkui.io/components/date-input\n */\nexport const DateInput = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n minDateTime,\n maxDateTime,\n 'value': valueProp,\n defaultValue,\n onChange,\n 'calendarPlacement': calendarPlacementProp = 'bottom-start',\n style,\n className,\n doneButtonText,\n DoneButton,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n accessible = true,\n calendarLabel = 'Календарь',\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeDayLabel = 'День',\n changeMonthLabel = 'Месяц',\n changeYearLabel = 'Год',\n changeHoursLabel = 'Час',\n changeMinutesLabel = 'Минута',\n clearFieldLabel = 'Очистить поле',\n showCalendarLabel = 'Показать календарь',\n showNeighboringMonth,\n size,\n viewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n renderDayContent,\n onCalendarOpenChanged,\n calendarTestsProps,\n dayFieldTestId,\n monthFieldTestId,\n yearFieldTestId,\n hourFieldTestId,\n minuteFieldTestId,\n showCalendarButtonTestId,\n clearButtonTestId,\n id,\n onApply,\n renderCustomValue,\n timezone,\n restoreFocus,\n disableFocusTrap,\n readOnly,\n 'disableCalendar': disableCalendarProp = false,\n 'aria-label': ariaLabel = '',\n before,\n ...props\n}: DateInputProps): React.ReactNode => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n const focusTrapRootRef = React.useRef<HTMLDivElement | null>(null);\n\n const disableCalendar = readOnly ? true : disableCalendarProp;\n\n const { value, updateValue, setInternalValue, getLastUpdatedValue, clearValue } =\n useDateInputValue({\n value: valueProp,\n defaultValue,\n onChange,\n timezone,\n });\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = 'dd.MM.yyyy';\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += ' HH:mm';\n }\n\n if (isMatch(formattedValue, mask)) {\n const now = new Date();\n const referenceDate = value ?? (enableTime ? startOfMinute(now) : startOfDay(now));\n const parsed = parse(formattedValue, mask, referenceDate);\n const toUpdate = createDateInTimeZone(parsed, timezone);\n updateValue(toUpdate);\n }\n },\n [enableTime, maxElement, timezone, updateValue, value],\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n closeCalendar,\n toggleCalendar,\n openCalendar,\n handleRestoreFocus,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled: disabled || readOnly,\n elementsConfig,\n onClear: clearValue,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n accessible,\n });\n\n const { density = 'none' } = useAdaptivity();\n\n const handleRootRef = useExternRef(rootRef, getRootRef);\n\n useIsomorphicLayoutEffect(\n function resetValueOnCloseCalendar() {\n if (!open) {\n setInternalValue(getLastUpdatedValue());\n }\n },\n [open, getLastUpdatedValue],\n );\n\n const onCalendarChange = React.useCallback(\n (value: Date) => {\n if (enableTime) {\n const valueForDisplay = convertDateToTimeZone(value, timezone) as Date;\n setInternalValue(valueForDisplay);\n return;\n }\n updateValue(value);\n if (closeOnChange) {\n removeFocusFromField();\n }\n },\n [enableTime, timezone, updateValue, closeOnChange, setInternalValue, removeFocusFromField],\n );\n\n const onDoneButtonClick = React.useCallback(() => {\n if (!value) {\n return;\n }\n const newValue = updateValue(value);\n onApply?.(newValue);\n removeFocusFromField();\n }, [onApply, removeFocusFromField, updateValue, value]);\n\n const customValue = React.useMemo(\n () => !open && renderCustomValue?.(value || undefined),\n [open, renderCustomValue, value],\n );\n\n // при переключении месяцев высота календаря может меняться,\n // чтобы календарь не прыгал при переключении месяцев каждый раз на\n // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался\n // на ней, пока помещается.\n const [calendarPlacement, setCalendarPlacement] =\n React.useState<PlacementWithAuto>(calendarPlacementProp);\n\n const { locale } = useConfigProvider();\n const currentDateLabel = value\n ? labelDateTimeFormat(locale, labelDateTimeFormatOptions).format(value)\n : null;\n const currentDateLabelId = React.useId();\n const ariaLabelId = React.useId();\n\n const showCalendarOnInputAreaClick = React.useCallback(() => {\n handleFieldEnter();\n if (accessible) {\n openCalendar();\n }\n }, [handleFieldEnter, openCalendar, accessible]);\n\n const showCalendarButton = !disableCalendar && (accessible || (!accessible && !value));\n const showClearButton = value && !readOnly;\n\n useGlobalEscKeyDown(open && !disableCalendar, closeCalendar, {\n capture: false,\n });\n\n return (\n <FormField\n style={style}\n className={classNames(\n density !== 'regular' && densityClassNames[density],\n !!before && styles.hasBefore,\n (showCalendarButton || showClearButton) && styles.hasAfter,\n className,\n )}\n getRootRef={handleRootRef}\n role=\"group\"\n aria-labelledby={`${ariaLabelId} ${currentDateLabelId}`}\n before={before}\n after={\n <React.Fragment>\n {showCalendarButton ? (\n <IconButton\n hoverMode=\"opacity\"\n label={showCalendarLabel}\n onClick={toggleCalendar}\n data-testid={showCalendarButtonTestId}\n >\n <Icon20CalendarOutline />\n </IconButton>\n ) : null}\n {showClearButton ? (\n <IconButton\n hoverMode=\"opacity\"\n label={clearFieldLabel}\n onClick={clear}\n data-testid={clearButtonTestId}\n >\n <Icon16Clear />\n </IconButton>\n ) : null}\n </React.Fragment>\n }\n disabled={disabled}\n {...props}\n >\n <div className={styles.wrapper}>\n {ariaLabel && <VisuallyHidden id={ariaLabelId}>{ariaLabel}</VisuallyHidden>}\n {currentDateLabel && (\n <VisuallyHidden id={currentDateLabelId}>{currentDateLabel}</VisuallyHidden>\n )}\n <VisuallyHidden\n id={id}\n Component=\"input\"\n readOnly\n aria-hidden\n tabIndex={readOnly ? 0 : -1}\n name={name}\n value={\n value\n ? enableTime\n ? dateTimeFormatter.format(value)\n : dateFormatter.format(value)\n : ''\n }\n onFocus={handleFieldEnter}\n />\n <Text\n className={classNames(styles.input, customValue && styles.hidden)}\n // Инцидент: в PR https://github.com/VKCOM/VKUI/pull/6649 стабильно ломается порядок стилей\n // из-за чего `.Typography--normalize` перебивает стили.\n normalize={false}\n Component=\"span\" // для <span> нормализация не нужна\n onClick={showCalendarOnInputAreaClick}\n >\n <NumberInputLike\n value={internalValue[0]}\n minValue={1}\n maxValue={31}\n length={2}\n getRootRef={daysRef}\n index={0}\n onKeyDown={handleKeyDown}\n onElementSelect={setFocusedElement}\n label={changeDayLabel}\n readOnly={readOnly}\n data-testid={dayFieldTestId}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[1]}\n minValue={1}\n maxValue={12}\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n onKeyDown={handleKeyDown}\n readOnly={readOnly}\n label={changeMonthLabel}\n data-testid={monthFieldTestId}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[2]}\n minValue={1}\n maxValue={275750}\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeYearLabel}\n onKeyDown={handleKeyDown}\n data-testid={yearFieldTestId}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider className={styles.inputTimeDivider}> </InputLikeDivider>\n <NumberInputLike\n value={internalValue[3]}\n minValue={1}\n maxValue={24}\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeHoursLabel}\n onKeyDown={handleKeyDown}\n data-testid={hourFieldTestId}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <NumberInputLike\n value={internalValue[4]}\n minValue={1}\n maxValue={59}\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeMinutesLabel}\n onKeyDown={handleKeyDown}\n data-testid={minuteFieldTestId}\n />\n </React.Fragment>\n )}\n </Text>\n {customValue && (\n <Text className={styles.customValue} aria-hidden normalize={false}>\n {customValue}\n </Text>\n )}\n </div>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetByMainAxis={8}\n placement={calendarPlacement}\n onPlacementChange={setCalendarPlacement}\n autoUpdateOnTargetResize\n >\n <FocusTrapInternal\n rootRef={focusTrapRootRef}\n disabled={disableFocusTrap ?? !accessible}\n restoreFocus={restoreFocus ?? (Boolean(accessible) && handleRestoreFocus)}\n mutationObserverOptions={CALENDAR_MUTATION_OBSERVER_OPTIONS}\n >\n <div ref={focusTrapRootRef}>\n <Calendar\n aria-label={calendarLabel}\n role=\"dialog\"\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onDoneButtonClick={onDoneButtonClick}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n DoneButton={DoneButton}\n disablePickers={disablePickers}\n changeHoursLabel={changeHoursLabel}\n changeMinutesLabel={changeMinutesLabel}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n showNeighboringMonth={showNeighboringMonth}\n renderDayContent={renderDayContent}\n size={size}\n viewDate={viewDate}\n onHeaderChange={onHeaderChange}\n onNextMonth={onNextMonth}\n onPrevMonth={onPrevMonth}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n minDateTime={minDateTime}\n maxDateTime={maxDateTime}\n timezone={timezone}\n {...calendarTestsProps}\n />\n </div>\n </FocusTrapInternal>\n </Popper>\n )}\n </FormField>\n );\n};\n"],"names":["React","Icon16Clear","Icon20CalendarOutline","classNames","useAdaptivity","useDateInput","useExternRef","useGlobalEscKeyDown","convertDateToTimeZone","createDateInTimeZone","dateFormatter","dateTimeFormatter","isMatch","parse","startOfDay","startOfMinute","cacheDateTimeFormat","useIsomorphicLayoutEffect","Calendar","useConfigProvider","FocusTrapInternal","FormField","IconButton","InputLikeDivider","NumberInputLike","Popper","Text","VisuallyHidden","useDateInputValue","styles","labelDateTimeFormatOptions","weekday","year","month","day","labelDateTimeFormat","densityClassNames","none","densityNone","compact","densityCompact","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","CALENDAR_MUTATION_OBSERVER_OPTIONS","childList","subtree","attributes","attributeFilter","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","minDateTime","maxDateTime","valueProp","defaultValue","onChange","calendarPlacementProp","style","className","doneButtonText","DoneButton","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","accessible","calendarLabel","prevMonthLabel","nextMonthLabel","changeDayLabel","changeMonthLabel","changeYearLabel","changeHoursLabel","changeMinutesLabel","clearFieldLabel","showCalendarLabel","showNeighboringMonth","size","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","renderDayContent","onCalendarOpenChanged","calendarTestsProps","dayFieldTestId","monthFieldTestId","yearFieldTestId","hourFieldTestId","minuteFieldTestId","showCalendarButtonTestId","clearButtonTestId","id","onApply","renderCustomValue","timezone","restoreFocus","disableFocusTrap","readOnly","disableCalendarProp","ariaLabel","before","props","daysRef","useRef","monthsRef","yearsRef","hoursRef","minutesRef","focusTrapRootRef","disableCalendar","updateValue","setInternalValue","getLastUpdatedValue","clearValue","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","now","Date","referenceDate","parsed","toUpdate","refs","useMemo","rootRef","calendarRef","open","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","closeCalendar","toggleCalendar","openCalendar","handleRestoreFocus","onClear","density","handleRootRef","resetValueOnCloseCalendar","onCalendarChange","valueForDisplay","onDoneButtonClick","customValue","undefined","calendarPlacement","setCalendarPlacement","useState","locale","currentDateLabel","format","currentDateLabelId","useId","ariaLabelId","showCalendarOnInputAreaClick","showCalendarButton","showClearButton","capture","hasBefore","hasAfter","role","aria-labelledby","after","Fragment","hoverMode","label","onClick","data-testid","div","wrapper","Component","aria-hidden","tabIndex","onFocus","input","hidden","normalize","minValue","maxValue","onKeyDown","onElementSelect","inputTimeDivider","targetRef","offsetByMainAxis","placement","onPlacementChange","autoUpdateOnTargetResize","Boolean","mutationObserverOptions","ref","aria-label"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/DateInput/DateInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon20CalendarOutline } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useDateInput } from '../../hooks/useDateInput';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEscKeyDown } from '../../hooks/useGlobalEscKeyDown';\nimport {\n convertDateToTimeZone,\n createDateInTimeZone,\n dateFormatter,\n dateTimeFormatter,\n isMatch,\n parse,\n startOfDay,\n startOfMinute,\n} from '../../lib/date';\nimport type { PlacementWithAuto } from '../../lib/floating';\nimport { cacheDateTimeFormat } from '../../lib/intlCache';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasRootRef } from '../../types';\nimport { Calendar, type CalendarProps, type CalendarTestsProps } from '../Calendar/Calendar';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { InputLikeDivider } from '../InputLike/InputLikeDivider';\nimport { NumberInputLike } from '../NumberInputLike/NumberInputLike';\nimport { Popper } from '../Popper/Popper';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport { useDateInputValue } from './hooks';\nimport '../InputLike/InputLike.module.css'; // Reorder css\nimport styles from './DateInput.module.css';\n\nconst labelDateTimeFormatOptions = {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n} as const;\n\nconst labelDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nconst densityClassNames = {\n none: styles.densityNone,\n compact: styles.densityCompact,\n};\n\nexport type DateInputPropsTestsProps = {\n /**\n * Передает атрибут `data-testid` для поля ввода дня.\n */\n dayFieldTestId?: string | undefined;\n /**\n * Передает атрибут `data-testid` для поля ввода месяца.\n */\n monthFieldTestId?: string | undefined;\n /**\n * Передает атрибут `data-testid` для поля ввода года.\n */\n yearFieldTestId?: string | undefined;\n /**\n * Передает атрибут `data-testid` для поля ввода часа.\n */\n hourFieldTestId?: string | undefined;\n /**\n * Передает атрибут `data-testid` для поля ввода минут.\n */\n minuteFieldTestId?: string | undefined;\n /**\n * Передает атрибут `data-testid` для кнопки показа календаря.\n */\n showCalendarButtonTestId?: string | undefined;\n /**\n * Передает атрибут `data-testid` для кнопки очистки даты.\n */\n clearButtonTestId?: string | undefined;\n};\n\nexport interface DateInputProps\n extends Omit<\n React.InputHTMLAttributes<HTMLDivElement>,\n 'value' | 'defaultValue' | 'onChange' | 'size'\n >,\n Pick<\n CalendarProps,\n | 'disablePast'\n | 'disableFuture'\n | 'enableTime'\n | 'shouldDisableDate'\n | 'value'\n | 'defaultValue'\n | 'doneButtonText'\n | 'DoneButton'\n | 'weekStartsOn'\n | 'disablePickers'\n | 'changeHoursLabel'\n | 'changeMinutesLabel'\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'showNeighboringMonth'\n | 'size'\n | 'viewDate'\n | 'onHeaderChange'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'minDateTime'\n | 'maxDateTime'\n | 'renderDayContent'\n >,\n HasRootRef<HTMLDivElement>,\n Omit<FormFieldProps, 'maxHeight'>,\n DateInputPropsTestsProps {\n /**\n * Обработчик изменения выбранной даты.\n */\n onChange?: ((value: Date | null) => void) | undefined;\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в календаре.\n */\n calendarTestsProps?: CalendarTestsProps | undefined;\n /**\n * Расположение календаря относительно поля ввода.\n */\n calendarPlacement?: PlacementWithAuto | undefined;\n /**\n * Автоматически закрывать календарь при изменениях.\n */\n closeOnChange?: boolean | undefined;\n /**\n * `aria-label` для календаря.\n */\n calendarLabel?: string | undefined;\n /**\n * Label для кнопки очистки. Делает доступным для ассистивных технологий.\n */\n clearFieldLabel?: string | undefined;\n /**\n * Label для кнопки открытия календаря. Делает доступным для ассистивных технологий.\n */\n showCalendarLabel?: string | undefined;\n /**\n * Отключение открытия календаря.\n */\n disableCalendar?: boolean | undefined;\n /**\n * Обработчик изменения состояния открытия календаря.\n */\n onCalendarOpenChanged?: ((opened: boolean) => void) | undefined;\n /**\n * `aria-label` для поля изменения дня.\n */\n changeDayLabel?: string | undefined;\n /**\n * Обработчик нажатия на кнопку `\"Done\"`. Используется совместно с флагом `enableTime`.\n */\n onApply?: ((value?: Date) => void) | undefined;\n /**\n * Функция для кастомного форматирования отображаемого значения даты.\n * Позволяет переопределить стандартное отображение даты и вернуть собственное представление.\n */\n renderCustomValue?: ((date: Date | undefined) => React.ReactNode) | undefined;\n /**\n * Часовой пояс для отображения даты.\n */\n timezone?: string | undefined;\n /**\n * @deprecated Since 8.0.0. Будет удалено в 9.0.0.\n *\n * Включает режим в котором DateInput доступен\n * для ассистивных технологий.\n * В этом режиме:\n * - календарь больше не открывает при фокусе на DateInput;\n * - иконка календаря видна всегда, чтобы пользователи\n * ассистивных технологий могли открыть календарь по клику на иконку;\n * - календарь при открытии получает фокус, клавиатурный\n * фокус зациклен и не выходит за пределы календаря пока календарь не закрыт.\n */\n accessible?: boolean | undefined /* TODO [>=v9] удалить свойство */;\n /**\n * Позволяет отключить захват фокуса при появлении календаря.\n */\n disableFocusTrap?: boolean | undefined;\n /**\n * Управление поведением возврата фокуса при закрытии всплывающего окна.\n * @default true\n */\n restoreFocus?: boolean | (() => boolean | HTMLElement) | undefined;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n max = 31;\n break;\n case 1:\n max = 12;\n break;\n case 2:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n case 3:\n max = 23;\n break;\n case 4:\n max = 59;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarProps['value']) => {\n const newValue = ['', '', '', '', ''];\n if (value) {\n newValue[0] = String(value.getDate()).padStart(2, '0');\n newValue[1] = String(value.getMonth() + 1).padStart(2, '0');\n newValue[2] = String(value.getFullYear()).padStart(4, '0');\n newValue[3] = String(value.getHours()).padStart(2, '0');\n newValue[4] = String(value.getMinutes()).padStart(2, '0');\n }\n return newValue;\n};\n\n/**\n * @see https://vkui.io/components/date-input\n */\nexport const DateInput = ({\n enableTime,\n shouldDisableDate,\n disableFuture,\n disablePast,\n minDateTime,\n maxDateTime,\n 'value': valueProp,\n defaultValue,\n onChange,\n 'calendarPlacement': calendarPlacementProp = 'bottom-start',\n style,\n className,\n doneButtonText,\n DoneButton,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n accessible = true,\n calendarLabel = 'Календарь',\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeDayLabel = 'День',\n changeMonthLabel = 'Месяц',\n changeYearLabel = 'Год',\n changeHoursLabel = 'Час',\n changeMinutesLabel = 'Минута',\n clearFieldLabel = 'Очистить поле',\n showCalendarLabel = 'Показать календарь',\n showNeighboringMonth,\n size,\n viewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n renderDayContent,\n onCalendarOpenChanged,\n calendarTestsProps,\n dayFieldTestId,\n monthFieldTestId,\n yearFieldTestId,\n hourFieldTestId,\n minuteFieldTestId,\n showCalendarButtonTestId,\n clearButtonTestId,\n id,\n onApply,\n renderCustomValue,\n timezone,\n restoreFocus,\n disableFocusTrap,\n readOnly,\n 'disableCalendar': disableCalendarProp = false,\n 'aria-label': ariaLabel = '',\n before,\n ...props\n}: DateInputProps): React.ReactNode => {\n const daysRef = React.useRef<HTMLSpanElement>(null);\n const monthsRef = React.useRef<HTMLSpanElement>(null);\n const yearsRef = React.useRef<HTMLSpanElement>(null);\n const hoursRef = React.useRef<HTMLSpanElement>(null);\n const minutesRef = React.useRef<HTMLSpanElement>(null);\n const focusTrapRootRef = React.useRef<HTMLDivElement | null>(null);\n\n const disableCalendar = readOnly ? true : disableCalendarProp;\n\n const { value, updateValue, setInternalValue, getLastUpdatedValue, clearValue } =\n useDateInputValue({\n value: valueProp,\n defaultValue,\n onChange,\n timezone,\n });\n\n const maxElement = enableTime ? 4 : 2;\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n for (let i = 0; i <= maxElement; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n return;\n }\n }\n\n let formattedValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n let mask = 'dd.MM.yyyy';\n if (enableTime) {\n formattedValue += ` ${internalValue[3]}:${internalValue[4]}`;\n mask += ' HH:mm';\n }\n\n if (isMatch(formattedValue, mask)) {\n const now = new Date();\n const referenceDate = value ?? (enableTime ? startOfMinute(now) : startOfDay(now));\n const parsed = parse(formattedValue, mask, referenceDate);\n const toUpdate = createDateInTimeZone(parsed, timezone);\n updateValue(toUpdate);\n }\n },\n [enableTime, maxElement, timezone, updateValue, value],\n );\n\n const refs = React.useMemo(\n () => [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n [daysRef, monthsRef, yearsRef, hoursRef, minutesRef],\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n closeCalendar,\n toggleCalendar,\n openCalendar,\n handleRestoreFocus,\n } = useDateInput({\n maxElement,\n refs,\n autoFocus,\n disabled: disabled || readOnly,\n elementsConfig,\n onClear: clearValue,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n accessible,\n });\n\n const { density = 'none' } = useAdaptivity();\n\n const handleRootRef = useExternRef(rootRef, getRootRef);\n\n useIsomorphicLayoutEffect(\n function resetValueOnCloseCalendar() {\n if (!open) {\n setInternalValue(getLastUpdatedValue());\n }\n },\n [open, getLastUpdatedValue],\n );\n\n const onCalendarChange = React.useCallback(\n (value: Date) => {\n if (enableTime) {\n const valueForDisplay = convertDateToTimeZone(value, timezone) as Date;\n setInternalValue(valueForDisplay);\n return;\n }\n updateValue(value);\n if (closeOnChange) {\n removeFocusFromField();\n }\n },\n [enableTime, timezone, updateValue, closeOnChange, setInternalValue, removeFocusFromField],\n );\n\n const onDoneButtonClick = React.useCallback(() => {\n if (!value) {\n return;\n }\n const newValue = updateValue(value);\n onApply?.(newValue);\n removeFocusFromField();\n }, [onApply, removeFocusFromField, updateValue, value]);\n\n const customValue = React.useMemo(\n () => !open && renderCustomValue?.(value || undefined),\n [open, renderCustomValue, value],\n );\n\n // при переключении месяцев высота календаря может меняться,\n // чтобы календарь не прыгал при переключении месяцев каждый раз на\n // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался\n // на ней, пока помещается.\n const [calendarPlacement, setCalendarPlacement] =\n React.useState<PlacementWithAuto>(calendarPlacementProp);\n\n const { locale } = useConfigProvider();\n const currentDateLabel = value\n ? labelDateTimeFormat(locale, labelDateTimeFormatOptions).format(value)\n : null;\n const currentDateLabelId = React.useId();\n const ariaLabelId = React.useId();\n\n const showCalendarOnInputAreaClick = React.useCallback(() => {\n handleFieldEnter();\n if (accessible) {\n openCalendar();\n }\n }, [handleFieldEnter, openCalendar, accessible]);\n\n const showCalendarButton = !disableCalendar && (accessible || (!accessible && !value));\n const showClearButton = value && !readOnly;\n\n useGlobalEscKeyDown(open && !disableCalendar, closeCalendar, {\n capture: false,\n });\n\n return (\n <FormField\n style={style}\n className={classNames(\n density !== 'regular' && densityClassNames[density],\n !!before && styles.hasBefore,\n (showCalendarButton || showClearButton) && styles.hasAfter,\n className,\n )}\n getRootRef={handleRootRef}\n role=\"group\"\n aria-labelledby={`${ariaLabelId} ${currentDateLabelId}`}\n before={before}\n after={\n <React.Fragment>\n {showCalendarButton ? (\n <IconButton\n hoverMode=\"opacity\"\n label={showCalendarLabel}\n onClick={toggleCalendar}\n data-testid={showCalendarButtonTestId}\n >\n <Icon20CalendarOutline />\n </IconButton>\n ) : null}\n {showClearButton ? (\n <IconButton\n hoverMode=\"opacity\"\n label={clearFieldLabel}\n onClick={clear}\n data-testid={clearButtonTestId}\n >\n <Icon16Clear />\n </IconButton>\n ) : null}\n </React.Fragment>\n }\n disabled={disabled}\n {...props}\n >\n <div className={styles.wrapper}>\n {ariaLabel && <VisuallyHidden id={ariaLabelId}>{ariaLabel}</VisuallyHidden>}\n {currentDateLabel && (\n <VisuallyHidden id={currentDateLabelId}>{currentDateLabel}</VisuallyHidden>\n )}\n <VisuallyHidden\n id={id}\n Component=\"input\"\n readOnly\n aria-hidden\n tabIndex={readOnly ? 0 : -1}\n name={name}\n value={\n value\n ? enableTime\n ? dateTimeFormatter.format(value)\n : dateFormatter.format(value)\n : ''\n }\n onFocus={handleFieldEnter}\n />\n <Text\n className={classNames(styles.input, customValue && styles.hidden)}\n // Инцидент: в PR https://github.com/VKCOM/VKUI/pull/6649 стабильно ломается порядок стилей\n // из-за чего `.Typography--normalize` перебивает стили.\n normalize={false}\n Component=\"span\" // для <span> нормализация не нужна\n onClick={showCalendarOnInputAreaClick}\n >\n <NumberInputLike\n value={internalValue[0]}\n minValue={1}\n maxValue={31}\n length={2}\n getRootRef={daysRef}\n index={0}\n onKeyDown={handleKeyDown}\n onElementSelect={setFocusedElement}\n label={changeDayLabel}\n readOnly={readOnly}\n data-testid={dayFieldTestId}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[1]}\n minValue={1}\n maxValue={12}\n length={2}\n getRootRef={monthsRef}\n index={1}\n onElementSelect={setFocusedElement}\n onKeyDown={handleKeyDown}\n readOnly={readOnly}\n label={changeMonthLabel}\n data-testid={monthFieldTestId}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[2]}\n minValue={1}\n maxValue={275750}\n length={4}\n getRootRef={yearsRef}\n index={2}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeYearLabel}\n onKeyDown={handleKeyDown}\n data-testid={yearFieldTestId}\n />\n {enableTime && (\n <React.Fragment>\n <InputLikeDivider className={styles.inputTimeDivider}> </InputLikeDivider>\n <NumberInputLike\n value={internalValue[3]}\n minValue={1}\n maxValue={24}\n length={2}\n getRootRef={hoursRef}\n index={3}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeHoursLabel}\n onKeyDown={handleKeyDown}\n data-testid={hourFieldTestId}\n />\n <InputLikeDivider>:</InputLikeDivider>\n <NumberInputLike\n value={internalValue[4]}\n minValue={1}\n maxValue={59}\n length={2}\n getRootRef={minutesRef}\n index={4}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeMinutesLabel}\n onKeyDown={handleKeyDown}\n data-testid={minuteFieldTestId}\n />\n </React.Fragment>\n )}\n </Text>\n {customValue && (\n <Text className={styles.customValue} aria-hidden normalize={false}>\n {customValue}\n </Text>\n )}\n </div>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetByMainAxis={8}\n placement={calendarPlacement}\n onPlacementChange={setCalendarPlacement}\n autoUpdateOnTargetResize\n >\n <FocusTrap\n rootRef={focusTrapRootRef}\n disabled={disableFocusTrap ?? !accessible}\n restoreFocus={restoreFocus ?? (Boolean(accessible) && handleRestoreFocus)}\n >\n <div ref={focusTrapRootRef}>\n <Calendar\n aria-label={calendarLabel}\n role=\"dialog\"\n value={value}\n onChange={onCalendarChange}\n enableTime={enableTime}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onDoneButtonClick={onDoneButtonClick}\n getRootRef={calendarRef}\n doneButtonText={doneButtonText}\n DoneButton={DoneButton}\n disablePickers={disablePickers}\n changeHoursLabel={changeHoursLabel}\n changeMinutesLabel={changeMinutesLabel}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n showNeighboringMonth={showNeighboringMonth}\n renderDayContent={renderDayContent}\n size={size}\n viewDate={viewDate}\n onHeaderChange={onHeaderChange}\n onNextMonth={onNextMonth}\n onPrevMonth={onPrevMonth}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n minDateTime={minDateTime}\n maxDateTime={maxDateTime}\n timezone={timezone}\n {...(calendarTestsProps ?? {})}\n />\n </div>\n </FocusTrap>\n </Popper>\n )}\n </FormField>\n );\n};\n"],"names":["React","Icon16Clear","Icon20CalendarOutline","classNames","useAdaptivity","useDateInput","useExternRef","useGlobalEscKeyDown","convertDateToTimeZone","createDateInTimeZone","dateFormatter","dateTimeFormatter","isMatch","parse","startOfDay","startOfMinute","cacheDateTimeFormat","useIsomorphicLayoutEffect","Calendar","useConfigProvider","FocusTrap","FormField","IconButton","InputLikeDivider","NumberInputLike","Popper","Text","VisuallyHidden","useDateInputValue","styles","labelDateTimeFormatOptions","weekday","year","month","day","labelDateTimeFormat","densityClassNames","none","densityNone","compact","densityCompact","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","getHours","getMinutes","DateInput","enableTime","shouldDisableDate","disableFuture","disablePast","minDateTime","maxDateTime","valueProp","defaultValue","onChange","calendarPlacementProp","style","className","doneButtonText","DoneButton","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","accessible","calendarLabel","prevMonthLabel","nextMonthLabel","changeDayLabel","changeMonthLabel","changeYearLabel","changeHoursLabel","changeMinutesLabel","clearFieldLabel","showCalendarLabel","showNeighboringMonth","size","viewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","renderDayContent","onCalendarOpenChanged","calendarTestsProps","dayFieldTestId","monthFieldTestId","yearFieldTestId","hourFieldTestId","minuteFieldTestId","showCalendarButtonTestId","clearButtonTestId","id","onApply","renderCustomValue","timezone","restoreFocus","disableFocusTrap","readOnly","disableCalendarProp","ariaLabel","before","props","daysRef","useRef","monthsRef","yearsRef","hoursRef","minutesRef","focusTrapRootRef","disableCalendar","updateValue","setInternalValue","getLastUpdatedValue","clearValue","maxElement","onInternalValueChange","useCallback","internalValue","i","formattedValue","mask","now","Date","referenceDate","parsed","toUpdate","refs","useMemo","rootRef","calendarRef","open","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","closeCalendar","toggleCalendar","openCalendar","handleRestoreFocus","onClear","density","handleRootRef","resetValueOnCloseCalendar","onCalendarChange","valueForDisplay","onDoneButtonClick","customValue","undefined","calendarPlacement","setCalendarPlacement","useState","locale","currentDateLabel","format","currentDateLabelId","useId","ariaLabelId","showCalendarOnInputAreaClick","showCalendarButton","showClearButton","capture","hasBefore","hasAfter","role","aria-labelledby","after","Fragment","hoverMode","label","onClick","data-testid","div","wrapper","Component","aria-hidden","tabIndex","onFocus","input","hidden","normalize","minValue","maxValue","onKeyDown","onElementSelect","inputTimeDivider","targetRef","offsetByMainAxis","placement","onPlacementChange","autoUpdateOnTargetResize","Boolean","ref","aria-label"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateInput/hooks.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { convertDateFromTimeZone, convertDateToTimeZone } from '../../lib/date';\n\ninterface UseDateInputValueOptions {\n value?: Date | null;\n defaultValue?: Date | null;\n onChange?: (value: Date | null) => void;\n timezone?: string;\n}\n\nexport interface UseDateInputValueReturn {\n value: Date | null;\n updateValue: (v: Date) => Date;\n setInternalValue: (v: Date | null) => void;\n getLastUpdatedValue: () => Date | null;\n clearValue: () => void;\n}\n\nconst _convertDateToTimeZone = (date: Date | null, timezone?: string): Date | null => {\n return convertDateToTimeZone(date, timezone) || null;\n};\n\nconst _convertDateFromTimeZone = (date: Date, timezone?: string): Date => {\n return convertDateFromTimeZone(date, timezone) as Date;\n};\n\nconst getStateValue = (\n defaultStateValue: Date | null,\n value?: Date | null,\n defaultValue?: Date | null,\n timezone?: string,\n): Date | null => {\n if (value !== undefined) {\n return _convertDateToTimeZone(value, timezone);\n }\n if (defaultValue !== undefined) {\n return _convertDateToTimeZone(defaultValue, timezone);\n }\n return _convertDateToTimeZone(defaultStateValue, timezone);\n};\n\nexport const useDateInputValue = ({\n value,\n defaultValue,\n onChange,\n timezone,\n}: UseDateInputValueOptions): UseDateInputValueReturn => {\n const [internalValue, setInternalValue] = React.useState<Date | null>(\n getStateValue(null, value, defaultValue, timezone),\n );\n const lastUpdatedValueRef = React.useRef<Date | null>(\n getStateValue(null, value, defaultValue, timezone),\n );\n\n const isControlled = value !== undefined;\n\n React.useEffect(() => {\n if (isControlled) {\n const newInternalValue = _convertDateToTimeZone(value, timezone);\n setInternalValue(newInternalValue);\n lastUpdatedValueRef.current = newInternalValue;\n }\n }, [isControlled, timezone, value]);\n\n const getLastUpdatedValue = React.useCallback(() => lastUpdatedValueRef.current, []);\n\n const updateValue = React.useCallback(\n (newValue: Date) => {\n const valueForDisplay = _convertDateToTimeZone(newValue, timezone) as Date;\n if (!isControlled) {\n setInternalValue(valueForDisplay);\n lastUpdatedValueRef.current = valueForDisplay;\n }\n const originalTimezoneValue = _convertDateFromTimeZone(newValue, timezone);\n onChange?.(originalTimezoneValue);\n return originalTimezoneValue;\n },\n [isControlled, onChange, timezone],\n );\n\n const clearValue = () => {\n setInternalValue(null);\n lastUpdatedValueRef.current = null;\n onChange?.(null);\n };\n\n return {\n value: internalValue,\n updateValue,\n setInternalValue,\n getLastUpdatedValue,\n clearValue,\n };\n};\n"],"names":["React","convertDateFromTimeZone","convertDateToTimeZone","_convertDateToTimeZone","date","timezone","_convertDateFromTimeZone","getStateValue","defaultStateValue","value","defaultValue","undefined","useDateInputValue","onChange","internalValue","setInternalValue","useState","lastUpdatedValueRef","useRef","isControlled","useEffect","newInternalValue","current","getLastUpdatedValue","useCallback","updateValue","newValue","valueForDisplay","originalTimezoneValue","clearValue"],"mappings":"AAAA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,oBAAiB;AAiBhF,MAAMC,yBAAyB,CAACC,MAAmBC;IACjD,OAAOH,sBAAsBE,MAAMC,aAAa;AAClD;AAEA,MAAMC,2BAA2B,CAACF,MAAYC;IAC5C,OAAOJ,wBAAwBG,MAAMC;AACvC;AAEA,MAAME,gBAAgB,CACpBC,mBACAC,OACAC,cACAL;IAEA,IAAII,UAAUE,WAAW;QACvB,OAAOR,uBAAuBM,OAAOJ;IACvC;IACA,IAAIK,iBAAiBC,WAAW;QAC9B,OAAOR,uBAAuBO,cAAcL;IAC9C;IACA,OAAOF,uBAAuBK,mBAAmBH;AACnD;AAEA,OAAO,MAAMO,oBAAoB,CAAC,EAChCH,KAAK,EACLC,YAAY,EACZG,QAAQ,EACRR,QAAQ,EACiB;IACzB,MAAM,CAACS,eAAeC,iBAAiB,GAAGf,MAAMgB,QAAQ,CACtDT,cAAc,MAAME,OAAOC,cAAcL;IAE3C,MAAMY,sBAAsBjB,MAAMkB,MAAM,CACtCX,cAAc,MAAME,OAAOC,cAAcL;IAG3C,MAAMc,eAAeV,UAAUE;IAE/BX,MAAMoB,SAAS,CAAC;QACd,IAAID,cAAc;YAChB,MAAME,mBAAmBlB,uBAAuBM,OAAOJ;YACvDU,iBAAiBM;YACjBJ,oBAAoBK,OAAO,GAAGD;QAChC;IACF,GAAG;QAACF;QAAcd;QAAUI;KAAM;IAElC,MAAMc,sBAAsBvB,MAAMwB,WAAW,CAAC,IAAMP,oBAAoBK,OAAO,EAAE,EAAE;IAEnF,MAAMG,cAAczB,MAAMwB,WAAW,CACnC,CAACE;QACC,MAAMC,kBAAkBxB,uBAAuBuB,UAAUrB;QACzD,IAAI,CAACc,cAAc;YACjBJ,iBAAiBY;YACjBV,oBAAoBK,OAAO,GAAGK;QAChC;QACA,MAAMC,wBAAwBtB,yBAAyBoB,UAAUrB;QACjEQ,WAAWe;QACX,OAAOA;IACT,GACA;QAACT;QAAcN;QAAUR;KAAS;IAGpC,MAAMwB,aAAa;QACjBd,iBAAiB;QACjBE,oBAAoBK,OAAO,GAAG;QAC9BT,WAAW;IACb;IAEA,OAAO;QACLJ,OAAOK;QACPW;QACAV;QACAQ;QACAM;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/DateInput/hooks.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { convertDateFromTimeZone, convertDateToTimeZone } from '../../lib/date';\n\ninterface UseDateInputValueOptions {\n value?: Date | null | undefined;\n defaultValue?: Date | null | undefined;\n onChange?: ((value: Date | null) => void) | undefined;\n timezone?: string | undefined;\n}\n\nexport interface UseDateInputValueReturn {\n value: Date | null;\n updateValue: (v: Date) => Date;\n setInternalValue: (v: Date | null) => void;\n getLastUpdatedValue: () => Date | null;\n clearValue: () => void;\n}\n\nconst _convertDateToTimeZone = (date: Date | null, timezone?: string): Date | null => {\n return convertDateToTimeZone(date, timezone) || null;\n};\n\nconst _convertDateFromTimeZone = (date: Date, timezone?: string): Date => {\n return convertDateFromTimeZone(date, timezone) as Date;\n};\n\nconst getStateValue = (\n defaultStateValue: Date | null,\n value?: Date | null | undefined,\n defaultValue?: Date | null | undefined,\n timezone?: string | undefined,\n): Date | null => {\n if (value !== undefined) {\n return _convertDateToTimeZone(value, timezone);\n }\n if (defaultValue !== undefined) {\n return _convertDateToTimeZone(defaultValue, timezone);\n }\n return _convertDateToTimeZone(defaultStateValue, timezone);\n};\n\nexport const useDateInputValue = ({\n value,\n defaultValue,\n onChange,\n timezone,\n}: UseDateInputValueOptions): UseDateInputValueReturn => {\n const [internalValue, setInternalValue] = React.useState<Date | null>(\n getStateValue(null, value, defaultValue, timezone),\n );\n const lastUpdatedValueRef = React.useRef<Date | null>(\n getStateValue(null, value, defaultValue, timezone),\n );\n\n const isControlled = value !== undefined;\n\n React.useEffect(() => {\n if (isControlled) {\n const newInternalValue = _convertDateToTimeZone(value, timezone);\n setInternalValue(newInternalValue);\n lastUpdatedValueRef.current = newInternalValue;\n }\n }, [isControlled, timezone, value]);\n\n const getLastUpdatedValue = React.useCallback(() => lastUpdatedValueRef.current, []);\n\n const updateValue = React.useCallback(\n (newValue: Date) => {\n const valueForDisplay = _convertDateToTimeZone(newValue, timezone) as Date;\n if (!isControlled) {\n setInternalValue(valueForDisplay);\n lastUpdatedValueRef.current = valueForDisplay;\n }\n const originalTimezoneValue = _convertDateFromTimeZone(newValue, timezone);\n onChange?.(originalTimezoneValue);\n return originalTimezoneValue;\n },\n [isControlled, onChange, timezone],\n );\n\n const clearValue = () => {\n setInternalValue(null);\n lastUpdatedValueRef.current = null;\n onChange?.(null);\n };\n\n return {\n value: internalValue,\n updateValue,\n setInternalValue,\n getLastUpdatedValue,\n clearValue,\n };\n};\n"],"names":["React","convertDateFromTimeZone","convertDateToTimeZone","_convertDateToTimeZone","date","timezone","_convertDateFromTimeZone","getStateValue","defaultStateValue","value","defaultValue","undefined","useDateInputValue","onChange","internalValue","setInternalValue","useState","lastUpdatedValueRef","useRef","isControlled","useEffect","newInternalValue","current","getLastUpdatedValue","useCallback","updateValue","newValue","valueForDisplay","originalTimezoneValue","clearValue"],"mappings":"AAAA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,oBAAiB;AAiBhF,MAAMC,yBAAyB,CAACC,MAAmBC;IACjD,OAAOH,sBAAsBE,MAAMC,aAAa;AAClD;AAEA,MAAMC,2BAA2B,CAACF,MAAYC;IAC5C,OAAOJ,wBAAwBG,MAAMC;AACvC;AAEA,MAAME,gBAAgB,CACpBC,mBACAC,OACAC,cACAL;IAEA,IAAII,UAAUE,WAAW;QACvB,OAAOR,uBAAuBM,OAAOJ;IACvC;IACA,IAAIK,iBAAiBC,WAAW;QAC9B,OAAOR,uBAAuBO,cAAcL;IAC9C;IACA,OAAOF,uBAAuBK,mBAAmBH;AACnD;AAEA,OAAO,MAAMO,oBAAoB,CAAC,EAChCH,KAAK,EACLC,YAAY,EACZG,QAAQ,EACRR,QAAQ,EACiB;IACzB,MAAM,CAACS,eAAeC,iBAAiB,GAAGf,MAAMgB,QAAQ,CACtDT,cAAc,MAAME,OAAOC,cAAcL;IAE3C,MAAMY,sBAAsBjB,MAAMkB,MAAM,CACtCX,cAAc,MAAME,OAAOC,cAAcL;IAG3C,MAAMc,eAAeV,UAAUE;IAE/BX,MAAMoB,SAAS,CAAC;QACd,IAAID,cAAc;YAChB,MAAME,mBAAmBlB,uBAAuBM,OAAOJ;YACvDU,iBAAiBM;YACjBJ,oBAAoBK,OAAO,GAAGD;QAChC;IACF,GAAG;QAACF;QAAcd;QAAUI;KAAM;IAElC,MAAMc,sBAAsBvB,MAAMwB,WAAW,CAAC,IAAMP,oBAAoBK,OAAO,EAAE,EAAE;IAEnF,MAAMG,cAAczB,MAAMwB,WAAW,CACnC,CAACE;QACC,MAAMC,kBAAkBxB,uBAAuBuB,UAAUrB;QACzD,IAAI,CAACc,cAAc;YACjBJ,iBAAiBY;YACjBV,oBAAoBK,OAAO,GAAGK;QAChC;QACA,MAAMC,wBAAwBtB,yBAAyBoB,UAAUrB;QACjEQ,WAAWe;QACX,OAAOA;IACT,GACA;QAACT;QAAcN;QAAUR;KAAS;IAGpC,MAAMwB,aAAa;QACjBd,iBAAiB;QACjBE,oBAAoBK,OAAO,GAAG;QAC9BT,WAAW;IACb;IAEA,OAAO;QACLJ,OAAOK;QACPW;QACAV;QACAQ;QACAM;IACF;AACF,EAAE"}
@@ -12,7 +12,7 @@ import { dateFormatter, isMatch, parse } from "../../lib/date.js";
12
12
  import { cacheDateTimeFormat } from "../../lib/intlCache.js";
13
13
  import { CalendarRange } from "../CalendarRange/CalendarRange.js";
14
14
  import { useConfigProvider } from "../ConfigProvider/ConfigProviderContext.js";
15
- import { FocusTrapInternal } from "../FocusTrap/FocusTrap.js";
15
+ import { FocusTrap } from "../FocusTrap/FocusTrap.js";
16
16
  import { FormField } from "../FormField/FormField.js";
17
17
  import { IconButton } from "../IconButton/IconButton.js";
18
18
  import { InputLikeDivider } from "../InputLike/InputLikeDivider.js";
@@ -79,14 +79,6 @@ const getInternalValue = (value)=>{
79
79
  }
80
80
  return newValue;
81
81
  };
82
- const CALENDAR_MUTATION_OBSERVER_OPTIONS = {
83
- childList: true,
84
- subtree: true,
85
- attributes: true,
86
- attributeFilter: [
87
- 'tabindex'
88
- ]
89
- };
90
82
  /**
91
83
  * @see https://vkui.io/components/date-range-input
92
84
  */ export const DateRangeInput = ({ shouldDisableDate, disableFuture, disablePast, 'value': valueProp, defaultValue, onChange, 'calendarPlacement': calendarPlacementProp = 'bottom-start', style, className, closeOnChange = true, disablePickers, getRootRef, name, autoFocus, disabled, disableFocusTrap, restoreFocus, calendarLabel = 'Календарь', prevMonthLabel = 'Предыдущий месяц', nextMonthLabel = 'Следующий месяц', changeMonthLabel = 'Месяц', changeYearLabel = 'Год', changeStartDayLabel = 'День начала', changeStartMonthLabel = 'Месяц начала', changeStartYearLabel = 'Год начала', changeEndDayLabel = 'День окончания', changeEndMonthLabel = 'Месяц окончания', changeEndYearLabel = 'Год окончания', clearFieldLabel = 'Очистить поле', showCalendarLabel = 'Показать календарь', 'aria-label': ariaLabel = '', prevMonthIcon, nextMonthIcon, onCalendarOpenChanged, renderDayContent, calendarTestsProps, startDateTestsProps, endDateTestsProps, clearButtonTestId, showCalendarButtonTestId, id, accessible = true, readOnly, 'disableCalendar': disableCalendarProp = false, before, ...props })=>{
@@ -381,11 +373,10 @@ const CALENDAR_MUTATION_OBSERVER_OPTIONS = {
381
373
  offsetByMainAxis: 8,
382
374
  placement: calendarPlacement,
383
375
  onPlacementChange: setCalendarPlacement,
384
- children: /*#__PURE__*/ _jsx(FocusTrapInternal, {
376
+ children: /*#__PURE__*/ _jsx(FocusTrap, {
385
377
  rootRef: focusTrapRootRef,
386
378
  disabled: disableFocusTrap ?? !accessible,
387
379
  restoreFocus: restoreFocus ?? Boolean(accessible),
388
- mutationObserverOptions: CALENDAR_MUTATION_OBSERVER_OPTIONS,
389
380
  children: /*#__PURE__*/ _jsx("div", {
390
381
  ref: focusTrapRootRef,
391
382
  children: /*#__PURE__*/ _jsx(CalendarRange, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon20CalendarOutline } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useDateInput } from '../../hooks/useDateInput';\nimport { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEscKeyDown } from '../../hooks/useGlobalEscKeyDown';\nimport { dateFormatter, isMatch, parse } from '../../lib/date';\nimport type { PlacementWithAuto } from '../../lib/floating';\nimport { cacheDateTimeFormat } from '../../lib/intlCache';\nimport type { HasRootRef } from '../../types';\nimport {\n CalendarRange,\n type CalendarRangeProps,\n type CalendarRangeTestsProps,\n type DateRangeType,\n} from '../CalendarRange/CalendarRange';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrapInternal } from '../FocusTrap/FocusTrap';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { InputLikeDivider } from '../InputLike/InputLikeDivider';\nimport { NumberInputLike } from '../NumberInputLike/NumberInputLike';\nimport { Popper } from '../Popper/Popper';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport dateInputStyles from '../DateInput/DateInput.module.css';\n\nconst labelDateTimeFormatOptions = {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n} as const;\n\nconst labelDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nconst densityClassNames = {\n none: dateInputStyles.densityNone,\n compact: dateInputStyles.densityCompact,\n};\n\ntype DateTestsProps = {\n /**\n * Передает атрибут `data-testid` для поля ввода дня.\n */\n day?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода месяца.\n */\n month?: string;\n /**\n * Передает атрибут `data-testid` для поля ввода года.\n */\n year?: string;\n};\n\nexport type DateRangeInputTestsProps = {\n /**\n * Передает атрибуты `data-testid` для полей ввода начальной даты.\n */\n startDateTestsProps?: DateTestsProps;\n /**\n * Передает атрибуты `data-testid` для полей ввода конечной даты.\n */\n endDateTestsProps?: DateTestsProps;\n /**\n * Передает атрибут `data-testid` для кнопки показа календаря.\n */\n showCalendarButtonTestId?: string;\n /**\n * Передает атрибут `data-testid` для кнопки очистки даты.\n */\n clearButtonTestId?: string;\n};\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'>,\n Pick<\n CalendarRangeProps,\n | 'disablePast'\n | 'disableFuture'\n | 'shouldDisableDate'\n | 'value'\n | 'defaultValue'\n | 'weekStartsOn'\n | 'disablePickers'\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'changeDayLabel'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'renderDayContent'\n >,\n HasRootRef<HTMLDivElement>,\n Omit<FormFieldProps, 'maxHeight'>,\n DateRangeInputTestsProps {\n /**\n * Обработчик изменения выбранного промежутка.\n */\n onChange?: (value: DateRangeType | null) => void;\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в календаре.\n */\n calendarTestsProps?: CalendarRangeTestsProps;\n /**\n * Расположение календаря относительно поля ввода.\n */\n calendarPlacement?: PlacementWithAuto;\n /**\n * Автоматически закрывать календарь при изменениях.\n */\n closeOnChange?: boolean;\n /**\n * Обработчик изменения состояния открытия календаря.\n */\n onCalendarOpenChanged?: (opened: boolean) => void;\n /**\n * Label для календаря.\n */\n calendarLabel?: string;\n /**\n * Label для кнопки очистки. Делает доступным для ассистивных технологий.\n */\n clearFieldLabel?: string;\n /**\n * Label для кнопки открытия календаря. Делает доступным для ассистивных технологий.\n */\n showCalendarLabel?: string;\n /**\n * Label для ввода дня начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartDayLabel?: string;\n /**\n * Label для ввода месяца начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartMonthLabel?: string;\n /**\n * Label для ввода года начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartYearLabel?: string;\n /**\n * Label для ввода дня конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndDayLabel?: string;\n /**\n * Label для ввода месяца конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndMonthLabel?: string;\n /**\n * Label для ввода года конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndYearLabel?: string;\n /**\n * Отключение открытия календаря.\n */\n disableCalendar?: boolean;\n /**\n * Позволяет отключить захват фокуса при появлении календаря.\n */\n disableFocusTrap?: boolean;\n /**\n * Управление поведением возврата фокуса при закрытии всплывающего окна.\n * @default true\n */\n restoreFocus?: boolean | (() => boolean | HTMLElement);\n /**\n * @deprecated Since 8.0.0. Будет удалено в 9.0.0.\n *\n * Включает режим в котором DateRangeInput доступен\n * для ассистивных технологий.\n * В этом режиме:\n * - календарь больше не открывает при фокусе на DateRangeInput;\n * - иконка календаря видна всегда, чтобы пользователи\n * ассистивных технологий могли открыть календарь по клику на иконку;\n * - календарь при открытии получает фокус, клавиатурный\n * фокус зациклен и не выходит за пределы календаря пока календарь не закрыт.\n */\n accessible?: boolean /* TODO [>=v9] удалить свойство */;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps['value']) => {\n const newValue = ['', '', '', '', '', ''];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, '0');\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, '0');\n newValue[2] = String(value[0].getFullYear()).padStart(4, '0');\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, '0');\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, '0');\n newValue[5] = String(value[1].getFullYear()).padStart(4, '0');\n }\n return newValue;\n};\n\nconst CALENDAR_MUTATION_OBSERVER_OPTIONS: MutationObserverInit = {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['tabindex'],\n};\n\n/**\n * @see https://vkui.io/components/date-range-input\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n 'value': valueProp,\n defaultValue,\n onChange,\n 'calendarPlacement': calendarPlacementProp = 'bottom-start',\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n disableFocusTrap,\n restoreFocus,\n calendarLabel = 'Календарь',\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeMonthLabel = 'Месяц',\n changeYearLabel = 'Год',\n changeStartDayLabel = 'День начала',\n changeStartMonthLabel = 'Месяц начала',\n changeStartYearLabel = 'Год начала',\n changeEndDayLabel = 'День окончания',\n changeEndMonthLabel = 'Месяц окончания',\n changeEndYearLabel = 'Год окончания',\n clearFieldLabel = 'Очистить поле',\n showCalendarLabel = 'Показать календарь',\n 'aria-label': ariaLabel = '',\n prevMonthIcon,\n nextMonthIcon,\n onCalendarOpenChanged,\n renderDayContent,\n calendarTestsProps,\n startDateTestsProps,\n endDateTestsProps,\n clearButtonTestId,\n showCalendarButtonTestId,\n id,\n accessible = true,\n readOnly,\n 'disableCalendar': disableCalendarProp = false,\n before,\n ...props\n}: DateRangeInputProps): React.ReactNode => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n const focusTrapRootRef = React.useRef<HTMLDivElement | null>(null);\n\n const disableCalendar = readOnly ? true : disableCalendarProp;\n\n const [value, updateValue] = useCustomEnsuredControl<DateRangeType | null>({\n value: valueProp,\n defaultValue: defaultValue as DateRangeType | null,\n onChange,\n });\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = 'dd.MM.yyyy';\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && end > start) {\n updateValue([start, end]);\n }\n },\n [updateValue, value],\n );\n\n const refs = React.useMemo(\n () => [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef],\n [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef],\n );\n\n const onClear = React.useCallback(() => updateValue(null), [updateValue]);\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n toggleCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled: disabled || readOnly,\n elementsConfig,\n onClear,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n accessible,\n });\n\n const { density = 'none' } = useAdaptivity();\n\n const handleRootRef = useExternRef(rootRef, getRootRef);\n\n const onCalendarChange = React.useCallback(\n (newValue: DateRangeType) => {\n updateValue(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [updateValue, closeOnChange, value, removeFocusFromField],\n );\n\n // при переключении месяцев высота календаря может меняться,\n // чтобы календарь не прыгал при переключении месяцев каждый раз на\n // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался\n // на ней, пока помещается.\n const [calendarPlacement, setCalendarPlacement] =\n React.useState<PlacementWithAuto>(calendarPlacementProp);\n\n const { locale } = useConfigProvider();\n const currentDateLabel = React.useMemo(() => {\n if (!value) {\n return null;\n }\n const [startDate, endDate] = value;\n if (!startDate || !endDate) {\n return null;\n }\n return [\n labelDateTimeFormat(locale, labelDateTimeFormatOptions).format(startDate),\n labelDateTimeFormat(locale, labelDateTimeFormatOptions).format(endDate),\n ].join(' - ');\n }, [locale, value]);\n\n const currentDateLabelId = React.useId();\n const ariaLabelId = React.useId();\n\n const showCalendarOnInputAreaClick = React.useCallback(() => {\n handleFieldEnter();\n if (accessible) {\n openCalendar();\n }\n }, [handleFieldEnter, openCalendar, accessible]);\n\n const showCalendarButton = !disableCalendar && (accessible || (!accessible && !value));\n const showClearButton = value && !readOnly;\n\n useGlobalEscKeyDown(open && !disableCalendar, closeCalendar, {\n capture: false,\n });\n\n return (\n <FormField\n style={style}\n className={classNames(\n density !== 'regular' && densityClassNames[density],\n !!before && dateInputStyles.hasBefore,\n (showCalendarButton || showClearButton) && dateInputStyles.hasAfter,\n className,\n )}\n getRootRef={handleRootRef}\n role=\"group\"\n aria-labelledby={`${ariaLabelId} ${currentDateLabelId}`}\n before={before}\n after={\n <>\n {showCalendarButton ? (\n <IconButton\n hoverMode=\"opacity\"\n label={showCalendarLabel}\n onClick={toggleCalendar}\n data-testid={showCalendarButtonTestId}\n >\n <Icon20CalendarOutline />\n </IconButton>\n ) : null}\n {showClearButton ? (\n <IconButton\n hoverMode=\"opacity\"\n label={clearFieldLabel}\n onClick={clear}\n data-testid={clearButtonTestId}\n >\n <Icon16Clear />\n </IconButton>\n ) : null}\n </>\n }\n disabled={disabled}\n {...props}\n >\n <div className={dateInputStyles.wrapper}>\n {ariaLabel && <VisuallyHidden id={ariaLabelId}>{ariaLabel}</VisuallyHidden>}\n {currentDateLabel && (\n <VisuallyHidden id={currentDateLabelId}>{currentDateLabel}</VisuallyHidden>\n )}\n <VisuallyHidden\n id={id}\n Component=\"input\"\n readOnly\n aria-hidden\n name={name}\n tabIndex={readOnly ? 0 : -1}\n value={\n value\n ? `${value[0] ? dateFormatter.format(value[0]) : ''} - ${\n value[1] ? dateFormatter.format(value[1]) : ''\n }`\n : ''\n }\n onFocus={handleFieldEnter}\n />\n <Text\n className={dateInputStyles.input}\n onClick={showCalendarOnInputAreaClick}\n normalize={false}\n >\n <NumberInputLike\n value={internalValue[0]}\n minValue={1}\n maxValue={31}\n onKeyDown={readOnly ? undefined : handleKeyDown}\n length={2}\n getRootRef={daysStartRef}\n index={0}\n readOnly={readOnly}\n onElementSelect={setFocusedElement}\n label={changeStartDayLabel}\n data-testid={startDateTestsProps?.day}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[1]}\n minValue={1}\n maxValue={12}\n onKeyDown={handleKeyDown}\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeStartMonthLabel}\n data-testid={startDateTestsProps?.month}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[2]}\n minValue={1}\n maxValue={275750}\n onKeyDown={handleKeyDown}\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeStartYearLabel}\n data-testid={startDateTestsProps?.year}\n />\n <InputLikeDivider>{' — '}</InputLikeDivider>\n <NumberInputLike\n value={internalValue[3]}\n minValue={1}\n maxValue={31}\n onKeyDown={handleKeyDown}\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeEndDayLabel}\n data-testid={endDateTestsProps?.day}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[4]}\n minValue={1}\n maxValue={12}\n onKeyDown={handleKeyDown}\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeEndMonthLabel}\n data-testid={endDateTestsProps?.month}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[5]}\n minValue={1}\n maxValue={275750}\n onKeyDown={handleKeyDown}\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeEndYearLabel}\n data-testid={endDateTestsProps?.year}\n />\n </Text>\n </div>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetByMainAxis={8}\n placement={calendarPlacement}\n onPlacementChange={setCalendarPlacement}\n >\n <FocusTrapInternal\n rootRef={focusTrapRootRef}\n disabled={disableFocusTrap ?? !accessible}\n restoreFocus={restoreFocus ?? Boolean(accessible)}\n mutationObserverOptions={CALENDAR_MUTATION_OBSERVER_OPTIONS}\n >\n <div ref={focusTrapRootRef}>\n <CalendarRange\n value={value}\n role=\"dialog\"\n onChange={onCalendarChange}\n aria-label={calendarLabel}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n renderDayContent={renderDayContent}\n {...calendarTestsProps}\n />\n </div>\n </FocusTrapInternal>\n </Popper>\n )}\n </FormField>\n );\n};\n"],"names":["React","Icon16Clear","Icon20CalendarOutline","classNames","useAdaptivity","useDateInput","useCustomEnsuredControl","useExternRef","useGlobalEscKeyDown","dateFormatter","isMatch","parse","cacheDateTimeFormat","CalendarRange","useConfigProvider","FocusTrapInternal","FormField","IconButton","InputLikeDivider","NumberInputLike","Popper","Text","VisuallyHidden","dateInputStyles","labelDateTimeFormatOptions","weekday","year","month","day","labelDateTimeFormat","densityClassNames","none","densityNone","compact","densityCompact","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","CALENDAR_MUTATION_OBSERVER_OPTIONS","childList","subtree","attributes","attributeFilter","DateRangeInput","shouldDisableDate","disableFuture","disablePast","valueProp","defaultValue","onChange","calendarPlacementProp","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","disableFocusTrap","restoreFocus","calendarLabel","prevMonthLabel","nextMonthLabel","changeMonthLabel","changeYearLabel","changeStartDayLabel","changeStartMonthLabel","changeStartYearLabel","changeEndDayLabel","changeEndMonthLabel","changeEndYearLabel","clearFieldLabel","showCalendarLabel","ariaLabel","prevMonthIcon","nextMonthIcon","onCalendarOpenChanged","renderDayContent","calendarTestsProps","startDateTestsProps","endDateTestsProps","clearButtonTestId","showCalendarButtonTestId","id","accessible","readOnly","disableCalendarProp","before","props","daysStartRef","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","focusTrapRootRef","disableCalendar","updateValue","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","onClear","rootRef","calendarRef","open","openCalendar","closeCalendar","toggleCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","maxElement","density","handleRootRef","onCalendarChange","calendarPlacement","setCalendarPlacement","useState","locale","currentDateLabel","startDate","endDate","format","join","currentDateLabelId","useId","ariaLabelId","showCalendarOnInputAreaClick","showCalendarButton","showClearButton","capture","hasBefore","hasAfter","role","aria-labelledby","after","hoverMode","label","onClick","data-testid","div","wrapper","Component","aria-hidden","tabIndex","onFocus","input","normalize","minValue","maxValue","onKeyDown","undefined","onElementSelect","targetRef","offsetByMainAxis","placement","onPlacementChange","Boolean","mutationObserverOptions","ref","aria-label"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,WAAW,EAAEC,qBAAqB,QAAQ,mBAAmB;AACtE,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,uBAAuB,QAAQ,mCAAgC;AACxE,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,mBAAmB,QAAQ,qCAAkC;AACtE,SAASC,aAAa,EAAEC,OAAO,EAAEC,KAAK,QAAQ,oBAAiB;AAE/D,SAASC,mBAAmB,QAAQ,yBAAsB;AAE1D,SACEC,aAAa,QAIR,oCAAiC;AACxC,SAASC,iBAAiB,QAAQ,6CAA0C;AAC5E,SAASC,iBAAiB,QAAQ,4BAAyB;AAC3D,SAASC,SAAS,QAA6B,4BAAyB;AACxE,SAASC,UAAU,QAAQ,8BAA2B;AACtD,SAASC,gBAAgB,QAAQ,mCAAgC;AACjE,SAASC,eAAe,QAAQ,wCAAqC;AACrE,SAASC,MAAM,QAAQ,sBAAmB;AAC1C,SAASC,IAAI,QAAQ,6BAA0B;AAC/C,SAASC,cAAc,QAAQ,sCAAmC;AAClE,OAAOC,qBAAqB,oCAAoC;AAEhE,MAAMC,6BAA6B;IACjCC,SAAS;IACTC,MAAM;IACNC,OAAO;IACPC,KAAK;AACP;AAEA,MAAMC,sBAAsB,WAAW,GAAGjB;AAE1C,MAAMkB,oBAAoB;IACxBC,MAAMR,gBAAgBS,WAAW;IACjCC,SAASV,gBAAgBW,cAAc;AACzC;AA+IA,MAAMC,iBAAiB,CAACC;IACtB,IAAIC,SAAS;IACb,IAAIC,MAAM;IACV,IAAIC,MAAM;IAEV,OAAQH;QACN,KAAK;QACL,KAAK;YACHG,MAAM;YACN;QACF,KAAK;QACL,KAAK;YACHA,MAAM;YACN;QACF,KAAK;QACL,KAAK;YACHA,MAAM;YACND,MAAM;YACND,SAAS;YACT;IACJ;IAEA,OAAO;QAAEA;QAAQC;QAAKC;IAAI;AAC5B;AAEA,MAAMC,mBAAmB,CAACC;IACxB,MAAMC,WAAW;QAAC;QAAI;QAAI;QAAI;QAAI;QAAI;KAAG;IACzC,IAAID,OAAO,CAAC,EAAE,EAAE;QACdC,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACG,OAAO,IAAIC,QAAQ,CAAC,GAAG;QACrDH,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACK,QAAQ,KAAK,GAAGD,QAAQ,CAAC,GAAG;QAC1DH,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACM,WAAW,IAAIF,QAAQ,CAAC,GAAG;IAC3D;IACA,IAAIJ,OAAO,CAAC,EAAE,EAAE;QACdC,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACG,OAAO,IAAIC,QAAQ,CAAC,GAAG;QACrDH,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACK,QAAQ,KAAK,GAAGD,QAAQ,CAAC,GAAG;QAC1DH,QAAQ,CAAC,EAAE,GAAGC,OAAOF,KAAK,CAAC,EAAE,CAACM,WAAW,IAAIF,QAAQ,CAAC,GAAG;IAC3D;IACA,OAAOH;AACT;AAEA,MAAMM,qCAA2D;IAC/DC,WAAW;IACXC,SAAS;IACTC,YAAY;IACZC,iBAAiB;QAAC;KAAW;AAC/B;AAEA;;CAEC,GACD,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,iBAAiB,EACjBC,aAAa,EACbC,WAAW,EACX,SAASC,SAAS,EAClBC,YAAY,EACZC,QAAQ,EACR,qBAAqBC,wBAAwB,cAAc,EAC3DC,KAAK,EACLC,SAAS,EACTC,gBAAgB,IAAI,EACpBC,cAAc,EACdC,UAAU,EACVC,IAAI,EACJC,SAAS,EACTC,QAAQ,EACRC,gBAAgB,EAChBC,YAAY,EACZC,gBAAgB,WAAW,EAC3BC,iBAAiB,kBAAkB,EACnCC,iBAAiB,iBAAiB,EAClCC,mBAAmB,OAAO,EAC1BC,kBAAkB,KAAK,EACvBC,sBAAsB,aAAa,EACnCC,wBAAwB,cAAc,EACtCC,uBAAuB,YAAY,EACnCC,oBAAoB,gBAAgB,EACpCC,sBAAsB,iBAAiB,EACvCC,qBAAqB,eAAe,EACpCC,kBAAkB,eAAe,EACjCC,oBAAoB,oBAAoB,EACxC,cAAcC,YAAY,EAAE,EAC5BC,aAAa,EACbC,aAAa,EACbC,qBAAqB,EACrBC,gBAAgB,EAChBC,kBAAkB,EAClBC,mBAAmB,EACnBC,iBAAiB,EACjBC,iBAAiB,EACjBC,wBAAwB,EACxBC,EAAE,EACFC,aAAa,IAAI,EACjBC,QAAQ,EACR,mBAAmBC,sBAAsB,KAAK,EAC9CC,MAAM,EACN,GAAGC,OACiB;IACpB,MAAMC,eAAepG,MAAMqG,MAAM,CAAkB;IACnD,MAAMC,iBAAiBtG,MAAMqG,MAAM,CAAkB;IACrD,MAAME,gBAAgBvG,MAAMqG,MAAM,CAAkB;IACpD,MAAMG,aAAaxG,MAAMqG,MAAM,CAAkB;IACjD,MAAMI,eAAezG,MAAMqG,MAAM,CAAkB;IACnD,MAAMK,cAAc1G,MAAMqG,MAAM,CAAkB;IAClD,MAAMM,mBAAmB3G,MAAMqG,MAAM,CAAwB;IAE7D,MAAMO,kBAAkBZ,WAAW,OAAOC;IAE1C,MAAM,CAACxD,OAAOoE,YAAY,GAAGvG,wBAA8C;QACzEmC,OAAOgB;QACPC,cAAcA;QACdC;IACF;IAEA,MAAMmD,wBAAwB9G,MAAM+G,WAAW,CAC7C,CAACC;QACC,IAAIC,eAAe;QACnB,IAAIC,aAAa;QACjB,IAAK,IAAIC,IAAI,GAAGA,KAAK,GAAGA,KAAK,EAAG;YAC9B,IAAIH,aAAa,CAACG,EAAE,CAAC9E,MAAM,GAAGF,eAAegF,GAAG9E,MAAM,EAAE;gBACtD4E,eAAe;YACjB;QACF;QACA,IAAK,IAAIE,IAAI,GAAGA,KAAK,GAAGA,KAAK,EAAG;YAC9B,IAAIH,aAAa,CAACG,EAAE,CAAC9E,MAAM,GAAGF,eAAegF,GAAG9E,MAAM,EAAE;gBACtD6E,aAAa;YACf;QACF;QACA,MAAME,sBAAsB,GAAGJ,aAAa,CAAC,EAAE,CAAC,CAAC,EAAEA,aAAa,CAAC,EAAE,CAAC,CAAC,EAAEA,aAAa,CAAC,EAAE,EAAE;QACzF,MAAMK,oBAAoB,GAAGL,aAAa,CAAC,EAAE,CAAC,CAAC,EAAEA,aAAa,CAAC,EAAE,CAAC,CAAC,EAAEA,aAAa,CAAC,EAAE,EAAE;QACvF,MAAMM,OAAO;QAEb,IAAI,CAAC5G,QAAQ0G,qBAAqBE,OAAO;YACvCL,eAAe;QACjB;QACA,IAAI,CAACvG,QAAQ2G,mBAAmBC,OAAO;YACrCJ,aAAa;QACf;QAEA,IAAI,CAACD,gBAAgB,CAACC,YAAY;YAChC;QACF;QAEA,MAAMK,cAAcC,MAAMC,OAAO,CAAChF;QAClC,MAAMiF,MAAM,IAAIC;QAChB,MAAMC,QAAQX,eACVtG,MAAMyG,qBAAqBE,MAAM,AAACC,eAAe9E,OAAO,CAAC,EAAE,IAAKiF,OAChE;QACJ,MAAMG,MAAMX,aACRvG,MAAM0G,mBAAmBC,MAAM,AAACC,eAAe9E,OAAO,CAAC,EAAE,IAAKiF,OAC9D;QACJ,IAAIE,SAASC,OAAOA,MAAMD,OAAO;YAC/Bf,YAAY;gBAACe;gBAAOC;aAAI;QAC1B;IACF,GACA;QAAChB;QAAapE;KAAM;IAGtB,MAAMqF,OAAO9H,MAAM+H,OAAO,CACxB,IAAM;YAAC3B;YAAcE;YAAgBC;YAAeC;YAAYC;YAAcC;SAAY,EAC1F;QAACN;QAAcE;QAAgBC;QAAeC;QAAYC;QAAcC;KAAY;IAGtF,MAAMsB,UAAUhI,MAAM+G,WAAW,CAAC,IAAMF,YAAY,OAAO;QAACA;KAAY;IAExE,MAAM,EACJoB,OAAO,EACPC,WAAW,EACXC,IAAI,EACJC,YAAY,EACZC,aAAa,EACbC,cAAc,EACdtB,aAAa,EACbuB,aAAa,EACbC,iBAAiB,EACjBC,gBAAgB,EAChBC,KAAK,EACLC,oBAAoB,EACrB,GAAGtI,aAAa;QACfuI,YAAY;QACZd;QACA3D;QACAC,UAAUA,YAAY4B;QACtB7D;QACA6F;QACAlB;QACAtE;QACAC;QACA8C;QACAQ;IACF;IAEA,MAAM,EAAE8C,UAAU,MAAM,EAAE,GAAGzI;IAE7B,MAAM0I,gBAAgBvI,aAAa0H,SAAShE;IAE5C,MAAM8E,mBAAmB/I,MAAM+G,WAAW,CACxC,CAACrE;QACCmE,YAAYnE;QACZ,IAAIqB,iBAAiBrB,UAAU,CAAC,EAAE,IAAIA,QAAQ,CAAC,EAAE,KAAKD,OAAO,CAAC,EAAE,EAAE;YAChEkG;QACF;IACF,GACA;QAAC9B;QAAa9C;QAAetB;QAAOkG;KAAqB;IAG3D,4DAA4D;IAC5D,mEAAmE;IACnE,4EAA4E;IAC5E,2BAA2B;IAC3B,MAAM,CAACK,mBAAmBC,qBAAqB,GAC7CjJ,MAAMkJ,QAAQ,CAAoBtF;IAEpC,MAAM,EAAEuF,MAAM,EAAE,GAAGrI;IACnB,MAAMsI,mBAAmBpJ,MAAM+H,OAAO,CAAC;QACrC,IAAI,CAACtF,OAAO;YACV,OAAO;QACT;QACA,MAAM,CAAC4G,WAAWC,QAAQ,GAAG7G;QAC7B,IAAI,CAAC4G,aAAa,CAACC,SAAS;YAC1B,OAAO;QACT;QACA,OAAO;YACLzH,oBAAoBsH,QAAQ3H,4BAA4B+H,MAAM,CAACF;YAC/DxH,oBAAoBsH,QAAQ3H,4BAA4B+H,MAAM,CAACD;SAChE,CAACE,IAAI,CAAC;IACT,GAAG;QAACL;QAAQ1G;KAAM;IAElB,MAAMgH,qBAAqBzJ,MAAM0J,KAAK;IACtC,MAAMC,cAAc3J,MAAM0J,KAAK;IAE/B,MAAME,+BAA+B5J,MAAM+G,WAAW,CAAC;QACrD0B;QACA,IAAI1C,YAAY;YACdqC;QACF;IACF,GAAG;QAACK;QAAkBL;QAAcrC;KAAW;IAE/C,MAAM8D,qBAAqB,CAACjD,mBAAoBb,CAAAA,cAAe,CAACA,cAAc,CAACtD,KAAK;IACpF,MAAMqH,kBAAkBrH,SAAS,CAACuD;IAElCxF,oBAAoB2H,QAAQ,CAACvB,iBAAiByB,eAAe;QAC3D0B,SAAS;IACX;IAEA,qBACE,MAAC/I;QACC6C,OAAOA;QACPC,WAAW3D,WACT0I,YAAY,aAAa/G,iBAAiB,CAAC+G,QAAQ,EACnD,CAAC,CAAC3C,UAAU3E,gBAAgByI,SAAS,EACrC,AAACH,CAAAA,sBAAsBC,eAAc,KAAMvI,gBAAgB0I,QAAQ,EACnEnG;QAEFG,YAAY6E;QACZoB,MAAK;QACLC,mBAAiB,GAAGR,YAAY,CAAC,EAAEF,oBAAoB;QACvDvD,QAAQA;QACRkE,qBACE;;gBACGP,mCACC,KAAC5I;oBACCoJ,WAAU;oBACVC,OAAOnF;oBACPoF,SAASjC;oBACTkC,eAAa3E;8BAEb,cAAA,KAAC3F;qBAED;gBACH4J,gCACC,KAAC7I;oBACCoJ,WAAU;oBACVC,OAAOpF;oBACPqF,SAAS7B;oBACT8B,eAAa5E;8BAEb,cAAA,KAAC3F;qBAED;;;QAGRmE,UAAUA;QACT,GAAG+B,KAAK;;0BAET,MAACsE;gBAAI3G,WAAWvC,gBAAgBmJ,OAAO;;oBACpCtF,2BAAa,KAAC9D;wBAAewE,IAAI6D;kCAAcvE;;oBAC/CgE,kCACC,KAAC9H;wBAAewE,IAAI2D;kCAAqBL;;kCAE3C,KAAC9H;wBACCwE,IAAIA;wBACJ6E,WAAU;wBACV3E,QAAQ;wBACR4E,aAAW;wBACX1G,MAAMA;wBACN2G,UAAU7E,WAAW,IAAI,CAAC;wBAC1BvD,OACEA,QACI,GAAGA,KAAK,CAAC,EAAE,GAAGhC,cAAc8I,MAAM,CAAC9G,KAAK,CAAC,EAAE,IAAI,GAAG,GAAG,EACnDA,KAAK,CAAC,EAAE,GAAGhC,cAAc8I,MAAM,CAAC9G,KAAK,CAAC,EAAE,IAAI,IAC5C,GACF;wBAENqI,SAASrC;;kCAEX,MAACpH;wBACCyC,WAAWvC,gBAAgBwJ,KAAK;wBAChCR,SAASX;wBACToB,WAAW;;0CAEX,KAAC7J;gCACCsB,OAAOuE,aAAa,CAAC,EAAE;gCACvBiE,UAAU;gCACVC,UAAU;gCACVC,WAAWnF,WAAWoF,YAAY7C;gCAClClG,QAAQ;gCACR4B,YAAYmC;gCACZhE,OAAO;gCACP4D,UAAUA;gCACVqF,iBAAiB7C;gCACjB8B,OAAO1F;gCACP4F,eAAa9E,qBAAqB9D;;0CAEpC,KAACV;0CAAiB;;0CAClB,KAACC;gCACCsB,OAAOuE,aAAa,CAAC,EAAE;gCACvBiE,UAAU;gCACVC,UAAU;gCACVC,WAAW5C;gCACXlG,QAAQ;gCACR4B,YAAYqC;gCACZlE,OAAO;gCACPiJ,iBAAiB7C;gCACjBxC,UAAUA;gCACVsE,OAAOzF;gCACP2F,eAAa9E,qBAAqB/D;;0CAEpC,KAACT;0CAAiB;;0CAClB,KAACC;gCACCsB,OAAOuE,aAAa,CAAC,EAAE;gCACvBiE,UAAU;gCACVC,UAAU;gCACVC,WAAW5C;gCACXlG,QAAQ;gCACR4B,YAAYsC;gCACZnE,OAAO;gCACPiJ,iBAAiB7C;gCACjBxC,UAAUA;gCACVsE,OAAOxF;gCACP0F,eAAa9E,qBAAqBhE;;0CAEpC,KAACR;0CAAkB;;0CACnB,KAACC;gCACCsB,OAAOuE,aAAa,CAAC,EAAE;gCACvBiE,UAAU;gCACVC,UAAU;gCACVC,WAAW5C;gCACXlG,QAAQ;gCACR4B,YAAYuC;gCACZpE,OAAO;gCACPiJ,iBAAiB7C;gCACjBxC,UAAUA;gCACVsE,OAAOvF;gCACPyF,eAAa7E,mBAAmB/D;;0CAElC,KAACV;0CAAiB;;0CAClB,KAACC;gCACCsB,OAAOuE,aAAa,CAAC,EAAE;gCACvBiE,UAAU;gCACVC,UAAU;gCACVC,WAAW5C;gCACXlG,QAAQ;gCACR4B,YAAYwC;gCACZrE,OAAO;gCACPiJ,iBAAiB7C;gCACjBxC,UAAUA;gCACVsE,OAAOtF;gCACPwF,eAAa7E,mBAAmBhE;;0CAElC,KAACT;0CAAiB;;0CAClB,KAACC;gCACCsB,OAAOuE,aAAa,CAAC,EAAE;gCACvBiE,UAAU;gCACVC,UAAU;gCACVC,WAAW5C;gCACXlG,QAAQ;gCACR4B,YAAYyC;gCACZtE,OAAO;gCACPiJ,iBAAiB7C;gCACjBxC,UAAUA;gCACVsE,OAAOrF;gCACPuF,eAAa7E,mBAAmBjE;;;;;;YAIrCyG,QAAQ,CAACvB,iCACR,KAACxF;gBACCkK,WAAWrD;gBACXsD,kBAAkB;gBAClBC,WAAWxC;gBACXyC,mBAAmBxC;0BAEnB,cAAA,KAAClI;oBACCkH,SAAStB;oBACTvC,UAAUC,oBAAoB,CAAC0B;oBAC/BzB,cAAcA,gBAAgBoH,QAAQ3F;oBACtC4F,yBAAyB3I;8BAEzB,cAAA,KAACyH;wBAAImB,KAAKjF;kCACR,cAAA,KAAC9F;4BACC4B,OAAOA;4BACPyH,MAAK;4BACLvG,UAAUoF;4BACV8C,cAAYtH;4BACZf,aAAaA;4BACbD,eAAeA;4BACfD,mBAAmBA;4BACnBW,YAAYiE;4BACZlE,gBAAgBA;4BAChBQ,gBAAgBA;4BAChBC,gBAAgBA;4BAChBC,kBAAkBA;4BAClBC,iBAAiBA;4BACjBU,eAAeA;4BACfC,eAAeA;4BACfE,kBAAkBA;4BACjB,GAAGC,kBAAkB;;;;;;;AAQtC,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Clear, Icon20CalendarOutline } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useDateInput } from '../../hooks/useDateInput';\nimport { useCustomEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEscKeyDown } from '../../hooks/useGlobalEscKeyDown';\nimport { dateFormatter, isMatch, parse } from '../../lib/date';\nimport type { PlacementWithAuto } from '../../lib/floating';\nimport { cacheDateTimeFormat } from '../../lib/intlCache';\nimport type { HasRootRef } from '../../types';\nimport {\n CalendarRange,\n type CalendarRangeProps,\n type CalendarRangeTestsProps,\n type DateRangeType,\n} from '../CalendarRange/CalendarRange';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { FormField, type FormFieldProps } from '../FormField/FormField';\nimport { IconButton } from '../IconButton/IconButton';\nimport { InputLikeDivider } from '../InputLike/InputLikeDivider';\nimport { NumberInputLike } from '../NumberInputLike/NumberInputLike';\nimport { Popper } from '../Popper/Popper';\nimport { Text } from '../Typography/Text/Text';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\nimport dateInputStyles from '../DateInput/DateInput.module.css';\n\nconst labelDateTimeFormatOptions = {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n} as const;\n\nconst labelDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nconst densityClassNames = {\n none: dateInputStyles.densityNone,\n compact: dateInputStyles.densityCompact,\n};\n\ntype DateTestsProps = {\n /**\n * Передает атрибут `data-testid` для поля ввода дня.\n */\n day?: string | undefined;\n /**\n * Передает атрибут `data-testid` для поля ввода месяца.\n */\n month?: string | undefined;\n /**\n * Передает атрибут `data-testid` для поля ввода года.\n */\n year?: string | undefined;\n};\n\nexport type DateRangeInputTestsProps = {\n /**\n * Передает атрибуты `data-testid` для полей ввода начальной даты.\n */\n startDateTestsProps?: DateTestsProps | undefined;\n /**\n * Передает атрибуты `data-testid` для полей ввода конечной даты.\n */\n endDateTestsProps?: DateTestsProps | undefined;\n /**\n * Передает атрибут `data-testid` для кнопки показа календаря.\n */\n showCalendarButtonTestId?: string | undefined;\n /**\n * Передает атрибут `data-testid` для кнопки очистки даты.\n */\n clearButtonTestId?: string | undefined;\n};\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue' | 'onChange'>,\n Pick<\n CalendarRangeProps,\n | 'disablePast'\n | 'disableFuture'\n | 'shouldDisableDate'\n | 'value'\n | 'defaultValue'\n | 'weekStartsOn'\n | 'disablePickers'\n | 'prevMonthLabel'\n | 'nextMonthLabel'\n | 'changeMonthLabel'\n | 'changeYearLabel'\n | 'changeDayLabel'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'renderDayContent'\n >,\n HasRootRef<HTMLDivElement>,\n Omit<FormFieldProps, 'maxHeight'>,\n DateRangeInputTestsProps {\n /**\n * Обработчик изменения выбранного промежутка.\n */\n onChange?: ((value: DateRangeType | null) => void) | undefined;\n /**\n * Передает атрибуты `data-testid` для интерактивных элементов в календаре.\n */\n calendarTestsProps?: CalendarRangeTestsProps | undefined;\n /**\n * Расположение календаря относительно поля ввода.\n */\n calendarPlacement?: PlacementWithAuto | undefined;\n /**\n * Автоматически закрывать календарь при изменениях.\n */\n closeOnChange?: boolean | undefined;\n /**\n * Обработчик изменения состояния открытия календаря.\n */\n onCalendarOpenChanged?: ((opened: boolean) => void) | undefined;\n /**\n * Label для календаря.\n */\n calendarLabel?: string | undefined;\n /**\n * Label для кнопки очистки. Делает доступным для ассистивных технологий.\n */\n clearFieldLabel?: string | undefined;\n /**\n * Label для кнопки открытия календаря. Делает доступным для ассистивных технологий.\n */\n showCalendarLabel?: string | undefined;\n /**\n * Label для ввода дня начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartDayLabel?: string | undefined;\n /**\n * Label для ввода месяца начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartMonthLabel?: string | undefined;\n /**\n * Label для ввода года начальной даты. Делает доступным для ассистивных технологий.\n */\n changeStartYearLabel?: string | undefined;\n /**\n * Label для ввода дня конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndDayLabel?: string | undefined;\n /**\n * Label для ввода месяца конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndMonthLabel?: string | undefined;\n /**\n * Label для ввода года конечной даты. Делает доступным для ассистивных технологий.\n */\n changeEndYearLabel?: string | undefined;\n /**\n * Отключение открытия календаря.\n */\n disableCalendar?: boolean | undefined;\n /**\n * Позволяет отключить захват фокуса при появлении календаря.\n */\n disableFocusTrap?: boolean | undefined;\n /**\n * Управление поведением возврата фокуса при закрытии всплывающего окна.\n * @default true\n */\n restoreFocus?: boolean | (() => boolean | HTMLElement) | undefined;\n /**\n * @deprecated Since 8.0.0. Будет удалено в 9.0.0.\n *\n * Включает режим в котором DateRangeInput доступен\n * для ассистивных технологий.\n * В этом режиме:\n * - календарь больше не открывает при фокусе на DateRangeInput;\n * - иконка календаря видна всегда, чтобы пользователи\n * ассистивных технологий могли открыть календарь по клику на иконку;\n * - календарь при открытии получает фокус, клавиатурный\n * фокус зациклен и не выходит за пределы календаря пока календарь не закрыт.\n */\n accessible?: boolean /* TODO [>=v9] удалить свойство */ | undefined;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps['value']) => {\n const newValue = ['', '', '', '', '', ''];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, '0');\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, '0');\n newValue[2] = String(value[0].getFullYear()).padStart(4, '0');\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, '0');\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, '0');\n newValue[5] = String(value[1].getFullYear()).padStart(4, '0');\n }\n return newValue;\n};\n\n/**\n * @see https://vkui.io/components/date-range-input\n */\nexport const DateRangeInput = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n 'value': valueProp,\n defaultValue,\n onChange,\n 'calendarPlacement': calendarPlacementProp = 'bottom-start',\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n disableFocusTrap,\n restoreFocus,\n calendarLabel = 'Календарь',\n prevMonthLabel = 'Предыдущий месяц',\n nextMonthLabel = 'Следующий месяц',\n changeMonthLabel = 'Месяц',\n changeYearLabel = 'Год',\n changeStartDayLabel = 'День начала',\n changeStartMonthLabel = 'Месяц начала',\n changeStartYearLabel = 'Год начала',\n changeEndDayLabel = 'День окончания',\n changeEndMonthLabel = 'Месяц окончания',\n changeEndYearLabel = 'Год окончания',\n clearFieldLabel = 'Очистить поле',\n showCalendarLabel = 'Показать календарь',\n 'aria-label': ariaLabel = '',\n prevMonthIcon,\n nextMonthIcon,\n onCalendarOpenChanged,\n renderDayContent,\n calendarTestsProps,\n startDateTestsProps,\n endDateTestsProps,\n clearButtonTestId,\n showCalendarButtonTestId,\n id,\n accessible = true,\n readOnly,\n 'disableCalendar': disableCalendarProp = false,\n before,\n ...props\n}: DateRangeInputProps): React.ReactNode => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n const focusTrapRootRef = React.useRef<HTMLDivElement | null>(null);\n\n const disableCalendar = readOnly ? true : disableCalendarProp;\n\n const [value, updateValue] = useCustomEnsuredControl<DateRangeType | null>({\n value: valueProp,\n defaultValue: defaultValue as DateRangeType | null,\n onChange,\n });\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = 'dd.MM.yyyy';\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && end > start) {\n updateValue([start, end]);\n }\n },\n [updateValue, value],\n );\n\n const refs = React.useMemo(\n () => [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef],\n [daysStartRef, monthsStartRef, yearsStartRef, daysEndRef, monthsEndRef, yearsEndRef],\n );\n\n const onClear = React.useCallback(() => updateValue(null), [updateValue]);\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n toggleCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled: disabled || readOnly,\n elementsConfig,\n onClear,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n accessible,\n });\n\n const { density = 'none' } = useAdaptivity();\n\n const handleRootRef = useExternRef(rootRef, getRootRef);\n\n const onCalendarChange = React.useCallback(\n (newValue: DateRangeType) => {\n updateValue(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [updateValue, closeOnChange, value, removeFocusFromField],\n );\n\n // при переключении месяцев высота календаря может меняться,\n // чтобы календарь не прыгал при переключении месяцев каждый раз на\n // лучшую позицию мы запоминаем последнюю удачную, чтобы календарь оставался\n // на ней, пока помещается.\n const [calendarPlacement, setCalendarPlacement] =\n React.useState<PlacementWithAuto>(calendarPlacementProp);\n\n const { locale } = useConfigProvider();\n const currentDateLabel = React.useMemo(() => {\n if (!value) {\n return null;\n }\n const [startDate, endDate] = value;\n if (!startDate || !endDate) {\n return null;\n }\n return [\n labelDateTimeFormat(locale, labelDateTimeFormatOptions).format(startDate),\n labelDateTimeFormat(locale, labelDateTimeFormatOptions).format(endDate),\n ].join(' - ');\n }, [locale, value]);\n\n const currentDateLabelId = React.useId();\n const ariaLabelId = React.useId();\n\n const showCalendarOnInputAreaClick = React.useCallback(() => {\n handleFieldEnter();\n if (accessible) {\n openCalendar();\n }\n }, [handleFieldEnter, openCalendar, accessible]);\n\n const showCalendarButton = !disableCalendar && (accessible || (!accessible && !value));\n const showClearButton = value && !readOnly;\n\n useGlobalEscKeyDown(open && !disableCalendar, closeCalendar, {\n capture: false,\n });\n\n return (\n <FormField\n style={style}\n className={classNames(\n density !== 'regular' && densityClassNames[density],\n !!before && dateInputStyles.hasBefore,\n (showCalendarButton || showClearButton) && dateInputStyles.hasAfter,\n className,\n )}\n getRootRef={handleRootRef}\n role=\"group\"\n aria-labelledby={`${ariaLabelId} ${currentDateLabelId}`}\n before={before}\n after={\n <>\n {showCalendarButton ? (\n <IconButton\n hoverMode=\"opacity\"\n label={showCalendarLabel}\n onClick={toggleCalendar}\n data-testid={showCalendarButtonTestId}\n >\n <Icon20CalendarOutline />\n </IconButton>\n ) : null}\n {showClearButton ? (\n <IconButton\n hoverMode=\"opacity\"\n label={clearFieldLabel}\n onClick={clear}\n data-testid={clearButtonTestId}\n >\n <Icon16Clear />\n </IconButton>\n ) : null}\n </>\n }\n disabled={disabled}\n {...props}\n >\n <div className={dateInputStyles.wrapper}>\n {ariaLabel && <VisuallyHidden id={ariaLabelId}>{ariaLabel}</VisuallyHidden>}\n {currentDateLabel && (\n <VisuallyHidden id={currentDateLabelId}>{currentDateLabel}</VisuallyHidden>\n )}\n <VisuallyHidden\n id={id}\n Component=\"input\"\n readOnly\n aria-hidden\n name={name}\n tabIndex={readOnly ? 0 : -1}\n value={\n value\n ? `${value[0] ? dateFormatter.format(value[0]) : ''} - ${\n value[1] ? dateFormatter.format(value[1]) : ''\n }`\n : ''\n }\n onFocus={handleFieldEnter}\n />\n <Text\n className={dateInputStyles.input}\n onClick={showCalendarOnInputAreaClick}\n normalize={false}\n >\n <NumberInputLike\n value={internalValue[0]}\n minValue={1}\n maxValue={31}\n onKeyDown={readOnly ? undefined : handleKeyDown}\n length={2}\n getRootRef={daysStartRef}\n index={0}\n readOnly={readOnly}\n onElementSelect={setFocusedElement}\n label={changeStartDayLabel}\n data-testid={startDateTestsProps?.day}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[1]}\n minValue={1}\n maxValue={12}\n onKeyDown={handleKeyDown}\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeStartMonthLabel}\n data-testid={startDateTestsProps?.month}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[2]}\n minValue={1}\n maxValue={275750}\n onKeyDown={handleKeyDown}\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeStartYearLabel}\n data-testid={startDateTestsProps?.year}\n />\n <InputLikeDivider>{' — '}</InputLikeDivider>\n <NumberInputLike\n value={internalValue[3]}\n minValue={1}\n maxValue={31}\n onKeyDown={handleKeyDown}\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeEndDayLabel}\n data-testid={endDateTestsProps?.day}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[4]}\n minValue={1}\n maxValue={12}\n onKeyDown={handleKeyDown}\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeEndMonthLabel}\n data-testid={endDateTestsProps?.month}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <NumberInputLike\n value={internalValue[5]}\n minValue={1}\n maxValue={275750}\n onKeyDown={handleKeyDown}\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n readOnly={readOnly}\n label={changeEndYearLabel}\n data-testid={endDateTestsProps?.year}\n />\n </Text>\n </div>\n {open && !disableCalendar && (\n <Popper\n targetRef={rootRef}\n offsetByMainAxis={8}\n placement={calendarPlacement}\n onPlacementChange={setCalendarPlacement}\n >\n <FocusTrap\n rootRef={focusTrapRootRef}\n disabled={disableFocusTrap ?? !accessible}\n restoreFocus={restoreFocus ?? Boolean(accessible)}\n >\n <div ref={focusTrapRootRef}>\n <CalendarRange\n value={value}\n role=\"dialog\"\n onChange={onCalendarChange}\n aria-label={calendarLabel}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthLabel={prevMonthLabel}\n nextMonthLabel={nextMonthLabel}\n changeMonthLabel={changeMonthLabel}\n changeYearLabel={changeYearLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n renderDayContent={renderDayContent}\n {...calendarTestsProps}\n />\n </div>\n </FocusTrap>\n </Popper>\n )}\n </FormField>\n );\n};\n"],"names":["React","Icon16Clear","Icon20CalendarOutline","classNames","useAdaptivity","useDateInput","useCustomEnsuredControl","useExternRef","useGlobalEscKeyDown","dateFormatter","isMatch","parse","cacheDateTimeFormat","CalendarRange","useConfigProvider","FocusTrap","FormField","IconButton","InputLikeDivider","NumberInputLike","Popper","Text","VisuallyHidden","dateInputStyles","labelDateTimeFormatOptions","weekday","year","month","day","labelDateTimeFormat","densityClassNames","none","densityNone","compact","densityCompact","elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","valueProp","defaultValue","onChange","calendarPlacementProp","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","disableFocusTrap","restoreFocus","calendarLabel","prevMonthLabel","nextMonthLabel","changeMonthLabel","changeYearLabel","changeStartDayLabel","changeStartMonthLabel","changeStartYearLabel","changeEndDayLabel","changeEndMonthLabel","changeEndYearLabel","clearFieldLabel","showCalendarLabel","ariaLabel","prevMonthIcon","nextMonthIcon","onCalendarOpenChanged","renderDayContent","calendarTestsProps","startDateTestsProps","endDateTestsProps","clearButtonTestId","showCalendarButtonTestId","id","accessible","readOnly","disableCalendarProp","before","props","daysStartRef","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","focusTrapRootRef","disableCalendar","updateValue","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","onClear","rootRef","calendarRef","open","openCalendar","closeCalendar","toggleCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","maxElement","density","handleRootRef","onCalendarChange","calendarPlacement","setCalendarPlacement","useState","locale","currentDateLabel","startDate","endDate","format","join","currentDateLabelId","useId","ariaLabelId","showCalendarOnInputAreaClick","showCalendarButton","showClearButton","capture","hasBefore","hasAfter","role","aria-labelledby","after","hoverMode","label","onClick","data-testid","div","wrapper","Component","aria-hidden","tabIndex","onFocus","input","normalize","minValue","maxValue","onKeyDown","undefined","onElementSelect","targetRef","offsetByMainAxis","placement","onPlacementChange","Boolean","ref","aria-label"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { classNames } from "@vkontakte/vkjs";
5
5
  import { callMultiple } from "../../lib/callMultiple.js";
6
6
  import { defineComponentDisplayNames } from "../../lib/react/defineComponentDisplayNames.js";
7
7
  import { RootComponent } from "../RootComponent/RootComponent.js";
8
- import { DropZoneGrid } from "./components/DropZoneGrid.js";
8
+ import { DropZoneGrid } from "./DropZoneGrid/DropZoneGrid.js";
9
9
  import styles from "./DropZone.module.css";
10
10
  /**
11
11
  * Компонент позволяет пользователям загружать файлы, перетаскивая файлы в
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DropZone/DropZone.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { DropZoneGrid } from './components/DropZoneGrid';\nimport styles from './DropZone.module.css';\n\ninterface DropZonePropsChildrenProps {\n /**\n * Флаг активного состояния компонента.\n */\n active: boolean;\n}\n\nexport interface DropZoneProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'children'> {\n /**\n * Содержимое компонента. Можно прокинуть функцию для отрисовки содержимого.\n */\n children?: React.ReactNode | ((renderProps: DropZonePropsChildrenProps) => React.ReactNode);\n}\n\n/**\n * Компонент позволяет пользователям загружать файлы, перетаскивая файлы в\n * область на странице.\n *\n * @since 6.1.0\n * @see https://vkui.io/components/drop-zone\n */\nexport const DropZone: React.FC<DropZoneProps> & {\n Grid: typeof DropZoneGrid;\n} = ({ onDragOver, onDragLeave, onDrop, children, ...props }: DropZoneProps): React.ReactNode => {\n const [active, setActive] = React.useState(false);\n\n const onActive: React.DragEventHandler<HTMLDivElement> = (event) => {\n if (event.isPropagationStopped()) {\n return;\n }\n\n setActive(true);\n };\n\n const offActive: React.DragEventHandler<HTMLDivElement> = () => {\n setActive(false);\n };\n\n return (\n <RootComponent\n baseClassName={classNames(styles.host, active && styles.active)}\n onDragOver={callMultiple(onDragOver, onActive)}\n onDragLeave={callMultiple(onDragLeave, offActive)}\n onDrop={callMultiple(onDrop, offActive)}\n {...props}\n >\n {typeof children === 'function' ? children({ active }) : children}\n </RootComponent>\n );\n};\n\nDropZone.Grid = DropZoneGrid;\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(DropZone.Grid, 'DropZone.Grid');\n}\n"],"names":["React","classNames","callMultiple","defineComponentDisplayNames","RootComponent","DropZoneGrid","styles","DropZone","onDragOver","onDragLeave","onDrop","children","props","active","setActive","useState","onActive","event","isPropagationStopped","offActive","baseClassName","host","Grid","process","env","NODE_ENV"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,2BAA2B,QAAQ,iDAA8C;AAE1F,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,YAAY,QAAQ,+BAA4B;AACzD,OAAOC,YAAY,wBAAwB;AAgB3C;;;;;;CAMC,GACD,OAAO,MAAMC,WAET,CAAC,EAAEC,UAAU,EAAEC,WAAW,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGC,OAAsB;IACzE,MAAM,CAACC,QAAQC,UAAU,GAAGd,MAAMe,QAAQ,CAAC;IAE3C,MAAMC,WAAmD,CAACC;QACxD,IAAIA,MAAMC,oBAAoB,IAAI;YAChC;QACF;QAEAJ,UAAU;IACZ;IAEA,MAAMK,YAAoD;QACxDL,UAAU;IACZ;IAEA,qBACE,KAACV;QACCgB,eAAenB,WAAWK,OAAOe,IAAI,EAAER,UAAUP,OAAOO,MAAM;QAC9DL,YAAYN,aAAaM,YAAYQ;QACrCP,aAAaP,aAAaO,aAAaU;QACvCT,QAAQR,aAAaQ,QAAQS;QAC5B,GAAGP,KAAK;kBAER,OAAOD,aAAa,aAAaA,SAAS;YAAEE;QAAO,KAAKF;;AAG/D,EAAE;AAEFJ,SAASe,IAAI,GAAGjB;AAEhB,IAAIkB,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzCtB,4BAA4BI,SAASe,IAAI,EAAE;AAC7C"}
1
+ {"version":3,"sources":["../../../../src/components/DropZone/DropZone.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { callMultiple } from '../../lib/callMultiple';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { DropZoneGrid } from './DropZoneGrid/DropZoneGrid';\nimport styles from './DropZone.module.css';\n\ninterface DropZonePropsChildrenProps {\n /**\n * Флаг активного состояния компонента.\n */\n active: boolean;\n}\n\nexport interface DropZoneProps extends Omit<HTMLAttributesWithRootRef<HTMLDivElement>, 'children'> {\n /**\n * Содержимое компонента. Можно прокинуть функцию для отрисовки содержимого.\n */\n children?:\n | React.ReactNode\n | ((renderProps: DropZonePropsChildrenProps) => React.ReactNode)\n | undefined;\n}\n\n/**\n * Компонент позволяет пользователям загружать файлы, перетаскивая файлы в\n * область на странице.\n *\n * @since 6.1.0\n * @see https://vkui.io/components/drop-zone\n */\nexport const DropZone: React.FC<DropZoneProps> & {\n Grid: typeof DropZoneGrid;\n} = ({ onDragOver, onDragLeave, onDrop, children, ...props }: DropZoneProps): React.ReactNode => {\n const [active, setActive] = React.useState(false);\n\n const onActive: React.DragEventHandler<HTMLDivElement> = (event) => {\n if (event.isPropagationStopped()) {\n return;\n }\n\n setActive(true);\n };\n\n const offActive: React.DragEventHandler<HTMLDivElement> = () => {\n setActive(false);\n };\n\n return (\n <RootComponent\n baseClassName={classNames(styles.host, active && styles.active)}\n onDragOver={callMultiple(onDragOver, onActive)}\n onDragLeave={callMultiple(onDragLeave, offActive)}\n onDrop={callMultiple(onDrop, offActive)}\n {...props}\n >\n {typeof children === 'function' ? children({ active }) : children}\n </RootComponent>\n );\n};\n\nDropZone.Grid = DropZoneGrid;\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(DropZone.Grid, 'DropZone.Grid');\n}\n"],"names":["React","classNames","callMultiple","defineComponentDisplayNames","RootComponent","DropZoneGrid","styles","DropZone","onDragOver","onDragLeave","onDrop","children","props","active","setActive","useState","onActive","event","isPropagationStopped","offActive","baseClassName","host","Grid","process","env","NODE_ENV"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,2BAA2B,QAAQ,iDAA8C;AAE1F,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,YAAY,QAAQ,iCAA8B;AAC3D,OAAOC,YAAY,wBAAwB;AAmB3C;;;;;;CAMC,GACD,OAAO,MAAMC,WAET,CAAC,EAAEC,UAAU,EAAEC,WAAW,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGC,OAAsB;IACzE,MAAM,CAACC,QAAQC,UAAU,GAAGd,MAAMe,QAAQ,CAAC;IAE3C,MAAMC,WAAmD,CAACC;QACxD,IAAIA,MAAMC,oBAAoB,IAAI;YAChC;QACF;QAEAJ,UAAU;IACZ;IAEA,MAAMK,YAAoD;QACxDL,UAAU;IACZ;IAEA,qBACE,KAACV;QACCgB,eAAenB,WAAWK,OAAOe,IAAI,EAAER,UAAUP,OAAOO,MAAM;QAC9DL,YAAYN,aAAaM,YAAYQ;QACrCP,aAAaP,aAAaO,aAAaU;QACvCT,QAAQR,aAAaQ,QAAQS;QAC5B,GAAGP,KAAK;kBAER,OAAOD,aAAa,aAAaA,SAAS;YAAEE;QAAO,KAAKF;;AAG/D,EAAE;AAEFJ,SAASe,IAAI,GAAGjB;AAEhB,IAAIkB,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzCtB,4BAA4BI,SAASe,IAAI,EAAE;AAC7C"}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/DropZone/DropZoneGrid/DropZoneGrid.tsx"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport type { HTMLAttributesWithRootRef } from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport styles from './DropZoneGrid.module.css';\n\nconst directionStyle = {\n row: styles.row,\n column: styles.column,\n};\n\nexport interface DropZoneGridProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Направление дочерних компонентов.\n */\n direction?: 'row' | 'column' | undefined;\n}\n\nexport const DropZoneGrid = ({ direction = 'column', ...props }: DropZoneGridProps) => (\n <RootComponent baseClassName={classNames(styles.host, directionStyle[direction])} {...props} />\n);\n"],"names":["classNames","RootComponent","styles","directionStyle","row","column","DropZoneGrid","direction","props","baseClassName","host"],"mappings":";AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,aAAa,QAAQ,uCAAoC;AAClE,OAAOC,YAAY,4BAA4B;AAE/C,MAAMC,iBAAiB;IACrBC,KAAKF,OAAOE,GAAG;IACfC,QAAQH,OAAOG,MAAM;AACvB;AASA,OAAO,MAAMC,eAAe,CAAC,EAAEC,YAAY,QAAQ,EAAE,GAAGC,OAA0B,iBAChF,KAACP;QAAcQ,eAAeT,WAAWE,OAAOQ,IAAI,EAAEP,cAAc,CAACI,UAAU;QAAI,GAAGC,KAAK;OAC3F"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DropdownIcon/DropdownIcon.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport {\n Icon20ChevronUp,\n Icon20Dropdown,\n Icon24ChevronDown,\n Icon24ChevronUp,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport type { HTMLAttributesWithRootRef } from '../../types';\n\nexport interface DropdownIconProps extends HTMLAttributesWithRootRef<SVGSVGElement> {\n opened?: boolean;\n}\n\nexport const DropdownIcon = ({\n opened = false,\n className,\n ...restProps\n}: DropdownIconProps): React.ReactNode => {\n const { density } = useAdaptivityConditionalRender();\n const IconCompact = opened ? Icon20ChevronUp : Icon20Dropdown;\n const IconRegular = opened ? Icon24ChevronUp : Icon24ChevronDown;\n\n return (\n <React.Fragment>\n {density.compact && (\n <IconCompact className={classNames(density.compact.className, className)} {...restProps} />\n )}\n {density.regular && (\n <IconRegular className={classNames(density.regular.className, className)} {...restProps} />\n )}\n </React.Fragment>\n );\n};\n"],"names":["React","Icon20ChevronUp","Icon20Dropdown","Icon24ChevronDown","Icon24ChevronUp","classNames","useAdaptivityConditionalRender","DropdownIcon","opened","className","restProps","density","IconCompact","IconRegular","Fragment","compact","regular"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SACEC,eAAe,EACfC,cAAc,EACdC,iBAAiB,EACjBC,eAAe,QACV,mBAAmB;AAC1B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,8BAA8B,QAAQ,sDAA6C;AAO5F,OAAO,MAAMC,eAAe,CAAC,EAC3BC,SAAS,KAAK,EACdC,SAAS,EACT,GAAGC,WACe;IAClB,MAAM,EAAEC,OAAO,EAAE,GAAGL;IACpB,MAAMM,cAAcJ,SAASP,kBAAkBC;IAC/C,MAAMW,cAAcL,SAASJ,kBAAkBD;IAE/C,qBACE,MAACH,MAAMc,QAAQ;;YACZH,QAAQI,OAAO,kBACd,KAACH;gBAAYH,WAAWJ,WAAWM,QAAQI,OAAO,CAACN,SAAS,EAAEA;gBAAa,GAAGC,SAAS;;YAExFC,QAAQK,OAAO,kBACd,KAACH;gBAAYJ,WAAWJ,WAAWM,QAAQK,OAAO,CAACP,SAAS,EAAEA;gBAAa,GAAGC,SAAS;;;;AAI/F,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/DropdownIcon/DropdownIcon.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport {\n Icon20ChevronUp,\n Icon20Dropdown,\n Icon24ChevronDown,\n Icon24ChevronUp,\n} from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport type { HTMLAttributesWithRootRef } from '../../types';\n\nexport interface DropdownIconProps extends HTMLAttributesWithRootRef<SVGSVGElement> {\n opened?: boolean | undefined;\n}\n\nexport const DropdownIcon = ({\n opened = false,\n className,\n ...restProps\n}: DropdownIconProps): React.ReactNode => {\n const { density } = useAdaptivityConditionalRender();\n const IconCompact = opened ? Icon20ChevronUp : Icon20Dropdown;\n const IconRegular = opened ? Icon24ChevronUp : Icon24ChevronDown;\n\n return (\n <React.Fragment>\n {density.compact && (\n <IconCompact className={classNames(density.compact.className, className)} {...restProps} />\n )}\n {density.regular && (\n <IconRegular className={classNames(density.regular.className, className)} {...restProps} />\n )}\n </React.Fragment>\n );\n};\n"],"names":["React","Icon20ChevronUp","Icon20Dropdown","Icon24ChevronDown","Icon24ChevronUp","classNames","useAdaptivityConditionalRender","DropdownIcon","opened","className","restProps","density","IconCompact","IconRegular","Fragment","compact","regular"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SACEC,eAAe,EACfC,cAAc,EACdC,iBAAiB,EACjBC,eAAe,QACV,mBAAmB;AAC1B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,8BAA8B,QAAQ,sDAA6C;AAO5F,OAAO,MAAMC,eAAe,CAAC,EAC3BC,SAAS,KAAK,EACdC,SAAS,EACT,GAAGC,WACe;IAClB,MAAM,EAAEC,OAAO,EAAE,GAAGL;IACpB,MAAMM,cAAcJ,SAASP,kBAAkBC;IAC/C,MAAMW,cAAcL,SAASJ,kBAAkBD;IAE/C,qBACE,MAACH,MAAMc,QAAQ;;YACZH,QAAQI,OAAO,kBACd,KAACH;gBAAYH,WAAWJ,WAAWM,QAAQI,OAAO,CAACN,SAAS,EAAEA;gBAAa,GAAGC,SAAS;;YAExFC,QAAQK,OAAO,kBACd,KAACH;gBAAYJ,WAAWJ,WAAWM,QAAQK,OAAO,CAACP,SAAS,EAAEA;gBAAa,GAAGC,SAAS;;;;AAI/F,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Epic/Epic.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getNavId, type NavIdProps } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { ScrollSaver } from './ScrollSaver';\nimport styles from './Epic.module.css';\n\nexport interface EpicProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Компонент Tabbar, который будет отображаться снизу.\n */\n tabbar?: React.ReactNode;\n /**\n * `id` активного окна.\n */\n activeStory: string;\n /**\n * Внутри `Epic` может находиться либо коллекция `Root`,\n * либо коллекция `View`. У каждого элемента коллекции должен быть уникальный `id`.\n */\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nconst warn = warnOnce('Epic');\n\n/**\n * @see https://vkui.io/components/epic\n */\nexport const Epic = ({\n activeStory,\n tabbar,\n children,\n ...restProps\n}: EpicProps): React.ReactNode => {\n const [scroll] = React.useState(() => new Map<string, number>());\n\n const story =\n (React.Children.toArray(children).find(\n (story) =>\n React.isValidElement(story) &&\n getNavId((story as React.ReactElement<NavIdProps>).props, warn) === activeStory,\n ) as Array<React.ReactElement<NavIdProps>> | undefined) ?? null;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(styles.host, tabbar && 'vkuiInternalEpic--hasTabbar')}\n >\n <ScrollSaver\n key={activeStory}\n initialScroll={scroll.get(activeStory) || 0}\n saveScroll={(value) => {\n scroll.set(activeStory, value);\n }}\n >\n {story}\n </ScrollSaver>\n {tabbar}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","getNavId","warnOnce","RootComponent","ScrollSaver","styles","warn","Epic","activeStory","tabbar","children","restProps","scroll","useState","Map","story","Children","toArray","find","isValidElement","props","baseClassName","host","initialScroll","get","saveScroll","value","set"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAAyB,wBAAqB;AAC/D,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,WAAW,QAAQ,mBAAgB;AAC5C,OAAOC,YAAY,oBAAoB;AAkBvC,MAAMC,OAAOJ,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMK,OAAO,CAAC,EACnBC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACR,GAAGC,WACO;IACV,MAAM,CAACC,OAAO,GAAGb,MAAMc,QAAQ,CAAC,IAAM,IAAIC;IAE1C,MAAMC,QACJ,AAAChB,MAAMiB,QAAQ,CAACC,OAAO,CAACP,UAAUQ,IAAI,CACpC,CAACH,sBACChB,MAAMoB,cAAc,CAACJ,UACrBd,SAAS,AAACc,MAAyCK,KAAK,EAAEd,UAAUE,gBACb;IAE7D,qBACE,MAACL;QACE,GAAGQ,SAAS;QACbU,eAAerB,WAAWK,OAAOiB,IAAI,EAAEb,UAAU;;0BAEjD,KAACL;gBAECmB,eAAeX,OAAOY,GAAG,CAAChB,gBAAgB;gBAC1CiB,YAAY,CAACC;oBACXd,OAAOe,GAAG,CAACnB,aAAakB;gBAC1B;0BAECX;eANIP;YAQNC;;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Epic/Epic.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getNavId, type NavIdProps } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { RootComponent } from '../RootComponent/RootComponent';\nimport { ScrollSaver } from './ScrollSaver';\nimport styles from './Epic.module.css';\n\nexport interface EpicProps extends HTMLAttributesWithRootRef<HTMLDivElement> {\n /**\n * Компонент Tabbar, который будет отображаться снизу.\n */\n tabbar?: React.ReactNode | undefined;\n /**\n * `id` активного окна.\n */\n activeStory: string;\n /**\n * Внутри `Epic` может находиться либо коллекция `Root`,\n * либо коллекция `View`. У каждого элемента коллекции должен быть уникальный `id`.\n */\n children: React.ReactElement | Iterable<React.ReactElement>;\n}\n\nconst warn = warnOnce('Epic');\n\n/**\n * @see https://vkui.io/components/epic\n */\nexport const Epic = ({\n activeStory,\n tabbar,\n children,\n ...restProps\n}: EpicProps): React.ReactNode => {\n const [scroll] = React.useState(() => new Map<string, number>());\n\n const story =\n (React.Children.toArray(children).find(\n (story) =>\n React.isValidElement(story) &&\n getNavId((story as React.ReactElement<NavIdProps>).props, warn) === activeStory,\n ) as Array<React.ReactElement<NavIdProps>> | undefined) ?? null;\n\n return (\n <RootComponent\n {...restProps}\n baseClassName={classNames(styles.host, tabbar && 'vkuiInternalEpic--hasTabbar')}\n >\n <ScrollSaver\n key={activeStory}\n initialScroll={scroll.get(activeStory) || 0}\n saveScroll={(value) => {\n scroll.set(activeStory, value);\n }}\n >\n {story}\n </ScrollSaver>\n {tabbar}\n </RootComponent>\n );\n};\n"],"names":["React","classNames","getNavId","warnOnce","RootComponent","ScrollSaver","styles","warn","Epic","activeStory","tabbar","children","restProps","scroll","useState","Map","story","Children","toArray","find","isValidElement","props","baseClassName","host","initialScroll","get","saveScroll","value","set"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAAyB,wBAAqB;AAC/D,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,aAAa,QAAQ,oCAAiC;AAC/D,SAASC,WAAW,QAAQ,mBAAgB;AAC5C,OAAOC,YAAY,oBAAoB;AAkBvC,MAAMC,OAAOJ,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMK,OAAO,CAAC,EACnBC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACR,GAAGC,WACO;IACV,MAAM,CAACC,OAAO,GAAGb,MAAMc,QAAQ,CAAC,IAAM,IAAIC;IAE1C,MAAMC,QACJ,AAAChB,MAAMiB,QAAQ,CAACC,OAAO,CAACP,UAAUQ,IAAI,CACpC,CAACH,sBACChB,MAAMoB,cAAc,CAACJ,UACrBd,SAAS,AAACc,MAAyCK,KAAK,EAAEd,UAAUE,gBACb;IAE7D,qBACE,MAACL;QACE,GAAGQ,SAAS;QACbU,eAAerB,WAAWK,OAAOiB,IAAI,EAAEb,UAAU;;0BAEjD,KAACL;gBAECmB,eAAeX,OAAOY,GAAG,CAAChB,gBAAgB;gBAC1CiB,YAAY,CAACC;oBACXd,OAAOe,GAAG,CAACnB,aAAakB;gBAC1B;0BAECX;eANIP;YAQNC;;;AAGP,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Epic/ScrollSaver.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasChildren } from '../../types';\nimport { ScrollContext } from '../AppRoot/ScrollContext';\n\nexport interface ScrollSaverProps extends HasChildren {\n initialScroll?: number;\n saveScroll: (this: void, scroll: number) => any;\n}\n\nexport const ScrollSaver = ({\n children,\n initialScroll,\n saveScroll,\n}: ScrollSaverProps): React.ReactNode => {\n const { getScroll, scrollTo } = React.useContext(ScrollContext);\n useIsomorphicLayoutEffect(() => {\n if (typeof initialScroll === 'number') {\n scrollTo(0, initialScroll);\n }\n return () => saveScroll(getScroll().y);\n }, []);\n return <React.Fragment>{children}</React.Fragment>;\n};\n"],"names":["React","useIsomorphicLayoutEffect","ScrollContext","ScrollSaver","children","initialScroll","saveScroll","getScroll","scrollTo","useContext","y","Fragment"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,yCAAsC;AAEhF,SAASC,aAAa,QAAQ,8BAA2B;AAOzD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,QAAQ,EACRC,aAAa,EACbC,UAAU,EACO;IACjB,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGR,MAAMS,UAAU,CAACP;IACjDD,0BAA0B;QACxB,IAAI,OAAOI,kBAAkB,UAAU;YACrCG,SAAS,GAAGH;QACd;QACA,OAAO,IAAMC,WAAWC,YAAYG,CAAC;IACvC,GAAG,EAAE;IACL,qBAAO,KAACV,MAAMW,QAAQ;kBAAEP;;AAC1B,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/Epic/ScrollSaver.tsx"],"sourcesContent":["'use client';\n/* eslint-disable jsdoc/require-jsdoc */\n\nimport * as React from 'react';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport type { HasChildren } from '../../types';\nimport { ScrollContext } from '../AppRoot/ScrollContext';\n\nexport interface ScrollSaverProps extends HasChildren {\n initialScroll?: number | undefined;\n saveScroll: (this: void, scroll: number) => any;\n}\n\nexport const ScrollSaver = ({\n children,\n initialScroll,\n saveScroll,\n}: ScrollSaverProps): React.ReactNode => {\n const { getScroll, scrollTo } = React.useContext(ScrollContext);\n useIsomorphicLayoutEffect(() => {\n if (typeof initialScroll === 'number') {\n scrollTo(0, initialScroll);\n }\n return () => saveScroll(getScroll().y);\n }, []);\n return <React.Fragment>{children}</React.Fragment>;\n};\n"],"names":["React","useIsomorphicLayoutEffect","ScrollContext","ScrollSaver","children","initialScroll","saveScroll","getScroll","scrollTo","useContext","y","Fragment"],"mappings":"AAAA;;AACA,sCAAsC,GAEtC,YAAYA,WAAW,QAAQ;AAC/B,SAASC,yBAAyB,QAAQ,yCAAsC;AAEhF,SAASC,aAAa,QAAQ,8BAA2B;AAOzD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,QAAQ,EACRC,aAAa,EACbC,UAAU,EACO;IACjB,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAE,GAAGR,MAAMS,UAAU,CAACP;IACjDD,0BAA0B;QACxB,IAAI,OAAOI,kBAAkB,UAAU;YACrCG,SAAS,GAAGH;QACd;QACA,OAAO,IAAMC,WAAWC,YAAYG,CAAC;IACvC,GAAG,EAAE;IACL,qBAAO,KAACV,MAAMW,QAAQ;kBAAEP;;AAC1B,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/File/File.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { withLabelClickWrapper } from '../../lib/withLabelClickWrapper';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { Button, type VKUIButtonProps } from '../Button/Button';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nconst warn = warnOnce('File');\n\nexport interface FileProps\n extends Omit<VKUIButtonProps, 'type'>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n | 'disabled'\n | 'readOnly'\n | 'required'\n | 'autoFocus'\n | 'name'\n | 'value'\n | 'accept'\n | 'capture'\n | 'multiple'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLElement> {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement>;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?: {\n root?: Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'children'> &\n HasRootRef<HTMLLabelElement> &\n HasDataAttribute;\n input?: Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> &\n HasRootRef<HTMLInputElement> &\n HasDataAttribute;\n };\n}\n\n/**\n * @see https://vkui.io/components/file\n */\nexport const File = ({\n // FileProps\n getRootRef,\n children = 'Выберите файл',\n getRef,\n\n // VKUIButtonProps\n align = 'left',\n size,\n mode,\n stretched,\n before,\n after,\n loading,\n appearance,\n\n // Input props\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n accept,\n capture,\n multiple,\n form,\n onChange,\n onFocus,\n onBlur,\n\n slotProps,\n ...restProps\n}: FileProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development' && getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n const { onClick, ...rootRest } = useMergeProps(\n {\n getRootRef: getRootRef as React.Ref<HTMLLabelElement>,\n ...restProps,\n },\n slotProps?.root,\n );\n const inputRest = useMergeProps(\n {\n getRootRef: getRef,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n accept,\n capture,\n multiple,\n form,\n onChange,\n onFocus,\n onBlur,\n },\n slotProps?.input,\n );\n\n return (\n <Button\n Component=\"label\"\n align={align}\n stretched={stretched}\n mode={mode}\n appearance={appearance}\n size={size}\n before={before}\n after={after}\n loading={loading}\n disabled={inputRest.disabled}\n onClick={withLabelClickWrapper(onClick)}\n {...rootRest}\n >\n <VisuallyHidden title=\"\" Component=\"input\" type=\"file\" {...inputRest} />\n {children}\n </Button>\n );\n};\n"],"names":["useMergeProps","warnOnce","withLabelClickWrapper","Button","VisuallyHidden","warn","File","getRootRef","children","getRef","align","size","mode","stretched","before","after","loading","appearance","disabled","readOnly","required","autoFocus","id","name","value","accept","capture","multiple","form","onChange","onFocus","onBlur","slotProps","restProps","process","env","NODE_ENV","onClick","rootRest","root","inputRest","input","Component","title","type"],"mappings":"AAAA;;AAGA,SAASA,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,qBAAqB,QAAQ,qCAAkC;AAExE,SAASC,MAAM,QAA8B,sBAAmB;AAChE,SAASC,cAAc,QAAQ,sCAAmC;AAElE,MAAMC,OAAOJ,SAAS;AAyCtB;;CAEC,GACD,OAAO,MAAMK,OAAO,CAAC,EACnB,YAAY;AACZC,UAAU,EACVC,WAAW,eAAe,EAC1BC,MAAM,EAEN,kBAAkB;AAClBC,QAAQ,MAAM,EACdC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,UAAU,EAEV,cAAc;AACdC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,EAAE,EACFC,IAAI,EACJC,KAAK,EACLC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,MAAM,EAENC,SAAS,EACT,GAAGC,WACO;IACV,6CAA6C,GAC7C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiB3B,QAAQ;QACpDJ,KAAK;IACP;IAEA,MAAM,EAAEgC,OAAO,EAAE,GAAGC,UAAU,GAAGtC,cAC/B;QACEO,YAAYA;QACZ,GAAG0B,SAAS;IACd,GACAD,WAAWO;IAEb,MAAMC,YAAYxC,cAChB;QACEO,YAAYE;QACZS;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF,GACAC,WAAWS;IAGb,qBACE,MAACtC;QACCuC,WAAU;QACVhC,OAAOA;QACPG,WAAWA;QACXD,MAAMA;QACNK,YAAYA;QACZN,MAAMA;QACNG,QAAQA;QACRC,OAAOA;QACPC,SAASA;QACTE,UAAUsB,UAAUtB,QAAQ;QAC5BmB,SAASnC,sBAAsBmC;QAC9B,GAAGC,QAAQ;;0BAEZ,KAAClC;gBAAeuC,OAAM;gBAAGD,WAAU;gBAAQE,MAAK;gBAAQ,GAAGJ,SAAS;;YACnEhC;;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/File/File.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useMergeProps } from '../../hooks/useMergeProps';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { withLabelClickWrapper } from '../../lib/withLabelClickWrapper';\nimport type { HasDataAttribute, HasRootRef } from '../../types';\nimport { Button, type VKUIButtonProps } from '../Button/Button';\nimport { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';\n\nconst warn = warnOnce('File');\n\nexport interface FileProps\n extends Omit<VKUIButtonProps, 'type'>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n | 'disabled'\n | 'readOnly'\n | 'required'\n | 'autoFocus'\n | 'name'\n | 'value'\n | 'accept'\n | 'capture'\n | 'multiple'\n | 'form'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n >,\n Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange' | 'onFocus' | 'onBlur'>,\n HasRootRef<HTMLElement> {\n /**\n * @deprecated Since 7.9.0. Вместо этого используйте `slotProps={ input: { getRootRef: ... } }`.\n */\n getRef?: React.Ref<HTMLInputElement> | undefined;\n /**\n * Свойства, которые можно прокинуть внутрь компонента:\n * - `root`: свойства для прокидывания в корень компонента;\n * - `input`: свойства для прокидывания в скрытый `input`.\n */\n slotProps?:\n | {\n root?:\n | (Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'children'> &\n HasRootRef<HTMLLabelElement> &\n HasDataAttribute)\n | undefined;\n input?:\n | (Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> &\n HasRootRef<HTMLInputElement> &\n HasDataAttribute)\n | undefined;\n }\n | undefined;\n}\n\n/**\n * @see https://vkui.io/components/file\n */\nexport const File = ({\n // FileProps\n getRootRef,\n children = 'Выберите файл',\n getRef,\n\n // VKUIButtonProps\n align = 'left',\n size,\n mode,\n stretched,\n before,\n after,\n loading,\n appearance,\n\n // Input props\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n accept,\n capture,\n multiple,\n form,\n onChange,\n onFocus,\n onBlur,\n\n slotProps,\n ...restProps\n}: FileProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development' && getRef) {\n warn('Свойство `getRef` устаревшее, используйте `slotProps={ input: { getRootRef: ... } }`');\n }\n\n const { onClick, ...rootRest } = useMergeProps(\n {\n getRootRef: getRootRef as React.Ref<HTMLLabelElement>,\n ...restProps,\n },\n slotProps?.root,\n );\n const inputRest = useMergeProps(\n {\n getRootRef: getRef,\n disabled,\n readOnly,\n required,\n autoFocus,\n id,\n name,\n value,\n accept,\n capture,\n multiple,\n form,\n onChange,\n onFocus,\n onBlur,\n },\n slotProps?.input,\n );\n\n return (\n <Button\n Component=\"label\"\n align={align}\n stretched={stretched}\n mode={mode}\n appearance={appearance}\n size={size}\n before={before}\n after={after}\n loading={loading}\n disabled={inputRest.disabled}\n onClick={withLabelClickWrapper(onClick)}\n {...rootRest}\n >\n <VisuallyHidden title=\"\" Component=\"input\" type=\"file\" {...inputRest} />\n {children}\n </Button>\n );\n};\n"],"names":["useMergeProps","warnOnce","withLabelClickWrapper","Button","VisuallyHidden","warn","File","getRootRef","children","getRef","align","size","mode","stretched","before","after","loading","appearance","disabled","readOnly","required","autoFocus","id","name","value","accept","capture","multiple","form","onChange","onFocus","onBlur","slotProps","restProps","process","env","NODE_ENV","onClick","rootRest","root","inputRest","input","Component","title","type"],"mappings":"AAAA;;AAGA,SAASA,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,qBAAqB,QAAQ,qCAAkC;AAExE,SAASC,MAAM,QAA8B,sBAAmB;AAChE,SAASC,cAAc,QAAQ,sCAAmC;AAElE,MAAMC,OAAOJ,SAAS;AA+CtB;;CAEC,GACD,OAAO,MAAMK,OAAO,CAAC,EACnB,YAAY;AACZC,UAAU,EACVC,WAAW,eAAe,EAC1BC,MAAM,EAEN,kBAAkB;AAClBC,QAAQ,MAAM,EACdC,IAAI,EACJC,IAAI,EACJC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,UAAU,EAEV,cAAc;AACdC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,EAAE,EACFC,IAAI,EACJC,KAAK,EACLC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,QAAQ,EACRC,OAAO,EACPC,MAAM,EAENC,SAAS,EACT,GAAGC,WACO;IACV,6CAA6C,GAC7C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiB3B,QAAQ;QACpDJ,KAAK;IACP;IAEA,MAAM,EAAEgC,OAAO,EAAE,GAAGC,UAAU,GAAGtC,cAC/B;QACEO,YAAYA;QACZ,GAAG0B,SAAS;IACd,GACAD,WAAWO;IAEb,MAAMC,YAAYxC,cAChB;QACEO,YAAYE;QACZS;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;IACF,GACAC,WAAWS;IAGb,qBACE,MAACtC;QACCuC,WAAU;QACVhC,OAAOA;QACPG,WAAWA;QACXD,MAAMA;QACNK,YAAYA;QACZN,MAAMA;QACNG,QAAQA;QACRC,OAAOA;QACPC,SAASA;QACTE,UAAUsB,UAAUtB,QAAQ;QAC5BmB,SAASnC,sBAAsBmC;QAC9B,GAAGC,QAAQ;;0BAEZ,KAAClC;gBAAeuC,OAAM;gBAAGD,WAAU;gBAAQE,MAAK;gBAAQ,GAAGJ,SAAS;;YACnEhC;;;AAGP,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FixedLayout/FixedLayout.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useResizeObserver } from '../../hooks/useResizeObserver';\nimport { useDOM } from '../../lib/dom';\nimport { setRef } from '../../lib/utils';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { OnboardingTooltipContainer } from '../OnboardingTooltip/OnboardingTooltipContainer';\nimport { SplitColContext } from '../SplitCol/SplitColContext';\nimport styles from './FixedLayout.module.css';\n\nconst warn = warnOnce('FixedLayout');\n\nconst stylesVertical = {\n top: styles.verticalTop,\n bottom: classNames(styles.verticalBottom, 'vkuiInternalFixedLayout--vertical-bottom'),\n};\n\nexport interface FixedLayoutProps extends HTMLAttributesWithRootRef<HTMLDivElement>, HasComponent {\n /**\n * Положение по вертикали, либо сверху, либо снизу.\n */\n vertical?: 'top' | 'bottom';\n /**\n * Это свойство определяет, будет ли фон компонента окрашен в цвет фона контента.\n * Это часто необходимо для фиксированных кнопок в нижней части экрана.\n */\n filled?: boolean;\n /**\n * Всегда соответствовать ширине родителя.\n * Ширина пересчитывается по событию `window` `resize`.\n */\n useParentWidth?: boolean;\n}\n\n/**\n * @see https://vkui.io/components/fixed-layout\n *\n * @deprecated Since 8.0.0. Будет удалён в **VKUI v10**.\n * Используйте компонент `Box` с `position=\"sticky\"` и `insetBlockStart`/`insetBlockEnd`..\n */\nexport const FixedLayout = ({\n children,\n style,\n vertical,\n getRootRef,\n filled,\n className,\n useParentWidth,\n ...restProps\n}: FixedLayoutProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development') {\n warn(\n 'Компонент устарел начиная с v8.0.0 и будет удалён в v10.0.0. Используйте вместо него `Box` с `position=\"sticky\"` и `insetBlockStart`/`insetBlockEnd`.',\n );\n }\n const platform = usePlatform();\n const ref = React.useRef<HTMLElement | null>(null);\n const [width, setWidth] = React.useState<string | undefined>(undefined);\n const { window } = useDOM();\n const { colRef } = React.useContext(SplitColContext);\n const parentRef = React.useRef<HTMLElement | null>(null);\n\n const handleRootRef = useCallback(\n (node: HTMLElement | null) => {\n if (!node) {\n return;\n }\n\n setRef(node, getRootRef);\n setRef(node, ref);\n setRef(node.parentElement, parentRef);\n },\n [getRootRef],\n );\n\n const doResize = () => {\n if (useParentWidth && parentRef.current) {\n const parentWidth = parentRef.current.getBoundingClientRect().width;\n setWidth(parentWidth ? `${parentWidth}px` : undefined);\n } else if (colRef?.current) {\n const computedStyle = getComputedStyle(colRef.current);\n\n setWidth(\n `${\n colRef.current.clientWidth -\n parseFloat(computedStyle.paddingLeft || '0') -\n parseFloat(computedStyle.paddingRight || '0')\n }px`,\n );\n } else {\n setWidth(undefined);\n }\n };\n React.useEffect(doResize, [colRef, platform, ref, useParentWidth]);\n\n useResizeObserver(window, doResize);\n useResizeObserver(useParentWidth ? parentRef : colRef, doResize);\n\n return (\n <OnboardingTooltipContainer\n {...restProps}\n fixed\n ref={handleRootRef}\n className={classNames(\n styles.host,\n platform === 'ios' && 'vkuiInternalFixedLayout--ios',\n filled && styles.filled,\n vertical && stylesVertical[vertical],\n className,\n )}\n style={{ width, ...style }}\n >\n {children}\n </OnboardingTooltipContainer>\n );\n};\n"],"names":["useCallback","React","classNames","usePlatform","useResizeObserver","useDOM","setRef","warnOnce","OnboardingTooltipContainer","SplitColContext","styles","warn","stylesVertical","top","verticalTop","bottom","verticalBottom","FixedLayout","children","style","vertical","getRootRef","filled","className","useParentWidth","restProps","process","env","NODE_ENV","platform","ref","useRef","width","setWidth","useState","undefined","window","colRef","useContext","parentRef","handleRootRef","node","parentElement","doResize","current","parentWidth","getBoundingClientRect","computedStyle","getComputedStyle","clientWidth","parseFloat","paddingLeft","paddingRight","useEffect","fixed","host"],"mappings":"AAAA;;AAEA,SAASA,WAAW,QAAQ,QAAQ;AACpC,YAAYC,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,MAAM,QAAQ,mBAAgB;AACvC,SAASC,MAAM,QAAQ,qBAAkB;AACzC,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,0BAA0B,QAAQ,qDAAkD;AAC7F,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,OAAOC,YAAY,2BAA2B;AAE9C,MAAMC,OAAOJ,SAAS;AAEtB,MAAMK,iBAAiB;IACrBC,KAAKH,OAAOI,WAAW;IACvBC,QAAQb,WAAWQ,OAAOM,cAAc,EAAE;AAC5C;AAmBA;;;;;CAKC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,cAAc,EACd,GAAGC,WACc;IACjB,6CAA6C,GAC7C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1CjB,KACE;IAEJ;IACA,MAAMkB,WAAW1B;IACjB,MAAM2B,MAAM7B,MAAM8B,MAAM,CAAqB;IAC7C,MAAM,CAACC,OAAOC,SAAS,GAAGhC,MAAMiC,QAAQ,CAAqBC;IAC7D,MAAM,EAAEC,MAAM,EAAE,GAAG/B;IACnB,MAAM,EAAEgC,MAAM,EAAE,GAAGpC,MAAMqC,UAAU,CAAC7B;IACpC,MAAM8B,YAAYtC,MAAM8B,MAAM,CAAqB;IAEnD,MAAMS,gBAAgBxC,YACpB,CAACyC;QACC,IAAI,CAACA,MAAM;YACT;QACF;QAEAnC,OAAOmC,MAAMpB;QACbf,OAAOmC,MAAMX;QACbxB,OAAOmC,KAAKC,aAAa,EAAEH;IAC7B,GACA;QAAClB;KAAW;IAGd,MAAMsB,WAAW;QACf,IAAInB,kBAAkBe,UAAUK,OAAO,EAAE;YACvC,MAAMC,cAAcN,UAAUK,OAAO,CAACE,qBAAqB,GAAGd,KAAK;YACnEC,SAASY,cAAc,GAAGA,YAAY,EAAE,CAAC,GAAGV;QAC9C,OAAO,IAAIE,QAAQO,SAAS;YAC1B,MAAMG,gBAAgBC,iBAAiBX,OAAOO,OAAO;YAErDX,SACE,GACEI,OAAOO,OAAO,CAACK,WAAW,GAC1BC,WAAWH,cAAcI,WAAW,IAAI,OACxCD,WAAWH,cAAcK,YAAY,IAAI,KAC1C,EAAE,CAAC;QAER,OAAO;YACLnB,SAASE;QACX;IACF;IACAlC,MAAMoD,SAAS,CAACV,UAAU;QAACN;QAAQR;QAAUC;QAAKN;KAAe;IAEjEpB,kBAAkBgC,QAAQO;IAC1BvC,kBAAkBoB,iBAAiBe,YAAYF,QAAQM;IAEvD,qBACE,KAACnC;QACE,GAAGiB,SAAS;QACb6B,KAAK;QACLxB,KAAKU;QACLjB,WAAWrB,WACTQ,OAAO6C,IAAI,EACX1B,aAAa,SAAS,gCACtBP,UAAUZ,OAAOY,MAAM,EACvBF,YAAYR,cAAc,CAACQ,SAAS,EACpCG;QAEFJ,OAAO;YAAEa;YAAO,GAAGb,KAAK;QAAC;kBAExBD;;AAGP,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/FixedLayout/FixedLayout.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback } from 'react';\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useResizeObserver } from '../../hooks/useResizeObserver';\nimport { useDOM } from '../../lib/dom';\nimport { setRef } from '../../lib/utils';\nimport { warnOnce } from '../../lib/warnOnce';\nimport type { HasComponent, HTMLAttributesWithRootRef } from '../../types';\nimport { OnboardingTooltipContainer } from '../OnboardingTooltip/OnboardingTooltipContainer';\nimport { SplitColContext } from '../SplitCol/SplitColContext';\nimport styles from './FixedLayout.module.css';\n\nconst warn = warnOnce('FixedLayout');\n\nconst stylesVertical = {\n top: styles.verticalTop,\n bottom: classNames(styles.verticalBottom, 'vkuiInternalFixedLayout--vertical-bottom'),\n};\n\nexport interface FixedLayoutProps extends HTMLAttributesWithRootRef<HTMLDivElement>, HasComponent {\n /**\n * Положение по вертикали, либо сверху, либо снизу.\n */\n vertical?: 'top' | 'bottom' | undefined;\n /**\n * Это свойство определяет, будет ли фон компонента окрашен в цвет фона контента.\n * Это часто необходимо для фиксированных кнопок в нижней части экрана.\n */\n filled?: boolean | undefined;\n /**\n * Всегда соответствовать ширине родителя.\n * Ширина пересчитывается по событию `window` `resize`.\n */\n useParentWidth?: boolean | undefined;\n}\n\n/**\n * @see https://vkui.io/components/fixed-layout\n *\n * @deprecated Since 8.0.0. Будет удалён в **VKUI v10**.\n * Используйте компонент `Box` с `position=\"sticky\"` и `insetBlockStart`/`insetBlockEnd`..\n */\nexport const FixedLayout = ({\n children,\n style,\n vertical,\n getRootRef,\n filled,\n className,\n useParentWidth,\n ...restProps\n}: FixedLayoutProps): React.ReactNode => {\n /* istanbul ignore if: не проверяем в тестах */\n if (process.env.NODE_ENV === 'development') {\n warn(\n 'Компонент устарел начиная с v8.0.0 и будет удалён в v10.0.0. Используйте вместо него `Box` с `position=\"sticky\"` и `insetBlockStart`/`insetBlockEnd`.',\n );\n }\n const platform = usePlatform();\n const ref = React.useRef<HTMLElement | null>(null);\n const [width, setWidth] = React.useState<string | undefined>(undefined);\n const { window } = useDOM();\n const { colRef } = React.useContext(SplitColContext);\n const parentRef = React.useRef<HTMLElement | null>(null);\n\n const handleRootRef = useCallback(\n (node: HTMLElement | null) => {\n if (!node) {\n return;\n }\n\n setRef(node, getRootRef);\n setRef(node, ref);\n setRef(node.parentElement, parentRef);\n },\n [getRootRef],\n );\n\n const doResize = () => {\n if (useParentWidth && parentRef.current) {\n const parentWidth = parentRef.current.getBoundingClientRect().width;\n setWidth(parentWidth ? `${parentWidth}px` : undefined);\n } else if (colRef?.current) {\n const computedStyle = getComputedStyle(colRef.current);\n\n setWidth(\n `${\n colRef.current.clientWidth -\n parseFloat(computedStyle.paddingLeft || '0') -\n parseFloat(computedStyle.paddingRight || '0')\n }px`,\n );\n } else {\n setWidth(undefined);\n }\n };\n React.useEffect(doResize, [colRef, platform, ref, useParentWidth]);\n\n useResizeObserver(window, doResize);\n useResizeObserver(useParentWidth ? parentRef : colRef, doResize);\n\n return (\n <OnboardingTooltipContainer\n {...restProps}\n fixed\n ref={handleRootRef}\n className={classNames(\n styles.host,\n platform === 'ios' && 'vkuiInternalFixedLayout--ios',\n filled && styles.filled,\n vertical && stylesVertical[vertical],\n className,\n )}\n style={{ width, ...style }}\n >\n {children}\n </OnboardingTooltipContainer>\n );\n};\n"],"names":["useCallback","React","classNames","usePlatform","useResizeObserver","useDOM","setRef","warnOnce","OnboardingTooltipContainer","SplitColContext","styles","warn","stylesVertical","top","verticalTop","bottom","verticalBottom","FixedLayout","children","style","vertical","getRootRef","filled","className","useParentWidth","restProps","process","env","NODE_ENV","platform","ref","useRef","width","setWidth","useState","undefined","window","colRef","useContext","parentRef","handleRootRef","node","parentElement","doResize","current","parentWidth","getBoundingClientRect","computedStyle","getComputedStyle","clientWidth","parseFloat","paddingLeft","paddingRight","useEffect","fixed","host"],"mappings":"AAAA;;AAEA,SAASA,WAAW,QAAQ,QAAQ;AACpC,YAAYC,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,WAAW,QAAQ,6BAA0B;AACtD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,MAAM,QAAQ,mBAAgB;AACvC,SAASC,MAAM,QAAQ,qBAAkB;AACzC,SAASC,QAAQ,QAAQ,wBAAqB;AAE9C,SAASC,0BAA0B,QAAQ,qDAAkD;AAC7F,SAASC,eAAe,QAAQ,iCAA8B;AAC9D,OAAOC,YAAY,2BAA2B;AAE9C,MAAMC,OAAOJ,SAAS;AAEtB,MAAMK,iBAAiB;IACrBC,KAAKH,OAAOI,WAAW;IACvBC,QAAQb,WAAWQ,OAAOM,cAAc,EAAE;AAC5C;AAmBA;;;;;CAKC,GACD,OAAO,MAAMC,cAAc,CAAC,EAC1BC,QAAQ,EACRC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,cAAc,EACd,GAAGC,WACc;IACjB,6CAA6C,GAC7C,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1CjB,KACE;IAEJ;IACA,MAAMkB,WAAW1B;IACjB,MAAM2B,MAAM7B,MAAM8B,MAAM,CAAqB;IAC7C,MAAM,CAACC,OAAOC,SAAS,GAAGhC,MAAMiC,QAAQ,CAAqBC;IAC7D,MAAM,EAAEC,MAAM,EAAE,GAAG/B;IACnB,MAAM,EAAEgC,MAAM,EAAE,GAAGpC,MAAMqC,UAAU,CAAC7B;IACpC,MAAM8B,YAAYtC,MAAM8B,MAAM,CAAqB;IAEnD,MAAMS,gBAAgBxC,YACpB,CAACyC;QACC,IAAI,CAACA,MAAM;YACT;QACF;QAEAnC,OAAOmC,MAAMpB;QACbf,OAAOmC,MAAMX;QACbxB,OAAOmC,KAAKC,aAAa,EAAEH;IAC7B,GACA;QAAClB;KAAW;IAGd,MAAMsB,WAAW;QACf,IAAInB,kBAAkBe,UAAUK,OAAO,EAAE;YACvC,MAAMC,cAAcN,UAAUK,OAAO,CAACE,qBAAqB,GAAGd,KAAK;YACnEC,SAASY,cAAc,GAAGA,YAAY,EAAE,CAAC,GAAGV;QAC9C,OAAO,IAAIE,QAAQO,SAAS;YAC1B,MAAMG,gBAAgBC,iBAAiBX,OAAOO,OAAO;YAErDX,SACE,GACEI,OAAOO,OAAO,CAACK,WAAW,GAC1BC,WAAWH,cAAcI,WAAW,IAAI,OACxCD,WAAWH,cAAcK,YAAY,IAAI,KAC1C,EAAE,CAAC;QAER,OAAO;YACLnB,SAASE;QACX;IACF;IACAlC,MAAMoD,SAAS,CAACV,UAAU;QAACN;QAAQR;QAAUC;QAAKN;KAAe;IAEjEpB,kBAAkBgC,QAAQO;IAC1BvC,kBAAkBoB,iBAAiBe,YAAYF,QAAQM;IAEvD,qBACE,KAACnC;QACE,GAAGiB,SAAS;QACb6B,KAAK;QACLxB,KAAKU;QACLjB,WAAWrB,WACTQ,OAAO6C,IAAI,EACX1B,aAAa,SAAS,gCACtBP,UAAUZ,OAAOY,MAAM,EACvBF,YAAYR,cAAc,CAACQ,SAAS,EACpCG;QAEFJ,OAAO;YAAEa;YAAO,GAAGb,KAAK;QAAC;kBAExBD;;AAGP,EAAE"}