@vkontakte/vkui 8.0.2 → 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 (1384) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +8 -6
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +3 -0
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/AccordionIcon.d.ts +14 -0
  6. package/dist/components/Accordion/AccordionIcon.d.ts.map +1 -0
  7. package/dist/components/Accordion/AccordionIcon.js +16 -0
  8. package/dist/components/Accordion/AccordionIcon.js.map +1 -0
  9. package/dist/components/Accordion/AccordionSummary.d.ts +3 -3
  10. package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
  11. package/dist/components/Accordion/AccordionSummary.js +4 -6
  12. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  13. package/dist/components/ActionSheet/ActionSheet.d.ts +9 -9
  14. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  15. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  16. package/dist/components/ActionSheet/ActionSheetContext.d.ts +3 -3
  17. package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  18. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  19. package/dist/components/ActionSheet/types.d.ts +8 -8
  20. package/dist/components/ActionSheet/types.d.ts.map +1 -1
  21. package/dist/components/ActionSheet/types.js.map +1 -1
  22. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +15 -15
  23. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  24. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  25. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts +1 -1
  26. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts.map +1 -1
  27. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  28. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +7 -7
  29. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
  30. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  31. package/dist/components/Alert/Alert.d.ts +18 -18
  32. package/dist/components/Alert/Alert.d.ts.map +1 -1
  33. package/dist/components/Alert/Alert.js.map +1 -1
  34. package/dist/components/Alert/AlertBase.d.ts +2 -2
  35. package/dist/components/Alert/AlertBase.d.ts.map +1 -1
  36. package/dist/components/Alert/AlertBase.js.map +1 -1
  37. package/dist/components/Alert/AlertTypography.d.ts +1 -1
  38. package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
  39. package/dist/components/Alert/AlertTypography.js.map +1 -1
  40. package/dist/components/AppRoot/AppRoot.d.ts +9 -9
  41. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  42. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  43. package/dist/components/AppRoot/AppRootContext.d.ts +4 -4
  44. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  45. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  46. package/dist/components/AppRoot/AppRootPortal.d.ts +2 -2
  47. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  48. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  49. package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
  50. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  51. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  52. package/dist/components/AppRoot/types.d.ts +4 -4
  53. package/dist/components/AppRoot/types.d.ts.map +1 -1
  54. package/dist/components/AppRoot/types.js.map +1 -1
  55. package/dist/components/AspectRatio/AspectRatio.d.ts +2 -2
  56. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  57. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  58. package/dist/components/Avatar/Avatar.d.ts +2 -2
  59. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  60. package/dist/components/Avatar/Avatar.js.map +1 -1
  61. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
  62. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
  63. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  64. package/dist/components/Badge/Badge.d.ts +1 -1
  65. package/dist/components/Badge/Badge.d.ts.map +1 -1
  66. package/dist/components/Badge/Badge.js.map +1 -1
  67. package/dist/components/Banner/Banner.d.ts +12 -12
  68. package/dist/components/Banner/Banner.d.ts.map +1 -1
  69. package/dist/components/Banner/Banner.js.map +1 -1
  70. package/dist/components/Box/Box.d.ts +1 -1
  71. package/dist/components/Box/Box.d.ts.map +1 -1
  72. package/dist/components/Box/Box.js.map +1 -1
  73. package/dist/components/Button/Button.d.ts +11 -11
  74. package/dist/components/Button/Button.d.ts.map +1 -1
  75. package/dist/components/Button/Button.js +1 -1
  76. package/dist/components/Button/Button.js.map +1 -1
  77. package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -4
  78. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  79. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  80. package/dist/components/Calendar/Calendar.d.ts +17 -17
  81. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  82. package/dist/components/Calendar/Calendar.js.map +1 -1
  83. package/dist/components/CalendarDay/CalendarDay.d.ts +18 -18
  84. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  85. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  86. package/dist/components/CalendarDays/CalendarDays.d.ts +14 -14
  87. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  88. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  89. package/dist/components/CalendarHeader/CalendarHeader.d.ts +19 -19
  90. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  91. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  92. package/dist/components/CalendarRange/CalendarRange.d.ts +12 -12
  93. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  94. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  95. package/dist/components/CalendarTime/CalendarTime.d.ts +14 -14
  96. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  97. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  98. package/dist/components/CalendarTime/CalendarTimePicker.d.ts +3 -3
  99. package/dist/components/CalendarTime/CalendarTimePicker.d.ts.map +1 -1
  100. package/dist/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  101. package/dist/components/Card/Card.d.ts +1 -1
  102. package/dist/components/Card/Card.d.ts.map +1 -1
  103. package/dist/components/Card/Card.js.map +1 -1
  104. package/dist/components/CardGrid/CardGrid.d.ts +2 -2
  105. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  106. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  107. package/dist/components/CardScroll/CardScroll.d.ts +3 -3
  108. package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
  109. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  110. package/dist/components/CarouselBase/Bullets.d.ts +1 -1
  111. package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
  112. package/dist/components/CarouselBase/Bullets.js.map +1 -1
  113. package/dist/components/CarouselBase/CarouselViewPort.d.ts +1 -1
  114. package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -1
  115. package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -1
  116. package/dist/components/CarouselBase/ScrollArrows.d.ts +2 -2
  117. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  118. package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
  119. package/dist/components/CarouselBase/helpers.d.ts +4 -4
  120. package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
  121. package/dist/components/CarouselBase/helpers.js.map +1 -1
  122. package/dist/components/CarouselBase/types.d.ts +23 -23
  123. package/dist/components/CarouselBase/types.d.ts.map +1 -1
  124. package/dist/components/CarouselBase/types.js.map +1 -1
  125. package/dist/components/Cell/Cell.d.ts +8 -8
  126. package/dist/components/Cell/Cell.d.ts.map +1 -1
  127. package/dist/components/Cell/Cell.js.map +1 -1
  128. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  129. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts.map +1 -1
  130. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  131. package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -2
  132. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  133. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  134. package/dist/components/CellButton/CellButton.d.ts +69 -6
  135. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  136. package/dist/components/CellButton/CellButton.js +115 -6
  137. package/dist/components/CellButton/CellButton.js.map +1 -1
  138. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +2 -2
  139. package/dist/components/Checkbox/Checkbox.d.ts +6 -6
  140. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  141. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  142. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +11 -11
  143. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  144. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  145. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  146. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  147. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  148. package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
  149. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  150. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  151. package/dist/components/ChipsInputBase/Chip/Chip.d.ts +9 -9
  152. package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
  153. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  154. package/dist/components/ChipsInputBase/types.d.ts +19 -19
  155. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  156. package/dist/components/ChipsInputBase/types.js.map +1 -1
  157. package/dist/components/ChipsSelect/ChipsSelect.d.ts +13 -13
  158. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  159. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  160. package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  161. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  162. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  163. package/dist/components/Clickable/Clickable.d.ts +1 -1
  164. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  165. package/dist/components/Clickable/Clickable.js.map +1 -1
  166. package/dist/components/Clickable/useState.d.ts +13 -13
  167. package/dist/components/Clickable/useState.d.ts.map +1 -1
  168. package/dist/components/Clickable/useState.js.map +1 -1
  169. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  170. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  171. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  172. package/dist/components/ContentBadge/ContentBadge.d.ts +4 -4
  173. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  174. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  175. package/dist/components/ContentCard/ContentCard.d.ts +8 -8
  176. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  177. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  178. package/dist/components/Counter/Counter.d.ts +4 -4
  179. package/dist/components/Counter/Counter.d.ts.map +1 -1
  180. package/dist/components/Counter/Counter.js.map +1 -1
  181. package/dist/components/CustomScrollView/CustomScrollView.d.ts +6 -6
  182. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  183. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  184. package/dist/components/CustomSelect/CustomSelect.d.ts +36 -27
  185. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  186. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  187. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +2 -2
  188. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  189. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  190. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +9 -9
  191. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  192. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  193. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts +2 -2
  194. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts.map +1 -1
  195. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  196. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts +1 -1
  197. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts.map +1 -1
  198. package/dist/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  199. package/dist/components/CustomSelect/types.d.ts +1 -1
  200. package/dist/components/CustomSelect/types.d.ts.map +1 -1
  201. package/dist/components/CustomSelect/types.js.map +1 -1
  202. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +8 -8
  203. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  204. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  205. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +9 -9
  206. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
  207. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  208. package/dist/components/DateInput/DateInput.d.ts +23 -23
  209. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  210. package/dist/components/DateInput/DateInput.js +3 -12
  211. package/dist/components/DateInput/DateInput.js.map +1 -1
  212. package/dist/components/DateInput/hooks.d.ts +4 -4
  213. package/dist/components/DateInput/hooks.d.ts.map +1 -1
  214. package/dist/components/DateInput/hooks.js.map +1 -1
  215. package/dist/components/DateRangeInput/DateRangeInput.d.ts +25 -25
  216. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  217. package/dist/components/DateRangeInput/DateRangeInput.js +2 -11
  218. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  219. package/dist/components/DropZone/DropZone.d.ts +2 -2
  220. package/dist/components/DropZone/DropZone.d.ts.map +1 -1
  221. package/dist/components/DropZone/DropZone.js +1 -1
  222. package/dist/components/DropZone/DropZone.js.map +1 -1
  223. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.d.ts +1 -1
  224. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.d.ts.map +1 -0
  225. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +3 -3
  226. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  227. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  228. package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
  229. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  230. package/dist/components/Epic/Epic.d.ts +1 -1
  231. package/dist/components/Epic/Epic.d.ts.map +1 -1
  232. package/dist/components/Epic/Epic.js.map +1 -1
  233. package/dist/components/Epic/ScrollSaver.d.ts +1 -1
  234. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  235. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  236. package/dist/components/File/File.d.ts +4 -4
  237. package/dist/components/File/File.d.ts.map +1 -1
  238. package/dist/components/File/File.js.map +1 -1
  239. package/dist/components/FixedLayout/FixedLayout.d.ts +3 -3
  240. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  241. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  242. package/dist/components/Flex/Flex.d.ts +8 -12
  243. package/dist/components/Flex/Flex.d.ts.map +1 -1
  244. package/dist/components/Flex/Flex.js +2 -9
  245. package/dist/components/Flex/Flex.js.map +1 -1
  246. package/dist/components/Flex/FlexItem/FlexItem.d.ts +5 -12
  247. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  248. package/dist/components/Flex/FlexItem/FlexItem.js +5 -14
  249. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  250. package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -9
  251. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  252. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  253. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  254. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  255. package/dist/components/FocusTrap/FocusTrap.js +2 -4
  256. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  257. package/dist/components/FormField/FormField.d.ts +8 -8
  258. package/dist/components/FormField/FormField.d.ts.map +1 -1
  259. package/dist/components/FormField/FormField.js.map +1 -1
  260. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +2 -2
  261. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  262. package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  263. package/dist/components/FormItem/FormItem.d.ts +10 -10
  264. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  265. package/dist/components/FormItem/FormItem.js.map +1 -1
  266. package/dist/components/FormItem/context.d.ts +2 -2
  267. package/dist/components/FormItem/context.d.ts.map +1 -1
  268. package/dist/components/FormItem/context.js.map +1 -1
  269. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +4 -4
  270. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  271. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  272. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  273. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  274. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  275. package/dist/components/Gallery/Gallery.d.ts +2 -2
  276. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  277. package/dist/components/Gallery/Gallery.js.map +1 -1
  278. package/dist/components/Gradient/Gradient.d.ts +2 -2
  279. package/dist/components/Gradient/Gradient.d.ts.map +1 -1
  280. package/dist/components/Gradient/Gradient.js.map +1 -1
  281. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  282. package/dist/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  283. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  284. package/dist/components/Group/Group.d.ts +2 -2
  285. package/dist/components/Group/Group.d.ts.map +1 -1
  286. package/dist/components/Group/Group.js.map +1 -1
  287. package/dist/components/Group/GroupContainer.d.ts +3 -3
  288. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  289. package/dist/components/Group/GroupContainer.js.map +1 -1
  290. package/dist/components/Group/GroupExpandedContent.d.ts +1 -1
  291. package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
  292. package/dist/components/Group/GroupExpandedContent.js.map +1 -1
  293. package/dist/components/Header/Header.d.ts +11 -11
  294. package/dist/components/Header/Header.d.ts.map +1 -1
  295. package/dist/components/Header/Header.js.map +1 -1
  296. package/dist/components/HorizontalCell/HorizontalCell.d.ts +7 -7
  297. package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
  298. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  299. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +4 -4
  300. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  301. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  302. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +30 -15
  303. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  304. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -6
  305. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  306. package/dist/components/IconButton/IconButton.d.ts +1 -1
  307. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  308. package/dist/components/IconButton/IconButton.js.map +1 -1
  309. package/dist/components/Image/Image.d.ts +5 -5
  310. package/dist/components/Image/Image.d.ts.map +1 -1
  311. package/dist/components/Image/Image.js.map +1 -1
  312. package/dist/components/ImageBase/ImageBase.d.ts +14 -14
  313. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  314. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  315. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
  316. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
  317. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  318. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +3 -3
  319. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
  320. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  321. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +3 -3
  322. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  323. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  324. package/dist/components/ImageBase/types.d.ts +3 -3
  325. package/dist/components/ImageBase/types.d.ts.map +1 -1
  326. package/dist/components/ImageBase/types.js.map +1 -1
  327. package/dist/components/Input/Input.d.ts +4 -4
  328. package/dist/components/Input/Input.d.ts.map +1 -1
  329. package/dist/components/Input/Input.js.map +1 -1
  330. package/dist/components/InputLike/InputLike.d.ts +3 -3
  331. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  332. package/dist/components/InputLike/InputLike.js.map +1 -1
  333. package/dist/components/Link/Link.d.ts +4 -4
  334. package/dist/components/Link/Link.d.ts.map +1 -1
  335. package/dist/components/Link/Link.js.map +1 -1
  336. package/dist/components/List/List.d.ts +1 -1
  337. package/dist/components/List/List.d.ts.map +1 -1
  338. package/dist/components/List/List.js.map +1 -1
  339. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +5 -5
  340. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  341. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  342. package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
  343. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  344. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  345. package/dist/components/ModalCard/types.d.ts +13 -13
  346. package/dist/components/ModalCard/types.d.ts.map +1 -1
  347. package/dist/components/ModalCard/types.js.map +1 -1
  348. package/dist/components/ModalCardBase/ModalCardBase.d.ts +14 -14
  349. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  350. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  351. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  352. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  353. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  354. package/dist/components/ModalOutlet/ModalOutlet.d.ts +3 -3
  355. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  356. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  357. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
  358. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -1
  359. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  360. package/dist/components/ModalOverlay/ModalOverlay.d.ts +7 -7
  361. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  362. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
  363. package/dist/components/ModalPage/ModalPageBase.d.ts +2 -2
  364. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  365. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  366. package/dist/components/ModalPage/ModalPageInternal.d.ts +2 -2
  367. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  368. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  369. package/dist/components/ModalPage/types.d.ts +27 -27
  370. package/dist/components/ModalPage/types.d.ts.map +1 -1
  371. package/dist/components/ModalPage/types.js.map +1 -1
  372. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +2 -2
  373. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  374. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  375. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
  376. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  377. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  378. package/dist/components/ModalRoot/types.d.ts +15 -15
  379. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  380. package/dist/components/ModalRoot/types.js.map +1 -1
  381. package/dist/components/ModalRoot/useModalRootManager.d.ts +19 -19
  382. package/dist/components/ModalRoot/useModalRootManager.d.ts.map +1 -1
  383. package/dist/components/ModalRoot/useModalRootManager.js.map +1 -1
  384. package/dist/components/NativeSelect/NativeSelect.d.ts +11 -11
  385. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  386. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  387. package/dist/components/NumberInputLike/NumberInputLike.d.ts +3 -3
  388. package/dist/components/NumberInputLike/NumberInputLike.d.ts.map +1 -1
  389. package/dist/components/NumberInputLike/NumberInputLike.js.map +1 -1
  390. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +6 -6
  391. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  392. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  393. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  394. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  395. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  396. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  397. package/dist/components/Pagination/Pagination.d.ts +19 -19
  398. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  399. package/dist/components/Pagination/Pagination.js +14 -6
  400. package/dist/components/Pagination/Pagination.js.map +1 -1
  401. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts +3 -3
  402. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  403. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  404. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +3 -3
  405. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  406. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  407. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +1 -1
  408. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  409. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  410. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +3 -3
  411. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  412. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  413. package/dist/components/Panel/Panel.d.ts +3 -3
  414. package/dist/components/Panel/Panel.d.ts.map +1 -1
  415. package/dist/components/Panel/Panel.js.map +1 -1
  416. package/dist/components/PanelHeader/PanelHeader.d.ts +8 -8
  417. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  418. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  419. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  420. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  421. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  422. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +2 -2
  423. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  424. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  425. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -3
  426. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  427. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  428. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
  429. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
  430. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  431. package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
  432. package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
  433. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  434. package/dist/components/Placeholder/Placeholder.d.ts +5 -5
  435. package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
  436. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  437. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +6 -6
  438. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  439. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  440. package/dist/components/Popover/Popover.d.ts +5 -5
  441. package/dist/components/Popover/Popover.d.ts.map +1 -1
  442. package/dist/components/Popover/Popover.js.map +1 -1
  443. package/dist/components/Popper/Popper.d.ts +4 -4
  444. package/dist/components/Popper/Popper.d.ts.map +1 -1
  445. package/dist/components/Popper/Popper.js +13 -7
  446. package/dist/components/Popper/Popper.js.map +1 -1
  447. package/dist/components/Progress/Progress.d.ts +4 -4
  448. package/dist/components/Progress/Progress.d.ts.map +1 -1
  449. package/dist/components/Progress/Progress.js.map +1 -1
  450. package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
  451. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  452. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  453. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +4 -4
  454. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  455. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  456. package/dist/components/Radio/Radio.d.ts +7 -7
  457. package/dist/components/Radio/Radio.d.ts.map +1 -1
  458. package/dist/components/Radio/Radio.js +2 -2
  459. package/dist/components/Radio/Radio.js.map +1 -1
  460. package/dist/components/Radio/RadioInput/RadioInput.d.ts +4 -4
  461. package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
  462. package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
  463. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  464. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  465. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  466. package/dist/components/Removable/Removable.d.ts +9 -9
  467. package/dist/components/Removable/Removable.d.ts.map +1 -1
  468. package/dist/components/Removable/Removable.js.map +1 -1
  469. package/dist/components/Removable/RemovableIos.d.ts +3 -3
  470. package/dist/components/Removable/RemovableIos.d.ts.map +1 -1
  471. package/dist/components/Removable/RemovableIos.js.map +1 -1
  472. package/dist/components/RichCell/RichCell.d.ts +15 -15
  473. package/dist/components/RichCell/RichCell.d.ts.map +1 -1
  474. package/dist/components/RichCell/RichCell.js.map +1 -1
  475. package/dist/components/Root/Root.d.ts +4 -4
  476. package/dist/components/Root/Root.d.ts.map +1 -1
  477. package/dist/components/Root/Root.js.map +1 -1
  478. package/dist/components/RootComponent/RootComponent.d.ts +2 -2
  479. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  480. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  481. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -1
  482. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
  483. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  484. package/dist/components/ScreenSpinner/context.d.ts +2 -2
  485. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  486. package/dist/components/ScreenSpinner/context.js.map +1 -1
  487. package/dist/components/ScreenSpinner/types.d.ts +5 -5
  488. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  489. package/dist/components/ScreenSpinner/types.js.map +1 -1
  490. package/dist/components/ScrollArrow/ScrollArrow.d.ts +10 -4
  491. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  492. package/dist/components/ScrollArrow/ScrollArrow.js +14 -4
  493. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  494. package/dist/components/Search/Search.d.ts +17 -17
  495. package/dist/components/Search/Search.d.ts.map +1 -1
  496. package/dist/components/Search/Search.js.map +1 -1
  497. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -6
  498. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  499. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  500. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  501. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  502. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  503. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  504. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  505. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  506. package/dist/components/SelectTypography/SelectTypography.d.ts +1 -1
  507. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  508. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  509. package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
  510. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
  511. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  512. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +2 -2
  513. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  514. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  515. package/dist/components/Separator/Separator.d.ts +5 -5
  516. package/dist/components/Separator/Separator.d.ts.map +1 -1
  517. package/dist/components/Separator/Separator.js.map +1 -1
  518. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +1 -1
  519. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  520. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  521. package/dist/components/SimpleCell/SimpleCell.d.ts +14 -14
  522. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  523. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  524. package/dist/components/SimpleGrid/SimpleGrid.d.ts +6 -6
  525. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  526. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  527. package/dist/components/Skeleton/Skeleton.d.ts +5 -5
  528. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  529. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  530. package/dist/components/Slider/Slider.d.ts +17 -17
  531. package/dist/components/Slider/Slider.d.ts.map +1 -1
  532. package/dist/components/Slider/Slider.js.map +1 -1
  533. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +5 -5
  534. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  535. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  536. package/dist/components/Snackbar/Snackbar.d.ts +10 -10
  537. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  538. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  539. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
  540. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts.map +1 -1
  541. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  542. package/dist/components/Snackbar/utils.d.ts +1 -1
  543. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  544. package/dist/components/Snackbar/utils.js.map +1 -1
  545. package/dist/components/Spacing/Spacing.d.ts +2 -2
  546. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  547. package/dist/components/Spacing/Spacing.js.map +1 -1
  548. package/dist/components/Spinner/Spinner.d.ts +4 -4
  549. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  550. package/dist/components/Spinner/Spinner.js.map +1 -1
  551. package/dist/components/SplitCol/SplitCol.d.ts +7 -7
  552. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  553. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  554. package/dist/components/SplitLayout/SplitLayout.d.ts +8 -8
  555. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  556. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  557. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -2
  558. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  559. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  560. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +8 -8
  561. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  562. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  563. package/dist/components/Switch/Switch.d.ts +4 -4
  564. package/dist/components/Switch/Switch.d.ts.map +1 -1
  565. package/dist/components/Switch/Switch.js.map +1 -1
  566. package/dist/components/Tabbar/Tabbar.d.ts +2 -2
  567. package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
  568. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  569. package/dist/components/TabbarItem/TabbarItem.d.ts +3 -3
  570. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  571. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  572. package/dist/components/Tabs/Tabs.d.ts +7 -7
  573. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  574. package/dist/components/Tabs/Tabs.js.map +1 -1
  575. package/dist/components/Tabs/TabsModeContext.d.ts +1 -1
  576. package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
  577. package/dist/components/Tabs/TabsModeContext.js.map +1 -1
  578. package/dist/components/TabsItem/TabsItem.d.ts +5 -5
  579. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  580. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  581. package/dist/components/Tappable/Tappable.d.ts +3 -3
  582. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  583. package/dist/components/Tappable/Tappable.js.map +1 -1
  584. package/dist/components/Tappable/state.d.ts +2 -2
  585. package/dist/components/Tappable/state.d.ts.map +1 -1
  586. package/dist/components/Tappable/state.js.map +1 -1
  587. package/dist/components/Textarea/Textarea.d.ts +6 -6
  588. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  589. package/dist/components/Textarea/Textarea.js.map +1 -1
  590. package/dist/components/ToolButton/ToolButton.d.ts +4 -4
  591. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  592. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  593. package/dist/components/Tooltip/Tooltip.d.ts +6 -6
  594. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  595. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  596. package/dist/components/TooltipBase/TooltipBase.d.ts +10 -10
  597. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  598. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  599. package/dist/components/Touch/Touch.d.ts +16 -16
  600. package/dist/components/Touch/Touch.d.ts.map +1 -1
  601. package/dist/components/Touch/Touch.js.map +1 -1
  602. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  603. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  604. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  605. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
  606. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  607. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  608. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
  609. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts.map +1 -1
  610. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  611. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  612. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  613. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  614. package/dist/components/Typography/Title/Title.d.ts +1 -1
  615. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  616. package/dist/components/Typography/Title/Title.js.map +1 -1
  617. package/dist/components/Typography/Typography.d.ts +6 -6
  618. package/dist/components/Typography/Typography.d.ts.map +1 -1
  619. package/dist/components/Typography/Typography.js.map +1 -1
  620. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +1 -1
  621. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  622. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  623. package/dist/components/UsersStack/UsersStack.d.ts +6 -6
  624. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  625. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  626. package/dist/components/View/View.d.ts +4 -4
  627. package/dist/components/View/View.d.ts.map +1 -1
  628. package/dist/components/View/View.js.map +1 -1
  629. package/dist/components/View/ViewInfinite.d.ts +12 -12
  630. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  631. package/dist/components/View/ViewInfinite.js.map +1 -1
  632. package/dist/components/WriteBar/WriteBar.d.ts +10 -10
  633. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  634. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  635. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +3 -3
  636. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
  637. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  638. package/dist/components.css +1 -1
  639. package/dist/components.css.map +1 -1
  640. package/dist/cssm/components/Accordion/Accordion.js +3 -0
  641. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  642. package/dist/cssm/components/Accordion/AccordionIcon.js +17 -0
  643. package/dist/cssm/components/Accordion/AccordionIcon.js.map +1 -0
  644. package/dist/cssm/components/Accordion/AccordionSummary.js +4 -7
  645. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  646. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  647. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  648. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  649. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  650. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  651. package/dist/cssm/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  652. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  653. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  654. package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
  655. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  656. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  657. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  658. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  659. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  660. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  661. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  662. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  663. package/dist/cssm/components/Avatar/Avatar.module.css +0 -5
  664. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  665. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  666. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  667. package/dist/cssm/components/Box/Box.js.map +1 -1
  668. package/dist/cssm/components/Button/Button.js +1 -1
  669. package/dist/cssm/components/Button/Button.js.map +1 -1
  670. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  671. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  672. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  673. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  674. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  675. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  676. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  677. package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  678. package/dist/cssm/components/Card/Card.js.map +1 -1
  679. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  680. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  681. package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
  682. package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
  683. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  684. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  685. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  686. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  687. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  688. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  689. package/dist/cssm/components/CellButton/CellButton.js +115 -7
  690. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  691. package/dist/cssm/components/CellButton/CellButton.module.css +165 -7
  692. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  693. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  694. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  695. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  696. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  697. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  698. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  699. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  700. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  701. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  702. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  703. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  704. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  705. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  706. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  707. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  708. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +0 -6
  709. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  710. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  711. package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  712. package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  713. package/dist/cssm/components/CustomSelect/types.js.map +1 -1
  714. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  715. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  716. package/dist/cssm/components/DateInput/DateInput.js +3 -12
  717. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  718. package/dist/cssm/components/DateInput/hooks.js.map +1 -1
  719. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -11
  720. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  721. package/dist/cssm/components/DropZone/DropZone.js +1 -1
  722. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  723. package/dist/cssm/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  724. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  725. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  726. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  727. package/dist/cssm/components/File/File.js.map +1 -1
  728. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  729. package/dist/cssm/components/Flex/Flex.js +2 -10
  730. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  731. package/dist/cssm/components/Flex/FlexItem/FlexItem.js +5 -14
  732. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  733. package/dist/cssm/components/Flex/FlexItem/FlexItem.module.css +0 -22
  734. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  735. package/dist/cssm/components/FocusTrap/FocusTrap.js +2 -4
  736. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  737. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  738. package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  739. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  740. package/dist/cssm/components/FormItem/FormItem.module.css +1 -2
  741. package/dist/cssm/components/FormItem/context.js.map +1 -1
  742. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  743. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  744. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  745. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  746. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  747. package/dist/cssm/components/Group/Group.js.map +1 -1
  748. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  749. package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
  750. package/dist/cssm/components/Header/Header.js.map +1 -1
  751. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  752. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  753. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -6
  754. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  755. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  756. package/dist/cssm/components/Image/Image.js.map +1 -1
  757. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  759. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  760. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  761. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  762. package/dist/cssm/components/Input/Input.js.map +1 -1
  763. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  764. package/dist/cssm/components/Link/Link.js.map +1 -1
  765. package/dist/cssm/components/List/List.js.map +1 -1
  766. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  767. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  768. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  769. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  770. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +0 -4
  771. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  772. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  773. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  774. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
  775. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  776. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  777. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  778. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  779. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  780. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  781. package/dist/cssm/components/ModalRoot/useModalRootManager.js.map +1 -1
  782. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  783. package/dist/cssm/components/NumberInputLike/NumberInputLike.js.map +1 -1
  784. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  785. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  786. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  787. package/dist/cssm/components/Pagination/Pagination.js +14 -6
  788. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  789. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  790. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  791. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  792. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  793. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  794. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  795. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -5
  796. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  797. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  798. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  799. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  800. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  801. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  802. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  803. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  804. package/dist/cssm/components/Popper/Popper.js +13 -7
  805. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  806. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  807. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  808. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  809. package/dist/cssm/components/Radio/Radio.js +2 -2
  810. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  811. package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
  812. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  813. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  814. package/dist/cssm/components/Removable/Removable.module.css +0 -4
  815. package/dist/cssm/components/Removable/RemovableIos.js.map +1 -1
  816. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  817. package/dist/cssm/components/Root/Root.js.map +1 -1
  818. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  819. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  820. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  821. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  822. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +14 -4
  823. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  824. package/dist/cssm/components/Search/Search.js.map +1 -1
  825. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  826. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  827. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  828. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  829. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  830. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  831. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  832. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  833. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  834. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +3 -5
  835. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  836. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  837. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  838. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  839. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  840. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  841. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  842. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  843. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  844. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  845. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  846. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  847. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  848. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  849. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  850. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  851. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  852. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  853. package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
  854. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  855. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  856. package/dist/cssm/components/Tappable/state.js.map +1 -1
  857. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  858. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  859. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  860. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  861. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  862. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  863. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  864. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  865. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  866. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  867. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  868. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  869. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  870. package/dist/cssm/components/View/View.js.map +1 -1
  871. package/dist/cssm/components/View/View.module.css +1 -3
  872. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  873. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  874. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  875. package/dist/cssm/helpers/math.js.map +1 -1
  876. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  877. package/dist/cssm/hooks/useAutoDetectColorScheme.js +8 -27
  878. package/dist/cssm/hooks/useAutoDetectColorScheme.js.map +1 -1
  879. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  880. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  881. package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
  882. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  883. package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
  884. package/dist/cssm/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  885. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +10 -2
  886. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  887. package/dist/cssm/hooks/useFocusVisibleClassName.js.map +1 -1
  888. package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
  889. package/dist/cssm/hooks/useMediaQueryMatch.js +25 -0
  890. package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -0
  891. package/dist/cssm/hooks/useMergeProps.js.map +1 -1
  892. package/dist/cssm/hooks/useModalManager/types.js.map +1 -1
  893. package/dist/cssm/hooks/usePagination.js.map +1 -1
  894. package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
  895. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +2 -2
  896. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  897. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  898. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  899. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +3 -3
  900. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  901. package/dist/cssm/hooks/useSnackbarManager/types.js.map +1 -1
  902. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  903. package/dist/cssm/index.js +1 -1
  904. package/dist/cssm/index.js.map +1 -1
  905. package/dist/cssm/lib/SSR.js.map +1 -1
  906. package/dist/cssm/lib/accessibility.js.map +1 -1
  907. package/dist/cssm/lib/adaptivity/functions.js +6 -0
  908. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  909. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  910. package/dist/cssm/lib/animation/useCSSTransition.js +4 -2
  911. package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
  912. package/dist/cssm/lib/animation/useReducedMotion.js +2 -20
  913. package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
  914. package/dist/cssm/lib/calendar.js.map +1 -1
  915. package/dist/cssm/lib/date.js.map +1 -1
  916. package/dist/cssm/lib/dom.js.map +1 -1
  917. package/dist/cssm/lib/floating/functions.js.map +1 -1
  918. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  919. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  920. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  921. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  922. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  923. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  924. package/dist/cssm/lib/getNavId.js.map +1 -1
  925. package/dist/cssm/lib/layouts/layoutProps.js +17 -0
  926. package/dist/cssm/lib/layouts/layoutProps.js.map +1 -1
  927. package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
  928. package/dist/cssm/lib/layouts/types.js.map +1 -1
  929. package/dist/cssm/lib/select.js.map +1 -1
  930. package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -1
  931. package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -1
  932. package/dist/cssm/lib/tokens/types.js.map +1 -1
  933. package/dist/cssm/lib/utils.js +3 -0
  934. package/dist/cssm/lib/utils.js.map +1 -1
  935. package/dist/cssm/styles/layout.css +36 -0
  936. package/dist/cssm/types.js +4 -1
  937. package/dist/cssm/types.js.map +1 -1
  938. package/dist/helpers/math.d.ts +1 -1
  939. package/dist/helpers/math.d.ts.map +1 -1
  940. package/dist/helpers/math.js.map +1 -1
  941. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts +5 -1
  942. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts.map +1 -1
  943. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  944. package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
  945. package/dist/hooks/useAutoDetectColorScheme.js +8 -27
  946. package/dist/hooks/useAutoDetectColorScheme.js.map +1 -1
  947. package/dist/hooks/useCalendar.d.ts +1 -1
  948. package/dist/hooks/useCalendar.d.ts.map +1 -1
  949. package/dist/hooks/useCalendar.js.map +1 -1
  950. package/dist/hooks/useDateInput.d.ts +5 -5
  951. package/dist/hooks/useDateInput.d.ts.map +1 -1
  952. package/dist/hooks/useDateInput.js.map +1 -1
  953. package/dist/hooks/useDraggableWithDomApi/types.d.ts +1 -1
  954. package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  955. package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
  956. package/dist/hooks/useEnsuredControl.d.ts +4 -4
  957. package/dist/hooks/useEnsuredControl.d.ts.map +1 -1
  958. package/dist/hooks/useEnsuredControl.js.map +1 -1
  959. package/dist/hooks/useFloatingElement.d.ts +4 -4
  960. package/dist/hooks/useFloatingElement.d.ts.map +1 -1
  961. package/dist/hooks/useFloatingElement.js.map +1 -1
  962. package/dist/hooks/useFocusTrap/FocusGuard.d.ts +1 -1
  963. package/dist/hooks/useFocusTrap/FocusGuard.d.ts.map +1 -1
  964. package/dist/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  965. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +6 -10
  966. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
  967. package/dist/hooks/useFocusTrap/useFocusTrap.js +10 -2
  968. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  969. package/dist/hooks/useFocusVisibleClassName.d.ts +3 -3
  970. package/dist/hooks/useFocusVisibleClassName.d.ts.map +1 -1
  971. package/dist/hooks/useFocusVisibleClassName.js.map +1 -1
  972. package/dist/hooks/useGlobalEscKeyDown.d.ts +1 -1
  973. package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
  974. package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
  975. package/dist/hooks/useMediaQueryMatch.d.ts +6 -0
  976. package/dist/hooks/useMediaQueryMatch.d.ts.map +1 -0
  977. package/dist/hooks/useMediaQueryMatch.js +25 -0
  978. package/dist/hooks/useMediaQueryMatch.js.map +1 -0
  979. package/dist/hooks/useMergeProps.d.ts +1 -1
  980. package/dist/hooks/useMergeProps.d.ts.map +1 -1
  981. package/dist/hooks/useMergeProps.js.map +1 -1
  982. package/dist/hooks/useModalManager/types.d.ts +8 -8
  983. package/dist/hooks/useModalManager/types.d.ts.map +1 -1
  984. package/dist/hooks/useModalManager/types.js.map +1 -1
  985. package/dist/hooks/usePagination.d.ts +4 -4
  986. package/dist/hooks/usePagination.d.ts.map +1 -1
  987. package/dist/hooks/usePagination.js.map +1 -1
  988. package/dist/hooks/usePatchChildren.d.ts +1 -1
  989. package/dist/hooks/usePatchChildren.d.ts.map +1 -1
  990. package/dist/hooks/usePatchChildren.js.map +1 -1
  991. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.d.ts → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts} +1 -1
  992. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts.map +1 -0
  993. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +10 -10
  994. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  995. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.d.ts.map +1 -1
  996. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  997. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  998. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.d.ts → SnackbarsContainer/SnackbarsContainer.d.ts} +2 -2
  999. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.d.ts.map +1 -0
  1000. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +10 -10
  1001. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  1002. package/dist/hooks/useSnackbarManager/types.d.ts +11 -11
  1003. package/dist/hooks/useSnackbarManager/types.d.ts.map +1 -1
  1004. package/dist/hooks/useSnackbarManager/types.js.map +1 -1
  1005. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +1 -1
  1006. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
  1007. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  1008. package/dist/index.d.ts +3 -2
  1009. package/dist/index.d.ts.map +1 -1
  1010. package/dist/index.js +1 -1
  1011. package/dist/index.js.map +1 -1
  1012. package/dist/lib/SSR.d.ts +4 -4
  1013. package/dist/lib/SSR.d.ts.map +1 -1
  1014. package/dist/lib/SSR.js.map +1 -1
  1015. package/dist/lib/accessibility.d.ts +1 -1
  1016. package/dist/lib/accessibility.d.ts.map +1 -1
  1017. package/dist/lib/accessibility.js.map +1 -1
  1018. package/dist/lib/adaptivity/functions.d.ts.map +1 -1
  1019. package/dist/lib/adaptivity/functions.js +6 -0
  1020. package/dist/lib/adaptivity/functions.js.map +1 -1
  1021. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts +6 -6
  1022. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  1023. package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  1024. package/dist/lib/animation/useCSSTransition.d.ts +11 -11
  1025. package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
  1026. package/dist/lib/animation/useCSSTransition.js +4 -2
  1027. package/dist/lib/animation/useCSSTransition.js.map +1 -1
  1028. package/dist/lib/animation/useReducedMotion.d.ts.map +1 -1
  1029. package/dist/lib/animation/useReducedMotion.js +2 -20
  1030. package/dist/lib/animation/useReducedMotion.js.map +1 -1
  1031. package/dist/lib/calendar.d.ts +5 -5
  1032. package/dist/lib/calendar.d.ts.map +1 -1
  1033. package/dist/lib/calendar.js.map +1 -1
  1034. package/dist/lib/date.d.ts +10 -10
  1035. package/dist/lib/date.d.ts.map +1 -1
  1036. package/dist/lib/date.js.map +1 -1
  1037. package/dist/lib/dom.d.ts +2 -2
  1038. package/dist/lib/dom.d.ts.map +1 -1
  1039. package/dist/lib/dom.js.map +1 -1
  1040. package/dist/lib/floating/functions.d.ts +2 -2
  1041. package/dist/lib/floating/functions.d.ts.map +1 -1
  1042. package/dist/lib/floating/functions.js.map +1 -1
  1043. package/dist/lib/floating/types/component.d.ts +9 -9
  1044. package/dist/lib/floating/types/component.d.ts.map +1 -1
  1045. package/dist/lib/floating/types/component.js.map +1 -1
  1046. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +14 -14
  1047. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  1048. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  1049. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  1050. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +15 -15
  1051. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  1052. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  1053. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  1054. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  1055. package/dist/lib/getNavId.d.ts +2 -2
  1056. package/dist/lib/getNavId.d.ts.map +1 -1
  1057. package/dist/lib/getNavId.js.map +1 -1
  1058. package/dist/lib/layouts/layoutProps.d.ts +2 -0
  1059. package/dist/lib/layouts/layoutProps.d.ts.map +1 -1
  1060. package/dist/lib/layouts/layoutProps.js +17 -0
  1061. package/dist/lib/layouts/layoutProps.js.map +1 -1
  1062. package/dist/lib/layouts/resolveLayoutProps.d.ts +6 -6
  1063. package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
  1064. package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
  1065. package/dist/lib/layouts/types.d.ts +39 -27
  1066. package/dist/lib/layouts/types.d.ts.map +1 -1
  1067. package/dist/lib/layouts/types.js.map +1 -1
  1068. package/dist/lib/select.d.ts +2 -2
  1069. package/dist/lib/select.d.ts.map +1 -1
  1070. package/dist/lib/select.js.map +1 -1
  1071. package/dist/lib/sheet/useBottomSheet.d.ts +4 -4
  1072. package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
  1073. package/dist/lib/sheet/useBottomSheet.js.map +1 -1
  1074. package/dist/lib/tokens/TokensClassProvider.js.map +1 -1
  1075. package/dist/lib/tokens/types.d.ts +2 -2
  1076. package/dist/lib/tokens/types.d.ts.map +1 -1
  1077. package/dist/lib/tokens/types.js.map +1 -1
  1078. package/dist/lib/utils.d.ts +3 -3
  1079. package/dist/lib/utils.d.ts.map +1 -1
  1080. package/dist/lib/utils.js +3 -0
  1081. package/dist/lib/utils.js.map +1 -1
  1082. package/dist/types.d.ts +17 -10
  1083. package/dist/types.d.ts.map +1 -1
  1084. package/dist/types.js +4 -1
  1085. package/dist/types.js.map +1 -1
  1086. package/dist/vkui.css +1 -1
  1087. package/dist/vkui.css.map +1 -1
  1088. package/package.json +3 -3
  1089. package/src/components/Accordion/Accordion.tsx +10 -6
  1090. package/src/components/Accordion/AccordionIcon.tsx +31 -0
  1091. package/src/components/Accordion/AccordionSummary.tsx +5 -9
  1092. package/src/components/ActionSheet/ActionSheet.tsx +14 -10
  1093. package/src/components/ActionSheet/ActionSheetContext.ts +3 -3
  1094. package/src/components/ActionSheet/types.ts +8 -8
  1095. package/src/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  1096. package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -1
  1097. package/src/components/ActionSheetItem/ActionSheetItem.tsx +15 -15
  1098. package/src/components/ActionSheetItem/subcomponents/Radio/Radio.tsx +1 -1
  1099. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +7 -7
  1100. package/src/components/Alert/Alert.tsx +17 -17
  1101. package/src/components/Alert/AlertBase.tsx +2 -2
  1102. package/src/components/Alert/AlertTypography.tsx +1 -1
  1103. package/src/components/AppRoot/AppRoot.tsx +9 -9
  1104. package/src/components/AppRoot/AppRootContext.ts +4 -4
  1105. package/src/components/AppRoot/AppRootPortal.tsx +2 -2
  1106. package/src/components/AppRoot/ScrollContext.tsx +5 -5
  1107. package/src/components/AppRoot/types.ts +4 -4
  1108. package/src/components/AspectRatio/AspectRatio.tsx +2 -2
  1109. package/src/components/Avatar/Avatar.module.css +0 -5
  1110. package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -1
  1111. package/src/components/Avatar/Avatar.tsx +6 -2
  1112. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -1
  1113. package/src/components/Badge/Badge.tsx +1 -1
  1114. package/src/components/Banner/Banner.tsx +12 -12
  1115. package/src/components/Box/Box.tsx +1 -1
  1116. package/src/components/Button/Button.tsx +19 -12
  1117. package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
  1118. package/src/components/Calendar/Calendar.tsx +17 -17
  1119. package/src/components/CalendarDay/CalendarDay.tsx +18 -18
  1120. package/src/components/CalendarDays/CalendarDays.tsx +14 -14
  1121. package/src/components/CalendarHeader/CalendarHeader.tsx +19 -19
  1122. package/src/components/CalendarRange/CalendarRange.tsx +12 -12
  1123. package/src/components/CalendarTime/CalendarTime.tsx +14 -14
  1124. package/src/components/CalendarTime/CalendarTimePicker.tsx +3 -3
  1125. package/src/components/Card/Card.tsx +1 -1
  1126. package/src/components/CardGrid/CardGrid.tsx +2 -2
  1127. package/src/components/CardScroll/CardScroll.tsx +3 -3
  1128. package/src/components/CarouselBase/Bullets.tsx +1 -1
  1129. package/src/components/CarouselBase/CarouselViewPort.tsx +1 -1
  1130. package/src/components/CarouselBase/ScrollArrows.tsx +2 -2
  1131. package/src/components/CarouselBase/helpers.ts +4 -4
  1132. package/src/components/CarouselBase/types.ts +23 -23
  1133. package/src/components/Cell/Cell.tsx +8 -8
  1134. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +1 -1
  1135. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1136. package/src/components/CellButton/CellButton.module.css +159 -7
  1137. package/src/components/CellButton/CellButton.module.css.d.ts.map +1 -1
  1138. package/src/components/CellButton/CellButton.tsx +154 -11
  1139. package/src/components/Checkbox/Checkbox.tsx +16 -9
  1140. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +20 -14
  1141. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  1142. package/src/components/ChipsInput/useChipsInput.ts +3 -3
  1143. package/src/components/ChipsInputBase/Chip/Chip.tsx +9 -9
  1144. package/src/components/ChipsInputBase/types.ts +28 -22
  1145. package/src/components/ChipsSelect/ChipsSelect.tsx +13 -13
  1146. package/src/components/ChipsSelect/useChipsSelect.ts +22 -21
  1147. package/src/components/Clickable/Clickable.tsx +1 -1
  1148. package/src/components/Clickable/useState.tsx +13 -13
  1149. package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
  1150. package/src/components/ContentBadge/ContentBadge.tsx +4 -4
  1151. package/src/components/ContentCard/ContentCard.tsx +8 -8
  1152. package/src/components/Counter/Counter.tsx +4 -4
  1153. package/src/components/CustomScrollView/CustomScrollView.tsx +6 -6
  1154. package/src/components/CustomSelect/CustomSelect.module.css +0 -6
  1155. package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -1
  1156. package/src/components/CustomSelect/CustomSelect.tsx +42 -29
  1157. package/src/components/CustomSelect/CustomSelectClearButton.tsx +2 -2
  1158. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +20 -14
  1159. package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +2 -2
  1160. package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +1 -1
  1161. package/src/components/CustomSelect/types.ts +1 -1
  1162. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +8 -8
  1163. package/src/components/CustomSelectOption/CustomSelectOption.tsx +9 -9
  1164. package/src/components/DateInput/DateInput.tsx +27 -35
  1165. package/src/components/DateInput/hooks.ts +7 -7
  1166. package/src/components/DateRangeInput/DateRangeInput.tsx +28 -36
  1167. package/src/components/DropZone/DropZone.tsx +5 -2
  1168. package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.tsx +1 -1
  1169. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -1
  1170. package/src/components/Epic/Epic.tsx +1 -1
  1171. package/src/components/Epic/ScrollSaver.tsx +1 -1
  1172. package/src/components/File/File.tsx +15 -9
  1173. package/src/components/FixedLayout/FixedLayout.tsx +3 -3
  1174. package/src/components/Flex/Flex.tsx +8 -23
  1175. package/src/components/Flex/FlexItem/FlexItem.module.css +0 -22
  1176. package/src/components/Flex/FlexItem/FlexItem.module.css.d.ts.map +1 -1
  1177. package/src/components/Flex/FlexItem/FlexItem.tsx +17 -44
  1178. package/src/components/FloatingArrow/FloatingArrow.tsx +9 -9
  1179. package/src/components/FocusTrap/FocusTrap.tsx +0 -3
  1180. package/src/components/FormField/FormField.tsx +8 -8
  1181. package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +2 -2
  1182. package/src/components/FormItem/FormItem.module.css +1 -2
  1183. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -1
  1184. package/src/components/FormItem/FormItem.tsx +10 -10
  1185. package/src/components/FormItem/context.ts +2 -2
  1186. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +4 -4
  1187. package/src/components/FormStatus/FormStatus.tsx +2 -2
  1188. package/src/components/Gallery/Gallery.tsx +2 -2
  1189. package/src/components/Gradient/Gradient.tsx +2 -2
  1190. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  1191. package/src/components/Group/Group.tsx +2 -2
  1192. package/src/components/Group/GroupContainer.tsx +3 -3
  1193. package/src/components/Group/GroupExpandedContent.tsx +1 -1
  1194. package/src/components/Header/Header.tsx +11 -11
  1195. package/src/components/HorizontalCell/HorizontalCell.tsx +7 -7
  1196. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +4 -4
  1197. package/src/components/HorizontalScroll/HorizontalScroll.tsx +63 -18
  1198. package/src/components/IconButton/IconButton.tsx +1 -1
  1199. package/src/components/Image/Image.tsx +5 -5
  1200. package/src/components/ImageBase/ImageBase.tsx +19 -15
  1201. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
  1202. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +3 -3
  1203. package/src/components/ImageBase/ImageBaseOverlay/types.ts +3 -3
  1204. package/src/components/ImageBase/types.ts +3 -3
  1205. package/src/components/Input/Input.tsx +13 -7
  1206. package/src/components/InputLike/InputLike.tsx +3 -3
  1207. package/src/components/Link/Link.tsx +4 -4
  1208. package/src/components/List/List.tsx +1 -1
  1209. package/src/components/MiniInfoCell/MiniInfoCell.tsx +5 -5
  1210. package/src/components/ModalCard/ModalCardInternal.tsx +1 -1
  1211. package/src/components/ModalCard/types.ts +13 -13
  1212. package/src/components/ModalCardBase/ModalCardBase.module.css +0 -4
  1213. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -1
  1214. package/src/components/ModalCardBase/ModalCardBase.tsx +14 -14
  1215. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1216. package/src/components/ModalOutlet/ModalOutlet.tsx +3 -3
  1217. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
  1218. package/src/components/ModalOverlay/ModalOverlay.tsx +7 -7
  1219. package/src/components/ModalPage/ModalPageBase.tsx +2 -2
  1220. package/src/components/ModalPage/ModalPageInternal.tsx +2 -2
  1221. package/src/components/ModalPage/types.ts +27 -27
  1222. package/src/components/ModalPageFooter/ModalPageFooter.tsx +2 -2
  1223. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
  1224. package/src/components/ModalRoot/types.ts +15 -15
  1225. package/src/components/ModalRoot/useModalRootManager.tsx +19 -19
  1226. package/src/components/NativeSelect/NativeSelect.tsx +20 -14
  1227. package/src/components/NumberInputLike/NumberInputLike.tsx +3 -3
  1228. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +16 -8
  1229. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +1 -1
  1230. package/src/components/Pagination/Pagination.tsx +27 -25
  1231. package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +5 -3
  1232. package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +3 -3
  1233. package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -1
  1234. package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +3 -3
  1235. package/src/components/Panel/Panel.tsx +3 -3
  1236. package/src/components/PanelHeader/PanelHeader.module.css +0 -5
  1237. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -1
  1238. package/src/components/PanelHeader/PanelHeader.tsx +14 -12
  1239. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +2 -2
  1240. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +3 -3
  1241. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +3 -3
  1242. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
  1243. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
  1244. package/src/components/Placeholder/Placeholder.tsx +5 -5
  1245. package/src/components/PopoutWrapper/PopoutWrapper.tsx +6 -6
  1246. package/src/components/Popover/Popover.tsx +5 -5
  1247. package/src/components/Popper/Popper.tsx +17 -15
  1248. package/src/components/Progress/Progress.tsx +4 -4
  1249. package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
  1250. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +4 -4
  1251. package/src/components/Radio/Radio.tsx +18 -12
  1252. package/src/components/Radio/RadioInput/RadioInput.tsx +15 -9
  1253. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  1254. package/src/components/Removable/Removable.module.css +0 -4
  1255. package/src/components/Removable/Removable.module.css.d.ts.map +1 -1
  1256. package/src/components/Removable/Removable.tsx +13 -10
  1257. package/src/components/Removable/RemovableIos.tsx +6 -3
  1258. package/src/components/RichCell/RichCell.tsx +15 -15
  1259. package/src/components/Root/Root.tsx +3 -3
  1260. package/src/components/RootComponent/RootComponent.tsx +2 -2
  1261. package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +1 -1
  1262. package/src/components/ScreenSpinner/context.ts +2 -2
  1263. package/src/components/ScreenSpinner/types.tsx +5 -5
  1264. package/src/components/ScrollArrow/ScrollArrow.tsx +27 -4
  1265. package/src/components/Search/Search.tsx +28 -22
  1266. package/src/components/SegmentedControl/SegmentedControl.tsx +6 -6
  1267. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +3 -3
  1268. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -3
  1269. package/src/components/SelectTypography/SelectTypography.tsx +1 -1
  1270. package/src/components/SelectionControl/SelectionControl.tsx +1 -1
  1271. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +2 -2
  1272. package/src/components/Separator/Separator.tsx +5 -5
  1273. package/src/components/SimpleCell/Chevron/Chevron.tsx +1 -1
  1274. package/src/components/SimpleCell/SimpleCell.module.css +3 -5
  1275. package/src/components/SimpleCell/SimpleCell.module.css.d.ts.map +1 -1
  1276. package/src/components/SimpleCell/SimpleCell.tsx +14 -14
  1277. package/src/components/SimpleGrid/SimpleGrid.tsx +6 -6
  1278. package/src/components/Skeleton/Skeleton.tsx +5 -5
  1279. package/src/components/Slider/Slider.tsx +19 -17
  1280. package/src/components/Slider/SliderThumb/SliderThumb.tsx +9 -7
  1281. package/src/components/Snackbar/Snackbar.tsx +19 -13
  1282. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  1283. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -1
  1284. package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
  1285. package/src/components/Snackbar/utils.ts +1 -1
  1286. package/src/components/Spacing/Spacing.tsx +2 -2
  1287. package/src/components/Spinner/Spinner.tsx +4 -4
  1288. package/src/components/SplitCol/SplitCol.tsx +7 -7
  1289. package/src/components/SplitLayout/SplitLayout.tsx +15 -9
  1290. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -2
  1291. package/src/components/SubnavigationButton/SubnavigationButton.tsx +8 -8
  1292. package/src/components/Switch/Switch.tsx +15 -9
  1293. package/src/components/Tabbar/Tabbar.tsx +2 -2
  1294. package/src/components/TabbarItem/TabbarItem.tsx +3 -3
  1295. package/src/components/Tabs/Tabs.tsx +7 -7
  1296. package/src/components/Tabs/TabsModeContext.ts +1 -1
  1297. package/src/components/TabsItem/TabsItem.tsx +5 -5
  1298. package/src/components/Tappable/Tappable.tsx +3 -3
  1299. package/src/components/Tappable/state.tsx +2 -2
  1300. package/src/components/Textarea/Textarea.tsx +14 -10
  1301. package/src/components/ToolButton/ToolButton.tsx +4 -4
  1302. package/src/components/Tooltip/Tooltip.tsx +6 -6
  1303. package/src/components/TooltipBase/TooltipBase.tsx +10 -10
  1304. package/src/components/Touch/Touch.tsx +16 -16
  1305. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1306. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
  1307. package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
  1308. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1309. package/src/components/Typography/Title/Title.tsx +1 -1
  1310. package/src/components/Typography/Typography.tsx +6 -6
  1311. package/src/components/UnstyledTextField/UnstyledTextField.tsx +1 -1
  1312. package/src/components/UsersStack/UsersStack.tsx +6 -6
  1313. package/src/components/View/View.module.css +1 -3
  1314. package/src/components/View/View.module.css.d.ts.map +1 -1
  1315. package/src/components/View/View.tsx +4 -4
  1316. package/src/components/View/ViewInfinite.tsx +11 -11
  1317. package/src/components/WriteBar/WriteBar.tsx +21 -15
  1318. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -3
  1319. package/src/helpers/math.ts +1 -1
  1320. package/src/hooks/useAdaptivityWithJSMediaQueries.ts +3 -1
  1321. package/src/hooks/useAutoDetectColorScheme.ts +8 -30
  1322. package/src/hooks/useCalendar.ts +2 -2
  1323. package/src/hooks/useDateInput.ts +5 -5
  1324. package/src/hooks/useDraggableWithDomApi/types.ts +1 -1
  1325. package/src/hooks/useEnsuredControl.ts +4 -4
  1326. package/src/hooks/useFloatingElement.tsx +4 -4
  1327. package/src/hooks/useFocusTrap/FocusGuard.tsx +1 -1
  1328. package/src/hooks/useFocusTrap/useFocusTrap.tsx +17 -15
  1329. package/src/hooks/useFocusVisibleClassName.ts +3 -3
  1330. package/src/hooks/useGlobalEscKeyDown.ts +2 -2
  1331. package/src/hooks/useMediaQueryMatch.ts +34 -0
  1332. package/src/hooks/useMergeProps.ts +2 -2
  1333. package/src/hooks/useModalManager/types.ts +8 -8
  1334. package/src/hooks/usePagination.ts +4 -4
  1335. package/src/hooks/usePatchChildren.ts +1 -1
  1336. package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.tsx → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.tsx} +3 -3
  1337. package/src/hooks/useSnackbarManager/components/SnackbarHolder.tsx +6 -2
  1338. package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.tsx → SnackbarsContainer/SnackbarsContainer.tsx} +6 -6
  1339. package/src/hooks/useSnackbarManager/types.ts +11 -11
  1340. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
  1341. package/src/index.ts +6 -2
  1342. package/src/lib/SSR.tsx +4 -4
  1343. package/src/lib/accessibility.ts +1 -1
  1344. package/src/lib/adaptivity/functions.ts +10 -1
  1345. package/src/lib/animation/useCSSKeyframesAnimationController.ts +6 -6
  1346. package/src/lib/animation/useCSSTransition.ts +15 -13
  1347. package/src/lib/animation/useReducedMotion.ts +2 -25
  1348. package/src/lib/calendar.ts +5 -2
  1349. package/src/lib/date.ts +11 -11
  1350. package/src/lib/dom.tsx +2 -2
  1351. package/src/lib/floating/functions.ts +2 -2
  1352. package/src/lib/floating/types/component.ts +9 -9
  1353. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +26 -19
  1354. package/src/lib/floating/useFloatingWithInteractions/types.ts +15 -15
  1355. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -2
  1356. package/src/lib/getNavId.ts +2 -2
  1357. package/src/lib/layouts/layoutProps.ts +5 -0
  1358. package/src/lib/layouts/resolveLayoutProps.ts +3 -3
  1359. package/src/lib/layouts/types.ts +40 -27
  1360. package/src/lib/select.ts +2 -2
  1361. package/src/lib/sheet/useBottomSheet.ts +4 -4
  1362. package/src/lib/tokens/TokensClassProvider.tsx +1 -1
  1363. package/src/lib/tokens/types.ts +2 -2
  1364. package/src/lib/utils.ts +8 -3
  1365. package/src/types.ts +18 -10
  1366. package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +0 -1
  1367. package/dist/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1368. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1369. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1370. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1371. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.d.ts.map +0 -1
  1372. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1373. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.d.ts.map +0 -1
  1374. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1375. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +0 -0
  1376. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1377. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1378. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1379. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1380. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css.d.ts.map +0 -0
  1381. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1382. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css.d.ts.map → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css.d.ts.map} +0 -0
  1383. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1384. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css.d.ts.map → SnackbarsContainer/SnackbarsContainer.module.css.d.ts.map} +0 -0
@@ -1,21 +1,21 @@
1
1
  import { type TransitionEventHandler } from 'react';
2
2
  export type UseCSSTransitionState = 'appear' | 'appearing' | 'appeared' | 'enter' | 'entering' | 'entered' | 'exit' | 'exiting' | 'exited';
3
3
  export type UseCSSTransitionOptions = {
4
- enableAppear?: boolean;
5
- enableEnter?: boolean;
6
- enableExit?: boolean;
7
- onEnter?: (appear?: boolean) => void;
8
- onEntering?: (appear?: boolean) => void;
9
- onEntered?: (propertyName?: string, appear?: boolean) => void;
10
- onExit?: () => void;
11
- onExiting?: () => void;
12
- onExited?: (propertyName?: string) => void;
4
+ enableAppear?: boolean | undefined;
5
+ enableEnter?: boolean | undefined;
6
+ enableExit?: boolean | undefined;
7
+ onEnter?: ((appear?: boolean) => void) | undefined;
8
+ onEntering?: ((appear?: boolean) => void) | undefined;
9
+ onEntered?: ((propertyName?: string, appear?: boolean) => void) | undefined;
10
+ onExit?: (() => void) | undefined;
11
+ onExiting?: (() => void) | undefined;
12
+ onExited?: ((propertyName?: string) => void) | undefined;
13
13
  };
14
14
  export type UseCSSTransition<Ref extends Element = Element> = [
15
15
  state: UseCSSTransitionState,
16
16
  {
17
17
  ref: React.RefObject<Ref | null>;
18
- onTransitionEnd?: TransitionEventHandler;
18
+ onTransitionEnd?: TransitionEventHandler | undefined;
19
19
  }
20
20
  ];
21
21
  /**
@@ -25,5 +25,5 @@ export type UseCSSTransition<Ref extends Element = Element> = [
25
25
  *
26
26
  * @private
27
27
  */
28
- export declare const useCSSTransition: <Ref extends Element = Element>(inProp?: boolean, { enableAppear, enableEnter, enableExit, onEnter: onEnterProp, onEntering: onEnteringProp, onEntered: onEnteredProp, onExit: onExitProp, onExiting: onExitingProp, onExited: onExitedProp, }?: UseCSSTransitionOptions) => UseCSSTransition<Ref>;
28
+ export declare const useCSSTransition: <Ref extends Element = Element>(inProp?: boolean | undefined, { enableAppear, enableEnter, enableExit, onEnter: onEnterProp, onEntering: onEnteringProp, onEntered: onEnteredProp, onExit: onExitProp, onExiting: onExitingProp, onExited: onExitedProp, }?: UseCSSTransitionOptions) => UseCSSTransition<Ref>;
29
29
  //# sourceMappingURL=useCSSTransition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCSSTransition.d.ts","sourceRoot":"","sources":["../../../src/lib/animation/useCSSTransition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,sBAAsB,EAAoB,MAAM,OAAO,CAAC;AAS5F,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,WAAW,GACX,UAAU,GACV,OAAO,GACP,UAAU,GACV,SAAS,GACT,MAAM,GACN,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,IAAI;IAC5D,KAAK,EAAE,qBAAqB;IAC5B;QACE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACjC,eAAe,CAAC,EAAE,sBAAsB,CAAC;KAC1C;CACF,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS,OAAO,GAAG,OAAO,EAC5D,SAAS,OAAO,EAChB,+LAUG,uBAA4B,KAC9B,gBAAgB,CAAC,GAAG,CAiLtB,CAAC"}
1
+ {"version":3,"file":"useCSSTransition.d.ts","sourceRoot":"","sources":["../../../src/lib/animation/useCSSTransition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,sBAAsB,EAAoB,MAAM,OAAO,CAAC;AAS5F,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,WAAW,GACX,UAAU,GACV,OAAO,GACP,UAAU,GACV,SAAS,GACT,MAAM,GACN,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5E,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,IAAI;IAC5D,KAAK,EAAE,qBAAqB;IAC5B;QACE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACjC,eAAe,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;KACtD;CACF,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS,OAAO,GAAG,OAAO,EAC5D,SAAS,OAAO,GAAG,SAAS,EAC5B,+LAUG,uBAA4B,KAC9B,gBAAgB,CAAC,GAAG,CAmLtB,CAAC"}
@@ -137,8 +137,10 @@ const TRANSITION_FALLBACK_DELAY = 100;
137
137
  const parseTime = (s)=>s.includes('ms') ? parseFloat(s) : parseFloat(s) * millisecondsInSecond;
138
138
  const duration = Math.max(...style.transitionDuration.split(',').map(parseTime)) + Math.max(...style.transitionDelay.split(',').map(parseTime));
139
139
  if (duration <= 0) {
140
- completeTransition();
141
- return;
140
+ // Даже для нулевой длительности завершаем переход асинхронно, чтобы
141
+ // промежуточные состояния были наблюдаемы и не возникали sync-гонки с unmount.
142
+ timerRef.current = setTimeout(completeTransition, 0);
143
+ return clearTimer;
142
144
  }
143
145
  // fallback если onTransitionEnd не пришёл
144
146
  // TRANSITION_FALLBACK_DELAY, чтобы минимизировать вероятность,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/animation/useCSSTransition.ts"],"sourcesContent":["import { type TransitionEvent, type TransitionEventHandler, useRef, useState } from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { millisecondsInSecond } from '../date';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\n/* istanbul ignore next: особенность рендера в браузере когда меняется className, в Vitest не воспроизвести */\nconst forceReflowForFixNewMountedElement = (node: Element | null) => void node?.scrollTop;\n\nexport type UseCSSTransitionState =\n | 'appear'\n | 'appearing'\n | 'appeared'\n | 'enter'\n | 'entering'\n | 'entered'\n | 'exit'\n | 'exiting'\n | 'exited';\n\nexport type UseCSSTransitionOptions = {\n enableAppear?: boolean;\n enableEnter?: boolean;\n enableExit?: boolean;\n onEnter?: (appear?: boolean) => void;\n onEntering?: (appear?: boolean) => void;\n onEntered?: (propertyName?: string, appear?: boolean) => void;\n onExit?: () => void;\n onExiting?: () => void;\n onExited?: (propertyName?: string) => void;\n};\n\nexport type UseCSSTransition<Ref extends Element = Element> = [\n state: UseCSSTransitionState,\n {\n ref: React.RefObject<Ref | null>;\n onTransitionEnd?: TransitionEventHandler;\n },\n];\n\nconst TRANSITION_FALLBACK_DELAY = 100;\n\n/**\n * Хук основан на компоненте `CSSTransition` из библиотеки `react-transition-group`.\n *\n * @link https://reactcommunity.org/react-transition-group/css-transition\n *\n * @private\n */\nexport const useCSSTransition = <Ref extends Element = Element>(\n inProp?: boolean,\n {\n enableAppear = false,\n enableEnter = true,\n enableExit = true,\n onEnter: onEnterProp,\n onEntering: onEnteringProp,\n onEntered: onEnteredProp,\n onExit: onExitProp,\n onExiting: onExitingProp,\n onExited: onExitedProp,\n }: UseCSSTransitionOptions = {},\n): UseCSSTransition<Ref> => {\n const onEnter = useStableCallback(onEnterProp || noop);\n const onEntering = useStableCallback(onEnteringProp || noop);\n const onEntered = useStableCallback(onEnteredProp || noop);\n const onExit = useStableCallback(onExitProp || noop);\n const onExiting = useStableCallback(onExitingProp || noop);\n const onExited = useStableCallback(onExitedProp || noop);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const ref = useRef<Ref | null>(null);\n const [state, setState] = useState<UseCSSTransitionState>(() => {\n if (!inProp) {\n return 'exited';\n }\n\n if (enableAppear) {\n onEnter(true);\n return 'appear';\n }\n\n return 'entered';\n });\n\n const clearTimer = () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n\n useIsomorphicLayoutEffect(\n function updateState() {\n if (inProp) {\n switch (state) {\n case 'appear':\n forceReflowForFixNewMountedElement(ref.current);\n setState('appearing');\n onEntering(true);\n break;\n case 'enter':\n forceReflowForFixNewMountedElement(ref.current);\n setState('entering');\n onEntering();\n break;\n case 'exiting':\n if (enableEnter) {\n setState('entering');\n onEntering();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n case 'exited':\n if (enableEnter) {\n setState('enter');\n onEnter();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n }\n } else {\n switch (state) {\n case 'exit':\n forceReflowForFixNewMountedElement(ref.current);\n setState('exiting');\n onExiting();\n break;\n case 'appearing':\n case 'entering':\n if (enableExit) {\n setState('exiting');\n onExiting();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n case 'appeared':\n case 'entered':\n if (enableExit) {\n setState('exit');\n onExit();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n }\n }\n },\n [\n inProp,\n\n state,\n enableAppear,\n enableEnter,\n onEnter,\n onEntering,\n onEntered,\n\n enableExit,\n onExit,\n onExiting,\n onExited,\n ],\n );\n\n const completeTransition = useStableCallback((event?: TransitionEvent) => {\n clearTimer();\n\n switch (state) {\n case 'appearing':\n setState('appeared');\n onEntered(event?.propertyName, true);\n break;\n case 'entering':\n setState('entered');\n onEntered(event?.propertyName);\n break;\n case 'exiting':\n setState('exited');\n onExited(event?.propertyName);\n break;\n }\n });\n\n useIsomorphicLayoutEffect(\n function scheduleTransitionCompletionFallback() {\n const el = ref.current;\n if (!el) {\n return;\n }\n\n if (state === 'appearing' || state === 'entering' || state === 'exiting') {\n const style = getComputedStyle(el);\n\n const parseTime = (s: string) =>\n s.includes('ms') ? parseFloat(s) : parseFloat(s) * millisecondsInSecond;\n\n const duration =\n Math.max(...style.transitionDuration.split(',').map(parseTime)) +\n Math.max(...style.transitionDelay.split(',').map(parseTime));\n\n if (duration <= 0) {\n completeTransition();\n return;\n }\n\n // fallback если onTransitionEnd не пришёл\n // TRANSITION_FALLBACK_DELAY, чтобы минимизировать вероятность,\n // что setTimeout сработает раньше onTransitionEnd\n timerRef.current = setTimeout(completeTransition, duration + TRANSITION_FALLBACK_DELAY);\n\n return clearTimer;\n }\n return;\n },\n [completeTransition, state],\n );\n\n return [\n state,\n {\n ref,\n onTransitionEnd:\n state !== 'appeared' && state !== 'entered' && state !== 'exited'\n ? completeTransition\n : undefined,\n },\n ];\n};\n"],"names":["useRef","useState","noop","useStableCallback","millisecondsInSecond","useIsomorphicLayoutEffect","forceReflowForFixNewMountedElement","node","scrollTop","TRANSITION_FALLBACK_DELAY","useCSSTransition","inProp","enableAppear","enableEnter","enableExit","onEnter","onEnterProp","onEntering","onEnteringProp","onEntered","onEnteredProp","onExit","onExitProp","onExiting","onExitingProp","onExited","onExitedProp","timerRef","ref","state","setState","clearTimer","current","clearTimeout","updateState","completeTransition","event","propertyName","scheduleTransitionCompletionFallback","el","style","getComputedStyle","parseTime","s","includes","parseFloat","duration","Math","max","transitionDuration","split","map","transitionDelay","setTimeout","onTransitionEnd","undefined"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/lib/animation/useCSSTransition.ts"],"sourcesContent":["import { type TransitionEvent, type TransitionEventHandler, useRef, useState } from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { millisecondsInSecond } from '../date';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\n/* istanbul ignore next: особенность рендера в браузере когда меняется className, в Vitest не воспроизвести */\nconst forceReflowForFixNewMountedElement = (node: Element | null) => void node?.scrollTop;\n\nexport type UseCSSTransitionState =\n | 'appear'\n | 'appearing'\n | 'appeared'\n | 'enter'\n | 'entering'\n | 'entered'\n | 'exit'\n | 'exiting'\n | 'exited';\n\nexport type UseCSSTransitionOptions = {\n enableAppear?: boolean | undefined;\n enableEnter?: boolean | undefined;\n enableExit?: boolean | undefined;\n onEnter?: ((appear?: boolean) => void) | undefined;\n onEntering?: ((appear?: boolean) => void) | undefined;\n onEntered?: ((propertyName?: string, appear?: boolean) => void) | undefined;\n onExit?: (() => void) | undefined;\n onExiting?: (() => void) | undefined;\n onExited?: ((propertyName?: string) => void) | undefined;\n};\n\nexport type UseCSSTransition<Ref extends Element = Element> = [\n state: UseCSSTransitionState,\n {\n ref: React.RefObject<Ref | null>;\n onTransitionEnd?: TransitionEventHandler | undefined;\n },\n];\n\nconst TRANSITION_FALLBACK_DELAY = 100;\n\n/**\n * Хук основан на компоненте `CSSTransition` из библиотеки `react-transition-group`.\n *\n * @link https://reactcommunity.org/react-transition-group/css-transition\n *\n * @private\n */\nexport const useCSSTransition = <Ref extends Element = Element>(\n inProp?: boolean | undefined,\n {\n enableAppear = false,\n enableEnter = true,\n enableExit = true,\n onEnter: onEnterProp,\n onEntering: onEnteringProp,\n onEntered: onEnteredProp,\n onExit: onExitProp,\n onExiting: onExitingProp,\n onExited: onExitedProp,\n }: UseCSSTransitionOptions = {},\n): UseCSSTransition<Ref> => {\n const onEnter = useStableCallback(onEnterProp || noop);\n const onEntering = useStableCallback(onEnteringProp || noop);\n const onEntered = useStableCallback(onEnteredProp || noop);\n const onExit = useStableCallback(onExitProp || noop);\n const onExiting = useStableCallback(onExitingProp || noop);\n const onExited = useStableCallback(onExitedProp || noop);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const ref = useRef<Ref | null>(null);\n const [state, setState] = useState<UseCSSTransitionState>(() => {\n if (!inProp) {\n return 'exited';\n }\n\n if (enableAppear) {\n onEnter(true);\n return 'appear';\n }\n\n return 'entered';\n });\n\n const clearTimer = () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n\n useIsomorphicLayoutEffect(\n function updateState() {\n if (inProp) {\n switch (state) {\n case 'appear':\n forceReflowForFixNewMountedElement(ref.current);\n setState('appearing');\n onEntering(true);\n break;\n case 'enter':\n forceReflowForFixNewMountedElement(ref.current);\n setState('entering');\n onEntering();\n break;\n case 'exiting':\n if (enableEnter) {\n setState('entering');\n onEntering();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n case 'exited':\n if (enableEnter) {\n setState('enter');\n onEnter();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n }\n } else {\n switch (state) {\n case 'exit':\n forceReflowForFixNewMountedElement(ref.current);\n setState('exiting');\n onExiting();\n break;\n case 'appearing':\n case 'entering':\n if (enableExit) {\n setState('exiting');\n onExiting();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n case 'appeared':\n case 'entered':\n if (enableExit) {\n setState('exit');\n onExit();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n }\n }\n },\n [\n inProp,\n\n state,\n enableAppear,\n enableEnter,\n onEnter,\n onEntering,\n onEntered,\n\n enableExit,\n onExit,\n onExiting,\n onExited,\n ],\n );\n\n const completeTransition = useStableCallback((event?: TransitionEvent) => {\n clearTimer();\n\n switch (state) {\n case 'appearing':\n setState('appeared');\n onEntered(event?.propertyName, true);\n break;\n case 'entering':\n setState('entered');\n onEntered(event?.propertyName);\n break;\n case 'exiting':\n setState('exited');\n onExited(event?.propertyName);\n break;\n }\n });\n\n useIsomorphicLayoutEffect(\n function scheduleTransitionCompletionFallback() {\n const el = ref.current;\n if (!el) {\n return;\n }\n\n if (state === 'appearing' || state === 'entering' || state === 'exiting') {\n const style = getComputedStyle(el);\n\n const parseTime = (s: string) =>\n s.includes('ms') ? parseFloat(s) : parseFloat(s) * millisecondsInSecond;\n\n const duration =\n Math.max(...style.transitionDuration.split(',').map(parseTime)) +\n Math.max(...style.transitionDelay.split(',').map(parseTime));\n\n if (duration <= 0) {\n // Даже для нулевой длительности завершаем переход асинхронно, чтобы\n // промежуточные состояния были наблюдаемы и не возникали sync-гонки с unmount.\n timerRef.current = setTimeout(completeTransition, 0);\n return clearTimer;\n }\n\n // fallback если onTransitionEnd не пришёл\n // TRANSITION_FALLBACK_DELAY, чтобы минимизировать вероятность,\n // что setTimeout сработает раньше onTransitionEnd\n timerRef.current = setTimeout(completeTransition, duration + TRANSITION_FALLBACK_DELAY);\n\n return clearTimer;\n }\n return;\n },\n [completeTransition, state],\n );\n\n return [\n state,\n {\n ref,\n onTransitionEnd:\n state !== 'appeared' && state !== 'entered' && state !== 'exited'\n ? completeTransition\n : undefined,\n },\n ];\n};\n"],"names":["useRef","useState","noop","useStableCallback","millisecondsInSecond","useIsomorphicLayoutEffect","forceReflowForFixNewMountedElement","node","scrollTop","TRANSITION_FALLBACK_DELAY","useCSSTransition","inProp","enableAppear","enableEnter","enableExit","onEnter","onEnterProp","onEntering","onEnteringProp","onEntered","onEnteredProp","onExit","onExitProp","onExiting","onExitingProp","onExited","onExitedProp","timerRef","ref","state","setState","clearTimer","current","clearTimeout","updateState","completeTransition","event","propertyName","scheduleTransitionCompletionFallback","el","style","getComputedStyle","parseTime","s","includes","parseFloat","duration","Math","max","transitionDuration","split","map","transitionDelay","setTimeout","onTransitionEnd","undefined"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useReducedMotion.d.ts","sourceRoot":"","sources":["../../../src/lib/animation/useReducedMotion.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,yBAAyB,gDAAgD,CAAC;AAEvF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAO,OAAO,GAAG,SAsB7C,CAAC"}
1
+ {"version":3,"file":"useReducedMotion.d.ts","sourceRoot":"","sources":["../../../src/lib/animation/useReducedMotion.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,gDAAgD,CAAC;AAEvF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAO,OAAO,GAAG,SAE7C,CAAC"}
@@ -1,6 +1,4 @@
1
- /* eslint-disable no-restricted-properties */ import * as React from "react";
2
- import { useDOM } from "../dom.js";
3
- import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect.js";
1
+ import { useMediaQueryMatches } from "../../hooks/useMediaQueryMatch.js";
4
2
  export const REDUCE_MOTION_MEDIA_QUERY = 'screen and (prefers-reduced-motion: reduce)';
5
3
  /**
6
4
  * Хук для отслеживания предпочтения пользователя в уменьшении анимации.
@@ -8,23 +6,7 @@ export const REDUCE_MOTION_MEDIA_QUERY = 'screen and (prefers-reduced-motion: re
8
6
  * @returns {boolean | undefined} Возвращает `true`, если пользователь предпочитает уменьшенную анимацию,
9
7
  * `false` - если нет, и `undefined` во время серверного рендеринга или во время первого рендеринга на клиенте.
10
8
  */ export const useReducedMotion = ()=>{
11
- const { window } = useDOM();
12
- const [reducedMotion, setReducedMotion] = React.useState(undefined);
13
- useIsomorphicLayoutEffect(()=>{
14
- /* istanbul ignore if: невозможный кейс (в SSR вызова этой функции не будет) */ if (!window) {
15
- return;
16
- }
17
- const match = window.matchMedia(REDUCE_MOTION_MEDIA_QUERY);
18
- setReducedMotion(match.matches);
19
- /* istanbul ignore next: на текущий момент, покрытие данного кейса неинтересно */ const handleMediaQueryChange = (event)=>{
20
- /* istanbul ignore next */ setReducedMotion(event.matches);
21
- };
22
- match.addEventListener('change', handleMediaQueryChange);
23
- return ()=>match.removeEventListener('change', handleMediaQueryChange);
24
- }, [
25
- window
26
- ]);
27
- return reducedMotion;
9
+ return useMediaQueryMatches(REDUCE_MOTION_MEDIA_QUERY);
28
10
  };
29
11
 
30
12
  //# sourceMappingURL=useReducedMotion.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/animation/useReducedMotion.ts"],"sourcesContent":["/* eslint-disable no-restricted-properties */\nimport * as React from 'react';\nimport { useDOM } from '../dom';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\nexport const REDUCE_MOTION_MEDIA_QUERY = 'screen and (prefers-reduced-motion: reduce)';\n\n/**\n * Хук для отслеживания предпочтения пользователя в уменьшении анимации.\n *\n * @returns {boolean | undefined} Возвращает `true`, если пользователь предпочитает уменьшенную анимацию,\n * `false` - если нет, и `undefined` во время серверного рендеринга или во время первого рендеринга на клиенте.\n */\nexport const useReducedMotion = (): boolean | undefined => {\n const { window } = useDOM();\n\n const [reducedMotion, setReducedMotion] = React.useState<boolean | undefined>(undefined);\n\n useIsomorphicLayoutEffect(() => {\n /* istanbul ignore if: невозможный кейс (в SSR вызова этой функции не будет) */\n if (!window) {\n return;\n }\n const match = window.matchMedia(REDUCE_MOTION_MEDIA_QUERY);\n setReducedMotion(match.matches);\n /* istanbul ignore next: на текущий момент, покрытие данного кейса неинтересно */\n const handleMediaQueryChange = (event: MediaQueryListEvent) => {\n /* istanbul ignore next */\n setReducedMotion(event.matches);\n };\n match.addEventListener('change', handleMediaQueryChange);\n return () => match.removeEventListener('change', handleMediaQueryChange);\n }, [window]);\n\n return reducedMotion;\n};\n"],"names":["React","useDOM","useIsomorphicLayoutEffect","REDUCE_MOTION_MEDIA_QUERY","useReducedMotion","window","reducedMotion","setReducedMotion","useState","undefined","match","matchMedia","matches","handleMediaQueryChange","event","addEventListener","removeEventListener"],"mappings":"AAAA,2CAA2C,GAC3C,YAAYA,WAAW,QAAQ;AAC/B,SAASC,MAAM,QAAQ,YAAS;AAChC,SAASC,yBAAyB,QAAQ,kCAA+B;AAEzE,OAAO,MAAMC,4BAA4B,8CAA8C;AAEvF;;;;;CAKC,GACD,OAAO,MAAMC,mBAAmB;IAC9B,MAAM,EAAEC,MAAM,EAAE,GAAGJ;IAEnB,MAAM,CAACK,eAAeC,iBAAiB,GAAGP,MAAMQ,QAAQ,CAAsBC;IAE9EP,0BAA0B;QACxB,6EAA6E,GAC7E,IAAI,CAACG,QAAQ;YACX;QACF;QACA,MAAMK,QAAQL,OAAOM,UAAU,CAACR;QAChCI,iBAAiBG,MAAME,OAAO;QAC9B,gFAAgF,GAChF,MAAMC,yBAAyB,CAACC;YAC9B,wBAAwB,GACxBP,iBAAiBO,MAAMF,OAAO;QAChC;QACAF,MAAMK,gBAAgB,CAAC,UAAUF;QACjC,OAAO,IAAMH,MAAMM,mBAAmB,CAAC,UAAUH;IACnD,GAAG;QAACR;KAAO;IAEX,OAAOC;AACT,EAAE"}
1
+ {"version":3,"sources":["../../../src/lib/animation/useReducedMotion.ts"],"sourcesContent":["import { useMediaQueryMatches } from '../../hooks/useMediaQueryMatch';\n\nexport const REDUCE_MOTION_MEDIA_QUERY = 'screen and (prefers-reduced-motion: reduce)';\n\n/**\n * Хук для отслеживания предпочтения пользователя в уменьшении анимации.\n *\n * @returns {boolean | undefined} Возвращает `true`, если пользователь предпочитает уменьшенную анимацию,\n * `false` - если нет, и `undefined` во время серверного рендеринга или во время первого рендеринга на клиенте.\n */\nexport const useReducedMotion = (): boolean | undefined => {\n return useMediaQueryMatches(REDUCE_MOTION_MEDIA_QUERY);\n};\n"],"names":["useMediaQueryMatches","REDUCE_MOTION_MEDIA_QUERY","useReducedMotion"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,oCAAiC;AAEtE,OAAO,MAAMC,4BAA4B,8CAA8C;AAEvF;;;;;CAKC,GACD,OAAO,MAAMC,mBAAmB;IAC9B,OAAOF,qBAAqBC;AAC9B,EAAE"}
@@ -23,15 +23,15 @@ export declare const isLastDay: (day: Date, dayOfWeek: number) => boolean;
23
23
  * Возвращает дату, ограниченную `min` и/или `max` значениями
24
24
  */
25
25
  export declare function clamp(day: Date, options?: {
26
- min?: Date;
27
- max?: Date;
26
+ min?: Date | undefined;
27
+ max?: Date | undefined;
28
28
  }): Date;
29
29
  /**
30
30
  * Позволяет определить удовлетворяет ли исходная дата заданным ограничения `min` и/или `max`
31
31
  */
32
32
  export declare function isDayMinMaxRestricted(day: Date, options?: {
33
- min?: Date;
34
- max?: Date;
35
- withTime?: boolean;
33
+ min?: Date | undefined;
34
+ max?: Date | undefined;
35
+ withTime?: boolean | undefined;
36
36
  }): boolean;
37
37
  //# sourceMappingURL=calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/lib/calendar.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkBxD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,QAAQ,GACnB,aAAa,MAAM,EACnB,OAAO,MAAM,KACZ,KAAK,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAcA,CAAC;AAQF,eAAO,MAAM,SAAS,GACpB,SAAS,MAAM,KACd,KAAK,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAeA,CAAC;AAcF,eAAO,MAAM,YAAY,GACvB,KAAK,IAAI,EACT,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EACvC,SAAS,MAAM,KACd,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOvC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,UAAU,EASvC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,OAAO,eAAe,EAAE,MAAM,CAAC,KAAG,IA+BzF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,UAAU,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAG,IAAI,EAAE,EAoBxF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,IAAI,IAAI,EAAE,OAAO,IAAI,GAAG,IAAI,KAAG,IAS3D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,IAAI,EAAE,WAAW,MAAM,KAAG,OAClB,CAAC;AAEzC,eAAO,MAAM,SAAS,GAAI,KAAK,IAAI,EAAE,WAAW,MAAM,KAAG,OACf,CAAC;AAE3C;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GAAG,IAAI,CAS/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,EACT,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3D,OAAO,CAMT"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/lib/calendar.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkBxD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,eAAO,MAAM,QAAQ,GACnB,aAAa,MAAM,EACnB,OAAO,MAAM,KACZ,KAAK,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAcA,CAAC;AAQF,eAAO,MAAM,SAAS,GACpB,SAAS,MAAM,KACd,KAAK,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAeA,CAAC;AAcF,eAAO,MAAM,YAAY,GACvB,KAAK,IAAI,EACT,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EACvC,SAAS,MAAM,KACd,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOvC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,UAAU,EASvC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,IAAI,GAAG,IAAI,EAAE,MAAM,CAAC,OAAO,eAAe,EAAE,MAAM,CAAC,KAAG,IA+BzF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,UAAU,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAG,IAAI,EAAE,EAoBxF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,IAAI,IAAI,EAAE,OAAO,IAAI,GAAG,IAAI,KAAG,IAS3D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,IAAI,EAAE,WAAW,MAAM,KAAG,OAClB,CAAC;AAEzC,eAAO,MAAM,SAAS,GAAI,KAAK,IAAI,EAAE,WAAW,MAAM,KAAG,OACf,CAAC;AAE3C;;GAEG;AACH,wBAAgB,KAAK,CACnB,GAAG,EAAE,IAAI,EACT,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CAAO,GAC/D,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,EACT,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAO,GAC/F,OAAO,CAMT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/calendar.ts"],"sourcesContent":["import { isSameDate } from '@vkontakte/vkjs';\nimport { clamp as clampNumber } from '../helpers/math';\nimport { Keys, type KeysValues } from './accessibility';\nimport {\n addDays,\n addMonths,\n addWeeks,\n eachDayOfInterval,\n endOfMonth,\n endOfWeek,\n isLastDayOfMonth,\n MONDAY,\n startOfMonth,\n startOfWeek,\n subDays,\n subMonths,\n subWeeks,\n} from './date';\nimport { cacheDateTimeFormat } from './intlCache';\n\nexport const DEFAULT_MAX_YEAR = 9999;\n// 100 - из-за ограничений dayjs https://github.com/iamkun/dayjs/issues/2591\nexport const DEFAULT_MIN_YEAR = 100;\n\nexport const getYears = (\n currentYear: number,\n range: number,\n): Array<{\n value: number;\n label: string;\n}> => {\n const years: Array<{\n value: number;\n label: string;\n }> = [];\n\n const minYear = clampNumber(currentYear - range, DEFAULT_MIN_YEAR, DEFAULT_MAX_YEAR);\n const maxYear = clampNumber(currentYear + range, DEFAULT_MIN_YEAR, DEFAULT_MAX_YEAR);\n\n for (let i = minYear; i <= maxYear; i++) {\n years.push({ label: String(i).padStart(4, '0'), value: i });\n }\n\n return years;\n};\n\nconst monthLongFormatterOptions = {\n month: 'long',\n} as const;\n\nconst monthLongDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nexport const getMonths = (\n locale?: string,\n): Array<{\n value: number;\n label: string;\n}> => {\n const months: Array<{\n value: number;\n label: string;\n }> = [];\n const formatter = monthLongDateTimeFormat(locale, monthLongFormatterOptions);\n\n for (let i = 0; i < 12; i++) {\n months.push({\n label: formatter.format(new Date(2023, i, 15)),\n value: i,\n });\n }\n\n return months;\n};\n\nconst dayShortFormatterOptions = {\n weekday: 'short',\n} as const;\n\nconst dayShortDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nconst dayLongFormatterOptions = {\n weekday: 'long',\n} as const;\n\nconst dayLongDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nexport const getDaysNames = (\n now: Date,\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n locale?: string,\n): Array<{ short: string; long: string }> => {\n const shortFormatter = dayShortDateTimeFormat(locale, dayShortFormatterOptions);\n const longFormatter = dayLongDateTimeFormat(locale, dayLongFormatterOptions);\n return eachDayOfInterval(\n startOfWeek(now, { weekStartsOn }),\n endOfWeek(now, { weekStartsOn }),\n ).map((day) => ({ short: shortFormatter.format(day), long: longFormatter.format(day) }));\n};\n\nexport const NAVIGATION_KEYS: KeysValues[] = [\n Keys.ARROW_UP,\n Keys.ARROW_DOWN,\n Keys.ARROW_LEFT,\n Keys.ARROW_RIGHT,\n Keys.HOME,\n Keys.END,\n Keys.PAGE_UP,\n Keys.PAGE_DOWN,\n];\n\nexport const navigateDate = (date?: Date | null, key?: (typeof NAVIGATION_KEYS)[number]): Date => {\n let newDate = date ?? new Date();\n\n switch (key) {\n case Keys.ARROW_RIGHT:\n newDate = addDays(newDate, 1);\n break;\n case Keys.ARROW_LEFT:\n newDate = subDays(newDate, 1);\n break;\n case Keys.ARROW_UP:\n newDate = subWeeks(newDate, 1);\n break;\n case Keys.ARROW_DOWN:\n newDate = addWeeks(newDate, 1);\n break;\n case Keys.HOME:\n newDate = startOfWeek(newDate, { weekStartsOn: MONDAY });\n break;\n case Keys.END:\n newDate = endOfWeek(newDate, { weekStartsOn: MONDAY });\n break;\n case Keys.PAGE_UP:\n newDate = subMonths(newDate, 1);\n break;\n case Keys.PAGE_DOWN:\n newDate = addMonths(newDate, 1);\n break;\n }\n\n return newDate;\n};\n\nexport const getWeeks = (viewDate: Date, weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6): Date[][] => {\n const start = startOfWeek(startOfMonth(viewDate), { weekStartsOn });\n const end = endOfWeek(endOfMonth(viewDate), { weekStartsOn });\n\n let count = 0;\n let current = start;\n const nestedWeeks: Date[][] = [];\n let lastDay = null;\n while (current < end) {\n const weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n const day = current.getDay();\n if (lastDay !== day) {\n lastDay = day;\n nestedWeeks[weekNumber].push(current);\n count += 1;\n }\n current = addDays(current, 1);\n }\n return nestedWeeks;\n};\n\nexport const setTimeEqual = (to: Date, from?: Date | null): Date => {\n if (from) {\n to.setHours(from.getHours());\n to.setMinutes(from.getMinutes());\n to.setSeconds(from.getSeconds());\n to.setMilliseconds(from.getMilliseconds());\n }\n\n return to;\n};\n\nexport const isFirstDay = (day: Date, dayOfWeek: number): boolean =>\n dayOfWeek === 0 || day.getDate() === 1;\n\nexport const isLastDay = (day: Date, dayOfWeek: number): boolean =>\n dayOfWeek === 6 || isLastDayOfMonth(day);\n\n/**\n * Возвращает дату, ограниченную `min` и/или `max` значениями\n */\nexport function clamp(day: Date, options: { min?: Date; max?: Date } = {}): Date {\n const { min, max } = options;\n if (min && day < min) {\n return min;\n }\n if (max && day > max) {\n return max;\n }\n return day;\n}\n\n/**\n * Позволяет определить удовлетворяет ли исходная дата заданным ограничения `min` и/или `max`\n */\nexport function isDayMinMaxRestricted(\n day: Date,\n options: { min?: Date; max?: Date; withTime?: boolean } = {},\n): boolean {\n const { min, max, withTime = false } = options;\n if (!withTime && ((min && isSameDate(day, min)) || (max && isSameDate(day, max)))) {\n return false;\n }\n return Boolean((min && day < min) || (max && day > max));\n}\n"],"names":["isSameDate","clamp","clampNumber","Keys","addDays","addMonths","addWeeks","eachDayOfInterval","endOfMonth","endOfWeek","isLastDayOfMonth","MONDAY","startOfMonth","startOfWeek","subDays","subMonths","subWeeks","cacheDateTimeFormat","DEFAULT_MAX_YEAR","DEFAULT_MIN_YEAR","getYears","currentYear","range","years","minYear","maxYear","i","push","label","String","padStart","value","monthLongFormatterOptions","month","monthLongDateTimeFormat","getMonths","locale","months","formatter","format","Date","dayShortFormatterOptions","weekday","dayShortDateTimeFormat","dayLongFormatterOptions","dayLongDateTimeFormat","getDaysNames","now","weekStartsOn","shortFormatter","longFormatter","map","day","short","long","NAVIGATION_KEYS","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","HOME","END","PAGE_UP","PAGE_DOWN","navigateDate","date","key","newDate","getWeeks","viewDate","start","end","count","current","nestedWeeks","lastDay","weekNumber","Math","floor","getDay","setTimeEqual","to","from","setHours","getHours","setMinutes","getMinutes","setSeconds","getSeconds","setMilliseconds","getMilliseconds","isFirstDay","dayOfWeek","getDate","isLastDay","options","min","max","isDayMinMaxRestricted","withTime","Boolean"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/lib/calendar.ts"],"sourcesContent":["import { isSameDate } from '@vkontakte/vkjs';\nimport { clamp as clampNumber } from '../helpers/math';\nimport { Keys, type KeysValues } from './accessibility';\nimport {\n addDays,\n addMonths,\n addWeeks,\n eachDayOfInterval,\n endOfMonth,\n endOfWeek,\n isLastDayOfMonth,\n MONDAY,\n startOfMonth,\n startOfWeek,\n subDays,\n subMonths,\n subWeeks,\n} from './date';\nimport { cacheDateTimeFormat } from './intlCache';\n\nexport const DEFAULT_MAX_YEAR = 9999;\n// 100 - из-за ограничений dayjs https://github.com/iamkun/dayjs/issues/2591\nexport const DEFAULT_MIN_YEAR = 100;\n\nexport const getYears = (\n currentYear: number,\n range: number,\n): Array<{\n value: number;\n label: string;\n}> => {\n const years: Array<{\n value: number;\n label: string;\n }> = [];\n\n const minYear = clampNumber(currentYear - range, DEFAULT_MIN_YEAR, DEFAULT_MAX_YEAR);\n const maxYear = clampNumber(currentYear + range, DEFAULT_MIN_YEAR, DEFAULT_MAX_YEAR);\n\n for (let i = minYear; i <= maxYear; i++) {\n years.push({ label: String(i).padStart(4, '0'), value: i });\n }\n\n return years;\n};\n\nconst monthLongFormatterOptions = {\n month: 'long',\n} as const;\n\nconst monthLongDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nexport const getMonths = (\n locale?: string,\n): Array<{\n value: number;\n label: string;\n}> => {\n const months: Array<{\n value: number;\n label: string;\n }> = [];\n const formatter = monthLongDateTimeFormat(locale, monthLongFormatterOptions);\n\n for (let i = 0; i < 12; i++) {\n months.push({\n label: formatter.format(new Date(2023, i, 15)),\n value: i,\n });\n }\n\n return months;\n};\n\nconst dayShortFormatterOptions = {\n weekday: 'short',\n} as const;\n\nconst dayShortDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nconst dayLongFormatterOptions = {\n weekday: 'long',\n} as const;\n\nconst dayLongDateTimeFormat = /*#__PURE__*/ cacheDateTimeFormat();\n\nexport const getDaysNames = (\n now: Date,\n weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n locale?: string,\n): Array<{ short: string; long: string }> => {\n const shortFormatter = dayShortDateTimeFormat(locale, dayShortFormatterOptions);\n const longFormatter = dayLongDateTimeFormat(locale, dayLongFormatterOptions);\n return eachDayOfInterval(\n startOfWeek(now, { weekStartsOn }),\n endOfWeek(now, { weekStartsOn }),\n ).map((day) => ({ short: shortFormatter.format(day), long: longFormatter.format(day) }));\n};\n\nexport const NAVIGATION_KEYS: KeysValues[] = [\n Keys.ARROW_UP,\n Keys.ARROW_DOWN,\n Keys.ARROW_LEFT,\n Keys.ARROW_RIGHT,\n Keys.HOME,\n Keys.END,\n Keys.PAGE_UP,\n Keys.PAGE_DOWN,\n];\n\nexport const navigateDate = (date?: Date | null, key?: (typeof NAVIGATION_KEYS)[number]): Date => {\n let newDate = date ?? new Date();\n\n switch (key) {\n case Keys.ARROW_RIGHT:\n newDate = addDays(newDate, 1);\n break;\n case Keys.ARROW_LEFT:\n newDate = subDays(newDate, 1);\n break;\n case Keys.ARROW_UP:\n newDate = subWeeks(newDate, 1);\n break;\n case Keys.ARROW_DOWN:\n newDate = addWeeks(newDate, 1);\n break;\n case Keys.HOME:\n newDate = startOfWeek(newDate, { weekStartsOn: MONDAY });\n break;\n case Keys.END:\n newDate = endOfWeek(newDate, { weekStartsOn: MONDAY });\n break;\n case Keys.PAGE_UP:\n newDate = subMonths(newDate, 1);\n break;\n case Keys.PAGE_DOWN:\n newDate = addMonths(newDate, 1);\n break;\n }\n\n return newDate;\n};\n\nexport const getWeeks = (viewDate: Date, weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6): Date[][] => {\n const start = startOfWeek(startOfMonth(viewDate), { weekStartsOn });\n const end = endOfWeek(endOfMonth(viewDate), { weekStartsOn });\n\n let count = 0;\n let current = start;\n const nestedWeeks: Date[][] = [];\n let lastDay = null;\n while (current < end) {\n const weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n const day = current.getDay();\n if (lastDay !== day) {\n lastDay = day;\n nestedWeeks[weekNumber].push(current);\n count += 1;\n }\n current = addDays(current, 1);\n }\n return nestedWeeks;\n};\n\nexport const setTimeEqual = (to: Date, from?: Date | null): Date => {\n if (from) {\n to.setHours(from.getHours());\n to.setMinutes(from.getMinutes());\n to.setSeconds(from.getSeconds());\n to.setMilliseconds(from.getMilliseconds());\n }\n\n return to;\n};\n\nexport const isFirstDay = (day: Date, dayOfWeek: number): boolean =>\n dayOfWeek === 0 || day.getDate() === 1;\n\nexport const isLastDay = (day: Date, dayOfWeek: number): boolean =>\n dayOfWeek === 6 || isLastDayOfMonth(day);\n\n/**\n * Возвращает дату, ограниченную `min` и/или `max` значениями\n */\nexport function clamp(\n day: Date,\n options: { min?: Date | undefined; max?: Date | undefined } = {},\n): Date {\n const { min, max } = options;\n if (min && day < min) {\n return min;\n }\n if (max && day > max) {\n return max;\n }\n return day;\n}\n\n/**\n * Позволяет определить удовлетворяет ли исходная дата заданным ограничения `min` и/или `max`\n */\nexport function isDayMinMaxRestricted(\n day: Date,\n options: { min?: Date | undefined; max?: Date | undefined; withTime?: boolean | undefined } = {},\n): boolean {\n const { min, max, withTime = false } = options;\n if (!withTime && ((min && isSameDate(day, min)) || (max && isSameDate(day, max)))) {\n return false;\n }\n return Boolean((min && day < min) || (max && day > max));\n}\n"],"names":["isSameDate","clamp","clampNumber","Keys","addDays","addMonths","addWeeks","eachDayOfInterval","endOfMonth","endOfWeek","isLastDayOfMonth","MONDAY","startOfMonth","startOfWeek","subDays","subMonths","subWeeks","cacheDateTimeFormat","DEFAULT_MAX_YEAR","DEFAULT_MIN_YEAR","getYears","currentYear","range","years","minYear","maxYear","i","push","label","String","padStart","value","monthLongFormatterOptions","month","monthLongDateTimeFormat","getMonths","locale","months","formatter","format","Date","dayShortFormatterOptions","weekday","dayShortDateTimeFormat","dayLongFormatterOptions","dayLongDateTimeFormat","getDaysNames","now","weekStartsOn","shortFormatter","longFormatter","map","day","short","long","NAVIGATION_KEYS","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","HOME","END","PAGE_UP","PAGE_DOWN","navigateDate","date","key","newDate","getWeeks","viewDate","start","end","count","current","nestedWeeks","lastDay","weekNumber","Math","floor","getDay","setTimeEqual","to","from","setHours","getHours","setMinutes","getMinutes","setSeconds","getSeconds","setMilliseconds","getMilliseconds","isFirstDay","dayOfWeek","getDate","isLastDay","options","min","max","isDayMinMaxRestricted","withTime","Boolean"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  export declare function parse(input: string, format: string, referenceDate?: Date): Date;
2
- export declare const convertDateToTimeZone: (date?: Date | null, timezone?: string) => Date | undefined | null;
2
+ export declare const convertDateToTimeZone: (date?: Date | null | undefined, timezone?: string | undefined) => Date | undefined | null;
3
3
  export declare const convertDateFromTimeZone: (date: Date | null, timezone?: string) => Date | null;
4
4
  export type CreateDateInTimeZoneOverrides = {
5
- year?: number;
6
- month?: number;
7
- date?: number;
8
- hours?: number;
9
- minutes?: number;
10
- seconds?: number;
11
- milliseconds?: number;
5
+ year?: number | undefined;
6
+ month?: number | undefined;
7
+ date?: number | undefined;
8
+ hours?: number | undefined;
9
+ minutes?: number | undefined;
10
+ seconds?: number | undefined;
11
+ milliseconds?: number | undefined;
12
12
  };
13
13
  export declare function createDateInTimeZone(baseDate: Date, timezone?: string, overrides?: CreateDateInTimeZoneOverrides): Date;
14
14
  export declare const dateFormatter: Intl.DateTimeFormat;
@@ -26,7 +26,7 @@ export declare function startOfMonth(date: Date): Date;
26
26
  */
27
27
  export declare function endOfMonth(date: Date): Date;
28
28
  type WeekOptions = {
29
- weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
29
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;
30
30
  };
31
31
  export declare const MONDAY = 1;
32
32
  /**
@@ -51,7 +51,7 @@ export declare function startOfTomorrow(): Date;
51
51
  */
52
52
  export declare function startOfMinute(date: Date): Date;
53
53
  export declare function eachDayOfInterval(startDate: Date, endDate: Date, { step }?: {
54
- step?: number;
54
+ step?: number | undefined;
55
55
  }): Date[];
56
56
  /**
57
57
  * Проверяет, что переданные даты относятся к одному и тому же месяцу
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/lib/date.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/lib/date.ts"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAE,IAAiB,GAAG,IAAI,CA8G3F;AAED,eAAO,MAAM,qBAAqB,GAChC,OAAO,IAAI,GAAG,IAAI,GAAG,SAAS,EAC9B,WAAW,MAAM,GAAG,SAAS,KAC5B,IAAI,GAAG,SAAS,GAAG,IAQrB,CAAC;AAIF,eAAO,MAAM,uBAAuB,GAAI,MAAM,IAAI,GAAG,IAAI,EAAE,WAAW,MAAM,KAAG,IAAI,GAAG,IAUrF,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,IAAI,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,6BAA6B,GACxC,IAAI,CAaN;AASD,eAAO,MAAM,aAAa,qBAA8D,CAAC;AAEzF,cAAM,cAAe,SAAQ,IAAI,CAAC,cAAc;;IAS9C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM;CAGrC;AAGD,eAAO,MAAM,iBAAiB,gBAAqC,CAAC;AAEpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAK7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAM3C;AAED,KAAK,WAAW,GAAG;IAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAE5E,eAAO,MAAM,MAAM,IAAI,CAAC;AAExB;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,YAAqB,EAAE,GAAE,WAAgB,GAAG,IAAI,CAQzF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,YAAqB,EAAE,GAAE,WAAgB,GAAG,IAAI,CAQvF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAIzC;AAED,wBAAgB,eAAe,SAO9B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI9C;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,EACb,EAAE,IAAQ,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GAC/C,IAAI,EAAE,CAuBR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAEvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,WAE1C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAIlE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,WAEjC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,WAKrC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CASxD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAmB1D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAItD;AAUD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYxD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI5D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/date.ts"],"sourcesContent":["import { isSameDate } from '@vkontakte/vkjs';\nimport { TZDateMini } from '@vkontakte/vkui-date-fns-tz';\n\nexport function parse(input: string, format: string, referenceDate: Date = new Date()): Date {\n const match2 = /^\\d\\d/; // 00 - 99\n const match4 = /^\\d{4}/; // 0000 - 9999\n\n const entries: Array<[string, RegExp, (val: string) => [string, number, boolean]]> = [\n ['yyyy', match4, (val) => ['Y', +val, true]],\n [\n 'MM',\n match2,\n (val) => {\n const numVal = +val;\n const okay = numVal > 0 && numVal <= 12;\n\n return ['M', numVal - 1, okay];\n },\n ],\n ['dd', match2, (val) => ['D', +val, true]],\n [\n 'HH',\n match2,\n (val) => {\n const numVal = parseInt(val, 10);\n const okay = numVal >= 0 && numVal < 24;\n\n return ['h', numVal, okay];\n },\n ],\n [\n 'mm',\n match2,\n (val) => {\n const numVal = parseInt(val, 10);\n const okay = numVal >= 0 && numVal < 60;\n\n return ['m', numVal, okay];\n },\n ],\n ];\n\n const superRegExp = new RegExp(entries.map((item) => item[0]).join('|'), 'g');\n\n const store: {\n [key: string]: number;\n } = {\n y: referenceDate.getFullYear(),\n M: referenceDate.getMonth(),\n d: referenceDate.getDate(),\n h: referenceDate.getHours(),\n m: referenceDate.getMinutes(),\n s: referenceDate.getSeconds(),\n ms: referenceDate.getMilliseconds(),\n };\n\n let prevInputIndex = 0;\n let lastNonFormatting = '';\n let lastFormatIndex = 0;\n let found = false;\n\n while (true) {\n const match = superRegExp.exec(format);\n\n if (!match) {\n break;\n }\n\n const length = match[0].length;\n const atIndex = superRegExp.lastIndex - length;\n\n const item = entries.find((item) => item[0] === match[0])!;\n\n lastNonFormatting = format.slice(lastFormatIndex, atIndex);\n lastFormatIndex = superRegExp.lastIndex;\n\n if (\n input.slice(prevInputIndex, prevInputIndex + lastNonFormatting.length) !== lastNonFormatting\n ) {\n return new Date('');\n }\n\n const value = input.slice(prevInputIndex + lastNonFormatting.length).match(item[1]);\n\n if (!value) {\n return new Date('');\n }\n\n prevInputIndex = prevInputIndex + lastNonFormatting.length + value[0].length;\n\n const [key, newValue, okay] = item[2](value[0]);\n\n if (!okay) {\n return new Date('');\n }\n\n store[key] = newValue;\n found = true;\n }\n\n if (!found) {\n return new Date('');\n }\n\n const date = new Date(store.Y, store.M, store.D, store.h, store.m, store.s, store.ms);\n\n // Since days of months are dynamic, they can't be validated in entries,\n // so we check it here, in the finalized date\n if (date.getMonth() !== store.M || date.getDate() !== store.D) {\n return new Date('');\n }\n\n return date;\n}\n\nexport const convertDateToTimeZone = (\n date?: Date | null,\n timezone?: string,\n): Date | undefined | null => {\n if (!timezone) {\n return date;\n }\n if (date === null) {\n return null;\n }\n return date ? TZDateMini.tz(timezone, date) : undefined;\n};\n\nconst formatter = /*#__PURE__*/ new Intl.DateTimeFormat();\n\nexport const convertDateFromTimeZone = (date: Date | null, timezone?: string): Date | null => {\n if (!timezone) {\n return date;\n }\n if (date === null) {\n return null;\n }\n // eslint-disable-next-line new-cap\n const systemTimezone = formatter.resolvedOptions().timeZone;\n return TZDateMini.tz(systemTimezone, date);\n};\n\nexport type CreateDateInTimeZoneOverrides = {\n year?: number;\n month?: number;\n date?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n milliseconds?: number;\n};\n\nexport function createDateInTimeZone(\n baseDate: Date,\n timezone?: string,\n overrides?: CreateDateInTimeZoneOverrides,\n): Date {\n const year = overrides?.year ?? baseDate.getFullYear();\n const month = overrides?.month ?? baseDate.getMonth();\n const date = overrides?.date ?? baseDate.getDate();\n const hours = overrides?.hours ?? baseDate.getHours();\n const minutes = overrides?.minutes ?? baseDate.getMinutes();\n const seconds = overrides?.seconds ?? baseDate.getSeconds();\n const milliseconds = overrides?.milliseconds ?? baseDate.getMilliseconds();\n\n if (!timezone) {\n return new Date(year, month, date, hours, minutes, seconds, milliseconds);\n }\n return TZDateMini.tz(timezone, year, month, date, hours, minutes, seconds, milliseconds);\n}\n\nconst dateOptions: Intl.DateTimeFormatOptions = {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n};\n\n// dd.MM.yyyy\nexport const dateFormatter = /*#__PURE__*/ new Intl.DateTimeFormat('ru-RU', dateOptions);\n\nclass DateTimeFormat extends Intl.DateTimeFormat {\n constructor() {\n super('ru-RU', {\n ...dateOptions,\n hour: '2-digit',\n minute: '2-digit',\n });\n }\n\n format(date?: Date | number): string {\n return super.format(date).replace(',', '');\n }\n}\n\n// dd.MM.yyyy HH:mm\nexport const dateTimeFormatter = /*#__PURE__*/ new DateTimeFormat();\n\n/**\n * Возвращает дату начала месяца\n */\nexport function startOfMonth(date: Date): Date {\n const result = new Date(date);\n result.setDate(1);\n result.setHours(0, 0, 0, 0);\n return result;\n}\n\n/**\n * Возвращает дату конца месяца\n */\nexport function endOfMonth(date: Date): Date {\n const result = new Date(date);\n const month = result.getMonth();\n result.setFullYear(result.getFullYear(), month + 1, 0);\n result.setHours(23, 59, 59, 999);\n return result;\n}\n\ntype WeekOptions = { weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 };\n\nexport const MONDAY = 1;\n\n/**\n * Возвращает дату начала недели\n */\nexport function startOfWeek(date: Date, { weekStartsOn = MONDAY }: WeekOptions = {}): Date {\n const result = new Date(date);\n const day = result.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n result.setDate(result.getDate() - diff);\n result.setHours(0, 0, 0, 0);\n return result;\n}\n\n/**\n * Возвращает дату конца недели\n */\nexport function endOfWeek(date: Date, { weekStartsOn = MONDAY }: WeekOptions = {}): Date {\n const result = new Date(date);\n const day = result.getDay();\n const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n\n result.setDate(result.getDate() + diff);\n result.setHours(23, 59, 59, 999);\n return result;\n}\n\n/**\n * Возвращает дату начала дня\n */\nexport function startOfDay(date: Date): Date {\n const result = new Date(date);\n result.setHours(0, 0, 0, 0);\n return result;\n}\n\n/**\n * Возвращает дату конца дня\n */\nexport function endOfDay(date: Date): Date {\n const result = new Date(date);\n result.setHours(23, 59, 59, 999);\n return result;\n}\n\nexport function startOfTomorrow() {\n const date = new Date();\n const day = date.getDate();\n\n date.setDate(day + 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\n\n/**\n * Возвращает дату начала минуты\n */\nexport function startOfMinute(date: Date): Date {\n const result = new Date(date);\n result.setSeconds(0, 0);\n return result;\n}\n\nexport function eachDayOfInterval(\n startDate: Date,\n endDate: Date,\n { step = 1 }: { step?: number } = {},\n): Date[] {\n let reversed = +startDate > +endDate;\n const endTime = reversed ? +startDate : +endDate;\n const date = new Date(reversed ? endDate : startDate);\n date.setHours(0, 0, 0, 0);\n\n if (!step) {\n return [];\n }\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(new Date(date));\n date.setDate(date.getDate() + 1);\n date.setHours(0, 0, 0, 0);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n/**\n * Проверяет, что переданные даты относятся к одному и тому же месяцу\n *\n * @example\n * ```ts\n * import assert from 'node:assert';\n * import { isSameMonth } from './date.ts';\n *\n * const d1 = new Date();\n * const d2 = new Date();\n * assert.ok(isSameMonth(d1, d2));\n * ```\n */\nexport function isSameMonth(d1: Date, d2: Date): boolean {\n return d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear();\n}\n\nexport function isLastDayOfMonth(date: Date) {\n return +endOfDay(date) === +endOfMonth(date);\n}\n\nexport function isWithinInterval(date: Date, interval: [Date, Date]) {\n const [startTime, endTime] = interval.sort((a, b) => +a - +b);\n\n return date >= startTime && date <= endTime;\n}\n\nexport function isToday(date: Date) {\n return isSameDate(date, new Date());\n}\n\nexport function isYesterday(date: Date) {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n\n return isSameDate(date, yesterday);\n}\n\nexport function isMatch(input: string, format: string): boolean {\n return !isNaN(+parse(input, format));\n}\n\nexport const millisecondsInSecond = 1000;\n\nexport function addDays(date: Date, amount: number): Date {\n const result = new Date(date);\n\n if (!amount) {\n return result;\n }\n\n result.setDate(result.getDate() + amount);\n return result;\n}\n\nexport function subDays(date: Date, amount: number): Date {\n return addDays(date, -amount);\n}\n\nexport function addWeeks(date: Date, amount: number): Date {\n return addDays(date, amount * 7);\n}\n\nexport function subWeeks(date: Date, amount: number): Date {\n return addWeeks(date, -amount);\n}\n\nexport function addMonths(date: Date, amount: number): Date {\n const result = new Date(date);\n\n if (!amount) {\n return result;\n }\n\n const dayOfMonth = result.getDate();\n\n const endOfDesiredMonth = new Date(date);\n endOfDesiredMonth.setMonth(result.getMonth() + amount + 1, 0); // Конец месяца\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // Если мы уже находимся в конце месяца, то это нужная дата\n return endOfDesiredMonth;\n }\n\n result.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return result;\n}\n\nexport function subMonths(date: Date, amount: number): Date {\n return addMonths(date, -amount);\n}\n\nexport function setYear(date: Date, year: number): Date {\n const result = new Date(date);\n result.setFullYear(year);\n return result;\n}\n\nfunction getDaysInMonth(date: Date): number {\n const result = new Date(date);\n const lastDayOfMonth = new Date(result);\n lastDayOfMonth.setFullYear(result.getFullYear(), result.getMonth() + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}\n\nexport function setMonth(date: Date, month: number): Date {\n const result = new Date(date);\n const year = result.getFullYear();\n const day = result.getDate();\n\n const midMonth = new Date(date);\n midMonth.setFullYear(year, month, 15);\n midMonth.setHours(0, 0, 0, 0);\n const daysInMonth = getDaysInMonth(midMonth);\n\n result.setMonth(month, Math.min(day, daysInMonth));\n return result;\n}\n\nexport function setHours(date: Date, hours: number): Date {\n const result = new Date(date);\n result.setHours(hours);\n return result;\n}\n\nexport function setMinutes(date: Date, minutes: number): Date {\n const result = new Date(date);\n result.setMinutes(minutes);\n return result;\n}\n"],"names":["isSameDate","TZDateMini","parse","input","format","referenceDate","Date","match2","match4","entries","val","numVal","okay","parseInt","superRegExp","RegExp","map","item","join","store","y","getFullYear","M","getMonth","d","getDate","h","getHours","m","getMinutes","s","getSeconds","ms","getMilliseconds","prevInputIndex","lastNonFormatting","lastFormatIndex","found","match","exec","length","atIndex","lastIndex","find","slice","value","key","newValue","date","Y","D","convertDateToTimeZone","timezone","tz","undefined","formatter","Intl","DateTimeFormat","convertDateFromTimeZone","systemTimezone","resolvedOptions","timeZone","createDateInTimeZone","baseDate","overrides","year","month","hours","minutes","seconds","milliseconds","dateOptions","day","dateFormatter","replace","hour","minute","dateTimeFormatter","startOfMonth","result","setDate","setHours","endOfMonth","setFullYear","MONDAY","startOfWeek","weekStartsOn","getDay","diff","endOfWeek","startOfDay","endOfDay","startOfTomorrow","startOfMinute","setSeconds","eachDayOfInterval","startDate","endDate","step","reversed","endTime","dates","push","reverse","isSameMonth","d1","d2","isLastDayOfMonth","isWithinInterval","interval","startTime","sort","a","b","isToday","isYesterday","yesterday","isMatch","isNaN","millisecondsInSecond","addDays","amount","subDays","addWeeks","subWeeks","addMonths","dayOfMonth","endOfDesiredMonth","setMonth","daysInMonth","subMonths","setYear","getDaysInMonth","lastDayOfMonth","midMonth","Math","min","setMinutes"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/lib/date.ts"],"sourcesContent":["import { isSameDate } from '@vkontakte/vkjs';\nimport { TZDateMini } from '@vkontakte/vkui-date-fns-tz';\n\nexport function parse(input: string, format: string, referenceDate: Date = new Date()): Date {\n const match2 = /^\\d\\d/; // 00 - 99\n const match4 = /^\\d{4}/; // 0000 - 9999\n\n const entries: Array<[string, RegExp, (val: string) => [string, number, boolean]]> = [\n ['yyyy', match4, (val) => ['Y', +val, true]],\n [\n 'MM',\n match2,\n (val) => {\n const numVal = +val;\n const okay = numVal > 0 && numVal <= 12;\n\n return ['M', numVal - 1, okay];\n },\n ],\n ['dd', match2, (val) => ['D', +val, true]],\n [\n 'HH',\n match2,\n (val) => {\n const numVal = parseInt(val, 10);\n const okay = numVal >= 0 && numVal < 24;\n\n return ['h', numVal, okay];\n },\n ],\n [\n 'mm',\n match2,\n (val) => {\n const numVal = parseInt(val, 10);\n const okay = numVal >= 0 && numVal < 60;\n\n return ['m', numVal, okay];\n },\n ],\n ];\n\n const superRegExp = new RegExp(entries.map((item) => item[0]).join('|'), 'g');\n\n const store: {\n [key: string]: number;\n } = {\n y: referenceDate.getFullYear(),\n M: referenceDate.getMonth(),\n d: referenceDate.getDate(),\n h: referenceDate.getHours(),\n m: referenceDate.getMinutes(),\n s: referenceDate.getSeconds(),\n ms: referenceDate.getMilliseconds(),\n };\n\n let prevInputIndex = 0;\n let lastNonFormatting = '';\n let lastFormatIndex = 0;\n let found = false;\n\n while (true) {\n const match = superRegExp.exec(format);\n\n if (!match) {\n break;\n }\n\n const length = match[0].length;\n const atIndex = superRegExp.lastIndex - length;\n\n const item = entries.find((item) => item[0] === match[0])!;\n\n lastNonFormatting = format.slice(lastFormatIndex, atIndex);\n lastFormatIndex = superRegExp.lastIndex;\n\n if (\n input.slice(prevInputIndex, prevInputIndex + lastNonFormatting.length) !== lastNonFormatting\n ) {\n return new Date('');\n }\n\n const value = input.slice(prevInputIndex + lastNonFormatting.length).match(item[1]);\n\n if (!value) {\n return new Date('');\n }\n\n prevInputIndex = prevInputIndex + lastNonFormatting.length + value[0].length;\n\n const [key, newValue, okay] = item[2](value[0]);\n\n if (!okay) {\n return new Date('');\n }\n\n store[key] = newValue;\n found = true;\n }\n\n if (!found) {\n return new Date('');\n }\n\n const date = new Date(store.Y, store.M, store.D, store.h, store.m, store.s, store.ms);\n\n // Since days of months are dynamic, they can't be validated in entries,\n // so we check it here, in the finalized date\n if (date.getMonth() !== store.M || date.getDate() !== store.D) {\n return new Date('');\n }\n\n return date;\n}\n\nexport const convertDateToTimeZone = (\n date?: Date | null | undefined,\n timezone?: string | undefined,\n): Date | undefined | null => {\n if (!timezone) {\n return date;\n }\n if (date === null) {\n return null;\n }\n return date ? TZDateMini.tz(timezone, date) : undefined;\n};\n\nconst formatter = /*#__PURE__*/ new Intl.DateTimeFormat();\n\nexport const convertDateFromTimeZone = (date: Date | null, timezone?: string): Date | null => {\n if (!timezone) {\n return date;\n }\n if (date === null) {\n return null;\n }\n // eslint-disable-next-line new-cap\n const systemTimezone = formatter.resolvedOptions().timeZone;\n return TZDateMini.tz(systemTimezone, date);\n};\n\nexport type CreateDateInTimeZoneOverrides = {\n year?: number | undefined;\n month?: number | undefined;\n date?: number | undefined;\n hours?: number | undefined;\n minutes?: number | undefined;\n seconds?: number | undefined;\n milliseconds?: number | undefined;\n};\n\nexport function createDateInTimeZone(\n baseDate: Date,\n timezone?: string,\n overrides?: CreateDateInTimeZoneOverrides,\n): Date {\n const year = overrides?.year ?? baseDate.getFullYear();\n const month = overrides?.month ?? baseDate.getMonth();\n const date = overrides?.date ?? baseDate.getDate();\n const hours = overrides?.hours ?? baseDate.getHours();\n const minutes = overrides?.minutes ?? baseDate.getMinutes();\n const seconds = overrides?.seconds ?? baseDate.getSeconds();\n const milliseconds = overrides?.milliseconds ?? baseDate.getMilliseconds();\n\n if (!timezone) {\n return new Date(year, month, date, hours, minutes, seconds, milliseconds);\n }\n return TZDateMini.tz(timezone, year, month, date, hours, minutes, seconds, milliseconds);\n}\n\nconst dateOptions: Intl.DateTimeFormatOptions = {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n};\n\n// dd.MM.yyyy\nexport const dateFormatter = /*#__PURE__*/ new Intl.DateTimeFormat('ru-RU', dateOptions);\n\nclass DateTimeFormat extends Intl.DateTimeFormat {\n constructor() {\n super('ru-RU', {\n ...dateOptions,\n hour: '2-digit',\n minute: '2-digit',\n });\n }\n\n format(date?: Date | number): string {\n return super.format(date).replace(',', '');\n }\n}\n\n// dd.MM.yyyy HH:mm\nexport const dateTimeFormatter = /*#__PURE__*/ new DateTimeFormat();\n\n/**\n * Возвращает дату начала месяца\n */\nexport function startOfMonth(date: Date): Date {\n const result = new Date(date);\n result.setDate(1);\n result.setHours(0, 0, 0, 0);\n return result;\n}\n\n/**\n * Возвращает дату конца месяца\n */\nexport function endOfMonth(date: Date): Date {\n const result = new Date(date);\n const month = result.getMonth();\n result.setFullYear(result.getFullYear(), month + 1, 0);\n result.setHours(23, 59, 59, 999);\n return result;\n}\n\ntype WeekOptions = { weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined };\n\nexport const MONDAY = 1;\n\n/**\n * Возвращает дату начала недели\n */\nexport function startOfWeek(date: Date, { weekStartsOn = MONDAY }: WeekOptions = {}): Date {\n const result = new Date(date);\n const day = result.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n result.setDate(result.getDate() - diff);\n result.setHours(0, 0, 0, 0);\n return result;\n}\n\n/**\n * Возвращает дату конца недели\n */\nexport function endOfWeek(date: Date, { weekStartsOn = MONDAY }: WeekOptions = {}): Date {\n const result = new Date(date);\n const day = result.getDay();\n const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n\n result.setDate(result.getDate() + diff);\n result.setHours(23, 59, 59, 999);\n return result;\n}\n\n/**\n * Возвращает дату начала дня\n */\nexport function startOfDay(date: Date): Date {\n const result = new Date(date);\n result.setHours(0, 0, 0, 0);\n return result;\n}\n\n/**\n * Возвращает дату конца дня\n */\nexport function endOfDay(date: Date): Date {\n const result = new Date(date);\n result.setHours(23, 59, 59, 999);\n return result;\n}\n\nexport function startOfTomorrow() {\n const date = new Date();\n const day = date.getDate();\n\n date.setDate(day + 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\n\n/**\n * Возвращает дату начала минуты\n */\nexport function startOfMinute(date: Date): Date {\n const result = new Date(date);\n result.setSeconds(0, 0);\n return result;\n}\n\nexport function eachDayOfInterval(\n startDate: Date,\n endDate: Date,\n { step = 1 }: { step?: number | undefined } = {},\n): Date[] {\n let reversed = +startDate > +endDate;\n const endTime = reversed ? +startDate : +endDate;\n const date = new Date(reversed ? endDate : startDate);\n date.setHours(0, 0, 0, 0);\n\n if (!step) {\n return [];\n }\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(new Date(date));\n date.setDate(date.getDate() + 1);\n date.setHours(0, 0, 0, 0);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n/**\n * Проверяет, что переданные даты относятся к одному и тому же месяцу\n *\n * @example\n * ```ts\n * import assert from 'node:assert';\n * import { isSameMonth } from './date.ts';\n *\n * const d1 = new Date();\n * const d2 = new Date();\n * assert.ok(isSameMonth(d1, d2));\n * ```\n */\nexport function isSameMonth(d1: Date, d2: Date): boolean {\n return d1.getMonth() === d2.getMonth() && d1.getFullYear() === d2.getFullYear();\n}\n\nexport function isLastDayOfMonth(date: Date) {\n return +endOfDay(date) === +endOfMonth(date);\n}\n\nexport function isWithinInterval(date: Date, interval: [Date, Date]) {\n const [startTime, endTime] = interval.sort((a, b) => +a - +b);\n\n return date >= startTime && date <= endTime;\n}\n\nexport function isToday(date: Date) {\n return isSameDate(date, new Date());\n}\n\nexport function isYesterday(date: Date) {\n const yesterday = new Date();\n yesterday.setDate(yesterday.getDate() - 1);\n\n return isSameDate(date, yesterday);\n}\n\nexport function isMatch(input: string, format: string): boolean {\n return !isNaN(+parse(input, format));\n}\n\nexport const millisecondsInSecond = 1000;\n\nexport function addDays(date: Date, amount: number): Date {\n const result = new Date(date);\n\n if (!amount) {\n return result;\n }\n\n result.setDate(result.getDate() + amount);\n return result;\n}\n\nexport function subDays(date: Date, amount: number): Date {\n return addDays(date, -amount);\n}\n\nexport function addWeeks(date: Date, amount: number): Date {\n return addDays(date, amount * 7);\n}\n\nexport function subWeeks(date: Date, amount: number): Date {\n return addWeeks(date, -amount);\n}\n\nexport function addMonths(date: Date, amount: number): Date {\n const result = new Date(date);\n\n if (!amount) {\n return result;\n }\n\n const dayOfMonth = result.getDate();\n\n const endOfDesiredMonth = new Date(date);\n endOfDesiredMonth.setMonth(result.getMonth() + amount + 1, 0); // Конец месяца\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // Если мы уже находимся в конце месяца, то это нужная дата\n return endOfDesiredMonth;\n }\n\n result.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return result;\n}\n\nexport function subMonths(date: Date, amount: number): Date {\n return addMonths(date, -amount);\n}\n\nexport function setYear(date: Date, year: number): Date {\n const result = new Date(date);\n result.setFullYear(year);\n return result;\n}\n\nfunction getDaysInMonth(date: Date): number {\n const result = new Date(date);\n const lastDayOfMonth = new Date(result);\n lastDayOfMonth.setFullYear(result.getFullYear(), result.getMonth() + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}\n\nexport function setMonth(date: Date, month: number): Date {\n const result = new Date(date);\n const year = result.getFullYear();\n const day = result.getDate();\n\n const midMonth = new Date(date);\n midMonth.setFullYear(year, month, 15);\n midMonth.setHours(0, 0, 0, 0);\n const daysInMonth = getDaysInMonth(midMonth);\n\n result.setMonth(month, Math.min(day, daysInMonth));\n return result;\n}\n\nexport function setHours(date: Date, hours: number): Date {\n const result = new Date(date);\n result.setHours(hours);\n return result;\n}\n\nexport function setMinutes(date: Date, minutes: number): Date {\n const result = new Date(date);\n result.setMinutes(minutes);\n return result;\n}\n"],"names":["isSameDate","TZDateMini","parse","input","format","referenceDate","Date","match2","match4","entries","val","numVal","okay","parseInt","superRegExp","RegExp","map","item","join","store","y","getFullYear","M","getMonth","d","getDate","h","getHours","m","getMinutes","s","getSeconds","ms","getMilliseconds","prevInputIndex","lastNonFormatting","lastFormatIndex","found","match","exec","length","atIndex","lastIndex","find","slice","value","key","newValue","date","Y","D","convertDateToTimeZone","timezone","tz","undefined","formatter","Intl","DateTimeFormat","convertDateFromTimeZone","systemTimezone","resolvedOptions","timeZone","createDateInTimeZone","baseDate","overrides","year","month","hours","minutes","seconds","milliseconds","dateOptions","day","dateFormatter","replace","hour","minute","dateTimeFormatter","startOfMonth","result","setDate","setHours","endOfMonth","setFullYear","MONDAY","startOfWeek","weekStartsOn","getDay","diff","endOfWeek","startOfDay","endOfDay","startOfTomorrow","startOfMinute","setSeconds","eachDayOfInterval","startDate","endDate","step","reversed","endTime","dates","push","reverse","isSameMonth","d1","d2","isLastDayOfMonth","isWithinInterval","interval","startTime","sort","a","b","isToday","isYesterday","yesterday","isMatch","isNaN","millisecondsInSecond","addDays","amount","subDays","addWeeks","subWeeks","addMonths","dayOfMonth","endOfDesiredMonth","setMonth","daysInMonth","subMonths","setYear","getDaysInMonth","lastDayOfMonth","midMonth","Math","min","setMinutes"],"mappings":"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"}
package/dist/lib/dom.d.ts CHANGED
@@ -5,11 +5,11 @@ export interface DOMContextInterface {
5
5
  /**
6
6
  * @ignore
7
7
  */
8
- window?: Window;
8
+ window?: Window | undefined;
9
9
  /**
10
10
  * @ignore
11
11
  */
12
- document?: Document;
12
+ document?: Document | undefined;
13
13
  }
14
14
  export type DOMProps = DOMContextInterface;
15
15
  export declare const DOMContext: React.Context<DOMContextInterface>;
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/lib/dom.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/lib/dom.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,SAAS,EACT,aAAa,GACd,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/E,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAS3C,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,mBAAmB,CACN,CAAC;AAErD,eAAO,MAAM,MAAM,QAAO,mBAEzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,IAAI,KACzD,IAAI,IAAI,MAEV,CAAC;AAEF,eAAO,MAAM,MAAM,GACjB,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,IAAI,KACzD,IAAI,IAAI,eAEV,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,IAAI,KACzD,IAAI,IAAI,eAEV,CAAC;AAEF,wBAAgB,OAAO,CAAC,KAAK,EAC3B,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC,GAC/C,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAM5B;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAItE;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,EAA4C,CAAC;AAC1F,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAA4C,CAAC;AAC5F,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG;IAC5D,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAsBA;AAED,eAAO,MAAM,qBAAqB,GAAI,MAAM,OAAO,GAAG,MAAM,EAAE,yBAAuB,KA0B7E,OACP,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,QAAQ,OAAO,EAAE,OAAO,OAAO,KAQrE,OACP,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC;AACpF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC;AAmB/F,eAAO,MAAM,eAAe,GAAI,MAAM,OAAO,GAAG,MAAM,KAAG,MAExD,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,OAAO,GAAG,MAAM,KACrB;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE;QACL,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrB,CAAC;CAaH,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,GAAG,KAAG,WAA4C,CAAC;AAE1F,eAAO,MAAM,gCAAgC,GAAI,IAAI,OAAO,GAAG,IAAI,KAAG,OAAO,GAAG,IACpC,CAAC;AAE7C,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,GAAG,IAAI,EAAE,QAAQ,OAAO,GAAG,IAAI,KAAG,OAE1E,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAC1C;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CAiCf,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wCAAwC,GAAI,QAAQ,MAAM,KAAG,YAczE,CAAC;AAaF,eAAO,MAAM,4BAA4B,GACvC,IAAI,OAAO,GAAG,IAAI,KACjB,EAAE,IAAI,gBAAgB,GAAG,mBAAmB,GAAG,WAejD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAkB7D;AAED,eAAO,MAAM,yBAAyB,GAAI,MAAM,OAAO,YAGtD,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAMhE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/dom.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { canUseDOM } from '@vkontakte/vkjs';\nimport { rectToClientRect } from '@vkontakte/vkui-floating-ui/core';\nimport {\n getParentNode,\n getWindow,\n isElement,\n isHTMLElement,\n isLastTraversableNode,\n isOverflowElement,\n} from '@vkontakte/vkui-floating-ui/utils/dom';\n\nexport {\n getWindow,\n getNodeScroll,\n isHTMLElement,\n isElement,\n getParentNode,\n} from '@vkontakte/vkui-floating-ui/utils/dom';\n\nexport { canUseDOM, canUseEventListeners, onDOMLoaded } from '@vkontakte/vkjs';\nexport interface DOMContextInterface {\n /**\n * @ignore\n */\n window?: Window;\n /**\n * @ignore\n */\n document?: Document;\n}\n\nexport type DOMProps = DOMContextInterface;\n\n/* eslint-disable no-restricted-globals */\nconst getDOM = (): DOMContextInterface => ({\n window: canUseDOM ? window : undefined,\n document: canUseDOM ? document : undefined,\n});\n/* eslint-enable no-restricted-globals */\n\nexport const DOMContext: React.Context<DOMContextInterface> =\n React.createContext<DOMContextInterface>(getDOM());\n\nexport const useDOM = (): DOMContextInterface => {\n return React.useContext(DOMContext);\n};\n\n/**\n * В случае, если используется DOMContext, при проверке 'node instanceOf Window' – Window может быть\n * другим объектом.\n */\nexport const isWindow = (\n node: Element | Window | VisualViewport | undefined | null,\n): node is Window => {\n return node !== null && node !== undefined && 'navigator' in node;\n};\n\nexport const isBody = (\n node: Element | Window | VisualViewport | undefined | null,\n): node is HTMLBodyElement => {\n return node !== null && node !== undefined && 'tagName' in node && node.tagName === 'BODY';\n};\n\nexport const isDocumentElement = (\n node: Element | Window | VisualViewport | undefined | null,\n): node is HTMLHtmlElement => {\n return node !== null && node !== undefined && 'tagName' in node && node.tagName === 'HTML';\n};\n\nexport function withDOM<Props>(\n Component: React.ComponentType<Props & DOMProps>,\n): React.ComponentType<Props> {\n const WithDOM = (props: Props) => {\n const dom = useDOM();\n return <Component {...props} {...dom} />;\n };\n return WithDOM;\n}\n\nexport function blurActiveElement(document: Document | undefined): void {\n if (document && document.activeElement) {\n (document.activeElement as HTMLElement).blur();\n }\n}\n\nexport const TRANSFORM_DEFAULT_VALUES: string[] = ['none', 'initial', 'inherit', 'unset'];\nexport const WILL_CHANGE_DEFAULT_VALUES: string[] = ['auto', 'initial', 'inherit', 'unset'];\nexport function getTransformedParentCoords(element: Element): {\n x: number;\n y: number;\n} {\n let parentNode = element.parentNode;\n while (parentNode !== null) {\n if (isHTMLElement(parentNode)) {\n let { transform, willChange } = getComputedStyle(parentNode);\n if (transform === '') {\n transform = 'unset';\n }\n if (willChange === '') {\n willChange = 'unset';\n }\n if (\n !TRANSFORM_DEFAULT_VALUES.includes(transform) ||\n !WILL_CHANGE_DEFAULT_VALUES.includes(willChange)\n ) {\n const { x, y } = parentNode.getBoundingClientRect();\n return { x, y };\n }\n }\n parentNode = parentNode.parentNode;\n }\n return { x: 0, y: 0 };\n}\n\nexport const getBoundingClientRect = (node: Element | Window, isFixedStrategy = false) => {\n const element = isWindow(node) ? node.document.documentElement : node;\n const clientRect = element.getBoundingClientRect();\n\n if (isDocumentElement(element)) {\n /**\n * Если на странице не используется `html, body { height: 100% }` (или `height: 100vh`), то\n * `height`, полученный из `document.documentElement.getBoundingClientRect()`, будет возвращать\n * `scrollHeight`, а не `clientHeight`. Поэтому перебиваем `height` на `clientHeight`.\n */\n clientRect.height = element.clientHeight;\n }\n\n let offsetX = 0;\n let offsetY = 0;\n if (isFixedStrategy) {\n const { x, y } = getTransformedParentCoords(element);\n offsetX = x;\n offsetY = y;\n }\n\n return rectToClientRect({\n x: clientRect.left - offsetX,\n y: clientRect.top - offsetY,\n width: clientRect.width,\n height: clientRect.height,\n }) as DOMRect;\n};\n\nexport const getRelativeBoundingClientRect = (parent: Element, child: Element) => {\n const parentRect = getBoundingClientRect(parent);\n const childRect = getBoundingClientRect(child);\n return rectToClientRect({\n x: childRect.left - parentRect.left,\n y: childRect.top - parentRect.top,\n width: childRect.width,\n height: childRect.height,\n }) as DOMRect;\n};\n\n/**\n * Переписанный `getNearestOverflowAncestor` из @floating-ui/utils/dom.\n *\n * [1] добавляем ноду, на которой нужно остановить рекурсию\n * [2] document.body подменяем на window, т.к. на document.body нельзя применить скролл.\n *\n * @link https://github.com/floating-ui/floating-ui/blob/%40floating-ui/dom%401.6.3/packages/utils/src/dom.ts#L143\n */\nexport function getNearestOverflowAncestor(node: Node): HTMLElement | Window | null;\nexport function getNearestOverflowAncestor(node: Node, terminalNode: Node): HTMLElement | null;\nexport function getNearestOverflowAncestor(node: Node, terminalNode?: any): any {\n const parentNode = getParentNode(node);\n\n if (terminalNode === parentNode) {\n return null; /* [1] */\n }\n\n if (isLastTraversableNode(parentNode)) {\n return getWindow(parentNode); /* [2] */\n }\n\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n\n return getNearestOverflowAncestor(parentNode, terminalNode);\n}\n\nexport const getScrollHeight = (node: Element | Window): number => {\n return isWindow(node) ? node.document.documentElement.scrollHeight : node.scrollHeight;\n};\n\nexport const getScrollRect = (\n node: Element | Window,\n): {\n relative: DOMRect;\n edges: {\n y: [number, number];\n };\n} => {\n const window = isElement(node) ? getWindow(node) : node;\n const scrollElRect = getBoundingClientRect(node);\n\n const edgeTop = window.scrollY + scrollElRect.top;\n const edgeBottom = edgeTop + scrollElRect.height;\n const y: [number, number] = [edgeTop, edgeBottom];\n\n return {\n relative: scrollElRect,\n edges: { y },\n };\n};\n\nexport const getDocumentBody = (node?: any): HTMLElement => getWindow(node).document.body;\n\nexport const getActiveElementByAnotherElement = (el: Element | null): Element | null =>\n el ? el.ownerDocument.activeElement : null;\n\nexport const contains = (parent?: Element | null, child?: Element | null): boolean => {\n return parent && child ? parent.contains(child) : false;\n};\n\nexport const getFirstTouchEventData = (\n event: UIEvent | React.UIEvent<HTMLElement>,\n): {\n screenX: number;\n screenY: number;\n clientX: number;\n clientY: number;\n pageX: number;\n pageY: number;\n} => {\n let dataRaw = (function resolveData() {\n switch (event.type) {\n case 'touchend':\n return (event as TouchEvent).changedTouches[0];\n case 'touchstart':\n case 'touchmove':\n case 'touchcancel':\n return (event as TouchEvent).touches[0];\n case 'mousedown':\n case 'mousemove':\n case 'mouseup':\n case 'mouseleave':\n return event as MouseEvent;\n default:\n return { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0 };\n }\n })();\n /* istanbul ignore if */\n if (process.env.NODE_ENV === 'test') {\n dataRaw = dataRaw\n ? dataRaw\n : { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0 };\n }\n return {\n screenX: dataRaw.screenX || 0,\n screenY: dataRaw.screenY || 0,\n clientX: dataRaw.clientX || 0,\n clientY: dataRaw.clientY || 0,\n pageX: dataRaw.pageX || 0,\n pageY: dataRaw.pageY || 0,\n };\n};\n\n/**\n * ⚠️ В частности, необходимо для iOS 15. Начиная с этой версии в Safari добавили\n * pull-to-refresh. CSS св-во `overflow-behavior` появился только с iOS 16.\n *\n * Во вторую очередь, полезна блокированием скролла, чтобы пользователь дождался обновления\n * данных.\n */\nexport const initializeBrowserGesturePreventionEffect = (window: Window): VoidFunction => {\n const options: AddEventListenerOptions & EventListenerOptions = { passive: false };\n const handleWindowTouchMove = (event: TouchEvent) => {\n event.preventDefault();\n event.stopPropagation();\n };\n\n window.document.documentElement.classList.add('vkui--disable-overscroll-behavior'); // eslint-disable-line no-restricted-properties\n window.addEventListener('touchmove', handleWindowTouchMove, options);\n\n return function dispose() {\n window.document.documentElement.classList.remove('vkui--disable-overscroll-behavior'); // eslint-disable-line no-restricted-properties\n window.removeEventListener('touchmove', handleWindowTouchMove, options);\n };\n};\n\nconst nonTextInputTypes = {\n button: true,\n submit: true,\n reset: true,\n color: true,\n file: true,\n image: true,\n checkbox: true,\n radio: true,\n};\n\nexport const isHTMLContentEditableElement = (\n el: Element | null,\n): el is HTMLInputElement | HTMLTextAreaElement | HTMLElement => {\n if (el === null) {\n return false;\n }\n\n if (el.tagName === 'INPUT') {\n // @ts-expect-error: TS2339 за счёт `tagName` удовлетворяемся, что это `HTMLInputElement`\n return !nonTextInputTypes[el.type];\n }\n\n return (\n el.tagName === 'TEXTAREA' ||\n // eslint-disable-next-line no-restricted-properties\n el.closest('[contenteditable=true]') !== null\n );\n};\n\nexport type VisualViewport = {\n offsetTop: number;\n offsetLeft: number;\n width: number;\n height: number;\n};\n\n/**\n * Фоллбек `visualViewport` для **Safari 12**.\n */\nexport function getVisualViewport(win: Window): VisualViewport {\n const result: VisualViewport = { offsetTop: 0, offsetLeft: 0, width: 0, height: 0 };\n if (win.visualViewport) {\n const { offsetTop, offsetLeft, width, height } = win.visualViewport;\n result.offsetTop = Math.round(offsetTop);\n result.offsetLeft = offsetLeft;\n result.width = width;\n result.height = Math.round(height);\n\n return result;\n }\n\n // TODO[Safari@>=13] Удалить фоллбек\n result.offsetTop = win.pageYOffset;\n result.offsetLeft = win.pageXOffset;\n result.width = win.innerWidth; // note: вызывает reflow в отличии от visualViewport\n result.height = win.innerHeight; // note: вызывает reflow в отличии от visualViewport\n return result;\n}\n\nexport const hasSelectionWithRangeType = (node: unknown) => {\n const selection = getWindow(node).getSelection();\n return selection ? selection.type === 'Range' : false;\n};\n\nexport function isSVGElement(value: unknown): value is SVGElement {\n if (!canUseDOM) {\n return false;\n }\n\n return value instanceof SVGElement || value instanceof getWindow(value).SVGElement;\n}\n"],"names":["React","canUseDOM","rectToClientRect","getParentNode","getWindow","isElement","isHTMLElement","isLastTraversableNode","isOverflowElement","getNodeScroll","canUseEventListeners","onDOMLoaded","getDOM","window","undefined","document","DOMContext","createContext","useDOM","useContext","isWindow","node","isBody","tagName","isDocumentElement","withDOM","Component","WithDOM","props","dom","blurActiveElement","activeElement","blur","TRANSFORM_DEFAULT_VALUES","WILL_CHANGE_DEFAULT_VALUES","getTransformedParentCoords","element","parentNode","transform","willChange","getComputedStyle","includes","x","y","getBoundingClientRect","isFixedStrategy","documentElement","clientRect","height","clientHeight","offsetX","offsetY","left","top","width","getRelativeBoundingClientRect","parent","child","parentRect","childRect","getNearestOverflowAncestor","terminalNode","getScrollHeight","scrollHeight","getScrollRect","scrollElRect","edgeTop","scrollY","edgeBottom","relative","edges","getDocumentBody","body","getActiveElementByAnotherElement","el","ownerDocument","contains","getFirstTouchEventData","event","dataRaw","resolveData","type","changedTouches","touches","screenX","screenY","clientX","clientY","pageX","pageY","process","env","NODE_ENV","initializeBrowserGesturePreventionEffect","options","passive","handleWindowTouchMove","preventDefault","stopPropagation","classList","add","addEventListener","dispose","remove","removeEventListener","nonTextInputTypes","button","submit","reset","color","file","image","checkbox","radio","isHTMLContentEditableElement","closest","getVisualViewport","win","result","offsetTop","offsetLeft","visualViewport","Math","round","pageYOffset","pageXOffset","innerWidth","innerHeight","hasSelectionWithRangeType","selection","getSelection","isSVGElement","value","SVGElement"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/lib/dom.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { canUseDOM } from '@vkontakte/vkjs';\nimport { rectToClientRect } from '@vkontakte/vkui-floating-ui/core';\nimport {\n getParentNode,\n getWindow,\n isElement,\n isHTMLElement,\n isLastTraversableNode,\n isOverflowElement,\n} from '@vkontakte/vkui-floating-ui/utils/dom';\n\nexport {\n getWindow,\n getNodeScroll,\n isHTMLElement,\n isElement,\n getParentNode,\n} from '@vkontakte/vkui-floating-ui/utils/dom';\n\nexport { canUseDOM, canUseEventListeners, onDOMLoaded } from '@vkontakte/vkjs';\nexport interface DOMContextInterface {\n /**\n * @ignore\n */\n window?: Window | undefined;\n /**\n * @ignore\n */\n document?: Document | undefined;\n}\n\nexport type DOMProps = DOMContextInterface;\n\n/* eslint-disable no-restricted-globals */\nconst getDOM = (): DOMContextInterface => ({\n window: canUseDOM ? window : undefined,\n document: canUseDOM ? document : undefined,\n});\n/* eslint-enable no-restricted-globals */\n\nexport const DOMContext: React.Context<DOMContextInterface> =\n React.createContext<DOMContextInterface>(getDOM());\n\nexport const useDOM = (): DOMContextInterface => {\n return React.useContext(DOMContext);\n};\n\n/**\n * В случае, если используется DOMContext, при проверке 'node instanceOf Window' – Window может быть\n * другим объектом.\n */\nexport const isWindow = (\n node: Element | Window | VisualViewport | undefined | null,\n): node is Window => {\n return node !== null && node !== undefined && 'navigator' in node;\n};\n\nexport const isBody = (\n node: Element | Window | VisualViewport | undefined | null,\n): node is HTMLBodyElement => {\n return node !== null && node !== undefined && 'tagName' in node && node.tagName === 'BODY';\n};\n\nexport const isDocumentElement = (\n node: Element | Window | VisualViewport | undefined | null,\n): node is HTMLHtmlElement => {\n return node !== null && node !== undefined && 'tagName' in node && node.tagName === 'HTML';\n};\n\nexport function withDOM<Props>(\n Component: React.ComponentType<Props & DOMProps>,\n): React.ComponentType<Props> {\n const WithDOM = (props: Props) => {\n const dom = useDOM();\n return <Component {...props} {...dom} />;\n };\n return WithDOM;\n}\n\nexport function blurActiveElement(document: Document | undefined): void {\n if (document && document.activeElement) {\n (document.activeElement as HTMLElement).blur();\n }\n}\n\nexport const TRANSFORM_DEFAULT_VALUES: string[] = ['none', 'initial', 'inherit', 'unset'];\nexport const WILL_CHANGE_DEFAULT_VALUES: string[] = ['auto', 'initial', 'inherit', 'unset'];\nexport function getTransformedParentCoords(element: Element): {\n x: number;\n y: number;\n} {\n let parentNode = element.parentNode;\n while (parentNode !== null) {\n if (isHTMLElement(parentNode)) {\n let { transform, willChange } = getComputedStyle(parentNode);\n if (transform === '') {\n transform = 'unset';\n }\n if (willChange === '') {\n willChange = 'unset';\n }\n if (\n !TRANSFORM_DEFAULT_VALUES.includes(transform) ||\n !WILL_CHANGE_DEFAULT_VALUES.includes(willChange)\n ) {\n const { x, y } = parentNode.getBoundingClientRect();\n return { x, y };\n }\n }\n parentNode = parentNode.parentNode;\n }\n return { x: 0, y: 0 };\n}\n\nexport const getBoundingClientRect = (node: Element | Window, isFixedStrategy = false) => {\n const element = isWindow(node) ? node.document.documentElement : node;\n const clientRect = element.getBoundingClientRect();\n\n if (isDocumentElement(element)) {\n /**\n * Если на странице не используется `html, body { height: 100% }` (или `height: 100vh`), то\n * `height`, полученный из `document.documentElement.getBoundingClientRect()`, будет возвращать\n * `scrollHeight`, а не `clientHeight`. Поэтому перебиваем `height` на `clientHeight`.\n */\n clientRect.height = element.clientHeight;\n }\n\n let offsetX = 0;\n let offsetY = 0;\n if (isFixedStrategy) {\n const { x, y } = getTransformedParentCoords(element);\n offsetX = x;\n offsetY = y;\n }\n\n return rectToClientRect({\n x: clientRect.left - offsetX,\n y: clientRect.top - offsetY,\n width: clientRect.width,\n height: clientRect.height,\n }) as DOMRect;\n};\n\nexport const getRelativeBoundingClientRect = (parent: Element, child: Element) => {\n const parentRect = getBoundingClientRect(parent);\n const childRect = getBoundingClientRect(child);\n return rectToClientRect({\n x: childRect.left - parentRect.left,\n y: childRect.top - parentRect.top,\n width: childRect.width,\n height: childRect.height,\n }) as DOMRect;\n};\n\n/**\n * Переписанный `getNearestOverflowAncestor` из @floating-ui/utils/dom.\n *\n * [1] добавляем ноду, на которой нужно остановить рекурсию\n * [2] document.body подменяем на window, т.к. на document.body нельзя применить скролл.\n *\n * @link https://github.com/floating-ui/floating-ui/blob/%40floating-ui/dom%401.6.3/packages/utils/src/dom.ts#L143\n */\nexport function getNearestOverflowAncestor(node: Node): HTMLElement | Window | null;\nexport function getNearestOverflowAncestor(node: Node, terminalNode: Node): HTMLElement | null;\nexport function getNearestOverflowAncestor(node: Node, terminalNode?: any): any {\n const parentNode = getParentNode(node);\n\n if (terminalNode === parentNode) {\n return null; /* [1] */\n }\n\n if (isLastTraversableNode(parentNode)) {\n return getWindow(parentNode); /* [2] */\n }\n\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n\n return getNearestOverflowAncestor(parentNode, terminalNode);\n}\n\nexport const getScrollHeight = (node: Element | Window): number => {\n return isWindow(node) ? node.document.documentElement.scrollHeight : node.scrollHeight;\n};\n\nexport const getScrollRect = (\n node: Element | Window,\n): {\n relative: DOMRect;\n edges: {\n y: [number, number];\n };\n} => {\n const window = isElement(node) ? getWindow(node) : node;\n const scrollElRect = getBoundingClientRect(node);\n\n const edgeTop = window.scrollY + scrollElRect.top;\n const edgeBottom = edgeTop + scrollElRect.height;\n const y: [number, number] = [edgeTop, edgeBottom];\n\n return {\n relative: scrollElRect,\n edges: { y },\n };\n};\n\nexport const getDocumentBody = (node?: any): HTMLElement => getWindow(node).document.body;\n\nexport const getActiveElementByAnotherElement = (el: Element | null): Element | null =>\n el ? el.ownerDocument.activeElement : null;\n\nexport const contains = (parent?: Element | null, child?: Element | null): boolean => {\n return parent && child ? parent.contains(child) : false;\n};\n\nexport const getFirstTouchEventData = (\n event: UIEvent | React.UIEvent<HTMLElement>,\n): {\n screenX: number;\n screenY: number;\n clientX: number;\n clientY: number;\n pageX: number;\n pageY: number;\n} => {\n let dataRaw = (function resolveData() {\n switch (event.type) {\n case 'touchend':\n return (event as TouchEvent).changedTouches[0];\n case 'touchstart':\n case 'touchmove':\n case 'touchcancel':\n return (event as TouchEvent).touches[0];\n case 'mousedown':\n case 'mousemove':\n case 'mouseup':\n case 'mouseleave':\n return event as MouseEvent;\n default:\n return { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0 };\n }\n })();\n /* istanbul ignore if */\n if (process.env.NODE_ENV === 'test') {\n dataRaw = dataRaw\n ? dataRaw\n : { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0 };\n }\n return {\n screenX: dataRaw.screenX || 0,\n screenY: dataRaw.screenY || 0,\n clientX: dataRaw.clientX || 0,\n clientY: dataRaw.clientY || 0,\n pageX: dataRaw.pageX || 0,\n pageY: dataRaw.pageY || 0,\n };\n};\n\n/**\n * ⚠️ В частности, необходимо для iOS 15. Начиная с этой версии в Safari добавили\n * pull-to-refresh. CSS св-во `overflow-behavior` появился только с iOS 16.\n *\n * Во вторую очередь, полезна блокированием скролла, чтобы пользователь дождался обновления\n * данных.\n */\nexport const initializeBrowserGesturePreventionEffect = (window: Window): VoidFunction => {\n const options: AddEventListenerOptions & EventListenerOptions = { passive: false };\n const handleWindowTouchMove = (event: TouchEvent) => {\n event.preventDefault();\n event.stopPropagation();\n };\n\n window.document.documentElement.classList.add('vkui--disable-overscroll-behavior'); // eslint-disable-line no-restricted-properties\n window.addEventListener('touchmove', handleWindowTouchMove, options);\n\n return function dispose() {\n window.document.documentElement.classList.remove('vkui--disable-overscroll-behavior'); // eslint-disable-line no-restricted-properties\n window.removeEventListener('touchmove', handleWindowTouchMove, options);\n };\n};\n\nconst nonTextInputTypes = {\n button: true,\n submit: true,\n reset: true,\n color: true,\n file: true,\n image: true,\n checkbox: true,\n radio: true,\n};\n\nexport const isHTMLContentEditableElement = (\n el: Element | null,\n): el is HTMLInputElement | HTMLTextAreaElement | HTMLElement => {\n if (el === null) {\n return false;\n }\n\n if (el.tagName === 'INPUT') {\n // @ts-expect-error: TS2339 за счёт `tagName` удовлетворяемся, что это `HTMLInputElement`\n return !nonTextInputTypes[el.type];\n }\n\n return (\n el.tagName === 'TEXTAREA' ||\n // eslint-disable-next-line no-restricted-properties\n el.closest('[contenteditable=true]') !== null\n );\n};\n\nexport type VisualViewport = {\n offsetTop: number;\n offsetLeft: number;\n width: number;\n height: number;\n};\n\n/**\n * Фоллбек `visualViewport` для **Safari 12**.\n */\nexport function getVisualViewport(win: Window): VisualViewport {\n const result: VisualViewport = { offsetTop: 0, offsetLeft: 0, width: 0, height: 0 };\n if (win.visualViewport) {\n const { offsetTop, offsetLeft, width, height } = win.visualViewport;\n result.offsetTop = Math.round(offsetTop);\n result.offsetLeft = offsetLeft;\n result.width = width;\n result.height = Math.round(height);\n\n return result;\n }\n\n // TODO[Safari@>=13] Удалить фоллбек\n result.offsetTop = win.pageYOffset;\n result.offsetLeft = win.pageXOffset;\n result.width = win.innerWidth; // note: вызывает reflow в отличии от visualViewport\n result.height = win.innerHeight; // note: вызывает reflow в отличии от visualViewport\n return result;\n}\n\nexport const hasSelectionWithRangeType = (node: unknown) => {\n const selection = getWindow(node).getSelection();\n return selection ? selection.type === 'Range' : false;\n};\n\nexport function isSVGElement(value: unknown): value is SVGElement {\n if (!canUseDOM) {\n return false;\n }\n\n return value instanceof SVGElement || value instanceof getWindow(value).SVGElement;\n}\n"],"names":["React","canUseDOM","rectToClientRect","getParentNode","getWindow","isElement","isHTMLElement","isLastTraversableNode","isOverflowElement","getNodeScroll","canUseEventListeners","onDOMLoaded","getDOM","window","undefined","document","DOMContext","createContext","useDOM","useContext","isWindow","node","isBody","tagName","isDocumentElement","withDOM","Component","WithDOM","props","dom","blurActiveElement","activeElement","blur","TRANSFORM_DEFAULT_VALUES","WILL_CHANGE_DEFAULT_VALUES","getTransformedParentCoords","element","parentNode","transform","willChange","getComputedStyle","includes","x","y","getBoundingClientRect","isFixedStrategy","documentElement","clientRect","height","clientHeight","offsetX","offsetY","left","top","width","getRelativeBoundingClientRect","parent","child","parentRect","childRect","getNearestOverflowAncestor","terminalNode","getScrollHeight","scrollHeight","getScrollRect","scrollElRect","edgeTop","scrollY","edgeBottom","relative","edges","getDocumentBody","body","getActiveElementByAnotherElement","el","ownerDocument","contains","getFirstTouchEventData","event","dataRaw","resolveData","type","changedTouches","touches","screenX","screenY","clientX","clientY","pageX","pageY","process","env","NODE_ENV","initializeBrowserGesturePreventionEffect","options","passive","handleWindowTouchMove","preventDefault","stopPropagation","classList","add","addEventListener","dispose","remove","removeEventListener","nonTextInputTypes","button","submit","reset","color","file","image","checkbox","radio","isHTMLContentEditableElement","closest","getVisualViewport","win","result","offsetTop","offsetLeft","visualViewport","Math","round","pageYOffset","pageXOffset","innerWidth","innerHeight","hasSelectionWithRangeType","selection","getSelection","isSVGElement","value","SVGElement"],"mappings":"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"}
@@ -6,8 +6,8 @@ export type ConvertFloatingDataArgs = {
6
6
  strategy: FloatingPositionStrategy;
7
7
  x: UseFloatingData['x'];
8
8
  y: UseFloatingData['y'];
9
- initialWidth?: React.CSSProperties['width'] | null;
10
- middlewareData?: UseFloatingData['middlewareData'];
9
+ initialWidth?: React.CSSProperties['width'] | null | undefined;
10
+ middlewareData?: UseFloatingData['middlewareData'] | undefined;
11
11
  };
12
12
  /**
13
13
  * Note: не используем `translate3d`, чтобы в лишний раз не выносить в отдельный слой и не занимать память в GPU.
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/lib/floating/functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,EACT,iBAAiB,EACjB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,IAAI,SAAS,CAE5F;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,CAG1F;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACxB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACnD,cAAc,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uCAAuC,CAAC,EACtD,QAAQ,EACR,CAAC,EACD,CAAC,EACD,YAA4B,EAC5B,cAAc,GACf,EAAE,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAkB/C;AAED,eAAO,MAAM,8BAA8B,GACzC,gBAAgB,eAAe,CAAC,gBAAgB,CAAC,KAChD;IACD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CASX,CAAC"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/lib/floating/functions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,EACT,iBAAiB,EACjB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,IAAI,SAAS,CAE5F;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,CAG1F;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACxB,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/D,cAAc,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;CAChE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,uCAAuC,CAAC,EACtD,QAAQ,EACR,CAAC,EACD,CAAC,EACD,YAA4B,EAC5B,cAAc,GACf,EAAE,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAkB/C;AAED,eAAO,MAAM,8BAA8B,GACzC,gBAAgB,eAAe,CAAC,gBAAgB,CAAC,KAChD;IACD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CASX,CAAC"}