@vkontakte/vkui 8.0.1 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1368) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +8 -6
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +3 -0
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/AccordionIcon.d.ts +14 -0
  6. package/dist/components/Accordion/AccordionIcon.d.ts.map +1 -0
  7. package/dist/components/Accordion/AccordionIcon.js +16 -0
  8. package/dist/components/Accordion/AccordionIcon.js.map +1 -0
  9. package/dist/components/Accordion/AccordionSummary.d.ts +3 -3
  10. package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
  11. package/dist/components/Accordion/AccordionSummary.js +4 -6
  12. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  13. package/dist/components/ActionSheet/ActionSheet.d.ts +9 -9
  14. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  15. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  16. package/dist/components/ActionSheet/ActionSheetContext.d.ts +3 -3
  17. package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  18. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  19. package/dist/components/ActionSheet/types.d.ts +8 -8
  20. package/dist/components/ActionSheet/types.d.ts.map +1 -1
  21. package/dist/components/ActionSheet/types.js.map +1 -1
  22. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +15 -15
  23. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  24. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  25. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts +1 -1
  26. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts.map +1 -1
  27. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  28. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +7 -7
  29. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
  30. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  31. package/dist/components/Alert/Alert.d.ts +18 -18
  32. package/dist/components/Alert/Alert.d.ts.map +1 -1
  33. package/dist/components/Alert/Alert.js.map +1 -1
  34. package/dist/components/Alert/AlertBase.d.ts +2 -2
  35. package/dist/components/Alert/AlertBase.d.ts.map +1 -1
  36. package/dist/components/Alert/AlertBase.js.map +1 -1
  37. package/dist/components/Alert/AlertTypography.d.ts +1 -1
  38. package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
  39. package/dist/components/Alert/AlertTypography.js.map +1 -1
  40. package/dist/components/AppRoot/AppRoot.d.ts +9 -9
  41. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  42. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  43. package/dist/components/AppRoot/AppRootContext.d.ts +4 -4
  44. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  45. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  46. package/dist/components/AppRoot/AppRootPortal.d.ts +2 -2
  47. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  48. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  49. package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
  50. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  51. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  52. package/dist/components/AppRoot/types.d.ts +4 -4
  53. package/dist/components/AppRoot/types.d.ts.map +1 -1
  54. package/dist/components/AppRoot/types.js.map +1 -1
  55. package/dist/components/AspectRatio/AspectRatio.d.ts +2 -2
  56. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  57. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  58. package/dist/components/Avatar/Avatar.d.ts +2 -2
  59. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  60. package/dist/components/Avatar/Avatar.js.map +1 -1
  61. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
  62. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
  63. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  64. package/dist/components/Badge/Badge.d.ts +1 -1
  65. package/dist/components/Badge/Badge.d.ts.map +1 -1
  66. package/dist/components/Badge/Badge.js.map +1 -1
  67. package/dist/components/Banner/Banner.d.ts +12 -12
  68. package/dist/components/Banner/Banner.d.ts.map +1 -1
  69. package/dist/components/Banner/Banner.js.map +1 -1
  70. package/dist/components/Box/Box.d.ts +1 -1
  71. package/dist/components/Box/Box.d.ts.map +1 -1
  72. package/dist/components/Box/Box.js.map +1 -1
  73. package/dist/components/Button/Button.d.ts +11 -11
  74. package/dist/components/Button/Button.d.ts.map +1 -1
  75. package/dist/components/Button/Button.js +1 -1
  76. package/dist/components/Button/Button.js.map +1 -1
  77. package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -4
  78. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  79. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  80. package/dist/components/Calendar/Calendar.d.ts +17 -17
  81. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  82. package/dist/components/Calendar/Calendar.js.map +1 -1
  83. package/dist/components/CalendarDay/CalendarDay.d.ts +18 -18
  84. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  85. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  86. package/dist/components/CalendarDays/CalendarDays.d.ts +14 -14
  87. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  88. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  89. package/dist/components/CalendarHeader/CalendarHeader.d.ts +19 -19
  90. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  91. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  92. package/dist/components/CalendarRange/CalendarRange.d.ts +12 -12
  93. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  94. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  95. package/dist/components/CalendarTime/CalendarTime.d.ts +14 -14
  96. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  97. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  98. package/dist/components/CalendarTime/CalendarTimePicker.d.ts +3 -3
  99. package/dist/components/CalendarTime/CalendarTimePicker.d.ts.map +1 -1
  100. package/dist/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  101. package/dist/components/Card/Card.d.ts +1 -1
  102. package/dist/components/Card/Card.d.ts.map +1 -1
  103. package/dist/components/Card/Card.js.map +1 -1
  104. package/dist/components/CardGrid/CardGrid.d.ts +2 -2
  105. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  106. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  107. package/dist/components/CardScroll/CardScroll.d.ts +3 -3
  108. package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
  109. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  110. package/dist/components/CarouselBase/Bullets.d.ts +1 -1
  111. package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
  112. package/dist/components/CarouselBase/Bullets.js.map +1 -1
  113. package/dist/components/CarouselBase/CarouselViewPort.d.ts +1 -1
  114. package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -1
  115. package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -1
  116. package/dist/components/CarouselBase/ScrollArrows.d.ts +2 -2
  117. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  118. package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
  119. package/dist/components/CarouselBase/helpers.d.ts +4 -4
  120. package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
  121. package/dist/components/CarouselBase/helpers.js.map +1 -1
  122. package/dist/components/CarouselBase/types.d.ts +23 -23
  123. package/dist/components/CarouselBase/types.d.ts.map +1 -1
  124. package/dist/components/CarouselBase/types.js.map +1 -1
  125. package/dist/components/Cell/Cell.d.ts +8 -8
  126. package/dist/components/Cell/Cell.d.ts.map +1 -1
  127. package/dist/components/Cell/Cell.js.map +1 -1
  128. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  129. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts.map +1 -1
  130. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  131. package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -2
  132. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  133. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  134. package/dist/components/CellButton/CellButton.d.ts +16 -16
  135. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  136. package/dist/components/CellButton/CellButton.js.map +1 -1
  137. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +2 -2
  138. package/dist/components/Checkbox/Checkbox.d.ts +6 -6
  139. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  140. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  141. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +11 -11
  142. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  143. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  144. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  145. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  146. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  147. package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
  148. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  149. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  150. package/dist/components/ChipsInputBase/Chip/Chip.d.ts +9 -9
  151. package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
  152. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  153. package/dist/components/ChipsInputBase/types.d.ts +19 -19
  154. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  155. package/dist/components/ChipsInputBase/types.js.map +1 -1
  156. package/dist/components/ChipsSelect/ChipsSelect.d.ts +13 -13
  157. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  158. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  159. package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  160. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  161. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  162. package/dist/components/Clickable/Clickable.d.ts +1 -1
  163. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  164. package/dist/components/Clickable/Clickable.js.map +1 -1
  165. package/dist/components/Clickable/useState.d.ts +13 -13
  166. package/dist/components/Clickable/useState.d.ts.map +1 -1
  167. package/dist/components/Clickable/useState.js.map +1 -1
  168. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  169. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  170. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  171. package/dist/components/ContentBadge/ContentBadge.d.ts +4 -4
  172. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  173. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  174. package/dist/components/ContentCard/ContentCard.d.ts +8 -8
  175. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  176. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  177. package/dist/components/Counter/Counter.d.ts +4 -4
  178. package/dist/components/Counter/Counter.d.ts.map +1 -1
  179. package/dist/components/Counter/Counter.js.map +1 -1
  180. package/dist/components/CustomScrollView/CustomScrollView.d.ts +6 -6
  181. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  182. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  183. package/dist/components/CustomSelect/CustomSelect.d.ts +36 -27
  184. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  185. package/dist/components/CustomSelect/CustomSelect.js +2 -2
  186. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  187. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +2 -2
  188. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  189. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  190. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +9 -9
  191. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  192. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  193. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts +2 -2
  194. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts.map +1 -1
  195. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  196. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts +1 -1
  197. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts.map +1 -1
  198. package/dist/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  199. package/dist/components/CustomSelect/types.d.ts +1 -1
  200. package/dist/components/CustomSelect/types.d.ts.map +1 -1
  201. package/dist/components/CustomSelect/types.js.map +1 -1
  202. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +8 -8
  203. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  204. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  205. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +9 -9
  206. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
  207. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  208. package/dist/components/DateInput/DateInput.d.ts +23 -23
  209. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  210. package/dist/components/DateInput/DateInput.js +3 -12
  211. package/dist/components/DateInput/DateInput.js.map +1 -1
  212. package/dist/components/DateInput/hooks.d.ts +4 -4
  213. package/dist/components/DateInput/hooks.d.ts.map +1 -1
  214. package/dist/components/DateInput/hooks.js.map +1 -1
  215. package/dist/components/DateRangeInput/DateRangeInput.d.ts +25 -25
  216. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  217. package/dist/components/DateRangeInput/DateRangeInput.js +2 -11
  218. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  219. package/dist/components/DropZone/DropZone.d.ts +2 -2
  220. package/dist/components/DropZone/DropZone.d.ts.map +1 -1
  221. package/dist/components/DropZone/DropZone.js +1 -1
  222. package/dist/components/DropZone/DropZone.js.map +1 -1
  223. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.d.ts +1 -1
  224. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.d.ts.map +1 -0
  225. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +3 -3
  226. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  227. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  228. package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
  229. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  230. package/dist/components/Epic/Epic.d.ts +1 -1
  231. package/dist/components/Epic/Epic.d.ts.map +1 -1
  232. package/dist/components/Epic/Epic.js.map +1 -1
  233. package/dist/components/Epic/ScrollSaver.d.ts +1 -1
  234. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  235. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  236. package/dist/components/File/File.d.ts +4 -4
  237. package/dist/components/File/File.d.ts.map +1 -1
  238. package/dist/components/File/File.js.map +1 -1
  239. package/dist/components/FixedLayout/FixedLayout.d.ts +3 -3
  240. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  241. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  242. package/dist/components/Flex/Flex.d.ts +8 -8
  243. package/dist/components/Flex/Flex.d.ts.map +1 -1
  244. package/dist/components/Flex/Flex.js.map +1 -1
  245. package/dist/components/Flex/FlexItem/FlexItem.d.ts +1 -1
  246. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  247. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  248. package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -9
  249. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  250. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  251. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  252. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  253. package/dist/components/FocusTrap/FocusTrap.js +2 -4
  254. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  255. package/dist/components/FormField/FormField.d.ts +8 -8
  256. package/dist/components/FormField/FormField.d.ts.map +1 -1
  257. package/dist/components/FormField/FormField.js.map +1 -1
  258. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +2 -2
  259. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  260. package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  261. package/dist/components/FormItem/FormItem.d.ts +10 -10
  262. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  263. package/dist/components/FormItem/FormItem.js.map +1 -1
  264. package/dist/components/FormItem/context.d.ts +2 -2
  265. package/dist/components/FormItem/context.d.ts.map +1 -1
  266. package/dist/components/FormItem/context.js.map +1 -1
  267. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +4 -4
  268. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  269. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  270. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  271. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  272. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  273. package/dist/components/Gallery/Gallery.d.ts +2 -2
  274. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  275. package/dist/components/Gallery/Gallery.js.map +1 -1
  276. package/dist/components/Gradient/Gradient.d.ts +2 -2
  277. package/dist/components/Gradient/Gradient.d.ts.map +1 -1
  278. package/dist/components/Gradient/Gradient.js.map +1 -1
  279. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  280. package/dist/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  281. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  282. package/dist/components/Group/Group.d.ts +2 -2
  283. package/dist/components/Group/Group.d.ts.map +1 -1
  284. package/dist/components/Group/Group.js.map +1 -1
  285. package/dist/components/Group/GroupContainer.d.ts +3 -3
  286. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  287. package/dist/components/Group/GroupContainer.js.map +1 -1
  288. package/dist/components/Group/GroupExpandedContent.d.ts +1 -1
  289. package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
  290. package/dist/components/Group/GroupExpandedContent.js.map +1 -1
  291. package/dist/components/Header/Header.d.ts +11 -11
  292. package/dist/components/Header/Header.d.ts.map +1 -1
  293. package/dist/components/Header/Header.js.map +1 -1
  294. package/dist/components/HorizontalCell/HorizontalCell.d.ts +7 -7
  295. package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
  296. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  297. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +4 -4
  298. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  299. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  300. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +30 -15
  301. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  302. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -6
  303. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  304. package/dist/components/IconButton/IconButton.d.ts +1 -1
  305. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  306. package/dist/components/IconButton/IconButton.js.map +1 -1
  307. package/dist/components/Image/Image.d.ts +5 -5
  308. package/dist/components/Image/Image.d.ts.map +1 -1
  309. package/dist/components/Image/Image.js.map +1 -1
  310. package/dist/components/ImageBase/ImageBase.d.ts +17 -15
  311. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  312. package/dist/components/ImageBase/ImageBase.js +9 -5
  313. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  314. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
  315. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
  316. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  317. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +3 -3
  318. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
  319. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  320. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +3 -3
  321. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  322. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  323. package/dist/components/ImageBase/types.d.ts +3 -3
  324. package/dist/components/ImageBase/types.d.ts.map +1 -1
  325. package/dist/components/ImageBase/types.js.map +1 -1
  326. package/dist/components/Input/Input.d.ts +4 -4
  327. package/dist/components/Input/Input.d.ts.map +1 -1
  328. package/dist/components/Input/Input.js.map +1 -1
  329. package/dist/components/InputLike/InputLike.d.ts +3 -3
  330. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  331. package/dist/components/InputLike/InputLike.js.map +1 -1
  332. package/dist/components/Link/Link.d.ts +4 -4
  333. package/dist/components/Link/Link.d.ts.map +1 -1
  334. package/dist/components/Link/Link.js.map +1 -1
  335. package/dist/components/List/List.d.ts +1 -1
  336. package/dist/components/List/List.d.ts.map +1 -1
  337. package/dist/components/List/List.js.map +1 -1
  338. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +5 -5
  339. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  340. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  341. package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
  342. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  343. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  344. package/dist/components/ModalCard/types.d.ts +13 -13
  345. package/dist/components/ModalCard/types.d.ts.map +1 -1
  346. package/dist/components/ModalCard/types.js.map +1 -1
  347. package/dist/components/ModalCardBase/ModalCardBase.d.ts +14 -14
  348. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  349. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  350. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  351. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  352. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  353. package/dist/components/ModalOutlet/ModalOutlet.d.ts +3 -3
  354. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  355. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  356. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
  357. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -1
  358. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  359. package/dist/components/ModalOverlay/ModalOverlay.d.ts +7 -7
  360. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  361. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
  362. package/dist/components/ModalPage/ModalPageBase.d.ts +2 -2
  363. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  364. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  365. package/dist/components/ModalPage/ModalPageInternal.d.ts +2 -2
  366. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  367. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  368. package/dist/components/ModalPage/types.d.ts +27 -27
  369. package/dist/components/ModalPage/types.d.ts.map +1 -1
  370. package/dist/components/ModalPage/types.js.map +1 -1
  371. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +2 -2
  372. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  373. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  374. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
  375. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  376. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  377. package/dist/components/ModalRoot/types.d.ts +15 -15
  378. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  379. package/dist/components/ModalRoot/types.js.map +1 -1
  380. package/dist/components/ModalRoot/useModalRootManager.d.ts +19 -19
  381. package/dist/components/ModalRoot/useModalRootManager.d.ts.map +1 -1
  382. package/dist/components/ModalRoot/useModalRootManager.js.map +1 -1
  383. package/dist/components/NativeSelect/NativeSelect.d.ts +11 -11
  384. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  385. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  386. package/dist/components/NumberInputLike/NumberInputLike.d.ts +3 -3
  387. package/dist/components/NumberInputLike/NumberInputLike.d.ts.map +1 -1
  388. package/dist/components/NumberInputLike/NumberInputLike.js.map +1 -1
  389. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +6 -6
  390. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  391. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  392. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  393. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  394. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  395. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  396. package/dist/components/Pagination/Pagination.d.ts +19 -19
  397. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  398. package/dist/components/Pagination/Pagination.js +14 -6
  399. package/dist/components/Pagination/Pagination.js.map +1 -1
  400. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts +3 -3
  401. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  402. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  403. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +3 -3
  404. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  405. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  406. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +1 -1
  407. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  408. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  409. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +3 -3
  410. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  411. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  412. package/dist/components/Panel/Panel.d.ts +3 -3
  413. package/dist/components/Panel/Panel.d.ts.map +1 -1
  414. package/dist/components/Panel/Panel.js.map +1 -1
  415. package/dist/components/PanelHeader/PanelHeader.d.ts +8 -8
  416. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  417. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  418. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  419. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  420. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  421. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +2 -2
  422. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  423. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  424. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -3
  425. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  426. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  427. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
  428. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
  429. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  430. package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
  431. package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
  432. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  433. package/dist/components/Placeholder/Placeholder.d.ts +5 -5
  434. package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
  435. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  436. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +6 -6
  437. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  438. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  439. package/dist/components/Popover/Popover.d.ts +5 -5
  440. package/dist/components/Popover/Popover.d.ts.map +1 -1
  441. package/dist/components/Popover/Popover.js.map +1 -1
  442. package/dist/components/Popper/Popper.d.ts +4 -4
  443. package/dist/components/Popper/Popper.d.ts.map +1 -1
  444. package/dist/components/Popper/Popper.js +13 -7
  445. package/dist/components/Popper/Popper.js.map +1 -1
  446. package/dist/components/Progress/Progress.d.ts +4 -4
  447. package/dist/components/Progress/Progress.d.ts.map +1 -1
  448. package/dist/components/Progress/Progress.js.map +1 -1
  449. package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
  450. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  451. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  452. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +4 -4
  453. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  454. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  455. package/dist/components/Radio/Radio.d.ts +7 -7
  456. package/dist/components/Radio/Radio.d.ts.map +1 -1
  457. package/dist/components/Radio/Radio.js +2 -2
  458. package/dist/components/Radio/Radio.js.map +1 -1
  459. package/dist/components/Radio/RadioInput/RadioInput.d.ts +4 -4
  460. package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
  461. package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
  462. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  463. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  464. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  465. package/dist/components/Removable/Removable.d.ts +9 -9
  466. package/dist/components/Removable/Removable.d.ts.map +1 -1
  467. package/dist/components/Removable/Removable.js.map +1 -1
  468. package/dist/components/Removable/RemovableIos.d.ts +3 -3
  469. package/dist/components/Removable/RemovableIos.d.ts.map +1 -1
  470. package/dist/components/Removable/RemovableIos.js.map +1 -1
  471. package/dist/components/RichCell/RichCell.d.ts +15 -15
  472. package/dist/components/RichCell/RichCell.d.ts.map +1 -1
  473. package/dist/components/RichCell/RichCell.js.map +1 -1
  474. package/dist/components/Root/Root.d.ts +4 -4
  475. package/dist/components/Root/Root.d.ts.map +1 -1
  476. package/dist/components/Root/Root.js.map +1 -1
  477. package/dist/components/RootComponent/RootComponent.d.ts +2 -2
  478. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  479. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  480. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -1
  481. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
  482. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  483. package/dist/components/ScreenSpinner/context.d.ts +2 -2
  484. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  485. package/dist/components/ScreenSpinner/context.js.map +1 -1
  486. package/dist/components/ScreenSpinner/types.d.ts +5 -5
  487. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  488. package/dist/components/ScreenSpinner/types.js.map +1 -1
  489. package/dist/components/ScrollArrow/ScrollArrow.d.ts +10 -4
  490. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  491. package/dist/components/ScrollArrow/ScrollArrow.js +14 -4
  492. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  493. package/dist/components/Search/Search.d.ts +17 -17
  494. package/dist/components/Search/Search.d.ts.map +1 -1
  495. package/dist/components/Search/Search.js.map +1 -1
  496. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -6
  497. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  498. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  499. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  500. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  501. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  502. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  503. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  504. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  505. package/dist/components/SelectTypography/SelectTypography.d.ts +1 -1
  506. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  507. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  508. package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
  509. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
  510. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  511. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +2 -2
  512. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  513. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  514. package/dist/components/Separator/Separator.d.ts +5 -5
  515. package/dist/components/Separator/Separator.d.ts.map +1 -1
  516. package/dist/components/Separator/Separator.js.map +1 -1
  517. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +1 -1
  518. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  519. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  520. package/dist/components/SimpleCell/SimpleCell.d.ts +14 -14
  521. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  522. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  523. package/dist/components/SimpleGrid/SimpleGrid.d.ts +6 -6
  524. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  525. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  526. package/dist/components/Skeleton/Skeleton.d.ts +5 -5
  527. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  528. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  529. package/dist/components/Slider/Slider.d.ts +17 -17
  530. package/dist/components/Slider/Slider.d.ts.map +1 -1
  531. package/dist/components/Slider/Slider.js.map +1 -1
  532. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +5 -5
  533. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  534. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  535. package/dist/components/Snackbar/Snackbar.d.ts +10 -10
  536. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  537. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  538. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
  539. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts.map +1 -1
  540. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  541. package/dist/components/Snackbar/utils.d.ts +1 -1
  542. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  543. package/dist/components/Snackbar/utils.js.map +1 -1
  544. package/dist/components/Spacing/Spacing.d.ts +2 -2
  545. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  546. package/dist/components/Spacing/Spacing.js.map +1 -1
  547. package/dist/components/Spinner/Spinner.d.ts +4 -4
  548. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  549. package/dist/components/Spinner/Spinner.js.map +1 -1
  550. package/dist/components/SplitCol/SplitCol.d.ts +7 -7
  551. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  552. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  553. package/dist/components/SplitLayout/SplitLayout.d.ts +8 -8
  554. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  555. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  556. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -2
  557. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  558. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  559. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +8 -8
  560. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  561. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  562. package/dist/components/Switch/Switch.d.ts +4 -4
  563. package/dist/components/Switch/Switch.d.ts.map +1 -1
  564. package/dist/components/Switch/Switch.js.map +1 -1
  565. package/dist/components/Tabbar/Tabbar.d.ts +2 -2
  566. package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
  567. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  568. package/dist/components/TabbarItem/TabbarItem.d.ts +3 -3
  569. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  570. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  571. package/dist/components/Tabs/Tabs.d.ts +7 -7
  572. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  573. package/dist/components/Tabs/Tabs.js.map +1 -1
  574. package/dist/components/Tabs/TabsModeContext.d.ts +1 -1
  575. package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
  576. package/dist/components/Tabs/TabsModeContext.js.map +1 -1
  577. package/dist/components/TabsItem/TabsItem.d.ts +5 -5
  578. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  579. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  580. package/dist/components/Tappable/Tappable.d.ts +3 -3
  581. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  582. package/dist/components/Tappable/Tappable.js.map +1 -1
  583. package/dist/components/Tappable/state.d.ts +2 -2
  584. package/dist/components/Tappable/state.d.ts.map +1 -1
  585. package/dist/components/Tappable/state.js.map +1 -1
  586. package/dist/components/Textarea/Textarea.d.ts +6 -6
  587. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  588. package/dist/components/Textarea/Textarea.js.map +1 -1
  589. package/dist/components/ToolButton/ToolButton.d.ts +4 -4
  590. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  591. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  592. package/dist/components/Tooltip/Tooltip.d.ts +6 -6
  593. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  594. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  595. package/dist/components/TooltipBase/TooltipBase.d.ts +10 -10
  596. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  597. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  598. package/dist/components/Touch/Touch.d.ts +16 -16
  599. package/dist/components/Touch/Touch.d.ts.map +1 -1
  600. package/dist/components/Touch/Touch.js.map +1 -1
  601. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  602. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  603. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  604. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
  605. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  606. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  607. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
  608. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts.map +1 -1
  609. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  610. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  611. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  612. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  613. package/dist/components/Typography/Title/Title.d.ts +1 -1
  614. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  615. package/dist/components/Typography/Title/Title.js.map +1 -1
  616. package/dist/components/Typography/Typography.d.ts +6 -6
  617. package/dist/components/Typography/Typography.d.ts.map +1 -1
  618. package/dist/components/Typography/Typography.js.map +1 -1
  619. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +1 -1
  620. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  621. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  622. package/dist/components/UsersStack/UsersStack.d.ts +6 -6
  623. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  624. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  625. package/dist/components/View/View.d.ts +4 -4
  626. package/dist/components/View/View.d.ts.map +1 -1
  627. package/dist/components/View/View.js.map +1 -1
  628. package/dist/components/View/ViewInfinite.d.ts +12 -12
  629. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  630. package/dist/components/View/ViewInfinite.js.map +1 -1
  631. package/dist/components/WriteBar/WriteBar.d.ts +10 -10
  632. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  633. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  634. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +3 -3
  635. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
  636. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  637. package/dist/components.css +1 -1
  638. package/dist/components.css.map +1 -1
  639. package/dist/cssm/components/Accordion/Accordion.js +3 -0
  640. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  641. package/dist/cssm/components/Accordion/AccordionIcon.js +17 -0
  642. package/dist/cssm/components/Accordion/AccordionIcon.js.map +1 -0
  643. package/dist/cssm/components/Accordion/AccordionSummary.js +4 -7
  644. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  645. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  646. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  647. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  648. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  649. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  650. package/dist/cssm/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  651. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  652. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  653. package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
  654. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  655. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  656. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  657. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  658. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  659. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  660. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  661. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  662. package/dist/cssm/components/Avatar/Avatar.module.css +0 -5
  663. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  664. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  665. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  666. package/dist/cssm/components/Box/Box.js.map +1 -1
  667. package/dist/cssm/components/Button/Button.js +1 -1
  668. package/dist/cssm/components/Button/Button.js.map +1 -1
  669. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  670. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  671. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  672. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  673. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  674. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  675. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  676. package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  677. package/dist/cssm/components/Card/Card.js.map +1 -1
  678. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  679. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  680. package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
  681. package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
  682. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  683. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  684. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  685. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  686. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  687. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  688. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  689. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  690. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  691. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  692. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  693. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  694. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  695. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  696. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  697. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  698. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  699. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  700. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  701. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  702. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  703. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  704. package/dist/cssm/components/CustomSelect/CustomSelect.js +2 -2
  705. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  706. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +0 -6
  707. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  708. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  709. package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  710. package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  711. package/dist/cssm/components/CustomSelect/types.js.map +1 -1
  712. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  713. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  714. package/dist/cssm/components/DateInput/DateInput.js +3 -12
  715. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  716. package/dist/cssm/components/DateInput/hooks.js.map +1 -1
  717. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -11
  718. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  719. package/dist/cssm/components/DropZone/DropZone.js +1 -1
  720. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  721. package/dist/cssm/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  722. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  723. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  724. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  725. package/dist/cssm/components/File/File.js.map +1 -1
  726. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  727. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  728. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  729. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  730. package/dist/cssm/components/FocusTrap/FocusTrap.js +2 -4
  731. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  732. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  733. package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  734. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  735. package/dist/cssm/components/FormItem/FormItem.module.css +1 -2
  736. package/dist/cssm/components/FormItem/context.js.map +1 -1
  737. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  738. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  739. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  740. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  741. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  742. package/dist/cssm/components/Group/Group.js.map +1 -1
  743. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  744. package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
  745. package/dist/cssm/components/Header/Header.js.map +1 -1
  746. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  747. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  748. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -6
  749. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  750. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  751. package/dist/cssm/components/Image/Image.js.map +1 -1
  752. package/dist/cssm/components/ImageBase/ImageBase.js +9 -5
  753. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  754. package/dist/cssm/components/ImageBase/ImageBase.module.css +11 -3
  755. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  756. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  757. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  759. package/dist/cssm/components/Input/Input.js.map +1 -1
  760. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  761. package/dist/cssm/components/Link/Link.js.map +1 -1
  762. package/dist/cssm/components/List/List.js.map +1 -1
  763. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  764. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  765. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  766. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  767. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +0 -4
  768. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  769. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  770. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  771. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
  772. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  773. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  774. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  775. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  776. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  777. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  778. package/dist/cssm/components/ModalRoot/useModalRootManager.js.map +1 -1
  779. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  780. package/dist/cssm/components/NumberInputLike/NumberInputLike.js.map +1 -1
  781. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  782. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  783. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  784. package/dist/cssm/components/Pagination/Pagination.js +14 -6
  785. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  786. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  787. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  788. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  789. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  790. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  791. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  792. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -5
  793. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  794. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  795. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  796. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  797. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  798. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  799. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  800. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  801. package/dist/cssm/components/Popper/Popper.js +13 -7
  802. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  803. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  804. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  805. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  806. package/dist/cssm/components/Radio/Radio.js +2 -2
  807. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  808. package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
  809. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  810. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  811. package/dist/cssm/components/Removable/Removable.module.css +0 -4
  812. package/dist/cssm/components/Removable/RemovableIos.js.map +1 -1
  813. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  814. package/dist/cssm/components/Root/Root.js.map +1 -1
  815. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  816. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  817. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  818. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  819. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +14 -4
  820. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  821. package/dist/cssm/components/Search/Search.js.map +1 -1
  822. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  823. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  824. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  825. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  826. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  827. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  828. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  829. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  830. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  831. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  832. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  833. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  834. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  835. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  836. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  837. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  838. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  839. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  840. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  841. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  842. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  843. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  844. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  845. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  846. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  847. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  848. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  849. package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
  850. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  851. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  852. package/dist/cssm/components/Tappable/state.js.map +1 -1
  853. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  854. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  855. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  856. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  857. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  858. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  859. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  860. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  861. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  862. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  863. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  864. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  865. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  866. package/dist/cssm/components/View/View.js.map +1 -1
  867. package/dist/cssm/components/View/View.module.css +1 -3
  868. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  869. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  870. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  871. package/dist/cssm/helpers/math.js.map +1 -1
  872. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  873. package/dist/cssm/hooks/useAutoDetectColorScheme.js +8 -27
  874. package/dist/cssm/hooks/useAutoDetectColorScheme.js.map +1 -1
  875. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  876. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  877. package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
  878. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  879. package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
  880. package/dist/cssm/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  881. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +10 -2
  882. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  883. package/dist/cssm/hooks/useFocusVisibleClassName.js.map +1 -1
  884. package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
  885. package/dist/cssm/hooks/useMediaQueryMatch.js +25 -0
  886. package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -0
  887. package/dist/cssm/hooks/useMergeProps.js.map +1 -1
  888. package/dist/cssm/hooks/useModalManager/types.js.map +1 -1
  889. package/dist/cssm/hooks/usePagination.js.map +1 -1
  890. package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
  891. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +2 -2
  892. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  893. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  894. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  895. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +3 -3
  896. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  897. package/dist/cssm/hooks/useSnackbarManager/types.js.map +1 -1
  898. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  899. package/dist/cssm/index.js +1 -1
  900. package/dist/cssm/index.js.map +1 -1
  901. package/dist/cssm/lib/SSR.js.map +1 -1
  902. package/dist/cssm/lib/accessibility.js.map +1 -1
  903. package/dist/cssm/lib/adaptivity/functions.js +6 -0
  904. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  905. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  906. package/dist/cssm/lib/animation/useCSSTransition.js +4 -2
  907. package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
  908. package/dist/cssm/lib/animation/useReducedMotion.js +2 -20
  909. package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
  910. package/dist/cssm/lib/calendar.js.map +1 -1
  911. package/dist/cssm/lib/date.js.map +1 -1
  912. package/dist/cssm/lib/dom.js.map +1 -1
  913. package/dist/cssm/lib/floating/functions.js.map +1 -1
  914. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  915. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  916. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  917. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  918. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  919. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  920. package/dist/cssm/lib/getNavId.js.map +1 -1
  921. package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
  922. package/dist/cssm/lib/layouts/types.js.map +1 -1
  923. package/dist/cssm/lib/select.js.map +1 -1
  924. package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -1
  925. package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -1
  926. package/dist/cssm/lib/tokens/types.js.map +1 -1
  927. package/dist/cssm/lib/utils.js +3 -0
  928. package/dist/cssm/lib/utils.js.map +1 -1
  929. package/dist/cssm/types.js +4 -1
  930. package/dist/cssm/types.js.map +1 -1
  931. package/dist/helpers/math.d.ts +1 -1
  932. package/dist/helpers/math.d.ts.map +1 -1
  933. package/dist/helpers/math.js.map +1 -1
  934. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts +5 -1
  935. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts.map +1 -1
  936. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  937. package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
  938. package/dist/hooks/useAutoDetectColorScheme.js +8 -27
  939. package/dist/hooks/useAutoDetectColorScheme.js.map +1 -1
  940. package/dist/hooks/useCalendar.d.ts +1 -1
  941. package/dist/hooks/useCalendar.d.ts.map +1 -1
  942. package/dist/hooks/useCalendar.js.map +1 -1
  943. package/dist/hooks/useDateInput.d.ts +5 -5
  944. package/dist/hooks/useDateInput.d.ts.map +1 -1
  945. package/dist/hooks/useDateInput.js.map +1 -1
  946. package/dist/hooks/useDraggableWithDomApi/types.d.ts +1 -1
  947. package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  948. package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
  949. package/dist/hooks/useEnsuredControl.d.ts +4 -4
  950. package/dist/hooks/useEnsuredControl.d.ts.map +1 -1
  951. package/dist/hooks/useEnsuredControl.js.map +1 -1
  952. package/dist/hooks/useFloatingElement.d.ts +4 -4
  953. package/dist/hooks/useFloatingElement.d.ts.map +1 -1
  954. package/dist/hooks/useFloatingElement.js.map +1 -1
  955. package/dist/hooks/useFocusTrap/FocusGuard.d.ts +1 -1
  956. package/dist/hooks/useFocusTrap/FocusGuard.d.ts.map +1 -1
  957. package/dist/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  958. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +6 -10
  959. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
  960. package/dist/hooks/useFocusTrap/useFocusTrap.js +10 -2
  961. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  962. package/dist/hooks/useFocusVisibleClassName.d.ts +3 -3
  963. package/dist/hooks/useFocusVisibleClassName.d.ts.map +1 -1
  964. package/dist/hooks/useFocusVisibleClassName.js.map +1 -1
  965. package/dist/hooks/useGlobalEscKeyDown.d.ts +1 -1
  966. package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
  967. package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
  968. package/dist/hooks/useMediaQueryMatch.d.ts +6 -0
  969. package/dist/hooks/useMediaQueryMatch.d.ts.map +1 -0
  970. package/dist/hooks/useMediaQueryMatch.js +25 -0
  971. package/dist/hooks/useMediaQueryMatch.js.map +1 -0
  972. package/dist/hooks/useMergeProps.d.ts +1 -1
  973. package/dist/hooks/useMergeProps.d.ts.map +1 -1
  974. package/dist/hooks/useMergeProps.js.map +1 -1
  975. package/dist/hooks/useModalManager/types.d.ts +8 -8
  976. package/dist/hooks/useModalManager/types.d.ts.map +1 -1
  977. package/dist/hooks/useModalManager/types.js.map +1 -1
  978. package/dist/hooks/usePagination.d.ts +4 -4
  979. package/dist/hooks/usePagination.d.ts.map +1 -1
  980. package/dist/hooks/usePagination.js.map +1 -1
  981. package/dist/hooks/usePatchChildren.d.ts +1 -1
  982. package/dist/hooks/usePatchChildren.d.ts.map +1 -1
  983. package/dist/hooks/usePatchChildren.js.map +1 -1
  984. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.d.ts → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts} +1 -1
  985. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts.map +1 -0
  986. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +10 -10
  987. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  988. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.d.ts.map +1 -1
  989. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  990. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  991. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.d.ts → SnackbarsContainer/SnackbarsContainer.d.ts} +2 -2
  992. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.d.ts.map +1 -0
  993. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +10 -10
  994. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  995. package/dist/hooks/useSnackbarManager/types.d.ts +11 -11
  996. package/dist/hooks/useSnackbarManager/types.d.ts.map +1 -1
  997. package/dist/hooks/useSnackbarManager/types.js.map +1 -1
  998. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +1 -1
  999. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
  1000. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  1001. package/dist/index.d.ts +3 -2
  1002. package/dist/index.d.ts.map +1 -1
  1003. package/dist/index.js +1 -1
  1004. package/dist/index.js.map +1 -1
  1005. package/dist/lib/SSR.d.ts +4 -4
  1006. package/dist/lib/SSR.d.ts.map +1 -1
  1007. package/dist/lib/SSR.js.map +1 -1
  1008. package/dist/lib/accessibility.d.ts +1 -1
  1009. package/dist/lib/accessibility.d.ts.map +1 -1
  1010. package/dist/lib/accessibility.js.map +1 -1
  1011. package/dist/lib/adaptivity/functions.d.ts.map +1 -1
  1012. package/dist/lib/adaptivity/functions.js +6 -0
  1013. package/dist/lib/adaptivity/functions.js.map +1 -1
  1014. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts +6 -6
  1015. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  1016. package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  1017. package/dist/lib/animation/useCSSTransition.d.ts +11 -11
  1018. package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
  1019. package/dist/lib/animation/useCSSTransition.js +4 -2
  1020. package/dist/lib/animation/useCSSTransition.js.map +1 -1
  1021. package/dist/lib/animation/useReducedMotion.d.ts.map +1 -1
  1022. package/dist/lib/animation/useReducedMotion.js +2 -20
  1023. package/dist/lib/animation/useReducedMotion.js.map +1 -1
  1024. package/dist/lib/calendar.d.ts +5 -5
  1025. package/dist/lib/calendar.d.ts.map +1 -1
  1026. package/dist/lib/calendar.js.map +1 -1
  1027. package/dist/lib/date.d.ts +10 -10
  1028. package/dist/lib/date.d.ts.map +1 -1
  1029. package/dist/lib/date.js.map +1 -1
  1030. package/dist/lib/dom.d.ts +2 -2
  1031. package/dist/lib/dom.d.ts.map +1 -1
  1032. package/dist/lib/dom.js.map +1 -1
  1033. package/dist/lib/floating/functions.d.ts +2 -2
  1034. package/dist/lib/floating/functions.d.ts.map +1 -1
  1035. package/dist/lib/floating/functions.js.map +1 -1
  1036. package/dist/lib/floating/types/component.d.ts +9 -9
  1037. package/dist/lib/floating/types/component.d.ts.map +1 -1
  1038. package/dist/lib/floating/types/component.js.map +1 -1
  1039. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +14 -14
  1040. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  1041. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  1042. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  1043. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +15 -15
  1044. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  1045. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  1046. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  1047. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  1048. package/dist/lib/getNavId.d.ts +2 -2
  1049. package/dist/lib/getNavId.d.ts.map +1 -1
  1050. package/dist/lib/getNavId.js.map +1 -1
  1051. package/dist/lib/layouts/resolveLayoutProps.d.ts +6 -6
  1052. package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
  1053. package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
  1054. package/dist/lib/layouts/types.d.ts +29 -29
  1055. package/dist/lib/layouts/types.d.ts.map +1 -1
  1056. package/dist/lib/layouts/types.js.map +1 -1
  1057. package/dist/lib/select.d.ts +2 -2
  1058. package/dist/lib/select.d.ts.map +1 -1
  1059. package/dist/lib/select.js.map +1 -1
  1060. package/dist/lib/sheet/useBottomSheet.d.ts +4 -4
  1061. package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
  1062. package/dist/lib/sheet/useBottomSheet.js.map +1 -1
  1063. package/dist/lib/tokens/TokensClassProvider.js.map +1 -1
  1064. package/dist/lib/tokens/types.d.ts +2 -2
  1065. package/dist/lib/tokens/types.d.ts.map +1 -1
  1066. package/dist/lib/tokens/types.js.map +1 -1
  1067. package/dist/lib/utils.d.ts +3 -3
  1068. package/dist/lib/utils.d.ts.map +1 -1
  1069. package/dist/lib/utils.js +3 -0
  1070. package/dist/lib/utils.js.map +1 -1
  1071. package/dist/types.d.ts +17 -10
  1072. package/dist/types.d.ts.map +1 -1
  1073. package/dist/types.js +4 -1
  1074. package/dist/types.js.map +1 -1
  1075. package/dist/vkui.css +1 -1
  1076. package/dist/vkui.css.map +1 -1
  1077. package/package.json +3 -3
  1078. package/src/components/Accordion/Accordion.tsx +10 -6
  1079. package/src/components/Accordion/AccordionIcon.tsx +31 -0
  1080. package/src/components/Accordion/AccordionSummary.tsx +5 -9
  1081. package/src/components/ActionSheet/ActionSheet.tsx +14 -10
  1082. package/src/components/ActionSheet/ActionSheetContext.ts +3 -3
  1083. package/src/components/ActionSheet/types.ts +8 -8
  1084. package/src/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  1085. package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -1
  1086. package/src/components/ActionSheetItem/ActionSheetItem.tsx +15 -15
  1087. package/src/components/ActionSheetItem/subcomponents/Radio/Radio.tsx +1 -1
  1088. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +7 -7
  1089. package/src/components/Alert/Alert.tsx +17 -17
  1090. package/src/components/Alert/AlertBase.tsx +2 -2
  1091. package/src/components/Alert/AlertTypography.tsx +1 -1
  1092. package/src/components/AppRoot/AppRoot.tsx +9 -9
  1093. package/src/components/AppRoot/AppRootContext.ts +4 -4
  1094. package/src/components/AppRoot/AppRootPortal.tsx +2 -2
  1095. package/src/components/AppRoot/ScrollContext.tsx +5 -5
  1096. package/src/components/AppRoot/types.ts +4 -4
  1097. package/src/components/AspectRatio/AspectRatio.tsx +2 -2
  1098. package/src/components/Avatar/Avatar.module.css +0 -5
  1099. package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -1
  1100. package/src/components/Avatar/Avatar.tsx +6 -2
  1101. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -1
  1102. package/src/components/Badge/Badge.tsx +1 -1
  1103. package/src/components/Banner/Banner.tsx +12 -12
  1104. package/src/components/Box/Box.tsx +1 -1
  1105. package/src/components/Button/Button.tsx +19 -12
  1106. package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
  1107. package/src/components/Calendar/Calendar.tsx +17 -17
  1108. package/src/components/CalendarDay/CalendarDay.tsx +18 -18
  1109. package/src/components/CalendarDays/CalendarDays.tsx +14 -14
  1110. package/src/components/CalendarHeader/CalendarHeader.tsx +19 -19
  1111. package/src/components/CalendarRange/CalendarRange.tsx +12 -12
  1112. package/src/components/CalendarTime/CalendarTime.tsx +14 -14
  1113. package/src/components/CalendarTime/CalendarTimePicker.tsx +3 -3
  1114. package/src/components/Card/Card.tsx +1 -1
  1115. package/src/components/CardGrid/CardGrid.tsx +2 -2
  1116. package/src/components/CardScroll/CardScroll.tsx +3 -3
  1117. package/src/components/CarouselBase/Bullets.tsx +1 -1
  1118. package/src/components/CarouselBase/CarouselViewPort.tsx +1 -1
  1119. package/src/components/CarouselBase/ScrollArrows.tsx +2 -2
  1120. package/src/components/CarouselBase/helpers.ts +4 -4
  1121. package/src/components/CarouselBase/types.ts +23 -23
  1122. package/src/components/Cell/Cell.tsx +8 -8
  1123. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +1 -1
  1124. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1125. package/src/components/CellButton/CellButton.tsx +16 -16
  1126. package/src/components/Checkbox/Checkbox.tsx +16 -9
  1127. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +20 -14
  1128. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  1129. package/src/components/ChipsInput/useChipsInput.ts +3 -3
  1130. package/src/components/ChipsInputBase/Chip/Chip.tsx +9 -9
  1131. package/src/components/ChipsInputBase/types.ts +28 -22
  1132. package/src/components/ChipsSelect/ChipsSelect.tsx +13 -13
  1133. package/src/components/ChipsSelect/useChipsSelect.ts +22 -21
  1134. package/src/components/Clickable/Clickable.tsx +1 -1
  1135. package/src/components/Clickable/useState.tsx +13 -13
  1136. package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
  1137. package/src/components/ContentBadge/ContentBadge.tsx +4 -4
  1138. package/src/components/ContentCard/ContentCard.tsx +8 -8
  1139. package/src/components/Counter/Counter.tsx +4 -4
  1140. package/src/components/CustomScrollView/CustomScrollView.tsx +6 -6
  1141. package/src/components/CustomSelect/CustomSelect.module.css +0 -6
  1142. package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -1
  1143. package/src/components/CustomSelect/CustomSelect.tsx +45 -31
  1144. package/src/components/CustomSelect/CustomSelectClearButton.tsx +2 -2
  1145. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +20 -14
  1146. package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +2 -2
  1147. package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +1 -1
  1148. package/src/components/CustomSelect/types.ts +1 -1
  1149. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +8 -8
  1150. package/src/components/CustomSelectOption/CustomSelectOption.tsx +9 -9
  1151. package/src/components/DateInput/DateInput.tsx +27 -35
  1152. package/src/components/DateInput/hooks.ts +7 -7
  1153. package/src/components/DateRangeInput/DateRangeInput.tsx +28 -36
  1154. package/src/components/DropZone/DropZone.tsx +5 -2
  1155. package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.tsx +1 -1
  1156. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -1
  1157. package/src/components/Epic/Epic.tsx +1 -1
  1158. package/src/components/Epic/ScrollSaver.tsx +1 -1
  1159. package/src/components/File/File.tsx +15 -9
  1160. package/src/components/FixedLayout/FixedLayout.tsx +3 -3
  1161. package/src/components/Flex/Flex.tsx +8 -8
  1162. package/src/components/Flex/FlexItem/FlexItem.tsx +1 -1
  1163. package/src/components/FloatingArrow/FloatingArrow.tsx +9 -9
  1164. package/src/components/FocusTrap/FocusTrap.tsx +0 -3
  1165. package/src/components/FormField/FormField.tsx +8 -8
  1166. package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +2 -2
  1167. package/src/components/FormItem/FormItem.module.css +1 -2
  1168. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -1
  1169. package/src/components/FormItem/FormItem.tsx +10 -10
  1170. package/src/components/FormItem/context.ts +2 -2
  1171. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +4 -4
  1172. package/src/components/FormStatus/FormStatus.tsx +2 -2
  1173. package/src/components/Gallery/Gallery.tsx +2 -2
  1174. package/src/components/Gradient/Gradient.tsx +2 -2
  1175. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  1176. package/src/components/Group/Group.tsx +2 -2
  1177. package/src/components/Group/GroupContainer.tsx +3 -3
  1178. package/src/components/Group/GroupExpandedContent.tsx +1 -1
  1179. package/src/components/Header/Header.tsx +11 -11
  1180. package/src/components/HorizontalCell/HorizontalCell.tsx +7 -7
  1181. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +4 -4
  1182. package/src/components/HorizontalScroll/HorizontalScroll.tsx +63 -18
  1183. package/src/components/IconButton/IconButton.tsx +1 -1
  1184. package/src/components/Image/Image.tsx +5 -5
  1185. package/src/components/ImageBase/ImageBase.module.css +11 -3
  1186. package/src/components/ImageBase/ImageBase.module.css.d.ts.map +1 -1
  1187. package/src/components/ImageBase/ImageBase.tsx +27 -17
  1188. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
  1189. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +3 -3
  1190. package/src/components/ImageBase/ImageBaseOverlay/types.ts +3 -3
  1191. package/src/components/ImageBase/types.ts +3 -3
  1192. package/src/components/Input/Input.tsx +13 -7
  1193. package/src/components/InputLike/InputLike.tsx +3 -3
  1194. package/src/components/Link/Link.tsx +4 -4
  1195. package/src/components/List/List.tsx +1 -1
  1196. package/src/components/MiniInfoCell/MiniInfoCell.tsx +5 -5
  1197. package/src/components/ModalCard/ModalCardInternal.tsx +1 -1
  1198. package/src/components/ModalCard/types.ts +13 -13
  1199. package/src/components/ModalCardBase/ModalCardBase.module.css +0 -4
  1200. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -1
  1201. package/src/components/ModalCardBase/ModalCardBase.tsx +14 -14
  1202. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1203. package/src/components/ModalOutlet/ModalOutlet.tsx +3 -3
  1204. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
  1205. package/src/components/ModalOverlay/ModalOverlay.tsx +7 -7
  1206. package/src/components/ModalPage/ModalPageBase.tsx +2 -2
  1207. package/src/components/ModalPage/ModalPageInternal.tsx +2 -2
  1208. package/src/components/ModalPage/types.ts +27 -27
  1209. package/src/components/ModalPageFooter/ModalPageFooter.tsx +2 -2
  1210. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
  1211. package/src/components/ModalRoot/types.ts +15 -15
  1212. package/src/components/ModalRoot/useModalRootManager.tsx +19 -19
  1213. package/src/components/NativeSelect/NativeSelect.tsx +20 -14
  1214. package/src/components/NumberInputLike/NumberInputLike.tsx +3 -3
  1215. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +16 -8
  1216. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +1 -1
  1217. package/src/components/Pagination/Pagination.tsx +27 -25
  1218. package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +5 -3
  1219. package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +3 -3
  1220. package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -1
  1221. package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +3 -3
  1222. package/src/components/Panel/Panel.tsx +3 -3
  1223. package/src/components/PanelHeader/PanelHeader.module.css +0 -5
  1224. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -1
  1225. package/src/components/PanelHeader/PanelHeader.tsx +14 -12
  1226. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +2 -2
  1227. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +3 -3
  1228. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +3 -3
  1229. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
  1230. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
  1231. package/src/components/Placeholder/Placeholder.tsx +5 -5
  1232. package/src/components/PopoutWrapper/PopoutWrapper.tsx +6 -6
  1233. package/src/components/Popover/Popover.tsx +5 -5
  1234. package/src/components/Popper/Popper.tsx +17 -15
  1235. package/src/components/Progress/Progress.tsx +4 -4
  1236. package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
  1237. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +4 -4
  1238. package/src/components/Radio/Radio.tsx +18 -12
  1239. package/src/components/Radio/RadioInput/RadioInput.tsx +15 -9
  1240. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  1241. package/src/components/Removable/Removable.module.css +0 -4
  1242. package/src/components/Removable/Removable.module.css.d.ts.map +1 -1
  1243. package/src/components/Removable/Removable.tsx +13 -10
  1244. package/src/components/Removable/RemovableIos.tsx +6 -3
  1245. package/src/components/RichCell/RichCell.tsx +15 -15
  1246. package/src/components/Root/Root.tsx +3 -3
  1247. package/src/components/RootComponent/RootComponent.tsx +2 -2
  1248. package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +1 -1
  1249. package/src/components/ScreenSpinner/context.ts +2 -2
  1250. package/src/components/ScreenSpinner/types.tsx +5 -5
  1251. package/src/components/ScrollArrow/ScrollArrow.tsx +27 -4
  1252. package/src/components/Search/Search.tsx +28 -22
  1253. package/src/components/SegmentedControl/SegmentedControl.tsx +6 -6
  1254. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +3 -3
  1255. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -3
  1256. package/src/components/SelectTypography/SelectTypography.tsx +1 -1
  1257. package/src/components/SelectionControl/SelectionControl.tsx +1 -1
  1258. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +2 -2
  1259. package/src/components/Separator/Separator.tsx +5 -5
  1260. package/src/components/SimpleCell/Chevron/Chevron.tsx +1 -1
  1261. package/src/components/SimpleCell/SimpleCell.tsx +14 -14
  1262. package/src/components/SimpleGrid/SimpleGrid.tsx +6 -6
  1263. package/src/components/Skeleton/Skeleton.tsx +5 -5
  1264. package/src/components/Slider/Slider.tsx +19 -17
  1265. package/src/components/Slider/SliderThumb/SliderThumb.tsx +9 -7
  1266. package/src/components/Snackbar/Snackbar.tsx +19 -13
  1267. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  1268. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -1
  1269. package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
  1270. package/src/components/Snackbar/utils.ts +1 -1
  1271. package/src/components/Spacing/Spacing.tsx +2 -2
  1272. package/src/components/Spinner/Spinner.tsx +4 -4
  1273. package/src/components/SplitCol/SplitCol.tsx +7 -7
  1274. package/src/components/SplitLayout/SplitLayout.tsx +15 -9
  1275. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -2
  1276. package/src/components/SubnavigationButton/SubnavigationButton.tsx +8 -8
  1277. package/src/components/Switch/Switch.tsx +15 -9
  1278. package/src/components/Tabbar/Tabbar.tsx +2 -2
  1279. package/src/components/TabbarItem/TabbarItem.tsx +3 -3
  1280. package/src/components/Tabs/Tabs.tsx +7 -7
  1281. package/src/components/Tabs/TabsModeContext.ts +1 -1
  1282. package/src/components/TabsItem/TabsItem.tsx +5 -5
  1283. package/src/components/Tappable/Tappable.tsx +3 -3
  1284. package/src/components/Tappable/state.tsx +2 -2
  1285. package/src/components/Textarea/Textarea.tsx +14 -10
  1286. package/src/components/ToolButton/ToolButton.tsx +4 -4
  1287. package/src/components/Tooltip/Tooltip.tsx +6 -6
  1288. package/src/components/TooltipBase/TooltipBase.tsx +10 -10
  1289. package/src/components/Touch/Touch.tsx +16 -16
  1290. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1291. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
  1292. package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
  1293. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1294. package/src/components/Typography/Title/Title.tsx +1 -1
  1295. package/src/components/Typography/Typography.tsx +6 -6
  1296. package/src/components/UnstyledTextField/UnstyledTextField.tsx +1 -1
  1297. package/src/components/UsersStack/UsersStack.tsx +6 -6
  1298. package/src/components/View/View.module.css +1 -3
  1299. package/src/components/View/View.module.css.d.ts.map +1 -1
  1300. package/src/components/View/View.tsx +4 -4
  1301. package/src/components/View/ViewInfinite.tsx +11 -11
  1302. package/src/components/WriteBar/WriteBar.tsx +21 -15
  1303. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -3
  1304. package/src/helpers/math.ts +1 -1
  1305. package/src/hooks/useAdaptivityWithJSMediaQueries.ts +3 -1
  1306. package/src/hooks/useAutoDetectColorScheme.ts +8 -30
  1307. package/src/hooks/useCalendar.ts +2 -2
  1308. package/src/hooks/useDateInput.ts +5 -5
  1309. package/src/hooks/useDraggableWithDomApi/types.ts +1 -1
  1310. package/src/hooks/useEnsuredControl.ts +4 -4
  1311. package/src/hooks/useFloatingElement.tsx +4 -4
  1312. package/src/hooks/useFocusTrap/FocusGuard.tsx +1 -1
  1313. package/src/hooks/useFocusTrap/useFocusTrap.tsx +17 -15
  1314. package/src/hooks/useFocusVisibleClassName.ts +3 -3
  1315. package/src/hooks/useGlobalEscKeyDown.ts +2 -2
  1316. package/src/hooks/useMediaQueryMatch.ts +34 -0
  1317. package/src/hooks/useMergeProps.ts +2 -2
  1318. package/src/hooks/useModalManager/types.ts +8 -8
  1319. package/src/hooks/usePagination.ts +4 -4
  1320. package/src/hooks/usePatchChildren.ts +1 -1
  1321. package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.tsx → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.tsx} +3 -3
  1322. package/src/hooks/useSnackbarManager/components/SnackbarHolder.tsx +6 -2
  1323. package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.tsx → SnackbarsContainer/SnackbarsContainer.tsx} +6 -6
  1324. package/src/hooks/useSnackbarManager/types.ts +11 -11
  1325. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
  1326. package/src/index.ts +6 -2
  1327. package/src/lib/SSR.tsx +4 -4
  1328. package/src/lib/accessibility.ts +1 -1
  1329. package/src/lib/adaptivity/functions.ts +10 -1
  1330. package/src/lib/animation/useCSSKeyframesAnimationController.ts +6 -6
  1331. package/src/lib/animation/useCSSTransition.ts +15 -13
  1332. package/src/lib/animation/useReducedMotion.ts +2 -25
  1333. package/src/lib/calendar.ts +5 -2
  1334. package/src/lib/date.ts +11 -11
  1335. package/src/lib/dom.tsx +2 -2
  1336. package/src/lib/floating/functions.ts +2 -2
  1337. package/src/lib/floating/types/component.ts +9 -9
  1338. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +26 -19
  1339. package/src/lib/floating/useFloatingWithInteractions/types.ts +15 -15
  1340. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -2
  1341. package/src/lib/getNavId.ts +2 -2
  1342. package/src/lib/layouts/resolveLayoutProps.ts +3 -3
  1343. package/src/lib/layouts/types.ts +29 -29
  1344. package/src/lib/select.ts +2 -2
  1345. package/src/lib/sheet/useBottomSheet.ts +4 -4
  1346. package/src/lib/tokens/TokensClassProvider.tsx +1 -1
  1347. package/src/lib/tokens/types.ts +2 -2
  1348. package/src/lib/utils.ts +8 -3
  1349. package/src/types.ts +18 -10
  1350. package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +0 -1
  1351. package/dist/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1352. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1353. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1354. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1355. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.d.ts.map +0 -1
  1356. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1357. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.d.ts.map +0 -1
  1358. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1359. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +0 -0
  1360. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1361. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1362. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1363. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1364. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css.d.ts.map +0 -0
  1365. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1366. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css.d.ts.map → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css.d.ts.map} +0 -0
  1367. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1368. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css.d.ts.map → SnackbarsContainer/SnackbarsContainer.module.css.d.ts.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useDateInput.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport * as React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useBooleanState } from './useBooleanState';\n\nexport interface UseDateInputDependencies<T, D> {\n maxElement: number;\n refs: Array<React.RefObject<T | null>>;\n autoFocus?: boolean;\n disabled?: boolean;\n value?: D | null;\n elementsConfig: (index: number) => {\n length: number;\n min: number;\n max: number;\n };\n onInternalValueChange: (value: string[]) => void;\n getInternalValue: (value?: D | null | undefined) => string[];\n onClear: () => void;\n onCalendarOpenChanged?: (opened: boolean) => void;\n accessible?: boolean;\n}\n\nexport function useDateInput<T extends HTMLElement, D>({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onClear,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n accessible,\n}: UseDateInputDependencies<T, D>): {\n rootRef: React.RefObject<HTMLDivElement | null>;\n calendarRef: React.RefObject<HTMLDivElement | null>;\n open: boolean;\n openCalendar: () => void;\n closeCalendar: () => void;\n toggleCalendar: () => void;\n internalValue: string[];\n focusedElement: number | null;\n setFocusedElement: React.Dispatch<React.SetStateAction<number | null>>;\n handleKeyDown: (e: React.KeyboardEvent<HTMLSpanElement>) => void;\n clear: () => void;\n handleFieldEnter: () => void;\n removeFocusFromField: () => void;\n handleRestoreFocus: () => boolean;\n} {\n const { document } = useDOM();\n const [open, openCalendar, closeCalendar] = useBooleanState(false);\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const calendarRef = React.useRef<HTMLDivElement | null>(null);\n const [internalValue, setInternalValue] = React.useState<string[]>([]);\n const [focusedElement, setFocusedElement] = React.useState<number | null>(null);\n const isClickedOutsideRef = React.useRef(false);\n const { window } = useDOM();\n\n const handleRestoreFocus = React.useCallback(() => {\n // если календарь был закрыт кликом вне календаря\n // то FocusTrap возвращать фокус не должен\n return !isClickedOutsideRef.current;\n }, []);\n\n const _onCalendarClose = useCallback(() => {\n if (open) {\n closeCalendar();\n onCalendarOpenChanged?.(false);\n }\n }, [closeCalendar, onCalendarOpenChanged, open]);\n\n const _onCalendarOpen = useCallback(() => {\n if (!open) {\n openCalendar();\n onCalendarOpenChanged?.(true);\n if (accessible) {\n setFocusedElement(null);\n }\n isClickedOutsideRef.current = false;\n }\n }, [onCalendarOpenChanged, open, openCalendar, accessible]);\n\n const resetFocusedElement = React.useCallback(() => {\n if (focusedElement !== null) {\n setFocusedElement(null);\n window!.getSelection()?.removeAllRanges();\n setInternalValue(getInternalValue(value));\n }\n }, [focusedElement, getInternalValue, value, window]);\n\n const removeFocusFromField = React.useCallback(() => {\n resetFocusedElement();\n _onCalendarClose();\n }, [resetFocusedElement, _onCalendarClose]);\n\n const toggleCalendar = useCallback(() => {\n resetFocusedElement();\n if (open) {\n _onCalendarClose();\n } else {\n _onCalendarOpen();\n }\n }, [resetFocusedElement, open, _onCalendarClose, _onCalendarOpen]);\n\n const handleClickOutside = React.useCallback(\n (e: MouseEvent) => {\n if (\n !rootRef.current?.contains(e.target as Node | null) &&\n !calendarRef.current?.contains(e.target as Node | null)\n ) {\n isClickedOutsideRef.current = true;\n removeFocusFromField();\n }\n },\n [removeFocusFromField],\n );\n\n const selectFirst = React.useCallback(() => {\n if (focusedElement !== null) {\n return;\n }\n\n setFocusedElement(0);\n }, [focusedElement]);\n\n React.useEffect(() => {\n document!.addEventListener('click', handleClickOutside, {\n capture: true,\n });\n\n return () =>\n document!.removeEventListener('click', handleClickOutside, {\n capture: true,\n });\n }, [document, handleClickOutside]);\n\n React.useEffect(() => {\n setInternalValue(getInternalValue(value));\n }, [getInternalValue, value]);\n\n React.useEffect(() => {\n if (autoFocus) {\n selectFirst();\n }\n }, [autoFocus, selectFirst]);\n\n React.useEffect(() => {\n if (disabled || focusedElement === null) {\n return;\n }\n\n const range = window!.document.createRange();\n\n let element = refs[focusedElement].current;\n\n let timerId: ReturnType<typeof setTimeout>;\n if (element) {\n element.focus();\n if (!accessible) {\n _onCalendarOpen();\n }\n range.selectNodeContents(element as Node);\n\n // Fix для Firefox: setTimeout нужен чтобы отложить range selection на\n // какое-то время, иначе, при фокусе на InputLike\n // извне, контент визуально не будет выбран\n timerId = setTimeout(() => {\n const selection = window!.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(range);\n }, 0);\n }\n\n return () => {\n clearTimeout(timerId);\n };\n }, [disabled, focusedElement, refs, window, _onCalendarOpen, accessible]);\n\n const clear = React.useCallback(() => {\n onClear?.();\n selectFirst();\n }, [onClear, selectFirst]);\n\n const handleFieldEnter = React.useCallback(() => {\n selectFirst();\n }, [selectFirst]);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLSpanElement>) => {\n if (focusedElement === null) {\n return;\n }\n\n const _value = [...internalValue];\n const config = elementsConfig(focusedElement);\n\n if (/^\\d+$/.test(e.key)) {\n if (_value[focusedElement].length >= config.length) {\n _value[focusedElement] = e.key;\n } else {\n _value[focusedElement] += e.key;\n if (_value[focusedElement].length >= config.length && focusedElement < maxElement) {\n setFocusedElement(focusedElement + 1);\n }\n }\n } else if (e.key === 'Backspace') {\n if (!_value[focusedElement]) {\n setFocusedElement(focusedElement <= 0 ? maxElement : focusedElement - 1);\n } else {\n _value[focusedElement] = _value[focusedElement].slice(0, -1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n let currentValue = Number(_value[focusedElement]);\n _value[focusedElement] = String(\n currentValue <= config.min ? config.max : currentValue - 1,\n ).padStart(config.length, '0');\n } else if (e.key === 'ArrowUp' || e.key === 'Up') {\n let currentValue = Number(_value[focusedElement]);\n _value[focusedElement] = String(\n currentValue >= config.max ? config.min : currentValue + 1,\n ).padStart(config.length, '0');\n } else if (e.key === 'ArrowLeft' || e.key === 'Left' || (e.key === 'Tab' && e.shiftKey)) {\n if (focusedElement <= 0) {\n if (e.key === 'Tab') {\n removeFocusFromField();\n }\n return;\n }\n setFocusedElement(focusedElement - 1);\n } else if (e.key === 'ArrowRight' || e.key === 'Right' || e.key === 'Tab') {\n if (focusedElement >= maxElement) {\n if (e.key === 'Tab') {\n removeFocusFromField();\n }\n return;\n }\n\n setFocusedElement(focusedElement + 1);\n } else if (e.key === 'Delete' || e.key === 'Del') {\n _value[focusedElement] = '';\n } else if (e.key === ' ') {\n e.preventDefault();\n _onCalendarOpen();\n return;\n } else {\n return;\n }\n\n e.preventDefault();\n setInternalValue(_value);\n onInternalValueChange(_value);\n },\n [\n _onCalendarOpen,\n removeFocusFromField,\n elementsConfig,\n focusedElement,\n internalValue,\n maxElement,\n onInternalValueChange,\n ],\n );\n\n return {\n rootRef,\n calendarRef,\n open,\n openCalendar: _onCalendarOpen,\n closeCalendar: _onCalendarClose,\n toggleCalendar,\n internalValue,\n focusedElement,\n setFocusedElement,\n handleKeyDown,\n clear,\n handleFieldEnter,\n removeFocusFromField,\n handleRestoreFocus,\n };\n}\n"],"names":["useCallback","React","useDOM","useBooleanState","useDateInput","maxElement","refs","autoFocus","disabled","elementsConfig","onClear","onInternalValueChange","getInternalValue","value","onCalendarOpenChanged","accessible","document","open","openCalendar","closeCalendar","rootRef","useRef","calendarRef","internalValue","setInternalValue","useState","focusedElement","setFocusedElement","isClickedOutsideRef","window","handleRestoreFocus","current","_onCalendarClose","_onCalendarOpen","resetFocusedElement","getSelection","removeAllRanges","removeFocusFromField","toggleCalendar","handleClickOutside","e","contains","target","selectFirst","useEffect","addEventListener","capture","removeEventListener","range","createRange","element","timerId","focus","selectNodeContents","setTimeout","selection","addRange","clearTimeout","clear","handleFieldEnter","handleKeyDown","_value","config","test","key","length","slice","currentValue","Number","String","min","max","padStart","shiftKey","preventDefault"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/hooks/useDateInput.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport * as React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useBooleanState } from './useBooleanState';\n\nexport interface UseDateInputDependencies<T, D> {\n maxElement: number;\n refs: Array<React.RefObject<T | null>>;\n autoFocus?: boolean | undefined;\n disabled?: boolean | undefined;\n value?: D | null | undefined;\n elementsConfig: (index: number) => {\n length: number;\n min: number;\n max: number;\n };\n onInternalValueChange: (value: string[]) => void;\n getInternalValue: (value?: D | null | undefined) => string[];\n onClear: () => void;\n onCalendarOpenChanged?: ((opened: boolean) => void) | undefined;\n accessible?: boolean | undefined;\n}\n\nexport function useDateInput<T extends HTMLElement, D>({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onClear,\n onInternalValueChange,\n getInternalValue,\n value,\n onCalendarOpenChanged,\n accessible,\n}: UseDateInputDependencies<T, D>): {\n rootRef: React.RefObject<HTMLDivElement | null>;\n calendarRef: React.RefObject<HTMLDivElement | null>;\n open: boolean;\n openCalendar: () => void;\n closeCalendar: () => void;\n toggleCalendar: () => void;\n internalValue: string[];\n focusedElement: number | null;\n setFocusedElement: React.Dispatch<React.SetStateAction<number | null>>;\n handleKeyDown: (e: React.KeyboardEvent<HTMLSpanElement>) => void;\n clear: () => void;\n handleFieldEnter: () => void;\n removeFocusFromField: () => void;\n handleRestoreFocus: () => boolean;\n} {\n const { document } = useDOM();\n const [open, openCalendar, closeCalendar] = useBooleanState(false);\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const calendarRef = React.useRef<HTMLDivElement | null>(null);\n const [internalValue, setInternalValue] = React.useState<string[]>([]);\n const [focusedElement, setFocusedElement] = React.useState<number | null>(null);\n const isClickedOutsideRef = React.useRef(false);\n const { window } = useDOM();\n\n const handleRestoreFocus = React.useCallback(() => {\n // если календарь был закрыт кликом вне календаря\n // то FocusTrap возвращать фокус не должен\n return !isClickedOutsideRef.current;\n }, []);\n\n const _onCalendarClose = useCallback(() => {\n if (open) {\n closeCalendar();\n onCalendarOpenChanged?.(false);\n }\n }, [closeCalendar, onCalendarOpenChanged, open]);\n\n const _onCalendarOpen = useCallback(() => {\n if (!open) {\n openCalendar();\n onCalendarOpenChanged?.(true);\n if (accessible) {\n setFocusedElement(null);\n }\n isClickedOutsideRef.current = false;\n }\n }, [onCalendarOpenChanged, open, openCalendar, accessible]);\n\n const resetFocusedElement = React.useCallback(() => {\n if (focusedElement !== null) {\n setFocusedElement(null);\n window!.getSelection()?.removeAllRanges();\n setInternalValue(getInternalValue(value));\n }\n }, [focusedElement, getInternalValue, value, window]);\n\n const removeFocusFromField = React.useCallback(() => {\n resetFocusedElement();\n _onCalendarClose();\n }, [resetFocusedElement, _onCalendarClose]);\n\n const toggleCalendar = useCallback(() => {\n resetFocusedElement();\n if (open) {\n _onCalendarClose();\n } else {\n _onCalendarOpen();\n }\n }, [resetFocusedElement, open, _onCalendarClose, _onCalendarOpen]);\n\n const handleClickOutside = React.useCallback(\n (e: MouseEvent) => {\n if (\n !rootRef.current?.contains(e.target as Node | null) &&\n !calendarRef.current?.contains(e.target as Node | null)\n ) {\n isClickedOutsideRef.current = true;\n removeFocusFromField();\n }\n },\n [removeFocusFromField],\n );\n\n const selectFirst = React.useCallback(() => {\n if (focusedElement !== null) {\n return;\n }\n\n setFocusedElement(0);\n }, [focusedElement]);\n\n React.useEffect(() => {\n document!.addEventListener('click', handleClickOutside, {\n capture: true,\n });\n\n return () =>\n document!.removeEventListener('click', handleClickOutside, {\n capture: true,\n });\n }, [document, handleClickOutside]);\n\n React.useEffect(() => {\n setInternalValue(getInternalValue(value));\n }, [getInternalValue, value]);\n\n React.useEffect(() => {\n if (autoFocus) {\n selectFirst();\n }\n }, [autoFocus, selectFirst]);\n\n React.useEffect(() => {\n if (disabled || focusedElement === null) {\n return;\n }\n\n const range = window!.document.createRange();\n\n let element = refs[focusedElement].current;\n\n let timerId: ReturnType<typeof setTimeout>;\n if (element) {\n element.focus();\n if (!accessible) {\n _onCalendarOpen();\n }\n range.selectNodeContents(element as Node);\n\n // Fix для Firefox: setTimeout нужен чтобы отложить range selection на\n // какое-то время, иначе, при фокусе на InputLike\n // извне, контент визуально не будет выбран\n timerId = setTimeout(() => {\n const selection = window!.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(range);\n }, 0);\n }\n\n return () => {\n clearTimeout(timerId);\n };\n }, [disabled, focusedElement, refs, window, _onCalendarOpen, accessible]);\n\n const clear = React.useCallback(() => {\n onClear?.();\n selectFirst();\n }, [onClear, selectFirst]);\n\n const handleFieldEnter = React.useCallback(() => {\n selectFirst();\n }, [selectFirst]);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLSpanElement>) => {\n if (focusedElement === null) {\n return;\n }\n\n const _value = [...internalValue];\n const config = elementsConfig(focusedElement);\n\n if (/^\\d+$/.test(e.key)) {\n if (_value[focusedElement].length >= config.length) {\n _value[focusedElement] = e.key;\n } else {\n _value[focusedElement] += e.key;\n if (_value[focusedElement].length >= config.length && focusedElement < maxElement) {\n setFocusedElement(focusedElement + 1);\n }\n }\n } else if (e.key === 'Backspace') {\n if (!_value[focusedElement]) {\n setFocusedElement(focusedElement <= 0 ? maxElement : focusedElement - 1);\n } else {\n _value[focusedElement] = _value[focusedElement].slice(0, -1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n let currentValue = Number(_value[focusedElement]);\n _value[focusedElement] = String(\n currentValue <= config.min ? config.max : currentValue - 1,\n ).padStart(config.length, '0');\n } else if (e.key === 'ArrowUp' || e.key === 'Up') {\n let currentValue = Number(_value[focusedElement]);\n _value[focusedElement] = String(\n currentValue >= config.max ? config.min : currentValue + 1,\n ).padStart(config.length, '0');\n } else if (e.key === 'ArrowLeft' || e.key === 'Left' || (e.key === 'Tab' && e.shiftKey)) {\n if (focusedElement <= 0) {\n if (e.key === 'Tab') {\n removeFocusFromField();\n }\n return;\n }\n setFocusedElement(focusedElement - 1);\n } else if (e.key === 'ArrowRight' || e.key === 'Right' || e.key === 'Tab') {\n if (focusedElement >= maxElement) {\n if (e.key === 'Tab') {\n removeFocusFromField();\n }\n return;\n }\n\n setFocusedElement(focusedElement + 1);\n } else if (e.key === 'Delete' || e.key === 'Del') {\n _value[focusedElement] = '';\n } else if (e.key === ' ') {\n e.preventDefault();\n _onCalendarOpen();\n return;\n } else {\n return;\n }\n\n e.preventDefault();\n setInternalValue(_value);\n onInternalValueChange(_value);\n },\n [\n _onCalendarOpen,\n removeFocusFromField,\n elementsConfig,\n focusedElement,\n internalValue,\n maxElement,\n onInternalValueChange,\n ],\n );\n\n return {\n rootRef,\n calendarRef,\n open,\n openCalendar: _onCalendarOpen,\n closeCalendar: _onCalendarClose,\n toggleCalendar,\n internalValue,\n focusedElement,\n setFocusedElement,\n handleKeyDown,\n clear,\n handleFieldEnter,\n removeFocusFromField,\n handleRestoreFocus,\n };\n}\n"],"names":["useCallback","React","useDOM","useBooleanState","useDateInput","maxElement","refs","autoFocus","disabled","elementsConfig","onClear","onInternalValueChange","getInternalValue","value","onCalendarOpenChanged","accessible","document","open","openCalendar","closeCalendar","rootRef","useRef","calendarRef","internalValue","setInternalValue","useState","focusedElement","setFocusedElement","isClickedOutsideRef","window","handleRestoreFocus","current","_onCalendarClose","_onCalendarOpen","resetFocusedElement","getSelection","removeAllRanges","removeFocusFromField","toggleCalendar","handleClickOutside","e","contains","target","selectFirst","useEffect","addEventListener","capture","removeEventListener","range","createRange","element","timerId","focus","selectNodeContents","setTimeout","selection","addRange","clearTimeout","clear","handleFieldEnter","handleKeyDown","_value","config","test","key","length","slice","currentValue","Number","String","min","max","padStart","shiftKey","preventDefault"],"mappings":"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"}
@@ -23,7 +23,7 @@ export type SwappedItemRange = {
23
23
  };
24
24
  export interface UseDraggableProps<T extends HTMLElement = HTMLElement> {
25
25
  elRef: React.RefObject<T | null>;
26
- onDragFinish?: (value: SwappedItemRange) => void;
26
+ onDragFinish?: ((value: SwappedItemRange) => void) | undefined;
27
27
  }
28
28
  export interface DraggableProps {
29
29
  onDragStart: (this: void, event: CustomTouchEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDraggableWithDomApi/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,WAAW,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,WAAW,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,WAAW,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACpE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3D,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDraggableWithDomApi/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,WAAW,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,WAAW,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,WAAW,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IACpE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3D,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useDraggableWithDomApi/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { CustomTouchEvent } from '../../components/Touch/Touch';\n\nexport type Direction = 'up' | 'down';\n\nexport type DraggingItem = {\n index: number;\n el: HTMLElement;\n draggingElRect: DOMRect;\n};\n\nexport type PlaceholderItem = {\n index: number;\n el: HTMLElement;\n draggingElRect: DOMRect;\n};\n\nexport type SiblingItem = {\n index: number;\n el: HTMLElement;\n shifted: boolean;\n draggingElRect: DOMRect;\n};\n\nexport type SwappedItemRange = { from: number; to: number };\n\nexport interface UseDraggableProps<T extends HTMLElement = HTMLElement> {\n elRef: React.RefObject<T | null>;\n onDragFinish?: (value: SwappedItemRange) => void;\n}\n\nexport interface DraggableProps {\n onDragStart: (this: void, event: CustomTouchEvent) => void;\n onDragEnd: (this: void, event: CustomTouchEvent) => void;\n onDragMove: (this: void, event: CustomTouchEvent) => void;\n}\n\nexport interface UseDraggable extends DraggableProps {\n dragging: boolean;\n}\n"],"names":[],"mappings":"AAqCA,WAEC"}
1
+ {"version":3,"sources":["../../../src/hooks/useDraggableWithDomApi/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { CustomTouchEvent } from '../../components/Touch/Touch';\n\nexport type Direction = 'up' | 'down';\n\nexport type DraggingItem = {\n index: number;\n el: HTMLElement;\n draggingElRect: DOMRect;\n};\n\nexport type PlaceholderItem = {\n index: number;\n el: HTMLElement;\n draggingElRect: DOMRect;\n};\n\nexport type SiblingItem = {\n index: number;\n el: HTMLElement;\n shifted: boolean;\n draggingElRect: DOMRect;\n};\n\nexport type SwappedItemRange = { from: number; to: number };\n\nexport interface UseDraggableProps<T extends HTMLElement = HTMLElement> {\n elRef: React.RefObject<T | null>;\n onDragFinish?: ((value: SwappedItemRange) => void) | undefined;\n}\n\nexport interface DraggableProps {\n onDragStart: (this: void, event: CustomTouchEvent) => void;\n onDragEnd: (this: void, event: CustomTouchEvent) => void;\n onDragMove: (this: void, event: CustomTouchEvent) => void;\n}\n\nexport interface UseDraggable extends DraggableProps {\n dragging: boolean;\n}\n"],"names":[],"mappings":"AAqCA,WAEC"}
@@ -1,16 +1,16 @@
1
1
  import * as React from 'react';
2
2
  export interface UseEnsuredControlProps<V, E extends React.ChangeEvent<any>> {
3
- value?: V;
3
+ value?: V | undefined;
4
4
  defaultValue: V;
5
5
  disabled?: boolean | undefined;
6
- onChange?: (this: void, e: E) => any;
6
+ onChange?: ((this: void, e: E) => any) | undefined;
7
7
  }
8
8
  export declare function useEnsuredControl<V, E extends React.ChangeEvent<any>>({ onChange: onChangeProp, disabled, ...props }: UseEnsuredControlProps<V, E>): [V, (e: E) => any];
9
9
  export interface UseCustomEnsuredControlProps<V> {
10
- value?: V;
10
+ value?: V | undefined;
11
11
  defaultValue: V;
12
12
  disabled?: boolean | undefined;
13
- onChange?: (this: void, v: V) => any;
13
+ onChange?: ((this: void, v: V) => any) | undefined;
14
14
  }
15
15
  export declare function useCustomEnsuredControl<V = any>({ value, defaultValue, disabled, onChange: onChangeProp, }: UseCustomEnsuredControlProps<V>): [V, React.Dispatch<React.SetStateAction<V>>];
16
16
  //# sourceMappingURL=useEnsuredControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEnsuredControl.d.ts","sourceRoot":"","sources":["../../src/hooks/useEnsuredControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;IACzE,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,YAAY,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC;CACtC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EACrE,QAAQ,EAAE,YAAY,EACtB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAgBnD;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,YAAY,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC;CACtC;AAID,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAAE,EAC/C,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,EAAE,YAAY,GACvB,EAAE,4BAA4B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAoDhF"}
1
+ {"version":3,"file":"useEnsuredControl.d.ts","sourceRoot":"","sources":["../../src/hooks/useEnsuredControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,sBAAsB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;IACzE,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IACtB,YAAY,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;CACpD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EACrE,QAAQ,EAAE,YAAY,EACtB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAgBnD;AAED,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IACtB,YAAY,EAAE,CAAC,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;CACpD;AAID,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAAE,EAC/C,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,EAAE,YAAY,GACvB,EAAE,4BAA4B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAoDhF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useEnsuredControl.ts"],"sourcesContent":["import * as React from 'react';\nimport { isFunction } from '@vkontakte/vkjs';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../lib/warnOnce';\n\nexport interface UseEnsuredControlProps<V, E extends React.ChangeEvent<any>> {\n value?: V;\n defaultValue: V;\n disabled?: boolean | undefined;\n onChange?: (this: void, e: E) => any;\n}\n\nexport function useEnsuredControl<V, E extends React.ChangeEvent<any>>({\n onChange: onChangeProp,\n disabled,\n ...props\n}: UseEnsuredControlProps<V, E>): [V, (e: E) => any] {\n const [value, onChangeValue] = useCustomEnsuredControl(props);\n\n const onChange = React.useCallback(\n (e: E) => {\n if (disabled) {\n return;\n }\n\n onChangeValue(e.target.value);\n onChangeProp && onChangeProp(e);\n },\n [onChangeValue, onChangeProp, disabled],\n );\n\n return [value, onChange];\n}\n\nexport interface UseCustomEnsuredControlProps<V> {\n value?: V;\n defaultValue: V;\n disabled?: boolean | undefined;\n onChange?: (this: void, v: V) => any;\n}\n\nconst warn = warnOnce('useCustomEnsuredControl');\n\nexport function useCustomEnsuredControl<V = any>({\n value,\n defaultValue,\n disabled,\n onChange: onChangeProp,\n}: UseCustomEnsuredControlProps<V>): [V, React.Dispatch<React.SetStateAction<V>>] {\n const isControlled = value !== undefined;\n const [localValue, setLocalValue] = React.useState(defaultValue);\n\n const preservedControlledValueRef = React.useRef<V | undefined>(undefined);\n useIsomorphicLayoutEffect(() => {\n preservedControlledValueRef.current = value;\n });\n\n const onChange = React.useCallback(\n (nextValue: React.SetStateAction<V>) => {\n if (disabled) {\n return;\n }\n\n if (isFunction(nextValue)) {\n if (!isControlled) {\n setLocalValue((prevValue) => {\n const resolvedValue = nextValue(prevValue);\n if (onChangeProp) {\n onChangeProp(resolvedValue);\n }\n return resolvedValue;\n });\n } else if (onChangeProp) {\n if (process.env.NODE_ENV === 'development') {\n if (preservedControlledValueRef.current === undefined) {\n warn(\n `A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components`,\n 'error',\n );\n }\n }\n\n if (preservedControlledValueRef.current !== undefined) {\n const resolvedValue = nextValue(preservedControlledValueRef.current);\n onChangeProp(resolvedValue);\n }\n }\n } else {\n if (onChangeProp) {\n onChangeProp(nextValue);\n }\n if (!isControlled) {\n setLocalValue(nextValue);\n }\n }\n },\n [disabled, isControlled, onChangeProp],\n );\n\n return [isControlled ? value : localValue, onChange];\n}\n"],"names":["React","isFunction","useIsomorphicLayoutEffect","warnOnce","useEnsuredControl","onChange","onChangeProp","disabled","props","value","onChangeValue","useCustomEnsuredControl","useCallback","e","target","warn","defaultValue","isControlled","undefined","localValue","setLocalValue","useState","preservedControlledValueRef","useRef","current","nextValue","prevValue","resolvedValue","process","env","NODE_ENV"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,yBAAyB,QAAQ,sCAAmC;AAC7E,SAASC,QAAQ,QAAQ,qBAAkB;AAS3C,OAAO,SAASC,kBAAuD,EACrEC,UAAUC,YAAY,EACtBC,QAAQ,EACR,GAAGC,OAC0B;IAC7B,MAAM,CAACC,OAAOC,cAAc,GAAGC,wBAAwBH;IAEvD,MAAMH,WAAWL,MAAMY,WAAW,CAChC,CAACC;QACC,IAAIN,UAAU;YACZ;QACF;QAEAG,cAAcG,EAAEC,MAAM,CAACL,KAAK;QAC5BH,gBAAgBA,aAAaO;IAC/B,GACA;QAACH;QAAeJ;QAAcC;KAAS;IAGzC,OAAO;QAACE;QAAOJ;KAAS;AAC1B;AASA,MAAMU,OAAOZ,SAAS;AAEtB,OAAO,SAASQ,wBAAiC,EAC/CF,KAAK,EACLO,YAAY,EACZT,QAAQ,EACRF,UAAUC,YAAY,EACU;IAChC,MAAMW,eAAeR,UAAUS;IAC/B,MAAM,CAACC,YAAYC,cAAc,GAAGpB,MAAMqB,QAAQ,CAACL;IAEnD,MAAMM,8BAA8BtB,MAAMuB,MAAM,CAAgBL;IAChEhB,0BAA0B;QACxBoB,4BAA4BE,OAAO,GAAGf;IACxC;IAEA,MAAMJ,WAAWL,MAAMY,WAAW,CAChC,CAACa;QACC,IAAIlB,UAAU;YACZ;QACF;QAEA,IAAIN,WAAWwB,YAAY;YACzB,IAAI,CAACR,cAAc;gBACjBG,cAAc,CAACM;oBACb,MAAMC,gBAAgBF,UAAUC;oBAChC,IAAIpB,cAAc;wBAChBA,aAAaqB;oBACf;oBACA,OAAOA;gBACT;YACF,OAAO,IAAIrB,cAAc;gBACvB,IAAIsB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;oBAC1C,IAAIR,4BAA4BE,OAAO,KAAKN,WAAW;wBACrDH,KACE,CAAC,kUAAkU,CAAC,EACpU;oBAEJ;gBACF;gBAEA,IAAIO,4BAA4BE,OAAO,KAAKN,WAAW;oBACrD,MAAMS,gBAAgBF,UAAUH,4BAA4BE,OAAO;oBACnElB,aAAaqB;gBACf;YACF;QACF,OAAO;YACL,IAAIrB,cAAc;gBAChBA,aAAamB;YACf;YACA,IAAI,CAACR,cAAc;gBACjBG,cAAcK;YAChB;QACF;IACF,GACA;QAAClB;QAAUU;QAAcX;KAAa;IAGxC,OAAO;QAACW,eAAeR,QAAQU;QAAYd;KAAS;AACtD"}
1
+ {"version":3,"sources":["../../src/hooks/useEnsuredControl.ts"],"sourcesContent":["import * as React from 'react';\nimport { isFunction } from '@vkontakte/vkjs';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../lib/warnOnce';\n\nexport interface UseEnsuredControlProps<V, E extends React.ChangeEvent<any>> {\n value?: V | undefined;\n defaultValue: V;\n disabled?: boolean | undefined;\n onChange?: ((this: void, e: E) => any) | undefined;\n}\n\nexport function useEnsuredControl<V, E extends React.ChangeEvent<any>>({\n onChange: onChangeProp,\n disabled,\n ...props\n}: UseEnsuredControlProps<V, E>): [V, (e: E) => any] {\n const [value, onChangeValue] = useCustomEnsuredControl(props);\n\n const onChange = React.useCallback(\n (e: E) => {\n if (disabled) {\n return;\n }\n\n onChangeValue(e.target.value);\n onChangeProp && onChangeProp(e);\n },\n [onChangeValue, onChangeProp, disabled],\n );\n\n return [value, onChange];\n}\n\nexport interface UseCustomEnsuredControlProps<V> {\n value?: V | undefined;\n defaultValue: V;\n disabled?: boolean | undefined;\n onChange?: ((this: void, v: V) => any) | undefined;\n}\n\nconst warn = warnOnce('useCustomEnsuredControl');\n\nexport function useCustomEnsuredControl<V = any>({\n value,\n defaultValue,\n disabled,\n onChange: onChangeProp,\n}: UseCustomEnsuredControlProps<V>): [V, React.Dispatch<React.SetStateAction<V>>] {\n const isControlled = value !== undefined;\n const [localValue, setLocalValue] = React.useState(defaultValue);\n\n const preservedControlledValueRef = React.useRef<V | undefined>(undefined);\n useIsomorphicLayoutEffect(() => {\n preservedControlledValueRef.current = value;\n });\n\n const onChange = React.useCallback(\n (nextValue: React.SetStateAction<V>) => {\n if (disabled) {\n return;\n }\n\n if (isFunction(nextValue)) {\n if (!isControlled) {\n setLocalValue((prevValue) => {\n const resolvedValue = nextValue(prevValue);\n if (onChangeProp) {\n onChangeProp(resolvedValue);\n }\n return resolvedValue;\n });\n } else if (onChangeProp) {\n if (process.env.NODE_ENV === 'development') {\n if (preservedControlledValueRef.current === undefined) {\n warn(\n `A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components`,\n 'error',\n );\n }\n }\n\n if (preservedControlledValueRef.current !== undefined) {\n const resolvedValue = nextValue(preservedControlledValueRef.current);\n onChangeProp(resolvedValue);\n }\n }\n } else {\n if (onChangeProp) {\n onChangeProp(nextValue);\n }\n if (!isControlled) {\n setLocalValue(nextValue);\n }\n }\n },\n [disabled, isControlled, onChangeProp],\n );\n\n return [isControlled ? value : localValue, onChange];\n}\n"],"names":["React","isFunction","useIsomorphicLayoutEffect","warnOnce","useEnsuredControl","onChange","onChangeProp","disabled","props","value","onChangeValue","useCustomEnsuredControl","useCallback","e","target","warn","defaultValue","isControlled","undefined","localValue","setLocalValue","useState","preservedControlledValueRef","useRef","current","nextValue","prevValue","resolvedValue","process","env","NODE_ENV"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,yBAAyB,QAAQ,sCAAmC;AAC7E,SAASC,QAAQ,QAAQ,qBAAkB;AAS3C,OAAO,SAASC,kBAAuD,EACrEC,UAAUC,YAAY,EACtBC,QAAQ,EACR,GAAGC,OAC0B;IAC7B,MAAM,CAACC,OAAOC,cAAc,GAAGC,wBAAwBH;IAEvD,MAAMH,WAAWL,MAAMY,WAAW,CAChC,CAACC;QACC,IAAIN,UAAU;YACZ;QACF;QAEAG,cAAcG,EAAEC,MAAM,CAACL,KAAK;QAC5BH,gBAAgBA,aAAaO;IAC/B,GACA;QAACH;QAAeJ;QAAcC;KAAS;IAGzC,OAAO;QAACE;QAAOJ;KAAS;AAC1B;AASA,MAAMU,OAAOZ,SAAS;AAEtB,OAAO,SAASQ,wBAAiC,EAC/CF,KAAK,EACLO,YAAY,EACZT,QAAQ,EACRF,UAAUC,YAAY,EACU;IAChC,MAAMW,eAAeR,UAAUS;IAC/B,MAAM,CAACC,YAAYC,cAAc,GAAGpB,MAAMqB,QAAQ,CAACL;IAEnD,MAAMM,8BAA8BtB,MAAMuB,MAAM,CAAgBL;IAChEhB,0BAA0B;QACxBoB,4BAA4BE,OAAO,GAAGf;IACxC;IAEA,MAAMJ,WAAWL,MAAMY,WAAW,CAChC,CAACa;QACC,IAAIlB,UAAU;YACZ;QACF;QAEA,IAAIN,WAAWwB,YAAY;YACzB,IAAI,CAACR,cAAc;gBACjBG,cAAc,CAACM;oBACb,MAAMC,gBAAgBF,UAAUC;oBAChC,IAAIpB,cAAc;wBAChBA,aAAaqB;oBACf;oBACA,OAAOA;gBACT;YACF,OAAO,IAAIrB,cAAc;gBACvB,IAAIsB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;oBAC1C,IAAIR,4BAA4BE,OAAO,KAAKN,WAAW;wBACrDH,KACE,CAAC,kUAAkU,CAAC,EACpU;oBAEJ;gBACF;gBAEA,IAAIO,4BAA4BE,OAAO,KAAKN,WAAW;oBACrD,MAAMS,gBAAgBF,UAAUH,4BAA4BE,OAAO;oBACnElB,aAAaqB;gBACf;YACF;QACF,OAAO;YACL,IAAIrB,cAAc;gBAChBA,aAAamB;YACf;YACA,IAAI,CAACR,cAAc;gBACjBG,cAAcK;YAChB;QACF;IACF,GACA;QAAClB;QAAUU;QAAcX;KAAa;IAGxC,OAAO;QAACW,eAAeR,QAAQU;QAAYd;KAAS;AACtD"}
@@ -11,11 +11,11 @@ export type RemapReferencePropsFn<ReferenceElement extends HTMLElement = HTMLEle
11
11
  shown: boolean;
12
12
  }) => ReferenceProps<ReferenceElement>;
13
13
  export type UseFloatingElementProps<FloatingElement extends HTMLElement = HTMLElement, ReferenceElement extends HTMLElement = HTMLElement> = Omit<UseFloatingMiddlewaresBootstrapOptions, 'arrowRef'> & Omit<UseFloatingWithInteractionsProps, 'placement'> & {
14
- onPlacementChange?: OnPlacementChange;
15
- onReferenceHiddenChange?: (hidden: boolean) => void;
14
+ onPlacementChange?: OnPlacementChange | undefined;
15
+ onReferenceHiddenChange?: ((hidden: boolean) => void) | undefined;
16
16
  renderFloatingComponent: RenderFloatingComponentFn<FloatingElement>;
17
- remapReferenceProps?: RemapReferencePropsFn<ReferenceElement>;
18
- externalFloatingElementRef?: React.Ref<FloatingElement>;
17
+ remapReferenceProps?: RemapReferencePropsFn<ReferenceElement> | undefined;
18
+ externalFloatingElementRef?: React.Ref<FloatingElement> | undefined;
19
19
  };
20
20
  export type UseFloatingResult<ReferenceElement extends HTMLElement = HTMLElement> = {
21
21
  anchorRef: Ref<ReferenceElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"useFloatingElement.d.ts","sourceRoot":"","sources":["../../src/hooks/useFloatingElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,GAAG,EAAW,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,sCAAsC,EAE3C,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EAEvC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAKxF,MAAM,MAAM,sBAAsB,CAAC,eAAe,SAAS,WAAW,GAAG,WAAW,IAAI,IAAI,CAC1F,iCAAiC,EAC/B,OAAO,GACP,YAAY,GACZ,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,gBAAgB,GAChB,WAAW,CACd,GAAG;IACF,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,eAAe,SAAS,WAAW,GAAG,WAAW,IAAI,CACzF,KAAK,EAAE,sBAAsB,CAAC,eAAe,CAAC,KAC3C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;AAE5B,MAAM,MAAM,qBAAqB,CAAC,gBAAgB,SAAS,WAAW,GAAG,WAAW,IAAI,CACtF,KAAK,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,KACzD,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAEtC,MAAM,MAAM,uBAAuB,CACjC,eAAe,SAAS,WAAW,GAAG,WAAW,EACjD,gBAAgB,SAAS,WAAW,GAAG,WAAW,IAChD,IAAI,CAAC,sCAAsC,EAAE,UAAU,CAAC,GAC1D,IAAI,CAAC,gCAAgC,EAAE,WAAW,CAAC,GAAG;IACpD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,uBAAuB,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IACpE,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC9D,0BAA0B,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;CACzD,CAAC;AAEJ,MAAM,MAAM,iBAAiB,CAAC,gBAAgB,SAAS,WAAW,GAAG,WAAW,IAAI;IAClF,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjC,WAAW,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC9C,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,gBAAgB,SAAS,WAAW,GAAG,WAAW,EAClD,eAAe,SAAS,WAAW,GAAG,WAAW,EACjD,mgBAmCC,uBAAuB,CACxB,eAAe,EACf,gBAAgB,CACjB,KAAG,iBAAiB,CAAC,gBAAgB,CA8ErC,CAAC"}
1
+ {"version":3,"file":"useFloatingElement.d.ts","sourceRoot":"","sources":["../../src/hooks/useFloatingElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,GAAG,EAAW,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,sCAAsC,EAE3C,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EAEvC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAKxF,MAAM,MAAM,sBAAsB,CAAC,eAAe,SAAS,WAAW,GAAG,WAAW,IAAI,IAAI,CAC1F,iCAAiC,EAC/B,OAAO,GACP,YAAY,GACZ,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,gBAAgB,GAChB,WAAW,CACd,GAAG;IACF,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACxC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC;CAC1E,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,eAAe,SAAS,WAAW,GAAG,WAAW,IAAI,CACzF,KAAK,EAAE,sBAAsB,CAAC,eAAe,CAAC,KAC3C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;AAE5B,MAAM,MAAM,qBAAqB,CAAC,gBAAgB,SAAS,WAAW,GAAG,WAAW,IAAI,CACtF,KAAK,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,KACzD,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAEtC,MAAM,MAAM,uBAAuB,CACjC,eAAe,SAAS,WAAW,GAAG,WAAW,EACjD,gBAAgB,SAAS,WAAW,GAAG,WAAW,IAChD,IAAI,CAAC,sCAAsC,EAAE,UAAU,CAAC,GAC1D,IAAI,CAAC,gCAAgC,EAAE,WAAW,CAAC,GAAG;IACpD,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAClD,uBAAuB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAClE,uBAAuB,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC;IACpE,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;IAC1E,0BAA0B,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;CACrE,CAAC;AAEJ,MAAM,MAAM,iBAAiB,CAAC,gBAAgB,SAAS,WAAW,GAAG,WAAW,IAAI;IAClF,SAAS,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjC,WAAW,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC9C,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,gBAAgB,SAAS,WAAW,GAAG,WAAW,EAClD,eAAe,SAAS,WAAW,GAAG,WAAW,EACjD,mgBAmCC,uBAAuB,CACxB,eAAe,EACf,gBAAgB,CACjB,KAAG,iBAAiB,CAAC,gBAAgB,CA8ErC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useFloatingElement.tsx"],"sourcesContent":["import * as React from 'react';\nimport { type Ref, useMemo } from 'react';\nimport {\n type OnPlacementChange,\n useFloatingMiddlewaresBootstrap,\n type UseFloatingMiddlewaresBootstrapOptions,\n useFloatingWithInteractions,\n type UseFloatingWithInteractionsProps,\n type UseFloatingWithInteractionsReturn,\n usePlacementChangeCallback,\n} from '../lib/floating';\nimport type { ReferenceProps } from '../lib/floating/useFloatingWithInteractions/types';\nimport { useReferenceHiddenChangeCallback } from '../lib/floating/useReferenceHiddenChangeCallback';\nimport { useExternRef } from './useExternRef';\nimport { useGlobalEscKeyDown } from './useGlobalEscKeyDown';\n\nexport type FloatingComponentProps<FloatingElement extends HTMLElement = HTMLElement> = Pick<\n UseFloatingWithInteractionsReturn,\n | 'shown'\n | 'willBeHide'\n | 'floatingProps'\n | 'middlewareData'\n | 'onClose'\n | 'onRestoreFocus'\n | 'placement'\n> & {\n floatingRef: React.Ref<FloatingElement>;\n setArrowRef: React.Dispatch<React.SetStateAction<HTMLDivElement | null>>;\n};\n\nexport type RenderFloatingComponentFn<FloatingElement extends HTMLElement = HTMLElement> = (\n props: FloatingComponentProps<FloatingElement>,\n) => React.ReactNode | null;\n\nexport type RemapReferencePropsFn<ReferenceElement extends HTMLElement = HTMLElement> = (\n props: ReferenceProps<ReferenceElement> & { shown: boolean },\n) => ReferenceProps<ReferenceElement>;\n\nexport type UseFloatingElementProps<\n FloatingElement extends HTMLElement = HTMLElement,\n ReferenceElement extends HTMLElement = HTMLElement,\n> = Omit<UseFloatingMiddlewaresBootstrapOptions, 'arrowRef'> &\n Omit<UseFloatingWithInteractionsProps, 'placement'> & {\n onPlacementChange?: OnPlacementChange;\n onReferenceHiddenChange?: (hidden: boolean) => void;\n renderFloatingComponent: RenderFloatingComponentFn<FloatingElement>;\n remapReferenceProps?: RemapReferencePropsFn<ReferenceElement>;\n externalFloatingElementRef?: React.Ref<FloatingElement>;\n };\n\nexport type UseFloatingResult<ReferenceElement extends HTMLElement = HTMLElement> = {\n anchorRef: Ref<ReferenceElement>;\n anchorProps: ReferenceProps<ReferenceElement>;\n component: React.ReactNode | null;\n};\n\nexport const useFloatingElement = <\n ReferenceElement extends HTMLElement = HTMLElement,\n FloatingElement extends HTMLElement = HTMLElement,\n>({\n // useFloatingMiddlewaresBootstrap\n placement = 'bottom-start',\n arrow,\n arrowHeight,\n arrowPadding,\n sameWidth,\n offsetByMainAxis = 0,\n offsetByCrossAxis = 0,\n customMiddlewares,\n hideWhenReferenceHidden,\n disableFlipMiddleware = false,\n disableShiftMiddleware = false,\n overflowPadding,\n\n // useFloatingWithInteractions\n trigger,\n hoverDelay,\n closeAfterClick,\n disabled,\n disableInteractive,\n disableCloseOnClickOutside,\n disableCloseOnEscKey,\n defaultShown,\n shown: shownProp,\n onShownChange,\n onShownChanged,\n strategy,\n onReferenceHiddenChange,\n\n onPlacementChange,\n\n renderFloatingComponent,\n externalFloatingElementRef,\n remapReferenceProps,\n}: UseFloatingElementProps<\n FloatingElement,\n ReferenceElement\n>): UseFloatingResult<ReferenceElement> => {\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n\n const { middlewares, strictPlacement } = useFloatingMiddlewaresBootstrap({\n placement,\n offsetByMainAxis,\n offsetByCrossAxis,\n customMiddlewares,\n hideWhenReferenceHidden,\n sameWidth,\n arrow,\n arrowRef,\n arrowPadding,\n arrowHeight,\n disableFlipMiddleware,\n disableShiftMiddleware,\n overflowPadding,\n });\n\n const {\n placement: resolvedPlacement,\n shown,\n willBeHide,\n refs,\n referenceProps,\n floatingProps,\n middlewareData,\n onClose,\n onRestoreFocus,\n onEscapeKeyDown,\n } = useFloatingWithInteractions({\n middlewares,\n strategy,\n placement: strictPlacement,\n trigger,\n hoverDelay,\n closeAfterClick,\n disabled,\n disableInteractive,\n disableCloseOnClickOutside,\n disableCloseOnEscKey,\n defaultShown,\n shown: shownProp,\n onShownChange,\n onShownChanged,\n });\n\n const resultRef = useExternRef<FloatingElement>(externalFloatingElementRef, refs.setFloating);\n\n usePlacementChangeCallback(placement, resolvedPlacement, onPlacementChange);\n\n useReferenceHiddenChangeCallback(middlewareData.hide, onReferenceHiddenChange);\n\n const component = renderFloatingComponent({\n shown,\n willBeHide,\n floatingProps,\n floatingRef: resultRef,\n middlewareData,\n placement: resolvedPlacement,\n onClose,\n onRestoreFocus,\n setArrowRef,\n });\n\n useGlobalEscKeyDown(shown, onEscapeKeyDown);\n\n const remappedReferenceProps = useMemo(\n () =>\n remapReferenceProps ? remapReferenceProps({ ...referenceProps, shown }) : referenceProps,\n [remapReferenceProps, shown, referenceProps],\n );\n\n return {\n anchorRef: refs.setReference,\n anchorProps: remappedReferenceProps,\n component,\n };\n};\n"],"names":["React","useMemo","useFloatingMiddlewaresBootstrap","useFloatingWithInteractions","usePlacementChangeCallback","useReferenceHiddenChangeCallback","useExternRef","useGlobalEscKeyDown","useFloatingElement","placement","arrow","arrowHeight","arrowPadding","sameWidth","offsetByMainAxis","offsetByCrossAxis","customMiddlewares","hideWhenReferenceHidden","disableFlipMiddleware","disableShiftMiddleware","overflowPadding","trigger","hoverDelay","closeAfterClick","disabled","disableInteractive","disableCloseOnClickOutside","disableCloseOnEscKey","defaultShown","shown","shownProp","onShownChange","onShownChanged","strategy","onReferenceHiddenChange","onPlacementChange","renderFloatingComponent","externalFloatingElementRef","remapReferenceProps","arrowRef","setArrowRef","useState","middlewares","strictPlacement","resolvedPlacement","willBeHide","refs","referenceProps","floatingProps","middlewareData","onClose","onRestoreFocus","onEscapeKeyDown","resultRef","setFloating","hide","component","floatingRef","remappedReferenceProps","anchorRef","setReference","anchorProps"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAAmBC,OAAO,QAAQ,QAAQ;AAC1C,SAEEC,+BAA+B,EAE/BC,2BAA2B,EAG3BC,0BAA0B,QACrB,2BAAkB;AAEzB,SAASC,gCAAgC,QAAQ,sDAAmD;AACpG,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,mBAAmB,QAAQ,2BAAwB;AA0C5D,OAAO,MAAMC,qBAAqB,CAGhC,EACA,kCAAkC;AAClCC,YAAY,cAAc,EAC1BC,KAAK,EACLC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,mBAAmB,CAAC,EACpBC,oBAAoB,CAAC,EACrBC,iBAAiB,EACjBC,uBAAuB,EACvBC,wBAAwB,KAAK,EAC7BC,yBAAyB,KAAK,EAC9BC,eAAe,EAEf,8BAA8B;AAC9BC,OAAO,EACPC,UAAU,EACVC,eAAe,EACfC,QAAQ,EACRC,kBAAkB,EAClBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,YAAY,EACZC,OAAOC,SAAS,EAChBC,aAAa,EACbC,cAAc,EACdC,QAAQ,EACRC,uBAAuB,EAEvBC,iBAAiB,EAEjBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,mBAAmB,EAIpB;IACC,MAAM,CAACC,UAAUC,YAAY,GAAGxC,MAAMyC,QAAQ,CAAwB;IAEtE,MAAM,EAAEC,WAAW,EAAEC,eAAe,EAAE,GAAGzC,gCAAgC;QACvEO;QACAK;QACAC;QACAC;QACAC;QACAJ;QACAH;QACA6B;QACA3B;QACAD;QACAO;QACAC;QACAC;IACF;IAEA,MAAM,EACJX,WAAWmC,iBAAiB,EAC5Bf,KAAK,EACLgB,UAAU,EACVC,IAAI,EACJC,cAAc,EACdC,aAAa,EACbC,cAAc,EACdC,OAAO,EACPC,cAAc,EACdC,eAAe,EAChB,GAAGjD,4BAA4B;QAC9BuC;QACAT;QACAxB,WAAWkC;QACXtB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC,OAAOC;QACPC;QACAC;IACF;IAEA,MAAMqB,YAAY/C,aAA8B+B,4BAA4BS,KAAKQ,WAAW;IAE5FlD,2BAA2BK,WAAWmC,mBAAmBT;IAEzD9B,iCAAiC4C,eAAeM,IAAI,EAAErB;IAEtD,MAAMsB,YAAYpB,wBAAwB;QACxCP;QACAgB;QACAG;QACAS,aAAaJ;QACbJ;QACAxC,WAAWmC;QACXM;QACAC;QACAX;IACF;IAEAjC,oBAAoBsB,OAAOuB;IAE3B,MAAMM,yBAAyBzD,QAC7B,IACEqC,sBAAsBA,oBAAoB;YAAE,GAAGS,cAAc;YAAElB;QAAM,KAAKkB,gBAC5E;QAACT;QAAqBT;QAAOkB;KAAe;IAG9C,OAAO;QACLY,WAAWb,KAAKc,YAAY;QAC5BC,aAAaH;QACbF;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../../src/hooks/useFloatingElement.tsx"],"sourcesContent":["import * as React from 'react';\nimport { type Ref, useMemo } from 'react';\nimport {\n type OnPlacementChange,\n useFloatingMiddlewaresBootstrap,\n type UseFloatingMiddlewaresBootstrapOptions,\n useFloatingWithInteractions,\n type UseFloatingWithInteractionsProps,\n type UseFloatingWithInteractionsReturn,\n usePlacementChangeCallback,\n} from '../lib/floating';\nimport type { ReferenceProps } from '../lib/floating/useFloatingWithInteractions/types';\nimport { useReferenceHiddenChangeCallback } from '../lib/floating/useReferenceHiddenChangeCallback';\nimport { useExternRef } from './useExternRef';\nimport { useGlobalEscKeyDown } from './useGlobalEscKeyDown';\n\nexport type FloatingComponentProps<FloatingElement extends HTMLElement = HTMLElement> = Pick<\n UseFloatingWithInteractionsReturn,\n | 'shown'\n | 'willBeHide'\n | 'floatingProps'\n | 'middlewareData'\n | 'onClose'\n | 'onRestoreFocus'\n | 'placement'\n> & {\n floatingRef: React.Ref<FloatingElement>;\n setArrowRef: React.Dispatch<React.SetStateAction<HTMLDivElement | null>>;\n};\n\nexport type RenderFloatingComponentFn<FloatingElement extends HTMLElement = HTMLElement> = (\n props: FloatingComponentProps<FloatingElement>,\n) => React.ReactNode | null;\n\nexport type RemapReferencePropsFn<ReferenceElement extends HTMLElement = HTMLElement> = (\n props: ReferenceProps<ReferenceElement> & { shown: boolean },\n) => ReferenceProps<ReferenceElement>;\n\nexport type UseFloatingElementProps<\n FloatingElement extends HTMLElement = HTMLElement,\n ReferenceElement extends HTMLElement = HTMLElement,\n> = Omit<UseFloatingMiddlewaresBootstrapOptions, 'arrowRef'> &\n Omit<UseFloatingWithInteractionsProps, 'placement'> & {\n onPlacementChange?: OnPlacementChange | undefined;\n onReferenceHiddenChange?: ((hidden: boolean) => void) | undefined;\n renderFloatingComponent: RenderFloatingComponentFn<FloatingElement>;\n remapReferenceProps?: RemapReferencePropsFn<ReferenceElement> | undefined;\n externalFloatingElementRef?: React.Ref<FloatingElement> | undefined;\n };\n\nexport type UseFloatingResult<ReferenceElement extends HTMLElement = HTMLElement> = {\n anchorRef: Ref<ReferenceElement>;\n anchorProps: ReferenceProps<ReferenceElement>;\n component: React.ReactNode | null;\n};\n\nexport const useFloatingElement = <\n ReferenceElement extends HTMLElement = HTMLElement,\n FloatingElement extends HTMLElement = HTMLElement,\n>({\n // useFloatingMiddlewaresBootstrap\n placement = 'bottom-start',\n arrow,\n arrowHeight,\n arrowPadding,\n sameWidth,\n offsetByMainAxis = 0,\n offsetByCrossAxis = 0,\n customMiddlewares,\n hideWhenReferenceHidden,\n disableFlipMiddleware = false,\n disableShiftMiddleware = false,\n overflowPadding,\n\n // useFloatingWithInteractions\n trigger,\n hoverDelay,\n closeAfterClick,\n disabled,\n disableInteractive,\n disableCloseOnClickOutside,\n disableCloseOnEscKey,\n defaultShown,\n shown: shownProp,\n onShownChange,\n onShownChanged,\n strategy,\n onReferenceHiddenChange,\n\n onPlacementChange,\n\n renderFloatingComponent,\n externalFloatingElementRef,\n remapReferenceProps,\n}: UseFloatingElementProps<\n FloatingElement,\n ReferenceElement\n>): UseFloatingResult<ReferenceElement> => {\n const [arrowRef, setArrowRef] = React.useState<HTMLDivElement | null>(null);\n\n const { middlewares, strictPlacement } = useFloatingMiddlewaresBootstrap({\n placement,\n offsetByMainAxis,\n offsetByCrossAxis,\n customMiddlewares,\n hideWhenReferenceHidden,\n sameWidth,\n arrow,\n arrowRef,\n arrowPadding,\n arrowHeight,\n disableFlipMiddleware,\n disableShiftMiddleware,\n overflowPadding,\n });\n\n const {\n placement: resolvedPlacement,\n shown,\n willBeHide,\n refs,\n referenceProps,\n floatingProps,\n middlewareData,\n onClose,\n onRestoreFocus,\n onEscapeKeyDown,\n } = useFloatingWithInteractions({\n middlewares,\n strategy,\n placement: strictPlacement,\n trigger,\n hoverDelay,\n closeAfterClick,\n disabled,\n disableInteractive,\n disableCloseOnClickOutside,\n disableCloseOnEscKey,\n defaultShown,\n shown: shownProp,\n onShownChange,\n onShownChanged,\n });\n\n const resultRef = useExternRef<FloatingElement>(externalFloatingElementRef, refs.setFloating);\n\n usePlacementChangeCallback(placement, resolvedPlacement, onPlacementChange);\n\n useReferenceHiddenChangeCallback(middlewareData.hide, onReferenceHiddenChange);\n\n const component = renderFloatingComponent({\n shown,\n willBeHide,\n floatingProps,\n floatingRef: resultRef,\n middlewareData,\n placement: resolvedPlacement,\n onClose,\n onRestoreFocus,\n setArrowRef,\n });\n\n useGlobalEscKeyDown(shown, onEscapeKeyDown);\n\n const remappedReferenceProps = useMemo(\n () =>\n remapReferenceProps ? remapReferenceProps({ ...referenceProps, shown }) : referenceProps,\n [remapReferenceProps, shown, referenceProps],\n );\n\n return {\n anchorRef: refs.setReference,\n anchorProps: remappedReferenceProps,\n component,\n };\n};\n"],"names":["React","useMemo","useFloatingMiddlewaresBootstrap","useFloatingWithInteractions","usePlacementChangeCallback","useReferenceHiddenChangeCallback","useExternRef","useGlobalEscKeyDown","useFloatingElement","placement","arrow","arrowHeight","arrowPadding","sameWidth","offsetByMainAxis","offsetByCrossAxis","customMiddlewares","hideWhenReferenceHidden","disableFlipMiddleware","disableShiftMiddleware","overflowPadding","trigger","hoverDelay","closeAfterClick","disabled","disableInteractive","disableCloseOnClickOutside","disableCloseOnEscKey","defaultShown","shown","shownProp","onShownChange","onShownChanged","strategy","onReferenceHiddenChange","onPlacementChange","renderFloatingComponent","externalFloatingElementRef","remapReferenceProps","arrowRef","setArrowRef","useState","middlewares","strictPlacement","resolvedPlacement","willBeHide","refs","referenceProps","floatingProps","middlewareData","onClose","onRestoreFocus","onEscapeKeyDown","resultRef","setFloating","hide","component","floatingRef","remappedReferenceProps","anchorRef","setReference","anchorProps"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAAmBC,OAAO,QAAQ,QAAQ;AAC1C,SAEEC,+BAA+B,EAE/BC,2BAA2B,EAG3BC,0BAA0B,QACrB,2BAAkB;AAEzB,SAASC,gCAAgC,QAAQ,sDAAmD;AACpG,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,mBAAmB,QAAQ,2BAAwB;AA0C5D,OAAO,MAAMC,qBAAqB,CAGhC,EACA,kCAAkC;AAClCC,YAAY,cAAc,EAC1BC,KAAK,EACLC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTC,mBAAmB,CAAC,EACpBC,oBAAoB,CAAC,EACrBC,iBAAiB,EACjBC,uBAAuB,EACvBC,wBAAwB,KAAK,EAC7BC,yBAAyB,KAAK,EAC9BC,eAAe,EAEf,8BAA8B;AAC9BC,OAAO,EACPC,UAAU,EACVC,eAAe,EACfC,QAAQ,EACRC,kBAAkB,EAClBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,YAAY,EACZC,OAAOC,SAAS,EAChBC,aAAa,EACbC,cAAc,EACdC,QAAQ,EACRC,uBAAuB,EAEvBC,iBAAiB,EAEjBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,mBAAmB,EAIpB;IACC,MAAM,CAACC,UAAUC,YAAY,GAAGxC,MAAMyC,QAAQ,CAAwB;IAEtE,MAAM,EAAEC,WAAW,EAAEC,eAAe,EAAE,GAAGzC,gCAAgC;QACvEO;QACAK;QACAC;QACAC;QACAC;QACAJ;QACAH;QACA6B;QACA3B;QACAD;QACAO;QACAC;QACAC;IACF;IAEA,MAAM,EACJX,WAAWmC,iBAAiB,EAC5Bf,KAAK,EACLgB,UAAU,EACVC,IAAI,EACJC,cAAc,EACdC,aAAa,EACbC,cAAc,EACdC,OAAO,EACPC,cAAc,EACdC,eAAe,EAChB,GAAGjD,4BAA4B;QAC9BuC;QACAT;QACAxB,WAAWkC;QACXtB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC,OAAOC;QACPC;QACAC;IACF;IAEA,MAAMqB,YAAY/C,aAA8B+B,4BAA4BS,KAAKQ,WAAW;IAE5FlD,2BAA2BK,WAAWmC,mBAAmBT;IAEzD9B,iCAAiC4C,eAAeM,IAAI,EAAErB;IAEtD,MAAMsB,YAAYpB,wBAAwB;QACxCP;QACAgB;QACAG;QACAS,aAAaJ;QACbJ;QACAxC,WAAWmC;QACXM;QACAC;QACAX;IACF;IAEAjC,oBAAoBsB,OAAOuB;IAE3B,MAAMM,yBAAyBzD,QAC7B,IACEqC,sBAAsBA,oBAAoB;YAAE,GAAGS,cAAc;YAAElB;QAAM,KAAKkB,gBAC5E;QAACT;QAAqBT;QAAOkB;KAAe;IAG9C,OAAO;QACLY,WAAWb,KAAKc,YAAY;QAC5BC,aAAaH;QACbF;IACF;AACF,EAAE"}
@@ -1,6 +1,6 @@
1
1
  import type * as React from 'react';
2
2
  interface FocusGuardProps {
3
- onFocus?: (event: React.FocusEvent<HTMLSpanElement>) => void;
3
+ onFocus?: ((event: React.FocusEvent<HTMLSpanElement>) => void) | undefined;
4
4
  }
5
5
  export declare const FocusGuard: ({ onFocus }: FocusGuardProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"FocusGuard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFocusTrap/FocusGuard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;CAC9D;AAED,eAAO,MAAM,UAAU,GAAI,aAAa,eAAe,4CAEtD,CAAC"}
1
+ {"version":3,"file":"FocusGuard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFocusTrap/FocusGuard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAGpC,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5E;AAED,eAAO,MAAM,UAAU,GAAI,aAAa,eAAe,4CAEtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useFocusTrap/FocusGuard.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { VisuallyHidden } from '../../components/VisuallyHidden/VisuallyHidden';\n\ninterface FocusGuardProps {\n onFocus?: (event: React.FocusEvent<HTMLSpanElement>) => void;\n}\n\nexport const FocusGuard = ({ onFocus }: FocusGuardProps) => (\n <VisuallyHidden aria-hidden data-focus-guard tabIndex={0} onFocus={onFocus} />\n);\n"],"names":["VisuallyHidden","FocusGuard","onFocus","aria-hidden","data-focus-guard","tabIndex"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,oDAAiD;AAMhF,OAAO,MAAMC,aAAa,CAAC,EAAEC,OAAO,EAAmB,iBACrD,KAACF;QAAeG,aAAW;QAACC,kBAAgB;QAACC,UAAU;QAAGH,SAASA;OACnE"}
1
+ {"version":3,"sources":["../../../src/hooks/useFocusTrap/FocusGuard.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { VisuallyHidden } from '../../components/VisuallyHidden/VisuallyHidden';\n\ninterface FocusGuardProps {\n onFocus?: ((event: React.FocusEvent<HTMLSpanElement>) => void) | undefined;\n}\n\nexport const FocusGuard = ({ onFocus }: FocusGuardProps) => (\n <VisuallyHidden aria-hidden data-focus-guard tabIndex={0} onFocus={onFocus} />\n);\n"],"names":["VisuallyHidden","FocusGuard","onFocus","aria-hidden","data-focus-guard","tabIndex"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,oDAAiD;AAMhF,OAAO,MAAMC,aAAa,CAAC,EAAEC,OAAO,EAAmB,iBACrD,KAACF;QAAeG,aAAW;QAACC,kBAAgB;QAACC,UAAU;QAAGH,SAASA;OACnE"}
@@ -5,34 +5,30 @@ export type UseFocusTrapProps = {
5
5
  *
6
6
  * @default false
7
7
  */
8
- disabled?: boolean;
8
+ disabled?: boolean | undefined;
9
9
  /**
10
10
  * Управление поведением автофокуса при появлении всплывающего окна.
11
11
  * При прокидывании `true` фокус будет установлен на первый элемент.
12
12
  * При прокидывании `root` фокус будет установлен в корень.
13
13
  * @default true
14
14
  */
15
- autoFocus?: boolean | 'root';
15
+ autoFocus?: boolean | 'root' | undefined;
16
16
  /**
17
17
  * Управление поведением возврата фокуса при закрытии всплывающего окна.
18
18
  * @default true
19
19
  */
20
- restoreFocus?: boolean | (() => boolean | HTMLElement);
20
+ restoreFocus?: boolean | (() => boolean | HTMLElement) | undefined;
21
21
  /**
22
22
  * Время в миллисекундах после которого срабатывает автофокус при появлении всплывающего окна.
23
23
  * @default 0
24
24
  */
25
- autoFocusDelay?: number;
26
- /**
27
- * Пользовательские опции для MutationObserver, который отслеживает изменения DOM внутри компонента и пересчитывает ноды для фокуса.
28
- */
29
- mutationObserverOptions?: MutationObserverInit;
25
+ autoFocusDelay?: number | undefined;
30
26
  /**
31
27
  * @default true
32
28
  */
33
- mount?: boolean;
29
+ mount?: boolean | undefined;
34
30
  };
35
- export declare const useFocusTrap: (ref: React.RefObject<HTMLElement | null>, { mount, disabled, autoFocus, restoreFocus, autoFocusDelay, mutationObserverOptions, }: UseFocusTrapProps) => {
31
+ export declare const useFocusTrap: (ref: React.RefObject<HTMLElement | null>, { mount, disabled, autoFocus, restoreFocus, autoFocusDelay, }: UseFocusTrapProps) => {
36
32
  beforeGuard: false | import("react/jsx-runtime").JSX.Element;
37
33
  afterGuard: false | import("react/jsx-runtime").JSX.Element;
38
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFocusTrap/useFocusTrap.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAqDpC,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC;IACvD;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,uBAAuB,CAAC,EAAE,oBAAoB,CAAC;IAC/C;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,KAAK,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,wFAOG,iBAAiB;;;CA8FrB,CAAC"}
1
+ {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFocusTrap/useFocusTrap.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAuDpC,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IACnE;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,KAAK,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,+DAMG,iBAAiB;;;CAmGrB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useRef } from "react";
4
+ import { arraysEquals } from "../../helpers/array.js";
3
5
  import { FOCUSABLE_ELEMENTS_LIST } from "../../lib/accessibility.js";
4
6
  import { getWindow } from "../../lib/dom.js";
5
7
  import { useMutationObserver } from "../useMutationObserver.js";
@@ -40,7 +42,8 @@ const getLastFocusable = (root)=>{
40
42
  const nodes = collectFocusable(root);
41
43
  return nodes[nodes.length - 1] || null;
42
44
  };
43
- export const useFocusTrap = (ref, { mount = true, disabled = false, autoFocus = true, restoreFocus = true, autoFocusDelay = 0, mutationObserverOptions })=>{
45
+ export const useFocusTrap = (ref, { mount = true, disabled = false, autoFocus = true, restoreFocus = true, autoFocusDelay = 0 })=>{
46
+ const prevFocusableRef = useRef([]);
44
47
  const createFocusFn = (getFocusElement)=>{
45
48
  return ()=>{
46
49
  const node = getFocusElement(ref.current);
@@ -78,7 +81,11 @@ export const useFocusTrap = (ref, { mount = true, disabled = false, autoFocus =
78
81
  }
79
82
  const activeElement = doc.activeElement;
80
83
  const focusableNodes = collectFocusable(parentNode);
84
+ if (arraysEquals(focusableNodes, prevFocusableRef.current)) {
85
+ return;
86
+ }
81
87
  if (focusableNodes.length === 0) {
88
+ prevFocusableRef.current = [];
82
89
  return;
83
90
  }
84
91
  const currentElementIndex = Math.max(activeElement ? focusableNodes.indexOf(activeElement) : -1, 0);
@@ -88,8 +95,9 @@ export const useFocusTrap = (ref, { mount = true, disabled = false, autoFocus =
88
95
  preventScroll: true
89
96
  });
90
97
  }
98
+ prevFocusableRef.current = focusableNodes;
91
99
  });
92
- useMutationObserver(ref, ()=>ref.current && onMutateParentHandler(ref.current), mutationObserverOptions);
100
+ useMutationObserver(ref, ()=>ref.current && onMutateParentHandler(ref.current));
93
101
  const createGuardFocusHandler = (focusFn, focusFromOutside)=>{
94
102
  return (event)=>{
95
103
  if (!mount || disabled || !ref.current) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useFocusTrap/useFocusTrap.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { FOCUSABLE_ELEMENTS_LIST } from '../../lib/accessibility';\nimport { getWindow } from '../../lib/dom';\nimport { useMutationObserver } from '../useMutationObserver';\nimport { useStableCallback } from '../useStableCallback';\nimport { FocusGuard } from './FocusGuard';\nimport { useAutoFocus } from './useAutoFocus';\nimport { useRestoreFocus } from './useRestoreFocus';\n\nconst FOCUSABLE_ELEMENTS = FOCUSABLE_ELEMENTS_LIST.join();\n\nconst collectFocusable = (root: HTMLElement): HTMLElement[] => {\n const newFocusableElements =\n // eslint-disable-next-line no-restricted-properties\n root.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS);\n const nodes = Array.from(newFocusableElements).filter((node) => {\n // Исключаем гарды из списка фокусируемых элементов\n if (node.hasAttribute('data-focus-guard')) {\n return false;\n }\n\n const { display, visibility } = getComputedStyle(node);\n const isHidden = display === 'none' || visibility === 'hidden';\n const isDisabled = (node as HTMLButtonElement).disabled ?? false;\n\n return !isHidden && !isDisabled;\n });\n\n if (nodes.length === 0) {\n nodes.push(root);\n }\n\n return nodes;\n};\n\nconst getFirstFocusable = (root: HTMLElement | null): HTMLElement | null => {\n if (!root) {\n return null;\n }\n\n const nodes = collectFocusable(root);\n return nodes[0] || null;\n};\n\nconst getLastFocusable = (root: HTMLElement | null): HTMLElement | null => {\n if (!root) {\n return null;\n }\n\n const nodes = collectFocusable(root);\n return nodes[nodes.length - 1] || null;\n};\n\nexport type UseFocusTrapProps = {\n /**\n * Форсированное отключение захвата фокуса\n *\n * @default false\n */\n disabled?: boolean;\n /**\n * Управление поведением автофокуса при появлении всплывающего окна.\n * При прокидывании `true` фокус будет установлен на первый элемент.\n * При прокидывании `root` фокус будет установлен в корень.\n * @default true\n */\n autoFocus?: boolean | 'root';\n /**\n * Управление поведением возврата фокуса при закрытии всплывающего окна.\n * @default true\n */\n restoreFocus?: boolean | (() => boolean | HTMLElement);\n /**\n * Время в миллисекундах после которого срабатывает автофокус при появлении всплывающего окна.\n * @default 0\n */\n autoFocusDelay?: number;\n /**\n * Пользовательские опции для MutationObserver, который отслеживает изменения DOM внутри компонента и пересчитывает ноды для фокуса.\n */\n mutationObserverOptions?: MutationObserverInit;\n /**\n * @default true\n */\n mount?: boolean;\n};\n\nexport const useFocusTrap = (\n ref: React.RefObject<HTMLElement | null>,\n {\n mount = true,\n disabled = false,\n autoFocus = true,\n restoreFocus = true,\n autoFocusDelay = 0,\n mutationObserverOptions,\n }: UseFocusTrapProps,\n) => {\n const createFocusFn = (getFocusElement: (root: HTMLElement | null) => HTMLElement | null) => {\n return () => {\n const node = getFocusElement(ref.current);\n if (node) {\n node.focus({ preventScroll: true });\n } else if (ref.current) {\n ref.current.focus();\n }\n };\n };\n\n const focusFirst = useStableCallback(createFocusFn(getFirstFocusable));\n\n const focusLast = useStableCallback(createFocusFn(getLastFocusable));\n\n useRestoreFocus({\n restoreFocus,\n autoFocusDelay,\n mount,\n ref,\n });\n\n useAutoFocus(ref, {\n autoFocus,\n disabled,\n mount,\n autoFocusDelay,\n focusFirst,\n });\n\n const onMutateParentHandler = useStableCallback((parentNode: HTMLElement) => {\n if (disabled || !autoFocus || !mount) {\n return;\n }\n\n const doc = getWindow(parentNode)?.document;\n if (!doc) {\n return;\n }\n\n const activeElement = doc.activeElement as HTMLElement;\n const focusableNodes = collectFocusable(parentNode);\n\n if (focusableNodes.length === 0) {\n return;\n }\n\n const currentElementIndex = Math.max(\n activeElement ? focusableNodes.indexOf(activeElement) : -1,\n 0,\n );\n\n const nodeToFocus = focusableNodes[currentElementIndex];\n if (nodeToFocus) {\n nodeToFocus.focus({ preventScroll: true });\n }\n });\n\n useMutationObserver(\n ref,\n () => ref.current && onMutateParentHandler(ref.current),\n mutationObserverOptions,\n );\n\n const createGuardFocusHandler = (focusFn: () => void, focusFromOutside: () => void) => {\n return (event: React.FocusEvent<HTMLSpanElement>) => {\n if (!mount || disabled || !ref.current) {\n return;\n }\n\n // Проверяем, был ли предыдущий активный элемент внутри root\n // Если нет, значит фокус пришёл извне, и нужно использовать focusFromOutside\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n\n if (relatedTarget === null || (relatedTarget && !ref.current.contains(relatedTarget))) {\n focusFromOutside();\n return;\n }\n\n focusFn();\n };\n };\n\n const onBeforeGuardFocus = useStableCallback(createGuardFocusHandler(focusLast, focusFirst));\n const onAfterGuardFocus = useStableCallback(createGuardFocusHandler(focusFirst, focusLast));\n\n const shouldRenderGuards = mount && !disabled;\n\n return {\n beforeGuard: shouldRenderGuards && <FocusGuard onFocus={onBeforeGuardFocus} />,\n afterGuard: shouldRenderGuards && <FocusGuard onFocus={onAfterGuardFocus} />,\n };\n};\n"],"names":["FOCUSABLE_ELEMENTS_LIST","getWindow","useMutationObserver","useStableCallback","FocusGuard","useAutoFocus","useRestoreFocus","FOCUSABLE_ELEMENTS","join","collectFocusable","root","newFocusableElements","querySelectorAll","nodes","Array","from","filter","node","hasAttribute","display","visibility","getComputedStyle","isHidden","isDisabled","disabled","length","push","getFirstFocusable","getLastFocusable","useFocusTrap","ref","mount","autoFocus","restoreFocus","autoFocusDelay","mutationObserverOptions","createFocusFn","getFocusElement","current","focus","preventScroll","focusFirst","focusLast","onMutateParentHandler","parentNode","doc","document","activeElement","focusableNodes","currentElementIndex","Math","max","indexOf","nodeToFocus","createGuardFocusHandler","focusFn","focusFromOutside","event","relatedTarget","contains","onBeforeGuardFocus","onAfterGuardFocus","shouldRenderGuards","beforeGuard","onFocus","afterGuard"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/hooks/useFocusTrap/useFocusTrap.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useRef } from 'react';\nimport { arraysEquals } from '../../helpers/array';\nimport { FOCUSABLE_ELEMENTS_LIST } from '../../lib/accessibility';\nimport { getWindow } from '../../lib/dom';\nimport { useMutationObserver } from '../useMutationObserver';\nimport { useStableCallback } from '../useStableCallback';\nimport { FocusGuard } from './FocusGuard';\nimport { useAutoFocus } from './useAutoFocus';\nimport { useRestoreFocus } from './useRestoreFocus';\n\nconst FOCUSABLE_ELEMENTS = FOCUSABLE_ELEMENTS_LIST.join();\n\nconst collectFocusable = (root: HTMLElement): HTMLElement[] => {\n const newFocusableElements =\n // eslint-disable-next-line no-restricted-properties\n root.querySelectorAll<HTMLElement>(FOCUSABLE_ELEMENTS);\n const nodes = Array.from(newFocusableElements).filter((node) => {\n // Исключаем гарды из списка фокусируемых элементов\n if (node.hasAttribute('data-focus-guard')) {\n return false;\n }\n\n const { display, visibility } = getComputedStyle(node);\n const isHidden = display === 'none' || visibility === 'hidden';\n const isDisabled = (node as HTMLButtonElement).disabled ?? false;\n\n return !isHidden && !isDisabled;\n });\n\n if (nodes.length === 0) {\n nodes.push(root);\n }\n\n return nodes;\n};\n\nconst getFirstFocusable = (root: HTMLElement | null): HTMLElement | null => {\n if (!root) {\n return null;\n }\n\n const nodes = collectFocusable(root);\n return nodes[0] || null;\n};\n\nconst getLastFocusable = (root: HTMLElement | null): HTMLElement | null => {\n if (!root) {\n return null;\n }\n\n const nodes = collectFocusable(root);\n return nodes[nodes.length - 1] || null;\n};\n\nexport type UseFocusTrapProps = {\n /**\n * Форсированное отключение захвата фокуса\n *\n * @default false\n */\n disabled?: boolean | undefined;\n /**\n * Управление поведением автофокуса при появлении всплывающего окна.\n * При прокидывании `true` фокус будет установлен на первый элемент.\n * При прокидывании `root` фокус будет установлен в корень.\n * @default true\n */\n autoFocus?: boolean | 'root' | undefined;\n /**\n * Управление поведением возврата фокуса при закрытии всплывающего окна.\n * @default true\n */\n restoreFocus?: boolean | (() => boolean | HTMLElement) | undefined;\n /**\n * Время в миллисекундах после которого срабатывает автофокус при появлении всплывающего окна.\n * @default 0\n */\n autoFocusDelay?: number | undefined;\n /**\n * @default true\n */\n mount?: boolean | undefined;\n};\n\nexport const useFocusTrap = (\n ref: React.RefObject<HTMLElement | null>,\n {\n mount = true,\n disabled = false,\n autoFocus = true,\n restoreFocus = true,\n autoFocusDelay = 0,\n }: UseFocusTrapProps,\n) => {\n const prevFocusableRef = useRef<HTMLElement[]>([]);\n\n const createFocusFn = (getFocusElement: (root: HTMLElement | null) => HTMLElement | null) => {\n return () => {\n const node = getFocusElement(ref.current);\n if (node) {\n node.focus({ preventScroll: true });\n } else if (ref.current) {\n ref.current.focus();\n }\n };\n };\n\n const focusFirst = useStableCallback(createFocusFn(getFirstFocusable));\n\n const focusLast = useStableCallback(createFocusFn(getLastFocusable));\n\n useRestoreFocus({\n restoreFocus,\n autoFocusDelay,\n mount,\n ref,\n });\n\n useAutoFocus(ref, {\n autoFocus,\n disabled,\n mount,\n autoFocusDelay,\n focusFirst,\n });\n\n const onMutateParentHandler = useStableCallback((parentNode: HTMLElement) => {\n if (disabled || !autoFocus || !mount) {\n return;\n }\n\n const doc = getWindow(parentNode)?.document;\n if (!doc) {\n return;\n }\n\n const activeElement = doc.activeElement as HTMLElement;\n const focusableNodes = collectFocusable(parentNode);\n\n if (arraysEquals(focusableNodes, prevFocusableRef.current)) {\n return;\n }\n\n if (focusableNodes.length === 0) {\n prevFocusableRef.current = [];\n return;\n }\n\n const currentElementIndex = Math.max(\n activeElement ? focusableNodes.indexOf(activeElement) : -1,\n 0,\n );\n\n const nodeToFocus = focusableNodes[currentElementIndex];\n if (nodeToFocus) {\n nodeToFocus.focus({ preventScroll: true });\n }\n\n prevFocusableRef.current = focusableNodes;\n });\n\n useMutationObserver(ref, () => ref.current && onMutateParentHandler(ref.current));\n\n const createGuardFocusHandler = (focusFn: () => void, focusFromOutside: () => void) => {\n return (event: React.FocusEvent<HTMLSpanElement>) => {\n if (!mount || disabled || !ref.current) {\n return;\n }\n\n // Проверяем, был ли предыдущий активный элемент внутри root\n // Если нет, значит фокус пришёл извне, и нужно использовать focusFromOutside\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n\n if (relatedTarget === null || (relatedTarget && !ref.current.contains(relatedTarget))) {\n focusFromOutside();\n return;\n }\n\n focusFn();\n };\n };\n\n const onBeforeGuardFocus = useStableCallback(createGuardFocusHandler(focusLast, focusFirst));\n const onAfterGuardFocus = useStableCallback(createGuardFocusHandler(focusFirst, focusLast));\n\n const shouldRenderGuards = mount && !disabled;\n\n return {\n beforeGuard: shouldRenderGuards && <FocusGuard onFocus={onBeforeGuardFocus} />,\n afterGuard: shouldRenderGuards && <FocusGuard onFocus={onAfterGuardFocus} />,\n };\n};\n"],"names":["useRef","arraysEquals","FOCUSABLE_ELEMENTS_LIST","getWindow","useMutationObserver","useStableCallback","FocusGuard","useAutoFocus","useRestoreFocus","FOCUSABLE_ELEMENTS","join","collectFocusable","root","newFocusableElements","querySelectorAll","nodes","Array","from","filter","node","hasAttribute","display","visibility","getComputedStyle","isHidden","isDisabled","disabled","length","push","getFirstFocusable","getLastFocusable","useFocusTrap","ref","mount","autoFocus","restoreFocus","autoFocusDelay","prevFocusableRef","createFocusFn","getFocusElement","current","focus","preventScroll","focusFirst","focusLast","onMutateParentHandler","parentNode","doc","document","activeElement","focusableNodes","currentElementIndex","Math","max","indexOf","nodeToFocus","createGuardFocusHandler","focusFn","focusFromOutside","event","relatedTarget","contains","onBeforeGuardFocus","onAfterGuardFocus","shouldRenderGuards","beforeGuard","onFocus","afterGuard"],"mappings":"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"}
@@ -6,11 +6,11 @@ export interface FocusVisibleModeProps {
6
6
  /**
7
7
  * Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible
8
8
  */
9
- focusVisibleMode?: FocusVisibleMode;
9
+ focusVisibleMode?: FocusVisibleMode | undefined;
10
10
  }
11
11
  export interface UseFocusVisibleClassNameProps {
12
- focusVisible?: boolean;
13
- mode?: FocusVisibleMode;
12
+ focusVisible?: boolean | undefined;
13
+ mode?: FocusVisibleMode | undefined;
14
14
  }
15
15
  /**
16
16
  * Используется для проброса классов состояния :focus-visible в компонент.
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusVisibleClassName.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusVisibleClassName.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,QAAQ,GAAG,SAAS,EAAE,MAAM,CAGjF,CAAC;AAEF,KAAK,sBAAsB,GAAG,MAAM,OAAO,gCAAgC,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AAK5E,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,YAAoB,EACpB,IAAe,GAChB,EAAE,6BAA6B,GAAG,MAAM,CAUxC"}
1
+ {"version":3,"file":"useFocusVisibleClassName.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusVisibleClassName.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,QAAQ,GAAG,SAAS,EAAE,MAAM,CAGjF,CAAC;AAEF,KAAK,sBAAsB,GAAG,MAAM,OAAO,gCAAgC,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AAK5E,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,YAAoB,EACpB,IAAe,GAChB,EAAE,6BAA6B,GAAG,MAAM,CAUxC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useFocusVisibleClassName.ts"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport type { LiteralUnion } from '../types';\nimport styles from '../styles/focusVisible.module.css';\n\nexport const focusVisiblePresetModeClassNames: Record<'inside' | 'outside', string> = {\n inside: styles.focusVisibleModeInside,\n outside: styles.focusVisibleModeOutside,\n};\n\ntype FocusVisiblePresetMode = keyof typeof focusVisiblePresetModeClassNames;\n\nexport type FocusVisibleMode = LiteralUnion<FocusVisiblePresetMode, string>;\n\nconst isPresetMode = (mode: FocusVisibleMode): mode is FocusVisiblePresetMode =>\n mode === 'inside' || mode === 'outside';\n\nexport interface FocusVisibleModeProps {\n /**\n * Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible\n */\n focusVisibleMode?: FocusVisibleMode;\n}\n\nexport interface UseFocusVisibleClassNameProps {\n focusVisible?: boolean;\n mode?: FocusVisibleMode;\n}\n\n/**\n * Используется для проброса классов состояния :focus-visible в компонент.\n *\n * Рулит исключительно классами. Чтобы определить, есть ли фокусное состояние,\n * используйте хуки `useFocusVisible()` и `useFocusWithin()`.\n */\nexport function useFocusVisibleClassName({\n focusVisible = false,\n mode = 'inside',\n}: UseFocusVisibleClassNameProps): string {\n const modeClassName = isPresetMode(mode) ? focusVisiblePresetModeClassNames[mode] : mode;\n\n const focusVisibleClassNames = classNames(\n styles.focusVisible,\n focusVisible && styles.focusVisibleFocused,\n focusVisible && modeClassName,\n );\n\n return focusVisibleClassNames;\n}\n"],"names":["classNames","focusVisiblePresetModeClassNames","inside","outside","isPresetMode","mode","useFocusVisibleClassName","focusVisible","modeClassName","focusVisibleClassNames"],"mappings":"AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAI7C,OAAO,MAAMC,mCAAyE;IACpFC,MAAM;IACNC,OAAO;AACT,EAAE;AAMF,MAAMC,eAAe,CAACC,OACpBA,SAAS,YAAYA,SAAS;AAchC;;;;;CAKC,GACD,OAAO,SAASC,yBAAyB,EACvCC,eAAe,KAAK,EACpBF,OAAO,QAAQ,EACe;IAC9B,MAAMG,gBAAgBJ,aAAaC,QAAQJ,gCAAgC,CAACI,KAAK,GAAGA;IAEpF,MAAMI,yBAAyBT,uCAE7BO,mDACAA,gBAAgBC;IAGlB,OAAOC;AACT"}
1
+ {"version":3,"sources":["../../src/hooks/useFocusVisibleClassName.ts"],"sourcesContent":["import { classNames } from '@vkontakte/vkjs';\nimport type { LiteralUnion } from '../types';\nimport styles from '../styles/focusVisible.module.css';\n\nexport const focusVisiblePresetModeClassNames: Record<'inside' | 'outside', string> = {\n inside: styles.focusVisibleModeInside,\n outside: styles.focusVisibleModeOutside,\n};\n\ntype FocusVisiblePresetMode = keyof typeof focusVisiblePresetModeClassNames;\n\nexport type FocusVisibleMode = LiteralUnion<FocusVisiblePresetMode, string>;\n\nconst isPresetMode = (mode: FocusVisibleMode): mode is FocusVisiblePresetMode =>\n mode === 'inside' || mode === 'outside';\n\nexport interface FocusVisibleModeProps {\n /**\n * Стиль аутлайна focus visible. Если передать произвольную строку, она добавится как css-класс при :focus-visible\n */\n focusVisibleMode?: FocusVisibleMode | undefined;\n}\n\nexport interface UseFocusVisibleClassNameProps {\n focusVisible?: boolean | undefined;\n mode?: FocusVisibleMode | undefined;\n}\n\n/**\n * Используется для проброса классов состояния :focus-visible в компонент.\n *\n * Рулит исключительно классами. Чтобы определить, есть ли фокусное состояние,\n * используйте хуки `useFocusVisible()` и `useFocusWithin()`.\n */\nexport function useFocusVisibleClassName({\n focusVisible = false,\n mode = 'inside',\n}: UseFocusVisibleClassNameProps): string {\n const modeClassName = isPresetMode(mode) ? focusVisiblePresetModeClassNames[mode] : mode;\n\n const focusVisibleClassNames = classNames(\n styles.focusVisible,\n focusVisible && styles.focusVisibleFocused,\n focusVisible && modeClassName,\n );\n\n return focusVisibleClassNames;\n}\n"],"names":["classNames","focusVisiblePresetModeClassNames","inside","outside","isPresetMode","mode","useFocusVisibleClassName","focusVisible","modeClassName","focusVisibleClassNames"],"mappings":"AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAI7C,OAAO,MAAMC,mCAAyE;IACpFC,MAAM;IACNC,OAAO;AACT,EAAE;AAMF,MAAMC,eAAe,CAACC,OACpBA,SAAS,YAAYA,SAAS;AAchC;;;;;CAKC,GACD,OAAO,SAASC,yBAAyB,EACvCC,eAAe,KAAK,EACpBF,OAAO,QAAQ,EACe;IAC9B,MAAMG,gBAAgBJ,aAAaC,QAAQJ,gCAAgC,CAACI,KAAK,GAAGA;IAEpF,MAAMI,yBAAyBT,uCAE7BO,mDACAA,gBAAgBC;IAGlB,OAAOC;AACT"}
@@ -3,5 +3,5 @@
3
3
  *
4
4
  * @private
5
5
  */
6
- export declare const useGlobalEscKeyDown: (init: boolean, callback?: (event: KeyboardEvent) => void, optionsProp?: AddEventListenerOptions) => void;
6
+ export declare const useGlobalEscKeyDown: (init: boolean, callback?: ((event: KeyboardEvent) => void) | undefined, optionsProp?: AddEventListenerOptions | undefined) => void;
7
7
  //# sourceMappingURL=useGlobalEscKeyDown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalEscKeyDown.d.ts","sourceRoot":"","sources":["../../src/hooks/useGlobalEscKeyDown.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,EACb,WAAW,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACzC,cAAc,uBAAuB,KACpC,IAuBF,CAAC"}
1
+ {"version":3,"file":"useGlobalEscKeyDown.d.ts","sourceRoot":"","sources":["../../src/hooks/useGlobalEscKeyDown.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,EACb,WAAW,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,EACvD,cAAc,uBAAuB,GAAG,SAAS,KAChD,IAuBF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useGlobalEscKeyDown.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { Keys, pressedKey } from '../lib/accessibility';\nimport { useDOM } from '../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nconst EVENT_OPTIONS = {\n passive: true,\n capture: true,\n};\n\n/**\n * Завязывается на document.\n *\n * @private\n */\nexport const useGlobalEscKeyDown = (\n init: boolean,\n callback?: (event: KeyboardEvent) => void,\n optionsProp?: AddEventListenerOptions,\n): void => {\n const { document } = useDOM();\n\n const options = useRef<AddEventListenerOptions>(optionsProp || EVENT_OPTIONS);\n\n useIsomorphicLayoutEffect(() => {\n options.current = optionsProp || EVENT_OPTIONS;\n }, [options]);\n\n useIsomorphicLayoutEffect(() => {\n if (!document || !init || !callback) {\n return;\n }\n const handleKeyDown = (event: KeyboardEvent) => {\n if (pressedKey(event) === Keys.ESCAPE) {\n callback(event);\n }\n };\n document.addEventListener('keydown', handleKeyDown, options.current);\n return () => {\n document.removeEventListener('keydown', handleKeyDown, options.current);\n };\n }, [init, document, callback]);\n};\n"],"names":["useRef","Keys","pressedKey","useDOM","useIsomorphicLayoutEffect","EVENT_OPTIONS","passive","capture","useGlobalEscKeyDown","init","callback","optionsProp","document","options","current","handleKeyDown","event","ESCAPE","addEventListener","removeEventListener"],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,IAAI,EAAEC,UAAU,QAAQ,0BAAuB;AACxD,SAASC,MAAM,QAAQ,gBAAa;AACpC,SAASC,yBAAyB,QAAQ,sCAAmC;AAE7E,MAAMC,gBAAgB;IACpBC,SAAS;IACTC,SAAS;AACX;AAEA;;;;CAIC,GACD,OAAO,MAAMC,sBAAsB,CACjCC,MACAC,UACAC;IAEA,MAAM,EAAEC,QAAQ,EAAE,GAAGT;IAErB,MAAMU,UAAUb,OAAgCW,eAAeN;IAE/DD,0BAA0B;QACxBS,QAAQC,OAAO,GAAGH,eAAeN;IACnC,GAAG;QAACQ;KAAQ;IAEZT,0BAA0B;QACxB,IAAI,CAACQ,YAAY,CAACH,QAAQ,CAACC,UAAU;YACnC;QACF;QACA,MAAMK,gBAAgB,CAACC;YACrB,IAAId,WAAWc,WAAWf,KAAKgB,MAAM,EAAE;gBACrCP,SAASM;YACX;QACF;QACAJ,SAASM,gBAAgB,CAAC,WAAWH,eAAeF,QAAQC,OAAO;QACnE,OAAO;YACLF,SAASO,mBAAmB,CAAC,WAAWJ,eAAeF,QAAQC,OAAO;QACxE;IACF,GAAG;QAACL;QAAMG;QAAUF;KAAS;AAC/B,EAAE"}
1
+ {"version":3,"sources":["../../src/hooks/useGlobalEscKeyDown.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { Keys, pressedKey } from '../lib/accessibility';\nimport { useDOM } from '../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nconst EVENT_OPTIONS = {\n passive: true,\n capture: true,\n};\n\n/**\n * Завязывается на document.\n *\n * @private\n */\nexport const useGlobalEscKeyDown = (\n init: boolean,\n callback?: ((event: KeyboardEvent) => void) | undefined,\n optionsProp?: AddEventListenerOptions | undefined,\n): void => {\n const { document } = useDOM();\n\n const options = useRef<AddEventListenerOptions>(optionsProp || EVENT_OPTIONS);\n\n useIsomorphicLayoutEffect(() => {\n options.current = optionsProp || EVENT_OPTIONS;\n }, [options]);\n\n useIsomorphicLayoutEffect(() => {\n if (!document || !init || !callback) {\n return;\n }\n const handleKeyDown = (event: KeyboardEvent) => {\n if (pressedKey(event) === Keys.ESCAPE) {\n callback(event);\n }\n };\n document.addEventListener('keydown', handleKeyDown, options.current);\n return () => {\n document.removeEventListener('keydown', handleKeyDown, options.current);\n };\n }, [init, document, callback]);\n};\n"],"names":["useRef","Keys","pressedKey","useDOM","useIsomorphicLayoutEffect","EVENT_OPTIONS","passive","capture","useGlobalEscKeyDown","init","callback","optionsProp","document","options","current","handleKeyDown","event","ESCAPE","addEventListener","removeEventListener"],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,IAAI,EAAEC,UAAU,QAAQ,0BAAuB;AACxD,SAASC,MAAM,QAAQ,gBAAa;AACpC,SAASC,yBAAyB,QAAQ,sCAAmC;AAE7E,MAAMC,gBAAgB;IACpBC,SAAS;IACTC,SAAS;AACX;AAEA;;;;CAIC,GACD,OAAO,MAAMC,sBAAsB,CACjCC,MACAC,UACAC;IAEA,MAAM,EAAEC,QAAQ,EAAE,GAAGT;IAErB,MAAMU,UAAUb,OAAgCW,eAAeN;IAE/DD,0BAA0B;QACxBS,QAAQC,OAAO,GAAGH,eAAeN;IACnC,GAAG;QAACQ;KAAQ;IAEZT,0BAA0B;QACxB,IAAI,CAACQ,YAAY,CAACH,QAAQ,CAACC,UAAU;YACnC;QACF;QACA,MAAMK,gBAAgB,CAACC;YACrB,IAAId,WAAWc,WAAWf,KAAKgB,MAAM,EAAE;gBACrCP,SAASM;YACX;QACF;QACAJ,SAASM,gBAAgB,CAAC,WAAWH,eAAeF,QAAQC,OAAO;QACnE,OAAO;YACLF,SAASO,mBAAmB,CAAC,WAAWJ,eAAeF,QAAQC,OAAO;QACxE;IACF,GAAG;QAACL;QAAMG;QAAUF;KAAS;AAC/B,EAAE"}
@@ -0,0 +1,6 @@
1
+ type Options = {
2
+ disable?: boolean | undefined;
3
+ };
4
+ export declare function useMediaQueryMatches(media: string, { disable }?: Options): boolean | undefined;
5
+ export {};
6
+ //# sourceMappingURL=useMediaQueryMatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaQueryMatch.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaQueryMatch.ts"],"names":[],"mappings":"AAKA,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,EAAE,OAAO,EAAE,GAAE,OAAY,GACxB,OAAO,GAAG,SAAS,CAqBrB"}
@@ -0,0 +1,25 @@
1
+ /* eslint-disable no-restricted-properties */ import * as React from "react";
2
+ import { useDOM } from "../lib/dom.js";
3
+ import { useIsomorphicLayoutEffect } from "../lib/useIsomorphicLayoutEffect.js";
4
+ export function useMediaQueryMatches(media, { disable } = {}) {
5
+ const { window } = useDOM();
6
+ const [matches, setMatches] = React.useState(undefined);
7
+ useIsomorphicLayoutEffect(()=>{
8
+ if (!window || disable) {
9
+ return;
10
+ }
11
+ const match = window.matchMedia(media);
12
+ setMatches(match.matches);
13
+ /* istanbul ignore next: на текущий момент, покрытие данного кейса неинтересно */ const handleMediaQueryChange = (event)=>{
14
+ /* istanbul ignore next */ setMatches(event.matches);
15
+ };
16
+ match.addEventListener('change', handleMediaQueryChange);
17
+ return ()=>match.removeEventListener('change', handleMediaQueryChange);
18
+ }, [
19
+ media,
20
+ window
21
+ ]);
22
+ return matches;
23
+ }
24
+
25
+ //# sourceMappingURL=useMediaQueryMatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useMediaQueryMatch.ts"],"sourcesContent":["/* eslint-disable no-restricted-properties */\nimport * as React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\ntype Options = {\n disable?: boolean | undefined;\n};\n\nexport function useMediaQueryMatches(\n media: string,\n { disable }: Options = {},\n): boolean | undefined {\n const { window } = useDOM();\n\n const [matches, setMatches] = React.useState<boolean | undefined>(undefined);\n\n useIsomorphicLayoutEffect(() => {\n if (!window || disable) {\n return;\n }\n const match = window.matchMedia(media);\n setMatches(match.matches);\n /* istanbul ignore next: на текущий момент, покрытие данного кейса неинтересно */\n const handleMediaQueryChange = (event: MediaQueryListEvent) => {\n /* istanbul ignore next */\n setMatches(event.matches);\n };\n match.addEventListener('change', handleMediaQueryChange);\n return () => match.removeEventListener('change', handleMediaQueryChange);\n }, [media, window]);\n\n return matches;\n}\n"],"names":["React","useDOM","useIsomorphicLayoutEffect","useMediaQueryMatches","media","disable","window","matches","setMatches","useState","undefined","match","matchMedia","handleMediaQueryChange","event","addEventListener","removeEventListener"],"mappings":"AAAA,2CAA2C,GAC3C,YAAYA,WAAW,QAAQ;AAC/B,SAASC,MAAM,QAAQ,gBAAa;AACpC,SAASC,yBAAyB,QAAQ,sCAAmC;AAM7E,OAAO,SAASC,qBACdC,KAAa,EACb,EAAEC,OAAO,EAAW,GAAG,CAAC,CAAC;IAEzB,MAAM,EAAEC,MAAM,EAAE,GAAGL;IAEnB,MAAM,CAACM,SAASC,WAAW,GAAGR,MAAMS,QAAQ,CAAsBC;IAElER,0BAA0B;QACxB,IAAI,CAACI,UAAUD,SAAS;YACtB;QACF;QACA,MAAMM,QAAQL,OAAOM,UAAU,CAACR;QAChCI,WAAWG,MAAMJ,OAAO;QACxB,gFAAgF,GAChF,MAAMM,yBAAyB,CAACC;YAC9B,wBAAwB,GACxBN,WAAWM,MAAMP,OAAO;QAC1B;QACAI,MAAMI,gBAAgB,CAAC,UAAUF;QACjC,OAAO,IAAMF,MAAMK,mBAAmB,CAAC,UAAUH;IACnD,GAAG;QAACT;QAAOE;KAAO;IAElB,OAAOC;AACT"}
@@ -1,6 +1,6 @@
1
1
  import type { AllHTMLAttributes } from 'react';
2
2
  import type { HasRootRef } from '../types';
3
3
  type BaseProps<T extends HTMLElement = HTMLElement> = HasRootRef<T> & Pick<AllHTMLAttributes<T>, 'className' | 'style'>;
4
- export declare const useMergeProps: <T extends BaseProps = BaseProps>(originalProps: T, slotProps?: T) => T;
4
+ export declare const useMergeProps: <T extends BaseProps = BaseProps>(originalProps: T, slotProps?: T | undefined) => T;
5
5
  export {};
6
6
  //# sourceMappingURL=useMergeProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMergeProps.d.ts","sourceRoot":"","sources":["../../src/hooks/useMergeProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,KAAK,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,GACjE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC;AAMpD,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,SAAS,GAAG,SAAS,EAC3D,eAAe,CAAC,EAChB,YAAY,CAAC,KACZ,CA+CF,CAAC"}
1
+ {"version":3,"file":"useMergeProps.d.ts","sourceRoot":"","sources":["../../src/hooks/useMergeProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,KAAK,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,GACjE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC;AAMpD,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,SAAS,GAAG,SAAS,EAC3D,eAAe,CAAC,EAChB,YAAY,CAAC,GAAG,SAAS,KACxB,CA+CF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useMergeProps.ts"],"sourcesContent":["import type { AllHTMLAttributes } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getMergedSameEventsByProps } from '../helpers/getMergedSameEventsByProps';\nimport { mergeStyle } from '../helpers/mergeStyle';\nimport { filterObject } from '../lib/object';\nimport type { HasRootRef } from '../types';\nimport { useExternRef } from './useExternRef';\n\ntype BaseProps<T extends HTMLElement = HTMLElement> = HasRootRef<T> &\n Pick<AllHTMLAttributes<T>, 'className' | 'style'>;\n\nconst filterProps = <T extends BaseProps = BaseProps>(props: T) => {\n return filterObject(props, (value) => value !== undefined);\n};\n\nexport const useMergeProps = <T extends BaseProps = BaseProps>(\n originalProps: T,\n slotProps?: T,\n): T => {\n const originalSlotGetRef = originalProps.getRootRef;\n const rootSlotGetRef = slotProps?.getRootRef;\n\n const getRootRef = useExternRef(originalSlotGetRef, rootSlotGetRef);\n\n if (!slotProps) {\n return filterProps(originalProps);\n }\n\n const { className: rootSlotClassName, style: rootSlotStyle, ...rootSlotProps } = slotProps || {};\n\n const {\n className: originalClassName,\n style: originalSlotStyle,\n ...originalRestProps\n } = originalProps;\n\n const resolvedClassName =\n originalClassName || rootSlotClassName\n ? classNames(originalClassName, rootSlotClassName)\n : undefined;\n const resolvedStyle =\n originalSlotStyle || rootSlotStyle ? mergeStyle(originalSlotStyle, rootSlotStyle) : undefined;\n\n const mergedEventsByInjectProps: any = getMergedSameEventsByProps(\n originalRestProps,\n rootSlotProps,\n );\n\n const resolvedProps: T = {\n ...originalRestProps,\n ...rootSlotProps,\n ...mergedEventsByInjectProps,\n };\n\n if (resolvedClassName) {\n resolvedProps.className = resolvedClassName;\n }\n if (resolvedStyle) {\n resolvedProps.style = resolvedStyle;\n }\n if (rootSlotGetRef || originalSlotGetRef) {\n resolvedProps.getRootRef = getRootRef;\n }\n\n return filterProps(resolvedProps);\n};\n"],"names":["classNames","getMergedSameEventsByProps","mergeStyle","filterObject","useExternRef","filterProps","props","value","undefined","useMergeProps","originalProps","slotProps","originalSlotGetRef","getRootRef","rootSlotGetRef","className","rootSlotClassName","style","rootSlotStyle","rootSlotProps","originalClassName","originalSlotStyle","originalRestProps","resolvedClassName","resolvedStyle","mergedEventsByInjectProps","resolvedProps"],"mappings":"AACA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,0BAA0B,QAAQ,2CAAwC;AACnF,SAASC,UAAU,QAAQ,2BAAwB;AACnD,SAASC,YAAY,QAAQ,mBAAgB;AAE7C,SAASC,YAAY,QAAQ,oBAAiB;AAK9C,MAAMC,cAAc,CAAkCC;IACpD,OAAOH,aAAaG,OAAO,CAACC,QAAUA,UAAUC;AAClD;AAEA,OAAO,MAAMC,gBAAgB,CAC3BC,eACAC;IAEA,MAAMC,qBAAqBF,cAAcG,UAAU;IACnD,MAAMC,iBAAiBH,WAAWE;IAElC,MAAMA,aAAaT,aAAaQ,oBAAoBE;IAEpD,IAAI,CAACH,WAAW;QACd,OAAON,YAAYK;IACrB;IAEA,MAAM,EAAEK,WAAWC,iBAAiB,EAAEC,OAAOC,aAAa,EAAE,GAAGC,eAAe,GAAGR,aAAa,CAAC;IAE/F,MAAM,EACJI,WAAWK,iBAAiB,EAC5BH,OAAOI,iBAAiB,EACxB,GAAGC,mBACJ,GAAGZ;IAEJ,MAAMa,oBACJH,qBAAqBJ,oBACjBhB,WAAWoB,mBAAmBJ,qBAC9BR;IACN,MAAMgB,gBACJH,qBAAqBH,gBAAgBhB,WAAWmB,mBAAmBH,iBAAiBV;IAEtF,MAAMiB,4BAAiCxB,2BACrCqB,mBACAH;IAGF,MAAMO,gBAAmB;QACvB,GAAGJ,iBAAiB;QACpB,GAAGH,aAAa;QAChB,GAAGM,yBAAyB;IAC9B;IAEA,IAAIF,mBAAmB;QACrBG,cAAcX,SAAS,GAAGQ;IAC5B;IACA,IAAIC,eAAe;QACjBE,cAAcT,KAAK,GAAGO;IACxB;IACA,IAAIV,kBAAkBF,oBAAoB;QACxCc,cAAcb,UAAU,GAAGA;IAC7B;IAEA,OAAOR,YAAYqB;AACrB,EAAE"}
1
+ {"version":3,"sources":["../../src/hooks/useMergeProps.ts"],"sourcesContent":["import type { AllHTMLAttributes } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getMergedSameEventsByProps } from '../helpers/getMergedSameEventsByProps';\nimport { mergeStyle } from '../helpers/mergeStyle';\nimport { filterObject } from '../lib/object';\nimport type { HasRootRef } from '../types';\nimport { useExternRef } from './useExternRef';\n\ntype BaseProps<T extends HTMLElement = HTMLElement> = HasRootRef<T> &\n Pick<AllHTMLAttributes<T>, 'className' | 'style'>;\n\nconst filterProps = <T extends BaseProps = BaseProps>(props: T): T => {\n return filterObject(props, (value) => value !== undefined);\n};\n\nexport const useMergeProps = <T extends BaseProps = BaseProps>(\n originalProps: T,\n slotProps?: T | undefined,\n): T => {\n const originalSlotGetRef = originalProps.getRootRef;\n const rootSlotGetRef = slotProps?.getRootRef;\n\n const getRootRef = useExternRef(originalSlotGetRef, rootSlotGetRef);\n\n if (!slotProps) {\n return filterProps(originalProps);\n }\n\n const { className: rootSlotClassName, style: rootSlotStyle, ...rootSlotProps } = slotProps || {};\n\n const {\n className: originalClassName,\n style: originalSlotStyle,\n ...originalRestProps\n } = originalProps;\n\n const resolvedClassName =\n originalClassName || rootSlotClassName\n ? classNames(originalClassName, rootSlotClassName)\n : undefined;\n const resolvedStyle =\n originalSlotStyle || rootSlotStyle ? mergeStyle(originalSlotStyle, rootSlotStyle) : undefined;\n\n const mergedEventsByInjectProps: any = getMergedSameEventsByProps(\n originalRestProps,\n rootSlotProps,\n );\n\n const resolvedProps: T = {\n ...originalRestProps,\n ...rootSlotProps,\n ...mergedEventsByInjectProps,\n };\n\n if (resolvedClassName) {\n resolvedProps.className = resolvedClassName;\n }\n if (resolvedStyle) {\n resolvedProps.style = resolvedStyle;\n }\n if (rootSlotGetRef || originalSlotGetRef) {\n resolvedProps.getRootRef = getRootRef;\n }\n\n return filterProps(resolvedProps);\n};\n"],"names":["classNames","getMergedSameEventsByProps","mergeStyle","filterObject","useExternRef","filterProps","props","value","undefined","useMergeProps","originalProps","slotProps","originalSlotGetRef","getRootRef","rootSlotGetRef","className","rootSlotClassName","style","rootSlotStyle","rootSlotProps","originalClassName","originalSlotStyle","originalRestProps","resolvedClassName","resolvedStyle","mergedEventsByInjectProps","resolvedProps"],"mappings":"AACA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,0BAA0B,QAAQ,2CAAwC;AACnF,SAASC,UAAU,QAAQ,2BAAwB;AACnD,SAASC,YAAY,QAAQ,mBAAgB;AAE7C,SAASC,YAAY,QAAQ,oBAAiB;AAK9C,MAAMC,cAAc,CAAkCC;IACpD,OAAOH,aAAaG,OAAO,CAACC,QAAUA,UAAUC;AAClD;AAEA,OAAO,MAAMC,gBAAgB,CAC3BC,eACAC;IAEA,MAAMC,qBAAqBF,cAAcG,UAAU;IACnD,MAAMC,iBAAiBH,WAAWE;IAElC,MAAMA,aAAaT,aAAaQ,oBAAoBE;IAEpD,IAAI,CAACH,WAAW;QACd,OAAON,YAAYK;IACrB;IAEA,MAAM,EAAEK,WAAWC,iBAAiB,EAAEC,OAAOC,aAAa,EAAE,GAAGC,eAAe,GAAGR,aAAa,CAAC;IAE/F,MAAM,EACJI,WAAWK,iBAAiB,EAC5BH,OAAOI,iBAAiB,EACxB,GAAGC,mBACJ,GAAGZ;IAEJ,MAAMa,oBACJH,qBAAqBJ,oBACjBhB,WAAWoB,mBAAmBJ,qBAC9BR;IACN,MAAMgB,gBACJH,qBAAqBH,gBAAgBhB,WAAWmB,mBAAmBH,iBAAiBV;IAEtF,MAAMiB,4BAAiCxB,2BACrCqB,mBACAH;IAGF,MAAMO,gBAAmB;QACvB,GAAGJ,iBAAiB;QACpB,GAAGH,aAAa;QAChB,GAAGM,yBAAyB;IAC9B;IAEA,IAAIF,mBAAmB;QACrBG,cAAcX,SAAS,GAAGQ;IAC5B;IACA,IAAIC,eAAe;QACjBE,cAAcT,KAAK,GAAGO;IACxB;IACA,IAAIV,kBAAkBF,oBAAoB;QACxCc,cAAcb,UAAU,GAAGA;IAC7B;IAEA,OAAOR,YAAYqB;AACrB,EAAE"}