@vkontakte/vkui 5.5.4 → 5.6.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 (1179) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  3. package/dist/cjs/components/Accordion/AccordionSummary.js.map +1 -1
  4. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  5. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  6. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  7. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  8. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -2
  9. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  10. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  11. package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  12. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  13. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  14. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  15. package/dist/cjs/components/AppRoot/AppRoot.js +6 -5
  16. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  17. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  18. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  19. package/dist/cjs/components/AppRoot/ScrollContext.js +5 -3
  20. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  21. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  22. package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
  23. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  24. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  25. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  26. package/dist/cjs/components/Avatar/AvatarBadge/icons.js.map +1 -1
  27. package/dist/cjs/components/Avatar/helpers.js.map +1 -1
  28. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  29. package/dist/cjs/components/Banner/Banner.d.ts +5 -1
  30. package/dist/cjs/components/Banner/Banner.js +4 -3
  31. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  32. package/dist/cjs/components/BaseGallery/BaseGallery.js +15 -9
  33. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  34. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  35. package/dist/cjs/components/Button/Button.d.ts +2 -1
  36. package/dist/cjs/components/Button/Button.js +5 -3
  37. package/dist/cjs/components/Button/Button.js.map +1 -1
  38. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  39. package/dist/cjs/components/Calendar/Calendar.js +2 -1
  40. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  41. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -2
  42. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  43. package/dist/cjs/components/CalendarDays/CalendarDays.js +6 -5
  44. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  45. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  46. package/dist/cjs/components/CalendarRange/CalendarRange.js +16 -8
  47. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  48. package/dist/cjs/components/CalendarTime/CalendarTime.js +4 -2
  49. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  50. package/dist/cjs/components/Card/Card.js.map +1 -1
  51. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  52. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  53. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  54. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  55. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  56. package/dist/cjs/components/Cell/useDraggable.js.map +1 -1
  57. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  58. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  59. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  60. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  61. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  62. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +10 -4
  63. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  64. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  65. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +20 -9
  66. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  67. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  68. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  69. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  70. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  71. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  72. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +2 -1
  73. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  74. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  75. package/dist/cjs/components/CustomSelect/CustomSelect.js +15 -8
  76. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  77. package/dist/cjs/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  78. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -2
  79. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  80. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  81. package/dist/cjs/components/DateInput/DateInput.js +4 -2
  82. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  83. package/dist/cjs/components/DatePicker/DatePicker.js +8 -5
  84. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  85. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +11 -7
  86. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  87. package/dist/cjs/components/Div/Div.js.map +1 -1
  88. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  89. package/dist/cjs/components/Epic/Epic.d.ts +1 -0
  90. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  91. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  92. package/dist/cjs/components/File/File.js.map +1 -1
  93. package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
  94. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  95. package/dist/cjs/components/FocusTrap/FocusTrap.js +4 -3
  96. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  97. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  98. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  99. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  100. package/dist/cjs/components/FormItem/FormItem.js +2 -1
  101. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  102. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  103. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  104. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  105. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  106. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  107. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  108. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  109. package/dist/cjs/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  110. package/dist/cjs/components/Group/Group.d.ts +8 -8
  111. package/dist/cjs/components/Group/Group.js +1 -1
  112. package/dist/cjs/components/Group/Group.js.map +1 -1
  113. package/dist/cjs/components/Header/Header.js.map +1 -1
  114. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  115. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  116. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.js +56 -0
  117. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  118. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +2 -2
  119. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  120. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  121. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  122. package/dist/cjs/components/Image/Image.js.map +1 -1
  123. package/dist/cjs/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  124. package/dist/cjs/components/ImageBase/ImageBase.js +4 -2
  125. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  126. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  127. package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  128. package/dist/cjs/components/ImageBase/context.js.map +1 -1
  129. package/dist/cjs/components/ImageBase/helpers.js.map +1 -1
  130. package/dist/cjs/components/ImageBase/validators.js +3 -4
  131. package/dist/cjs/components/ImageBase/validators.js.map +1 -1
  132. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  133. package/dist/cjs/components/Input/Input.js.map +1 -1
  134. package/dist/cjs/components/InputLike/InputLike.js +6 -4
  135. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  136. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
  137. package/dist/cjs/components/Link/Link.js.map +1 -1
  138. package/dist/cjs/components/List/List.js.map +1 -1
  139. package/dist/cjs/components/List/ListContext.js.map +1 -1
  140. package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  141. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  142. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  143. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +9 -8
  144. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  145. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  146. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  147. package/dist/cjs/components/ModalPage/ModalPageContext.js.map +1 -1
  148. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  149. package/dist/cjs/components/ModalRoot/ModalRoot.js +21 -15
  150. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  151. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  152. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  153. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +12 -6
  154. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  155. package/dist/cjs/components/ModalRoot/types.d.ts +4 -2
  156. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  157. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  158. package/dist/cjs/components/ModalRoot/useModalRootContext.js.map +1 -1
  159. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  160. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  161. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  162. package/dist/cjs/components/Pagination/Pagination.js +2 -1
  163. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  164. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  165. package/dist/cjs/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  166. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  167. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  168. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  169. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  170. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  171. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  172. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  173. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  174. package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
  175. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  176. package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
  177. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  178. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  179. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  180. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  181. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -1
  182. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  183. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  184. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
  185. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  186. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  187. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  188. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  189. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  190. package/dist/cjs/components/Removable/Removable.js +2 -2
  191. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  192. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  193. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  194. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  195. package/dist/cjs/components/Root/Root.d.ts +1 -0
  196. package/dist/cjs/components/Root/Root.js.map +1 -1
  197. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  198. package/dist/cjs/components/ScrollArrow/ScrollArrow.js.map +1 -1
  199. package/dist/cjs/components/Search/Search.js +2 -2
  200. package/dist/cjs/components/Search/Search.js.map +1 -1
  201. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  202. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  203. package/dist/cjs/components/Select/Select.js.map +1 -1
  204. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  205. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  206. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  207. package/dist/cjs/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  208. package/dist/cjs/components/SimpleCell/Chevron/Chevron.js +27 -0
  209. package/dist/cjs/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  210. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +6 -2
  211. package/dist/cjs/components/SimpleCell/SimpleCell.js +16 -5
  212. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  213. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  214. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  215. package/dist/cjs/components/Slider/helpers.js.map +1 -1
  216. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  217. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  218. package/dist/cjs/components/Spinner/Spinner.d.ts +2 -1
  219. package/dist/cjs/components/Spinner/Spinner.js +19 -4
  220. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  221. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  222. package/dist/cjs/components/SplitCol/SplitColContext.js.map +1 -1
  223. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  224. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  225. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  226. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  227. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  228. package/dist/cjs/components/TabbarItem/TabbarItem.js +1 -1
  229. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  230. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  231. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  232. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  233. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  234. package/dist/cjs/components/Textarea/Textarea.js +2 -1
  235. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  236. package/dist/cjs/components/Tooltip/Tooltip.js +4 -2
  237. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  238. package/dist/cjs/components/Tooltip/TooltipContainer.js.map +1 -1
  239. package/dist/cjs/components/Touch/Touch.js +1 -1
  240. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  241. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  242. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  243. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  244. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  245. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  246. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  247. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  248. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  249. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  250. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  251. package/dist/cjs/components/View/View.d.ts +1 -0
  252. package/dist/cjs/components/View/View.js +16 -8
  253. package/dist/cjs/components/View/View.js.map +1 -1
  254. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  255. package/dist/cjs/components/View/utils.js +2 -2
  256. package/dist/cjs/components/View/utils.js.map +1 -1
  257. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  258. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  259. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  260. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  261. package/dist/cjs/helpers/appearance.js.map +1 -1
  262. package/dist/cjs/helpers/generateVKUITokensClassName.js.map +1 -1
  263. package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
  264. package/dist/cjs/helpers/math.js.map +1 -1
  265. package/dist/cjs/helpers/range.js.map +1 -1
  266. package/dist/cjs/hoc/withContext.js.map +1 -1
  267. package/dist/cjs/hoc/withInsets.js.map +1 -1
  268. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  269. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  270. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  271. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  272. package/dist/cjs/hooks/useAdaptivityConditionalRender/index.js.map +1 -1
  273. package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  274. package/dist/cjs/hooks/useAdaptivityHasHover.js.map +1 -1
  275. package/dist/cjs/hooks/useAdaptivityHasPointer.js.map +1 -1
  276. package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  277. package/dist/cjs/hooks/useAppearance.js.map +1 -1
  278. package/dist/cjs/hooks/useAutoDetectAppearance.js +2 -1
  279. package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
  280. package/dist/cjs/hooks/useBooleanState.js.map +1 -1
  281. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -1
  282. package/dist/cjs/hooks/useCalendar.js +6 -3
  283. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  284. package/dist/cjs/hooks/useChipsInput.js +2 -1
  285. package/dist/cjs/hooks/useChipsInput.js.map +1 -1
  286. package/dist/cjs/hooks/useChipsSelect.js.map +1 -1
  287. package/dist/cjs/hooks/useDateInput.js +5 -3
  288. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  289. package/dist/cjs/hooks/useEffectDev.js.map +1 -1
  290. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  291. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  292. package/dist/cjs/hooks/useExternRef.js.map +1 -1
  293. package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
  294. package/dist/cjs/hooks/useFocusWithin.js.map +1 -1
  295. package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
  296. package/dist/cjs/hooks/useId.js.map +1 -1
  297. package/dist/cjs/hooks/useInsets.js.map +1 -1
  298. package/dist/cjs/hooks/useIsClient.js.map +1 -1
  299. package/dist/cjs/hooks/useKeyboard.js +4 -4
  300. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  301. package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
  302. package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
  303. package/dist/cjs/hooks/useObjectMemo.js.map +1 -1
  304. package/dist/cjs/hooks/useOrientationChange.js +1 -1
  305. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  306. package/dist/cjs/hooks/usePagination.js.map +1 -1
  307. package/dist/cjs/hooks/usePatchChildrenRef.js +2 -1
  308. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  309. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  310. package/dist/cjs/hooks/usePrevious.js.map +1 -1
  311. package/dist/cjs/hooks/useTimeout.js +2 -1
  312. package/dist/cjs/hooks/useTimeout.js.map +1 -1
  313. package/dist/cjs/hooks/useTodayDate.js.map +1 -1
  314. package/dist/cjs/hooks/useWaitTransitionFinish.js +4 -2
  315. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  316. package/dist/cjs/index.d.ts +3 -1
  317. package/dist/cjs/index.js +4 -0
  318. package/dist/cjs/index.js.map +1 -1
  319. package/dist/cjs/lib/SSR.js.map +1 -1
  320. package/dist/cjs/lib/accessibility.js.map +1 -1
  321. package/dist/cjs/lib/adaptivity/constants.js.map +1 -1
  322. package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
  323. package/dist/cjs/lib/animate.js.map +1 -1
  324. package/dist/cjs/lib/browser.js.map +1 -1
  325. package/dist/cjs/lib/calendar.js.map +1 -1
  326. package/dist/cjs/lib/callMultiple.js.map +1 -1
  327. package/dist/cjs/lib/date.js.map +1 -1
  328. package/dist/cjs/lib/dom.js.map +1 -1
  329. package/dist/cjs/lib/floating/adapters.js.map +1 -1
  330. package/dist/cjs/lib/floating/functions.js.map +1 -1
  331. package/dist/cjs/lib/floating/index.js.map +1 -1
  332. package/dist/cjs/lib/fx.js.map +1 -1
  333. package/dist/cjs/lib/getNavId.js.map +1 -1
  334. package/dist/cjs/lib/isRefObject.js.map +1 -1
  335. package/dist/cjs/lib/matchMedia.js.map +1 -1
  336. package/dist/cjs/lib/offset.js +6 -5
  337. package/dist/cjs/lib/offset.js.map +1 -1
  338. package/dist/cjs/lib/platform.js.map +1 -1
  339. package/dist/cjs/lib/polyfills.js.map +1 -1
  340. package/dist/cjs/lib/removeObjectKeys.js.map +1 -1
  341. package/dist/cjs/lib/select.js +2 -2
  342. package/dist/cjs/lib/select.js.map +1 -1
  343. package/dist/cjs/lib/styles.js.map +1 -1
  344. package/dist/cjs/lib/supportEvents.js.map +1 -1
  345. package/dist/cjs/lib/taptic.js.map +1 -1
  346. package/dist/cjs/lib/testing.js.map +1 -1
  347. package/dist/cjs/lib/tokensClassProvider.js.map +1 -1
  348. package/dist/cjs/lib/touch.js.map +1 -1
  349. package/dist/cjs/lib/useIsomorphicLayoutEffect.js.map +1 -1
  350. package/dist/cjs/lib/utils.js.map +1 -1
  351. package/dist/cjs/lib/warnOnce.js.map +1 -1
  352. package/dist/cjs/shared/breakpoints.js.map +1 -1
  353. package/dist/components/Accordion/Accordion.js.map +1 -1
  354. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  355. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  356. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  357. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -2
  358. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  359. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  360. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  361. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  362. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  363. package/dist/components/Alert/Alert.js.map +1 -1
  364. package/dist/components/AppRoot/AppRoot.js +6 -5
  365. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  366. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  367. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  368. package/dist/components/AppRoot/ScrollContext.js +5 -3
  369. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  370. package/dist/components/Avatar/Avatar.js.map +1 -1
  371. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  372. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  373. package/dist/components/Avatar/helpers.js.map +1 -1
  374. package/dist/components/Banner/Banner.d.ts +5 -1
  375. package/dist/components/Banner/Banner.js +4 -3
  376. package/dist/components/Banner/Banner.js.map +1 -1
  377. package/dist/components/BaseGallery/BaseGallery.js +15 -9
  378. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  379. package/dist/components/BaseGallery/helpers.js.map +1 -1
  380. package/dist/components/Button/Button.d.ts +2 -1
  381. package/dist/components/Button/Button.js +5 -3
  382. package/dist/components/Button/Button.js.map +1 -1
  383. package/dist/components/Calendar/Calendar.js +2 -1
  384. package/dist/components/Calendar/Calendar.js.map +1 -1
  385. package/dist/components/CalendarDay/CalendarDay.js +4 -2
  386. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  387. package/dist/components/CalendarDays/CalendarDays.js +6 -5
  388. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  389. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  390. package/dist/components/CalendarRange/CalendarRange.js +16 -8
  391. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  392. package/dist/components/CalendarTime/CalendarTime.js +4 -2
  393. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  394. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  395. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  396. package/dist/components/Cell/Cell.js.map +1 -1
  397. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  398. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  399. package/dist/components/Cell/useDraggable.js.map +1 -1
  400. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  401. package/dist/components/Chip/Chip.js.map +1 -1
  402. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  403. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  404. package/dist/components/ChipsInputBase/ChipsInputBase.js +10 -4
  405. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  406. package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  407. package/dist/components/ChipsSelect/ChipsSelect.js +20 -9
  408. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  409. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  410. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  411. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  412. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  413. package/dist/components/Counter/Counter.js.map +1 -1
  414. package/dist/components/CustomScrollView/CustomScrollView.js +2 -1
  415. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  416. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  417. package/dist/components/CustomSelect/CustomSelect.js +15 -8
  418. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  419. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -2
  420. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  421. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  422. package/dist/components/DateInput/DateInput.js +4 -2
  423. package/dist/components/DateInput/DateInput.js.map +1 -1
  424. package/dist/components/DatePicker/DatePicker.js +8 -5
  425. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  426. package/dist/components/DateRangeInput/DateRangeInput.js +11 -7
  427. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  428. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  429. package/dist/components/Epic/Epic.d.ts +1 -0
  430. package/dist/components/Epic/Epic.js.map +1 -1
  431. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  432. package/dist/components/File/File.js.map +1 -1
  433. package/dist/components/FixedLayout/FixedLayout.js +2 -1
  434. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  435. package/dist/components/FocusTrap/FocusTrap.js +4 -3
  436. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  437. package/dist/components/FormField/FormField.js.map +1 -1
  438. package/dist/components/FormItem/FormItem.js +2 -1
  439. package/dist/components/FormItem/FormItem.js.map +1 -1
  440. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  441. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  442. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  443. package/dist/components/Gallery/Gallery.js.map +1 -1
  444. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  445. package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  446. package/dist/components/Group/Group.d.ts +8 -8
  447. package/dist/components/Group/Group.js +1 -1
  448. package/dist/components/Group/Group.js.map +1 -1
  449. package/dist/components/Header/Header.js.map +1 -1
  450. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  451. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.js +45 -0
  452. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  453. package/dist/components/HorizontalScroll/HorizontalScroll.js +2 -2
  454. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  455. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  456. package/dist/components/IconButton/IconButton.js.map +1 -1
  457. package/dist/components/Image/Image.js.map +1 -1
  458. package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  459. package/dist/components/ImageBase/ImageBase.js +4 -2
  460. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  461. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  462. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  463. package/dist/components/ImageBase/context.js.map +1 -1
  464. package/dist/components/ImageBase/helpers.js.map +1 -1
  465. package/dist/components/ImageBase/validators.js +3 -4
  466. package/dist/components/ImageBase/validators.js.map +1 -1
  467. package/dist/components/Input/Input.js.map +1 -1
  468. package/dist/components/InputLike/InputLike.js +6 -4
  469. package/dist/components/InputLike/InputLike.js.map +1 -1
  470. package/dist/components/Link/Link.js.map +1 -1
  471. package/dist/components/List/List.js.map +1 -1
  472. package/dist/components/List/ListContext.js.map +1 -1
  473. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  474. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  475. package/dist/components/ModalCardBase/ModalCardBase.js +9 -8
  476. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  477. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  478. package/dist/components/ModalPage/ModalPageContext.js.map +1 -1
  479. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  480. package/dist/components/ModalRoot/ModalRoot.js +21 -15
  481. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  482. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  483. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  484. package/dist/components/ModalRoot/ModalRootDesktop.js +12 -6
  485. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  486. package/dist/components/ModalRoot/types.d.ts +4 -2
  487. package/dist/components/ModalRoot/types.js.map +1 -1
  488. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  489. package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
  490. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  491. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  492. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  493. package/dist/components/Pagination/Pagination.js +2 -1
  494. package/dist/components/Pagination/Pagination.js.map +1 -1
  495. package/dist/components/Panel/Panel.js.map +1 -1
  496. package/dist/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  497. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  498. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  499. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  500. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  501. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  502. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  503. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  504. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  505. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  506. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  507. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  508. package/dist/components/Popover/Popover.js.map +1 -1
  509. package/dist/components/Popper/Popper.js.map +1 -1
  510. package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
  511. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  512. package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
  513. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  514. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  515. package/dist/components/Radio/Radio.js.map +1 -1
  516. package/dist/components/Removable/Removable.js +2 -2
  517. package/dist/components/Removable/Removable.js.map +1 -1
  518. package/dist/components/RichCell/RichCell.js.map +1 -1
  519. package/dist/components/Root/Root.d.ts +1 -0
  520. package/dist/components/Root/Root.js.map +1 -1
  521. package/dist/components/Search/Search.js +2 -2
  522. package/dist/components/Search/Search.js.map +1 -1
  523. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  524. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  525. package/dist/components/Select/Select.js.map +1 -1
  526. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  527. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  528. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  529. package/dist/components/SimpleCell/Chevron/Chevron.js +16 -0
  530. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  531. package/dist/components/SimpleCell/SimpleCell.d.ts +6 -2
  532. package/dist/components/SimpleCell/SimpleCell.js +16 -5
  533. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  534. package/dist/components/Slider/Slider.js.map +1 -1
  535. package/dist/components/Slider/helpers.js.map +1 -1
  536. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  537. package/dist/components/Spinner/Spinner.d.ts +2 -1
  538. package/dist/components/Spinner/Spinner.js +19 -4
  539. package/dist/components/Spinner/Spinner.js.map +1 -1
  540. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  541. package/dist/components/SplitCol/SplitColContext.js.map +1 -1
  542. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  543. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  544. package/dist/components/Switch/Switch.js.map +1 -1
  545. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  546. package/dist/components/TabbarItem/TabbarItem.js +1 -1
  547. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  548. package/dist/components/Tabs/Tabs.js.map +1 -1
  549. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  550. package/dist/components/Tappable/Tappable.js.map +1 -1
  551. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  552. package/dist/components/Textarea/Textarea.js +2 -1
  553. package/dist/components/Textarea/Textarea.js.map +1 -1
  554. package/dist/components/Tooltip/Tooltip.js +4 -2
  555. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  556. package/dist/components/Tooltip/TooltipContainer.js.map +1 -1
  557. package/dist/components/Touch/Touch.js +1 -1
  558. package/dist/components/Touch/Touch.js.map +1 -1
  559. package/dist/components/Touch/TouchContext.js.map +1 -1
  560. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  561. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  562. package/dist/components/Typography/Text/Text.js.map +1 -1
  563. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  564. package/dist/components/View/View.d.ts +1 -0
  565. package/dist/components/View/View.js +16 -8
  566. package/dist/components/View/View.js.map +1 -1
  567. package/dist/components/View/ViewInfinite.js.map +1 -1
  568. package/dist/components/View/utils.js +2 -2
  569. package/dist/components/View/utils.js.map +1 -1
  570. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  571. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  572. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  573. package/dist/components.css +10 -9
  574. package/dist/components.css.map +1 -1
  575. package/dist/components.js.tmp +3108 -2238
  576. package/dist/cssm/components/Accordion/Accordion.js +1 -1
  577. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  578. package/dist/cssm/components/Accordion/AccordionSummary.js +1 -1
  579. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  580. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -2
  581. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  582. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  583. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +3 -3
  584. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  585. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
  586. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  587. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +3 -3
  588. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  589. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +2 -2
  590. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  591. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  592. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +3 -3
  593. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  594. package/dist/cssm/components/Alert/Alert.js +6 -6
  595. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  596. package/dist/cssm/components/AppRoot/AppRoot.js +3 -3
  597. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  598. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  599. package/dist/cssm/components/AppRoot/AppRootPortal.js +2 -2
  600. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  601. package/dist/cssm/components/AppRoot/ScrollContext.js +5 -5
  602. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  603. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +1 -1
  604. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  605. package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
  606. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  607. package/dist/cssm/components/Avatar/Avatar.js +1 -1
  608. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  609. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js +2 -2
  610. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  611. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +2 -2
  612. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  613. package/dist/cssm/components/Avatar/AvatarBadge/icons.js +2 -2
  614. package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
  615. package/dist/cssm/components/Avatar/helpers.js.map +1 -1
  616. package/dist/cssm/components/Badge/Badge.js +1 -1
  617. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  618. package/dist/cssm/components/Banner/Banner.d.ts +5 -1
  619. package/dist/cssm/components/Banner/Banner.js +2 -2
  620. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  621. package/dist/cssm/components/Banner/Banner.module.css +6 -1
  622. package/dist/cssm/components/BaseGallery/BaseGallery.js +3 -3
  623. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  624. package/dist/cssm/components/BaseGallery/helpers.js +4 -4
  625. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  626. package/dist/cssm/components/Button/Button.d.ts +2 -1
  627. package/dist/cssm/components/Button/Button.js +4 -3
  628. package/dist/cssm/components/Button/Button.js.map +1 -1
  629. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -1
  630. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  631. package/dist/cssm/components/Calendar/Calendar.js +2 -2
  632. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  633. package/dist/cssm/components/CalendarDay/CalendarDay.js +2 -2
  634. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  635. package/dist/cssm/components/CalendarDays/CalendarDays.js +2 -2
  636. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  637. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +7 -7
  638. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  639. package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -2
  640. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  641. package/dist/cssm/components/CalendarTime/CalendarTime.js +1 -1
  642. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  643. package/dist/cssm/components/Card/Card.js +1 -1
  644. package/dist/cssm/components/Card/Card.js.map +1 -1
  645. package/dist/cssm/components/CardGrid/CardGrid.js +2 -2
  646. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  647. package/dist/cssm/components/CardScroll/CardScroll.js +2 -2
  648. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  649. package/dist/cssm/components/Cell/Cell.js +3 -3
  650. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  651. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +1 -1
  652. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  653. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
  654. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  655. package/dist/cssm/components/Cell/useDraggable.js +1 -1
  656. package/dist/cssm/components/Cell/useDraggable.js.map +1 -1
  657. package/dist/cssm/components/CellButton/CellButton.js +1 -1
  658. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  659. package/dist/cssm/components/Checkbox/Checkbox.js +3 -3
  660. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  661. package/dist/cssm/components/Chip/Chip.js +2 -2
  662. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  663. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  664. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  665. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  666. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +9 -5
  667. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  668. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  669. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +13 -5
  670. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  671. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -2
  672. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  673. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  674. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  675. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  676. package/dist/cssm/components/ContentCard/ContentCard.js +3 -3
  677. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  678. package/dist/cssm/components/Counter/Counter.js +1 -1
  679. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  680. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +3 -3
  681. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  682. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +1 -1
  683. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  684. package/dist/cssm/components/CustomSelect/CustomSelect.js +4 -4
  685. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  686. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js +1 -1
  687. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  688. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -2
  689. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  690. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +2 -2
  691. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  692. package/dist/cssm/components/DateInput/DateInput.js +3 -3
  693. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  694. package/dist/cssm/components/DatePicker/DatePicker.js +8 -8
  695. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  696. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +3 -3
  697. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  698. package/dist/cssm/components/Div/Div.js +1 -1
  699. package/dist/cssm/components/Div/Div.js.map +1 -1
  700. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +2 -2
  701. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  702. package/dist/cssm/components/Epic/Epic.d.ts +1 -0
  703. package/dist/cssm/components/Epic/Epic.js +1 -1
  704. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  705. package/dist/cssm/components/Epic/ScrollSaver.js +2 -2
  706. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  707. package/dist/cssm/components/File/File.js +1 -1
  708. package/dist/cssm/components/File/File.js.map +1 -1
  709. package/dist/cssm/components/FixedLayout/FixedLayout.js +3 -3
  710. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  711. package/dist/cssm/components/FocusTrap/FocusTrap.js +4 -4
  712. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  713. package/dist/cssm/components/FocusVisible/FocusVisible.js +1 -1
  714. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  715. package/dist/cssm/components/Footer/Footer.js +1 -1
  716. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  717. package/dist/cssm/components/FormField/FormField.js +2 -2
  718. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  719. package/dist/cssm/components/FormItem/FormItem.js +2 -2
  720. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  721. package/dist/cssm/components/FormLayout/FormLayout.js +1 -1
  722. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  723. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -2
  724. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  725. package/dist/cssm/components/FormStatus/FormStatus.js +1 -1
  726. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  727. package/dist/cssm/components/Gallery/Gallery.js +1 -1
  728. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  729. package/dist/cssm/components/Gradient/Gradient.js +1 -1
  730. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  731. package/dist/cssm/components/GridAvatar/GridAvatar.js +1 -1
  732. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  733. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js +2 -2
  734. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  735. package/dist/cssm/components/Group/Group.d.ts +8 -8
  736. package/dist/cssm/components/Group/Group.js +4 -4
  737. package/dist/cssm/components/Group/Group.js.map +1 -1
  738. package/dist/cssm/components/Group/Group.module.css +2 -0
  739. package/dist/cssm/components/Header/Header.js +2 -2
  740. package/dist/cssm/components/Header/Header.js.map +1 -1
  741. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -3
  742. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  743. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +0 -5
  744. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  745. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.js +35 -0
  746. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  747. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.module.css +47 -0
  748. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +2 -2
  749. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  750. package/dist/cssm/components/HoverPopper/HoverPopper.js +1 -1
  751. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  752. package/dist/cssm/components/IconButton/IconButton.js +2 -2
  753. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  754. package/dist/cssm/components/Image/Image.js +1 -1
  755. package/dist/cssm/components/Image/Image.js.map +1 -1
  756. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js +2 -2
  757. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
  759. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  760. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +2 -2
  761. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  762. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +2 -2
  763. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  764. package/dist/cssm/components/ImageBase/context.js.map +1 -1
  765. package/dist/cssm/components/ImageBase/helpers.js.map +1 -1
  766. package/dist/cssm/components/ImageBase/validators.js +3 -4
  767. package/dist/cssm/components/ImageBase/validators.js.map +1 -1
  768. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  769. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  770. package/dist/cssm/components/Input/Input.js +2 -2
  771. package/dist/cssm/components/Input/Input.js.map +1 -1
  772. package/dist/cssm/components/InputLike/InputLike.js +1 -1
  773. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  774. package/dist/cssm/components/InputLike/InputLikeDivider.js +1 -1
  775. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
  776. package/dist/cssm/components/Link/Link.js +1 -1
  777. package/dist/cssm/components/Link/Link.js.map +1 -1
  778. package/dist/cssm/components/List/List.js +1 -1
  779. package/dist/cssm/components/List/List.js.map +1 -1
  780. package/dist/cssm/components/List/ListContext.js.map +1 -1
  781. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
  782. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  783. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  784. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  785. package/dist/cssm/components/ModalCard/ModalCard.js +3 -3
  786. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  787. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +11 -10
  788. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  789. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +4 -5
  790. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
  791. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  792. package/dist/cssm/components/ModalPage/ModalPage.js +4 -4
  793. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  794. package/dist/cssm/components/ModalPage/ModalPage.module.css +5 -1
  795. package/dist/cssm/components/ModalPage/ModalPageContext.js.map +1 -1
  796. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -3
  797. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  798. package/dist/cssm/components/ModalRoot/ModalRoot.js +12 -12
  799. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  800. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +1 -1
  801. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  802. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  803. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +7 -7
  804. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  805. package/dist/cssm/components/ModalRoot/types.d.ts +4 -2
  806. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  807. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  808. package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
  809. package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
  810. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  811. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -2
  812. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  813. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +1 -1
  814. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  815. package/dist/cssm/components/Pagination/Pagination.js +2 -2
  816. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  817. package/dist/cssm/components/Panel/Panel.js +2 -2
  818. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  819. package/dist/cssm/components/PanelHeader/LegacyPanelHeaderContent.js +1 -1
  820. package/dist/cssm/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  821. package/dist/cssm/components/PanelHeader/PanelHeader.js +9 -9
  822. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  823. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -2
  824. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  825. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
  826. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  827. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  828. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  829. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +2 -2
  830. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  831. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  832. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  833. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  834. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  835. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  836. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  837. package/dist/cssm/components/PanelSpinner/PanelSpinner.js +1 -1
  838. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  839. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  840. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  841. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  842. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  843. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +5 -5
  844. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  845. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +2 -2
  846. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  847. package/dist/cssm/components/Popover/Popover.js +3 -3
  848. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  849. package/dist/cssm/components/Popper/Popper.js +3 -3
  850. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  851. package/dist/cssm/components/PopperArrow/PopperArrow.js +1 -1
  852. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
  853. package/dist/cssm/components/Progress/Progress.js +1 -1
  854. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  855. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -1
  856. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  857. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +6 -6
  858. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  859. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
  860. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  861. package/dist/cssm/components/Radio/Radio.js +2 -2
  862. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  863. package/dist/cssm/components/RadioGroup/RadioGroup.js +1 -1
  864. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  865. package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -2
  866. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  867. package/dist/cssm/components/Removable/Removable.js +4 -4
  868. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  869. package/dist/cssm/components/RichCell/RichCell.js +2 -2
  870. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  871. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js +1 -1
  872. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  873. package/dist/cssm/components/RichTooltip/RichTooltip.js +1 -1
  874. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  875. package/dist/cssm/components/Root/Root.d.ts +1 -0
  876. package/dist/cssm/components/Root/Root.js +5 -5
  877. package/dist/cssm/components/Root/Root.js.map +1 -1
  878. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -1
  879. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  880. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +3 -3
  881. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  882. package/dist/cssm/components/Search/Search.js +3 -3
  883. package/dist/cssm/components/Search/Search.js.map +1 -1
  884. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +3 -3
  885. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  886. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +3 -3
  887. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  888. package/dist/cssm/components/Select/Select.js +3 -3
  889. package/dist/cssm/components/Select/Select.js.map +1 -1
  890. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -2
  891. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  892. package/dist/cssm/components/SelectTypography/SelectTypography.js +2 -2
  893. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  894. package/dist/cssm/components/Separator/Separator.js +1 -1
  895. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  896. package/dist/cssm/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  897. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js +12 -0
  898. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  899. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +6 -2
  900. package/dist/cssm/components/SimpleCell/SimpleCell.js +15 -5
  901. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  902. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +5 -6
  903. package/dist/cssm/components/Slider/Slider.js +7 -7
  904. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  905. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +2 -2
  906. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  907. package/dist/cssm/components/Slider/helpers.js.map +1 -1
  908. package/dist/cssm/components/Snackbar/Snackbar.js +4 -4
  909. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  910. package/dist/cssm/components/Spacing/Spacing.js +1 -1
  911. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  912. package/dist/cssm/components/Spinner/Spinner.d.ts +2 -1
  913. package/dist/cssm/components/Spinner/Spinner.js +19 -5
  914. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  915. package/dist/cssm/components/Spinner/Spinner.module.css +0 -19
  916. package/dist/cssm/components/SplitCol/SplitCol.js +3 -3
  917. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  918. package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
  919. package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
  920. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  921. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  922. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  923. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -3
  924. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  925. package/dist/cssm/components/Switch/Switch.js +3 -3
  926. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  927. package/dist/cssm/components/Tabbar/Tabbar.js +1 -1
  928. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  929. package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -2
  930. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  931. package/dist/cssm/components/Tabs/Tabs.js +2 -2
  932. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  933. package/dist/cssm/components/TabsItem/TabsItem.js +3 -3
  934. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  935. package/dist/cssm/components/Tappable/Tappable.js +10 -10
  936. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  937. package/dist/cssm/components/Tappable/Tappable.module.css +2 -0
  938. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  939. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  940. package/dist/cssm/components/Textarea/Textarea.js +2 -2
  941. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  942. package/dist/cssm/components/Tooltip/Tooltip.js +5 -5
  943. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  944. package/dist/cssm/components/Tooltip/TooltipContainer.js +1 -1
  945. package/dist/cssm/components/Tooltip/TooltipContainer.js.map +1 -1
  946. package/dist/cssm/components/Touch/Touch.js +4 -4
  947. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  948. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  949. package/dist/cssm/components/Typography/Caption/Caption.js +1 -1
  950. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  951. package/dist/cssm/components/Typography/Footnote/Footnote.js +1 -1
  952. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  953. package/dist/cssm/components/Typography/Headline/Headline.js +2 -2
  954. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  955. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +1 -1
  956. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  957. package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -2
  958. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  959. package/dist/cssm/components/Typography/Text/Text.js +2 -2
  960. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  961. package/dist/cssm/components/Typography/Title/Title.js +1 -1
  962. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  963. package/dist/cssm/components/Typography/Typography.js +1 -1
  964. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  965. package/dist/cssm/components/UsersStack/UsersStack.js +2 -2
  966. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  967. package/dist/cssm/components/View/View.d.ts +1 -0
  968. package/dist/cssm/components/View/View.js +3 -3
  969. package/dist/cssm/components/View/View.js.map +1 -1
  970. package/dist/cssm/components/View/ViewInfinite.js +2 -2
  971. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  972. package/dist/cssm/components/View/utils.js.map +1 -1
  973. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  974. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  975. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +1 -1
  976. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  977. package/dist/cssm/components/WriteBar/WriteBar.js +1 -1
  978. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  979. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  980. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  981. package/dist/cssm/helpers/appearance.js +1 -1
  982. package/dist/cssm/helpers/appearance.js.map +1 -1
  983. package/dist/cssm/helpers/generateVKUITokensClassName.js.map +1 -1
  984. package/dist/cssm/helpers/math.js.map +1 -1
  985. package/dist/cssm/helpers/range.js.map +1 -1
  986. package/dist/cssm/hoc/withContext.js.map +1 -1
  987. package/dist/cssm/hoc/withPlatform.js +1 -1
  988. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  989. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  990. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  991. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  992. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +1 -1
  993. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  994. package/dist/cssm/hooks/useAdaptivityHasHover.js +1 -1
  995. package/dist/cssm/hooks/useAdaptivityHasHover.js.map +1 -1
  996. package/dist/cssm/hooks/useAdaptivityHasPointer.js +1 -1
  997. package/dist/cssm/hooks/useAdaptivityHasPointer.js.map +1 -1
  998. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js +1 -1
  999. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1000. package/dist/cssm/hooks/useAppearance.js +1 -1
  1001. package/dist/cssm/hooks/useAppearance.js.map +1 -1
  1002. package/dist/cssm/hooks/useAutoDetectAppearance.js +2 -2
  1003. package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
  1004. package/dist/cssm/hooks/useBooleanState.js.map +1 -1
  1005. package/dist/cssm/hooks/useBridgeAdaptivity.js +2 -2
  1006. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -1
  1007. package/dist/cssm/hooks/useCalendar.js +1 -1
  1008. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  1009. package/dist/cssm/hooks/useChipsInput.js +1 -1
  1010. package/dist/cssm/hooks/useChipsInput.js.map +1 -1
  1011. package/dist/cssm/hooks/useChipsSelect.js +2 -2
  1012. package/dist/cssm/hooks/useChipsSelect.js.map +1 -1
  1013. package/dist/cssm/hooks/useDateInput.js +4 -4
  1014. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  1015. package/dist/cssm/hooks/useEffectDev.js.map +1 -1
  1016. package/dist/cssm/hooks/useEnsuredControl.js +2 -2
  1017. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  1018. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  1019. package/dist/cssm/hooks/useExternRef.js.map +1 -1
  1020. package/dist/cssm/hooks/useFocusVisible.js +1 -1
  1021. package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
  1022. package/dist/cssm/hooks/useFocusWithin.js +1 -1
  1023. package/dist/cssm/hooks/useFocusWithin.js.map +1 -1
  1024. package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
  1025. package/dist/cssm/hooks/useId.js.map +1 -1
  1026. package/dist/cssm/hooks/useInsets.js +2 -2
  1027. package/dist/cssm/hooks/useInsets.js.map +1 -1
  1028. package/dist/cssm/hooks/useIsClient.js.map +1 -1
  1029. package/dist/cssm/hooks/useKeyboard.js +2 -2
  1030. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  1031. package/dist/cssm/hooks/useKeyboardInputTracker.js +1 -1
  1032. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  1033. package/dist/cssm/hooks/useMediaQueries.js +1 -1
  1034. package/dist/cssm/hooks/useMediaQueries.js.map +1 -1
  1035. package/dist/cssm/hooks/useObjectMemo.js.map +1 -1
  1036. package/dist/cssm/hooks/useOrientationChange.js +1 -1
  1037. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  1038. package/dist/cssm/hooks/usePagination.js +1 -1
  1039. package/dist/cssm/hooks/usePagination.js.map +1 -1
  1040. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  1041. package/dist/cssm/hooks/usePlatform.js +1 -1
  1042. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  1043. package/dist/cssm/hooks/usePrevious.js.map +1 -1
  1044. package/dist/cssm/hooks/useTimeout.js +1 -1
  1045. package/dist/cssm/hooks/useTimeout.js.map +1 -1
  1046. package/dist/cssm/hooks/useTodayDate.js +1 -1
  1047. package/dist/cssm/hooks/useTodayDate.js.map +1 -1
  1048. package/dist/cssm/hooks/useWaitTransitionFinish.js +1 -1
  1049. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  1050. package/dist/cssm/index.d.ts +3 -1
  1051. package/dist/cssm/index.js +1 -0
  1052. package/dist/cssm/index.js.map +1 -1
  1053. package/dist/cssm/lib/SSR.js +1 -1
  1054. package/dist/cssm/lib/SSR.js.map +1 -1
  1055. package/dist/cssm/lib/accessibility.js +2 -2
  1056. package/dist/cssm/lib/accessibility.js.map +1 -1
  1057. package/dist/cssm/lib/adaptivity/constants.js.map +1 -1
  1058. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  1059. package/dist/cssm/lib/animate.js +1 -1
  1060. package/dist/cssm/lib/animate.js.map +1 -1
  1061. package/dist/cssm/lib/browser.js +1 -1
  1062. package/dist/cssm/lib/browser.js.map +1 -1
  1063. package/dist/cssm/lib/calendar.js.map +1 -1
  1064. package/dist/cssm/lib/callMultiple.js.map +1 -1
  1065. package/dist/cssm/lib/date.js.map +1 -1
  1066. package/dist/cssm/lib/dom.js.map +1 -1
  1067. package/dist/cssm/lib/floating/adapters.js +1 -1
  1068. package/dist/cssm/lib/floating/adapters.js.map +1 -1
  1069. package/dist/cssm/lib/floating/functions.js.map +1 -1
  1070. package/dist/cssm/lib/fx.js.map +1 -1
  1071. package/dist/cssm/lib/getNavId.js.map +1 -1
  1072. package/dist/cssm/lib/isRefObject.js.map +1 -1
  1073. package/dist/cssm/lib/matchMedia.js.map +1 -1
  1074. package/dist/cssm/lib/platform.js.map +1 -1
  1075. package/dist/cssm/lib/removeObjectKeys.js.map +1 -1
  1076. package/dist/cssm/lib/select.js.map +1 -1
  1077. package/dist/cssm/lib/styles.js.map +1 -1
  1078. package/dist/cssm/lib/supportEvents.js.map +1 -1
  1079. package/dist/cssm/lib/taptic.js.map +1 -1
  1080. package/dist/cssm/lib/testing.js.map +1 -1
  1081. package/dist/cssm/lib/tokensClassProvider.js +1 -1
  1082. package/dist/cssm/lib/tokensClassProvider.js.map +1 -1
  1083. package/dist/cssm/lib/touch.js.map +1 -1
  1084. package/dist/cssm/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1085. package/dist/cssm/lib/utils.js.map +1 -1
  1086. package/dist/cssm/lib/warnOnce.js.map +1 -1
  1087. package/dist/cssm/shared/breakpoints.js.map +1 -1
  1088. package/dist/cssm/styles/constants.css +3 -0
  1089. package/dist/cssm/styles/customMedias.generated.css +23 -0
  1090. package/dist/cssm/styles/themes.css +3 -3
  1091. package/dist/helpers/appearance.js.map +1 -1
  1092. package/dist/helpers/generateVKUITokensClassName.js.map +1 -1
  1093. package/dist/helpers/math.js.map +1 -1
  1094. package/dist/helpers/range.js.map +1 -1
  1095. package/dist/hoc/withContext.js.map +1 -1
  1096. package/dist/hooks/useAdaptivity.js.map +1 -1
  1097. package/dist/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  1098. package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  1099. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  1100. package/dist/hooks/useAdaptivityHasHover.js.map +1 -1
  1101. package/dist/hooks/useAdaptivityHasPointer.js.map +1 -1
  1102. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1103. package/dist/hooks/useAutoDetectAppearance.js +2 -1
  1104. package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
  1105. package/dist/hooks/useBooleanState.js.map +1 -1
  1106. package/dist/hooks/useBridgeAdaptivity.js.map +1 -1
  1107. package/dist/hooks/useCalendar.js +6 -3
  1108. package/dist/hooks/useCalendar.js.map +1 -1
  1109. package/dist/hooks/useChipsInput.js +2 -1
  1110. package/dist/hooks/useChipsInput.js.map +1 -1
  1111. package/dist/hooks/useChipsSelect.js.map +1 -1
  1112. package/dist/hooks/useDateInput.js +5 -3
  1113. package/dist/hooks/useDateInput.js.map +1 -1
  1114. package/dist/hooks/useEffectDev.js.map +1 -1
  1115. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1116. package/dist/hooks/useEventListener.js.map +1 -1
  1117. package/dist/hooks/useExternRef.js.map +1 -1
  1118. package/dist/hooks/useFocusVisible.js.map +1 -1
  1119. package/dist/hooks/useFocusWithin.js.map +1 -1
  1120. package/dist/hooks/useGlobalEventListener.js.map +1 -1
  1121. package/dist/hooks/useId.js.map +1 -1
  1122. package/dist/hooks/useInsets.js.map +1 -1
  1123. package/dist/hooks/useIsClient.js.map +1 -1
  1124. package/dist/hooks/useKeyboard.js +4 -4
  1125. package/dist/hooks/useKeyboard.js.map +1 -1
  1126. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  1127. package/dist/hooks/useMediaQueries.js.map +1 -1
  1128. package/dist/hooks/useObjectMemo.js.map +1 -1
  1129. package/dist/hooks/useOrientationChange.js +1 -1
  1130. package/dist/hooks/useOrientationChange.js.map +1 -1
  1131. package/dist/hooks/usePagination.js.map +1 -1
  1132. package/dist/hooks/usePatchChildrenRef.js +2 -1
  1133. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  1134. package/dist/hooks/usePrevious.js.map +1 -1
  1135. package/dist/hooks/useTimeout.js +2 -1
  1136. package/dist/hooks/useTimeout.js.map +1 -1
  1137. package/dist/hooks/useTodayDate.js.map +1 -1
  1138. package/dist/hooks/useWaitTransitionFinish.js +4 -2
  1139. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  1140. package/dist/index.d.ts +3 -1
  1141. package/dist/index.js +1 -0
  1142. package/dist/index.js.map +1 -1
  1143. package/dist/lib/SSR.js.map +1 -1
  1144. package/dist/lib/accessibility.js.map +1 -1
  1145. package/dist/lib/adaptivity/constants.js.map +1 -1
  1146. package/dist/lib/adaptivity/functions.js.map +1 -1
  1147. package/dist/lib/animate.js.map +1 -1
  1148. package/dist/lib/browser.js.map +1 -1
  1149. package/dist/lib/calendar.js.map +1 -1
  1150. package/dist/lib/callMultiple.js.map +1 -1
  1151. package/dist/lib/date.js.map +1 -1
  1152. package/dist/lib/dom.js.map +1 -1
  1153. package/dist/lib/floating/adapters.js.map +1 -1
  1154. package/dist/lib/floating/functions.js.map +1 -1
  1155. package/dist/lib/fx.js.map +1 -1
  1156. package/dist/lib/getNavId.js.map +1 -1
  1157. package/dist/lib/isRefObject.js.map +1 -1
  1158. package/dist/lib/matchMedia.js.map +1 -1
  1159. package/dist/lib/offset.js +6 -5
  1160. package/dist/lib/offset.js.map +1 -1
  1161. package/dist/lib/platform.js.map +1 -1
  1162. package/dist/lib/polyfills.js.map +1 -1
  1163. package/dist/lib/removeObjectKeys.js.map +1 -1
  1164. package/dist/lib/select.js +2 -2
  1165. package/dist/lib/select.js.map +1 -1
  1166. package/dist/lib/styles.js.map +1 -1
  1167. package/dist/lib/supportEvents.js.map +1 -1
  1168. package/dist/lib/taptic.js.map +1 -1
  1169. package/dist/lib/testing.js.map +1 -1
  1170. package/dist/lib/tokensClassProvider.js.map +1 -1
  1171. package/dist/lib/touch.js.map +1 -1
  1172. package/dist/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1173. package/dist/lib/utils.js.map +1 -1
  1174. package/dist/lib/warnOnce.js.map +1 -1
  1175. package/dist/shared/breakpoints.js.map +1 -1
  1176. package/dist/vkui.css +11 -10
  1177. package/dist/vkui.css.map +1 -1
  1178. package/dist/vkui.js.tmp +3108 -2238
  1179. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useAdaptivityWithJSMediaQueries.ts"],"sourcesContent":["import * as React from 'react';\nimport { canUseDOM, hasHover as hasHoverLib, hasMouse as hasPointerLib } from '@vkontakte/vkjs';\nimport {\n AdaptivityContext,\n type AdaptivityProps as BaseAdaptivityProps,\n} from '../components/AdaptivityProvider/AdaptivityContext';\nimport { getOrDefault } from '../helpers/getOrDefault';\nimport {\n getSizeX,\n getSizeY,\n getViewHeightByMediaQueries,\n getViewWidthByMediaQueries,\n tryToCheckIsDesktop,\n} from '../lib/adaptivity';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../lib/matchMedia';\nimport { useMediaQueries } from './useMediaQueries';\nimport { usePlatform } from './usePlatform';\n\nexport interface UseAdaptivityWithJSMediaQueries extends Required<BaseAdaptivityProps> {\n isDesktop: boolean;\n}\n\n/**\n * Высчитывает и возвращает параметры адаптивности при изменении вьюпорта.\n *\n * Берёт в приоритет значения из `AdaptivityContext`.\n *\n * > ⚠ SSR\n * >\n * > Во избежания ошибок при гидратации, не используйте данный хук, если есть вероятность, что компонент будет отрендерен\n * > на стороне сервера.\n * >\n * > Лучше всего использовать для всплывающих окон, т.к. они вызываются только после загрузки\n * > страницы либо пользователем, либо программно.\n */\nexport const useAdaptivityWithJSMediaQueries = (): UseAdaptivityWithJSMediaQueries => {\n if (!canUseDOM) {\n console.error(`[useAdaptivityWithJSMediaQueries] Похоже, вы пытаетесь использовать хук вне браузера.\n\nПостарайтесь этого избегать, чтобы не было ошибок при гидратации: при SSR нет информации о размерах экрана.\n\nИспользуйте CSS Media Query или библиотеку по типу https://github.com/artsy/fresnel.`);\n }\n\n const {\n viewWidth: viewWidthContext,\n viewHeight: viewHeightContext,\n sizeX: sizeXContext,\n sizeY: sizeYContext,\n hasPointer: hasPointerContext,\n hasHover: hasHoverContext,\n } = React.useContext(AdaptivityContext);\n\n const platform = usePlatform();\n const mediaQueries = useMediaQueries();\n\n const [[viewWidthLocal, viewHeightLocal], setViewSizeLocal] = React.useState(() => [\n getOrDefault(viewWidthContext, getViewWidthByMediaQueries(mediaQueries)),\n getOrDefault(viewHeightContext, getViewHeightByMediaQueries(mediaQueries)),\n ]);\n\n const adaptivityProps = React.useMemo(() => {\n const hasPointer = getOrDefault(hasPointerContext, hasPointerLib);\n const hasHover = getOrDefault(hasHoverContext, hasHoverLib);\n const viewWidth = getOrDefault(viewWidthContext, viewWidthLocal);\n const viewHeight = getOrDefault(viewHeightContext, viewHeightLocal);\n const sizeX = getOrDefault(sizeXContext, getSizeX(viewWidth));\n const sizeY = getOrDefault(sizeYContext, getSizeY(viewWidth, viewHeight, hasPointer));\n const isDesktop = tryToCheckIsDesktop(viewWidth, viewHeight, hasPointer, platform);\n\n return {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n isDesktop,\n };\n }, [\n viewWidthLocal,\n viewHeightLocal,\n viewWidthContext,\n viewHeightContext,\n sizeXContext,\n sizeYContext,\n hasPointerContext,\n hasHoverContext,\n platform,\n ]);\n\n React.useEffect(() => {\n const handleMediaQuery = () => {\n setViewSizeLocal((prevSizeLocal) => {\n const newViewWidthLocal = getOrDefault(\n viewWidthContext,\n getViewWidthByMediaQueries(mediaQueries),\n );\n const newViewHeightLocal = getOrDefault(\n viewHeightContext,\n getViewHeightByMediaQueries(mediaQueries),\n );\n\n const [prevViewWidthLocal, prevViewHeightLocal] = prevSizeLocal;\n\n if (\n prevViewWidthLocal !== newViewWidthLocal ||\n prevViewHeightLocal !== newViewHeightLocal\n ) {\n return [newViewWidthLocal, newViewHeightLocal];\n }\n\n return prevSizeLocal;\n });\n };\n\n if (!viewWidthContext) {\n [\n mediaQueries.desktopPlus,\n mediaQueries.tablet,\n mediaQueries.smallTablet,\n mediaQueries.mobile,\n ].forEach((matchMediaListener) =>\n matchMediaListAddListener(matchMediaListener, handleMediaQuery),\n );\n }\n\n if (!viewHeightContext) {\n [mediaQueries.mediumHeight, mediaQueries.mobileLandscapeHeight].forEach(\n (matchMediaListener) => matchMediaListAddListener(matchMediaListener, handleMediaQuery),\n );\n }\n\n return () => {\n [\n mediaQueries.desktopPlus,\n mediaQueries.tablet,\n mediaQueries.smallTablet,\n mediaQueries.mobile,\n mediaQueries.mediumHeight,\n mediaQueries.mobileLandscapeHeight,\n ].forEach((matchMediaListener) =>\n matchMediaListRemoveListener(matchMediaListener, handleMediaQuery),\n );\n };\n }, [mediaQueries, viewWidthContext, viewHeightContext]);\n\n return adaptivityProps;\n};\n"],"names":["React","canUseDOM","hasHover","hasHoverLib","hasMouse","hasPointerLib","AdaptivityContext","getOrDefault","getSizeX","getSizeY","getViewHeightByMediaQueries","getViewWidthByMediaQueries","tryToCheckIsDesktop","matchMediaListAddListener","matchMediaListRemoveListener","useMediaQueries","usePlatform","useAdaptivityWithJSMediaQueries","console","error","viewWidth","viewWidthContext","viewHeight","viewHeightContext","sizeX","sizeXContext","sizeY","sizeYContext","hasPointer","hasPointerContext","hasHoverContext","useContext","platform","mediaQueries","viewWidthLocal","viewHeightLocal","setViewSizeLocal","useState","adaptivityProps","useMemo","isDesktop","useEffect","handleMediaQuery","prevSizeLocal","newViewWidthLocal","newViewHeightLocal","prevViewWidthLocal","prevViewHeightLocal","desktopPlus","tablet","smallTablet","mobile","forEach","matchMediaListener","mediumHeight","mobileLandscapeHeight"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,SAAS,EAAEC,YAAYC,WAAW,EAAEC,YAAYC,aAAa,QAAQ,kBAAkB;AAChG,SACEC,iBAAiB,QAEZ,qDAAqD;AAC5D,SAASC,YAAY,QAAQ,0BAA0B;AACvD,SACEC,QAAQ,EACRC,QAAQ,EACRC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,mBAAmB,QACd,oBAAoB;AAC3B,SAASC,yBAAyB,EAAEC,4BAA4B,QAAQ,oBAAoB;AAC5F,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,WAAW,QAAQ,gBAAgB;AAM5C;;;;;;;;;;;;CAYC,GACD,OAAO,MAAMC,kCAAkC;IAC7C,IAAI,CAAChB,WAAW;QACdiB,QAAQC,MAAM,CAAC;;;;oFAIiE,CAAC;IACnF;IAEA,MAAM,EACJC,WAAWC,iBAAgB,EAC3BC,YAAYC,kBAAiB,EAC7BC,OAAOC,aAAY,EACnBC,OAAOC,aAAY,EACnBC,YAAYC,kBAAiB,EAC7B3B,UAAU4B,gBAAe,EAC1B,GAAG9B,MAAM+B,WAAWzB;IAErB,MAAM0B,WAAWhB;IACjB,MAAMiB,eAAelB;IAErB,MAAM,CAAC,CAACmB,gBAAgBC,gBAAgB,EAAEC,iBAAiB,GAAGpC,MAAMqC,SAAS,IAAM;YACjF9B,aAAac,kBAAkBV,2BAA2BsB;YAC1D1B,aAAagB,mBAAmBb,4BAA4BuB;SAC7D;IAED,MAAMK,kBAAkBtC,MAAMuC,QAAQ;QACpC,MAAMX,aAAarB,aAAasB,mBAAmBxB;QACnD,MAAMH,WAAWK,aAAauB,iBAAiB3B;QAC/C,MAAMiB,YAAYb,aAAac,kBAAkBa;QACjD,MAAMZ,aAAaf,aAAagB,mBAAmBY;QACnD,MAAMX,QAAQjB,aAAakB,cAAcjB,SAASY;QAClD,MAAMM,QAAQnB,aAAaoB,cAAclB,SAASW,WAAWE,YAAYM;QACzE,MAAMY,YAAY5B,oBAAoBQ,WAAWE,YAAYM,YAAYI;QAEzE,OAAO;YACLZ;YACAE;YACAE;YACAE;YACAE;YACA1B;YACAsC;QACF;IACF,GAAG;QACDN;QACAC;QACAd;QACAE;QACAE;QACAE;QACAE;QACAC;QACAE;KACD;IAEDhC,MAAMyC,UAAU;QACd,MAAMC,mBAAmB;YACvBN,iBAAiB,CAACO;gBAChB,MAAMC,oBAAoBrC,aACxBc,kBACAV,2BAA2BsB;gBAE7B,MAAMY,qBAAqBtC,aACzBgB,mBACAb,4BAA4BuB;gBAG9B,MAAM,CAACa,oBAAoBC,oBAAoB,GAAGJ;gBAElD,IACEG,uBAAuBF,qBACvBG,wBAAwBF,oBACxB;oBACA,OAAO;wBAACD;wBAAmBC;qBAAmB;gBAChD;gBAEA,OAAOF;YACT;QACF;QAEA,IAAI,CAACtB,kBAAkB;YACrB;gBACEY,aAAae;gBACbf,aAAagB;gBACbhB,aAAaiB;gBACbjB,aAAakB;aACd,CAACC,QAAQ,CAACC,qBACTxC,0BAA0BwC,oBAAoBX;QAElD;QAEA,IAAI,CAACnB,mBAAmB;YACtB;gBAACU,aAAaqB;gBAAcrB,aAAasB;aAAsB,CAACH,QAC9D,CAACC,qBAAuBxC,0BAA0BwC,oBAAoBX;QAE1E;QAEA,OAAO;YACL;gBACET,aAAae;gBACbf,aAAagB;gBACbhB,aAAaiB;gBACbjB,aAAakB;gBACblB,aAAaqB;gBACbrB,aAAasB;aACd,CAACH,QAAQ,CAACC,qBACTvC,6BAA6BuC,oBAAoBX;QAErD;IACF,GAAG;QAACT;QAAcZ;QAAkBE;KAAkB;IAEtD,OAAOe;AACT,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useAdaptivityWithJSMediaQueries.ts"],"sourcesContent":["import * as React from 'react';\nimport { canUseDOM, hasHover as hasHoverLib, hasMouse as hasPointerLib } from '@vkontakte/vkjs';\nimport {\n AdaptivityContext,\n type AdaptivityProps as BaseAdaptivityProps,\n} from '../components/AdaptivityProvider/AdaptivityContext';\nimport { getOrDefault } from '../helpers/getOrDefault';\nimport {\n getSizeX,\n getSizeY,\n getViewHeightByMediaQueries,\n getViewWidthByMediaQueries,\n tryToCheckIsDesktop,\n} from '../lib/adaptivity';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../lib/matchMedia';\nimport { useMediaQueries } from './useMediaQueries';\nimport { usePlatform } from './usePlatform';\n\nexport interface UseAdaptivityWithJSMediaQueries extends Required<BaseAdaptivityProps> {\n isDesktop: boolean;\n}\n\n/**\n * Высчитывает и возвращает параметры адаптивности при изменении вьюпорта.\n *\n * Берёт в приоритет значения из `AdaptivityContext`.\n *\n * > ⚠ SSR\n * >\n * > Во избежания ошибок при гидратации, не используйте данный хук, если есть вероятность, что компонент будет отрендерен\n * > на стороне сервера.\n * >\n * > Лучше всего использовать для всплывающих окон, т.к. они вызываются только после загрузки\n * > страницы либо пользователем, либо программно.\n */\nexport const useAdaptivityWithJSMediaQueries = (): UseAdaptivityWithJSMediaQueries => {\n if (!canUseDOM) {\n console.error(`[useAdaptivityWithJSMediaQueries] Похоже, вы пытаетесь использовать хук вне браузера.\n\nПостарайтесь этого избегать, чтобы не было ошибок при гидратации: при SSR нет информации о размерах экрана.\n\nИспользуйте CSS Media Query или библиотеку по типу https://github.com/artsy/fresnel.`);\n }\n\n const {\n viewWidth: viewWidthContext,\n viewHeight: viewHeightContext,\n sizeX: sizeXContext,\n sizeY: sizeYContext,\n hasPointer: hasPointerContext,\n hasHover: hasHoverContext,\n } = React.useContext(AdaptivityContext);\n\n const platform = usePlatform();\n const mediaQueries = useMediaQueries();\n\n const [[viewWidthLocal, viewHeightLocal], setViewSizeLocal] = React.useState(() => [\n getOrDefault(viewWidthContext, getViewWidthByMediaQueries(mediaQueries)),\n getOrDefault(viewHeightContext, getViewHeightByMediaQueries(mediaQueries)),\n ]);\n\n const adaptivityProps = React.useMemo(() => {\n const hasPointer = getOrDefault(hasPointerContext, hasPointerLib);\n const hasHover = getOrDefault(hasHoverContext, hasHoverLib);\n const viewWidth = getOrDefault(viewWidthContext, viewWidthLocal);\n const viewHeight = getOrDefault(viewHeightContext, viewHeightLocal);\n const sizeX = getOrDefault(sizeXContext, getSizeX(viewWidth));\n const sizeY = getOrDefault(sizeYContext, getSizeY(viewWidth, viewHeight, hasPointer));\n const isDesktop = tryToCheckIsDesktop(viewWidth, viewHeight, hasPointer, platform);\n\n return {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n isDesktop,\n };\n }, [\n viewWidthLocal,\n viewHeightLocal,\n viewWidthContext,\n viewHeightContext,\n sizeXContext,\n sizeYContext,\n hasPointerContext,\n hasHoverContext,\n platform,\n ]);\n\n React.useEffect(() => {\n const handleMediaQuery = () => {\n setViewSizeLocal((prevSizeLocal) => {\n const newViewWidthLocal = getOrDefault(\n viewWidthContext,\n getViewWidthByMediaQueries(mediaQueries),\n );\n const newViewHeightLocal = getOrDefault(\n viewHeightContext,\n getViewHeightByMediaQueries(mediaQueries),\n );\n\n const [prevViewWidthLocal, prevViewHeightLocal] = prevSizeLocal;\n\n if (\n prevViewWidthLocal !== newViewWidthLocal ||\n prevViewHeightLocal !== newViewHeightLocal\n ) {\n return [newViewWidthLocal, newViewHeightLocal];\n }\n\n return prevSizeLocal;\n });\n };\n\n if (!viewWidthContext) {\n [\n mediaQueries.desktopPlus,\n mediaQueries.tablet,\n mediaQueries.smallTablet,\n mediaQueries.mobile,\n ].forEach((matchMediaListener) =>\n matchMediaListAddListener(matchMediaListener, handleMediaQuery),\n );\n }\n\n if (!viewHeightContext) {\n [mediaQueries.mediumHeight, mediaQueries.mobileLandscapeHeight].forEach(\n (matchMediaListener) => matchMediaListAddListener(matchMediaListener, handleMediaQuery),\n );\n }\n\n return () => {\n [\n mediaQueries.desktopPlus,\n mediaQueries.tablet,\n mediaQueries.smallTablet,\n mediaQueries.mobile,\n mediaQueries.mediumHeight,\n mediaQueries.mobileLandscapeHeight,\n ].forEach((matchMediaListener) =>\n matchMediaListRemoveListener(matchMediaListener, handleMediaQuery),\n );\n };\n }, [mediaQueries, viewWidthContext, viewHeightContext]);\n\n return adaptivityProps;\n};\n"],"names":["React","canUseDOM","hasHover","hasHoverLib","hasMouse","hasPointerLib","AdaptivityContext","getOrDefault","getSizeX","getSizeY","getViewHeightByMediaQueries","getViewWidthByMediaQueries","tryToCheckIsDesktop","matchMediaListAddListener","matchMediaListRemoveListener","useMediaQueries","usePlatform","useAdaptivityWithJSMediaQueries","console","error","viewWidth","viewWidthContext","viewHeight","viewHeightContext","sizeX","sizeXContext","sizeY","sizeYContext","hasPointer","hasPointerContext","hasHoverContext","useContext","platform","mediaQueries","viewWidthLocal","viewHeightLocal","setViewSizeLocal","useState","adaptivityProps","useMemo","isDesktop","useEffect","handleMediaQuery","prevSizeLocal","newViewWidthLocal","newViewHeightLocal","prevViewWidthLocal","prevViewHeightLocal","desktopPlus","tablet","smallTablet","mobile","forEach","matchMediaListener","mediumHeight","mobileLandscapeHeight"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useConfigProvider } from '../components/ConfigProvider/ConfigProviderContext';
2
2
  export function useAppearance() {
3
- const { appearance } = useConfigProvider();
3
+ const { appearance } = useConfigProvider();
4
4
  return appearance ?? 'light';
5
5
  }
6
6
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useAppearance.ts"],"sourcesContent":["import { useConfigProvider } from '../components/ConfigProvider/ConfigProviderContext';\n\nexport function useAppearance() {\n const { appearance } = useConfigProvider();\n\n return appearance ?? 'light';\n}\n"],"names":["useConfigProvider","useAppearance","appearance"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qDAAqD;AAEvF,OAAO,SAASC;IACd,MAAM,EAAEC,WAAU,EAAE,GAAGF;IAEvB,OAAOE,cAAc;AACvB"}
1
+ {"version":3,"sources":["../../../src/hooks/useAppearance.ts"],"sourcesContent":["import { useConfigProvider } from '../components/ConfigProvider/ConfigProviderContext';\n\nexport function useAppearance() {\n const { appearance } = useConfigProvider();\n\n return appearance ?? 'light';\n}\n"],"names":["useConfigProvider","useAppearance","appearance"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qDAAqD;AAEvF,OAAO,SAASC;IACd,MAAM,EAAEC,UAAU,EAAE,GAAGF;IAEvB,OAAOE,cAAc;AACvB"}
@@ -13,7 +13,7 @@ function autoDetectAppearanceByBridge(setAppearance, onDetectAppearanceByBridge)
13
13
  }
14
14
  }
15
15
  function bridgeListener(e) {
16
- const { type , data } = e.detail;
16
+ const { type, data } = e.detail;
17
17
  if (type !== 'VKWebAppUpdateConfig') {
18
18
  return;
19
19
  }
@@ -37,7 +37,7 @@ function autoDetectAppearance(window, setAppearance) {
37
37
  return ()=>matchMediaListRemoveListener(mediaQuery, check);
38
38
  }
39
39
  export const useAutoDetectAppearance = (appearanceProp, onDetectAppearanceByBridge)=>{
40
- const { window } = useDOM();
40
+ const { window } = useDOM();
41
41
  const onceDetectAppearanceByBridge = React.useRef(()=>{
42
42
  onDetectAppearanceByBridge && onDetectAppearanceByBridge();
43
43
  onceDetectAppearanceByBridge.current = noop;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useAutoDetectAppearance.tsx"],"sourcesContent":["import * as React from 'react';\nimport vkBridge, {\n AnyReceiveMethodName,\n AppearanceType,\n VKBridgeEvent,\n} from '@vkontakte/vk-bridge';\nimport { noop } from '@vkontakte/vkjs';\nimport { resolveAppearance, VKBridgeConfigData } from '../helpers/appearance';\nimport { useDOM } from '../lib/dom';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../lib/matchMedia';\n\nfunction autoDetectAppearanceByBridge(\n setAppearance: (value: AppearanceType) => void,\n onDetectAppearanceByBridge: () => void,\n) {\n function updateAppearance(data: VKBridgeConfigData) {\n const initialAppearance = resolveAppearance(data);\n\n if (initialAppearance) {\n onDetectAppearanceByBridge();\n setAppearance(initialAppearance);\n }\n }\n\n function bridgeListener(e: VKBridgeEvent<AnyReceiveMethodName>) {\n const { type, data } = e.detail;\n\n if (type !== 'VKWebAppUpdateConfig') {\n return;\n }\n\n updateAppearance(data as VKBridgeConfigData);\n }\n\n vkBridge.subscribe(bridgeListener);\n vkBridge.send('VKWebAppGetConfig').then(updateAppearance).catch(console.error);\n\n return () => vkBridge.unsubscribe(bridgeListener);\n}\n\nfunction autoDetectAppearance(\n window: Window | undefined,\n setAppearance: (value: AppearanceType) => void,\n): () => void {\n const mediaQuery =\n window && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');\n\n if (mediaQuery === undefined) {\n return noop;\n }\n\n const check = (event: MediaQueryList | MediaQueryListEvent) => {\n // eslint-disable-next-line no-restricted-properties\n setAppearance(event.matches ? 'dark' : 'light');\n };\n\n check(mediaQuery);\n matchMediaListAddListener(mediaQuery, check);\n\n return () => matchMediaListRemoveListener(mediaQuery, check);\n}\n\nexport const useAutoDetectAppearance = (\n appearanceProp?: AppearanceType,\n onDetectAppearanceByBridge?: () => void,\n): AppearanceType => {\n const { window } = useDOM();\n const onceDetectAppearanceByBridge = React.useRef(() => {\n onDetectAppearanceByBridge && onDetectAppearanceByBridge();\n onceDetectAppearanceByBridge.current = noop;\n });\n\n const [appearance, setAppearance] = React.useState<AppearanceType>(() => {\n if (appearanceProp) {\n return appearanceProp;\n }\n\n const mediaQuery =\n window && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');\n\n // eslint-disable-next-line no-restricted-properties\n return mediaQuery?.matches ? 'dark' : 'light';\n });\n\n React.useEffect(() => {\n if (appearanceProp) {\n setAppearance(appearanceProp);\n return noop;\n }\n\n if (vkBridge.isEmbedded()) {\n return autoDetectAppearanceByBridge(setAppearance, onceDetectAppearanceByBridge.current);\n }\n\n return autoDetectAppearance(window, setAppearance);\n }, [window, appearanceProp]);\n\n return appearance;\n};\n"],"names":["React","vkBridge","noop","resolveAppearance","useDOM","matchMediaListAddListener","matchMediaListRemoveListener","autoDetectAppearanceByBridge","setAppearance","onDetectAppearanceByBridge","updateAppearance","data","initialAppearance","bridgeListener","e","type","detail","subscribe","send","then","catch","console","error","unsubscribe","autoDetectAppearance","window","mediaQuery","matchMedia","undefined","check","event","matches","useAutoDetectAppearance","appearanceProp","onceDetectAppearanceByBridge","useRef","current","appearance","useState","useEffect","isEmbedded"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,OAAOC,cAIA,uBAAuB;AAC9B,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,iBAAiB,QAA4B,wBAAwB;AAC9E,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,yBAAyB,EAAEC,4BAA4B,QAAQ,oBAAoB;AAE5F,SAASC,6BACPC,aAA8C,EAC9CC,0BAAsC;IAEtC,SAASC,iBAAiBC,IAAwB;QAChD,MAAMC,oBAAoBT,kBAAkBQ;QAE5C,IAAIC,mBAAmB;YACrBH;YACAD,cAAcI;QAChB;IACF;IAEA,SAASC,eAAeC,CAAsC;QAC5D,MAAM,EAAEC,KAAI,EAAEJ,KAAI,EAAE,GAAGG,EAAEE;QAEzB,IAAID,SAAS,wBAAwB;YACnC;QACF;QAEAL,iBAAiBC;IACnB;IAEAV,SAASgB,UAAUJ;IACnBZ,SAASiB,KAAK,qBAAqBC,KAAKT,kBAAkBU,MAAMC,QAAQC;IAExE,OAAO,IAAMrB,SAASsB,YAAYV;AACpC;AAEA,SAASW,qBACPC,MAA0B,EAC1BjB,aAA8C;IAE9C,MAAMkB,aACJD,UAAUA,OAAOE,cAAcF,OAAOE,WAAW;IAEnD,IAAID,eAAeE,WAAW;QAC5B,OAAO1B;IACT;IAEA,MAAM2B,QAAQ,CAACC;QACb,oDAAoD;QACpDtB,cAAcsB,MAAMC,UAAU,SAAS;IACzC;IAEAF,MAAMH;IACNrB,0BAA0BqB,YAAYG;IAEtC,OAAO,IAAMvB,6BAA6BoB,YAAYG;AACxD;AAEA,OAAO,MAAMG,0BAA0B,CACrCC,gBACAxB;IAEA,MAAM,EAAEgB,OAAM,EAAE,GAAGrB;IACnB,MAAM8B,+BAA+BlC,MAAMmC,OAAO;QAChD1B,8BAA8BA;QAC9ByB,6BAA6BE,UAAUlC;IACzC;IAEA,MAAM,CAACmC,YAAY7B,cAAc,GAAGR,MAAMsC,SAAyB;QACjE,IAAIL,gBAAgB;YAClB,OAAOA;QACT;QAEA,MAAMP,aACJD,UAAUA,OAAOE,cAAcF,OAAOE,WAAW;QAEnD,oDAAoD;QACpD,OAAOD,YAAYK,UAAU,SAAS;IACxC;IAEA/B,MAAMuC,UAAU;QACd,IAAIN,gBAAgB;YAClBzB,cAAcyB;YACd,OAAO/B;QACT;QAEA,IAAID,SAASuC,cAAc;YACzB,OAAOjC,6BAA6BC,eAAe0B,6BAA6BE;QAClF;QAEA,OAAOZ,qBAAqBC,QAAQjB;IACtC,GAAG;QAACiB;QAAQQ;KAAe;IAE3B,OAAOI;AACT,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useAutoDetectAppearance.tsx"],"sourcesContent":["import * as React from 'react';\nimport vkBridge, {\n AnyReceiveMethodName,\n AppearanceType,\n VKBridgeEvent,\n} from '@vkontakte/vk-bridge';\nimport { noop } from '@vkontakte/vkjs';\nimport { resolveAppearance, VKBridgeConfigData } from '../helpers/appearance';\nimport { useDOM } from '../lib/dom';\nimport { matchMediaListAddListener, matchMediaListRemoveListener } from '../lib/matchMedia';\n\nfunction autoDetectAppearanceByBridge(\n setAppearance: (value: AppearanceType) => void,\n onDetectAppearanceByBridge: () => void,\n) {\n function updateAppearance(data: VKBridgeConfigData) {\n const initialAppearance = resolveAppearance(data);\n\n if (initialAppearance) {\n onDetectAppearanceByBridge();\n setAppearance(initialAppearance);\n }\n }\n\n function bridgeListener(e: VKBridgeEvent<AnyReceiveMethodName>) {\n const { type, data } = e.detail;\n\n if (type !== 'VKWebAppUpdateConfig') {\n return;\n }\n\n updateAppearance(data as VKBridgeConfigData);\n }\n\n vkBridge.subscribe(bridgeListener);\n vkBridge.send('VKWebAppGetConfig').then(updateAppearance).catch(console.error);\n\n return () => vkBridge.unsubscribe(bridgeListener);\n}\n\nfunction autoDetectAppearance(\n window: Window | undefined,\n setAppearance: (value: AppearanceType) => void,\n): () => void {\n const mediaQuery =\n window && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');\n\n if (mediaQuery === undefined) {\n return noop;\n }\n\n const check = (event: MediaQueryList | MediaQueryListEvent) => {\n // eslint-disable-next-line no-restricted-properties\n setAppearance(event.matches ? 'dark' : 'light');\n };\n\n check(mediaQuery);\n matchMediaListAddListener(mediaQuery, check);\n\n return () => matchMediaListRemoveListener(mediaQuery, check);\n}\n\nexport const useAutoDetectAppearance = (\n appearanceProp?: AppearanceType,\n onDetectAppearanceByBridge?: () => void,\n): AppearanceType => {\n const { window } = useDOM();\n const onceDetectAppearanceByBridge = React.useRef(() => {\n onDetectAppearanceByBridge && onDetectAppearanceByBridge();\n onceDetectAppearanceByBridge.current = noop;\n });\n\n const [appearance, setAppearance] = React.useState<AppearanceType>(() => {\n if (appearanceProp) {\n return appearanceProp;\n }\n\n const mediaQuery =\n window && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');\n\n // eslint-disable-next-line no-restricted-properties\n return mediaQuery?.matches ? 'dark' : 'light';\n });\n\n React.useEffect(() => {\n if (appearanceProp) {\n setAppearance(appearanceProp);\n return noop;\n }\n\n if (vkBridge.isEmbedded()) {\n return autoDetectAppearanceByBridge(setAppearance, onceDetectAppearanceByBridge.current);\n }\n\n return autoDetectAppearance(window, setAppearance);\n }, [window, appearanceProp]);\n\n return appearance;\n};\n"],"names":["React","vkBridge","noop","resolveAppearance","useDOM","matchMediaListAddListener","matchMediaListRemoveListener","autoDetectAppearanceByBridge","setAppearance","onDetectAppearanceByBridge","updateAppearance","data","initialAppearance","bridgeListener","e","type","detail","subscribe","send","then","catch","console","error","unsubscribe","autoDetectAppearance","window","mediaQuery","matchMedia","undefined","check","event","matches","useAutoDetectAppearance","appearanceProp","onceDetectAppearanceByBridge","useRef","current","appearance","useState","useEffect","isEmbedded"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,OAAOC,cAIA,uBAAuB;AAC9B,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,iBAAiB,QAA4B,wBAAwB;AAC9E,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,yBAAyB,EAAEC,4BAA4B,QAAQ,oBAAoB;AAE5F,SAASC,6BACPC,aAA8C,EAC9CC,0BAAsC;IAEtC,SAASC,iBAAiBC,IAAwB;QAChD,MAAMC,oBAAoBT,kBAAkBQ;QAE5C,IAAIC,mBAAmB;YACrBH;YACAD,cAAcI;QAChB;IACF;IAEA,SAASC,eAAeC,CAAsC;QAC5D,MAAM,EAAEC,IAAI,EAAEJ,IAAI,EAAE,GAAGG,EAAEE,MAAM;QAE/B,IAAID,SAAS,wBAAwB;YACnC;QACF;QAEAL,iBAAiBC;IACnB;IAEAV,SAASgB,SAAS,CAACJ;IACnBZ,SAASiB,IAAI,CAAC,qBAAqBC,IAAI,CAACT,kBAAkBU,KAAK,CAACC,QAAQC,KAAK;IAE7E,OAAO,IAAMrB,SAASsB,WAAW,CAACV;AACpC;AAEA,SAASW,qBACPC,MAA0B,EAC1BjB,aAA8C;IAE9C,MAAMkB,aACJD,UAAUA,OAAOE,UAAU,IAAIF,OAAOE,UAAU,CAAC;IAEnD,IAAID,eAAeE,WAAW;QAC5B,OAAO1B;IACT;IAEA,MAAM2B,QAAQ,CAACC;QACb,oDAAoD;QACpDtB,cAAcsB,MAAMC,OAAO,GAAG,SAAS;IACzC;IAEAF,MAAMH;IACNrB,0BAA0BqB,YAAYG;IAEtC,OAAO,IAAMvB,6BAA6BoB,YAAYG;AACxD;AAEA,OAAO,MAAMG,0BAA0B,CACrCC,gBACAxB;IAEA,MAAM,EAAEgB,MAAM,EAAE,GAAGrB;IACnB,MAAM8B,+BAA+BlC,MAAMmC,MAAM,CAAC;QAChD1B,8BAA8BA;QAC9ByB,6BAA6BE,OAAO,GAAGlC;IACzC;IAEA,MAAM,CAACmC,YAAY7B,cAAc,GAAGR,MAAMsC,QAAQ,CAAiB;QACjE,IAAIL,gBAAgB;YAClB,OAAOA;QACT;QAEA,MAAMP,aACJD,UAAUA,OAAOE,UAAU,IAAIF,OAAOE,UAAU,CAAC;QAEnD,oDAAoD;QACpD,OAAOD,YAAYK,UAAU,SAAS;IACxC;IAEA/B,MAAMuC,SAAS,CAAC;QACd,IAAIN,gBAAgB;YAClBzB,cAAcyB;YACd,OAAO/B;QACT;QAEA,IAAID,SAASuC,UAAU,IAAI;YACzB,OAAOjC,6BAA6BC,eAAe0B,6BAA6BE,OAAO;QACzF;QAEA,OAAOZ,qBAAqBC,QAAQjB;IACtC,GAAG;QAACiB;QAAQQ;KAAe;IAE3B,OAAOI;AACT,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useBooleanState.ts"],"sourcesContent":["import * as React from 'react';\n\nexport const useBooleanState = (defaultValue = false) => {\n const [value, setValue] = React.useState(defaultValue);\n\n const setTrue = React.useCallback(() => {\n setValue(true);\n }, []);\n\n const setFalse = React.useCallback(() => {\n setValue(false);\n }, []);\n\n const toggle = React.useCallback(() => {\n setValue(!value);\n }, [value]);\n\n return { value, setTrue, setFalse, toggle };\n};\n"],"names":["React","useBooleanState","defaultValue","value","setValue","useState","setTrue","useCallback","setFalse","toggle"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,MAAMC,kBAAkB,CAACC,eAAe,KAAK;IAClD,MAAM,CAACC,OAAOC,SAAS,GAAGJ,MAAMK,SAASH;IAEzC,MAAMI,UAAUN,MAAMO,YAAY;QAChCH,SAAS;IACX,GAAG,EAAE;IAEL,MAAMI,WAAWR,MAAMO,YAAY;QACjCH,SAAS;IACX,GAAG,EAAE;IAEL,MAAMK,SAAST,MAAMO,YAAY;QAC/BH,SAAS,CAACD;IACZ,GAAG;QAACA;KAAM;IAEV,OAAO;QAAEA;QAAOG;QAASE;QAAUC;IAAO;AAC5C,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useBooleanState.ts"],"sourcesContent":["import * as React from 'react';\n\nexport const useBooleanState = (defaultValue = false) => {\n const [value, setValue] = React.useState(defaultValue);\n\n const setTrue = React.useCallback(() => {\n setValue(true);\n }, []);\n\n const setFalse = React.useCallback(() => {\n setValue(false);\n }, []);\n\n const toggle = React.useCallback(() => {\n setValue(!value);\n }, [value]);\n\n return { value, setTrue, setFalse, toggle };\n};\n"],"names":["React","useBooleanState","defaultValue","value","setValue","useState","setTrue","useCallback","setFalse","toggle"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,MAAMC,kBAAkB,CAACC,eAAe,KAAK;IAClD,MAAM,CAACC,OAAOC,SAAS,GAAGJ,MAAMK,QAAQ,CAACH;IAEzC,MAAMI,UAAUN,MAAMO,WAAW,CAAC;QAChCH,SAAS;IACX,GAAG,EAAE;IAEL,MAAMI,WAAWR,MAAMO,WAAW,CAAC;QACjCH,SAAS;IACX,GAAG,EAAE;IAEL,MAAMK,SAAST,MAAMO,WAAW,CAAC;QAC/BH,SAAS,CAACD;IACZ,GAAG;QAACA;KAAM;IAEV,OAAO;QAAEA;QAAOG;QAASE;QAAUC;IAAO;AAC5C,EAAE"}
@@ -7,11 +7,11 @@ let initialState = {
7
7
  viewportHeight: 0
8
8
  };
9
9
  function resolveAdaptivity(e) {
10
- const { type , data } = e.detail;
10
+ const { type, data } = e.detail;
11
11
  if (type !== 'VKWebAppUpdateConfig' || !data) {
12
12
  return null;
13
13
  }
14
- const { adaptivity , viewport_width: viewportWidth , viewport_height: viewportHeight } = data;
14
+ const { adaptivity, viewport_width: viewportWidth, viewport_height: viewportHeight } = data;
15
15
  const bridgeAdaptivity = {
16
16
  type: '',
17
17
  viewportWidth: isFinite(viewportWidth) ? +viewportWidth : 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useBridgeAdaptivity.ts"],"sourcesContent":["import * as React from 'react';\nimport vkBridge from '@vkontakte/vk-bridge';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nexport interface BridgeAdaptivity {\n type: '' | 'force_mobile' | 'force_mobile_compact' | 'adaptive';\n viewportWidth: number;\n viewportHeight: number;\n}\n\ninterface BridgeEvent {\n detail: {\n type: string;\n data: {\n [index: string]: any;\n };\n };\n}\n\nlet initialState: BridgeAdaptivity = {\n type: '',\n viewportWidth: 0,\n viewportHeight: 0,\n};\n\nfunction resolveAdaptivity(e: BridgeEvent): BridgeAdaptivity | null {\n const { type, data } = e.detail;\n\n if (type !== 'VKWebAppUpdateConfig' || !data) {\n return null;\n }\n\n const { adaptivity, viewport_width: viewportWidth, viewport_height: viewportHeight } = data;\n\n const bridgeAdaptivity: BridgeAdaptivity = {\n type: '',\n viewportWidth: isFinite(viewportWidth) ? +viewportWidth : 0,\n viewportHeight: isFinite(viewportHeight) ? +viewportHeight : 0,\n };\n\n switch (adaptivity) {\n case 'force_mobile':\n case 'force_mobile_compact':\n case 'adaptive':\n bridgeAdaptivity.type = adaptivity;\n }\n\n return bridgeAdaptivity;\n}\n\nvkBridge.subscribe((e: BridgeEvent) => {\n const bridgeAdaptivity = resolveAdaptivity(e);\n\n if (bridgeAdaptivity) {\n initialState = bridgeAdaptivity;\n }\n});\n\nexport function useBridgeAdaptivity(): BridgeAdaptivity {\n const [bridgeAdaptivity, setBridgeAdaptivity] = React.useState<BridgeAdaptivity>(initialState);\n\n useIsomorphicLayoutEffect(() => {\n function bridgeListener(e: BridgeEvent) {\n const newBridgeAdaptivity = resolveAdaptivity(e);\n\n if (newBridgeAdaptivity) {\n setBridgeAdaptivity(newBridgeAdaptivity);\n }\n }\n\n vkBridge.subscribe(bridgeListener);\n return () => {\n vkBridge.unsubscribe(bridgeListener);\n };\n }, []);\n\n return bridgeAdaptivity;\n}\n"],"names":["React","vkBridge","useIsomorphicLayoutEffect","initialState","type","viewportWidth","viewportHeight","resolveAdaptivity","e","data","detail","adaptivity","viewport_width","viewport_height","bridgeAdaptivity","isFinite","subscribe","useBridgeAdaptivity","setBridgeAdaptivity","useState","bridgeListener","newBridgeAdaptivity","unsubscribe"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,OAAOC,cAAc,uBAAuB;AAC5C,SAASC,yBAAyB,QAAQ,mCAAmC;AAiB7E,IAAIC,eAAiC;IACnCC,MAAM;IACNC,eAAe;IACfC,gBAAgB;AAClB;AAEA,SAASC,kBAAkBC,CAAc;IACvC,MAAM,EAAEJ,KAAI,EAAEK,KAAI,EAAE,GAAGD,EAAEE;IAEzB,IAAIN,SAAS,0BAA0B,CAACK,MAAM;QAC5C,OAAO;IACT;IAEA,MAAM,EAAEE,WAAU,EAAEC,gBAAgBP,cAAa,EAAEQ,iBAAiBP,eAAc,EAAE,GAAGG;IAEvF,MAAMK,mBAAqC;QACzCV,MAAM;QACNC,eAAeU,SAASV,iBAAiB,CAACA,gBAAgB;QAC1DC,gBAAgBS,SAAST,kBAAkB,CAACA,iBAAiB;IAC/D;IAEA,OAAQK;QACN,KAAK;QACL,KAAK;QACL,KAAK;YACHG,iBAAiBV,OAAOO;IAC5B;IAEA,OAAOG;AACT;AAEAb,SAASe,UAAU,CAACR;IAClB,MAAMM,mBAAmBP,kBAAkBC;IAE3C,IAAIM,kBAAkB;QACpBX,eAAeW;IACjB;AACF;AAEA,OAAO,SAASG;IACd,MAAM,CAACH,kBAAkBI,oBAAoB,GAAGlB,MAAMmB,SAA2BhB;IAEjFD,0BAA0B;QACxB,SAASkB,eAAeZ,CAAc;YACpC,MAAMa,sBAAsBd,kBAAkBC;YAE9C,IAAIa,qBAAqB;gBACvBH,oBAAoBG;YACtB;QACF;QAEApB,SAASe,UAAUI;QACnB,OAAO;YACLnB,SAASqB,YAAYF;QACvB;IACF,GAAG,EAAE;IAEL,OAAON;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useBridgeAdaptivity.ts"],"sourcesContent":["import * as React from 'react';\nimport vkBridge from '@vkontakte/vk-bridge';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nexport interface BridgeAdaptivity {\n type: '' | 'force_mobile' | 'force_mobile_compact' | 'adaptive';\n viewportWidth: number;\n viewportHeight: number;\n}\n\ninterface BridgeEvent {\n detail: {\n type: string;\n data: {\n [index: string]: any;\n };\n };\n}\n\nlet initialState: BridgeAdaptivity = {\n type: '',\n viewportWidth: 0,\n viewportHeight: 0,\n};\n\nfunction resolveAdaptivity(e: BridgeEvent): BridgeAdaptivity | null {\n const { type, data } = e.detail;\n\n if (type !== 'VKWebAppUpdateConfig' || !data) {\n return null;\n }\n\n const { adaptivity, viewport_width: viewportWidth, viewport_height: viewportHeight } = data;\n\n const bridgeAdaptivity: BridgeAdaptivity = {\n type: '',\n viewportWidth: isFinite(viewportWidth) ? +viewportWidth : 0,\n viewportHeight: isFinite(viewportHeight) ? +viewportHeight : 0,\n };\n\n switch (adaptivity) {\n case 'force_mobile':\n case 'force_mobile_compact':\n case 'adaptive':\n bridgeAdaptivity.type = adaptivity;\n }\n\n return bridgeAdaptivity;\n}\n\nvkBridge.subscribe((e: BridgeEvent) => {\n const bridgeAdaptivity = resolveAdaptivity(e);\n\n if (bridgeAdaptivity) {\n initialState = bridgeAdaptivity;\n }\n});\n\nexport function useBridgeAdaptivity(): BridgeAdaptivity {\n const [bridgeAdaptivity, setBridgeAdaptivity] = React.useState<BridgeAdaptivity>(initialState);\n\n useIsomorphicLayoutEffect(() => {\n function bridgeListener(e: BridgeEvent) {\n const newBridgeAdaptivity = resolveAdaptivity(e);\n\n if (newBridgeAdaptivity) {\n setBridgeAdaptivity(newBridgeAdaptivity);\n }\n }\n\n vkBridge.subscribe(bridgeListener);\n return () => {\n vkBridge.unsubscribe(bridgeListener);\n };\n }, []);\n\n return bridgeAdaptivity;\n}\n"],"names":["React","vkBridge","useIsomorphicLayoutEffect","initialState","type","viewportWidth","viewportHeight","resolveAdaptivity","e","data","detail","adaptivity","viewport_width","viewport_height","bridgeAdaptivity","isFinite","subscribe","useBridgeAdaptivity","setBridgeAdaptivity","useState","bridgeListener","newBridgeAdaptivity","unsubscribe"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,OAAOC,cAAc,uBAAuB;AAC5C,SAASC,yBAAyB,QAAQ,mCAAmC;AAiB7E,IAAIC,eAAiC;IACnCC,MAAM;IACNC,eAAe;IACfC,gBAAgB;AAClB;AAEA,SAASC,kBAAkBC,CAAc;IACvC,MAAM,EAAEJ,IAAI,EAAEK,IAAI,EAAE,GAAGD,EAAEE,MAAM;IAE/B,IAAIN,SAAS,0BAA0B,CAACK,MAAM;QAC5C,OAAO;IACT;IAEA,MAAM,EAAEE,UAAU,EAAEC,gBAAgBP,aAAa,EAAEQ,iBAAiBP,cAAc,EAAE,GAAGG;IAEvF,MAAMK,mBAAqC;QACzCV,MAAM;QACNC,eAAeU,SAASV,iBAAiB,CAACA,gBAAgB;QAC1DC,gBAAgBS,SAAST,kBAAkB,CAACA,iBAAiB;IAC/D;IAEA,OAAQK;QACN,KAAK;QACL,KAAK;QACL,KAAK;YACHG,iBAAiBV,IAAI,GAAGO;IAC5B;IAEA,OAAOG;AACT;AAEAb,SAASe,SAAS,CAAC,CAACR;IAClB,MAAMM,mBAAmBP,kBAAkBC;IAE3C,IAAIM,kBAAkB;QACpBX,eAAeW;IACjB;AACF;AAEA,OAAO,SAASG;IACd,MAAM,CAACH,kBAAkBI,oBAAoB,GAAGlB,MAAMmB,QAAQ,CAAmBhB;IAEjFD,0BAA0B;QACxB,SAASkB,eAAeZ,CAAc;YACpC,MAAMa,sBAAsBd,kBAAkBC;YAE9C,IAAIa,qBAAqB;gBACvBH,oBAAoBG;YACtB;QACF;QAEApB,SAASe,SAAS,CAACI;QACnB,OAAO;YACLnB,SAASqB,WAAW,CAACF;QACvB;IACF,GAAG,EAAE;IAEL,OAAON;AACT"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { addMonths, endOfDay, isAfter, isBefore, isSameDay, startOfDay, subMonths } from '../lib/date';
3
- export function useCalendar({ value , disablePast , disableFuture , shouldDisableDate , onHeaderChange , onNextMonth , onPrevMonth }) {
3
+ export function useCalendar({ value, disablePast, disableFuture, shouldDisableDate, onHeaderChange, onNextMonth, onPrevMonth }) {
4
4
  const [viewDate, setViewDate] = React.useState((Array.isArray(value) ? value[0] : value) ?? new Date());
5
5
  const [focusedDay, setFocusedDay] = React.useState();
6
6
  const setPrevMonth = React.useCallback(()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useCalendar.ts"],"sourcesContent":["import * as React from 'react';\nimport { CalendarProps } from '../components/Calendar/Calendar';\nimport {\n addMonths,\n endOfDay,\n isAfter,\n isBefore,\n isSameDay,\n startOfDay,\n subMonths,\n} from '../lib/date';\n\nexport interface UseCalendarDependencies\n extends Pick<CalendarProps, 'onHeaderChange' | 'onNextMonth' | 'onPrevMonth'> {\n value?: Array<Date | null> | Date;\n disablePast?: boolean;\n disableFuture?: boolean;\n shouldDisableDate?(value: Date): boolean;\n}\n\nexport function useCalendar({\n value,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n}: UseCalendarDependencies) {\n const [viewDate, setViewDate] = React.useState(\n (Array.isArray(value) ? value[0] : value) ?? new Date(),\n );\n const [focusedDay, setFocusedDay] = React.useState<Date>();\n\n const setPrevMonth = React.useCallback(() => {\n onPrevMonth?.();\n setViewDate(subMonths(viewDate, 1));\n }, [viewDate, onPrevMonth]);\n const setNextMonth = React.useCallback(() => {\n onNextMonth?.();\n setViewDate(addMonths(viewDate, 1));\n }, [viewDate, onNextMonth]);\n\n const handleSetViewDate = React.useCallback(\n (value: Date) => {\n onHeaderChange?.(value);\n setViewDate(value);\n },\n [onHeaderChange],\n );\n\n const isDayFocused = React.useCallback(\n (day: Date) => Boolean(focusedDay && isSameDay(day, focusedDay)),\n [focusedDay],\n );\n\n const isDayDisabled = React.useCallback(\n (day: Date) => {\n const now = new Date();\n let disabled = false;\n if (disablePast) {\n disabled = isBefore(endOfDay(day), now);\n }\n if (disableFuture) {\n disabled = isAfter(startOfDay(day), now);\n }\n if (shouldDisableDate) {\n disabled = shouldDisableDate(day);\n }\n\n return disabled;\n },\n [disableFuture, disablePast, shouldDisableDate],\n );\n\n const resetSelectedDay = React.useCallback(() => {\n setFocusedDay(undefined);\n }, [setFocusedDay]);\n\n return {\n viewDate,\n setViewDate: handleSetViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n };\n}\n"],"names":["React","addMonths","endOfDay","isAfter","isBefore","isSameDay","startOfDay","subMonths","useCalendar","value","disablePast","disableFuture","shouldDisableDate","onHeaderChange","onNextMonth","onPrevMonth","viewDate","setViewDate","useState","Array","isArray","Date","focusedDay","setFocusedDay","setPrevMonth","useCallback","setNextMonth","handleSetViewDate","isDayFocused","day","Boolean","isDayDisabled","now","disabled","resetSelectedDay","undefined"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SACEC,SAAS,EACTC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,SAAS,QACJ,cAAc;AAUrB,OAAO,SAASC,YAAY,EAC1BC,MAAK,EACLC,YAAW,EACXC,cAAa,EACbC,kBAAiB,EACjBC,eAAc,EACdC,YAAW,EACXC,YAAW,EACa;IACxB,MAAM,CAACC,UAAUC,YAAY,GAAGjB,MAAMkB,SACpC,AAACC,CAAAA,MAAMC,QAAQX,SAASA,KAAK,CAAC,EAAE,GAAGA,KAAI,KAAM,IAAIY;IAEnD,MAAM,CAACC,YAAYC,cAAc,GAAGvB,MAAMkB;IAE1C,MAAMM,eAAexB,MAAMyB,YAAY;QACrCV;QACAE,YAAYV,UAAUS,UAAU;IAClC,GAAG;QAACA;QAAUD;KAAY;IAC1B,MAAMW,eAAe1B,MAAMyB,YAAY;QACrCX;QACAG,YAAYhB,UAAUe,UAAU;IAClC,GAAG;QAACA;QAAUF;KAAY;IAE1B,MAAMa,oBAAoB3B,MAAMyB,YAC9B,CAAChB;QACCI,iBAAiBJ;QACjBQ,YAAYR;IACd,GACA;QAACI;KAAe;IAGlB,MAAMe,eAAe5B,MAAMyB,YACzB,CAACI,MAAcC,QAAQR,cAAcjB,UAAUwB,KAAKP,cACpD;QAACA;KAAW;IAGd,MAAMS,gBAAgB/B,MAAMyB,YAC1B,CAACI;QACC,MAAMG,MAAM,IAAIX;QAChB,IAAIY,WAAW;QACf,IAAIvB,aAAa;YACfuB,WAAW7B,SAASF,SAAS2B,MAAMG;QACrC;QACA,IAAIrB,eAAe;YACjBsB,WAAW9B,QAAQG,WAAWuB,MAAMG;QACtC;QACA,IAAIpB,mBAAmB;YACrBqB,WAAWrB,kBAAkBiB;QAC/B;QAEA,OAAOI;IACT,GACA;QAACtB;QAAeD;QAAaE;KAAkB;IAGjD,MAAMsB,mBAAmBlC,MAAMyB,YAAY;QACzCF,cAAcY;IAChB,GAAG;QAACZ;KAAc;IAElB,OAAO;QACLP;QACAC,aAAaU;QACbH;QACAE;QACAJ;QACAC;QACAK;QACAG;QACAG;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/hooks/useCalendar.ts"],"sourcesContent":["import * as React from 'react';\nimport { CalendarProps } from '../components/Calendar/Calendar';\nimport {\n addMonths,\n endOfDay,\n isAfter,\n isBefore,\n isSameDay,\n startOfDay,\n subMonths,\n} from '../lib/date';\n\nexport interface UseCalendarDependencies\n extends Pick<CalendarProps, 'onHeaderChange' | 'onNextMonth' | 'onPrevMonth'> {\n value?: Array<Date | null> | Date;\n disablePast?: boolean;\n disableFuture?: boolean;\n shouldDisableDate?(value: Date): boolean;\n}\n\nexport function useCalendar({\n value,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n}: UseCalendarDependencies) {\n const [viewDate, setViewDate] = React.useState(\n (Array.isArray(value) ? value[0] : value) ?? new Date(),\n );\n const [focusedDay, setFocusedDay] = React.useState<Date>();\n\n const setPrevMonth = React.useCallback(() => {\n onPrevMonth?.();\n setViewDate(subMonths(viewDate, 1));\n }, [viewDate, onPrevMonth]);\n const setNextMonth = React.useCallback(() => {\n onNextMonth?.();\n setViewDate(addMonths(viewDate, 1));\n }, [viewDate, onNextMonth]);\n\n const handleSetViewDate = React.useCallback(\n (value: Date) => {\n onHeaderChange?.(value);\n setViewDate(value);\n },\n [onHeaderChange],\n );\n\n const isDayFocused = React.useCallback(\n (day: Date) => Boolean(focusedDay && isSameDay(day, focusedDay)),\n [focusedDay],\n );\n\n const isDayDisabled = React.useCallback(\n (day: Date) => {\n const now = new Date();\n let disabled = false;\n if (disablePast) {\n disabled = isBefore(endOfDay(day), now);\n }\n if (disableFuture) {\n disabled = isAfter(startOfDay(day), now);\n }\n if (shouldDisableDate) {\n disabled = shouldDisableDate(day);\n }\n\n return disabled;\n },\n [disableFuture, disablePast, shouldDisableDate],\n );\n\n const resetSelectedDay = React.useCallback(() => {\n setFocusedDay(undefined);\n }, [setFocusedDay]);\n\n return {\n viewDate,\n setViewDate: handleSetViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n };\n}\n"],"names":["React","addMonths","endOfDay","isAfter","isBefore","isSameDay","startOfDay","subMonths","useCalendar","value","disablePast","disableFuture","shouldDisableDate","onHeaderChange","onNextMonth","onPrevMonth","viewDate","setViewDate","useState","Array","isArray","Date","focusedDay","setFocusedDay","setPrevMonth","useCallback","setNextMonth","handleSetViewDate","isDayFocused","day","Boolean","isDayDisabled","now","disabled","resetSelectedDay","undefined"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,SACEC,SAAS,EACTC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,SAAS,QACJ,cAAc;AAUrB,OAAO,SAASC,YAAY,EAC1BC,KAAK,EACLC,WAAW,EACXC,aAAa,EACbC,iBAAiB,EACjBC,cAAc,EACdC,WAAW,EACXC,WAAW,EACa;IACxB,MAAM,CAACC,UAAUC,YAAY,GAAGjB,MAAMkB,QAAQ,CAC5C,AAACC,CAAAA,MAAMC,OAAO,CAACX,SAASA,KAAK,CAAC,EAAE,GAAGA,KAAI,KAAM,IAAIY;IAEnD,MAAM,CAACC,YAAYC,cAAc,GAAGvB,MAAMkB,QAAQ;IAElD,MAAMM,eAAexB,MAAMyB,WAAW,CAAC;QACrCV;QACAE,YAAYV,UAAUS,UAAU;IAClC,GAAG;QAACA;QAAUD;KAAY;IAC1B,MAAMW,eAAe1B,MAAMyB,WAAW,CAAC;QACrCX;QACAG,YAAYhB,UAAUe,UAAU;IAClC,GAAG;QAACA;QAAUF;KAAY;IAE1B,MAAMa,oBAAoB3B,MAAMyB,WAAW,CACzC,CAAChB;QACCI,iBAAiBJ;QACjBQ,YAAYR;IACd,GACA;QAACI;KAAe;IAGlB,MAAMe,eAAe5B,MAAMyB,WAAW,CACpC,CAACI,MAAcC,QAAQR,cAAcjB,UAAUwB,KAAKP,cACpD;QAACA;KAAW;IAGd,MAAMS,gBAAgB/B,MAAMyB,WAAW,CACrC,CAACI;QACC,MAAMG,MAAM,IAAIX;QAChB,IAAIY,WAAW;QACf,IAAIvB,aAAa;YACfuB,WAAW7B,SAASF,SAAS2B,MAAMG;QACrC;QACA,IAAIrB,eAAe;YACjBsB,WAAW9B,QAAQG,WAAWuB,MAAMG;QACtC;QACA,IAAIpB,mBAAmB;YACrBqB,WAAWrB,kBAAkBiB;QAC/B;QAEA,OAAOI;IACT,GACA;QAACtB;QAAeD;QAAaE;KAAkB;IAGjD,MAAMsB,mBAAmBlC,MAAMyB,WAAW,CAAC;QACzCF,cAAcY;IAChB,GAAG;QAACZ;KAAc;IAElB,OAAO;QACLP;QACAC,aAAaU;QACbH;QACAE;QACAJ;QACAC;QACAK;QACAG;QACAG;IACF;AACF"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  export const useChipsInput = (props)=>{
3
- const { value , getOptionValue , onChange , onInputChange , getNewOptionData } = props;
3
+ const { value, getOptionValue, onChange, onInputChange, getNewOptionData } = props;
4
4
  const [fieldValue, setFieldValue] = React.useState(props.inputValue);
5
5
  const [selectedOptions, setSelectedOptions] = React.useState(value ?? []);
6
6
  const clearInput = React.useCallback(()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useChipsInput.ts"],"sourcesContent":["import * as React from 'react';\nimport { ChipOption } from '../components/Chip/Chip';\nimport { ChipsInputBaseProps } from '../components/ChipsInputBase/ChipsInputBase';\n\nexport const useChipsInput = <Option extends ChipOption>(\n props: Partial<ChipsInputBaseProps<Option>>,\n) => {\n const { value, getOptionValue, onChange, onInputChange, getNewOptionData } = props;\n\n const [fieldValue, setFieldValue] = React.useState(props.inputValue);\n const [selectedOptions, setSelectedOptions] = React.useState(value ?? []);\n\n const clearInput = React.useCallback(() => {\n setFieldValue('');\n onInputChange!({ target: { value: '' } } as any);\n }, [onInputChange]);\n\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(e.target.value);\n onInputChange!(e);\n },\n [onInputChange],\n );\n\n const toggleOption = React.useCallback(\n (newOption: Option, value?: boolean) => {\n const newSelectedOptions = selectedOptions.filter(\n (option: Option) => getOptionValue!(newOption) !== getOptionValue!(option),\n );\n\n if (value === true) {\n newSelectedOptions.push(newOption);\n }\n\n setSelectedOptions(newSelectedOptions);\n onChange!(newSelectedOptions);\n },\n [selectedOptions, getOptionValue, onChange],\n );\n\n const addOption = React.useCallback(\n (newOption: Option) => toggleOption(newOption, true),\n [toggleOption],\n );\n const addOptionFromInput = React.useCallback(() => {\n const trimmedValue = fieldValue?.trim();\n\n if (trimmedValue) {\n addOption(getNewOptionData!(undefined, trimmedValue));\n clearInput();\n }\n }, [addOption, clearInput, getNewOptionData, fieldValue]);\n const removeOption = React.useCallback(\n (value) => {\n toggleOption(getNewOptionData!(undefined, value as string), false);\n },\n [toggleOption, getNewOptionData],\n );\n\n React.useEffect(() => {\n setSelectedOptions(value as Option[]);\n\n return () => setSelectedOptions([]);\n }, [props.value, value]);\n\n React.useEffect(() => {\n setFieldValue(props.inputValue);\n\n return () => setFieldValue('');\n }, [props.inputValue]);\n\n return {\n fieldValue,\n setFieldValue,\n selectedOptions,\n setSelectedOptions,\n clearInput,\n toggleOption,\n addOption,\n addOptionFromInput,\n removeOption,\n handleInputChange,\n };\n};\n"],"names":["React","useChipsInput","props","value","getOptionValue","onChange","onInputChange","getNewOptionData","fieldValue","setFieldValue","useState","inputValue","selectedOptions","setSelectedOptions","clearInput","useCallback","target","handleInputChange","e","toggleOption","newOption","newSelectedOptions","filter","option","push","addOption","addOptionFromInput","trimmedValue","trim","undefined","removeOption","useEffect"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAI/B,OAAO,MAAMC,gBAAgB,CAC3BC;IAEA,MAAM,EAAEC,MAAK,EAAEC,eAAc,EAAEC,SAAQ,EAAEC,cAAa,EAAEC,iBAAgB,EAAE,GAAGL;IAE7E,MAAM,CAACM,YAAYC,cAAc,GAAGT,MAAMU,SAASR,MAAMS;IACzD,MAAM,CAACC,iBAAiBC,mBAAmB,GAAGb,MAAMU,SAASP,SAAS,EAAE;IAExE,MAAMW,aAAad,MAAMe,YAAY;QACnCN,cAAc;QACdH,cAAe;YAAEU,QAAQ;gBAAEb,OAAO;YAAG;QAAE;IACzC,GAAG;QAACG;KAAc;IAElB,MAAMW,oBAAoBjB,MAAMe,YAC9B,CAACG;QACCT,cAAcS,EAAEF,OAAOb;QACvBG,cAAeY;IACjB,GACA;QAACZ;KAAc;IAGjB,MAAMa,eAAenB,MAAMe,YACzB,CAACK,WAAmBjB;QAClB,MAAMkB,qBAAqBT,gBAAgBU,OACzC,CAACC,SAAmBnB,eAAgBgB,eAAehB,eAAgBmB;QAGrE,IAAIpB,UAAU,MAAM;YAClBkB,mBAAmBG,KAAKJ;QAC1B;QAEAP,mBAAmBQ;QACnBhB,SAAUgB;IACZ,GACA;QAACT;QAAiBR;QAAgBC;KAAS;IAG7C,MAAMoB,YAAYzB,MAAMe,YACtB,CAACK,YAAsBD,aAAaC,WAAW,OAC/C;QAACD;KAAa;IAEhB,MAAMO,qBAAqB1B,MAAMe,YAAY;QAC3C,MAAMY,eAAenB,YAAYoB;QAEjC,IAAID,cAAc;YAChBF,UAAUlB,iBAAkBsB,WAAWF;YACvCb;QACF;IACF,GAAG;QAACW;QAAWX;QAAYP;QAAkBC;KAAW;IACxD,MAAMsB,eAAe9B,MAAMe,YACzB,CAACZ;QACCgB,aAAaZ,iBAAkBsB,WAAW1B,QAAkB;IAC9D,GACA;QAACgB;QAAcZ;KAAiB;IAGlCP,MAAM+B,UAAU;QACdlB,mBAAmBV;QAEnB,OAAO,IAAMU,mBAAmB,EAAE;IACpC,GAAG;QAACX,MAAMC;QAAOA;KAAM;IAEvBH,MAAM+B,UAAU;QACdtB,cAAcP,MAAMS;QAEpB,OAAO,IAAMF,cAAc;IAC7B,GAAG;QAACP,MAAMS;KAAW;IAErB,OAAO;QACLH;QACAC;QACAG;QACAC;QACAC;QACAK;QACAM;QACAC;QACAI;QACAb;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useChipsInput.ts"],"sourcesContent":["import * as React from 'react';\nimport { ChipOption } from '../components/Chip/Chip';\nimport { ChipsInputBaseProps } from '../components/ChipsInputBase/ChipsInputBase';\n\nexport const useChipsInput = <Option extends ChipOption>(\n props: Partial<ChipsInputBaseProps<Option>>,\n) => {\n const { value, getOptionValue, onChange, onInputChange, getNewOptionData } = props;\n\n const [fieldValue, setFieldValue] = React.useState(props.inputValue);\n const [selectedOptions, setSelectedOptions] = React.useState(value ?? []);\n\n const clearInput = React.useCallback(() => {\n setFieldValue('');\n onInputChange!({ target: { value: '' } } as any);\n }, [onInputChange]);\n\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(e.target.value);\n onInputChange!(e);\n },\n [onInputChange],\n );\n\n const toggleOption = React.useCallback(\n (newOption: Option, value?: boolean) => {\n const newSelectedOptions = selectedOptions.filter(\n (option: Option) => getOptionValue!(newOption) !== getOptionValue!(option),\n );\n\n if (value === true) {\n newSelectedOptions.push(newOption);\n }\n\n setSelectedOptions(newSelectedOptions);\n onChange!(newSelectedOptions);\n },\n [selectedOptions, getOptionValue, onChange],\n );\n\n const addOption = React.useCallback(\n (newOption: Option) => toggleOption(newOption, true),\n [toggleOption],\n );\n const addOptionFromInput = React.useCallback(() => {\n const trimmedValue = fieldValue?.trim();\n\n if (trimmedValue) {\n addOption(getNewOptionData!(undefined, trimmedValue));\n clearInput();\n }\n }, [addOption, clearInput, getNewOptionData, fieldValue]);\n const removeOption = React.useCallback(\n (value) => {\n toggleOption(getNewOptionData!(undefined, value as string), false);\n },\n [toggleOption, getNewOptionData],\n );\n\n React.useEffect(() => {\n setSelectedOptions(value as Option[]);\n\n return () => setSelectedOptions([]);\n }, [props.value, value]);\n\n React.useEffect(() => {\n setFieldValue(props.inputValue);\n\n return () => setFieldValue('');\n }, [props.inputValue]);\n\n return {\n fieldValue,\n setFieldValue,\n selectedOptions,\n setSelectedOptions,\n clearInput,\n toggleOption,\n addOption,\n addOptionFromInput,\n removeOption,\n handleInputChange,\n };\n};\n"],"names":["React","useChipsInput","props","value","getOptionValue","onChange","onInputChange","getNewOptionData","fieldValue","setFieldValue","useState","inputValue","selectedOptions","setSelectedOptions","clearInput","useCallback","target","handleInputChange","e","toggleOption","newOption","newSelectedOptions","filter","option","push","addOption","addOptionFromInput","trimmedValue","trim","undefined","removeOption","useEffect"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAI/B,OAAO,MAAMC,gBAAgB,CAC3BC;IAEA,MAAM,EAAEC,KAAK,EAAEC,cAAc,EAAEC,QAAQ,EAAEC,aAAa,EAAEC,gBAAgB,EAAE,GAAGL;IAE7E,MAAM,CAACM,YAAYC,cAAc,GAAGT,MAAMU,QAAQ,CAACR,MAAMS,UAAU;IACnE,MAAM,CAACC,iBAAiBC,mBAAmB,GAAGb,MAAMU,QAAQ,CAACP,SAAS,EAAE;IAExE,MAAMW,aAAad,MAAMe,WAAW,CAAC;QACnCN,cAAc;QACdH,cAAe;YAAEU,QAAQ;gBAAEb,OAAO;YAAG;QAAE;IACzC,GAAG;QAACG;KAAc;IAElB,MAAMW,oBAAoBjB,MAAMe,WAAW,CACzC,CAACG;QACCT,cAAcS,EAAEF,MAAM,CAACb,KAAK;QAC5BG,cAAeY;IACjB,GACA;QAACZ;KAAc;IAGjB,MAAMa,eAAenB,MAAMe,WAAW,CACpC,CAACK,WAAmBjB;QAClB,MAAMkB,qBAAqBT,gBAAgBU,MAAM,CAC/C,CAACC,SAAmBnB,eAAgBgB,eAAehB,eAAgBmB;QAGrE,IAAIpB,UAAU,MAAM;YAClBkB,mBAAmBG,IAAI,CAACJ;QAC1B;QAEAP,mBAAmBQ;QACnBhB,SAAUgB;IACZ,GACA;QAACT;QAAiBR;QAAgBC;KAAS;IAG7C,MAAMoB,YAAYzB,MAAMe,WAAW,CACjC,CAACK,YAAsBD,aAAaC,WAAW,OAC/C;QAACD;KAAa;IAEhB,MAAMO,qBAAqB1B,MAAMe,WAAW,CAAC;QAC3C,MAAMY,eAAenB,YAAYoB;QAEjC,IAAID,cAAc;YAChBF,UAAUlB,iBAAkBsB,WAAWF;YACvCb;QACF;IACF,GAAG;QAACW;QAAWX;QAAYP;QAAkBC;KAAW;IACxD,MAAMsB,eAAe9B,MAAMe,WAAW,CACpC,CAACZ;QACCgB,aAAaZ,iBAAkBsB,WAAW1B,QAAkB;IAC9D,GACA;QAACgB;QAAcZ;KAAiB;IAGlCP,MAAM+B,SAAS,CAAC;QACdlB,mBAAmBV;QAEnB,OAAO,IAAMU,mBAAmB,EAAE;IACpC,GAAG;QAACX,MAAMC,KAAK;QAAEA;KAAM;IAEvBH,MAAM+B,SAAS,CAAC;QACdtB,cAAcP,MAAMS,UAAU;QAE9B,OAAO,IAAMF,cAAc;IAC7B,GAAG;QAACP,MAAMS,UAAU;KAAC;IAErB,OAAO;QACLH;QACAC;QACAG;QACAC;QACAC;QACAK;QACAM;QACAC;QACAI;QACAb;IACF;AACF,EAAE"}
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { useChipsInput } from './useChipsInput';
3
3
  export const useChipsSelect = (props)=>{
4
- const { options , filterFn , getOptionLabel , getOptionValue } = props;
4
+ const { options, filterFn, getOptionLabel, getOptionValue } = props;
5
5
  const [opened, setOpened] = React.useState(false);
6
6
  const [focusedOptionIndex, setFocusedOptionIndex] = React.useState(0);
7
7
  const [focusedOption, setFocusedOption] = React.useState(null);
8
- const { fieldValue , selectedOptions , ...chipsInputState } = useChipsInput(props);
8
+ const { fieldValue, selectedOptions, ...chipsInputState } = useChipsInput(props);
9
9
  const handleInputChange = (e)=>{
10
10
  if (!e) {
11
11
  return;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useChipsSelect.ts"],"sourcesContent":["import * as React from 'react';\nimport { ChipOption } from '../components/Chip/Chip';\nimport { ChipsSelectProps } from '../components/ChipsSelect/ChipsSelect';\nimport { useChipsInput } from './useChipsInput';\n\nexport const useChipsSelect = <Option extends ChipOption>(\n props: Partial<ChipsSelectProps<Option>>,\n) => {\n const { options, filterFn, getOptionLabel, getOptionValue } = props;\n\n const [opened, setOpened] = React.useState(false);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | null>(0);\n const [focusedOption, setFocusedOption] = React.useState<Option | null>(null);\n\n const { fieldValue, selectedOptions, ...chipsInputState } = useChipsInput(props);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement> | undefined) => {\n if (!e) {\n return;\n }\n chipsInputState.handleInputChange(e);\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n }\n };\n\n let filteredOptions = React.useMemo(() => {\n return filterFn\n ? options!.filter((option) => filterFn(fieldValue, option, getOptionLabel))\n : (options as Option[]);\n }, [options, filterFn, fieldValue, getOptionLabel]);\n\n filteredOptions = React.useMemo(() => {\n if (!filteredOptions.length) {\n return filteredOptions;\n }\n\n const filteredSet = new Set(filteredOptions);\n const selected = selectedOptions.map((item) => getOptionValue!(item));\n\n for (const item of filteredSet) {\n if (selected.includes(getOptionValue!(item))) {\n filteredSet.delete(item);\n }\n }\n\n return [...filteredSet];\n }, [filteredOptions, selectedOptions, getOptionValue]);\n\n return {\n ...chipsInputState,\n fieldValue,\n handleInputChange,\n opened,\n setOpened,\n filteredOptions,\n focusedOptionIndex,\n setFocusedOptionIndex,\n focusedOption,\n setFocusedOption,\n selectedOptions,\n };\n};\n"],"names":["React","useChipsInput","useChipsSelect","props","options","filterFn","getOptionLabel","getOptionValue","opened","setOpened","useState","focusedOptionIndex","setFocusedOptionIndex","focusedOption","setFocusedOption","fieldValue","selectedOptions","chipsInputState","handleInputChange","e","filteredOptions","useMemo","filter","option","length","filteredSet","Set","selected","map","item","includes","delete"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAG/B,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,OAAO,MAAMC,iBAAiB,CAC5BC;IAEA,MAAM,EAAEC,QAAO,EAAEC,SAAQ,EAAEC,eAAc,EAAEC,eAAc,EAAE,GAAGJ;IAE9D,MAAM,CAACK,QAAQC,UAAU,GAAGT,MAAMU,SAAS;IAC3C,MAAM,CAACC,oBAAoBC,sBAAsB,GAAGZ,MAAMU,SAAwB;IAClF,MAAM,CAACG,eAAeC,iBAAiB,GAAGd,MAAMU,SAAwB;IAExE,MAAM,EAAEK,WAAU,EAAEC,gBAAe,EAAE,GAAGC,iBAAiB,GAAGhB,cAAcE;IAE1E,MAAMe,oBAAoB,CAACC;QACzB,IAAI,CAACA,GAAG;YACN;QACF;QACAF,gBAAgBC,kBAAkBC;QAElC,IAAI,CAACX,QAAQ;YACXC,UAAU;YACVG,sBAAsB;QACxB;IACF;IAEA,IAAIQ,kBAAkBpB,MAAMqB,QAAQ;QAClC,OAAOhB,WACHD,QAASkB,OAAO,CAACC,SAAWlB,SAASU,YAAYQ,QAAQjB,mBACxDF;IACP,GAAG;QAACA;QAASC;QAAUU;QAAYT;KAAe;IAElDc,kBAAkBpB,MAAMqB,QAAQ;QAC9B,IAAI,CAACD,gBAAgBI,QAAQ;YAC3B,OAAOJ;QACT;QAEA,MAAMK,cAAc,IAAIC,IAAIN;QAC5B,MAAMO,WAAWX,gBAAgBY,IAAI,CAACC,OAAStB,eAAgBsB;QAE/D,KAAK,MAAMA,QAAQJ,YAAa;YAC9B,IAAIE,SAASG,SAASvB,eAAgBsB,QAAQ;gBAC5CJ,YAAYM,OAAOF;YACrB;QACF;QAEA,OAAO;eAAIJ;SAAY;IACzB,GAAG;QAACL;QAAiBJ;QAAiBT;KAAe;IAErD,OAAO;QACL,GAAGU,eAAe;QAClBF;QACAG;QACAV;QACAC;QACAW;QACAT;QACAC;QACAC;QACAC;QACAE;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useChipsSelect.ts"],"sourcesContent":["import * as React from 'react';\nimport { ChipOption } from '../components/Chip/Chip';\nimport { ChipsSelectProps } from '../components/ChipsSelect/ChipsSelect';\nimport { useChipsInput } from './useChipsInput';\n\nexport const useChipsSelect = <Option extends ChipOption>(\n props: Partial<ChipsSelectProps<Option>>,\n) => {\n const { options, filterFn, getOptionLabel, getOptionValue } = props;\n\n const [opened, setOpened] = React.useState(false);\n const [focusedOptionIndex, setFocusedOptionIndex] = React.useState<number | null>(0);\n const [focusedOption, setFocusedOption] = React.useState<Option | null>(null);\n\n const { fieldValue, selectedOptions, ...chipsInputState } = useChipsInput(props);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement> | undefined) => {\n if (!e) {\n return;\n }\n chipsInputState.handleInputChange(e);\n\n if (!opened) {\n setOpened(true);\n setFocusedOptionIndex(0);\n }\n };\n\n let filteredOptions = React.useMemo(() => {\n return filterFn\n ? options!.filter((option) => filterFn(fieldValue, option, getOptionLabel))\n : (options as Option[]);\n }, [options, filterFn, fieldValue, getOptionLabel]);\n\n filteredOptions = React.useMemo(() => {\n if (!filteredOptions.length) {\n return filteredOptions;\n }\n\n const filteredSet = new Set(filteredOptions);\n const selected = selectedOptions.map((item) => getOptionValue!(item));\n\n for (const item of filteredSet) {\n if (selected.includes(getOptionValue!(item))) {\n filteredSet.delete(item);\n }\n }\n\n return [...filteredSet];\n }, [filteredOptions, selectedOptions, getOptionValue]);\n\n return {\n ...chipsInputState,\n fieldValue,\n handleInputChange,\n opened,\n setOpened,\n filteredOptions,\n focusedOptionIndex,\n setFocusedOptionIndex,\n focusedOption,\n setFocusedOption,\n selectedOptions,\n };\n};\n"],"names":["React","useChipsInput","useChipsSelect","props","options","filterFn","getOptionLabel","getOptionValue","opened","setOpened","useState","focusedOptionIndex","setFocusedOptionIndex","focusedOption","setFocusedOption","fieldValue","selectedOptions","chipsInputState","handleInputChange","e","filteredOptions","useMemo","filter","option","length","filteredSet","Set","selected","map","item","includes","delete"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAG/B,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,OAAO,MAAMC,iBAAiB,CAC5BC;IAEA,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,cAAc,EAAEC,cAAc,EAAE,GAAGJ;IAE9D,MAAM,CAACK,QAAQC,UAAU,GAAGT,MAAMU,QAAQ,CAAC;IAC3C,MAAM,CAACC,oBAAoBC,sBAAsB,GAAGZ,MAAMU,QAAQ,CAAgB;IAClF,MAAM,CAACG,eAAeC,iBAAiB,GAAGd,MAAMU,QAAQ,CAAgB;IAExE,MAAM,EAAEK,UAAU,EAAEC,eAAe,EAAE,GAAGC,iBAAiB,GAAGhB,cAAcE;IAE1E,MAAMe,oBAAoB,CAACC;QACzB,IAAI,CAACA,GAAG;YACN;QACF;QACAF,gBAAgBC,iBAAiB,CAACC;QAElC,IAAI,CAACX,QAAQ;YACXC,UAAU;YACVG,sBAAsB;QACxB;IACF;IAEA,IAAIQ,kBAAkBpB,MAAMqB,OAAO,CAAC;QAClC,OAAOhB,WACHD,QAASkB,MAAM,CAAC,CAACC,SAAWlB,SAASU,YAAYQ,QAAQjB,mBACxDF;IACP,GAAG;QAACA;QAASC;QAAUU;QAAYT;KAAe;IAElDc,kBAAkBpB,MAAMqB,OAAO,CAAC;QAC9B,IAAI,CAACD,gBAAgBI,MAAM,EAAE;YAC3B,OAAOJ;QACT;QAEA,MAAMK,cAAc,IAAIC,IAAIN;QAC5B,MAAMO,WAAWX,gBAAgBY,GAAG,CAAC,CAACC,OAAStB,eAAgBsB;QAE/D,KAAK,MAAMA,QAAQJ,YAAa;YAC9B,IAAIE,SAASG,QAAQ,CAACvB,eAAgBsB,QAAQ;gBAC5CJ,YAAYM,MAAM,CAACF;YACrB;QACF;QAEA,OAAO;eAAIJ;SAAY;IACzB,GAAG;QAACL;QAAiBJ;QAAiBT;KAAe;IAErD,OAAO;QACL,GAAGU,eAAe;QAClBF;QACAG;QACAV;QACAC;QACAW;QACAT;QACAC;QACAC;QACAC;QACAE;IACF;AACF,EAAE"}
@@ -2,14 +2,14 @@ import * as React from 'react';
2
2
  import { useDOM } from '../lib/dom';
3
3
  import { useBooleanState } from './useBooleanState';
4
4
  import { useGlobalEventListener } from './useGlobalEventListener';
5
- export function useDateInput({ maxElement , refs , autoFocus , disabled , elementsConfig , onChange , onInternalValueChange , getInternalValue , value }) {
6
- const { document } = useDOM();
7
- const { value: open , setTrue: openCalendar , setFalse: closeCalendar } = useBooleanState(false);
5
+ export function useDateInput({ maxElement, refs, autoFocus, disabled, elementsConfig, onChange, onInternalValueChange, getInternalValue, value }) {
6
+ const { document } = useDOM();
7
+ const { value: open, setTrue: openCalendar, setFalse: closeCalendar } = useBooleanState(false);
8
8
  const rootRef = React.useRef(null);
9
9
  const calendarRef = React.useRef(null);
10
10
  const [internalValue, setInternalValue] = React.useState([]);
11
11
  const [focusedElement, setFocusedElement] = React.useState(null);
12
- const { window } = useDOM();
12
+ const { window } = useDOM();
13
13
  const removeFocusFromField = React.useCallback(()=>{
14
14
  if (open) {
15
15
  setFocusedElement(null);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useDateInput.ts"],"sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useBooleanState } from './useBooleanState';\nimport { useGlobalEventListener } from './useGlobalEventListener';\n\nexport interface UseDateInputDependencies<T, D> {\n maxElement: number;\n refs: Array<React.RefObject<T>>;\n autoFocus?: boolean;\n disabled?: boolean;\n value?: D;\n elementsConfig(index: number): {\n length: number;\n min: number;\n max: number;\n };\n onInternalValueChange(value: string[]): void;\n getInternalValue(value?: D | undefined): string[];\n onChange?(value?: D | undefined): void;\n}\n\nexport function useDateInput<T extends HTMLElement, D>({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n}: UseDateInputDependencies<T, D>) {\n const { document } = useDOM();\n const { value: open, setTrue: openCalendar, setFalse: closeCalendar } = useBooleanState(false);\n const rootRef = React.useRef<HTMLDivElement>(null);\n const calendarRef = React.useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = React.useState<string[]>([]);\n const [focusedElement, setFocusedElement] = React.useState<number | null>(null);\n const { window } = useDOM();\n\n const removeFocusFromField = React.useCallback(() => {\n if (open) {\n setFocusedElement(null);\n closeCalendar();\n window!.getSelection()?.removeAllRanges();\n setInternalValue(getInternalValue(value));\n }\n }, [closeCalendar, getInternalValue, open, value, window]);\n\n const handleClickOutside = React.useCallback(\n (e: MouseEvent) => {\n if (\n !rootRef.current?.contains(e.target as Node | null) &&\n !calendarRef.current?.contains(e.target as Node | null)\n ) {\n removeFocusFromField();\n }\n },\n [removeFocusFromField],\n );\n\n const selectFirst = React.useCallback(() => {\n setFocusedElement(0);\n }, []);\n\n useGlobalEventListener(document, 'click', handleClickOutside, {\n capture: true,\n });\n\n React.useEffect(() => {\n setInternalValue(getInternalValue(value));\n }, [getInternalValue, value]);\n\n React.useEffect(() => {\n if (autoFocus) {\n selectFirst();\n }\n }, [autoFocus, selectFirst]);\n\n React.useEffect(() => {\n if (disabled || focusedElement === null) {\n return;\n }\n\n const range = window!.document.createRange();\n\n let element = refs[focusedElement].current;\n\n if (element) {\n element.focus();\n openCalendar();\n range.selectNodeContents(element as Node);\n\n const selection = window!.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(range);\n }\n }, [disabled, focusedElement, openCalendar, refs, window]);\n\n const clear = React.useCallback(() => {\n onChange?.(undefined);\n selectFirst();\n }, [onChange, selectFirst]);\n\n const handleFieldEnter = React.useCallback(() => {\n if (!open) {\n selectFirst();\n }\n }, [open, selectFirst]);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLSpanElement>) => {\n if (focusedElement === null) {\n return;\n }\n\n const _value = [...internalValue];\n const config = elementsConfig(focusedElement);\n\n if (/^\\d+$/.test(e.key)) {\n if (_value[focusedElement].length >= config.length) {\n _value[focusedElement] = e.key;\n } else {\n _value[focusedElement] += e.key;\n if (_value[focusedElement].length >= config.length && focusedElement < maxElement) {\n setFocusedElement(focusedElement + 1);\n }\n }\n } else if (e.key === 'Backspace') {\n if (!_value[focusedElement]) {\n setFocusedElement(focusedElement <= 0 ? maxElement : focusedElement - 1);\n } else {\n _value[focusedElement] = _value[focusedElement].slice(0, -1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n let currentValue = Number(_value[focusedElement]);\n _value[focusedElement] = String(\n currentValue <= config.min ? config.max : currentValue - 1,\n ).padStart(config.length, '0');\n } else if (e.key === 'ArrowUp' || e.key === 'Up') {\n let currentValue = Number(_value[focusedElement]);\n _value[focusedElement] = String(\n currentValue >= config.max ? config.min : currentValue + 1,\n ).padStart(config.length, '0');\n } else if (\n e.key === 'Enter' ||\n (e.key === 'Tab' && focusedElement === maxElement) ||\n (e.key === 'Tab' && e.shiftKey && focusedElement === 0)\n ) {\n removeFocusFromField();\n return;\n } else if (e.key === 'ArrowLeft' || e.key === 'Left' || (e.key === 'Tab' && e.shiftKey)) {\n setFocusedElement(focusedElement <= 0 ? maxElement : focusedElement - 1);\n } else if (e.key === 'ArrowRight' || e.key === 'Right' || e.key === 'Tab') {\n setFocusedElement(focusedElement >= maxElement ? 0 : focusedElement + 1);\n } else if (e.key === 'Delete' || e.key === 'Del') {\n _value[focusedElement] = '';\n } else {\n return;\n }\n\n e.preventDefault();\n setInternalValue(_value);\n onInternalValueChange(_value);\n },\n [\n elementsConfig,\n focusedElement,\n internalValue,\n maxElement,\n onInternalValueChange,\n removeFocusFromField,\n ],\n );\n\n return {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n focusedElement,\n setFocusedElement,\n handleKeyDown,\n clear,\n handleFieldEnter,\n removeFocusFromField,\n };\n}\n"],"names":["React","useDOM","useBooleanState","useGlobalEventListener","useDateInput","maxElement","refs","autoFocus","disabled","elementsConfig","onChange","onInternalValueChange","getInternalValue","value","document","open","setTrue","openCalendar","setFalse","closeCalendar","rootRef","useRef","calendarRef","internalValue","setInternalValue","useState","focusedElement","setFocusedElement","window","removeFocusFromField","useCallback","getSelection","removeAllRanges","handleClickOutside","e","current","contains","target","selectFirst","capture","useEffect","range","createRange","element","focus","selectNodeContents","selection","addRange","clear","undefined","handleFieldEnter","handleKeyDown","_value","config","test","key","length","slice","currentValue","Number","String","min","max","padStart","shiftKey","preventDefault"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/hooks/useDateInput.ts"],"sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useBooleanState } from './useBooleanState';\nimport { useGlobalEventListener } from './useGlobalEventListener';\n\nexport interface UseDateInputDependencies<T, D> {\n maxElement: number;\n refs: Array<React.RefObject<T>>;\n autoFocus?: boolean;\n disabled?: boolean;\n value?: D;\n elementsConfig(index: number): {\n length: number;\n min: number;\n max: number;\n };\n onInternalValueChange(value: string[]): void;\n getInternalValue(value?: D | undefined): string[];\n onChange?(value?: D | undefined): void;\n}\n\nexport function useDateInput<T extends HTMLElement, D>({\n maxElement,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n}: UseDateInputDependencies<T, D>) {\n const { document } = useDOM();\n const { value: open, setTrue: openCalendar, setFalse: closeCalendar } = useBooleanState(false);\n const rootRef = React.useRef<HTMLDivElement>(null);\n const calendarRef = React.useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = React.useState<string[]>([]);\n const [focusedElement, setFocusedElement] = React.useState<number | null>(null);\n const { window } = useDOM();\n\n const removeFocusFromField = React.useCallback(() => {\n if (open) {\n setFocusedElement(null);\n closeCalendar();\n window!.getSelection()?.removeAllRanges();\n setInternalValue(getInternalValue(value));\n }\n }, [closeCalendar, getInternalValue, open, value, window]);\n\n const handleClickOutside = React.useCallback(\n (e: MouseEvent) => {\n if (\n !rootRef.current?.contains(e.target as Node | null) &&\n !calendarRef.current?.contains(e.target as Node | null)\n ) {\n removeFocusFromField();\n }\n },\n [removeFocusFromField],\n );\n\n const selectFirst = React.useCallback(() => {\n setFocusedElement(0);\n }, []);\n\n useGlobalEventListener(document, 'click', handleClickOutside, {\n capture: true,\n });\n\n React.useEffect(() => {\n setInternalValue(getInternalValue(value));\n }, [getInternalValue, value]);\n\n React.useEffect(() => {\n if (autoFocus) {\n selectFirst();\n }\n }, [autoFocus, selectFirst]);\n\n React.useEffect(() => {\n if (disabled || focusedElement === null) {\n return;\n }\n\n const range = window!.document.createRange();\n\n let element = refs[focusedElement].current;\n\n if (element) {\n element.focus();\n openCalendar();\n range.selectNodeContents(element as Node);\n\n const selection = window!.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(range);\n }\n }, [disabled, focusedElement, openCalendar, refs, window]);\n\n const clear = React.useCallback(() => {\n onChange?.(undefined);\n selectFirst();\n }, [onChange, selectFirst]);\n\n const handleFieldEnter = React.useCallback(() => {\n if (!open) {\n selectFirst();\n }\n }, [open, selectFirst]);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLSpanElement>) => {\n if (focusedElement === null) {\n return;\n }\n\n const _value = [...internalValue];\n const config = elementsConfig(focusedElement);\n\n if (/^\\d+$/.test(e.key)) {\n if (_value[focusedElement].length >= config.length) {\n _value[focusedElement] = e.key;\n } else {\n _value[focusedElement] += e.key;\n if (_value[focusedElement].length >= config.length && focusedElement < maxElement) {\n setFocusedElement(focusedElement + 1);\n }\n }\n } else if (e.key === 'Backspace') {\n if (!_value[focusedElement]) {\n setFocusedElement(focusedElement <= 0 ? maxElement : focusedElement - 1);\n } else {\n _value[focusedElement] = _value[focusedElement].slice(0, -1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n let currentValue = Number(_value[focusedElement]);\n _value[focusedElement] = String(\n currentValue <= config.min ? config.max : currentValue - 1,\n ).padStart(config.length, '0');\n } else if (e.key === 'ArrowUp' || e.key === 'Up') {\n let currentValue = Number(_value[focusedElement]);\n _value[focusedElement] = String(\n currentValue >= config.max ? config.min : currentValue + 1,\n ).padStart(config.length, '0');\n } else if (\n e.key === 'Enter' ||\n (e.key === 'Tab' && focusedElement === maxElement) ||\n (e.key === 'Tab' && e.shiftKey && focusedElement === 0)\n ) {\n removeFocusFromField();\n return;\n } else if (e.key === 'ArrowLeft' || e.key === 'Left' || (e.key === 'Tab' && e.shiftKey)) {\n setFocusedElement(focusedElement <= 0 ? maxElement : focusedElement - 1);\n } else if (e.key === 'ArrowRight' || e.key === 'Right' || e.key === 'Tab') {\n setFocusedElement(focusedElement >= maxElement ? 0 : focusedElement + 1);\n } else if (e.key === 'Delete' || e.key === 'Del') {\n _value[focusedElement] = '';\n } else {\n return;\n }\n\n e.preventDefault();\n setInternalValue(_value);\n onInternalValueChange(_value);\n },\n [\n elementsConfig,\n focusedElement,\n internalValue,\n maxElement,\n onInternalValueChange,\n removeFocusFromField,\n ],\n );\n\n return {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n focusedElement,\n setFocusedElement,\n handleKeyDown,\n clear,\n handleFieldEnter,\n removeFocusFromField,\n };\n}\n"],"names":["React","useDOM","useBooleanState","useGlobalEventListener","useDateInput","maxElement","refs","autoFocus","disabled","elementsConfig","onChange","onInternalValueChange","getInternalValue","value","document","open","setTrue","openCalendar","setFalse","closeCalendar","rootRef","useRef","calendarRef","internalValue","setInternalValue","useState","focusedElement","setFocusedElement","window","removeFocusFromField","useCallback","getSelection","removeAllRanges","handleClickOutside","e","current","contains","target","selectFirst","capture","useEffect","range","createRange","element","focus","selectNodeContents","selection","addRange","clear","undefined","handleFieldEnter","handleKeyDown","_value","config","test","key","length","slice","currentValue","Number","String","min","max","padStart","shiftKey","preventDefault"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useEffectDev.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { noop } from '@vkontakte/vkjs';\n\nexport const useEffectDev = process.env.NODE_ENV === 'development' ? useEffect : noop;\n"],"names":["useEffect","noop","useEffectDev","process","env","NODE_ENV"],"mappings":"AAAA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,OAAO,MAAMC,eAAeC,QAAQC,IAAIC,aAAa,gBAAgBL,YAAYC,KAAK"}
1
+ {"version":3,"sources":["../../../src/hooks/useEffectDev.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { noop } from '@vkontakte/vkjs';\n\nexport const useEffectDev = process.env.NODE_ENV === 'development' ? useEffect : noop;\n"],"names":["useEffect","noop","useEffectDev","process","env","NODE_ENV"],"mappings":"AAAA,SAASA,SAAS,QAAQ,QAAQ;AAClC,SAASC,IAAI,QAAQ,kBAAkB;AAEvC,OAAO,MAAMC,eAAeC,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBAAgBL,YAAYC,KAAK"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export function useEnsuredControl({ onChange: onChangeProp , disabled , ...props }) {
2
+ export function useEnsuredControl({ onChange: onChangeProp, disabled, ...props }) {
3
3
  const [value, onChangeValue] = useCustomEnsuredControl(props);
4
4
  const onChange = React.useCallback((e)=>{
5
5
  if (disabled) {
@@ -17,7 +17,7 @@ export function useEnsuredControl({ onChange: onChangeProp , disabled , ...props
17
17
  onChange
18
18
  ];
19
19
  }
20
- export function useCustomEnsuredControl({ disabled , onChange: onChangeProp , defaultValue , value }) {
20
+ export function useCustomEnsuredControl({ disabled, onChange: onChangeProp, defaultValue, value }) {
21
21
  const isControlled = value !== undefined;
22
22
  const [localValue, setLocalValue] = React.useState(defaultValue);
23
23
  const onChange = React.useCallback((v)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useEnsuredControl.ts"],"sourcesContent":["import * as React from 'react';\n\ninterface UseEnsuredControlProps<V, E extends React.ChangeEvent<any>> {\n value?: V;\n onChange?: (e: E) => any;\n defaultValue: V;\n disabled?: boolean | undefined;\n}\n\nexport function useEnsuredControl<V, E extends React.ChangeEvent<any>>({\n onChange: onChangeProp,\n disabled,\n ...props\n}: UseEnsuredControlProps<V, E>): [V | undefined, (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\ninterface UseCustomEnsuredControlProps<V> {\n value?: V;\n onChange?: (v: V) => any;\n defaultValue: V;\n disabled?: boolean | undefined;\n}\n\nexport function useCustomEnsuredControl<V>({\n disabled,\n onChange: onChangeProp,\n defaultValue,\n value,\n}: UseCustomEnsuredControlProps<V>): [V | undefined, (e: V) => any] {\n const isControlled = value !== undefined;\n const [localValue, setLocalValue] = React.useState(defaultValue);\n\n const onChange = React.useCallback(\n (v: V) => {\n if (disabled) {\n return;\n }\n\n !isControlled && setLocalValue(v);\n onChangeProp && onChangeProp(v);\n },\n [disabled, isControlled, onChangeProp],\n );\n\n return [isControlled ? value : localValue, onChange];\n}\n"],"names":["React","useEnsuredControl","onChange","onChangeProp","disabled","props","value","onChangeValue","useCustomEnsuredControl","useCallback","e","target","defaultValue","isControlled","undefined","localValue","setLocalValue","useState","v"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAS/B,OAAO,SAASC,kBAAuD,EACrEC,UAAUC,aAAY,EACtBC,SAAQ,EACR,GAAGC,OAC0B;IAC7B,MAAM,CAACC,OAAOC,cAAc,GAAGC,wBAAwBH;IAEvD,MAAMH,WAAWF,MAAMS,YACrB,CAACC;QACC,IAAIN,UAAU;YACZ;QACF;QAEAG,cAAcG,EAAEC,OAAOL;QACvBH,gBAAgBA,aAAaO;IAC/B,GACA;QAACH;QAAeJ;QAAcC;KAAS;IAGzC,OAAO;QAACE;QAAOJ;KAAS;AAC1B;AASA,OAAO,SAASM,wBAA2B,EACzCJ,SAAQ,EACRF,UAAUC,aAAY,EACtBS,aAAY,EACZN,MAAK,EAC2B;IAChC,MAAMO,eAAeP,UAAUQ;IAC/B,MAAM,CAACC,YAAYC,cAAc,GAAGhB,MAAMiB,SAASL;IAEnD,MAAMV,WAAWF,MAAMS,YACrB,CAACS;QACC,IAAId,UAAU;YACZ;QACF;QAEA,CAACS,gBAAgBG,cAAcE;QAC/Bf,gBAAgBA,aAAae;IAC/B,GACA;QAACd;QAAUS;QAAcV;KAAa;IAGxC,OAAO;QAACU,eAAeP,QAAQS;QAAYb;KAAS;AACtD"}
1
+ {"version":3,"sources":["../../../src/hooks/useEnsuredControl.ts"],"sourcesContent":["import * as React from 'react';\n\ninterface UseEnsuredControlProps<V, E extends React.ChangeEvent<any>> {\n value?: V;\n onChange?: (e: E) => any;\n defaultValue: V;\n disabled?: boolean | undefined;\n}\n\nexport function useEnsuredControl<V, E extends React.ChangeEvent<any>>({\n onChange: onChangeProp,\n disabled,\n ...props\n}: UseEnsuredControlProps<V, E>): [V | undefined, (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\ninterface UseCustomEnsuredControlProps<V> {\n value?: V;\n onChange?: (v: V) => any;\n defaultValue: V;\n disabled?: boolean | undefined;\n}\n\nexport function useCustomEnsuredControl<V>({\n disabled,\n onChange: onChangeProp,\n defaultValue,\n value,\n}: UseCustomEnsuredControlProps<V>): [V | undefined, (e: V) => any] {\n const isControlled = value !== undefined;\n const [localValue, setLocalValue] = React.useState(defaultValue);\n\n const onChange = React.useCallback(\n (v: V) => {\n if (disabled) {\n return;\n }\n\n !isControlled && setLocalValue(v);\n onChangeProp && onChangeProp(v);\n },\n [disabled, isControlled, onChangeProp],\n );\n\n return [isControlled ? value : localValue, onChange];\n}\n"],"names":["React","useEnsuredControl","onChange","onChangeProp","disabled","props","value","onChangeValue","useCustomEnsuredControl","useCallback","e","target","defaultValue","isControlled","undefined","localValue","setLocalValue","useState","v"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAS/B,OAAO,SAASC,kBAAuD,EACrEC,UAAUC,YAAY,EACtBC,QAAQ,EACR,GAAGC,OAC0B;IAC7B,MAAM,CAACC,OAAOC,cAAc,GAAGC,wBAAwBH;IAEvD,MAAMH,WAAWF,MAAMS,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,OAAO,SAASM,wBAA2B,EACzCJ,QAAQ,EACRF,UAAUC,YAAY,EACtBS,YAAY,EACZN,KAAK,EAC2B;IAChC,MAAMO,eAAeP,UAAUQ;IAC/B,MAAM,CAACC,YAAYC,cAAc,GAAGhB,MAAMiB,QAAQ,CAACL;IAEnD,MAAMV,WAAWF,MAAMS,WAAW,CAChC,CAACS;QACC,IAAId,UAAU;YACZ;QACF;QAEA,CAACS,gBAAgBG,cAAcE;QAC/Bf,gBAAgBA,aAAae;IAC/B,GACA;QAACd;QAAUS;QAAcV;KAAa;IAGxC,OAAO;QAACU,eAAeP,QAAQS;QAAYb;KAAS;AACtD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useEventListener.ts"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { canUseDOM } from '../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\ninterface EventListenerHandle {\n add: (el: HTMLElement | Document | Window) => void;\n remove: () => void;\n}\n\nexport function useEventListener<K extends keyof GlobalEventHandlersEventMap>(\n event: K,\n _cb: false | null | undefined | ((ev: GlobalEventHandlersEventMap[K]) => void),\n _options?: AddEventListenerOptions,\n): EventListenerHandle;\nexport function useEventListener<E extends Event>(\n event: string,\n _cb: false | null | undefined | ((ev: E) => void),\n _options?: AddEventListenerOptions,\n): EventListenerHandle;\nexport function useEventListener<E extends Event, K extends keyof GlobalEventHandlersEventMap>(\n event: string | K,\n _cb: false | null | undefined | ((ev: E) => void),\n _options?: AddEventListenerOptions,\n): EventListenerHandle {\n const cbRef = React.useRef(_cb);\n useIsomorphicLayoutEffect(() => {\n cbRef.current = _cb;\n }, [_cb]);\n const cb = React.useCallback((e: any) => cbRef.current && cbRef.current(e), []);\n\n const detach = React.useRef(noop);\n const remove = React.useCallback(() => {\n detach.current();\n detach.current = noop;\n }, []);\n const add = React.useCallback(\n (el: HTMLElement | Document | Window) => {\n if (!canUseDOM) {\n return;\n }\n remove();\n if (!el) {\n return;\n }\n const options = { ..._options };\n el.addEventListener(event, cb, options);\n detach.current = () => el.removeEventListener(event, cb, options);\n },\n [_options, cb, event, remove],\n );\n React.useEffect(() => remove, [remove]);\n\n return React.useMemo(() => ({ add, remove }), [add, remove]);\n}\n"],"names":["React","noop","canUseDOM","useIsomorphicLayoutEffect","useEventListener","event","_cb","_options","cbRef","useRef","current","cb","useCallback","e","detach","remove","add","el","options","addEventListener","removeEventListener","useEffect","useMemo"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,yBAAyB,QAAQ,mCAAmC;AAiB7E,OAAO,SAASC,iBACdC,KAAiB,EACjBC,GAAiD,EACjDC,QAAkC;IAElC,MAAMC,QAAQR,MAAMS,OAAOH;IAC3BH,0BAA0B;QACxBK,MAAME,UAAUJ;IAClB,GAAG;QAACA;KAAI;IACR,MAAMK,KAAKX,MAAMY,YAAY,CAACC,IAAWL,MAAME,WAAWF,MAAME,QAAQG,IAAI,EAAE;IAE9E,MAAMC,SAASd,MAAMS,OAAOR;IAC5B,MAAMc,SAASf,MAAMY,YAAY;QAC/BE,OAAOJ;QACPI,OAAOJ,UAAUT;IACnB,GAAG,EAAE;IACL,MAAMe,MAAMhB,MAAMY,YAChB,CAACK;QACC,IAAI,CAACf,WAAW;YACd;QACF;QACAa;QACA,IAAI,CAACE,IAAI;YACP;QACF;QACA,MAAMC,UAAU;YAAE,GAAGX,QAAQ;QAAC;QAC9BU,GAAGE,iBAAiBd,OAAOM,IAAIO;QAC/BJ,OAAOJ,UAAU,IAAMO,GAAGG,oBAAoBf,OAAOM,IAAIO;IAC3D,GACA;QAACX;QAAUI;QAAIN;QAAOU;KAAO;IAE/Bf,MAAMqB,UAAU,IAAMN,QAAQ;QAACA;KAAO;IAEtC,OAAOf,MAAMsB,QAAQ,IAAO,CAAA;YAAEN;YAAKD;QAAO,CAAA,GAAI;QAACC;QAAKD;KAAO;AAC7D"}
1
+ {"version":3,"sources":["../../../src/hooks/useEventListener.ts"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { canUseDOM } from '../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\ninterface EventListenerHandle {\n add: (el: HTMLElement | Document | Window) => void;\n remove: () => void;\n}\n\nexport function useEventListener<K extends keyof GlobalEventHandlersEventMap>(\n event: K,\n _cb: false | null | undefined | ((ev: GlobalEventHandlersEventMap[K]) => void),\n _options?: AddEventListenerOptions,\n): EventListenerHandle;\nexport function useEventListener<E extends Event>(\n event: string,\n _cb: false | null | undefined | ((ev: E) => void),\n _options?: AddEventListenerOptions,\n): EventListenerHandle;\nexport function useEventListener<E extends Event, K extends keyof GlobalEventHandlersEventMap>(\n event: string | K,\n _cb: false | null | undefined | ((ev: E) => void),\n _options?: AddEventListenerOptions,\n): EventListenerHandle {\n const cbRef = React.useRef(_cb);\n useIsomorphicLayoutEffect(() => {\n cbRef.current = _cb;\n }, [_cb]);\n const cb = React.useCallback((e: any) => cbRef.current && cbRef.current(e), []);\n\n const detach = React.useRef(noop);\n const remove = React.useCallback(() => {\n detach.current();\n detach.current = noop;\n }, []);\n const add = React.useCallback(\n (el: HTMLElement | Document | Window) => {\n if (!canUseDOM) {\n return;\n }\n remove();\n if (!el) {\n return;\n }\n const options = { ..._options };\n el.addEventListener(event, cb, options);\n detach.current = () => el.removeEventListener(event, cb, options);\n },\n [_options, cb, event, remove],\n );\n React.useEffect(() => remove, [remove]);\n\n return React.useMemo(() => ({ add, remove }), [add, remove]);\n}\n"],"names":["React","noop","canUseDOM","useIsomorphicLayoutEffect","useEventListener","event","_cb","_options","cbRef","useRef","current","cb","useCallback","e","detach","remove","add","el","options","addEventListener","removeEventListener","useEffect","useMemo"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,yBAAyB,QAAQ,mCAAmC;AAiB7E,OAAO,SAASC,iBACdC,KAAiB,EACjBC,GAAiD,EACjDC,QAAkC;IAElC,MAAMC,QAAQR,MAAMS,MAAM,CAACH;IAC3BH,0BAA0B;QACxBK,MAAME,OAAO,GAAGJ;IAClB,GAAG;QAACA;KAAI;IACR,MAAMK,KAAKX,MAAMY,WAAW,CAAC,CAACC,IAAWL,MAAME,OAAO,IAAIF,MAAME,OAAO,CAACG,IAAI,EAAE;IAE9E,MAAMC,SAASd,MAAMS,MAAM,CAACR;IAC5B,MAAMc,SAASf,MAAMY,WAAW,CAAC;QAC/BE,OAAOJ,OAAO;QACdI,OAAOJ,OAAO,GAAGT;IACnB,GAAG,EAAE;IACL,MAAMe,MAAMhB,MAAMY,WAAW,CAC3B,CAACK;QACC,IAAI,CAACf,WAAW;YACd;QACF;QACAa;QACA,IAAI,CAACE,IAAI;YACP;QACF;QACA,MAAMC,UAAU;YAAE,GAAGX,QAAQ;QAAC;QAC9BU,GAAGE,gBAAgB,CAACd,OAAOM,IAAIO;QAC/BJ,OAAOJ,OAAO,GAAG,IAAMO,GAAGG,mBAAmB,CAACf,OAAOM,IAAIO;IAC3D,GACA;QAACX;QAAUI;QAAIN;QAAOU;KAAO;IAE/Bf,MAAMqB,SAAS,CAAC,IAAMN,QAAQ;QAACA;KAAO;IAEtC,OAAOf,MAAMsB,OAAO,CAAC,IAAO,CAAA;YAAEN;YAAKD;QAAO,CAAA,GAAI;QAACC;QAAKD;KAAO;AAC7D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useExternRef.ts"],"sourcesContent":["import * as React from 'react';\nimport { setRef } from '../lib/utils';\n\nexport function useExternRef<T>(\n ...externRefs: Array<React.Ref<T> | undefined | false>\n): React.MutableRefObject<T | null> {\n const stableRef = React.useRef<T | null>(null);\n\n return React.useMemo(\n () => ({\n get current() {\n return stableRef.current;\n },\n set current(el) {\n stableRef.current = el;\n externRefs.forEach((ref) => {\n if (ref) {\n setRef(el, ref);\n }\n });\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n externRefs,\n );\n}\n"],"names":["React","setRef","useExternRef","externRefs","stableRef","useRef","useMemo","current","el","forEach","ref"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,MAAM,QAAQ,eAAe;AAEtC,OAAO,SAASC,aACd,GAAGC,UAAmD;IAEtD,MAAMC,YAAYJ,MAAMK,OAAiB;IAEzC,OAAOL,MAAMM,QACX,IAAO,CAAA;YACL,IAAIC,WAAU;gBACZ,OAAOH,UAAUG;YACnB;YACA,IAAIA,SAAQC,GAAI;gBACdJ,UAAUG,UAAUC;gBACpBL,WAAWM,QAAQ,CAACC;oBAClB,IAAIA,KAAK;wBACPT,OAAOO,IAAIE;oBACb;gBACF;YACF;QACF,CAAA,GACA,uDAAuD;IACvDP;AAEJ"}
1
+ {"version":3,"sources":["../../../src/hooks/useExternRef.ts"],"sourcesContent":["import * as React from 'react';\nimport { setRef } from '../lib/utils';\n\nexport function useExternRef<T>(\n ...externRefs: Array<React.Ref<T> | undefined | false>\n): React.MutableRefObject<T | null> {\n const stableRef = React.useRef<T | null>(null);\n\n return React.useMemo(\n () => ({\n get current() {\n return stableRef.current;\n },\n set current(el) {\n stableRef.current = el;\n externRefs.forEach((ref) => {\n if (ref) {\n setRef(el, ref);\n }\n });\n },\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n externRefs,\n );\n}\n"],"names":["React","setRef","useExternRef","externRefs","stableRef","useRef","useMemo","current","el","forEach","ref"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,MAAM,QAAQ,eAAe;AAEtC,OAAO,SAASC,aACd,GAAGC,UAAmD;IAEtD,MAAMC,YAAYJ,MAAMK,MAAM,CAAW;IAEzC,OAAOL,MAAMM,OAAO,CAClB,IAAO,CAAA;YACL,IAAIC,WAAU;gBACZ,OAAOH,UAAUG,OAAO;YAC1B;YACA,IAAIA,SAAQC,GAAI;gBACdJ,UAAUG,OAAO,GAAGC;gBACpBL,WAAWM,OAAO,CAAC,CAACC;oBAClB,IAAIA,KAAK;wBACPT,OAAOO,IAAIE;oBACb;gBACF;YACF;QACF,CAAA,GACA,uDAAuD;IACvDP;AAEJ"}
@@ -2,7 +2,7 @@ import { useCallback, useContext, useState } from 'react';
2
2
  import { AppRootContext } from '../components/AppRoot/AppRootContext';
3
3
  export function useFocusVisible(withKeyboardInputCheck = true) {
4
4
  const [isFocused, setIsFocused] = useState(false);
5
- const { keyboardInput } = useContext(AppRootContext);
5
+ const { keyboardInput } = useContext(AppRootContext);
6
6
  const onFocus = useCallback((event)=>{
7
7
  event.stopPropagation();
8
8
  setIsFocused(true);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useFocusVisible.ts"],"sourcesContent":["import { FocusEvent, useCallback, useContext, useState } from 'react';\nimport { AppRootContext } from '../components/AppRoot/AppRootContext';\n\nexport function useFocusVisible(withKeyboardInputCheck = true) {\n const [isFocused, setIsFocused] = useState(false);\n const { keyboardInput } = useContext(AppRootContext);\n\n const onFocus = useCallback(\n (event: FocusEvent<HTMLElement>) => {\n event.stopPropagation();\n setIsFocused(true);\n },\n [setIsFocused],\n );\n\n const onBlur = useCallback(\n (event: FocusEvent<HTMLElement>) => {\n event.stopPropagation();\n setIsFocused(false);\n },\n [setIsFocused],\n );\n\n const focusVisible = withKeyboardInputCheck ? keyboardInput && isFocused : isFocused;\n\n return {\n focusVisible,\n onFocus,\n onBlur,\n };\n}\n"],"names":["useCallback","useContext","useState","AppRootContext","useFocusVisible","withKeyboardInputCheck","isFocused","setIsFocused","keyboardInput","onFocus","event","stopPropagation","onBlur","focusVisible"],"mappings":"AAAA,SAAqBA,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,QAAQ;AACtE,SAASC,cAAc,QAAQ,uCAAuC;AAEtE,OAAO,SAASC,gBAAgBC,yBAAyB,IAAI;IAC3D,MAAM,CAACC,WAAWC,aAAa,GAAGL,SAAS;IAC3C,MAAM,EAAEM,cAAa,EAAE,GAAGP,WAAWE;IAErC,MAAMM,UAAUT,YACd,CAACU;QACCA,MAAMC;QACNJ,aAAa;IACf,GACA;QAACA;KAAa;IAGhB,MAAMK,SAASZ,YACb,CAACU;QACCA,MAAMC;QACNJ,aAAa;IACf,GACA;QAACA;KAAa;IAGhB,MAAMM,eAAeR,yBAAyBG,iBAAiBF,YAAYA;IAE3E,OAAO;QACLO;QACAJ;QACAG;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/hooks/useFocusVisible.ts"],"sourcesContent":["import { FocusEvent, useCallback, useContext, useState } from 'react';\nimport { AppRootContext } from '../components/AppRoot/AppRootContext';\n\nexport function useFocusVisible(withKeyboardInputCheck = true) {\n const [isFocused, setIsFocused] = useState(false);\n const { keyboardInput } = useContext(AppRootContext);\n\n const onFocus = useCallback(\n (event: FocusEvent<HTMLElement>) => {\n event.stopPropagation();\n setIsFocused(true);\n },\n [setIsFocused],\n );\n\n const onBlur = useCallback(\n (event: FocusEvent<HTMLElement>) => {\n event.stopPropagation();\n setIsFocused(false);\n },\n [setIsFocused],\n );\n\n const focusVisible = withKeyboardInputCheck ? keyboardInput && isFocused : isFocused;\n\n return {\n focusVisible,\n onFocus,\n onBlur,\n };\n}\n"],"names":["useCallback","useContext","useState","AppRootContext","useFocusVisible","withKeyboardInputCheck","isFocused","setIsFocused","keyboardInput","onFocus","event","stopPropagation","onBlur","focusVisible"],"mappings":"AAAA,SAAqBA,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,QAAQ;AACtE,SAASC,cAAc,QAAQ,uCAAuC;AAEtE,OAAO,SAASC,gBAAgBC,yBAAyB,IAAI;IAC3D,MAAM,CAACC,WAAWC,aAAa,GAAGL,SAAS;IAC3C,MAAM,EAAEM,aAAa,EAAE,GAAGP,WAAWE;IAErC,MAAMM,UAAUT,YACd,CAACU;QACCA,MAAMC,eAAe;QACrBJ,aAAa;IACf,GACA;QAACA;KAAa;IAGhB,MAAMK,SAASZ,YACb,CAACU;QACCA,MAAMC,eAAe;QACrBJ,aAAa;IACf,GACA;QAACA;KAAa;IAGhB,MAAMM,eAAeR,yBAAyBG,iBAAiBF,YAAYA;IAE3E,OAAO;QACLO;QACAJ;QACAG;IACF;AACF"}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { useDOM } from '../lib/dom';
3
3
  import { useGlobalEventListener } from './useGlobalEventListener';
4
4
  export function useFocusWithin(ref) {
5
- const { document } = useDOM();
5
+ const { document } = useDOM();
6
6
  const isFocusWithin = ()=>{
7
7
  if (!ref.current || !document) {
8
8
  return false;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useFocusWithin.ts"],"sourcesContent":["import React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useGlobalEventListener } from './useGlobalEventListener';\n\nexport function useFocusWithin(ref: React.RefObject<HTMLElement | null>): boolean {\n const { document } = useDOM();\n const isFocusWithin = () => {\n if (!ref.current || !document) {\n return false;\n }\n\n return ref.current.contains(document.activeElement);\n };\n\n const [focusWithin, setFocusWithin] = React.useState<boolean>(isFocusWithin);\n\n const listener = () => {\n const focus = isFocusWithin();\n focus !== focusWithin && setFocusWithin(focus);\n };\n\n useGlobalEventListener(document, 'focus', listener, { capture: true });\n useGlobalEventListener(document, 'blur', listener, { capture: true });\n\n return focusWithin;\n}\n"],"names":["React","useDOM","useGlobalEventListener","useFocusWithin","ref","document","isFocusWithin","current","contains","activeElement","focusWithin","setFocusWithin","useState","listener","focus","capture"],"mappings":"AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,sBAAsB,QAAQ,2BAA2B;AAElE,OAAO,SAASC,eAAeC,GAAwC;IACrE,MAAM,EAAEC,SAAQ,EAAE,GAAGJ;IACrB,MAAMK,gBAAgB;QACpB,IAAI,CAACF,IAAIG,WAAW,CAACF,UAAU;YAC7B,OAAO;QACT;QAEA,OAAOD,IAAIG,QAAQC,SAASH,SAASI;IACvC;IAEA,MAAM,CAACC,aAAaC,eAAe,GAAGX,MAAMY,SAAkBN;IAE9D,MAAMO,WAAW;QACf,MAAMC,QAAQR;QACdQ,UAAUJ,eAAeC,eAAeG;IAC1C;IAEAZ,uBAAuBG,UAAU,SAASQ,UAAU;QAAEE,SAAS;IAAK;IACpEb,uBAAuBG,UAAU,QAAQQ,UAAU;QAAEE,SAAS;IAAK;IAEnE,OAAOL;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useFocusWithin.ts"],"sourcesContent":["import React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useGlobalEventListener } from './useGlobalEventListener';\n\nexport function useFocusWithin(ref: React.RefObject<HTMLElement | null>): boolean {\n const { document } = useDOM();\n const isFocusWithin = () => {\n if (!ref.current || !document) {\n return false;\n }\n\n return ref.current.contains(document.activeElement);\n };\n\n const [focusWithin, setFocusWithin] = React.useState<boolean>(isFocusWithin);\n\n const listener = () => {\n const focus = isFocusWithin();\n focus !== focusWithin && setFocusWithin(focus);\n };\n\n useGlobalEventListener(document, 'focus', listener, { capture: true });\n useGlobalEventListener(document, 'blur', listener, { capture: true });\n\n return focusWithin;\n}\n"],"names":["React","useDOM","useGlobalEventListener","useFocusWithin","ref","document","isFocusWithin","current","contains","activeElement","focusWithin","setFocusWithin","useState","listener","focus","capture"],"mappings":"AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,sBAAsB,QAAQ,2BAA2B;AAElE,OAAO,SAASC,eAAeC,GAAwC;IACrE,MAAM,EAAEC,QAAQ,EAAE,GAAGJ;IACrB,MAAMK,gBAAgB;QACpB,IAAI,CAACF,IAAIG,OAAO,IAAI,CAACF,UAAU;YAC7B,OAAO;QACT;QAEA,OAAOD,IAAIG,OAAO,CAACC,QAAQ,CAACH,SAASI,aAAa;IACpD;IAEA,MAAM,CAACC,aAAaC,eAAe,GAAGX,MAAMY,QAAQ,CAAUN;IAE9D,MAAMO,WAAW;QACf,MAAMC,QAAQR;QACdQ,UAAUJ,eAAeC,eAAeG;IAC1C;IAEAZ,uBAAuBG,UAAU,SAASQ,UAAU;QAAEE,SAAS;IAAK;IACpEb,uBAAuBG,UAAU,QAAQQ,UAAU;QAAEE,SAAS;IAAK;IAEnE,OAAOL;AACT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useGlobalEventListener.ts"],"sourcesContent":["import { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\nimport { useEventListener } from './useEventListener';\n\nexport function useGlobalEventListener<K extends keyof GlobalEventHandlersEventMap>(\n element: Document | HTMLElement | Window | null | undefined,\n event: K,\n cb: ((ev: GlobalEventHandlersEventMap[K]) => void) | null | false | undefined,\n options?: AddEventListenerOptions,\n): void;\nexport function useGlobalEventListener<E extends Event>(\n element: Document | HTMLElement | Window | null | undefined,\n event: string,\n cb: ((ev: E) => void) | null | false | undefined,\n options?: AddEventListenerOptions,\n): void;\nexport function useGlobalEventListener<\n K extends keyof GlobalEventHandlersEventMap,\n E extends Event,\n>(\n element: Document | HTMLElement | Window | null | undefined,\n event: K | string,\n cb: ((ev: E) => void) | null | false | undefined,\n options?: AddEventListenerOptions,\n) {\n const listener = useEventListener(event, cb, options);\n useIsomorphicLayoutEffect(() => {\n if (cb && element) {\n listener.add(element);\n } else {\n listener.remove();\n }\n }, [Boolean(cb), Boolean(element)]);\n}\n"],"names":["useIsomorphicLayoutEffect","useEventListener","useGlobalEventListener","element","event","cb","options","listener","add","remove","Boolean"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ,mCAAmC;AAC7E,SAASC,gBAAgB,QAAQ,qBAAqB;AActD,OAAO,SAASC,uBAIdC,OAA2D,EAC3DC,KAAiB,EACjBC,EAAgD,EAChDC,OAAiC;IAEjC,MAAMC,WAAWN,iBAAiBG,OAAOC,IAAIC;IAC7CN,0BAA0B;QACxB,IAAIK,MAAMF,SAAS;YACjBI,SAASC,IAAIL;QACf,OAAO;YACLI,SAASE;QACX;IACF,GAAG;QAACC,QAAQL;QAAKK,QAAQP;KAAS;AACpC"}
1
+ {"version":3,"sources":["../../../src/hooks/useGlobalEventListener.ts"],"sourcesContent":["import { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\nimport { useEventListener } from './useEventListener';\n\nexport function useGlobalEventListener<K extends keyof GlobalEventHandlersEventMap>(\n element: Document | HTMLElement | Window | null | undefined,\n event: K,\n cb: ((ev: GlobalEventHandlersEventMap[K]) => void) | null | false | undefined,\n options?: AddEventListenerOptions,\n): void;\nexport function useGlobalEventListener<E extends Event>(\n element: Document | HTMLElement | Window | null | undefined,\n event: string,\n cb: ((ev: E) => void) | null | false | undefined,\n options?: AddEventListenerOptions,\n): void;\nexport function useGlobalEventListener<\n K extends keyof GlobalEventHandlersEventMap,\n E extends Event,\n>(\n element: Document | HTMLElement | Window | null | undefined,\n event: K | string,\n cb: ((ev: E) => void) | null | false | undefined,\n options?: AddEventListenerOptions,\n) {\n const listener = useEventListener(event, cb, options);\n useIsomorphicLayoutEffect(() => {\n if (cb && element) {\n listener.add(element);\n } else {\n listener.remove();\n }\n }, [Boolean(cb), Boolean(element)]);\n}\n"],"names":["useIsomorphicLayoutEffect","useEventListener","useGlobalEventListener","element","event","cb","options","listener","add","remove","Boolean"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ,mCAAmC;AAC7E,SAASC,gBAAgB,QAAQ,qBAAqB;AActD,OAAO,SAASC,uBAIdC,OAA2D,EAC3DC,KAAiB,EACjBC,EAAgD,EAChDC,OAAiC;IAEjC,MAAMC,WAAWN,iBAAiBG,OAAOC,IAAIC;IAC7CN,0BAA0B;QACxB,IAAIK,MAAMF,SAAS;YACjBI,SAASC,GAAG,CAACL;QACf,OAAO;YACLI,SAASE,MAAM;QACjB;IACF,GAAG;QAACC,QAAQL;QAAKK,QAAQP;KAAS;AACpC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useId.ts"],"sourcesContent":["import * as React from 'react';\n\n// Workaround for https://github.com/webpack/webpack/issues/14814\n// https://github.com/eps1lon/material-ui/blob/8d5f135b4d7a58253a99ab56dce4ac8de61f5dc1/packages/mui-utils/src/useId.ts#L21\nconst maybeReactUseId: undefined | (() => string) = (React as any)['useId'.toString()];\n\nlet id = 0;\n\n// TODO [react@>=18]: Remove after React 18\nfunction useIncrementingCounterID(): string {\n const [state] = React.useState(() => id++);\n\n return `:r${state}:`;\n}\n\nexport const useId: () => string = maybeReactUseId ?? useIncrementingCounterID;\n"],"names":["React","maybeReactUseId","toString","id","useIncrementingCounterID","state","useState","useId"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,iEAAiE;AACjE,2HAA2H;AAC3H,MAAMC,kBAA8C,AAACD,KAAa,CAAC,QAAQE,WAAW;AAEtF,IAAIC,KAAK;AAET,2CAA2C;AAC3C,SAASC;IACP,MAAM,CAACC,MAAM,GAAGL,MAAMM,SAAS,IAAMH;IAErC,OAAO,CAAC,EAAE,EAAEE,MAAM,CAAC,CAAC;AACtB;AAEA,OAAO,MAAME,QAAsBN,mBAAmBG,yBAAyB"}
1
+ {"version":3,"sources":["../../../src/hooks/useId.ts"],"sourcesContent":["import * as React from 'react';\n\n// Workaround for https://github.com/webpack/webpack/issues/14814\n// https://github.com/eps1lon/material-ui/blob/8d5f135b4d7a58253a99ab56dce4ac8de61f5dc1/packages/mui-utils/src/useId.ts#L21\nconst maybeReactUseId: undefined | (() => string) = (React as any)['useId'.toString()];\n\nlet id = 0;\n\n// TODO [react@>=18]: Remove after React 18\nfunction useIncrementingCounterID(): string {\n const [state] = React.useState(() => id++);\n\n return `:r${state}:`;\n}\n\nexport const useId: () => string = maybeReactUseId ?? useIncrementingCounterID;\n"],"names":["React","maybeReactUseId","toString","id","useIncrementingCounterID","state","useState","useId"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B,iEAAiE;AACjE,2HAA2H;AAC3H,MAAMC,kBAA8C,AAACD,KAAa,CAAC,QAAQE,QAAQ,GAAG;AAEtF,IAAIC,KAAK;AAET,2CAA2C;AAC3C,SAASC;IACP,MAAM,CAACC,MAAM,GAAGL,MAAMM,QAAQ,CAAC,IAAMH;IAErC,OAAO,CAAC,EAAE,EAAEE,MAAM,CAAC,CAAC;AACtB;AAEA,OAAO,MAAME,QAAsBN,mBAAmBG,yBAAyB"}
@@ -8,11 +8,11 @@ let initialState = {
8
8
  right: null
9
9
  };
10
10
  function resolveInsets(e) {
11
- const { type , data } = e.detail;
11
+ const { type, data } = e.detail;
12
12
  switch(type){
13
13
  case 'VKWebAppUpdateConfig':
14
14
  case 'VKWebAppUpdateInsets':
15
- const { insets } = data;
15
+ const { insets } = data;
16
16
  if (insets) {
17
17
  return {
18
18
  ...insets,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useInsets.ts"],"sourcesContent":["import * as React from 'react';\nimport vkBridge, { Insets as BridgeInsets } from '@vkontakte/vk-bridge';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nexport interface Insets {\n bottom: BridgeInsets['bottom'] | null;\n top: BridgeInsets['top'] | null;\n left: BridgeInsets['left'] | null;\n right: BridgeInsets['right'] | null;\n}\n\nlet initialState: Insets = {\n bottom: null,\n top: null,\n left: null,\n right: null,\n};\n\ninterface BridgeEvent {\n detail: {\n type: string;\n data: {\n [index: string]: any;\n };\n };\n}\n\nfunction resolveInsets(e: BridgeEvent): Insets | null {\n const { type, data } = e.detail;\n switch (type) {\n case 'VKWebAppUpdateConfig':\n case 'VKWebAppUpdateInsets': // Устаревшее событие vk-bridge\n const { insets } = data;\n if (insets) {\n return {\n ...insets,\n bottom: insets.bottom > 150 ? 0 : insets.bottom, // если больше 150 – значит открылась клава и она сама работает как инсет, то есть наш нужно занулить\n };\n }\n }\n return null;\n}\n\nvkBridge.subscribe((e: BridgeEvent) => {\n const insets = resolveInsets(e);\n if (insets) {\n initialState = insets;\n }\n});\n\nexport function useInsets(): Insets {\n const [insets, setInsets] = React.useState<Insets>(initialState);\n\n useIsomorphicLayoutEffect(() => {\n function connectListener(e: BridgeEvent) {\n const insets = resolveInsets(e);\n if (insets) {\n setInsets(insets);\n }\n }\n\n vkBridge.subscribe(connectListener);\n return () => {\n vkBridge.unsubscribe(connectListener);\n };\n }, []);\n\n return insets;\n}\n"],"names":["React","vkBridge","useIsomorphicLayoutEffect","initialState","bottom","top","left","right","resolveInsets","e","type","data","detail","insets","subscribe","useInsets","setInsets","useState","connectListener","unsubscribe"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,OAAOC,cAA0C,uBAAuB;AACxE,SAASC,yBAAyB,QAAQ,mCAAmC;AAS7E,IAAIC,eAAuB;IACzBC,QAAQ;IACRC,KAAK;IACLC,MAAM;IACNC,OAAO;AACT;AAWA,SAASC,cAAcC,CAAc;IACnC,MAAM,EAAEC,KAAI,EAAEC,KAAI,EAAE,GAAGF,EAAEG;IACzB,OAAQF;QACN,KAAK;QACL,KAAK;YACH,MAAM,EAAEG,OAAM,EAAE,GAAGF;YACnB,IAAIE,QAAQ;gBACV,OAAO;oBACL,GAAGA,MAAM;oBACTT,QAAQS,OAAOT,SAAS,MAAM,IAAIS,OAAOT;gBAC3C;YACF;IACJ;IACA,OAAO;AACT;AAEAH,SAASa,UAAU,CAACL;IAClB,MAAMI,SAASL,cAAcC;IAC7B,IAAII,QAAQ;QACVV,eAAeU;IACjB;AACF;AAEA,OAAO,SAASE;IACd,MAAM,CAACF,QAAQG,UAAU,GAAGhB,MAAMiB,SAAiBd;IAEnDD,0BAA0B;QACxB,SAASgB,gBAAgBT,CAAc;YACrC,MAAMI,SAASL,cAAcC;YAC7B,IAAII,QAAQ;gBACVG,UAAUH;YACZ;QACF;QAEAZ,SAASa,UAAUI;QACnB,OAAO;YACLjB,SAASkB,YAAYD;QACvB;IACF,GAAG,EAAE;IAEL,OAAOL;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useInsets.ts"],"sourcesContent":["import * as React from 'react';\nimport vkBridge, { Insets as BridgeInsets } from '@vkontakte/vk-bridge';\nimport { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect';\n\nexport interface Insets {\n bottom: BridgeInsets['bottom'] | null;\n top: BridgeInsets['top'] | null;\n left: BridgeInsets['left'] | null;\n right: BridgeInsets['right'] | null;\n}\n\nlet initialState: Insets = {\n bottom: null,\n top: null,\n left: null,\n right: null,\n};\n\ninterface BridgeEvent {\n detail: {\n type: string;\n data: {\n [index: string]: any;\n };\n };\n}\n\nfunction resolveInsets(e: BridgeEvent): Insets | null {\n const { type, data } = e.detail;\n switch (type) {\n case 'VKWebAppUpdateConfig':\n case 'VKWebAppUpdateInsets': // Устаревшее событие vk-bridge\n const { insets } = data;\n if (insets) {\n return {\n ...insets,\n bottom: insets.bottom > 150 ? 0 : insets.bottom, // если больше 150 – значит открылась клава и она сама работает как инсет, то есть наш нужно занулить\n };\n }\n }\n return null;\n}\n\nvkBridge.subscribe((e: BridgeEvent) => {\n const insets = resolveInsets(e);\n if (insets) {\n initialState = insets;\n }\n});\n\nexport function useInsets(): Insets {\n const [insets, setInsets] = React.useState<Insets>(initialState);\n\n useIsomorphicLayoutEffect(() => {\n function connectListener(e: BridgeEvent) {\n const insets = resolveInsets(e);\n if (insets) {\n setInsets(insets);\n }\n }\n\n vkBridge.subscribe(connectListener);\n return () => {\n vkBridge.unsubscribe(connectListener);\n };\n }, []);\n\n return insets;\n}\n"],"names":["React","vkBridge","useIsomorphicLayoutEffect","initialState","bottom","top","left","right","resolveInsets","e","type","data","detail","insets","subscribe","useInsets","setInsets","useState","connectListener","unsubscribe"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,OAAOC,cAA0C,uBAAuB;AACxE,SAASC,yBAAyB,QAAQ,mCAAmC;AAS7E,IAAIC,eAAuB;IACzBC,QAAQ;IACRC,KAAK;IACLC,MAAM;IACNC,OAAO;AACT;AAWA,SAASC,cAAcC,CAAc;IACnC,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGF,EAAEG,MAAM;IAC/B,OAAQF;QACN,KAAK;QACL,KAAK;YACH,MAAM,EAAEG,MAAM,EAAE,GAAGF;YACnB,IAAIE,QAAQ;gBACV,OAAO;oBACL,GAAGA,MAAM;oBACTT,QAAQS,OAAOT,MAAM,GAAG,MAAM,IAAIS,OAAOT,MAAM;gBACjD;YACF;IACJ;IACA,OAAO;AACT;AAEAH,SAASa,SAAS,CAAC,CAACL;IAClB,MAAMI,SAASL,cAAcC;IAC7B,IAAII,QAAQ;QACVV,eAAeU;IACjB;AACF;AAEA,OAAO,SAASE;IACd,MAAM,CAACF,QAAQG,UAAU,GAAGhB,MAAMiB,QAAQ,CAASd;IAEnDD,0BAA0B;QACxB,SAASgB,gBAAgBT,CAAc;YACrC,MAAMI,SAASL,cAAcC;YAC7B,IAAII,QAAQ;gBACVG,UAAUH;YACZ;QACF;QAEAZ,SAASa,SAAS,CAACI;QACnB,OAAO;YACLjB,SAASkB,WAAW,CAACD;QACvB;IACF,GAAG,EAAE;IAEL,OAAOL;AACT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useIsClient.ts"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Хук для two-pass рендеринга.\n *\n * ВНИМАНИЕ: Этот подход сделает ваши компоненты медленнее, потому что они\n * должны рендериться дважды, поэтому используйте хук с осторожностью.\n *\n * @see {@link https://beta.reactjs.org/apis/react-dom/hydrate#handling-different-client-and-server-content React Docs}\n */\nexport function useIsClient(initial = false) {\n const [isClient, setIsClient] = React.useState(initial);\n\n React.useEffect(() => {\n setIsClient(true);\n }, []);\n\n return isClient;\n}\n"],"names":["React","useIsClient","initial","isClient","setIsClient","useState","useEffect"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B;;;;;;;CAOC,GACD,OAAO,SAASC,YAAYC,UAAU,KAAK;IACzC,MAAM,CAACC,UAAUC,YAAY,GAAGJ,MAAMK,SAASH;IAE/CF,MAAMM,UAAU;QACdF,YAAY;IACd,GAAG,EAAE;IAEL,OAAOD;AACT"}
1
+ {"version":3,"sources":["../../../src/hooks/useIsClient.ts"],"sourcesContent":["import * as React from 'react';\n\n/**\n * Хук для two-pass рендеринга.\n *\n * ВНИМАНИЕ: Этот подход сделает ваши компоненты медленнее, потому что они\n * должны рендериться дважды, поэтому используйте хук с осторожностью.\n *\n * @see {@link https://beta.reactjs.org/apis/react-dom/hydrate#handling-different-client-and-server-content React Docs}\n */\nexport function useIsClient(initial = false) {\n const [isClient, setIsClient] = React.useState(initial);\n\n React.useEffect(() => {\n setIsClient(true);\n }, []);\n\n return isClient;\n}\n"],"names":["React","useIsClient","initial","isClient","setIsClient","useState","useEffect"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAE/B;;;;;;;CAOC,GACD,OAAO,SAASC,YAAYC,UAAU,KAAK;IACzC,MAAM,CAACC,UAAUC,YAAY,GAAGJ,MAAMK,QAAQ,CAACH;IAE/CF,MAAMM,SAAS,CAAC;QACdF,YAAY;IACd,GAAG,EAAE;IAEL,OAAOD;AACT"}
@@ -5,7 +5,7 @@ import { useGlobalEventListener } from './useGlobalEventListener';
5
5
  Проверяет, закрыла ли клавиатура часть экрана, 24% подошло к большинству устройств
6
6
  Работает на iOS и Android, где софт-клавиатура ресайзит viewport в браузерах
7
7
  */ export function getPreciseKeyboardState(window) {
8
- const { innerHeight , screen: { availHeight } } = window;
8
+ const { innerHeight, screen: { availHeight } } = window;
9
9
  const coveredViewportPercentage = Math.round((1 - innerHeight / availHeight) * 100);
10
10
  return coveredViewportPercentage > 24;
11
11
  }
@@ -14,7 +14,7 @@ const eventOptions = {
14
14
  capture: false
15
15
  };
16
16
  export function useKeyboard() {
17
- const { document } = useDOM();
17
+ const { document } = useDOM();
18
18
  const [isOpened, setIsOpened] = React.useState(false);
19
19
  const onFocus = React.useCallback((event)=>{
20
20
  const isOpened = (event === true || event.type === 'focusin') && (document?.activeElement?.tagName === 'INPUT' || document?.activeElement?.tagName === 'TEXTAREA');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useKeyboard.ts"],"sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useGlobalEventListener } from './useGlobalEventListener';\n\ninterface SoftwareKeyboardState {\n isOpened: boolean;\n}\n\n/**\n Проверяет, закрыла ли клавиатура часть экрана, 24% подошло к большинству устройств\n Работает на iOS и Android, где софт-клавиатура ресайзит viewport в браузерах\n */\nexport function getPreciseKeyboardState(window: any): boolean {\n const {\n innerHeight,\n screen: { availHeight },\n } = window;\n\n const coveredViewportPercentage = Math.round((1 - innerHeight / availHeight) * 100);\n return coveredViewportPercentage > 24;\n}\n\nconst eventOptions = {\n passive: true,\n capture: false,\n};\n\nexport function useKeyboard(): SoftwareKeyboardState {\n const { document } = useDOM();\n\n const [isOpened, setIsOpened] = React.useState(false);\n\n const onFocus = React.useCallback(\n (event: FocusEvent | true) => {\n const isOpened =\n (event === true || event.type === 'focusin') &&\n (document?.activeElement?.tagName === 'INPUT' ||\n document?.activeElement?.tagName === 'TEXTAREA');\n setIsOpened(isOpened);\n },\n [document?.activeElement?.tagName],\n );\n\n /**\n У полей с autoFocus не отлавливаются события focus, для этого вызываем вручную,\n чтобы иметь хоть какое-то понимание происходящего.\n */\n React.useEffect(() => {\n onFocus(true);\n }, [onFocus]);\n\n useGlobalEventListener(document, 'focusout', onFocus, eventOptions);\n useGlobalEventListener(document, 'focusin', onFocus, eventOptions);\n\n return { isOpened };\n}\n"],"names":["React","useDOM","useGlobalEventListener","getPreciseKeyboardState","window","innerHeight","screen","availHeight","coveredViewportPercentage","Math","round","eventOptions","passive","capture","useKeyboard","document","isOpened","setIsOpened","useState","onFocus","useCallback","event","type","activeElement","tagName","useEffect"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,sBAAsB,QAAQ,2BAA2B;AAMlE;;;CAGC,GACD,OAAO,SAASC,wBAAwBC,MAAW;IACjD,MAAM,EACJC,YAAW,EACXC,QAAQ,EAAEC,YAAW,EAAE,CAAA,EACxB,GAAGH;IAEJ,MAAMI,4BAA4BC,KAAKC,MAAM,AAAC,CAAA,IAAIL,cAAcE,WAAU,IAAK;IAC/E,OAAOC,4BAA4B;AACrC;AAEA,MAAMG,eAAe;IACnBC,SAAS;IACTC,SAAS;AACX;AAEA,OAAO,SAASC;IACd,MAAM,EAAEC,SAAQ,EAAE,GAAGd;IAErB,MAAM,CAACe,UAAUC,YAAY,GAAGjB,MAAMkB,SAAS;IAE/C,MAAMC,UAAUnB,MAAMoB,YACpB,CAACC;QACC,MAAML,WACJ,AAACK,CAAAA,UAAU,QAAQA,MAAMC,SAAS,SAAQ,KACzCP,CAAAA,UAAUQ,eAAeC,YAAY,WACpCT,UAAUQ,eAAeC,YAAY,UAAS;QAClDP,YAAYD;IACd,GACA;QAACD,UAAUQ,eAAeC;KAAQ;IAGpC;;;GAGC,GACDxB,MAAMyB,UAAU;QACdN,QAAQ;IACV,GAAG;QAACA;KAAQ;IAEZjB,uBAAuBa,UAAU,YAAYI,SAASR;IACtDT,uBAAuBa,UAAU,WAAWI,SAASR;IAErD,OAAO;QAAEK;IAAS;AACpB"}
1
+ {"version":3,"sources":["../../../src/hooks/useKeyboard.ts"],"sourcesContent":["import * as React from 'react';\nimport { useDOM } from '../lib/dom';\nimport { useGlobalEventListener } from './useGlobalEventListener';\n\ninterface SoftwareKeyboardState {\n isOpened: boolean;\n}\n\n/**\n Проверяет, закрыла ли клавиатура часть экрана, 24% подошло к большинству устройств\n Работает на iOS и Android, где софт-клавиатура ресайзит viewport в браузерах\n */\nexport function getPreciseKeyboardState(window: any): boolean {\n const {\n innerHeight,\n screen: { availHeight },\n } = window;\n\n const coveredViewportPercentage = Math.round((1 - innerHeight / availHeight) * 100);\n return coveredViewportPercentage > 24;\n}\n\nconst eventOptions = {\n passive: true,\n capture: false,\n};\n\nexport function useKeyboard(): SoftwareKeyboardState {\n const { document } = useDOM();\n\n const [isOpened, setIsOpened] = React.useState(false);\n\n const onFocus = React.useCallback(\n (event: FocusEvent | true) => {\n const isOpened =\n (event === true || event.type === 'focusin') &&\n (document?.activeElement?.tagName === 'INPUT' ||\n document?.activeElement?.tagName === 'TEXTAREA');\n setIsOpened(isOpened);\n },\n [document?.activeElement?.tagName],\n );\n\n /**\n У полей с autoFocus не отлавливаются события focus, для этого вызываем вручную,\n чтобы иметь хоть какое-то понимание происходящего.\n */\n React.useEffect(() => {\n onFocus(true);\n }, [onFocus]);\n\n useGlobalEventListener(document, 'focusout', onFocus, eventOptions);\n useGlobalEventListener(document, 'focusin', onFocus, eventOptions);\n\n return { isOpened };\n}\n"],"names":["React","useDOM","useGlobalEventListener","getPreciseKeyboardState","window","innerHeight","screen","availHeight","coveredViewportPercentage","Math","round","eventOptions","passive","capture","useKeyboard","document","isOpened","setIsOpened","useState","onFocus","useCallback","event","type","activeElement","tagName","useEffect"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,sBAAsB,QAAQ,2BAA2B;AAMlE;;;CAGC,GACD,OAAO,SAASC,wBAAwBC,MAAW;IACjD,MAAM,EACJC,WAAW,EACXC,QAAQ,EAAEC,WAAW,EAAE,EACxB,GAAGH;IAEJ,MAAMI,4BAA4BC,KAAKC,KAAK,CAAC,AAAC,CAAA,IAAIL,cAAcE,WAAU,IAAK;IAC/E,OAAOC,4BAA4B;AACrC;AAEA,MAAMG,eAAe;IACnBC,SAAS;IACTC,SAAS;AACX;AAEA,OAAO,SAASC;IACd,MAAM,EAAEC,QAAQ,EAAE,GAAGd;IAErB,MAAM,CAACe,UAAUC,YAAY,GAAGjB,MAAMkB,QAAQ,CAAC;IAE/C,MAAMC,UAAUnB,MAAMoB,WAAW,CAC/B,CAACC;QACC,MAAML,WACJ,AAACK,CAAAA,UAAU,QAAQA,MAAMC,IAAI,KAAK,SAAQ,KACzCP,CAAAA,UAAUQ,eAAeC,YAAY,WACpCT,UAAUQ,eAAeC,YAAY,UAAS;QAClDP,YAAYD;IACd,GACA;QAACD,UAAUQ,eAAeC;KAAQ;IAGpC;;;GAGC,GACDxB,MAAMyB,SAAS,CAAC;QACdN,QAAQ;IACV,GAAG;QAACA;KAAQ;IAEZjB,uBAAuBa,UAAU,YAAYI,SAASR;IACtDT,uBAAuBa,UAAU,WAAWI,SAASR;IAErD,OAAO;QAAEK;IAAS;AACpB"}
@@ -5,7 +5,7 @@ import { useGlobalEventListener } from './useGlobalEventListener';
5
5
  export const ENABLE_KEYBOARD_INPUT_EVENT_NAME = 'enableKeyboardInput';
6
6
  export const DISABLE_KEYBOARD_INPUT_EVENT_NAME = 'disableKeyboardInput';
7
7
  export function useKeyboardInputTracker() {
8
- const { document } = useDOM();
8
+ const { document } = useDOM();
9
9
  const [isKeyboardInputActive, toggleKeyboardInput] = React.useState(false);
10
10
  const enableKeyboardInput = React.useCallback(()=>{
11
11
  toggleKeyboardInput(true);