@vkontakte/vkui 8.0.2 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1384) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +8 -6
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +3 -0
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/AccordionIcon.d.ts +14 -0
  6. package/dist/components/Accordion/AccordionIcon.d.ts.map +1 -0
  7. package/dist/components/Accordion/AccordionIcon.js +16 -0
  8. package/dist/components/Accordion/AccordionIcon.js.map +1 -0
  9. package/dist/components/Accordion/AccordionSummary.d.ts +3 -3
  10. package/dist/components/Accordion/AccordionSummary.d.ts.map +1 -1
  11. package/dist/components/Accordion/AccordionSummary.js +4 -6
  12. package/dist/components/Accordion/AccordionSummary.js.map +1 -1
  13. package/dist/components/ActionSheet/ActionSheet.d.ts +9 -9
  14. package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
  15. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  16. package/dist/components/ActionSheet/ActionSheetContext.d.ts +3 -3
  17. package/dist/components/ActionSheet/ActionSheetContext.d.ts.map +1 -1
  18. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  19. package/dist/components/ActionSheet/types.d.ts +8 -8
  20. package/dist/components/ActionSheet/types.d.ts.map +1 -1
  21. package/dist/components/ActionSheet/types.js.map +1 -1
  22. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +15 -15
  23. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts.map +1 -1
  24. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  25. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts +1 -1
  26. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.d.ts.map +1 -1
  27. package/dist/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  28. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +7 -7
  29. package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts.map +1 -1
  30. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  31. package/dist/components/Alert/Alert.d.ts +18 -18
  32. package/dist/components/Alert/Alert.d.ts.map +1 -1
  33. package/dist/components/Alert/Alert.js.map +1 -1
  34. package/dist/components/Alert/AlertBase.d.ts +2 -2
  35. package/dist/components/Alert/AlertBase.d.ts.map +1 -1
  36. package/dist/components/Alert/AlertBase.js.map +1 -1
  37. package/dist/components/Alert/AlertTypography.d.ts +1 -1
  38. package/dist/components/Alert/AlertTypography.d.ts.map +1 -1
  39. package/dist/components/Alert/AlertTypography.js.map +1 -1
  40. package/dist/components/AppRoot/AppRoot.d.ts +9 -9
  41. package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
  42. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  43. package/dist/components/AppRoot/AppRootContext.d.ts +4 -4
  44. package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
  45. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  46. package/dist/components/AppRoot/AppRootPortal.d.ts +2 -2
  47. package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
  48. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  49. package/dist/components/AppRoot/ScrollContext.d.ts +4 -4
  50. package/dist/components/AppRoot/ScrollContext.d.ts.map +1 -1
  51. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  52. package/dist/components/AppRoot/types.d.ts +4 -4
  53. package/dist/components/AppRoot/types.d.ts.map +1 -1
  54. package/dist/components/AppRoot/types.js.map +1 -1
  55. package/dist/components/AspectRatio/AspectRatio.d.ts +2 -2
  56. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -1
  57. package/dist/components/AspectRatio/AspectRatio.js.map +1 -1
  58. package/dist/components/Avatar/Avatar.d.ts +2 -2
  59. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  60. package/dist/components/Avatar/Avatar.js.map +1 -1
  61. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts +1 -1
  62. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.d.ts.map +1 -1
  63. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  64. package/dist/components/Badge/Badge.d.ts +1 -1
  65. package/dist/components/Badge/Badge.d.ts.map +1 -1
  66. package/dist/components/Badge/Badge.js.map +1 -1
  67. package/dist/components/Banner/Banner.d.ts +12 -12
  68. package/dist/components/Banner/Banner.d.ts.map +1 -1
  69. package/dist/components/Banner/Banner.js.map +1 -1
  70. package/dist/components/Box/Box.d.ts +1 -1
  71. package/dist/components/Box/Box.d.ts.map +1 -1
  72. package/dist/components/Box/Box.js.map +1 -1
  73. package/dist/components/Button/Button.d.ts +11 -11
  74. package/dist/components/Button/Button.d.ts.map +1 -1
  75. package/dist/components/Button/Button.js +1 -1
  76. package/dist/components/Button/Button.js.map +1 -1
  77. package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -4
  78. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
  79. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  80. package/dist/components/Calendar/Calendar.d.ts +17 -17
  81. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  82. package/dist/components/Calendar/Calendar.js.map +1 -1
  83. package/dist/components/CalendarDay/CalendarDay.d.ts +18 -18
  84. package/dist/components/CalendarDay/CalendarDay.d.ts.map +1 -1
  85. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  86. package/dist/components/CalendarDays/CalendarDays.d.ts +14 -14
  87. package/dist/components/CalendarDays/CalendarDays.d.ts.map +1 -1
  88. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  89. package/dist/components/CalendarHeader/CalendarHeader.d.ts +19 -19
  90. package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  91. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  92. package/dist/components/CalendarRange/CalendarRange.d.ts +12 -12
  93. package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
  94. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  95. package/dist/components/CalendarTime/CalendarTime.d.ts +14 -14
  96. package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
  97. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  98. package/dist/components/CalendarTime/CalendarTimePicker.d.ts +3 -3
  99. package/dist/components/CalendarTime/CalendarTimePicker.d.ts.map +1 -1
  100. package/dist/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  101. package/dist/components/Card/Card.d.ts +1 -1
  102. package/dist/components/Card/Card.d.ts.map +1 -1
  103. package/dist/components/Card/Card.js.map +1 -1
  104. package/dist/components/CardGrid/CardGrid.d.ts +2 -2
  105. package/dist/components/CardGrid/CardGrid.d.ts.map +1 -1
  106. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  107. package/dist/components/CardScroll/CardScroll.d.ts +3 -3
  108. package/dist/components/CardScroll/CardScroll.d.ts.map +1 -1
  109. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  110. package/dist/components/CarouselBase/Bullets.d.ts +1 -1
  111. package/dist/components/CarouselBase/Bullets.d.ts.map +1 -1
  112. package/dist/components/CarouselBase/Bullets.js.map +1 -1
  113. package/dist/components/CarouselBase/CarouselViewPort.d.ts +1 -1
  114. package/dist/components/CarouselBase/CarouselViewPort.d.ts.map +1 -1
  115. package/dist/components/CarouselBase/CarouselViewPort.js.map +1 -1
  116. package/dist/components/CarouselBase/ScrollArrows.d.ts +2 -2
  117. package/dist/components/CarouselBase/ScrollArrows.d.ts.map +1 -1
  118. package/dist/components/CarouselBase/ScrollArrows.js.map +1 -1
  119. package/dist/components/CarouselBase/helpers.d.ts +4 -4
  120. package/dist/components/CarouselBase/helpers.d.ts.map +1 -1
  121. package/dist/components/CarouselBase/helpers.js.map +1 -1
  122. package/dist/components/CarouselBase/types.d.ts +23 -23
  123. package/dist/components/CarouselBase/types.d.ts.map +1 -1
  124. package/dist/components/CarouselBase/types.js.map +1 -1
  125. package/dist/components/Cell/Cell.d.ts +8 -8
  126. package/dist/components/Cell/Cell.d.ts.map +1 -1
  127. package/dist/components/Cell/Cell.js.map +1 -1
  128. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  129. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts.map +1 -1
  130. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  131. package/dist/components/Cell/CellDragger/CellDragger.d.ts +2 -2
  132. package/dist/components/Cell/CellDragger/CellDragger.d.ts.map +1 -1
  133. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  134. package/dist/components/CellButton/CellButton.d.ts +69 -6
  135. package/dist/components/CellButton/CellButton.d.ts.map +1 -1
  136. package/dist/components/CellButton/CellButton.js +115 -6
  137. package/dist/components/CellButton/CellButton.js.map +1 -1
  138. package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +2 -2
  139. package/dist/components/Checkbox/Checkbox.d.ts +6 -6
  140. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  141. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  142. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +11 -11
  143. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  144. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  145. package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
  146. package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
  147. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  148. package/dist/components/ChipsInput/useChipsInput.d.ts +3 -3
  149. package/dist/components/ChipsInput/useChipsInput.d.ts.map +1 -1
  150. package/dist/components/ChipsInput/useChipsInput.js.map +1 -1
  151. package/dist/components/ChipsInputBase/Chip/Chip.d.ts +9 -9
  152. package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
  153. package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  154. package/dist/components/ChipsInputBase/types.d.ts +19 -19
  155. package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
  156. package/dist/components/ChipsInputBase/types.js.map +1 -1
  157. package/dist/components/ChipsSelect/ChipsSelect.d.ts +13 -13
  158. package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
  159. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  160. package/dist/components/ChipsSelect/useChipsSelect.d.ts +8 -8
  161. package/dist/components/ChipsSelect/useChipsSelect.d.ts.map +1 -1
  162. package/dist/components/ChipsSelect/useChipsSelect.js.map +1 -1
  163. package/dist/components/Clickable/Clickable.d.ts +1 -1
  164. package/dist/components/Clickable/Clickable.d.ts.map +1 -1
  165. package/dist/components/Clickable/Clickable.js.map +1 -1
  166. package/dist/components/Clickable/useState.d.ts +13 -13
  167. package/dist/components/Clickable/useState.d.ts.map +1 -1
  168. package/dist/components/Clickable/useState.js.map +1 -1
  169. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  170. package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
  171. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  172. package/dist/components/ContentBadge/ContentBadge.d.ts +4 -4
  173. package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
  174. package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
  175. package/dist/components/ContentCard/ContentCard.d.ts +8 -8
  176. package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
  177. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  178. package/dist/components/Counter/Counter.d.ts +4 -4
  179. package/dist/components/Counter/Counter.d.ts.map +1 -1
  180. package/dist/components/Counter/Counter.js.map +1 -1
  181. package/dist/components/CustomScrollView/CustomScrollView.d.ts +6 -6
  182. package/dist/components/CustomScrollView/CustomScrollView.d.ts.map +1 -1
  183. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  184. package/dist/components/CustomSelect/CustomSelect.d.ts +36 -27
  185. package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
  186. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  187. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts +2 -2
  188. package/dist/components/CustomSelect/CustomSelectClearButton.d.ts.map +1 -1
  189. package/dist/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  190. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +9 -9
  191. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
  192. package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  193. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts +2 -2
  194. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts.map +1 -1
  195. package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  196. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts +1 -1
  197. package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts.map +1 -1
  198. package/dist/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  199. package/dist/components/CustomSelect/types.d.ts +1 -1
  200. package/dist/components/CustomSelect/types.d.ts.map +1 -1
  201. package/dist/components/CustomSelect/types.js.map +1 -1
  202. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +8 -8
  203. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
  204. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  205. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +9 -9
  206. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts.map +1 -1
  207. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  208. package/dist/components/DateInput/DateInput.d.ts +23 -23
  209. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  210. package/dist/components/DateInput/DateInput.js +3 -12
  211. package/dist/components/DateInput/DateInput.js.map +1 -1
  212. package/dist/components/DateInput/hooks.d.ts +4 -4
  213. package/dist/components/DateInput/hooks.d.ts.map +1 -1
  214. package/dist/components/DateInput/hooks.js.map +1 -1
  215. package/dist/components/DateRangeInput/DateRangeInput.d.ts +25 -25
  216. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  217. package/dist/components/DateRangeInput/DateRangeInput.js +2 -11
  218. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  219. package/dist/components/DropZone/DropZone.d.ts +2 -2
  220. package/dist/components/DropZone/DropZone.d.ts.map +1 -1
  221. package/dist/components/DropZone/DropZone.js +1 -1
  222. package/dist/components/DropZone/DropZone.js.map +1 -1
  223. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.d.ts +1 -1
  224. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.d.ts.map +1 -0
  225. package/dist/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +3 -3
  226. package/dist/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  227. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  228. package/dist/components/DropdownIcon/DropdownIcon.d.ts.map +1 -1
  229. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  230. package/dist/components/Epic/Epic.d.ts +1 -1
  231. package/dist/components/Epic/Epic.d.ts.map +1 -1
  232. package/dist/components/Epic/Epic.js.map +1 -1
  233. package/dist/components/Epic/ScrollSaver.d.ts +1 -1
  234. package/dist/components/Epic/ScrollSaver.d.ts.map +1 -1
  235. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  236. package/dist/components/File/File.d.ts +4 -4
  237. package/dist/components/File/File.d.ts.map +1 -1
  238. package/dist/components/File/File.js.map +1 -1
  239. package/dist/components/FixedLayout/FixedLayout.d.ts +3 -3
  240. package/dist/components/FixedLayout/FixedLayout.d.ts.map +1 -1
  241. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  242. package/dist/components/Flex/Flex.d.ts +8 -12
  243. package/dist/components/Flex/Flex.d.ts.map +1 -1
  244. package/dist/components/Flex/Flex.js +2 -9
  245. package/dist/components/Flex/Flex.js.map +1 -1
  246. package/dist/components/Flex/FlexItem/FlexItem.d.ts +5 -12
  247. package/dist/components/Flex/FlexItem/FlexItem.d.ts.map +1 -1
  248. package/dist/components/Flex/FlexItem/FlexItem.js +5 -14
  249. package/dist/components/Flex/FlexItem/FlexItem.js.map +1 -1
  250. package/dist/components/FloatingArrow/FloatingArrow.d.ts +9 -9
  251. package/dist/components/FloatingArrow/FloatingArrow.d.ts.map +1 -1
  252. package/dist/components/FloatingArrow/FloatingArrow.js.map +1 -1
  253. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  254. package/dist/components/FocusTrap/FocusTrap.d.ts.map +1 -1
  255. package/dist/components/FocusTrap/FocusTrap.js +2 -4
  256. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  257. package/dist/components/FormField/FormField.d.ts +8 -8
  258. package/dist/components/FormField/FormField.d.ts.map +1 -1
  259. package/dist/components/FormField/FormField.js.map +1 -1
  260. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts +2 -2
  261. package/dist/components/FormFieldClearButton/FormFieldClearButton.d.ts.map +1 -1
  262. package/dist/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  263. package/dist/components/FormItem/FormItem.d.ts +10 -10
  264. package/dist/components/FormItem/FormItem.d.ts.map +1 -1
  265. package/dist/components/FormItem/FormItem.js.map +1 -1
  266. package/dist/components/FormItem/context.d.ts +2 -2
  267. package/dist/components/FormItem/context.d.ts.map +1 -1
  268. package/dist/components/FormItem/context.js.map +1 -1
  269. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +4 -4
  270. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts.map +1 -1
  271. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  272. package/dist/components/FormStatus/FormStatus.d.ts +2 -2
  273. package/dist/components/FormStatus/FormStatus.d.ts.map +1 -1
  274. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  275. package/dist/components/Gallery/Gallery.d.ts +2 -2
  276. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  277. package/dist/components/Gallery/Gallery.js.map +1 -1
  278. package/dist/components/Gradient/Gradient.d.ts +2 -2
  279. package/dist/components/Gradient/Gradient.d.ts.map +1 -1
  280. package/dist/components/Gradient/Gradient.js.map +1 -1
  281. package/dist/components/GridAvatar/GridAvatar.d.ts +1 -1
  282. package/dist/components/GridAvatar/GridAvatar.d.ts.map +1 -1
  283. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  284. package/dist/components/Group/Group.d.ts +2 -2
  285. package/dist/components/Group/Group.d.ts.map +1 -1
  286. package/dist/components/Group/Group.js.map +1 -1
  287. package/dist/components/Group/GroupContainer.d.ts +3 -3
  288. package/dist/components/Group/GroupContainer.d.ts.map +1 -1
  289. package/dist/components/Group/GroupContainer.js.map +1 -1
  290. package/dist/components/Group/GroupExpandedContent.d.ts +1 -1
  291. package/dist/components/Group/GroupExpandedContent.d.ts.map +1 -1
  292. package/dist/components/Group/GroupExpandedContent.js.map +1 -1
  293. package/dist/components/Header/Header.d.ts +11 -11
  294. package/dist/components/Header/Header.d.ts.map +1 -1
  295. package/dist/components/Header/Header.js.map +1 -1
  296. package/dist/components/HorizontalCell/HorizontalCell.d.ts +7 -7
  297. package/dist/components/HorizontalCell/HorizontalCell.d.ts.map +1 -1
  298. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  299. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +4 -4
  300. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.d.ts.map +1 -1
  301. package/dist/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  302. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +30 -15
  303. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts.map +1 -1
  304. package/dist/components/HorizontalScroll/HorizontalScroll.js +20 -6
  305. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  306. package/dist/components/IconButton/IconButton.d.ts +1 -1
  307. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  308. package/dist/components/IconButton/IconButton.js.map +1 -1
  309. package/dist/components/Image/Image.d.ts +5 -5
  310. package/dist/components/Image/Image.d.ts.map +1 -1
  311. package/dist/components/Image/Image.js.map +1 -1
  312. package/dist/components/ImageBase/ImageBase.d.ts +14 -14
  313. package/dist/components/ImageBase/ImageBase.d.ts.map +1 -1
  314. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  315. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
  316. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts.map +1 -1
  317. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  318. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts +3 -3
  319. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.d.ts.map +1 -1
  320. package/dist/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  321. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts +3 -3
  322. package/dist/components/ImageBase/ImageBaseOverlay/types.d.ts.map +1 -1
  323. package/dist/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  324. package/dist/components/ImageBase/types.d.ts +3 -3
  325. package/dist/components/ImageBase/types.d.ts.map +1 -1
  326. package/dist/components/ImageBase/types.js.map +1 -1
  327. package/dist/components/Input/Input.d.ts +4 -4
  328. package/dist/components/Input/Input.d.ts.map +1 -1
  329. package/dist/components/Input/Input.js.map +1 -1
  330. package/dist/components/InputLike/InputLike.d.ts +3 -3
  331. package/dist/components/InputLike/InputLike.d.ts.map +1 -1
  332. package/dist/components/InputLike/InputLike.js.map +1 -1
  333. package/dist/components/Link/Link.d.ts +4 -4
  334. package/dist/components/Link/Link.d.ts.map +1 -1
  335. package/dist/components/Link/Link.js.map +1 -1
  336. package/dist/components/List/List.d.ts +1 -1
  337. package/dist/components/List/List.d.ts.map +1 -1
  338. package/dist/components/List/List.js.map +1 -1
  339. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +5 -5
  340. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
  341. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  342. package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
  343. package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
  344. package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
  345. package/dist/components/ModalCard/types.d.ts +13 -13
  346. package/dist/components/ModalCard/types.d.ts.map +1 -1
  347. package/dist/components/ModalCard/types.js.map +1 -1
  348. package/dist/components/ModalCardBase/ModalCardBase.d.ts +14 -14
  349. package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
  350. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  351. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  352. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts.map +1 -1
  353. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  354. package/dist/components/ModalOutlet/ModalOutlet.d.ts +3 -3
  355. package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
  356. package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
  357. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts +1 -1
  358. package/dist/components/ModalOutsideButton/ModalOutsideButton.d.ts.map +1 -1
  359. package/dist/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  360. package/dist/components/ModalOverlay/ModalOverlay.d.ts +7 -7
  361. package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -1
  362. package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -1
  363. package/dist/components/ModalPage/ModalPageBase.d.ts +2 -2
  364. package/dist/components/ModalPage/ModalPageBase.d.ts.map +1 -1
  365. package/dist/components/ModalPage/ModalPageBase.js.map +1 -1
  366. package/dist/components/ModalPage/ModalPageInternal.d.ts +2 -2
  367. package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
  368. package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
  369. package/dist/components/ModalPage/types.d.ts +27 -27
  370. package/dist/components/ModalPage/types.d.ts.map +1 -1
  371. package/dist/components/ModalPage/types.js.map +1 -1
  372. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +2 -2
  373. package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -1
  374. package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  375. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts +1 -1
  376. package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.map +1 -1
  377. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  378. package/dist/components/ModalRoot/types.d.ts +15 -15
  379. package/dist/components/ModalRoot/types.d.ts.map +1 -1
  380. package/dist/components/ModalRoot/types.js.map +1 -1
  381. package/dist/components/ModalRoot/useModalRootManager.d.ts +19 -19
  382. package/dist/components/ModalRoot/useModalRootManager.d.ts.map +1 -1
  383. package/dist/components/ModalRoot/useModalRootManager.js.map +1 -1
  384. package/dist/components/NativeSelect/NativeSelect.d.ts +11 -11
  385. package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
  386. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  387. package/dist/components/NumberInputLike/NumberInputLike.d.ts +3 -3
  388. package/dist/components/NumberInputLike/NumberInputLike.d.ts.map +1 -1
  389. package/dist/components/NumberInputLike/NumberInputLike.js.map +1 -1
  390. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +6 -6
  391. package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
  392. package/dist/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  393. package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  394. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts +1 -1
  395. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.d.ts.map +1 -1
  396. package/dist/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  397. package/dist/components/Pagination/Pagination.d.ts +19 -19
  398. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  399. package/dist/components/Pagination/Pagination.js +14 -6
  400. package/dist/components/Pagination/Pagination.js.map +1 -1
  401. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts +3 -3
  402. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.d.ts.map +1 -1
  403. package/dist/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  404. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts +3 -3
  405. package/dist/components/Pagination/PaginationPage/PaginationPageButton.d.ts.map +1 -1
  406. package/dist/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  407. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts +1 -1
  408. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.d.ts.map +1 -1
  409. package/dist/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  410. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts +3 -3
  411. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.d.ts.map +1 -1
  412. package/dist/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  413. package/dist/components/Panel/Panel.d.ts +3 -3
  414. package/dist/components/Panel/Panel.d.ts.map +1 -1
  415. package/dist/components/Panel/Panel.js.map +1 -1
  416. package/dist/components/PanelHeader/PanelHeader.d.ts +8 -8
  417. package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
  418. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  419. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  420. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
  421. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  422. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +2 -2
  423. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
  424. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  425. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +3 -3
  426. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts.map +1 -1
  427. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  428. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +3 -3
  429. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
  430. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  431. package/dist/components/PanelSpinner/PanelSpinner.d.ts +1 -1
  432. package/dist/components/PanelSpinner/PanelSpinner.d.ts.map +1 -1
  433. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  434. package/dist/components/Placeholder/Placeholder.d.ts +5 -5
  435. package/dist/components/Placeholder/Placeholder.d.ts.map +1 -1
  436. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  437. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +6 -6
  438. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
  439. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  440. package/dist/components/Popover/Popover.d.ts +5 -5
  441. package/dist/components/Popover/Popover.d.ts.map +1 -1
  442. package/dist/components/Popover/Popover.js.map +1 -1
  443. package/dist/components/Popper/Popper.d.ts +4 -4
  444. package/dist/components/Popper/Popper.d.ts.map +1 -1
  445. package/dist/components/Popper/Popper.js +13 -7
  446. package/dist/components/Popper/Popper.js.map +1 -1
  447. package/dist/components/Progress/Progress.d.ts +4 -4
  448. package/dist/components/Progress/Progress.d.ts.map +1 -1
  449. package/dist/components/Progress/Progress.js.map +1 -1
  450. package/dist/components/PullToRefresh/PullToRefresh.d.ts +2 -2
  451. package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
  452. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  453. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts +4 -4
  454. package/dist/components/PullToRefresh/PullToRefreshSpinner.d.ts.map +1 -1
  455. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  456. package/dist/components/Radio/Radio.d.ts +7 -7
  457. package/dist/components/Radio/Radio.d.ts.map +1 -1
  458. package/dist/components/Radio/Radio.js +2 -2
  459. package/dist/components/Radio/Radio.js.map +1 -1
  460. package/dist/components/Radio/RadioInput/RadioInput.d.ts +4 -4
  461. package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
  462. package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
  463. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  464. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  465. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  466. package/dist/components/Removable/Removable.d.ts +9 -9
  467. package/dist/components/Removable/Removable.d.ts.map +1 -1
  468. package/dist/components/Removable/Removable.js.map +1 -1
  469. package/dist/components/Removable/RemovableIos.d.ts +3 -3
  470. package/dist/components/Removable/RemovableIos.d.ts.map +1 -1
  471. package/dist/components/Removable/RemovableIos.js.map +1 -1
  472. package/dist/components/RichCell/RichCell.d.ts +15 -15
  473. package/dist/components/RichCell/RichCell.d.ts.map +1 -1
  474. package/dist/components/RichCell/RichCell.js.map +1 -1
  475. package/dist/components/Root/Root.d.ts +4 -4
  476. package/dist/components/Root/Root.d.ts.map +1 -1
  477. package/dist/components/Root/Root.js.map +1 -1
  478. package/dist/components/RootComponent/RootComponent.d.ts +2 -2
  479. package/dist/components/RootComponent/RootComponent.d.ts.map +1 -1
  480. package/dist/components/RootComponent/RootComponent.js.map +1 -1
  481. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts +1 -1
  482. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.d.ts.map +1 -1
  483. package/dist/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  484. package/dist/components/ScreenSpinner/context.d.ts +2 -2
  485. package/dist/components/ScreenSpinner/context.d.ts.map +1 -1
  486. package/dist/components/ScreenSpinner/context.js.map +1 -1
  487. package/dist/components/ScreenSpinner/types.d.ts +5 -5
  488. package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
  489. package/dist/components/ScreenSpinner/types.js.map +1 -1
  490. package/dist/components/ScrollArrow/ScrollArrow.d.ts +10 -4
  491. package/dist/components/ScrollArrow/ScrollArrow.d.ts.map +1 -1
  492. package/dist/components/ScrollArrow/ScrollArrow.js +14 -4
  493. package/dist/components/ScrollArrow/ScrollArrow.js.map +1 -1
  494. package/dist/components/Search/Search.d.ts +17 -17
  495. package/dist/components/Search/Search.d.ts.map +1 -1
  496. package/dist/components/Search/Search.js.map +1 -1
  497. package/dist/components/SegmentedControl/SegmentedControl.d.ts +6 -6
  498. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  499. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  500. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +3 -3
  501. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts.map +1 -1
  502. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  503. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  504. package/dist/components/SelectMimicry/SelectMimicry.d.ts.map +1 -1
  505. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  506. package/dist/components/SelectTypography/SelectTypography.d.ts +1 -1
  507. package/dist/components/SelectTypography/SelectTypography.d.ts.map +1 -1
  508. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  509. package/dist/components/SelectionControl/SelectionControl.d.ts +1 -1
  510. package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
  511. package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
  512. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts +2 -2
  513. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
  514. package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  515. package/dist/components/Separator/Separator.d.ts +5 -5
  516. package/dist/components/Separator/Separator.d.ts.map +1 -1
  517. package/dist/components/Separator/Separator.js.map +1 -1
  518. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +1 -1
  519. package/dist/components/SimpleCell/Chevron/Chevron.d.ts.map +1 -1
  520. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  521. package/dist/components/SimpleCell/SimpleCell.d.ts +14 -14
  522. package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
  523. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  524. package/dist/components/SimpleGrid/SimpleGrid.d.ts +6 -6
  525. package/dist/components/SimpleGrid/SimpleGrid.d.ts.map +1 -1
  526. package/dist/components/SimpleGrid/SimpleGrid.js.map +1 -1
  527. package/dist/components/Skeleton/Skeleton.d.ts +5 -5
  528. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  529. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  530. package/dist/components/Slider/Slider.d.ts +17 -17
  531. package/dist/components/Slider/Slider.d.ts.map +1 -1
  532. package/dist/components/Slider/Slider.js.map +1 -1
  533. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts +5 -5
  534. package/dist/components/Slider/SliderThumb/SliderThumb.d.ts.map +1 -1
  535. package/dist/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  536. package/dist/components/Snackbar/Snackbar.d.ts +10 -10
  537. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
  538. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  539. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts +6 -6
  540. package/dist/components/Snackbar/subcomponents/Basic/Basic.d.ts.map +1 -1
  541. package/dist/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  542. package/dist/components/Snackbar/utils.d.ts +1 -1
  543. package/dist/components/Snackbar/utils.d.ts.map +1 -1
  544. package/dist/components/Snackbar/utils.js.map +1 -1
  545. package/dist/components/Spacing/Spacing.d.ts +2 -2
  546. package/dist/components/Spacing/Spacing.d.ts.map +1 -1
  547. package/dist/components/Spacing/Spacing.js.map +1 -1
  548. package/dist/components/Spinner/Spinner.d.ts +4 -4
  549. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  550. package/dist/components/Spinner/Spinner.js.map +1 -1
  551. package/dist/components/SplitCol/SplitCol.d.ts +7 -7
  552. package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
  553. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  554. package/dist/components/SplitLayout/SplitLayout.d.ts +8 -8
  555. package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
  556. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  557. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +2 -2
  558. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts.map +1 -1
  559. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  560. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +8 -8
  561. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts.map +1 -1
  562. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  563. package/dist/components/Switch/Switch.d.ts +4 -4
  564. package/dist/components/Switch/Switch.d.ts.map +1 -1
  565. package/dist/components/Switch/Switch.js.map +1 -1
  566. package/dist/components/Tabbar/Tabbar.d.ts +2 -2
  567. package/dist/components/Tabbar/Tabbar.d.ts.map +1 -1
  568. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  569. package/dist/components/TabbarItem/TabbarItem.d.ts +3 -3
  570. package/dist/components/TabbarItem/TabbarItem.d.ts.map +1 -1
  571. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  572. package/dist/components/Tabs/Tabs.d.ts +7 -7
  573. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  574. package/dist/components/Tabs/Tabs.js.map +1 -1
  575. package/dist/components/Tabs/TabsModeContext.d.ts +1 -1
  576. package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
  577. package/dist/components/Tabs/TabsModeContext.js.map +1 -1
  578. package/dist/components/TabsItem/TabsItem.d.ts +5 -5
  579. package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
  580. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  581. package/dist/components/Tappable/Tappable.d.ts +3 -3
  582. package/dist/components/Tappable/Tappable.d.ts.map +1 -1
  583. package/dist/components/Tappable/Tappable.js.map +1 -1
  584. package/dist/components/Tappable/state.d.ts +2 -2
  585. package/dist/components/Tappable/state.d.ts.map +1 -1
  586. package/dist/components/Tappable/state.js.map +1 -1
  587. package/dist/components/Textarea/Textarea.d.ts +6 -6
  588. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  589. package/dist/components/Textarea/Textarea.js.map +1 -1
  590. package/dist/components/ToolButton/ToolButton.d.ts +4 -4
  591. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  592. package/dist/components/ToolButton/ToolButton.js.map +1 -1
  593. package/dist/components/Tooltip/Tooltip.d.ts +6 -6
  594. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  595. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  596. package/dist/components/TooltipBase/TooltipBase.d.ts +10 -10
  597. package/dist/components/TooltipBase/TooltipBase.d.ts.map +1 -1
  598. package/dist/components/TooltipBase/TooltipBase.js.map +1 -1
  599. package/dist/components/Touch/Touch.d.ts +16 -16
  600. package/dist/components/Touch/Touch.d.ts.map +1 -1
  601. package/dist/components/Touch/Touch.js.map +1 -1
  602. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  603. package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
  604. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  605. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts +1 -1
  606. package/dist/components/Typography/DisplayTitle/DisplayTitle.d.ts.map +1 -1
  607. package/dist/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  608. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts +3 -3
  609. package/dist/components/Typography/EllipsisText/EllipsisText.d.ts.map +1 -1
  610. package/dist/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  611. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  612. package/dist/components/Typography/Headline/Headline.d.ts.map +1 -1
  613. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  614. package/dist/components/Typography/Title/Title.d.ts +1 -1
  615. package/dist/components/Typography/Title/Title.d.ts.map +1 -1
  616. package/dist/components/Typography/Title/Title.js.map +1 -1
  617. package/dist/components/Typography/Typography.d.ts +6 -6
  618. package/dist/components/Typography/Typography.d.ts.map +1 -1
  619. package/dist/components/Typography/Typography.js.map +1 -1
  620. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts +1 -1
  621. package/dist/components/UnstyledTextField/UnstyledTextField.d.ts.map +1 -1
  622. package/dist/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  623. package/dist/components/UsersStack/UsersStack.d.ts +6 -6
  624. package/dist/components/UsersStack/UsersStack.d.ts.map +1 -1
  625. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  626. package/dist/components/View/View.d.ts +4 -4
  627. package/dist/components/View/View.d.ts.map +1 -1
  628. package/dist/components/View/View.js.map +1 -1
  629. package/dist/components/View/ViewInfinite.d.ts +12 -12
  630. package/dist/components/View/ViewInfinite.d.ts.map +1 -1
  631. package/dist/components/View/ViewInfinite.js.map +1 -1
  632. package/dist/components/WriteBar/WriteBar.d.ts +10 -10
  633. package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
  634. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  635. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +3 -3
  636. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts.map +1 -1
  637. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  638. package/dist/components.css +1 -1
  639. package/dist/components.css.map +1 -1
  640. package/dist/cssm/components/Accordion/Accordion.js +3 -0
  641. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  642. package/dist/cssm/components/Accordion/AccordionIcon.js +17 -0
  643. package/dist/cssm/components/Accordion/AccordionIcon.js.map +1 -0
  644. package/dist/cssm/components/Accordion/AccordionSummary.js +4 -7
  645. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  646. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  647. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  648. package/dist/cssm/components/ActionSheet/types.js.map +1 -1
  649. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  650. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  651. package/dist/cssm/components/ActionSheetItem/subcomponents/Radio/Radio.js.map +1 -1
  652. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  653. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  654. package/dist/cssm/components/Alert/AlertBase.js.map +1 -1
  655. package/dist/cssm/components/Alert/AlertTypography.js.map +1 -1
  656. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  657. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  658. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  659. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  660. package/dist/cssm/components/AppRoot/types.js.map +1 -1
  661. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  662. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  663. package/dist/cssm/components/Avatar/Avatar.module.css +0 -5
  664. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  665. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  666. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  667. package/dist/cssm/components/Box/Box.js.map +1 -1
  668. package/dist/cssm/components/Button/Button.js +1 -1
  669. package/dist/cssm/components/Button/Button.js.map +1 -1
  670. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  671. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  672. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  673. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  674. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  675. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  676. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  677. package/dist/cssm/components/CalendarTime/CalendarTimePicker.js.map +1 -1
  678. package/dist/cssm/components/Card/Card.js.map +1 -1
  679. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  680. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  681. package/dist/cssm/components/CarouselBase/Bullets.js.map +1 -1
  682. package/dist/cssm/components/CarouselBase/CarouselViewPort.js.map +1 -1
  683. package/dist/cssm/components/CarouselBase/ScrollArrows.js.map +1 -1
  684. package/dist/cssm/components/CarouselBase/helpers.js.map +1 -1
  685. package/dist/cssm/components/CarouselBase/types.js.map +1 -1
  686. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  687. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  688. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  689. package/dist/cssm/components/CellButton/CellButton.js +115 -7
  690. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  691. package/dist/cssm/components/CellButton/CellButton.module.css +165 -7
  692. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  693. package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
  694. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  695. package/dist/cssm/components/ChipsInput/useChipsInput.js.map +1 -1
  696. package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
  697. package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
  698. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  699. package/dist/cssm/components/ChipsSelect/useChipsSelect.js.map +1 -1
  700. package/dist/cssm/components/Clickable/Clickable.js.map +1 -1
  701. package/dist/cssm/components/Clickable/useState.js.map +1 -1
  702. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  703. package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
  704. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  705. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  706. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  707. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  708. package/dist/cssm/components/CustomSelect/CustomSelect.module.css +0 -6
  709. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  710. package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
  711. package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -1
  712. package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -1
  713. package/dist/cssm/components/CustomSelect/types.js.map +1 -1
  714. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  715. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  716. package/dist/cssm/components/DateInput/DateInput.js +3 -12
  717. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  718. package/dist/cssm/components/DateInput/hooks.js.map +1 -1
  719. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +2 -11
  720. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  721. package/dist/cssm/components/DropZone/DropZone.js +1 -1
  722. package/dist/cssm/components/DropZone/DropZone.js.map +1 -1
  723. package/dist/cssm/components/DropZone/DropZoneGrid/DropZoneGrid.js.map +1 -0
  724. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  725. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  726. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  727. package/dist/cssm/components/File/File.js.map +1 -1
  728. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  729. package/dist/cssm/components/Flex/Flex.js +2 -10
  730. package/dist/cssm/components/Flex/Flex.js.map +1 -1
  731. package/dist/cssm/components/Flex/FlexItem/FlexItem.js +5 -14
  732. package/dist/cssm/components/Flex/FlexItem/FlexItem.js.map +1 -1
  733. package/dist/cssm/components/Flex/FlexItem/FlexItem.module.css +0 -22
  734. package/dist/cssm/components/FloatingArrow/FloatingArrow.js.map +1 -1
  735. package/dist/cssm/components/FocusTrap/FocusTrap.js +2 -4
  736. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  737. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  738. package/dist/cssm/components/FormFieldClearButton/FormFieldClearButton.js.map +1 -1
  739. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  740. package/dist/cssm/components/FormItem/FormItem.module.css +1 -2
  741. package/dist/cssm/components/FormItem/context.js.map +1 -1
  742. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  743. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  744. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  745. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  746. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  747. package/dist/cssm/components/Group/Group.js.map +1 -1
  748. package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
  749. package/dist/cssm/components/Group/GroupExpandedContent.js.map +1 -1
  750. package/dist/cssm/components/Header/Header.js.map +1 -1
  751. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  752. package/dist/cssm/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -1
  753. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +20 -6
  754. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  755. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  756. package/dist/cssm/components/Image/Image.js.map +1 -1
  757. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  759. package/dist/cssm/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.js.map +1 -1
  760. package/dist/cssm/components/ImageBase/ImageBaseOverlay/types.js.map +1 -1
  761. package/dist/cssm/components/ImageBase/types.js.map +1 -1
  762. package/dist/cssm/components/Input/Input.js.map +1 -1
  763. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  764. package/dist/cssm/components/Link/Link.js.map +1 -1
  765. package/dist/cssm/components/List/List.js.map +1 -1
  766. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  767. package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
  768. package/dist/cssm/components/ModalCard/types.js.map +1 -1
  769. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  770. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +0 -4
  771. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  772. package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
  773. package/dist/cssm/components/ModalOutsideButton/ModalOutsideButton.js.map +1 -1
  774. package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -1
  775. package/dist/cssm/components/ModalPage/ModalPageBase.js.map +1 -1
  776. package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
  777. package/dist/cssm/components/ModalPage/types.js.map +1 -1
  778. package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -1
  779. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  780. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  781. package/dist/cssm/components/ModalRoot/useModalRootManager.js.map +1 -1
  782. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  783. package/dist/cssm/components/NumberInputLike/NumberInputLike.js.map +1 -1
  784. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +12 -3
  785. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
  786. package/dist/cssm/components/OnboardingTooltip/OnboardingTooltipContainer.js.map +1 -1
  787. package/dist/cssm/components/Pagination/Pagination.js +14 -6
  788. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  789. package/dist/cssm/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.js.map +1 -1
  790. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageButton.js.map +1 -1
  791. package/dist/cssm/components/Pagination/PaginationPage/PaginationPageEllipsis.js.map +1 -1
  792. package/dist/cssm/components/Pagination/PaginationPage/usePaginationPageClasses.js.map +1 -1
  793. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  794. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  795. package/dist/cssm/components/PanelHeader/PanelHeader.module.css +0 -5
  796. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  797. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  798. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  799. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  800. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  801. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  802. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  803. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  804. package/dist/cssm/components/Popper/Popper.js +13 -7
  805. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  806. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  807. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  808. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  809. package/dist/cssm/components/Radio/Radio.js +2 -2
  810. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  811. package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
  812. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  813. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  814. package/dist/cssm/components/Removable/Removable.module.css +0 -4
  815. package/dist/cssm/components/Removable/RemovableIos.js.map +1 -1
  816. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  817. package/dist/cssm/components/Root/Root.js.map +1 -1
  818. package/dist/cssm/components/RootComponent/RootComponent.js.map +1 -1
  819. package/dist/cssm/components/ScreenSpinner/ScreenSpinnerSwapIcon.js.map +1 -1
  820. package/dist/cssm/components/ScreenSpinner/context.js.map +1 -1
  821. package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
  822. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +14 -4
  823. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  824. package/dist/cssm/components/Search/Search.js.map +1 -1
  825. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  826. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  827. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  828. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  829. package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
  830. package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
  831. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  832. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -1
  833. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  834. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +3 -5
  835. package/dist/cssm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  836. package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
  837. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  838. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  839. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  840. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.js.map +1 -1
  841. package/dist/cssm/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  842. package/dist/cssm/components/Snackbar/utils.js.map +1 -1
  843. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  844. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  845. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  846. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  847. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  848. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  849. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  850. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  851. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  852. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  853. package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
  854. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  855. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  856. package/dist/cssm/components/Tappable/state.js.map +1 -1
  857. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  858. package/dist/cssm/components/ToolButton/ToolButton.js.map +1 -1
  859. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  860. package/dist/cssm/components/TooltipBase/TooltipBase.js.map +1 -1
  861. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  862. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  863. package/dist/cssm/components/Typography/DisplayTitle/DisplayTitle.js.map +1 -1
  864. package/dist/cssm/components/Typography/EllipsisText/EllipsisText.js.map +1 -1
  865. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  866. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  867. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  868. package/dist/cssm/components/UnstyledTextField/UnstyledTextField.js.map +1 -1
  869. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  870. package/dist/cssm/components/View/View.js.map +1 -1
  871. package/dist/cssm/components/View/View.module.css +1 -3
  872. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  873. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  874. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  875. package/dist/cssm/helpers/math.js.map +1 -1
  876. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  877. package/dist/cssm/hooks/useAutoDetectColorScheme.js +8 -27
  878. package/dist/cssm/hooks/useAutoDetectColorScheme.js.map +1 -1
  879. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  880. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  881. package/dist/cssm/hooks/useDraggableWithDomApi/types.js.map +1 -1
  882. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  883. package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
  884. package/dist/cssm/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  885. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js +10 -2
  886. package/dist/cssm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  887. package/dist/cssm/hooks/useFocusVisibleClassName.js.map +1 -1
  888. package/dist/cssm/hooks/useGlobalEscKeyDown.js.map +1 -1
  889. package/dist/cssm/hooks/useMediaQueryMatch.js +25 -0
  890. package/dist/cssm/hooks/useMediaQueryMatch.js.map +1 -0
  891. package/dist/cssm/hooks/useMergeProps.js.map +1 -1
  892. package/dist/cssm/hooks/useModalManager/types.js.map +1 -1
  893. package/dist/cssm/hooks/usePagination.js.map +1 -1
  894. package/dist/cssm/hooks/usePatchChildren.js.map +1 -1
  895. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +2 -2
  896. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  897. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  898. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  899. package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +3 -3
  900. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  901. package/dist/cssm/hooks/useSnackbarManager/types.js.map +1 -1
  902. package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  903. package/dist/cssm/index.js +1 -1
  904. package/dist/cssm/index.js.map +1 -1
  905. package/dist/cssm/lib/SSR.js.map +1 -1
  906. package/dist/cssm/lib/accessibility.js.map +1 -1
  907. package/dist/cssm/lib/adaptivity/functions.js +6 -0
  908. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  909. package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  910. package/dist/cssm/lib/animation/useCSSTransition.js +4 -2
  911. package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
  912. package/dist/cssm/lib/animation/useReducedMotion.js +2 -20
  913. package/dist/cssm/lib/animation/useReducedMotion.js.map +1 -1
  914. package/dist/cssm/lib/calendar.js.map +1 -1
  915. package/dist/cssm/lib/date.js.map +1 -1
  916. package/dist/cssm/lib/dom.js.map +1 -1
  917. package/dist/cssm/lib/floating/functions.js.map +1 -1
  918. package/dist/cssm/lib/floating/types/component.js.map +1 -1
  919. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  920. package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  921. package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  922. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  923. package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  924. package/dist/cssm/lib/getNavId.js.map +1 -1
  925. package/dist/cssm/lib/layouts/layoutProps.js +17 -0
  926. package/dist/cssm/lib/layouts/layoutProps.js.map +1 -1
  927. package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -1
  928. package/dist/cssm/lib/layouts/types.js.map +1 -1
  929. package/dist/cssm/lib/select.js.map +1 -1
  930. package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -1
  931. package/dist/cssm/lib/tokens/TokensClassProvider.js.map +1 -1
  932. package/dist/cssm/lib/tokens/types.js.map +1 -1
  933. package/dist/cssm/lib/utils.js +3 -0
  934. package/dist/cssm/lib/utils.js.map +1 -1
  935. package/dist/cssm/styles/layout.css +36 -0
  936. package/dist/cssm/types.js +4 -1
  937. package/dist/cssm/types.js.map +1 -1
  938. package/dist/helpers/math.d.ts +1 -1
  939. package/dist/helpers/math.d.ts.map +1 -1
  940. package/dist/helpers/math.js.map +1 -1
  941. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts +5 -1
  942. package/dist/hooks/useAdaptivityWithJSMediaQueries.d.ts.map +1 -1
  943. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  944. package/dist/hooks/useAutoDetectColorScheme.d.ts.map +1 -1
  945. package/dist/hooks/useAutoDetectColorScheme.js +8 -27
  946. package/dist/hooks/useAutoDetectColorScheme.js.map +1 -1
  947. package/dist/hooks/useCalendar.d.ts +1 -1
  948. package/dist/hooks/useCalendar.d.ts.map +1 -1
  949. package/dist/hooks/useCalendar.js.map +1 -1
  950. package/dist/hooks/useDateInput.d.ts +5 -5
  951. package/dist/hooks/useDateInput.d.ts.map +1 -1
  952. package/dist/hooks/useDateInput.js.map +1 -1
  953. package/dist/hooks/useDraggableWithDomApi/types.d.ts +1 -1
  954. package/dist/hooks/useDraggableWithDomApi/types.d.ts.map +1 -1
  955. package/dist/hooks/useDraggableWithDomApi/types.js.map +1 -1
  956. package/dist/hooks/useEnsuredControl.d.ts +4 -4
  957. package/dist/hooks/useEnsuredControl.d.ts.map +1 -1
  958. package/dist/hooks/useEnsuredControl.js.map +1 -1
  959. package/dist/hooks/useFloatingElement.d.ts +4 -4
  960. package/dist/hooks/useFloatingElement.d.ts.map +1 -1
  961. package/dist/hooks/useFloatingElement.js.map +1 -1
  962. package/dist/hooks/useFocusTrap/FocusGuard.d.ts +1 -1
  963. package/dist/hooks/useFocusTrap/FocusGuard.d.ts.map +1 -1
  964. package/dist/hooks/useFocusTrap/FocusGuard.js.map +1 -1
  965. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +6 -10
  966. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts.map +1 -1
  967. package/dist/hooks/useFocusTrap/useFocusTrap.js +10 -2
  968. package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  969. package/dist/hooks/useFocusVisibleClassName.d.ts +3 -3
  970. package/dist/hooks/useFocusVisibleClassName.d.ts.map +1 -1
  971. package/dist/hooks/useFocusVisibleClassName.js.map +1 -1
  972. package/dist/hooks/useGlobalEscKeyDown.d.ts +1 -1
  973. package/dist/hooks/useGlobalEscKeyDown.d.ts.map +1 -1
  974. package/dist/hooks/useGlobalEscKeyDown.js.map +1 -1
  975. package/dist/hooks/useMediaQueryMatch.d.ts +6 -0
  976. package/dist/hooks/useMediaQueryMatch.d.ts.map +1 -0
  977. package/dist/hooks/useMediaQueryMatch.js +25 -0
  978. package/dist/hooks/useMediaQueryMatch.js.map +1 -0
  979. package/dist/hooks/useMergeProps.d.ts +1 -1
  980. package/dist/hooks/useMergeProps.d.ts.map +1 -1
  981. package/dist/hooks/useMergeProps.js.map +1 -1
  982. package/dist/hooks/useModalManager/types.d.ts +8 -8
  983. package/dist/hooks/useModalManager/types.d.ts.map +1 -1
  984. package/dist/hooks/useModalManager/types.js.map +1 -1
  985. package/dist/hooks/usePagination.d.ts +4 -4
  986. package/dist/hooks/usePagination.d.ts.map +1 -1
  987. package/dist/hooks/usePagination.js.map +1 -1
  988. package/dist/hooks/usePatchChildren.d.ts +1 -1
  989. package/dist/hooks/usePatchChildren.d.ts.map +1 -1
  990. package/dist/hooks/usePatchChildren.js.map +1 -1
  991. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.d.ts → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts} +1 -1
  992. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.d.ts.map +1 -0
  993. package/dist/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.js → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js} +10 -10
  994. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js.map +1 -0
  995. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.d.ts.map +1 -1
  996. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js +5 -2
  997. package/dist/hooks/useSnackbarManager/components/SnackbarHolder.js.map +1 -1
  998. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.d.ts → SnackbarsContainer/SnackbarsContainer.d.ts} +2 -2
  999. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.d.ts.map +1 -0
  1000. package/dist/hooks/useSnackbarManager/components/{SnackbarsContainer.js → SnackbarsContainer/SnackbarsContainer.js} +10 -10
  1001. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.js.map +1 -0
  1002. package/dist/hooks/useSnackbarManager/types.d.ts +11 -11
  1003. package/dist/hooks/useSnackbarManager/types.d.ts.map +1 -1
  1004. package/dist/hooks/useSnackbarManager/types.js.map +1 -1
  1005. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +1 -1
  1006. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -1
  1007. package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -1
  1008. package/dist/index.d.ts +3 -2
  1009. package/dist/index.d.ts.map +1 -1
  1010. package/dist/index.js +1 -1
  1011. package/dist/index.js.map +1 -1
  1012. package/dist/lib/SSR.d.ts +4 -4
  1013. package/dist/lib/SSR.d.ts.map +1 -1
  1014. package/dist/lib/SSR.js.map +1 -1
  1015. package/dist/lib/accessibility.d.ts +1 -1
  1016. package/dist/lib/accessibility.d.ts.map +1 -1
  1017. package/dist/lib/accessibility.js.map +1 -1
  1018. package/dist/lib/adaptivity/functions.d.ts.map +1 -1
  1019. package/dist/lib/adaptivity/functions.js +6 -0
  1020. package/dist/lib/adaptivity/functions.js.map +1 -1
  1021. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts +6 -6
  1022. package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
  1023. package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
  1024. package/dist/lib/animation/useCSSTransition.d.ts +11 -11
  1025. package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
  1026. package/dist/lib/animation/useCSSTransition.js +4 -2
  1027. package/dist/lib/animation/useCSSTransition.js.map +1 -1
  1028. package/dist/lib/animation/useReducedMotion.d.ts.map +1 -1
  1029. package/dist/lib/animation/useReducedMotion.js +2 -20
  1030. package/dist/lib/animation/useReducedMotion.js.map +1 -1
  1031. package/dist/lib/calendar.d.ts +5 -5
  1032. package/dist/lib/calendar.d.ts.map +1 -1
  1033. package/dist/lib/calendar.js.map +1 -1
  1034. package/dist/lib/date.d.ts +10 -10
  1035. package/dist/lib/date.d.ts.map +1 -1
  1036. package/dist/lib/date.js.map +1 -1
  1037. package/dist/lib/dom.d.ts +2 -2
  1038. package/dist/lib/dom.d.ts.map +1 -1
  1039. package/dist/lib/dom.js.map +1 -1
  1040. package/dist/lib/floating/functions.d.ts +2 -2
  1041. package/dist/lib/floating/functions.d.ts.map +1 -1
  1042. package/dist/lib/floating/functions.js.map +1 -1
  1043. package/dist/lib/floating/types/component.d.ts +9 -9
  1044. package/dist/lib/floating/types/component.d.ts.map +1 -1
  1045. package/dist/lib/floating/types/component.js.map +1 -1
  1046. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +14 -14
  1047. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
  1048. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +6 -4
  1049. package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
  1050. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +15 -15
  1051. package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
  1052. package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
  1053. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +6 -2
  1054. package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
  1055. package/dist/lib/getNavId.d.ts +2 -2
  1056. package/dist/lib/getNavId.d.ts.map +1 -1
  1057. package/dist/lib/getNavId.js.map +1 -1
  1058. package/dist/lib/layouts/layoutProps.d.ts +2 -0
  1059. package/dist/lib/layouts/layoutProps.d.ts.map +1 -1
  1060. package/dist/lib/layouts/layoutProps.js +17 -0
  1061. package/dist/lib/layouts/layoutProps.js.map +1 -1
  1062. package/dist/lib/layouts/resolveLayoutProps.d.ts +6 -6
  1063. package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -1
  1064. package/dist/lib/layouts/resolveLayoutProps.js.map +1 -1
  1065. package/dist/lib/layouts/types.d.ts +39 -27
  1066. package/dist/lib/layouts/types.d.ts.map +1 -1
  1067. package/dist/lib/layouts/types.js.map +1 -1
  1068. package/dist/lib/select.d.ts +2 -2
  1069. package/dist/lib/select.d.ts.map +1 -1
  1070. package/dist/lib/select.js.map +1 -1
  1071. package/dist/lib/sheet/useBottomSheet.d.ts +4 -4
  1072. package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -1
  1073. package/dist/lib/sheet/useBottomSheet.js.map +1 -1
  1074. package/dist/lib/tokens/TokensClassProvider.js.map +1 -1
  1075. package/dist/lib/tokens/types.d.ts +2 -2
  1076. package/dist/lib/tokens/types.d.ts.map +1 -1
  1077. package/dist/lib/tokens/types.js.map +1 -1
  1078. package/dist/lib/utils.d.ts +3 -3
  1079. package/dist/lib/utils.d.ts.map +1 -1
  1080. package/dist/lib/utils.js +3 -0
  1081. package/dist/lib/utils.js.map +1 -1
  1082. package/dist/types.d.ts +17 -10
  1083. package/dist/types.d.ts.map +1 -1
  1084. package/dist/types.js +4 -1
  1085. package/dist/types.js.map +1 -1
  1086. package/dist/vkui.css +1 -1
  1087. package/dist/vkui.css.map +1 -1
  1088. package/package.json +3 -3
  1089. package/src/components/Accordion/Accordion.tsx +10 -6
  1090. package/src/components/Accordion/AccordionIcon.tsx +31 -0
  1091. package/src/components/Accordion/AccordionSummary.tsx +5 -9
  1092. package/src/components/ActionSheet/ActionSheet.tsx +14 -10
  1093. package/src/components/ActionSheet/ActionSheetContext.ts +3 -3
  1094. package/src/components/ActionSheet/types.ts +8 -8
  1095. package/src/components/ActionSheetItem/ActionSheetItem.module.css +0 -1
  1096. package/src/components/ActionSheetItem/ActionSheetItem.module.css.d.ts.map +1 -1
  1097. package/src/components/ActionSheetItem/ActionSheetItem.tsx +15 -15
  1098. package/src/components/ActionSheetItem/subcomponents/Radio/Radio.tsx +1 -1
  1099. package/src/components/AdaptivityProvider/AdaptivityContext.tsx +7 -7
  1100. package/src/components/Alert/Alert.tsx +17 -17
  1101. package/src/components/Alert/AlertBase.tsx +2 -2
  1102. package/src/components/Alert/AlertTypography.tsx +1 -1
  1103. package/src/components/AppRoot/AppRoot.tsx +9 -9
  1104. package/src/components/AppRoot/AppRootContext.ts +4 -4
  1105. package/src/components/AppRoot/AppRootPortal.tsx +2 -2
  1106. package/src/components/AppRoot/ScrollContext.tsx +5 -5
  1107. package/src/components/AppRoot/types.ts +4 -4
  1108. package/src/components/AspectRatio/AspectRatio.tsx +2 -2
  1109. package/src/components/Avatar/Avatar.module.css +0 -5
  1110. package/src/components/Avatar/Avatar.module.css.d.ts.map +1 -1
  1111. package/src/components/Avatar/Avatar.tsx +6 -2
  1112. package/src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx +1 -1
  1113. package/src/components/Badge/Badge.tsx +1 -1
  1114. package/src/components/Banner/Banner.tsx +12 -12
  1115. package/src/components/Box/Box.tsx +1 -1
  1116. package/src/components/Button/Button.tsx +19 -12
  1117. package/src/components/ButtonGroup/ButtonGroup.tsx +4 -4
  1118. package/src/components/Calendar/Calendar.tsx +17 -17
  1119. package/src/components/CalendarDay/CalendarDay.tsx +18 -18
  1120. package/src/components/CalendarDays/CalendarDays.tsx +14 -14
  1121. package/src/components/CalendarHeader/CalendarHeader.tsx +19 -19
  1122. package/src/components/CalendarRange/CalendarRange.tsx +12 -12
  1123. package/src/components/CalendarTime/CalendarTime.tsx +14 -14
  1124. package/src/components/CalendarTime/CalendarTimePicker.tsx +3 -3
  1125. package/src/components/Card/Card.tsx +1 -1
  1126. package/src/components/CardGrid/CardGrid.tsx +2 -2
  1127. package/src/components/CardScroll/CardScroll.tsx +3 -3
  1128. package/src/components/CarouselBase/Bullets.tsx +1 -1
  1129. package/src/components/CarouselBase/CarouselViewPort.tsx +1 -1
  1130. package/src/components/CarouselBase/ScrollArrows.tsx +2 -2
  1131. package/src/components/CarouselBase/helpers.ts +4 -4
  1132. package/src/components/CarouselBase/types.ts +23 -23
  1133. package/src/components/Cell/Cell.tsx +8 -8
  1134. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +1 -1
  1135. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1136. package/src/components/CellButton/CellButton.module.css +159 -7
  1137. package/src/components/CellButton/CellButton.module.css.d.ts.map +1 -1
  1138. package/src/components/CellButton/CellButton.tsx +154 -11
  1139. package/src/components/Checkbox/Checkbox.tsx +16 -9
  1140. package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +20 -14
  1141. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  1142. package/src/components/ChipsInput/useChipsInput.ts +3 -3
  1143. package/src/components/ChipsInputBase/Chip/Chip.tsx +9 -9
  1144. package/src/components/ChipsInputBase/types.ts +28 -22
  1145. package/src/components/ChipsSelect/ChipsSelect.tsx +13 -13
  1146. package/src/components/ChipsSelect/useChipsSelect.ts +22 -21
  1147. package/src/components/Clickable/Clickable.tsx +1 -1
  1148. package/src/components/Clickable/useState.tsx +13 -13
  1149. package/src/components/ConfigProvider/ConfigProvider.tsx +2 -1
  1150. package/src/components/ContentBadge/ContentBadge.tsx +4 -4
  1151. package/src/components/ContentCard/ContentCard.tsx +8 -8
  1152. package/src/components/Counter/Counter.tsx +4 -4
  1153. package/src/components/CustomScrollView/CustomScrollView.tsx +6 -6
  1154. package/src/components/CustomSelect/CustomSelect.module.css +0 -6
  1155. package/src/components/CustomSelect/CustomSelect.module.css.d.ts.map +1 -1
  1156. package/src/components/CustomSelect/CustomSelect.tsx +42 -29
  1157. package/src/components/CustomSelect/CustomSelectClearButton.tsx +2 -2
  1158. package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +20 -14
  1159. package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +2 -2
  1160. package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +1 -1
  1161. package/src/components/CustomSelect/types.ts +1 -1
  1162. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +8 -8
  1163. package/src/components/CustomSelectOption/CustomSelectOption.tsx +9 -9
  1164. package/src/components/DateInput/DateInput.tsx +27 -35
  1165. package/src/components/DateInput/hooks.ts +7 -7
  1166. package/src/components/DateRangeInput/DateRangeInput.tsx +28 -36
  1167. package/src/components/DropZone/DropZone.tsx +5 -2
  1168. package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.tsx +1 -1
  1169. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -1
  1170. package/src/components/Epic/Epic.tsx +1 -1
  1171. package/src/components/Epic/ScrollSaver.tsx +1 -1
  1172. package/src/components/File/File.tsx +15 -9
  1173. package/src/components/FixedLayout/FixedLayout.tsx +3 -3
  1174. package/src/components/Flex/Flex.tsx +8 -23
  1175. package/src/components/Flex/FlexItem/FlexItem.module.css +0 -22
  1176. package/src/components/Flex/FlexItem/FlexItem.module.css.d.ts.map +1 -1
  1177. package/src/components/Flex/FlexItem/FlexItem.tsx +17 -44
  1178. package/src/components/FloatingArrow/FloatingArrow.tsx +9 -9
  1179. package/src/components/FocusTrap/FocusTrap.tsx +0 -3
  1180. package/src/components/FormField/FormField.tsx +8 -8
  1181. package/src/components/FormFieldClearButton/FormFieldClearButton.tsx +2 -2
  1182. package/src/components/FormItem/FormItem.module.css +1 -2
  1183. package/src/components/FormItem/FormItem.module.css.d.ts.map +1 -1
  1184. package/src/components/FormItem/FormItem.tsx +10 -10
  1185. package/src/components/FormItem/context.ts +2 -2
  1186. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +4 -4
  1187. package/src/components/FormStatus/FormStatus.tsx +2 -2
  1188. package/src/components/Gallery/Gallery.tsx +2 -2
  1189. package/src/components/Gradient/Gradient.tsx +2 -2
  1190. package/src/components/GridAvatar/GridAvatar.tsx +1 -1
  1191. package/src/components/Group/Group.tsx +2 -2
  1192. package/src/components/Group/GroupContainer.tsx +3 -3
  1193. package/src/components/Group/GroupExpandedContent.tsx +1 -1
  1194. package/src/components/Header/Header.tsx +11 -11
  1195. package/src/components/HorizontalCell/HorizontalCell.tsx +7 -7
  1196. package/src/components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore.tsx +4 -4
  1197. package/src/components/HorizontalScroll/HorizontalScroll.tsx +63 -18
  1198. package/src/components/IconButton/IconButton.tsx +1 -1
  1199. package/src/components/Image/Image.tsx +5 -5
  1200. package/src/components/ImageBase/ImageBase.tsx +19 -15
  1201. package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
  1202. package/src/components/ImageBase/ImageBaseFloatElement/ImageBaseFloatElement.tsx +3 -3
  1203. package/src/components/ImageBase/ImageBaseOverlay/types.ts +3 -3
  1204. package/src/components/ImageBase/types.ts +3 -3
  1205. package/src/components/Input/Input.tsx +13 -7
  1206. package/src/components/InputLike/InputLike.tsx +3 -3
  1207. package/src/components/Link/Link.tsx +4 -4
  1208. package/src/components/List/List.tsx +1 -1
  1209. package/src/components/MiniInfoCell/MiniInfoCell.tsx +5 -5
  1210. package/src/components/ModalCard/ModalCardInternal.tsx +1 -1
  1211. package/src/components/ModalCard/types.ts +13 -13
  1212. package/src/components/ModalCardBase/ModalCardBase.module.css +0 -4
  1213. package/src/components/ModalCardBase/ModalCardBase.module.css.d.ts.map +1 -1
  1214. package/src/components/ModalCardBase/ModalCardBase.tsx +14 -14
  1215. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1216. package/src/components/ModalOutlet/ModalOutlet.tsx +3 -3
  1217. package/src/components/ModalOutsideButton/ModalOutsideButton.tsx +1 -1
  1218. package/src/components/ModalOverlay/ModalOverlay.tsx +7 -7
  1219. package/src/components/ModalPage/ModalPageBase.tsx +2 -2
  1220. package/src/components/ModalPage/ModalPageInternal.tsx +2 -2
  1221. package/src/components/ModalPage/types.ts +27 -27
  1222. package/src/components/ModalPageFooter/ModalPageFooter.tsx +2 -2
  1223. package/src/components/ModalPageHeader/ModalPageHeader.tsx +1 -1
  1224. package/src/components/ModalRoot/types.ts +15 -15
  1225. package/src/components/ModalRoot/useModalRootManager.tsx +19 -19
  1226. package/src/components/NativeSelect/NativeSelect.tsx +20 -14
  1227. package/src/components/NumberInputLike/NumberInputLike.tsx +3 -3
  1228. package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +16 -8
  1229. package/src/components/OnboardingTooltip/OnboardingTooltipContainer.tsx +1 -1
  1230. package/src/components/Pagination/Pagination.tsx +27 -25
  1231. package/src/components/Pagination/PaginationNavigationButton/PaginationNavigationButton.tsx +5 -3
  1232. package/src/components/Pagination/PaginationPage/PaginationPageButton.tsx +3 -3
  1233. package/src/components/Pagination/PaginationPage/PaginationPageEllipsis.tsx +1 -1
  1234. package/src/components/Pagination/PaginationPage/usePaginationPageClasses.ts +3 -3
  1235. package/src/components/Panel/Panel.tsx +3 -3
  1236. package/src/components/PanelHeader/PanelHeader.module.css +0 -5
  1237. package/src/components/PanelHeader/PanelHeader.module.css.d.ts.map +1 -1
  1238. package/src/components/PanelHeader/PanelHeader.tsx +14 -12
  1239. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +2 -2
  1240. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +3 -3
  1241. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +3 -3
  1242. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +3 -3
  1243. package/src/components/PanelSpinner/PanelSpinner.tsx +1 -1
  1244. package/src/components/Placeholder/Placeholder.tsx +5 -5
  1245. package/src/components/PopoutWrapper/PopoutWrapper.tsx +6 -6
  1246. package/src/components/Popover/Popover.tsx +5 -5
  1247. package/src/components/Popper/Popper.tsx +17 -15
  1248. package/src/components/Progress/Progress.tsx +4 -4
  1249. package/src/components/PullToRefresh/PullToRefresh.tsx +2 -2
  1250. package/src/components/PullToRefresh/PullToRefreshSpinner.tsx +4 -4
  1251. package/src/components/Radio/Radio.tsx +18 -12
  1252. package/src/components/Radio/RadioInput/RadioInput.tsx +15 -9
  1253. package/src/components/RadioGroup/RadioGroup.tsx +1 -1
  1254. package/src/components/Removable/Removable.module.css +0 -4
  1255. package/src/components/Removable/Removable.module.css.d.ts.map +1 -1
  1256. package/src/components/Removable/Removable.tsx +13 -10
  1257. package/src/components/Removable/RemovableIos.tsx +6 -3
  1258. package/src/components/RichCell/RichCell.tsx +15 -15
  1259. package/src/components/Root/Root.tsx +3 -3
  1260. package/src/components/RootComponent/RootComponent.tsx +2 -2
  1261. package/src/components/ScreenSpinner/ScreenSpinnerSwapIcon.tsx +1 -1
  1262. package/src/components/ScreenSpinner/context.ts +2 -2
  1263. package/src/components/ScreenSpinner/types.tsx +5 -5
  1264. package/src/components/ScrollArrow/ScrollArrow.tsx +27 -4
  1265. package/src/components/Search/Search.tsx +28 -22
  1266. package/src/components/SegmentedControl/SegmentedControl.tsx +6 -6
  1267. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +3 -3
  1268. package/src/components/SelectMimicry/SelectMimicry.tsx +3 -3
  1269. package/src/components/SelectTypography/SelectTypography.tsx +1 -1
  1270. package/src/components/SelectionControl/SelectionControl.tsx +1 -1
  1271. package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +2 -2
  1272. package/src/components/Separator/Separator.tsx +5 -5
  1273. package/src/components/SimpleCell/Chevron/Chevron.tsx +1 -1
  1274. package/src/components/SimpleCell/SimpleCell.module.css +3 -5
  1275. package/src/components/SimpleCell/SimpleCell.module.css.d.ts.map +1 -1
  1276. package/src/components/SimpleCell/SimpleCell.tsx +14 -14
  1277. package/src/components/SimpleGrid/SimpleGrid.tsx +6 -6
  1278. package/src/components/Skeleton/Skeleton.tsx +5 -5
  1279. package/src/components/Slider/Slider.tsx +19 -17
  1280. package/src/components/Slider/SliderThumb/SliderThumb.tsx +9 -7
  1281. package/src/components/Snackbar/Snackbar.tsx +19 -13
  1282. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css +2 -4
  1283. package/src/components/Snackbar/subcomponents/Basic/Basic.module.css.d.ts.map +1 -1
  1284. package/src/components/Snackbar/subcomponents/Basic/Basic.tsx +6 -6
  1285. package/src/components/Snackbar/utils.ts +1 -1
  1286. package/src/components/Spacing/Spacing.tsx +2 -2
  1287. package/src/components/Spinner/Spinner.tsx +4 -4
  1288. package/src/components/SplitCol/SplitCol.tsx +7 -7
  1289. package/src/components/SplitLayout/SplitLayout.tsx +15 -9
  1290. package/src/components/SubnavigationBar/SubnavigationBar.tsx +2 -2
  1291. package/src/components/SubnavigationButton/SubnavigationButton.tsx +8 -8
  1292. package/src/components/Switch/Switch.tsx +15 -9
  1293. package/src/components/Tabbar/Tabbar.tsx +2 -2
  1294. package/src/components/TabbarItem/TabbarItem.tsx +3 -3
  1295. package/src/components/Tabs/Tabs.tsx +7 -7
  1296. package/src/components/Tabs/TabsModeContext.ts +1 -1
  1297. package/src/components/TabsItem/TabsItem.tsx +5 -5
  1298. package/src/components/Tappable/Tappable.tsx +3 -3
  1299. package/src/components/Tappable/state.tsx +2 -2
  1300. package/src/components/Textarea/Textarea.tsx +14 -10
  1301. package/src/components/ToolButton/ToolButton.tsx +4 -4
  1302. package/src/components/Tooltip/Tooltip.tsx +6 -6
  1303. package/src/components/TooltipBase/TooltipBase.tsx +10 -10
  1304. package/src/components/Touch/Touch.tsx +16 -16
  1305. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1306. package/src/components/Typography/DisplayTitle/DisplayTitle.tsx +1 -1
  1307. package/src/components/Typography/EllipsisText/EllipsisText.tsx +3 -3
  1308. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1309. package/src/components/Typography/Title/Title.tsx +1 -1
  1310. package/src/components/Typography/Typography.tsx +6 -6
  1311. package/src/components/UnstyledTextField/UnstyledTextField.tsx +1 -1
  1312. package/src/components/UsersStack/UsersStack.tsx +6 -6
  1313. package/src/components/View/View.module.css +1 -3
  1314. package/src/components/View/View.module.css.d.ts.map +1 -1
  1315. package/src/components/View/View.tsx +4 -4
  1316. package/src/components/View/ViewInfinite.tsx +11 -11
  1317. package/src/components/WriteBar/WriteBar.tsx +21 -15
  1318. package/src/components/WriteBarIcon/WriteBarIcon.tsx +3 -3
  1319. package/src/helpers/math.ts +1 -1
  1320. package/src/hooks/useAdaptivityWithJSMediaQueries.ts +3 -1
  1321. package/src/hooks/useAutoDetectColorScheme.ts +8 -30
  1322. package/src/hooks/useCalendar.ts +2 -2
  1323. package/src/hooks/useDateInput.ts +5 -5
  1324. package/src/hooks/useDraggableWithDomApi/types.ts +1 -1
  1325. package/src/hooks/useEnsuredControl.ts +4 -4
  1326. package/src/hooks/useFloatingElement.tsx +4 -4
  1327. package/src/hooks/useFocusTrap/FocusGuard.tsx +1 -1
  1328. package/src/hooks/useFocusTrap/useFocusTrap.tsx +17 -15
  1329. package/src/hooks/useFocusVisibleClassName.ts +3 -3
  1330. package/src/hooks/useGlobalEscKeyDown.ts +2 -2
  1331. package/src/hooks/useMediaQueryMatch.ts +34 -0
  1332. package/src/hooks/useMergeProps.ts +2 -2
  1333. package/src/hooks/useModalManager/types.ts +8 -8
  1334. package/src/hooks/usePagination.ts +4 -4
  1335. package/src/hooks/usePatchChildren.ts +1 -1
  1336. package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.tsx → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.tsx} +3 -3
  1337. package/src/hooks/useSnackbarManager/components/SnackbarHolder.tsx +6 -2
  1338. package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.tsx → SnackbarsContainer/SnackbarsContainer.tsx} +6 -6
  1339. package/src/hooks/useSnackbarManager/types.ts +11 -11
  1340. package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +1 -1
  1341. package/src/index.ts +6 -2
  1342. package/src/lib/SSR.tsx +4 -4
  1343. package/src/lib/accessibility.ts +1 -1
  1344. package/src/lib/adaptivity/functions.ts +10 -1
  1345. package/src/lib/animation/useCSSKeyframesAnimationController.ts +6 -6
  1346. package/src/lib/animation/useCSSTransition.ts +15 -13
  1347. package/src/lib/animation/useReducedMotion.ts +2 -25
  1348. package/src/lib/calendar.ts +5 -2
  1349. package/src/lib/date.ts +11 -11
  1350. package/src/lib/dom.tsx +2 -2
  1351. package/src/lib/floating/functions.ts +2 -2
  1352. package/src/lib/floating/types/component.ts +9 -9
  1353. package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +26 -19
  1354. package/src/lib/floating/useFloatingWithInteractions/types.ts +15 -15
  1355. package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +2 -2
  1356. package/src/lib/getNavId.ts +2 -2
  1357. package/src/lib/layouts/layoutProps.ts +5 -0
  1358. package/src/lib/layouts/resolveLayoutProps.ts +3 -3
  1359. package/src/lib/layouts/types.ts +40 -27
  1360. package/src/lib/select.ts +2 -2
  1361. package/src/lib/sheet/useBottomSheet.ts +4 -4
  1362. package/src/lib/tokens/TokensClassProvider.tsx +1 -1
  1363. package/src/lib/tokens/types.ts +2 -2
  1364. package/src/lib/utils.ts +8 -3
  1365. package/src/types.ts +18 -10
  1366. package/dist/components/DropZone/components/DropZoneGrid.d.ts.map +0 -1
  1367. package/dist/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1368. package/dist/cssm/components/DropZone/components/DropZoneGrid.js.map +0 -1
  1369. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1370. package/dist/cssm/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1371. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.d.ts.map +0 -1
  1372. package/dist/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper.js.map +0 -1
  1373. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.d.ts.map +0 -1
  1374. package/dist/hooks/useSnackbarManager/components/SnackbarsContainer.js.map +0 -1
  1375. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.js +0 -0
  1376. /package/dist/cssm/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1377. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1378. /package/dist/cssm/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1379. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css +0 -0
  1380. /package/src/components/DropZone/{components → DropZoneGrid}/DropZoneGrid.module.css.d.ts.map +0 -0
  1381. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css} +0 -0
  1382. /package/src/hooks/useSnackbarManager/components/{SnackbarAnimatedWrapper.module.css.d.ts.map → SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.module.css.d.ts.map} +0 -0
  1383. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css → SnackbarsContainer/SnackbarsContainer.module.css} +0 -0
  1384. /package/src/hooks/useSnackbarManager/components/{SnackbarsContainer.module.css.d.ts.map → SnackbarsContainer/SnackbarsContainer.module.css.d.ts.map} +0 -0
@@ -1 +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"}
@@ -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 +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"}
@@ -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":"AAAA;;AAGA,SAASA,uBAAuB,QAAQ,6BAA0B;AAClE,SAASC,SAAS,QAAQ,mBAAgB;AAC1C,SAASC,mBAAmB,QAAQ,4BAAyB;AAC7D,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,UAAU,QAAQ,kBAAe;AAC1C,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,eAAe,QAAQ,uBAAoB;AAEpD,MAAMC,qBAAqBP,wBAAwBQ,IAAI;AAEvD,MAAMC,mBAAmB,CAACC;IACxB,MAAMC,uBACJ,oDAAoD;IACpDD,KAAKE,gBAAgB,CAAcL;IACrC,MAAMM,QAAQC,MAAMC,IAAI,CAACJ,sBAAsBK,MAAM,CAAC,CAACC;QACrD,mDAAmD;QACnD,IAAIA,KAAKC,YAAY,CAAC,qBAAqB;YACzC,OAAO;QACT;QAEA,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,GAAGC,iBAAiBJ;QACjD,MAAMK,WAAWH,YAAY,UAAUC,eAAe;QACtD,MAAMG,aAAa,AAACN,KAA2BO,QAAQ,IAAI;QAE3D,OAAO,CAACF,YAAY,CAACC;IACvB;IAEA,IAAIV,MAAMY,MAAM,KAAK,GAAG;QACtBZ,MAAMa,IAAI,CAAChB;IACb;IAEA,OAAOG;AACT;AAEA,MAAMc,oBAAoB,CAACjB;IACzB,IAAI,CAACA,MAAM;QACT,OAAO;IACT;IAEA,MAAMG,QAAQJ,iBAAiBC;IAC/B,OAAOG,KAAK,CAAC,EAAE,IAAI;AACrB;AAEA,MAAMe,mBAAmB,CAAClB;IACxB,IAAI,CAACA,MAAM;QACT,OAAO;IACT;IAEA,MAAMG,QAAQJ,iBAAiBC;IAC/B,OAAOG,KAAK,CAACA,MAAMY,MAAM,GAAG,EAAE,IAAI;AACpC;AAoCA,OAAO,MAAMI,eAAe,CAC1BC,KACA,EACEC,QAAQ,IAAI,EACZP,WAAW,KAAK,EAChBQ,YAAY,IAAI,EAChBC,eAAe,IAAI,EACnBC,iBAAiB,CAAC,EAClBC,uBAAuB,EACL;IAEpB,MAAMC,gBAAgB,CAACC;QACrB,OAAO;YACL,MAAMpB,OAAOoB,gBAAgBP,IAAIQ,OAAO;YACxC,IAAIrB,MAAM;gBACRA,KAAKsB,KAAK,CAAC;oBAAEC,eAAe;gBAAK;YACnC,OAAO,IAAIV,IAAIQ,OAAO,EAAE;gBACtBR,IAAIQ,OAAO,CAACC,KAAK;YACnB;QACF;IACF;IAEA,MAAME,aAAatC,kBAAkBiC,cAAcT;IAEnD,MAAMe,YAAYvC,kBAAkBiC,cAAcR;IAElDtB,gBAAgB;QACd2B;QACAC;QACAH;QACAD;IACF;IAEAzB,aAAayB,KAAK;QAChBE;QACAR;QACAO;QACAG;QACAO;IACF;IAEA,MAAME,wBAAwBxC,kBAAkB,CAACyC;QAC/C,IAAIpB,YAAY,CAACQ,aAAa,CAACD,OAAO;YACpC;QACF;QAEA,MAAMc,MAAM5C,UAAU2C,aAAaE;QACnC,IAAI,CAACD,KAAK;YACR;QACF;QAEA,MAAME,gBAAgBF,IAAIE,aAAa;QACvC,MAAMC,iBAAiBvC,iBAAiBmC;QAExC,IAAII,eAAevB,MAAM,KAAK,GAAG;YAC/B;QACF;QAEA,MAAMwB,sBAAsBC,KAAKC,GAAG,CAClCJ,gBAAgBC,eAAeI,OAAO,CAACL,iBAAiB,CAAC,GACzD;QAGF,MAAMM,cAAcL,cAAc,CAACC,oBAAoB;QACvD,IAAII,aAAa;YACfA,YAAYd,KAAK,CAAC;gBAAEC,eAAe;YAAK;QAC1C;IACF;IAEAtC,oBACE4B,KACA,IAAMA,IAAIQ,OAAO,IAAIK,sBAAsBb,IAAIQ,OAAO,GACtDH;IAGF,MAAMmB,0BAA0B,CAACC,SAAqBC;QACpD,OAAO,CAACC;YACN,IAAI,CAAC1B,SAASP,YAAY,CAACM,IAAIQ,OAAO,EAAE;gBACtC;YACF;YAEA,4DAA4D;YAC5D,6EAA6E;YAC7E,MAAMoB,gBAAgBD,MAAMC,aAAa;YAEzC,IAAIA,kBAAkB,QAASA,iBAAiB,CAAC5B,IAAIQ,OAAO,CAACqB,QAAQ,CAACD,gBAAiB;gBACrFF;gBACA;YACF;YAEAD;QACF;IACF;IAEA,MAAMK,qBAAqBzD,kBAAkBmD,wBAAwBZ,WAAWD;IAChF,MAAMoB,oBAAoB1D,kBAAkBmD,wBAAwBb,YAAYC;IAEhF,MAAMoB,qBAAqB/B,SAAS,CAACP;IAErC,OAAO;QACLuC,aAAaD,oCAAsB,KAAC1D;YAAW4D,SAASJ;;QACxDK,YAAYH,oCAAsB,KAAC1D;YAAW4D,SAASH;;IACzD;AACF,EAAE"}
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":"AAAA;;AAGA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,uBAAuB,QAAQ,6BAA0B;AAClE,SAASC,SAAS,QAAQ,mBAAgB;AAC1C,SAASC,mBAAmB,QAAQ,4BAAyB;AAC7D,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,UAAU,QAAQ,kBAAe;AAC1C,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,eAAe,QAAQ,uBAAoB;AAEpD,MAAMC,qBAAqBP,wBAAwBQ,IAAI;AAEvD,MAAMC,mBAAmB,CAACC;IACxB,MAAMC,uBACJ,oDAAoD;IACpDD,KAAKE,gBAAgB,CAAcL;IACrC,MAAMM,QAAQC,MAAMC,IAAI,CAACJ,sBAAsBK,MAAM,CAAC,CAACC;QACrD,mDAAmD;QACnD,IAAIA,KAAKC,YAAY,CAAC,qBAAqB;YACzC,OAAO;QACT;QAEA,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,GAAGC,iBAAiBJ;QACjD,MAAMK,WAAWH,YAAY,UAAUC,eAAe;QACtD,MAAMG,aAAa,AAACN,KAA2BO,QAAQ,IAAI;QAE3D,OAAO,CAACF,YAAY,CAACC;IACvB;IAEA,IAAIV,MAAMY,MAAM,KAAK,GAAG;QACtBZ,MAAMa,IAAI,CAAChB;IACb;IAEA,OAAOG;AACT;AAEA,MAAMc,oBAAoB,CAACjB;IACzB,IAAI,CAACA,MAAM;QACT,OAAO;IACT;IAEA,MAAMG,QAAQJ,iBAAiBC;IAC/B,OAAOG,KAAK,CAAC,EAAE,IAAI;AACrB;AAEA,MAAMe,mBAAmB,CAAClB;IACxB,IAAI,CAACA,MAAM;QACT,OAAO;IACT;IAEA,MAAMG,QAAQJ,iBAAiBC;IAC/B,OAAOG,KAAK,CAACA,MAAMY,MAAM,GAAG,EAAE,IAAI;AACpC;AAgCA,OAAO,MAAMI,eAAe,CAC1BC,KACA,EACEC,QAAQ,IAAI,EACZP,WAAW,KAAK,EAChBQ,YAAY,IAAI,EAChBC,eAAe,IAAI,EACnBC,iBAAiB,CAAC,EACA;IAEpB,MAAMC,mBAAmBrC,OAAsB,EAAE;IAEjD,MAAMsC,gBAAgB,CAACC;QACrB,OAAO;YACL,MAAMpB,OAAOoB,gBAAgBP,IAAIQ,OAAO;YACxC,IAAIrB,MAAM;gBACRA,KAAKsB,KAAK,CAAC;oBAAEC,eAAe;gBAAK;YACnC,OAAO,IAAIV,IAAIQ,OAAO,EAAE;gBACtBR,IAAIQ,OAAO,CAACC,KAAK;YACnB;QACF;IACF;IAEA,MAAME,aAAatC,kBAAkBiC,cAAcT;IAEnD,MAAMe,YAAYvC,kBAAkBiC,cAAcR;IAElDtB,gBAAgB;QACd2B;QACAC;QACAH;QACAD;IACF;IAEAzB,aAAayB,KAAK;QAChBE;QACAR;QACAO;QACAG;QACAO;IACF;IAEA,MAAME,wBAAwBxC,kBAAkB,CAACyC;QAC/C,IAAIpB,YAAY,CAACQ,aAAa,CAACD,OAAO;YACpC;QACF;QAEA,MAAMc,MAAM5C,UAAU2C,aAAaE;QACnC,IAAI,CAACD,KAAK;YACR;QACF;QAEA,MAAME,gBAAgBF,IAAIE,aAAa;QACvC,MAAMC,iBAAiBvC,iBAAiBmC;QAExC,IAAI7C,aAAaiD,gBAAgBb,iBAAiBG,OAAO,GAAG;YAC1D;QACF;QAEA,IAAIU,eAAevB,MAAM,KAAK,GAAG;YAC/BU,iBAAiBG,OAAO,GAAG,EAAE;YAC7B;QACF;QAEA,MAAMW,sBAAsBC,KAAKC,GAAG,CAClCJ,gBAAgBC,eAAeI,OAAO,CAACL,iBAAiB,CAAC,GACzD;QAGF,MAAMM,cAAcL,cAAc,CAACC,oBAAoB;QACvD,IAAII,aAAa;YACfA,YAAYd,KAAK,CAAC;gBAAEC,eAAe;YAAK;QAC1C;QAEAL,iBAAiBG,OAAO,GAAGU;IAC7B;IAEA9C,oBAAoB4B,KAAK,IAAMA,IAAIQ,OAAO,IAAIK,sBAAsBb,IAAIQ,OAAO;IAE/E,MAAMgB,0BAA0B,CAACC,SAAqBC;QACpD,OAAO,CAACC;YACN,IAAI,CAAC1B,SAASP,YAAY,CAACM,IAAIQ,OAAO,EAAE;gBACtC;YACF;YAEA,4DAA4D;YAC5D,6EAA6E;YAC7E,MAAMoB,gBAAgBD,MAAMC,aAAa;YAEzC,IAAIA,kBAAkB,QAASA,iBAAiB,CAAC5B,IAAIQ,OAAO,CAACqB,QAAQ,CAACD,gBAAiB;gBACrFF;gBACA;YACF;YAEAD;QACF;IACF;IAEA,MAAMK,qBAAqBzD,kBAAkBmD,wBAAwBZ,WAAWD;IAChF,MAAMoB,oBAAoB1D,kBAAkBmD,wBAAwBb,YAAYC;IAEhF,MAAMoB,qBAAqB/B,SAAS,CAACP;IAErC,OAAO;QACLuC,aAAaD,oCAAsB,KAAC1D;YAAW4D,SAASJ;;QACxDK,YAAYH,oCAAsB,KAAC1D;YAAW4D,SAASH;;IACzD;AACF,EAAE"}
@@ -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","styles","focusVisiblePresetModeClassNames","inside","focusVisibleModeInside","outside","focusVisibleModeOutside","isPresetMode","mode","useFocusVisibleClassName","focusVisible","modeClassName","focusVisibleClassNames","focusVisibleFocused"],"mappings":"AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,oCAAoC;AAEvD,OAAO,MAAMC,mCAAyE;IACpFC,QAAQF,OAAOG,sBAAsB;IACrCC,SAASJ,OAAOK,uBAAuB;AACzC,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,QAAQN,gCAAgC,CAACM,KAAK,GAAGA;IAEpF,MAAMI,yBAAyBZ,WAC7BC,OAAOS,YAAY,EACnBA,gBAAgBT,OAAOY,mBAAmB,EAC1CH,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","styles","focusVisiblePresetModeClassNames","inside","focusVisibleModeInside","outside","focusVisibleModeOutside","isPresetMode","mode","useFocusVisibleClassName","focusVisible","modeClassName","focusVisibleClassNames","focusVisibleFocused"],"mappings":"AAAA,SAASA,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,oCAAoC;AAEvD,OAAO,MAAMC,mCAAyE;IACpFC,QAAQF,OAAOG,sBAAsB;IACrCC,SAASJ,OAAOK,uBAAuB;AACzC,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,QAAQN,gCAAgC,CAACM,KAAK,GAAGA;IAEpF,MAAMI,yBAAyBZ,WAC7BC,OAAOS,YAAY,EACnBA,gBAAgBT,OAAOY,mBAAmB,EAC1CH,gBAAgBC;IAGlB,OAAOC;AACT"}
@@ -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,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 +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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useModalManager/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { ModalCardProps } from '../../components/ModalCard/types';\nimport type { ModalPageProps } from '../../components/ModalPage/types';\nimport type { ModalRootProps } from '../../components/ModalRoot/types';\nimport type { HasDataAttribute } from '../../types';\n\nexport type UseModalManagerProps = Omit<ModalRootProps, 'activeModal' | 'children'> & {\n saveHistory?: boolean;\n};\n\nexport type OpenModalPageProps = Omit<ModalPageProps, 'open' | 'keepMounted'> & HasDataAttribute;\n\nexport type OpenModalCardProps = Omit<ModalCardProps, 'open' | 'keepMounted'> & HasDataAttribute;\n\nexport type CustomModalPageItem = Pick<OpenPageReturn, 'update' | 'close'> & {\n type: 'page';\n id: string;\n component: React.ComponentType<any>;\n additionalProps?: any;\n modalProps?: OpenModalPageProps;\n};\n\nexport type CustomModalCardItem = Pick<OpenCardReturn, 'update' | 'close'> & {\n type: 'card';\n id: string;\n component: React.ComponentType<any>;\n additionalProps?: any;\n modalProps?: OpenModalCardProps;\n};\n\nexport type ModalManagerItem = CustomModalPageItem | CustomModalCardItem;\n\nexport type OpenModalReturn<T> = {\n id: string;\n close: () => void;\n update: (props: T) => void;\n onClose: <R>(resolve?: () => R, reject?: VoidFunction) => Promise<R>;\n};\n\ntype UpdateArgs =\n | [id: string, type: 'card', props: Omit<OpenModalCardProps, 'id'>]\n | [id: string, type: 'page', props: Omit<OpenModalPageProps, 'id'>];\n\nexport type OpenCardReturn = OpenModalReturn<Omit<OpenModalCardProps, 'id'>>;\n\nexport type OpenPageReturn = OpenModalReturn<Omit<OpenModalPageProps, 'id'>>;\n\nexport type CustomModalProps<\n BaseProps extends OpenModalCardProps | OpenModalPageProps,\n AdditionalProps extends object = object,\n> = AdditionalProps &\n Pick<OpenModalReturn<Omit<BaseProps, 'id'>>, 'close' | 'update'> & {\n modalProps: BaseProps;\n };\n\nexport type CustomModalPayload<\n BaseProps extends OpenModalCardProps | OpenModalPageProps,\n AdditionalProps extends object = object,\n> = {\n id?: string;\n component: React.ComponentType<CustomModalProps<BaseProps, AdditionalProps>>;\n baseProps?: BaseProps;\n additionalProps?: AdditionalProps;\n};\n\n/**\n * API предоставляемое хуком `useModalManager`\n */\nexport type ModalManagerApi = {\n /**\n * Метод для открытия `ModalCard`, принимает свойства `ModalCard`.\n * Возвращает объект типа `OpenModalReturn`.\n */\n openModalCard: (props: OpenModalCardProps) => OpenCardReturn;\n /**\n * Метод для открытия `ModalPage`, принимает свойства `ModalPage`.\n * Возвращает объект типа `OpenModalReturn`.\n */\n openModalPage: (props: OpenModalPageProps) => OpenPageReturn;\n /**\n * Метод для открытия кастомного модального окна на базе `ModalCard`.\n */\n openCustomModalCard: <AdditionalProps extends object>(\n props:\n | CustomModalPayload<OpenModalCardProps, AdditionalProps>\n | React.ComponentType<CustomModalProps<OpenModalCardProps, AdditionalProps>>,\n ) => OpenCardReturn;\n /**\n * Метод для открытия кастомного модального окна на базе `ModalPage`.\n */\n openCustomModalPage: <AdditionalProps extends object>(\n props:\n | CustomModalPayload<OpenModalPageProps, AdditionalProps>\n | React.ComponentType<CustomModalProps<OpenModalPageProps, AdditionalProps>>,\n ) => OpenPageReturn;\n /**\n * Метод для изменения свойств уже созданных модалок. Принимает `id` и новые свойства, которые нужно переопределить.\n */\n update: (...args: UpdateArgs) => void;\n /**\n * Метод для закрытия определенного модального окна. Принимает `id` модального окна.\n */\n close: (id: string) => void;\n /**\n * Метод для закрытия всех модальных окон.\n */\n closeAll: () => void;\n /**\n * Метод для изменения флага `saveHistory`\n */\n setSaveHistory: (saveHistory: boolean) => void;\n};\n\nexport type UseModalManagerReturn = [ModalManagerApi, React.ReactElement | null];\n"],"names":[],"mappings":"AAiHA,WAAiF"}
1
+ {"version":3,"sources":["../../../../src/hooks/useModalManager/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { ModalCardProps } from '../../components/ModalCard/types';\nimport type { ModalPageProps } from '../../components/ModalPage/types';\nimport type { ModalRootProps } from '../../components/ModalRoot/types';\nimport type { HasDataAttribute } from '../../types';\n\nexport type UseModalManagerProps = Omit<ModalRootProps, 'activeModal' | 'children'> & {\n saveHistory?: boolean | undefined;\n};\n\nexport type OpenModalPageProps = Omit<ModalPageProps, 'open' | 'keepMounted'> & HasDataAttribute;\n\nexport type OpenModalCardProps = Omit<ModalCardProps, 'open' | 'keepMounted'> & HasDataAttribute;\n\nexport type CustomModalPageItem = Pick<OpenPageReturn, 'update' | 'close'> & {\n type: 'page';\n id: string;\n component: React.ComponentType<any>;\n additionalProps?: any | undefined;\n modalProps?: OpenModalPageProps | undefined;\n};\n\nexport type CustomModalCardItem = Pick<OpenCardReturn, 'update' | 'close'> & {\n type: 'card';\n id: string;\n component: React.ComponentType<any>;\n additionalProps?: any | undefined;\n modalProps?: OpenModalCardProps | undefined;\n};\n\nexport type ModalManagerItem = CustomModalPageItem | CustomModalCardItem;\n\nexport type OpenModalReturn<T> = {\n id: string;\n close: () => void;\n update: (props: T) => void;\n onClose: <R>(resolve?: () => R, reject?: VoidFunction) => Promise<R>;\n};\n\ntype UpdateArgs =\n | [id: string, type: 'card', props: Omit<OpenModalCardProps, 'id'>]\n | [id: string, type: 'page', props: Omit<OpenModalPageProps, 'id'>];\n\nexport type OpenCardReturn = OpenModalReturn<Omit<OpenModalCardProps, 'id'>>;\n\nexport type OpenPageReturn = OpenModalReturn<Omit<OpenModalPageProps, 'id'>>;\n\nexport type CustomModalProps<\n BaseProps extends OpenModalCardProps | OpenModalPageProps,\n AdditionalProps extends object = object,\n> = AdditionalProps &\n Pick<OpenModalReturn<Omit<BaseProps, 'id'>>, 'close' | 'update'> & {\n modalProps: BaseProps;\n };\n\nexport type CustomModalPayload<\n BaseProps extends OpenModalCardProps | OpenModalPageProps,\n AdditionalProps extends object = object,\n> = {\n id?: string | undefined;\n component: React.ComponentType<CustomModalProps<BaseProps, AdditionalProps>>;\n baseProps?: BaseProps | undefined;\n additionalProps?: AdditionalProps | undefined;\n};\n\n/**\n * API предоставляемое хуком `useModalManager`\n */\nexport type ModalManagerApi = {\n /**\n * Метод для открытия `ModalCard`, принимает свойства `ModalCard`.\n * Возвращает объект типа `OpenModalReturn`.\n */\n openModalCard: (props: OpenModalCardProps) => OpenCardReturn;\n /**\n * Метод для открытия `ModalPage`, принимает свойства `ModalPage`.\n * Возвращает объект типа `OpenModalReturn`.\n */\n openModalPage: (props: OpenModalPageProps) => OpenPageReturn;\n /**\n * Метод для открытия кастомного модального окна на базе `ModalCard`.\n */\n openCustomModalCard: <AdditionalProps extends object>(\n props:\n | CustomModalPayload<OpenModalCardProps, AdditionalProps>\n | React.ComponentType<CustomModalProps<OpenModalCardProps, AdditionalProps>>,\n ) => OpenCardReturn;\n /**\n * Метод для открытия кастомного модального окна на базе `ModalPage`.\n */\n openCustomModalPage: <AdditionalProps extends object>(\n props:\n | CustomModalPayload<OpenModalPageProps, AdditionalProps>\n | React.ComponentType<CustomModalProps<OpenModalPageProps, AdditionalProps>>,\n ) => OpenPageReturn;\n /**\n * Метод для изменения свойств уже созданных модалок. Принимает `id` и новые свойства, которые нужно переопределить.\n */\n update: (...args: UpdateArgs) => void;\n /**\n * Метод для закрытия определенного модального окна. Принимает `id` модального окна.\n */\n close: (id: string) => void;\n /**\n * Метод для закрытия всех модальных окон.\n */\n closeAll: () => void;\n /**\n * Метод для изменения флага `saveHistory`\n */\n setSaveHistory: (saveHistory: boolean) => void;\n};\n\nexport type UseModalManagerReturn = [ModalManagerApi, React.ReactElement | null];\n"],"names":[],"mappings":"AAiHA,WAAiF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/usePagination.ts"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../helpers/math';\nimport { rangeIncrement } from '../helpers/range';\n\ninterface UsePaginationProps {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n}\n\nexport type PaginationPageType = 'start-ellipsis' | 'end-ellipsis' | number;\n\nexport type UsePaginationResult = PaginationPageType[];\n\n/**\n * Хук позаимствован у @mui с некоторыми изменениями.\n * [usePagination.js](https://github.com/mui/material-ui/blob/master/packages/mui-material/src/usePagination/usePagination.js).\n *\n * Примеры вывода:\n * v\n * [1, 2, 3, 4, 5, 'end-ellipsis', 10]\n * v\n * [1, 'start-ellipsis', 4, 5, 6, 'end-ellipsis', 10]\n * v\n * [1, 'start-ellipsis', 6, 7, 8, 9, 10]\n */\nexport const usePagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages: endPage = 1,\n}: UsePaginationProps = {}): UsePaginationResult =>\n React.useMemo(() => {\n const startPages = rangeIncrement(1, Math.min(boundaryCount, endPage));\n const endPages = rangeIncrement(\n Math.max(endPage - boundaryCount + 1, boundaryCount + 1),\n endPage,\n );\n\n const lowerBoundaryWhenCurrentPageHigh = endPage - boundaryCount - 1 - 2 * siblingCount;\n const siblingsStart = clamp(\n currentPage - siblingCount,\n boundaryCount + 2,\n lowerBoundaryWhenCurrentPageHigh,\n );\n\n const upperBoundaryWhenCurrentPageLow = boundaryCount + 2 + 2 * siblingCount;\n const siblingsEnd = Math.min(\n Math.max(currentPage + siblingCount, upperBoundaryWhenCurrentPageLow),\n endPages.length > 0 ? endPages[0] - 2 : endPage - 1,\n );\n\n const pages: UsePaginationResult = startPages;\n\n if (siblingsStart > boundaryCount + 2) {\n pages.push('start-ellipsis');\n } else if (boundaryCount + 1 < endPage - boundaryCount) {\n pages.push(boundaryCount + 1);\n }\n\n pages.push(...rangeIncrement(siblingsStart, siblingsEnd));\n\n if (siblingsEnd < endPage - boundaryCount - 1) {\n pages.push('end-ellipsis');\n } else if (endPage - boundaryCount > boundaryCount) {\n pages.push(endPage - boundaryCount);\n }\n\n pages.push(...endPages);\n\n return pages;\n }, [currentPage, endPage, siblingCount, boundaryCount]);\n"],"names":["React","clamp","rangeIncrement","usePagination","currentPage","siblingCount","boundaryCount","totalPages","endPage","useMemo","startPages","Math","min","endPages","max","lowerBoundaryWhenCurrentPageHigh","siblingsStart","upperBoundaryWhenCurrentPageLow","siblingsEnd","length","pages","push"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,KAAK,QAAQ,qBAAkB;AACxC,SAASC,cAAc,QAAQ,sBAAmB;AAyBlD;;;;;;;;;;;CAWC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,cAAc,CAAC,EACfC,eAAe,CAAC,EAChBC,gBAAgB,CAAC,EACjBC,YAAYC,UAAU,CAAC,EACJ,GAAG,CAAC,CAAC,GACxBR,MAAMS,OAAO,CAAC;QACZ,MAAMC,aAAaR,eAAe,GAAGS,KAAKC,GAAG,CAACN,eAAeE;QAC7D,MAAMK,WAAWX,eACfS,KAAKG,GAAG,CAACN,UAAUF,gBAAgB,GAAGA,gBAAgB,IACtDE;QAGF,MAAMO,mCAAmCP,UAAUF,gBAAgB,IAAI,IAAID;QAC3E,MAAMW,gBAAgBf,MACpBG,cAAcC,cACdC,gBAAgB,GAChBS;QAGF,MAAME,kCAAkCX,gBAAgB,IAAI,IAAID;QAChE,MAAMa,cAAcP,KAAKC,GAAG,CAC1BD,KAAKG,GAAG,CAACV,cAAcC,cAAcY,kCACrCJ,SAASM,MAAM,GAAG,IAAIN,QAAQ,CAAC,EAAE,GAAG,IAAIL,UAAU;QAGpD,MAAMY,QAA6BV;QAEnC,IAAIM,gBAAgBV,gBAAgB,GAAG;YACrCc,MAAMC,IAAI,CAAC;QACb,OAAO,IAAIf,gBAAgB,IAAIE,UAAUF,eAAe;YACtDc,MAAMC,IAAI,CAACf,gBAAgB;QAC7B;QAEAc,MAAMC,IAAI,IAAInB,eAAec,eAAeE;QAE5C,IAAIA,cAAcV,UAAUF,gBAAgB,GAAG;YAC7Cc,MAAMC,IAAI,CAAC;QACb,OAAO,IAAIb,UAAUF,gBAAgBA,eAAe;YAClDc,MAAMC,IAAI,CAACb,UAAUF;QACvB;QAEAc,MAAMC,IAAI,IAAIR;QAEd,OAAOO;IACT,GAAG;QAAChB;QAAaI;QAASH;QAAcC;KAAc,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/usePagination.ts"],"sourcesContent":["import * as React from 'react';\nimport { clamp } from '../helpers/math';\nimport { rangeIncrement } from '../helpers/range';\n\ninterface UsePaginationProps {\n /**\n * Текущая страница.\n */\n currentPage?: number | undefined;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number | undefined;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number | undefined;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number | undefined;\n}\n\nexport type PaginationPageType = 'start-ellipsis' | 'end-ellipsis' | number;\n\nexport type UsePaginationResult = PaginationPageType[];\n\n/**\n * Хук позаимствован у @mui с некоторыми изменениями.\n * [usePagination.js](https://github.com/mui/material-ui/blob/master/packages/mui-material/src/usePagination/usePagination.js).\n *\n * Примеры вывода:\n * v\n * [1, 2, 3, 4, 5, 'end-ellipsis', 10]\n * v\n * [1, 'start-ellipsis', 4, 5, 6, 'end-ellipsis', 10]\n * v\n * [1, 'start-ellipsis', 6, 7, 8, 9, 10]\n */\nexport const usePagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages: endPage = 1,\n}: UsePaginationProps = {}): UsePaginationResult =>\n React.useMemo(() => {\n const startPages = rangeIncrement(1, Math.min(boundaryCount, endPage));\n const endPages = rangeIncrement(\n Math.max(endPage - boundaryCount + 1, boundaryCount + 1),\n endPage,\n );\n\n const lowerBoundaryWhenCurrentPageHigh = endPage - boundaryCount - 1 - 2 * siblingCount;\n const siblingsStart = clamp(\n currentPage - siblingCount,\n boundaryCount + 2,\n lowerBoundaryWhenCurrentPageHigh,\n );\n\n const upperBoundaryWhenCurrentPageLow = boundaryCount + 2 + 2 * siblingCount;\n const siblingsEnd = Math.min(\n Math.max(currentPage + siblingCount, upperBoundaryWhenCurrentPageLow),\n endPages.length > 0 ? endPages[0] - 2 : endPage - 1,\n );\n\n const pages: UsePaginationResult = startPages;\n\n if (siblingsStart > boundaryCount + 2) {\n pages.push('start-ellipsis');\n } else if (boundaryCount + 1 < endPage - boundaryCount) {\n pages.push(boundaryCount + 1);\n }\n\n pages.push(...rangeIncrement(siblingsStart, siblingsEnd));\n\n if (siblingsEnd < endPage - boundaryCount - 1) {\n pages.push('end-ellipsis');\n } else if (endPage - boundaryCount > boundaryCount) {\n pages.push(endPage - boundaryCount);\n }\n\n pages.push(...endPages);\n\n return pages;\n }, [currentPage, endPage, siblingCount, boundaryCount]);\n"],"names":["React","clamp","rangeIncrement","usePagination","currentPage","siblingCount","boundaryCount","totalPages","endPage","useMemo","startPages","Math","min","endPages","max","lowerBoundaryWhenCurrentPageHigh","siblingsStart","upperBoundaryWhenCurrentPageLow","siblingsEnd","length","pages","push"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,KAAK,QAAQ,qBAAkB;AACxC,SAASC,cAAc,QAAQ,sBAAmB;AAyBlD;;;;;;;;;;;CAWC,GACD,OAAO,MAAMC,gBAAgB,CAAC,EAC5BC,cAAc,CAAC,EACfC,eAAe,CAAC,EAChBC,gBAAgB,CAAC,EACjBC,YAAYC,UAAU,CAAC,EACJ,GAAG,CAAC,CAAC,GACxBR,MAAMS,OAAO,CAAC;QACZ,MAAMC,aAAaR,eAAe,GAAGS,KAAKC,GAAG,CAACN,eAAeE;QAC7D,MAAMK,WAAWX,eACfS,KAAKG,GAAG,CAACN,UAAUF,gBAAgB,GAAGA,gBAAgB,IACtDE;QAGF,MAAMO,mCAAmCP,UAAUF,gBAAgB,IAAI,IAAID;QAC3E,MAAMW,gBAAgBf,MACpBG,cAAcC,cACdC,gBAAgB,GAChBS;QAGF,MAAME,kCAAkCX,gBAAgB,IAAI,IAAID;QAChE,MAAMa,cAAcP,KAAKC,GAAG,CAC1BD,KAAKG,GAAG,CAACV,cAAcC,cAAcY,kCACrCJ,SAASM,MAAM,GAAG,IAAIN,QAAQ,CAAC,EAAE,GAAG,IAAIL,UAAU;QAGpD,MAAMY,QAA6BV;QAEnC,IAAIM,gBAAgBV,gBAAgB,GAAG;YACrCc,MAAMC,IAAI,CAAC;QACb,OAAO,IAAIf,gBAAgB,IAAIE,UAAUF,eAAe;YACtDc,MAAMC,IAAI,CAACf,gBAAgB;QAC7B;QAEAc,MAAMC,IAAI,IAAInB,eAAec,eAAeE;QAE5C,IAAIA,cAAcV,UAAUF,gBAAgB,GAAG;YAC7Cc,MAAMC,IAAI,CAAC;QACb,OAAO,IAAIb,UAAUF,gBAAgBA,eAAe;YAClDc,MAAMC,IAAI,CAACb,UAAUF;QACvB;QAEAc,MAAMC,IAAI,IAAIR;QAEd,OAAOO;IACT,GAAG;QAAChB;QAAaI;QAASH;QAAcC;KAAc,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/usePatchChildren.ts"],"sourcesContent":["import * as React from 'react';\nimport { getMergedSameEventsByProps } from '../helpers/getMergedSameEventsByProps';\nimport {\n isDOMTypeElement,\n isForwardRefElement,\n isValidNotReactFragmentElement,\n} from '../lib/utils';\nimport { warnOnce } from '../lib/warnOnce';\nimport type { HasRootRef } from '../types';\nimport { useExternRef } from './useExternRef';\n\nconst warn = warnOnce('usePatchChildren');\n\ntype InjectProps<T> = React.HTMLAttributes<T> &\n React.Attributes & {\n ref?: React.Ref<T>;\n };\n\ntype ExpectedReactElement<T> = React.ReactElement<HasRootRef<T> & React.DOMAttributes<T>>;\n\ntype ChildrenElement<T> = ExpectedReactElement<T> | React.ReactNode;\n\nfunction useWarn<ElementType extends HTMLElement = HTMLElement>(\n shouldUseRef: boolean,\n childRef: React.RefObject<ElementType | null>,\n) {\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n if (!childRef.current && !shouldUseRef) {\n warn(\n 'Кажется, в children передан компонент, который не поддерживает свойство getRootRef. Мы не можем получить ссылку на корневой dom-элемент этого компонента',\n 'error',\n );\n }\n }\n }, [shouldUseRef, childRef]);\n}\n\n/**\n * Хук позволяет пропатчить переданный компонент так, чтобы можно было получить ссылку на его\n * DOM-элемент. Также есть возможность прокинуть дополнительные параметры.\n *\n * @param children\n * @param injectProps\n * @param externRef – полезен когда нужно прокинуть `ref` элементу выше.\n *\n * 👎 Без параметра `externRef`\n * ```ts\n * const { ref } = useSomeHook();\n * const [childRef, child] = usePatchChildren(children);\n * React.useLayoutEffect(() => {\n * ref.current = childRef.current; // или ref.current(childRef.current)\n * }, [childRef]);\n * ```\n *\n * 👍 С параметром `externRef`\n * ```ts\n * const { ref } = useSomeHook();\n * const [childRef, child] = usePatchChildren(children, undefined, ref);\n * ```\n */\nexport const usePatchChildren = <ElementType extends HTMLElement = HTMLElement>(\n children?: ChildrenElement<ElementType>,\n injectProps?: InjectProps<ElementType>,\n externRef?: React.Ref<ElementType>,\n): [React.RefObject<ElementType | null>, ChildrenElement<ElementType> | undefined] => {\n const isValidElementResult = isValidNotReactFragmentElement(children);\n const isDOMTypeElementResult =\n isValidElementResult &&\n isDOMTypeElement<React.HTMLAttributes<ElementType>, ElementType>(children);\n\n const isForwardedRefElementResult =\n isValidElementResult &&\n isForwardRefElement<React.HTMLAttributes<ElementType>, ElementType>(children);\n\n const shouldUseRef = isDOMTypeElementResult || isForwardedRefElementResult;\n const childRef = useExternRef<ElementType>(\n shouldUseRef ? children.ref : isValidElementResult ? children.props.getRootRef : undefined,\n externRef,\n );\n\n const mergedEventsByInjectProps = getMergedSameEventsByProps(\n injectProps ? injectProps : {},\n isValidElementResult ? children.props : {},\n );\n\n const props = shouldUseRef\n ? { ref: childRef, ...injectProps, ...mergedEventsByInjectProps }\n : isValidElementResult\n ? { getRootRef: childRef, ...injectProps, ...mergedEventsByInjectProps }\n : undefined;\n\n const patchedChildren = isValidElementResult ? React.cloneElement(children, props) : children;\n\n useWarn(shouldUseRef, childRef);\n\n return [childRef, patchedChildren];\n};\n"],"names":["React","getMergedSameEventsByProps","isDOMTypeElement","isForwardRefElement","isValidNotReactFragmentElement","warnOnce","useExternRef","warn","useWarn","shouldUseRef","childRef","useEffect","process","env","NODE_ENV","current","usePatchChildren","children","injectProps","externRef","isValidElementResult","isDOMTypeElementResult","isForwardedRefElementResult","ref","props","getRootRef","undefined","mergedEventsByInjectProps","patchedChildren","cloneElement"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,0BAA0B,QAAQ,2CAAwC;AACnF,SACEC,gBAAgB,EAChBC,mBAAmB,EACnBC,8BAA8B,QACzB,kBAAe;AACtB,SAASC,QAAQ,QAAQ,qBAAkB;AAE3C,SAASC,YAAY,QAAQ,oBAAiB;AAE9C,MAAMC,OAAOF,SAAS;AAWtB,SAASG,QACPC,YAAqB,EACrBC,QAA6C;IAE7CV,MAAMW,SAAS,CAAC;QACd,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;YAC1C,IAAI,CAACJ,SAASK,OAAO,IAAI,CAACN,cAAc;gBACtCF,KACE,4JACA;YAEJ;QACF;IACF,GAAG;QAACE;QAAcC;KAAS;AAC7B;AAEA;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,MAAMM,mBAAmB,CAC9BC,UACAC,aACAC;IAEA,MAAMC,uBAAuBhB,+BAA+Ba;IAC5D,MAAMI,yBACJD,wBACAlB,iBAAiEe;IAEnE,MAAMK,8BACJF,wBACAjB,oBAAoEc;IAEtE,MAAMR,eAAeY,0BAA0BC;IAC/C,MAAMZ,WAAWJ,aACfG,eAAeQ,SAASM,GAAG,GAAGH,uBAAuBH,SAASO,KAAK,CAACC,UAAU,GAAGC,WACjFP;IAGF,MAAMQ,4BAA4B1B,2BAChCiB,cAAcA,cAAc,CAAC,GAC7BE,uBAAuBH,SAASO,KAAK,GAAG,CAAC;IAG3C,MAAMA,QAAQf,eACV;QAAEc,KAAKb;QAAU,GAAGQ,WAAW;QAAE,GAAGS,yBAAyB;IAAC,IAC9DP,uBACE;QAAEK,YAAYf;QAAU,GAAGQ,WAAW;QAAE,GAAGS,yBAAyB;IAAC,IACrED;IAEN,MAAME,kBAAkBR,uBAAuBpB,MAAM6B,YAAY,CAACZ,UAAUO,SAASP;IAErFT,QAAQC,cAAcC;IAEtB,OAAO;QAACA;QAAUkB;KAAgB;AACpC,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/usePatchChildren.ts"],"sourcesContent":["import * as React from 'react';\nimport { getMergedSameEventsByProps } from '../helpers/getMergedSameEventsByProps';\nimport {\n isDOMTypeElement,\n isForwardRefElement,\n isValidNotReactFragmentElement,\n} from '../lib/utils';\nimport { warnOnce } from '../lib/warnOnce';\nimport type { HasRootRef } from '../types';\nimport { useExternRef } from './useExternRef';\n\nconst warn = warnOnce('usePatchChildren');\n\ntype InjectProps<T> = React.HTMLAttributes<T> &\n React.Attributes & {\n ref?: React.Ref<T> | undefined;\n };\n\ntype ExpectedReactElement<T> = React.ReactElement<HasRootRef<T> & React.DOMAttributes<T>>;\n\ntype ChildrenElement<T> = ExpectedReactElement<T> | React.ReactNode;\n\nfunction useWarn<ElementType extends HTMLElement = HTMLElement>(\n shouldUseRef: boolean,\n childRef: React.RefObject<ElementType | null>,\n) {\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'development') {\n if (!childRef.current && !shouldUseRef) {\n warn(\n 'Кажется, в children передан компонент, который не поддерживает свойство getRootRef. Мы не можем получить ссылку на корневой dom-элемент этого компонента',\n 'error',\n );\n }\n }\n }, [shouldUseRef, childRef]);\n}\n\n/**\n * Хук позволяет пропатчить переданный компонент так, чтобы можно было получить ссылку на его\n * DOM-элемент. Также есть возможность прокинуть дополнительные параметры.\n *\n * @param children\n * @param injectProps\n * @param externRef – полезен когда нужно прокинуть `ref` элементу выше.\n *\n * 👎 Без параметра `externRef`\n * ```ts\n * const { ref } = useSomeHook();\n * const [childRef, child] = usePatchChildren(children);\n * React.useLayoutEffect(() => {\n * ref.current = childRef.current; // или ref.current(childRef.current)\n * }, [childRef]);\n * ```\n *\n * 👍 С параметром `externRef`\n * ```ts\n * const { ref } = useSomeHook();\n * const [childRef, child] = usePatchChildren(children, undefined, ref);\n * ```\n */\nexport const usePatchChildren = <ElementType extends HTMLElement = HTMLElement>(\n children?: ChildrenElement<ElementType>,\n injectProps?: InjectProps<ElementType>,\n externRef?: React.Ref<ElementType>,\n): [React.RefObject<ElementType | null>, ChildrenElement<ElementType> | undefined] => {\n const isValidElementResult = isValidNotReactFragmentElement(children);\n const isDOMTypeElementResult =\n isValidElementResult &&\n isDOMTypeElement<React.HTMLAttributes<ElementType>, ElementType>(children);\n\n const isForwardedRefElementResult =\n isValidElementResult &&\n isForwardRefElement<React.HTMLAttributes<ElementType>, ElementType>(children);\n\n const shouldUseRef = isDOMTypeElementResult || isForwardedRefElementResult;\n const childRef = useExternRef<ElementType>(\n shouldUseRef ? children.ref : isValidElementResult ? children.props.getRootRef : undefined,\n externRef,\n );\n\n const mergedEventsByInjectProps = getMergedSameEventsByProps(\n injectProps ? injectProps : {},\n isValidElementResult ? children.props : {},\n );\n\n const props = shouldUseRef\n ? { ref: childRef, ...injectProps, ...mergedEventsByInjectProps }\n : isValidElementResult\n ? { getRootRef: childRef, ...injectProps, ...mergedEventsByInjectProps }\n : undefined;\n\n const patchedChildren = isValidElementResult ? React.cloneElement(children, props) : children;\n\n useWarn(shouldUseRef, childRef);\n\n return [childRef, patchedChildren];\n};\n"],"names":["React","getMergedSameEventsByProps","isDOMTypeElement","isForwardRefElement","isValidNotReactFragmentElement","warnOnce","useExternRef","warn","useWarn","shouldUseRef","childRef","useEffect","process","env","NODE_ENV","current","usePatchChildren","children","injectProps","externRef","isValidElementResult","isDOMTypeElementResult","isForwardedRefElementResult","ref","props","getRootRef","undefined","mergedEventsByInjectProps","patchedChildren","cloneElement"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,0BAA0B,QAAQ,2CAAwC;AACnF,SACEC,gBAAgB,EAChBC,mBAAmB,EACnBC,8BAA8B,QACzB,kBAAe;AACtB,SAASC,QAAQ,QAAQ,qBAAkB;AAE3C,SAASC,YAAY,QAAQ,oBAAiB;AAE9C,MAAMC,OAAOF,SAAS;AAWtB,SAASG,QACPC,YAAqB,EACrBC,QAA6C;IAE7CV,MAAMW,SAAS,CAAC;QACd,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;YAC1C,IAAI,CAACJ,SAASK,OAAO,IAAI,CAACN,cAAc;gBACtCF,KACE,4JACA;YAEJ;QACF;IACF,GAAG;QAACE;QAAcC;KAAS;AAC7B;AAEA;;;;;;;;;;;;;;;;;;;;;;CAsBC,GACD,OAAO,MAAMM,mBAAmB,CAC9BC,UACAC,aACAC;IAEA,MAAMC,uBAAuBhB,+BAA+Ba;IAC5D,MAAMI,yBACJD,wBACAlB,iBAAiEe;IAEnE,MAAMK,8BACJF,wBACAjB,oBAAoEc;IAEtE,MAAMR,eAAeY,0BAA0BC;IAC/C,MAAMZ,WAAWJ,aACfG,eAAeQ,SAASM,GAAG,GAAGH,uBAAuBH,SAASO,KAAK,CAACC,UAAU,GAAGC,WACjFP;IAGF,MAAMQ,4BAA4B1B,2BAChCiB,cAAcA,cAAc,CAAC,GAC7BE,uBAAuBH,SAASO,KAAK,GAAG,CAAC;IAG3C,MAAMA,QAAQf,eACV;QAAEc,KAAKb;QAAU,GAAGQ,WAAW;QAAE,GAAGS,yBAAyB;IAAC,IAC9DP,uBACE;QAAEK,YAAYf;QAAU,GAAGQ,WAAW;QAAE,GAAGS,yBAAyB;IAAC,IACrED;IAEN,MAAME,kBAAkBR,uBAAuBpB,MAAM6B,YAAY,CAACZ,UAAUO,SAASP;IAErFT,QAAQC,cAAcC;IAEtB,OAAO;QAACA;QAAUkB;KAAgB;AACpC,EAAE"}
@@ -2,8 +2,8 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useEffect, useRef } from "react";
4
4
  import { classNames } from "@vkontakte/vkjs";
5
- import { useCSSKeyframesAnimationController } from "../../../lib/animation/index.js";
6
- import { usePlatform } from "../../usePlatform.js";
5
+ import { useCSSKeyframesAnimationController } from "../../../../lib/animation/index.js";
6
+ import { usePlatform } from "../../../usePlatform.js";
7
7
  import styles from "./SnackbarAnimatedWrapper.module.css";
8
8
  const animationStateClassNames = {
9
9
  enter: styles.stateEnter,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/hooks/useSnackbarManager/components/SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef } from 'react';\nimport type * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useCSSKeyframesAnimationController } from '../../../../lib/animation';\nimport { usePlatform } from '../../../usePlatform';\nimport type { SnackbarItem } from '../../types';\nimport styles from './SnackbarAnimatedWrapper.module.css';\n\nconst animationStateClassNames = {\n enter: styles.stateEnter,\n entering: styles.stateEnter,\n entered: styles.stateEnter,\n exit: styles.stateExit,\n exiting: styles.stateExit,\n exited: undefined,\n};\n\nconst placementClassNames = {\n top: styles.placementTop,\n bottom: styles.placementBottom,\n};\n\nexport const SnackbarAnimatedWrapper: React.FC<{\n snackbarItem: SnackbarItem;\n close: boolean;\n onClosed: (id: string) => void;\n placement: 'top' | 'bottom';\n}> = ({ snackbarItem, close = false, onClosed, placement }) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const platform = usePlatform();\n const [animationState, animationHandlers] = useCSSKeyframesAnimationController(\n close ? 'exit' : 'enter',\n {\n onExited: () => onClosed(snackbarItem.id),\n },\n );\n\n useEffect(() => {\n if (ref.current && animationState === 'entered') {\n ref.current.style.setProperty(\n '--vkui_internal--SnackbarAnimatedWrapper_height',\n `${ref.current.offsetHeight}px`,\n );\n }\n }, [animationState]);\n\n if (animationState === 'exited') {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={classNames(\n styles.host,\n animationStateClassNames[animationState],\n platform === 'ios' && styles.ios,\n placementClassNames[placement],\n )}\n {...animationHandlers}\n >\n <snackbarItem.component\n {...snackbarItem.additionalProps}\n id={snackbarItem.id}\n snackbarProps={snackbarItem.snackbarProps}\n close={snackbarItem.close}\n update={snackbarItem.update}\n />\n </div>\n );\n};\n"],"names":["useEffect","useRef","classNames","useCSSKeyframesAnimationController","usePlatform","styles","animationStateClassNames","enter","stateEnter","entering","entered","exit","stateExit","exiting","exited","undefined","placementClassNames","top","placementTop","bottom","placementBottom","SnackbarAnimatedWrapper","snackbarItem","close","onClosed","placement","ref","platform","animationState","animationHandlers","onExited","id","current","style","setProperty","offsetHeight","div","className","host","ios","component","additionalProps","snackbarProps","update"],"mappings":"AAAA;;AAEA,SAASA,SAAS,EAAEC,MAAM,QAAQ,QAAQ;AAE1C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,kCAAkC,QAAQ,qCAA4B;AAC/E,SAASC,WAAW,QAAQ,0BAAuB;AAEnD,OAAOC,YAAY,uCAAuC;AAE1D,MAAMC,2BAA2B;IAC/BC,OAAOF,OAAOG,UAAU;IACxBC,UAAUJ,OAAOG,UAAU;IAC3BE,SAASL,OAAOG,UAAU;IAC1BG,MAAMN,OAAOO,SAAS;IACtBC,SAASR,OAAOO,SAAS;IACzBE,QAAQC;AACV;AAEA,MAAMC,sBAAsB;IAC1BC,KAAKZ,OAAOa,YAAY;IACxBC,QAAQd,OAAOe,eAAe;AAChC;AAEA,OAAO,MAAMC,0BAKR,CAAC,EAAEC,YAAY,EAAEC,QAAQ,KAAK,EAAEC,QAAQ,EAAEC,SAAS,EAAE;IACxD,MAAMC,MAAMzB,OAA8B;IAC1C,MAAM0B,WAAWvB;IACjB,MAAM,CAACwB,gBAAgBC,kBAAkB,GAAG1B,mCAC1CoB,QAAQ,SAAS,SACjB;QACEO,UAAU,IAAMN,SAASF,aAAaS,EAAE;IAC1C;IAGF/B,UAAU;QACR,IAAI0B,IAAIM,OAAO,IAAIJ,mBAAmB,WAAW;YAC/CF,IAAIM,OAAO,CAACC,KAAK,CAACC,WAAW,CAC3B,mDACA,GAAGR,IAAIM,OAAO,CAACG,YAAY,CAAC,EAAE,CAAC;QAEnC;IACF,GAAG;QAACP;KAAe;IAEnB,IAAIA,mBAAmB,UAAU;QAC/B,OAAO;IACT;IAEA,qBACE,KAACQ;QACCV,KAAKA;QACLW,WAAWnC,WACTG,OAAOiC,IAAI,EACXhC,wBAAwB,CAACsB,eAAe,EACxCD,aAAa,SAAStB,OAAOkC,GAAG,EAChCvB,mBAAmB,CAACS,UAAU;QAE/B,GAAGI,iBAAiB;kBAErB,cAAA,KAACP,aAAakB,SAAS;YACpB,GAAGlB,aAAamB,eAAe;YAChCV,IAAIT,aAAaS,EAAE;YACnBW,eAAepB,aAAaoB,aAAa;YACzCnB,OAAOD,aAAaC,KAAK;YACzBoB,QAAQrB,aAAaqB,MAAM;;;AAInC,EAAE"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
- import { SnackbarsContainer } from "./SnackbarsContainer.js";
4
+ import { SnackbarsContainer } from "./SnackbarsContainer/SnackbarsContainer.js";
5
5
  export const SnackbarHolder = ({ store, limit, offsetYStart, offsetYEnd, zIndex })=>{
6
6
  const state = React.useSyncExternalStore(store.subscribe, store.getState, store.getState);
7
7
  const onSnackbarOpen = React.useCallback((id)=>{
@@ -16,7 +16,10 @@ export const SnackbarHolder = ({ store, limit, offsetYStart, offsetYEnd, zIndex
16
16
  for (const snackbar of state.snackbars){
17
17
  const placement = snackbar.snackbarProps.placement;
18
18
  const isClosing = state.snackbarsToClose.has(snackbar.id);
19
- if (!map[placement]) {
19
+ if (placement === undefined) {
20
+ continue;
21
+ }
22
+ if (placement !== undefined && !map[placement]) {
20
23
  map[placement] = [];
21
24
  openedSnackbarsCountersByPlacement[placement] = 0;
22
25
  placements.push(placement);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/useSnackbarManager/components/SnackbarHolder.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { SnackbarStore } from '../helpers/createSnackbarStore';\nimport type { SnackbarPlacement, SnackbarsMap, UseSnackbar } from '../types';\nimport { SnackbarsContainer } from './SnackbarsContainer';\n\ninterface SnackbarHolderProps\n extends Pick<UseSnackbar.Props, 'offsetYStart' | 'offsetYEnd' | 'zIndex'> {\n store: SnackbarStore;\n limit: number;\n}\n\nexport const SnackbarHolder: React.FC<SnackbarHolderProps> = ({\n store,\n limit,\n offsetYStart,\n offsetYEnd,\n zIndex,\n}) => {\n const state = React.useSyncExternalStore(store.subscribe, store.getState, store.getState);\n\n const onSnackbarOpen = React.useCallback(\n (id: string) => {\n store.showedSnackbars.add(id);\n },\n [store],\n );\n\n const [snackbarsMap, placements] = React.useMemo(() => {\n const map: SnackbarsMap = {};\n const placements: SnackbarPlacement[] = [];\n const openedSnackbarsCountersByPlacement: Record<string, number> = {};\n\n for (const snackbar of state.snackbars) {\n const placement = snackbar.snackbarProps.placement;\n const isClosing = state.snackbarsToClose.has(snackbar.id);\n\n if (!map[placement]) {\n map[placement] = [];\n openedSnackbarsCountersByPlacement[placement] = 0;\n placements.push(placement);\n }\n\n const openedCount = openedSnackbarsCountersByPlacement[placement];\n\n if (openedCount >= limit && !isClosing) {\n continue;\n }\n\n map[placement].push({\n ...snackbar,\n snackbarProps: {\n ...snackbar.snackbarProps,\n open: isClosing ? false : undefined,\n },\n });\n\n if (!isClosing) {\n openedSnackbarsCountersByPlacement[placement] = openedCount + 1;\n }\n }\n\n return [map, placements];\n }, [state.snackbars, state.snackbarsToClose, limit]);\n\n if (placements.length === 0) {\n return null;\n }\n\n return (\n <>\n {placements.map((placement) => (\n <SnackbarsContainer\n key={placement}\n snackbars={snackbarsMap[placement]}\n placement={placement}\n onSnackbarContainerClosed={store.removeSnackbar}\n onSnackbarOpen={onSnackbarOpen}\n offsetYStart={offsetYStart}\n offsetYEnd={offsetYEnd}\n zIndex={zIndex}\n />\n ))}\n </>\n );\n};\n"],"names":["React","SnackbarsContainer","SnackbarHolder","store","limit","offsetYStart","offsetYEnd","zIndex","state","useSyncExternalStore","subscribe","getState","onSnackbarOpen","useCallback","id","showedSnackbars","add","snackbarsMap","placements","useMemo","map","openedSnackbarsCountersByPlacement","snackbar","snackbars","placement","snackbarProps","isClosing","snackbarsToClose","has","push","openedCount","open","undefined","length","onSnackbarContainerClosed","removeSnackbar"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAG/B,SAASC,kBAAkB,QAAQ,0BAAuB;AAQ1D,OAAO,MAAMC,iBAAgD,CAAC,EAC5DC,KAAK,EACLC,KAAK,EACLC,YAAY,EACZC,UAAU,EACVC,MAAM,EACP;IACC,MAAMC,QAAQR,MAAMS,oBAAoB,CAACN,MAAMO,SAAS,EAAEP,MAAMQ,QAAQ,EAAER,MAAMQ,QAAQ;IAExF,MAAMC,iBAAiBZ,MAAMa,WAAW,CACtC,CAACC;QACCX,MAAMY,eAAe,CAACC,GAAG,CAACF;IAC5B,GACA;QAACX;KAAM;IAGT,MAAM,CAACc,cAAcC,WAAW,GAAGlB,MAAMmB,OAAO,CAAC;QAC/C,MAAMC,MAAoB,CAAC;QAC3B,MAAMF,aAAkC,EAAE;QAC1C,MAAMG,qCAA6D,CAAC;QAEpE,KAAK,MAAMC,YAAYd,MAAMe,SAAS,CAAE;YACtC,MAAMC,YAAYF,SAASG,aAAa,CAACD,SAAS;YAClD,MAAME,YAAYlB,MAAMmB,gBAAgB,CAACC,GAAG,CAACN,SAASR,EAAE;YAExD,IAAI,CAACM,GAAG,CAACI,UAAU,EAAE;gBACnBJ,GAAG,CAACI,UAAU,GAAG,EAAE;gBACnBH,kCAAkC,CAACG,UAAU,GAAG;gBAChDN,WAAWW,IAAI,CAACL;YAClB;YAEA,MAAMM,cAAcT,kCAAkC,CAACG,UAAU;YAEjE,IAAIM,eAAe1B,SAAS,CAACsB,WAAW;gBACtC;YACF;YAEAN,GAAG,CAACI,UAAU,CAACK,IAAI,CAAC;gBAClB,GAAGP,QAAQ;gBACXG,eAAe;oBACb,GAAGH,SAASG,aAAa;oBACzBM,MAAML,YAAY,QAAQM;gBAC5B;YACF;YAEA,IAAI,CAACN,WAAW;gBACdL,kCAAkC,CAACG,UAAU,GAAGM,cAAc;YAChE;QACF;QAEA,OAAO;YAACV;YAAKF;SAAW;IAC1B,GAAG;QAACV,MAAMe,SAAS;QAAEf,MAAMmB,gBAAgB;QAAEvB;KAAM;IAEnD,IAAIc,WAAWe,MAAM,KAAK,GAAG;QAC3B,OAAO;IACT;IAEA,qBACE;kBACGf,WAAWE,GAAG,CAAC,CAACI,0BACf,KAACvB;gBAECsB,WAAWN,YAAY,CAACO,UAAU;gBAClCA,WAAWA;gBACXU,2BAA2B/B,MAAMgC,cAAc;gBAC/CvB,gBAAgBA;gBAChBP,cAAcA;gBACdC,YAAYA;gBACZC,QAAQA;eAPHiB;;AAYf,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/hooks/useSnackbarManager/components/SnackbarHolder.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { SnackbarStore } from '../helpers/createSnackbarStore';\nimport type { SnackbarPlacement, SnackbarsMap, UseSnackbar } from '../types';\nimport { SnackbarsContainer } from './SnackbarsContainer/SnackbarsContainer';\n\ninterface SnackbarHolderProps\n extends Pick<UseSnackbar.Props, 'offsetYStart' | 'offsetYEnd' | 'zIndex'> {\n store: SnackbarStore;\n limit: number;\n}\n\nexport const SnackbarHolder: React.FC<SnackbarHolderProps> = ({\n store,\n limit,\n offsetYStart,\n offsetYEnd,\n zIndex,\n}) => {\n const state = React.useSyncExternalStore(store.subscribe, store.getState, store.getState);\n\n const onSnackbarOpen = React.useCallback(\n (id: string) => {\n store.showedSnackbars.add(id);\n },\n [store],\n );\n\n const [snackbarsMap, placements] = React.useMemo(() => {\n const map: SnackbarsMap = {};\n const placements: SnackbarPlacement[] = [];\n const openedSnackbarsCountersByPlacement: Record<string, number> = {};\n\n for (const snackbar of state.snackbars) {\n const placement = snackbar.snackbarProps.placement;\n const isClosing = state.snackbarsToClose.has(snackbar.id);\n\n if (placement === undefined) {\n continue;\n }\n\n if (placement !== undefined && !map[placement]) {\n map[placement] = [];\n openedSnackbarsCountersByPlacement[placement] = 0;\n placements.push(placement);\n }\n\n const openedCount = openedSnackbarsCountersByPlacement[placement];\n\n if (openedCount >= limit && !isClosing) {\n continue;\n }\n\n map[placement].push({\n ...snackbar,\n snackbarProps: {\n ...snackbar.snackbarProps,\n open: isClosing ? false : undefined,\n },\n });\n\n if (!isClosing) {\n openedSnackbarsCountersByPlacement[placement] = openedCount + 1;\n }\n }\n\n return [map, placements];\n }, [state.snackbars, state.snackbarsToClose, limit]);\n\n if (placements.length === 0) {\n return null;\n }\n\n return (\n <>\n {placements.map((placement) => (\n <SnackbarsContainer\n key={placement}\n snackbars={snackbarsMap[placement]}\n placement={placement}\n onSnackbarContainerClosed={store.removeSnackbar}\n onSnackbarOpen={onSnackbarOpen}\n offsetYStart={offsetYStart}\n offsetYEnd={offsetYEnd}\n zIndex={zIndex}\n />\n ))}\n </>\n );\n};\n"],"names":["React","SnackbarsContainer","SnackbarHolder","store","limit","offsetYStart","offsetYEnd","zIndex","state","useSyncExternalStore","subscribe","getState","onSnackbarOpen","useCallback","id","showedSnackbars","add","snackbarsMap","placements","useMemo","map","openedSnackbarsCountersByPlacement","snackbar","snackbars","placement","snackbarProps","isClosing","snackbarsToClose","has","undefined","push","openedCount","open","length","onSnackbarContainerClosed","removeSnackbar"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAG/B,SAASC,kBAAkB,QAAQ,6CAA0C;AAQ7E,OAAO,MAAMC,iBAAgD,CAAC,EAC5DC,KAAK,EACLC,KAAK,EACLC,YAAY,EACZC,UAAU,EACVC,MAAM,EACP;IACC,MAAMC,QAAQR,MAAMS,oBAAoB,CAACN,MAAMO,SAAS,EAAEP,MAAMQ,QAAQ,EAAER,MAAMQ,QAAQ;IAExF,MAAMC,iBAAiBZ,MAAMa,WAAW,CACtC,CAACC;QACCX,MAAMY,eAAe,CAACC,GAAG,CAACF;IAC5B,GACA;QAACX;KAAM;IAGT,MAAM,CAACc,cAAcC,WAAW,GAAGlB,MAAMmB,OAAO,CAAC;QAC/C,MAAMC,MAAoB,CAAC;QAC3B,MAAMF,aAAkC,EAAE;QAC1C,MAAMG,qCAA6D,CAAC;QAEpE,KAAK,MAAMC,YAAYd,MAAMe,SAAS,CAAE;YACtC,MAAMC,YAAYF,SAASG,aAAa,CAACD,SAAS;YAClD,MAAME,YAAYlB,MAAMmB,gBAAgB,CAACC,GAAG,CAACN,SAASR,EAAE;YAExD,IAAIU,cAAcK,WAAW;gBAC3B;YACF;YAEA,IAAIL,cAAcK,aAAa,CAACT,GAAG,CAACI,UAAU,EAAE;gBAC9CJ,GAAG,CAACI,UAAU,GAAG,EAAE;gBACnBH,kCAAkC,CAACG,UAAU,GAAG;gBAChDN,WAAWY,IAAI,CAACN;YAClB;YAEA,MAAMO,cAAcV,kCAAkC,CAACG,UAAU;YAEjE,IAAIO,eAAe3B,SAAS,CAACsB,WAAW;gBACtC;YACF;YAEAN,GAAG,CAACI,UAAU,CAACM,IAAI,CAAC;gBAClB,GAAGR,QAAQ;gBACXG,eAAe;oBACb,GAAGH,SAASG,aAAa;oBACzBO,MAAMN,YAAY,QAAQG;gBAC5B;YACF;YAEA,IAAI,CAACH,WAAW;gBACdL,kCAAkC,CAACG,UAAU,GAAGO,cAAc;YAChE;QACF;QAEA,OAAO;YAACX;YAAKF;SAAW;IAC1B,GAAG;QAACV,MAAMe,SAAS;QAAEf,MAAMmB,gBAAgB;QAAEvB;KAAM;IAEnD,IAAIc,WAAWe,MAAM,KAAK,GAAG;QAC3B,OAAO;IACT;IAEA,qBACE;kBACGf,WAAWE,GAAG,CAAC,CAACI,0BACf,KAACvB;gBAECsB,WAAWN,YAAY,CAACO,UAAU;gBAClCA,WAAWA;gBACXU,2BAA2B/B,MAAMgC,cAAc;gBAC/CvB,gBAAgBA;gBAChBP,cAAcA;gBACdC,YAAYA;gBACZC,QAAQA;eAPHiB;;AAYf,EAAE"}
@@ -2,9 +2,9 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { classNames } from "@vkontakte/vkjs";
5
- import { Flex } from "../../../components/Flex/Flex.js";
6
- import { SnackbarAnimatedWrapper } from "./SnackbarAnimatedWrapper.js";
7
- import { SnackbarsContainerContext } from "./SnackbarsContainerContext.js";
5
+ import { Flex } from "../../../../components/Flex/Flex.js";
6
+ import { SnackbarAnimatedWrapper } from "../SnackbarAnimatedWrapper/SnackbarAnimatedWrapper.js";
7
+ import { SnackbarsContainerContext } from "../SnackbarsContainerContext.js";
8
8
  import styles from "./SnackbarsContainer.module.css";
9
9
  const placementClassNames = {
10
10
  'top-start': styles.placementTopStart,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/hooks/useSnackbarManager/components/SnackbarsContainer/SnackbarsContainer.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { Flex } from '../../../../components/Flex/Flex';\nimport type { SnackbarPlacement } from '../../../../components/Snackbar/types';\nimport type { CSSCustomProperties } from '../../../../types';\nimport type { SnackbarApi, SnackbarItem, UseSnackbar } from '../../types';\nimport { SnackbarAnimatedWrapper } from '../SnackbarAnimatedWrapper/SnackbarAnimatedWrapper';\nimport {\n SnackbarsContainerContext,\n type SnackbarsContainerContextData,\n} from '../SnackbarsContainerContext';\nimport styles from './SnackbarsContainer.module.css';\n/* eslint-disable jsdoc/require-jsdoc */\n\ninterface SnackbarsContainerProps\n extends Pick<UseSnackbar.Props, 'offsetYStart' | 'offsetYEnd' | 'zIndex'> {\n snackbars: SnackbarItem[];\n placement: SnackbarPlacement;\n onSnackbarOpen: (id: string) => void;\n onSnackbarContainerClosed: (id: string) => void;\n}\n\nconst placementClassNames = {\n 'top-start': styles.placementTopStart,\n 'top-end': styles.placementTopEnd,\n 'top': styles.placementTop,\n 'bottom-start': styles.placementBottomStart,\n 'bottom-end': styles.placementBottomEnd,\n 'bottom': styles.placementBottom,\n};\n\nconst resolveOffset = (offset: SnackbarApi.OffsetY | undefined): string => {\n if (typeof offset === 'undefined') {\n return '';\n }\n return typeof offset === 'number' ? `${offset}px` : offset;\n};\n\nexport const SnackbarsContainer: React.FC<SnackbarsContainerProps> = ({\n snackbars,\n placement,\n onSnackbarOpen,\n onSnackbarContainerClosed: onSnackbarContainerClosedProp,\n offsetYStart,\n offsetYEnd,\n zIndex,\n}) => {\n const [snackbarsWrappersToClose, setSnackbarsWrappersToClose] = React.useState<Set<string>>(\n new Set(),\n );\n const onClosed = React.useCallback((id: string) => {\n setSnackbarsWrappersToClose((oldState) => new Set([...oldState, id]));\n }, []);\n\n const onSnackbarContainerClosed = React.useCallback(\n (id: string) => {\n setSnackbarsWrappersToClose((oldState) => {\n oldState.delete(id);\n return new Set(oldState);\n });\n onSnackbarContainerClosedProp(id);\n },\n [onSnackbarContainerClosedProp],\n );\n\n const contextValue: SnackbarsContainerContextData = React.useMemo(\n () => ({\n isInsideContainer: true,\n onClosed,\n onOpen: onSnackbarOpen,\n }),\n [onClosed, onSnackbarOpen],\n );\n\n const containerStyles: CSSCustomProperties = {\n '--vkui_internal--snackbars_container_offset_y_start': resolveOffset(offsetYStart),\n '--vkui_internal--snackbars_container_offset_y_end': resolveOffset(offsetYEnd),\n ...(zIndex !== undefined && { zIndex }),\n };\n\n return (\n <SnackbarsContainerContext.Provider value={contextValue}>\n <Flex\n className={classNames(styles.host, placementClassNames[placement])}\n style={containerStyles}\n >\n {snackbars.map((snackbar) => (\n <SnackbarAnimatedWrapper\n key={snackbar.id}\n snackbarItem={snackbar}\n onClosed={onSnackbarContainerClosed}\n close={snackbarsWrappersToClose.has(snackbar.id)}\n placement={placement.startsWith('top') ? 'top' : 'bottom'}\n />\n ))}\n </Flex>\n </SnackbarsContainerContext.Provider>\n );\n};\n"],"names":["React","classNames","Flex","SnackbarAnimatedWrapper","SnackbarsContainerContext","styles","placementClassNames","placementTopStart","placementTopEnd","placementTop","placementBottomStart","placementBottomEnd","placementBottom","resolveOffset","offset","SnackbarsContainer","snackbars","placement","onSnackbarOpen","onSnackbarContainerClosed","onSnackbarContainerClosedProp","offsetYStart","offsetYEnd","zIndex","snackbarsWrappersToClose","setSnackbarsWrappersToClose","useState","Set","onClosed","useCallback","id","oldState","delete","contextValue","useMemo","isInsideContainer","onOpen","containerStyles","undefined","Provider","value","className","host","style","map","snackbar","snackbarItem","close","has","startsWith"],"mappings":"AAAA;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,IAAI,QAAQ,sCAAmC;AAIxD,SAASC,uBAAuB,QAAQ,wDAAqD;AAC7F,SACEC,yBAAyB,QAEpB,kCAA+B;AACtC,OAAOC,YAAY,kCAAkC;AAWrD,MAAMC,sBAAsB;IAC1B,aAAaD,OAAOE,iBAAiB;IACrC,WAAWF,OAAOG,eAAe;IACjC,OAAOH,OAAOI,YAAY;IAC1B,gBAAgBJ,OAAOK,oBAAoB;IAC3C,cAAcL,OAAOM,kBAAkB;IACvC,UAAUN,OAAOO,eAAe;AAClC;AAEA,MAAMC,gBAAgB,CAACC;IACrB,IAAI,OAAOA,WAAW,aAAa;QACjC,OAAO;IACT;IACA,OAAO,OAAOA,WAAW,WAAW,GAAGA,OAAO,EAAE,CAAC,GAAGA;AACtD;AAEA,OAAO,MAAMC,qBAAwD,CAAC,EACpEC,SAAS,EACTC,SAAS,EACTC,cAAc,EACdC,2BAA2BC,6BAA6B,EACxDC,YAAY,EACZC,UAAU,EACVC,MAAM,EACP;IACC,MAAM,CAACC,0BAA0BC,4BAA4B,GAAGzB,MAAM0B,QAAQ,CAC5E,IAAIC;IAEN,MAAMC,WAAW5B,MAAM6B,WAAW,CAAC,CAACC;QAClCL,4BAA4B,CAACM,WAAa,IAAIJ,IAAI;mBAAII;gBAAUD;aAAG;IACrE,GAAG,EAAE;IAEL,MAAMX,4BAA4BnB,MAAM6B,WAAW,CACjD,CAACC;QACCL,4BAA4B,CAACM;YAC3BA,SAASC,MAAM,CAACF;YAChB,OAAO,IAAIH,IAAII;QACjB;QACAX,8BAA8BU;IAChC,GACA;QAACV;KAA8B;IAGjC,MAAMa,eAA8CjC,MAAMkC,OAAO,CAC/D,IAAO,CAAA;YACLC,mBAAmB;YACnBP;YACAQ,QAAQlB;QACV,CAAA,GACA;QAACU;QAAUV;KAAe;IAG5B,MAAMmB,kBAAuC;QAC3C,uDAAuDxB,cAAcQ;QACrE,qDAAqDR,cAAcS;QACnE,GAAIC,WAAWe,aAAa;YAAEf;QAAO,CAAC;IACxC;IAEA,qBACE,KAACnB,0BAA0BmC,QAAQ;QAACC,OAAOP;kBACzC,cAAA,KAAC/B;YACCuC,WAAWxC,WAAWI,OAAOqC,IAAI,EAAEpC,mBAAmB,CAACW,UAAU;YACjE0B,OAAON;sBAENrB,UAAU4B,GAAG,CAAC,CAACC,yBACd,KAAC1C;oBAEC2C,cAAcD;oBACdjB,UAAUT;oBACV4B,OAAOvB,yBAAyBwB,GAAG,CAACH,SAASf,EAAE;oBAC/Cb,WAAWA,UAAUgC,UAAU,CAAC,SAAS,QAAQ;mBAJ5CJ,SAASf,EAAE;;;AAU5B,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useSnackbarManager/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { SnackbarProps } from '../../components/Snackbar/Snackbar';\nimport type { HasDataAttribute, PartialFields, RequiredFields } from '../../types';\n\nexport type SnackbarsMap = Record<string, SnackbarItem[]>;\n\nexport type SnackbarData = RequiredFields<Omit<SnackbarProps, 'offsetY'>, 'id' | 'placement'>;\n\nexport namespace CustomSnackbar {\n export type Props<AdditionalProps extends object = object> = AdditionalProps &\n Pick<SnackbarApi.OpenReturn, 'close' | 'update'> & {\n id: string;\n snackbarProps: SnackbarData;\n };\n\n export type Payload<AdditionalProps extends object = object> = {\n id?: string;\n component: React.ComponentType<Props<AdditionalProps>>;\n baseProps?: SnackbarApi.OpenProps;\n additionalProps?: AdditionalProps;\n };\n}\n\nexport namespace SnackbarApi {\n export type OpenProps = PartialFields<Omit<SnackbarProps, 'open' | 'offsetY'>, 'onClosed'> &\n HasDataAttribute;\n\n export type UpdateProps = Omit<OpenProps, 'id' | 'placement'>;\n\n export type OpenReturn = {\n id: string;\n close: () => void;\n update: (props: UpdateProps) => void;\n onClose: <R>(resolve?: () => R, reject?: VoidFunction) => Promise<R>;\n };\n\n export type QueueStrategy = 'queue' | 'shift';\n\n export type OffsetY = number | string;\n\n export interface Api {\n /**\n * Метод для открытия снекбара. Принимает конфиг\n */\n open: (config: OpenProps) => OpenReturn;\n /**\n * Метод для открытия кастомного снекбара.\n */\n openCustom: <AdditionalProps extends object = object>(\n config:\n | CustomSnackbar.Payload<AdditionalProps>\n | React.ComponentType<CustomSnackbar.Props<AdditionalProps>>,\n ) => OpenReturn;\n /**\n * Метод для обновления свойств снекбара. Можно поменять любое свойство, кроме 'id' и 'placement'.\n */\n update: (id: string, config: UpdateProps) => void;\n /**\n * Метод для закрытия снекбара по id.\n */\n close: (id: string) => void;\n /**\n * Метод для закрытия всех снекбаров.\n */\n closeAll: () => void;\n /**\n * Метод для изменения максимального числа открытых снекбаров в один момент.\n */\n setLimit: (count: number) => void;\n /**\n * Метод для изменения поведения переполнения очереди снекбаров.\n */\n setQueueStrategy: (behavior: QueueStrategy) => void;\n /**\n * Метод для изменения отступа контейнера снекбаров от верха.\n */\n setOffsetYStart: (offset: OffsetY) => void;\n /**\n * Метод для изменения отступа контейнера снекбаров от низа.\n */\n setOffsetYEnd: (offset: OffsetY) => void;\n /**\n * Метод для изменения z-index контейнера снекбаров.\n */\n setZIndex: (zIndex: number | string) => void;\n }\n}\n\nexport namespace UseSnackbar {\n export interface Props {\n /**\n * Максимальное число открытых на одном `placement` снекбаров\n */\n limit?: number;\n /**\n * Поведение переполнения очереди снекбаров:\n * - `\"queue\"` - снекбары не откроются, пока для них не появится место.\n * - `\"shift\"` - снекбары форсируют закрытие более старых снекбаров, чтобы освободить место. Значение по умолчанию.\n */\n queueStrategy?: SnackbarApi.QueueStrategy;\n /**\n * Вертикальный отступ контейнера со снекбарами от верха. Полезно, когда на странице используется компонент `FixedLayout`.\n */\n offsetYStart?: SnackbarApi.OffsetY;\n /**\n * Вертикальный отступ контейнера со снекбарами от низа. Полезно, когда на странице используется компонент `FixedLayout`.\n */\n offsetYEnd?: SnackbarApi.OffsetY;\n /**\n * Свойство для установки стиля `z-index` на контейнере снекбаров.\n */\n zIndex?: number | string;\n }\n\n export type Return = [SnackbarApi.Api, React.ReactElement | null];\n}\n\nexport type SnackbarItem = Pick<SnackbarApi.OpenReturn, 'close' | 'update'> & {\n id: string;\n component: React.ComponentType<any>;\n additionalProps?: any;\n snackbarProps: SnackbarData;\n};\n\nexport type CommonOnOpenPayload = Pick<SnackbarApi.OpenReturn, 'close' | 'update'> & {\n id: string;\n component: React.ComponentType<CustomSnackbar.Props<any>>;\n snackbarProps?: SnackbarApi.OpenProps;\n additionalProps?: any;\n};\n\nexport { type SnackbarPlacement } from '../../components/Snackbar/types';\nexport { SnackbarProps };\n"],"names":[],"mappings":"AAoIA,WAAyB"}
1
+ {"version":3,"sources":["../../../../src/hooks/useSnackbarManager/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { SnackbarProps } from '../../components/Snackbar/Snackbar';\nimport type { HasDataAttribute, PartialFields, RequiredFields } from '../../types';\n\nexport type SnackbarsMap = Record<string, SnackbarItem[]>;\n\nexport type SnackbarData = RequiredFields<Omit<SnackbarProps, 'offsetY'>, 'id' | 'placement'>;\n\nexport namespace CustomSnackbar {\n export type Props<AdditionalProps extends object = object> = AdditionalProps &\n Pick<SnackbarApi.OpenReturn, 'close' | 'update'> & {\n id: string;\n snackbarProps: SnackbarData;\n };\n\n export type Payload<AdditionalProps extends object = object> = {\n id?: string | undefined;\n component: React.ComponentType<Props<AdditionalProps>>;\n baseProps?: SnackbarApi.OpenProps | undefined;\n additionalProps?: AdditionalProps | undefined;\n };\n}\n\nexport namespace SnackbarApi {\n export type OpenProps = PartialFields<Omit<SnackbarProps, 'open' | 'offsetY'>, 'onClosed'> &\n HasDataAttribute;\n\n export type UpdateProps = Omit<OpenProps, 'id' | 'placement'>;\n\n export type OpenReturn = {\n id: string;\n close: () => void;\n update: (props: UpdateProps) => void;\n onClose: <R>(resolve?: () => R, reject?: VoidFunction) => Promise<R>;\n };\n\n export type QueueStrategy = 'queue' | 'shift';\n\n export type OffsetY = number | string;\n\n export interface Api {\n /**\n * Метод для открытия снекбара. Принимает конфиг\n */\n open: (config: OpenProps) => OpenReturn;\n /**\n * Метод для открытия кастомного снекбара.\n */\n openCustom: <AdditionalProps extends object = object>(\n config:\n | CustomSnackbar.Payload<AdditionalProps>\n | React.ComponentType<CustomSnackbar.Props<AdditionalProps>>,\n ) => OpenReturn;\n /**\n * Метод для обновления свойств снекбара. Можно поменять любое свойство, кроме 'id' и 'placement'.\n */\n update: (id: string, config: UpdateProps) => void;\n /**\n * Метод для закрытия снекбара по id.\n */\n close: (id: string) => void;\n /**\n * Метод для закрытия всех снекбаров.\n */\n closeAll: () => void;\n /**\n * Метод для изменения максимального числа открытых снекбаров в один момент.\n */\n setLimit: (count: number) => void;\n /**\n * Метод для изменения поведения переполнения очереди снекбаров.\n */\n setQueueStrategy: (behavior: QueueStrategy) => void;\n /**\n * Метод для изменения отступа контейнера снекбаров от верха.\n */\n setOffsetYStart: (offset: OffsetY) => void;\n /**\n * Метод для изменения отступа контейнера снекбаров от низа.\n */\n setOffsetYEnd: (offset: OffsetY) => void;\n /**\n * Метод для изменения z-index контейнера снекбаров.\n */\n setZIndex: (zIndex: number | string) => void;\n }\n}\n\nexport namespace UseSnackbar {\n export interface Props {\n /**\n * Максимальное число открытых на одном `placement` снекбаров\n */\n limit?: number | undefined;\n /**\n * Поведение переполнения очереди снекбаров:\n * - `\"queue\"` - снекбары не откроются, пока для них не появится место.\n * - `\"shift\"` - снекбары форсируют закрытие более старых снекбаров, чтобы освободить место. Значение по умолчанию.\n */\n queueStrategy?: SnackbarApi.QueueStrategy | undefined;\n /**\n * Вертикальный отступ контейнера со снекбарами от верха. Полезно, когда на странице используется компонент `FixedLayout`.\n */\n offsetYStart?: SnackbarApi.OffsetY | undefined;\n /**\n * Вертикальный отступ контейнера со снекбарами от низа. Полезно, когда на странице используется компонент `FixedLayout`.\n */\n offsetYEnd?: SnackbarApi.OffsetY | undefined;\n /**\n * Свойство для установки стиля `z-index` на контейнере снекбаров.\n */\n zIndex?: number | string | undefined;\n }\n\n export type Return = [SnackbarApi.Api, React.ReactElement | null];\n}\n\nexport type SnackbarItem = Pick<SnackbarApi.OpenReturn, 'close' | 'update'> & {\n id: string;\n component: React.ComponentType<any>;\n additionalProps?: any | undefined;\n snackbarProps: SnackbarData;\n};\n\nexport type CommonOnOpenPayload = Pick<SnackbarApi.OpenReturn, 'close' | 'update'> & {\n id: string;\n component: React.ComponentType<CustomSnackbar.Props<any>>;\n snackbarProps?: SnackbarApi.OpenProps | undefined;\n additionalProps?: any | undefined;\n};\n\nexport { type SnackbarPlacement } from '../../components/Snackbar/types';\nexport { SnackbarProps };\n"],"names":[],"mappings":"AAoIA,WAAyB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useSyncHTMLWithBaseVKUIClasses.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { AppRootLayout, AppRootMode } from '../components/AppRoot/types';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nconst layoutClassNames = { card: 'vkui--layout-card', plain: 'vkui--layout-plain' };\n\nexport function useSyncHTMLWithBaseVKUIClasses({\n appRootRef,\n mode,\n enable,\n layout,\n}: {\n appRootRef: React.RefObject<HTMLElement | null>;\n mode: AppRootMode;\n layout?: AppRootLayout;\n enable: boolean;\n}) {\n useIsomorphicLayoutEffect(() => {\n if (!enable) {\n return;\n }\n\n const htmlElement = appRootRef.current?.ownerDocument.documentElement;\n const parentElement = appRootRef.current?.parentElement ?? null;\n\n const htmlElementClasses = ['vkui'];\n const parentElementClasses = ['vkui__root'];\n\n if (mode === 'embedded') {\n parentElementClasses.push('vkui__root--embedded');\n }\n\n if (mode === 'full') {\n if (layout) {\n htmlElementClasses.push(layoutClassNames[layout]);\n }\n /* eslint-disable-next-line no-restricted-properties */\n htmlElement?.classList.add(...htmlElementClasses);\n }\n\n /* eslint-disable-next-line no-restricted-properties */\n parentElement?.classList.add(...parentElementClasses);\n\n return () => {\n if (mode === 'full') {\n /* eslint-disable-next-line no-restricted-properties */\n htmlElement?.classList.remove(...htmlElementClasses);\n }\n /* eslint-disable-next-line no-restricted-properties */\n parentElement?.classList.remove(...parentElementClasses);\n };\n }, [mode, enable, layout]);\n}\n"],"names":["useIsomorphicLayoutEffect","layoutClassNames","card","plain","useSyncHTMLWithBaseVKUIClasses","appRootRef","mode","enable","layout","htmlElement","current","ownerDocument","documentElement","parentElement","htmlElementClasses","parentElementClasses","push","classList","add","remove"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ,sCAAmC;AAE7E,MAAMC,mBAAmB;IAAEC,MAAM;IAAqBC,OAAO;AAAqB;AAElF,OAAO,SAASC,+BAA+B,EAC7CC,UAAU,EACVC,IAAI,EACJC,MAAM,EACNC,MAAM,EAMP;IACCR,0BAA0B;QACxB,IAAI,CAACO,QAAQ;YACX;QACF;QAEA,MAAME,cAAcJ,WAAWK,OAAO,EAAEC,cAAcC;QACtD,MAAMC,gBAAgBR,WAAWK,OAAO,EAAEG,iBAAiB;QAE3D,MAAMC,qBAAqB;YAAC;SAAO;QACnC,MAAMC,uBAAuB;YAAC;SAAa;QAE3C,IAAIT,SAAS,YAAY;YACvBS,qBAAqBC,IAAI,CAAC;QAC5B;QAEA,IAAIV,SAAS,QAAQ;YACnB,IAAIE,QAAQ;gBACVM,mBAAmBE,IAAI,CAACf,gBAAgB,CAACO,OAAO;YAClD;YACA,qDAAqD,GACrDC,aAAaQ,UAAUC,OAAOJ;QAChC;QAEA,qDAAqD,GACrDD,eAAeI,UAAUC,OAAOH;QAEhC,OAAO;YACL,IAAIT,SAAS,QAAQ;gBACnB,qDAAqD,GACrDG,aAAaQ,UAAUE,UAAUL;YACnC;YACA,qDAAqD,GACrDD,eAAeI,UAAUE,UAAUJ;QACrC;IACF,GAAG;QAACT;QAAMC;QAAQC;KAAO;AAC3B"}
1
+ {"version":3,"sources":["../../../src/hooks/useSyncHTMLWithBaseVKUIClasses.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { AppRootLayout, AppRootMode } from '../components/AppRoot/types';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nconst layoutClassNames = { card: 'vkui--layout-card', plain: 'vkui--layout-plain' };\n\nexport function useSyncHTMLWithBaseVKUIClasses({\n appRootRef,\n mode,\n enable,\n layout,\n}: {\n appRootRef: React.RefObject<HTMLElement | null>;\n mode: AppRootMode;\n layout?: AppRootLayout | undefined;\n enable: boolean;\n}) {\n useIsomorphicLayoutEffect(() => {\n if (!enable) {\n return;\n }\n\n const htmlElement = appRootRef.current?.ownerDocument.documentElement;\n const parentElement = appRootRef.current?.parentElement ?? null;\n\n const htmlElementClasses = ['vkui'];\n const parentElementClasses = ['vkui__root'];\n\n if (mode === 'embedded') {\n parentElementClasses.push('vkui__root--embedded');\n }\n\n if (mode === 'full') {\n if (layout) {\n htmlElementClasses.push(layoutClassNames[layout]);\n }\n /* eslint-disable-next-line no-restricted-properties */\n htmlElement?.classList.add(...htmlElementClasses);\n }\n\n /* eslint-disable-next-line no-restricted-properties */\n parentElement?.classList.add(...parentElementClasses);\n\n return () => {\n if (mode === 'full') {\n /* eslint-disable-next-line no-restricted-properties */\n htmlElement?.classList.remove(...htmlElementClasses);\n }\n /* eslint-disable-next-line no-restricted-properties */\n parentElement?.classList.remove(...parentElementClasses);\n };\n }, [mode, enable, layout]);\n}\n"],"names":["useIsomorphicLayoutEffect","layoutClassNames","card","plain","useSyncHTMLWithBaseVKUIClasses","appRootRef","mode","enable","layout","htmlElement","current","ownerDocument","documentElement","parentElement","htmlElementClasses","parentElementClasses","push","classList","add","remove"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ,sCAAmC;AAE7E,MAAMC,mBAAmB;IAAEC,MAAM;IAAqBC,OAAO;AAAqB;AAElF,OAAO,SAASC,+BAA+B,EAC7CC,UAAU,EACVC,IAAI,EACJC,MAAM,EACNC,MAAM,EAMP;IACCR,0BAA0B;QACxB,IAAI,CAACO,QAAQ;YACX;QACF;QAEA,MAAME,cAAcJ,WAAWK,OAAO,EAAEC,cAAcC;QACtD,MAAMC,gBAAgBR,WAAWK,OAAO,EAAEG,iBAAiB;QAE3D,MAAMC,qBAAqB;YAAC;SAAO;QACnC,MAAMC,uBAAuB;YAAC;SAAa;QAE3C,IAAIT,SAAS,YAAY;YACvBS,qBAAqBC,IAAI,CAAC;QAC5B;QAEA,IAAIV,SAAS,QAAQ;YACnB,IAAIE,QAAQ;gBACVM,mBAAmBE,IAAI,CAACf,gBAAgB,CAACO,OAAO;YAClD;YACA,qDAAqD,GACrDC,aAAaQ,UAAUC,OAAOJ;QAChC;QAEA,qDAAqD,GACrDD,eAAeI,UAAUC,OAAOH;QAEhC,OAAO;YACL,IAAIT,SAAS,QAAQ;gBACnB,qDAAqD,GACrDG,aAAaQ,UAAUE,UAAUL;YACnC;YACA,qDAAqD,GACrDD,eAAeI,UAAUE,UAAUJ;QACrC;IACF,GAAG;QAACT;QAAMC;QAAQC;KAAO;AAC3B"}
@@ -203,7 +203,7 @@ export { useNavDirection } from "./components/NavTransitionDirectionContext/NavT
203
203
  export { useNavId } from "./components/NavIdContext/useNavId.js";
204
204
  export { useCSSKeyframesAnimationController as unstable_useCSSKeyframesAnimationController } from "./lib/animation/index.js";
205
205
  export { useFocusVisible } from "./hooks/useFocusVisible.js";
206
- export { useReducedMotion as unstable_useReducedMotion } from "./lib/animation/index.js";
206
+ export { useReducedMotion } from "./lib/animation/index.js";
207
207
  /**
208
208
  * Utils
209
209
  */ export { classNames } from "@vkontakte/vkjs";