@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/helpers/math.ts"],"sourcesContent":["export const clamp = (value: number, min: number, max: number) =>\n Math.max(min, Math.min(value, max));\n\nexport function precisionRound(number: number, precision = 1) {\n let factor = Math.pow(10, precision);\n return Math.round(number * factor) / factor;\n}\n\nfunction precision(number: number) {\n return (`${number}`.split('.')[1] || '').length;\n}\n\nfunction decimatedClamp(val: number, min: number, max: number, step?: number) {\n if (step == null || step <= 0) {\n return clamp(val, min, max);\n }\n const prec = precision(step);\n // Round value to nearest min + k1 * step\n const decimatedOffset = precisionRound(Math.round((val - min) / step) * step, prec);\n // Round range length _down_ to nearest min + k2 * step\n const decimatedRange = precisionRound(Math.floor((max - min) / step) * step, prec);\n return min + clamp(decimatedOffset, 0, decimatedRange);\n}\n\nexport function rescale(\n value: number,\n from: [number, number],\n to: [number, number],\n options: { step?: number } = {},\n) {\n const scaled = ((value - from[0]) / (from[1] - from[0])) * (to[1] - to[0]) + to[0];\n return decimatedClamp(scaled, to[0], to[1], options.step);\n}\n"],"names":["clamp","value","min","max","Math","precisionRound","number","precision","factor","pow","round","split","length","decimatedClamp","val","step","prec","decimatedOffset","decimatedRange","floor","rescale","from","to","options","scaled"],"mappings":"AAAA,OAAO,IAAMA,QAAQ,SAACC,OAAeC,KAAaC;WAChDC,KAAKD,IAAID,KAAKE,KAAKF,IAAID,OAAOE;EAAM;AAEtC,OAAO,SAASE,eAAeC,MAAc;QAAEC,YAAAA,iEAAY;IACzD,IAAIC,SAASJ,KAAKK,IAAI,IAAIF;IAC1B,OAAOH,KAAKM,MAAMJ,SAASE,UAAUA;AACvC;AAEA,SAASD,UAAUD,MAAc;IAC/B,OAAO,AAAC,CAAA,AAAC,GAAS,OAAPA,QAASK,MAAM,IAAI,CAAC,EAAE,IAAI,EAAC,EAAGC;AAC3C;AAEA,SAASC,eAAeC,GAAW,EAAEZ,GAAW,EAAEC,GAAW,EAAEY,IAAa;IAC1E,IAAIA,QAAQ,QAAQA,QAAQ,GAAG;QAC7B,OAAOf,MAAMc,KAAKZ,KAAKC;IACzB;IACA,IAAMa,OAAOT,UAAUQ;IACvB,yCAAyC;IACzC,IAAME,kBAAkBZ,eAAeD,KAAKM,MAAM,AAACI,CAAAA,MAAMZ,GAAE,IAAKa,QAAQA,MAAMC;IAC9E,uDAAuD;IACvD,IAAME,iBAAiBb,eAAeD,KAAKe,MAAM,AAAChB,CAAAA,MAAMD,GAAE,IAAKa,QAAQA,MAAMC;IAC7E,OAAOd,MAAMF,MAAMiB,iBAAiB,GAAGC;AACzC;AAEA,OAAO,SAASE,QACdnB,KAAa,EACboB,IAAsB,EACtBC,EAAoB;QACpBC,UAAAA,iEAA6B,CAAC;IAE9B,IAAMC,SAAS,AAAEvB,CAAAA,QAAQoB,IAAI,CAAC,EAAE,AAAD,IAAMA,CAAAA,IAAI,CAAC,EAAE,GAAGA,IAAI,CAAC,EAAE,AAAD,IAAOC,CAAAA,EAAE,CAAC,EAAE,GAAGA,EAAE,CAAC,EAAE,AAAD,IAAKA,EAAE,CAAC,EAAE;IAClF,OAAOT,eAAeW,QAAQF,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAE,EAAEC,QAAQR;AACtD"}
1
+ {"version":3,"sources":["../../src/helpers/math.ts"],"sourcesContent":["export const clamp = (value: number, min: number, max: number) =>\n Math.max(min, Math.min(value, max));\n\nexport function precisionRound(number: number, precision = 1) {\n let factor = Math.pow(10, precision);\n return Math.round(number * factor) / factor;\n}\n\nfunction precision(number: number) {\n return (`${number}`.split('.')[1] || '').length;\n}\n\nfunction decimatedClamp(val: number, min: number, max: number, step?: number) {\n if (step == null || step <= 0) {\n return clamp(val, min, max);\n }\n const prec = precision(step);\n // Round value to nearest min + k1 * step\n const decimatedOffset = precisionRound(Math.round((val - min) / step) * step, prec);\n // Round range length _down_ to nearest min + k2 * step\n const decimatedRange = precisionRound(Math.floor((max - min) / step) * step, prec);\n return min + clamp(decimatedOffset, 0, decimatedRange);\n}\n\nexport function rescale(\n value: number,\n from: [number, number],\n to: [number, number],\n options: { step?: number } = {},\n) {\n const scaled = ((value - from[0]) / (from[1] - from[0])) * (to[1] - to[0]) + to[0];\n return decimatedClamp(scaled, to[0], to[1], options.step);\n}\n"],"names":["clamp","value","min","max","Math","precisionRound","number","precision","factor","pow","round","split","length","decimatedClamp","val","step","prec","decimatedOffset","decimatedRange","floor","rescale","from","to","options","scaled"],"mappings":"AAAA,OAAO,IAAMA,QAAQ,SAACC,OAAeC,KAAaC;WAChDC,KAAKD,GAAG,CAACD,KAAKE,KAAKF,GAAG,CAACD,OAAOE;EAAM;AAEtC,OAAO,SAASE,eAAeC,MAAc;QAAEC,YAAAA,iEAAY;IACzD,IAAIC,SAASJ,KAAKK,GAAG,CAAC,IAAIF;IAC1B,OAAOH,KAAKM,KAAK,CAACJ,SAASE,UAAUA;AACvC;AAEA,SAASD,UAAUD,MAAc;IAC/B,OAAO,AAAC,CAAA,AAAC,GAAS,OAAPA,QAASK,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,EAAGC,MAAM;AACjD;AAEA,SAASC,eAAeC,GAAW,EAAEZ,GAAW,EAAEC,GAAW,EAAEY,IAAa;IAC1E,IAAIA,QAAQ,QAAQA,QAAQ,GAAG;QAC7B,OAAOf,MAAMc,KAAKZ,KAAKC;IACzB;IACA,IAAMa,OAAOT,UAAUQ;IACvB,yCAAyC;IACzC,IAAME,kBAAkBZ,eAAeD,KAAKM,KAAK,CAAC,AAACI,CAAAA,MAAMZ,GAAE,IAAKa,QAAQA,MAAMC;IAC9E,uDAAuD;IACvD,IAAME,iBAAiBb,eAAeD,KAAKe,KAAK,CAAC,AAAChB,CAAAA,MAAMD,GAAE,IAAKa,QAAQA,MAAMC;IAC7E,OAAOd,MAAMF,MAAMiB,iBAAiB,GAAGC;AACzC;AAEA,OAAO,SAASE,QACdnB,KAAa,EACboB,IAAsB,EACtBC,EAAoB;QACpBC,UAAAA,iEAA6B,CAAC;IAE9B,IAAMC,SAAS,AAAEvB,CAAAA,QAAQoB,IAAI,CAAC,EAAE,AAAD,IAAMA,CAAAA,IAAI,CAAC,EAAE,GAAGA,IAAI,CAAC,EAAE,AAAD,IAAOC,CAAAA,EAAE,CAAC,EAAE,GAAGA,EAAE,CAAC,EAAE,AAAD,IAAKA,EAAE,CAAC,EAAE;IAClF,OAAOT,eAAeW,QAAQF,EAAE,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAE,EAAEC,QAAQR,IAAI;AAC1D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/range.ts"],"sourcesContent":["/**\n * Генерирует массив с диапазоном чисел.\n */\nexport function range(from: number, to: number, step = 1) {\n const direction = from < to ? 1 : -1;\n const distance = Math.abs(from - to) + 1;\n const arrayLength = Math.ceil(distance / step);\n\n const arr = Array<number>(arrayLength);\n for (let index = 0; index < arr.length; index++) {\n arr[index] = from + index * step * direction;\n }\n\n return arr;\n}\n/**\n * Генерирует массив с диапазоном чисел в порядке возрастания.\n * Если `from` меньше `to`, вернется пустой массив.\n */\nexport function rangeIncrement(from: number, to: number, step = 1) {\n if (from > to) {\n return [];\n }\n\n return range(from, to, step);\n}\n"],"names":["range","from","to","step","direction","distance","Math","abs","arrayLength","ceil","arr","Array","index","length","rangeIncrement"],"mappings":"AAAA;;CAEC,GACD,OAAO,SAASA,MAAMC,IAAY,EAAEC,EAAU;QAAEC,OAAAA,iEAAO;IACrD,IAAMC,YAAYH,OAAOC,KAAK,IAAI,CAAC;IACnC,IAAMG,WAAWC,KAAKC,IAAIN,OAAOC,MAAM;IACvC,IAAMM,cAAcF,KAAKG,KAAKJ,WAAWF;IAEzC,IAAMO,MAAMC,MAAcH;IAC1B,IAAK,IAAII,QAAQ,GAAGA,QAAQF,IAAIG,QAAQD,QAAS;QAC/CF,GAAG,CAACE,MAAM,GAAGX,OAAOW,QAAQT,OAAOC;IACrC;IAEA,OAAOM;AACT;AACA;;;CAGC,GACD,OAAO,SAASI,eAAeb,IAAY,EAAEC,EAAU;QAAEC,OAAAA,iEAAO;IAC9D,IAAIF,OAAOC,IAAI;QACb,OAAO,EAAE;IACX;IAEA,OAAOF,MAAMC,MAAMC,IAAIC;AACzB"}
1
+ {"version":3,"sources":["../../src/helpers/range.ts"],"sourcesContent":["/**\n * Генерирует массив с диапазоном чисел.\n */\nexport function range(from: number, to: number, step = 1) {\n const direction = from < to ? 1 : -1;\n const distance = Math.abs(from - to) + 1;\n const arrayLength = Math.ceil(distance / step);\n\n const arr = Array<number>(arrayLength);\n for (let index = 0; index < arr.length; index++) {\n arr[index] = from + index * step * direction;\n }\n\n return arr;\n}\n/**\n * Генерирует массив с диапазоном чисел в порядке возрастания.\n * Если `from` меньше `to`, вернется пустой массив.\n */\nexport function rangeIncrement(from: number, to: number, step = 1) {\n if (from > to) {\n return [];\n }\n\n return range(from, to, step);\n}\n"],"names":["range","from","to","step","direction","distance","Math","abs","arrayLength","ceil","arr","Array","index","length","rangeIncrement"],"mappings":"AAAA;;CAEC,GACD,OAAO,SAASA,MAAMC,IAAY,EAAEC,EAAU;QAAEC,OAAAA,iEAAO;IACrD,IAAMC,YAAYH,OAAOC,KAAK,IAAI,CAAC;IACnC,IAAMG,WAAWC,KAAKC,GAAG,CAACN,OAAOC,MAAM;IACvC,IAAMM,cAAcF,KAAKG,IAAI,CAACJ,WAAWF;IAEzC,IAAMO,MAAMC,MAAcH;IAC1B,IAAK,IAAII,QAAQ,GAAGA,QAAQF,IAAIG,MAAM,EAAED,QAAS;QAC/CF,GAAG,CAACE,MAAM,GAAGX,OAAOW,QAAQT,OAAOC;IACrC;IAEA,OAAOM;AACT;AACA;;;CAGC,GACD,OAAO,SAASI,eAAeb,IAAY,EAAEC,EAAU;QAAEC,OAAAA,iEAAO;IAC9D,IAAIF,OAAOC,IAAI;QACb,OAAO,EAAE;IACX;IAEA,OAAOF,MAAMC,MAAMC,IAAIC;AACzB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hoc/withContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport function withContext<T, X>(\n Component: React.ComponentType<T>,\n Ctx: React.Context<X>,\n prop: string,\n): React.FC<T> {\n function WithContext(props: T) {\n const context = React.useContext<X>(Ctx);\n\n return <Component {...props} {...{ [prop]: context }} />;\n }\n return WithContext;\n}\n"],"names":["React","withContext","Component","Ctx","prop","WithContext","props","context","useContext"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,SAASC,YACdC,SAAiC,EACjCC,GAAqB,EACrBC,IAAY;QAEHC,cAAT,SAASA,YAAYC,KAAQ;QAC3B,IAAMC,UAAUP,MAAMQ,WAAcL;QAEpC,qBAAO,oBAACD,mDAAcI,QAAa,qBAACF,MAAOG;IAC7C;IACA,OAAOF;AACT"}
1
+ {"version":3,"sources":["../../src/hoc/withContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport function withContext<T, X>(\n Component: React.ComponentType<T>,\n Ctx: React.Context<X>,\n prop: string,\n): React.FC<T> {\n function WithContext(props: T) {\n const context = React.useContext<X>(Ctx);\n\n return <Component {...props} {...{ [prop]: context }} />;\n }\n return WithContext;\n}\n"],"names":["React","withContext","Component","Ctx","prop","WithContext","props","context","useContext"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,SAASC,YACdC,SAAiC,EACjCC,GAAqB,EACrBC,IAAY;QAEHC,cAAT,SAASA,YAAYC,KAAQ;QAC3B,IAAMC,UAAUP,MAAMQ,UAAU,CAAIL;QAEpC,qBAAO,oBAACD,mDAAcI,QAAa,qBAACF,MAAOG;IAC7C;IACA,OAAOF;AACT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useAdaptivity.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n AdaptivityContext,\n type AdaptivityProps,\n} from '../components/AdaptivityProvider/AdaptivityContext';\n\nexport type { AdaptivityProps };\n\n/**\n * Возвращает сырые данные из AdaptivityProvider.\n */\nexport const useAdaptivity = (): AdaptivityProps => {\n return React.useContext(AdaptivityContext);\n};\n"],"names":["React","AdaptivityContext","useAdaptivity","useContext"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,iBAAiB,QAEZ,qDAAqD;AAI5D;;CAEC,GACD,OAAO,IAAMC,gBAAgB;IAC3B,OAAOF,MAAMG,WAAWF;AAC1B,EAAE"}
1
+ {"version":3,"sources":["../../src/hooks/useAdaptivity.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n AdaptivityContext,\n type AdaptivityProps,\n} from '../components/AdaptivityProvider/AdaptivityContext';\n\nexport type { AdaptivityProps };\n\n/**\n * Возвращает сырые данные из AdaptivityProvider.\n */\nexport const useAdaptivity = (): AdaptivityProps => {\n return React.useContext(AdaptivityContext);\n};\n"],"names":["React","AdaptivityContext","useAdaptivity","useContext"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,iBAAiB,QAEZ,qDAAqD;AAI5D;;CAEC,GACD,OAAO,IAAMC,gBAAgB;IAC3B,OAAOF,MAAMG,UAAU,CAACF;AAC1B,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useAdaptivityConditionalRender/constants.ts"],"sourcesContent":["import { SizeType } from '../../lib/adaptivity';\nimport styles from '../../styles/adaptivity.module.css';\n\nexport const sizeXCompactClassNames = {\n mq: { className: styles['-sizeX--compact-mq'] },\n [SizeType.COMPACT]: { className: styles['-sizeX--compact-forced'] },\n};\n\nexport const sizeXRegularClassNames = {\n mq: { className: styles['-sizeX--regular-mq'] },\n [SizeType.REGULAR]: { className: styles['-sizeX--regular-forced'] },\n};\n\nexport const sizeYCompactClassNames = {\n mq: { className: styles['-sizeY--compact-mq'] },\n [SizeType.COMPACT]: { className: styles['-sizeY--compact-forced'] },\n};\n\nexport const sizeYRegularClassNames = {\n mq: { className: styles['-sizeY--regular-mq'] },\n [SizeType.REGULAR]: { className: styles['-sizeY--regular-forced'] },\n};\n\nexport const viewWidthClassNames = {\n tabletMinus: {\n mq: { className: styles['-viewWidth--tabletMinus-mq'] },\n forced: { className: styles['-viewWidth--tabletMinus-forced'] },\n },\n tabletPlus: {\n mq: { className: styles['-viewWidth--tabletPlus-mq'] },\n forced: { className: styles['-viewWidth--tabletPlus-forced'] },\n },\n};\n\nexport const deviceTypeClassNames = {\n mobile: {\n mq: { className: styles['-deviceType--mobile-mq'] },\n forced: { className: styles['-deviceType--mobile-forced'] },\n },\n desktop: {\n mq: { className: styles['-deviceType--desktop-mq'] },\n forced: { className: styles['-deviceType--desktop-forced'] },\n },\n};\n"],"names":["SizeType","sizeXCompactClassNames","mq","className","COMPACT","sizeXRegularClassNames","REGULAR","sizeYCompactClassNames","sizeYRegularClassNames","viewWidthClassNames","tabletMinus","forced","tabletPlus","deviceTypeClassNames","mobile","desktop"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAGhD,OAAO,IAAMC,yBAEX;IADAC,IAAI;QAAEC,SAAS;IAA+B;GAC7CH,SAASI,SAAU;IAAED,SAAS;AAAmC,GAClE;AAEF,OAAO,IAAME,yBAEX;IADAH,IAAI;QAAEC,SAAS;IAA+B;GAC7CH,SAASM,SAAU;IAAEH,SAAS;AAAmC,GAClE;AAEF,OAAO,IAAMI,yBAEX;IADAL,IAAI;QAAEC,SAAS;IAA+B;GAC7CH,SAASI,SAAU;IAAED,SAAS;AAAmC,GAClE;AAEF,OAAO,IAAMK,yBAEX;IADAN,IAAI;QAAEC,SAAS;IAA+B;GAC7CH,SAASM,SAAU;IAAEH,SAAS;AAAmC,GAClE;AAEF,OAAO,IAAMM,sBAAsB;IACjCC,aAAa;QACXR,IAAI;YAAEC,SAAS;QAAuC;QACtDQ,QAAQ;YAAER,SAAS;QAA2C;IAChE;IACAS,YAAY;QACVV,IAAI;YAAEC,SAAS;QAAsC;QACrDQ,QAAQ;YAAER,SAAS;QAA0C;IAC/D;AACF,EAAE;AAEF,OAAO,IAAMU,uBAAuB;IAClCC,QAAQ;QACNZ,IAAI;YAAEC,SAAS;QAAmC;QAClDQ,QAAQ;YAAER,SAAS;QAAuC;IAC5D;IACAY,SAAS;QACPb,IAAI;YAAEC,SAAS;QAAoC;QACnDQ,QAAQ;YAAER,SAAS;QAAwC;IAC7D;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useAdaptivityConditionalRender/constants.ts"],"sourcesContent":["import { SizeType } from '../../lib/adaptivity';\nimport styles from '../../styles/adaptivity.module.css';\n\nexport const sizeXCompactClassNames = {\n mq: { className: styles['-sizeX--compact-mq'] },\n [SizeType.COMPACT]: { className: styles['-sizeX--compact-forced'] },\n};\n\nexport const sizeXRegularClassNames = {\n mq: { className: styles['-sizeX--regular-mq'] },\n [SizeType.REGULAR]: { className: styles['-sizeX--regular-forced'] },\n};\n\nexport const sizeYCompactClassNames = {\n mq: { className: styles['-sizeY--compact-mq'] },\n [SizeType.COMPACT]: { className: styles['-sizeY--compact-forced'] },\n};\n\nexport const sizeYRegularClassNames = {\n mq: { className: styles['-sizeY--regular-mq'] },\n [SizeType.REGULAR]: { className: styles['-sizeY--regular-forced'] },\n};\n\nexport const viewWidthClassNames = {\n tabletMinus: {\n mq: { className: styles['-viewWidth--tabletMinus-mq'] },\n forced: { className: styles['-viewWidth--tabletMinus-forced'] },\n },\n tabletPlus: {\n mq: { className: styles['-viewWidth--tabletPlus-mq'] },\n forced: { className: styles['-viewWidth--tabletPlus-forced'] },\n },\n};\n\nexport const deviceTypeClassNames = {\n mobile: {\n mq: { className: styles['-deviceType--mobile-mq'] },\n forced: { className: styles['-deviceType--mobile-forced'] },\n },\n desktop: {\n mq: { className: styles['-deviceType--desktop-mq'] },\n forced: { className: styles['-deviceType--desktop-forced'] },\n },\n};\n"],"names":["SizeType","sizeXCompactClassNames","mq","className","COMPACT","sizeXRegularClassNames","REGULAR","sizeYCompactClassNames","sizeYRegularClassNames","viewWidthClassNames","tabletMinus","forced","tabletPlus","deviceTypeClassNames","mobile","desktop"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAGhD,OAAO,IAAMC,yBAEX;IADAC,IAAI;QAAEC,SAAS;IAA+B;GAC7CH,SAASI,OAAO,EAAG;IAAED,SAAS;AAAmC,GAClE;AAEF,OAAO,IAAME,yBAEX;IADAH,IAAI;QAAEC,SAAS;IAA+B;GAC7CH,SAASM,OAAO,EAAG;IAAEH,SAAS;AAAmC,GAClE;AAEF,OAAO,IAAMI,yBAEX;IADAL,IAAI;QAAEC,SAAS;IAA+B;GAC7CH,SAASI,OAAO,EAAG;IAAED,SAAS;AAAmC,GAClE;AAEF,OAAO,IAAMK,yBAEX;IADAN,IAAI;QAAEC,SAAS;IAA+B;GAC7CH,SAASM,OAAO,EAAG;IAAEH,SAAS;AAAmC,GAClE;AAEF,OAAO,IAAMM,sBAAsB;IACjCC,aAAa;QACXR,IAAI;YAAEC,SAAS;QAAuC;QACtDQ,QAAQ;YAAER,SAAS;QAA2C;IAChE;IACAS,YAAY;QACVV,IAAI;YAAEC,SAAS;QAAsC;QACrDQ,QAAQ;YAAER,SAAS;QAA0C;IAC/D;AACF,EAAE;AAEF,OAAO,IAAMU,uBAAuB;IAClCC,QAAQ;QACNZ,IAAI;YAAEC,SAAS;QAAmC;QAClDQ,QAAQ;YAAER,SAAS;QAAuC;IAC5D;IACAY,SAAS;QACPb,IAAI;YAAEC,SAAS;QAAoC;QACnDQ,QAAQ;YAAER,SAAS;QAAwC;IAC7D;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useAdaptivityConditionalRender/helpers.ts"],"sourcesContent":["import { SizeType, tryToCheckIsDesktop, ViewHeight, ViewWidth } from '../../lib/adaptivity';\nimport type { PlatformType } from '../../lib/platform';\nimport type {\n AdaptiveDeviceType,\n AdaptiveSizeType,\n AdaptiveViewWidth,\n DeviceTypeCSSBreakpoints,\n ElementProps,\n ViewWidthCSSBreakpoints,\n} from './types';\n\nexport const getAdaptiveSizeType = (\n type: undefined | SizeType,\n compactClassNames: Record<'mq' | SizeType.COMPACT, ElementProps>,\n regularClassNames: Record<'mq' | SizeType.REGULAR, ElementProps>,\n): AdaptiveSizeType => {\n return {\n compact:\n type === undefined\n ? compactClassNames.mq\n : type === SizeType.COMPACT\n ? compactClassNames[type]\n : false,\n regular:\n type === undefined\n ? regularClassNames.mq\n : type === SizeType.REGULAR\n ? regularClassNames[type]\n : false,\n };\n};\n\nexport const getAdaptiveViewWidth = (\n viewWidth: undefined | ViewWidth,\n viewWidthClassNames: Record<ViewWidthCSSBreakpoints, Record<'mq' | 'forced', ElementProps>>,\n): AdaptiveViewWidth => {\n return {\n tabletMinus:\n viewWidth === undefined\n ? viewWidthClassNames.tabletMinus.mq\n : viewWidth < ViewWidth.TABLET\n ? viewWidthClassNames.tabletMinus.forced\n : false,\n tabletPlus:\n viewWidth === undefined\n ? viewWidthClassNames.tabletPlus.mq\n : viewWidth >= ViewWidth.TABLET\n ? viewWidthClassNames.tabletPlus.forced\n : false,\n };\n};\n\nexport const getAdaptiveDeviceType = (\n viewWidth: undefined | ViewWidth,\n viewHeight: undefined | ViewHeight,\n hasPointer: undefined | boolean,\n platform: PlatformType,\n deviceTypeClassNames: Record<DeviceTypeCSSBreakpoints, Record<'mq' | 'forced', ElementProps>>,\n): AdaptiveDeviceType => {\n const isDesktop = tryToCheckIsDesktop(viewWidth, viewHeight, hasPointer, platform);\n\n if (isDesktop === null) {\n return {\n mobile: deviceTypeClassNames.mobile.mq,\n desktop: deviceTypeClassNames.desktop.mq,\n };\n }\n\n if (isDesktop) {\n return {\n mobile: false,\n desktop: deviceTypeClassNames.desktop.forced,\n };\n }\n\n return {\n mobile: deviceTypeClassNames.mobile.forced,\n desktop: false,\n };\n};\n"],"names":["SizeType","tryToCheckIsDesktop","ViewWidth","getAdaptiveSizeType","type","compactClassNames","regularClassNames","compact","undefined","mq","COMPACT","regular","REGULAR","getAdaptiveViewWidth","viewWidth","viewWidthClassNames","tabletMinus","TABLET","forced","tabletPlus","getAdaptiveDeviceType","viewHeight","hasPointer","platform","deviceTypeClassNames","isDesktop","mobile","desktop"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,mBAAmB,EAAcC,SAAS,QAAQ,uBAAuB;AAW5F,OAAO,IAAMC,sBAAsB,SACjCC,MACAC,mBACAC;IAEA,OAAO;QACLC,SACEH,SAASI,YACLH,kBAAkBI,KAClBL,SAASJ,SAASU,UAClBL,iBAAiB,CAACD,KAAK,GACvB;QACNO,SACEP,SAASI,YACLF,kBAAkBG,KAClBL,SAASJ,SAASY,UAClBN,iBAAiB,CAACF,KAAK,GACvB;IACR;AACF,EAAE;AAEF,OAAO,IAAMS,uBAAuB,SAClCC,WACAC;IAEA,OAAO;QACLC,aACEF,cAAcN,YACVO,oBAAoBC,YAAYP,KAChCK,YAAYZ,UAAUe,SACtBF,oBAAoBC,YAAYE,SAChC;QACNC,YACEL,cAAcN,YACVO,oBAAoBI,WAAWV,KAC/BK,aAAaZ,UAAUe,SACvBF,oBAAoBI,WAAWD,SAC/B;IACR;AACF,EAAE;AAEF,OAAO,IAAME,wBAAwB,SACnCN,WACAO,YACAC,YACAC,UACAC;IAEA,IAAMC,YAAYxB,oBAAoBa,WAAWO,YAAYC,YAAYC;IAEzE,IAAIE,cAAc,MAAM;QACtB,OAAO;YACLC,QAAQF,qBAAqBE,OAAOjB;YACpCkB,SAASH,qBAAqBG,QAAQlB;QACxC;IACF;IAEA,IAAIgB,WAAW;QACb,OAAO;YACLC,QAAQ;YACRC,SAASH,qBAAqBG,QAAQT;QACxC;IACF;IAEA,OAAO;QACLQ,QAAQF,qBAAqBE,OAAOR;QACpCS,SAAS;IACX;AACF,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useAdaptivityConditionalRender/helpers.ts"],"sourcesContent":["import { SizeType, tryToCheckIsDesktop, ViewHeight, ViewWidth } from '../../lib/adaptivity';\nimport type { PlatformType } from '../../lib/platform';\nimport type {\n AdaptiveDeviceType,\n AdaptiveSizeType,\n AdaptiveViewWidth,\n DeviceTypeCSSBreakpoints,\n ElementProps,\n ViewWidthCSSBreakpoints,\n} from './types';\n\nexport const getAdaptiveSizeType = (\n type: undefined | SizeType,\n compactClassNames: Record<'mq' | SizeType.COMPACT, ElementProps>,\n regularClassNames: Record<'mq' | SizeType.REGULAR, ElementProps>,\n): AdaptiveSizeType => {\n return {\n compact:\n type === undefined\n ? compactClassNames.mq\n : type === SizeType.COMPACT\n ? compactClassNames[type]\n : false,\n regular:\n type === undefined\n ? regularClassNames.mq\n : type === SizeType.REGULAR\n ? regularClassNames[type]\n : false,\n };\n};\n\nexport const getAdaptiveViewWidth = (\n viewWidth: undefined | ViewWidth,\n viewWidthClassNames: Record<ViewWidthCSSBreakpoints, Record<'mq' | 'forced', ElementProps>>,\n): AdaptiveViewWidth => {\n return {\n tabletMinus:\n viewWidth === undefined\n ? viewWidthClassNames.tabletMinus.mq\n : viewWidth < ViewWidth.TABLET\n ? viewWidthClassNames.tabletMinus.forced\n : false,\n tabletPlus:\n viewWidth === undefined\n ? viewWidthClassNames.tabletPlus.mq\n : viewWidth >= ViewWidth.TABLET\n ? viewWidthClassNames.tabletPlus.forced\n : false,\n };\n};\n\nexport const getAdaptiveDeviceType = (\n viewWidth: undefined | ViewWidth,\n viewHeight: undefined | ViewHeight,\n hasPointer: undefined | boolean,\n platform: PlatformType,\n deviceTypeClassNames: Record<DeviceTypeCSSBreakpoints, Record<'mq' | 'forced', ElementProps>>,\n): AdaptiveDeviceType => {\n const isDesktop = tryToCheckIsDesktop(viewWidth, viewHeight, hasPointer, platform);\n\n if (isDesktop === null) {\n return {\n mobile: deviceTypeClassNames.mobile.mq,\n desktop: deviceTypeClassNames.desktop.mq,\n };\n }\n\n if (isDesktop) {\n return {\n mobile: false,\n desktop: deviceTypeClassNames.desktop.forced,\n };\n }\n\n return {\n mobile: deviceTypeClassNames.mobile.forced,\n desktop: false,\n };\n};\n"],"names":["SizeType","tryToCheckIsDesktop","ViewWidth","getAdaptiveSizeType","type","compactClassNames","regularClassNames","compact","undefined","mq","COMPACT","regular","REGULAR","getAdaptiveViewWidth","viewWidth","viewWidthClassNames","tabletMinus","TABLET","forced","tabletPlus","getAdaptiveDeviceType","viewHeight","hasPointer","platform","deviceTypeClassNames","isDesktop","mobile","desktop"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,mBAAmB,EAAcC,SAAS,QAAQ,uBAAuB;AAW5F,OAAO,IAAMC,sBAAsB,SACjCC,MACAC,mBACAC;IAEA,OAAO;QACLC,SACEH,SAASI,YACLH,kBAAkBI,EAAE,GACpBL,SAASJ,SAASU,OAAO,GACzBL,iBAAiB,CAACD,KAAK,GACvB;QACNO,SACEP,SAASI,YACLF,kBAAkBG,EAAE,GACpBL,SAASJ,SAASY,OAAO,GACzBN,iBAAiB,CAACF,KAAK,GACvB;IACR;AACF,EAAE;AAEF,OAAO,IAAMS,uBAAuB,SAClCC,WACAC;IAEA,OAAO;QACLC,aACEF,cAAcN,YACVO,oBAAoBC,WAAW,CAACP,EAAE,GAClCK,YAAYZ,UAAUe,MAAM,GAC5BF,oBAAoBC,WAAW,CAACE,MAAM,GACtC;QACNC,YACEL,cAAcN,YACVO,oBAAoBI,UAAU,CAACV,EAAE,GACjCK,aAAaZ,UAAUe,MAAM,GAC7BF,oBAAoBI,UAAU,CAACD,MAAM,GACrC;IACR;AACF,EAAE;AAEF,OAAO,IAAME,wBAAwB,SACnCN,WACAO,YACAC,YACAC,UACAC;IAEA,IAAMC,YAAYxB,oBAAoBa,WAAWO,YAAYC,YAAYC;IAEzE,IAAIE,cAAc,MAAM;QACtB,OAAO;YACLC,QAAQF,qBAAqBE,MAAM,CAACjB,EAAE;YACtCkB,SAASH,qBAAqBG,OAAO,CAAClB,EAAE;QAC1C;IACF;IAEA,IAAIgB,WAAW;QACb,OAAO;YACLC,QAAQ;YACRC,SAASH,qBAAqBG,OAAO,CAACT,MAAM;QAC9C;IACF;IAEA,OAAO;QACLQ,QAAQF,qBAAqBE,MAAM,CAACR,MAAM;QAC1CS,SAAS;IACX;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.tsx"],"sourcesContent":["import * as React from 'react';\nimport { AdaptivityContext } from '../../components/AdaptivityProvider/AdaptivityContext';\nimport { usePlatform } from '../usePlatform';\nimport {\n deviceTypeClassNames,\n sizeXCompactClassNames,\n sizeXRegularClassNames,\n sizeYCompactClassNames,\n sizeYRegularClassNames,\n viewWidthClassNames,\n} from './constants';\nimport { getAdaptiveDeviceType, getAdaptiveSizeType, getAdaptiveViewWidth } from './helpers';\nimport type { UseAdaptivityConditionalRender } from './types';\n\nexport const useAdaptivityConditionalRender = (): UseAdaptivityConditionalRender => {\n const {\n sizeX: sizeXContext,\n sizeY: sizeYContext,\n viewWidth: viewWidthContext,\n viewHeight: viewHeightContext,\n hasPointer: hasPointerContext,\n } = React.useContext(AdaptivityContext);\n const platform = usePlatform();\n\n return React.useMemo(() => {\n const sizeX = getAdaptiveSizeType(sizeXContext, sizeXCompactClassNames, sizeXRegularClassNames);\n const sizeY = getAdaptiveSizeType(sizeYContext, sizeYCompactClassNames, sizeYRegularClassNames);\n const viewWidth = getAdaptiveViewWidth(viewWidthContext, viewWidthClassNames);\n const deviceType = getAdaptiveDeviceType(\n viewWidthContext,\n viewHeightContext,\n hasPointerContext,\n platform,\n deviceTypeClassNames,\n );\n return {\n sizeX,\n sizeY,\n viewWidth,\n deviceType,\n };\n }, [\n sizeXContext,\n sizeYContext,\n viewWidthContext,\n viewHeightContext,\n hasPointerContext,\n platform,\n ]);\n};\n"],"names":["React","AdaptivityContext","usePlatform","deviceTypeClassNames","sizeXCompactClassNames","sizeXRegularClassNames","sizeYCompactClassNames","sizeYRegularClassNames","viewWidthClassNames","getAdaptiveDeviceType","getAdaptiveSizeType","getAdaptiveViewWidth","useAdaptivityConditionalRender","useContext","sizeX","sizeXContext","sizeY","sizeYContext","viewWidth","viewWidthContext","viewHeight","viewHeightContext","hasPointer","hasPointerContext","platform","useMemo","deviceType"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ,wDAAwD;AAC1F,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SACEC,oBAAoB,EACpBC,sBAAsB,EACtBC,sBAAsB,EACtBC,sBAAsB,EACtBC,sBAAsB,EACtBC,mBAAmB,QACd,cAAc;AACrB,SAASC,qBAAqB,EAAEC,mBAAmB,EAAEC,oBAAoB,QAAQ,YAAY;AAG7F,OAAO,IAAMC,iCAAiC;IAC5C,IAMIZ,oBAAAA,MAAMa,WAAWZ,oBALnBa,AAAOC,eAKLf,kBALFc,OACAE,AAAOC,eAILjB,kBAJFgB,OACAE,AAAWC,mBAGTnB,kBAHFkB,WACAE,AAAYC,oBAEVrB,kBAFFoB,YACAE,AAAYC,oBACVvB,kBADFsB;IAEF,IAAME,WAAWtB;IAEjB,OAAOF,MAAMyB,QAAQ;QACnB,IAAMX,QAAQJ,oBAAoBK,cAAcX,wBAAwBC;QACxE,IAAMW,QAAQN,oBAAoBO,cAAcX,wBAAwBC;QACxE,IAAMW,YAAYP,qBAAqBQ,kBAAkBX;QACzD,IAAMkB,aAAajB,sBACjBU,kBACAE,mBACAE,mBACAC,UACArB;QAEF,OAAO;YACLW,OAAAA;YACAE,OAAAA;YACAE,WAAAA;YACAQ,YAAAA;QACF;IACF,GAAG;QACDX;QACAE;QACAE;QACAE;QACAE;QACAC;KACD;AACH,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.tsx"],"sourcesContent":["import * as React from 'react';\nimport { AdaptivityContext } from '../../components/AdaptivityProvider/AdaptivityContext';\nimport { usePlatform } from '../usePlatform';\nimport {\n deviceTypeClassNames,\n sizeXCompactClassNames,\n sizeXRegularClassNames,\n sizeYCompactClassNames,\n sizeYRegularClassNames,\n viewWidthClassNames,\n} from './constants';\nimport { getAdaptiveDeviceType, getAdaptiveSizeType, getAdaptiveViewWidth } from './helpers';\nimport type { UseAdaptivityConditionalRender } from './types';\n\nexport const useAdaptivityConditionalRender = (): UseAdaptivityConditionalRender => {\n const {\n sizeX: sizeXContext,\n sizeY: sizeYContext,\n viewWidth: viewWidthContext,\n viewHeight: viewHeightContext,\n hasPointer: hasPointerContext,\n } = React.useContext(AdaptivityContext);\n const platform = usePlatform();\n\n return React.useMemo(() => {\n const sizeX = getAdaptiveSizeType(sizeXContext, sizeXCompactClassNames, sizeXRegularClassNames);\n const sizeY = getAdaptiveSizeType(sizeYContext, sizeYCompactClassNames, sizeYRegularClassNames);\n const viewWidth = getAdaptiveViewWidth(viewWidthContext, viewWidthClassNames);\n const deviceType = getAdaptiveDeviceType(\n viewWidthContext,\n viewHeightContext,\n hasPointerContext,\n platform,\n deviceTypeClassNames,\n );\n return {\n sizeX,\n sizeY,\n viewWidth,\n deviceType,\n };\n }, [\n sizeXContext,\n sizeYContext,\n viewWidthContext,\n viewHeightContext,\n hasPointerContext,\n platform,\n ]);\n};\n"],"names":["React","AdaptivityContext","usePlatform","deviceTypeClassNames","sizeXCompactClassNames","sizeXRegularClassNames","sizeYCompactClassNames","sizeYRegularClassNames","viewWidthClassNames","getAdaptiveDeviceType","getAdaptiveSizeType","getAdaptiveViewWidth","useAdaptivityConditionalRender","useContext","sizeX","sizeXContext","sizeY","sizeYContext","viewWidth","viewWidthContext","viewHeight","viewHeightContext","hasPointer","hasPointerContext","platform","useMemo","deviceType"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ,wDAAwD;AAC1F,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SACEC,oBAAoB,EACpBC,sBAAsB,EACtBC,sBAAsB,EACtBC,sBAAsB,EACtBC,sBAAsB,EACtBC,mBAAmB,QACd,cAAc;AACrB,SAASC,qBAAqB,EAAEC,mBAAmB,EAAEC,oBAAoB,QAAQ,YAAY;AAG7F,OAAO,IAAMC,iCAAiC;IAC5C,IAMIZ,oBAAAA,MAAMa,UAAU,CAACZ,oBALnBa,AAAOC,eAKLf,kBALFc,OACAE,AAAOC,eAILjB,kBAJFgB,OACAE,AAAWC,mBAGTnB,kBAHFkB,WACAE,AAAYC,oBAEVrB,kBAFFoB,YACAE,AAAYC,oBACVvB,kBADFsB;IAEF,IAAME,WAAWtB;IAEjB,OAAOF,MAAMyB,OAAO,CAAC;QACnB,IAAMX,QAAQJ,oBAAoBK,cAAcX,wBAAwBC;QACxE,IAAMW,QAAQN,oBAAoBO,cAAcX,wBAAwBC;QACxE,IAAMW,YAAYP,qBAAqBQ,kBAAkBX;QACzD,IAAMkB,aAAajB,sBACjBU,kBACAE,mBACAE,mBACAC,UACArB;QAEF,OAAO;YACLW,OAAAA;YACAE,OAAAA;YACAE,WAAAA;YACAQ,YAAAA;QACF;IACF,GAAG;QACDX;QACAE;QACAE;QACAE;QACAE;QACAC;KACD;AACH,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useAdaptivityHasHover.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasHover as hasHoverLib } from '@vkontakte/vkjs';\nimport { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';\nimport { useIsClient } from './useIsClient';\n\n/**\n * Определение происходит с помощью `window.matchMedia`. Для того, чтобы не было ошибок при гидратации, по умолчанию\n * откладываем определение на второй рендер.\n *\n * [No SSR] Если передать `false`, то определение будет сразу.\n */\nexport function useAdaptivityHasHover(deferDetect?: true): undefined | boolean;\nexport function useAdaptivityHasHover(deferDetect?: false): boolean;\nexport function useAdaptivityHasHover(deferDetect = true): undefined | boolean {\n const { hasHover: hasHoverContext } = React.useContext(AdaptivityContext);\n const hasHover = hasHoverContext === undefined ? hasHoverLib : hasHoverContext;\n\n const isClient = useIsClient(!deferDetect);\n if (!isClient) {\n return undefined;\n }\n\n return hasHover;\n}\n"],"names":["React","hasHover","hasHoverLib","AdaptivityContext","useIsClient","useAdaptivityHasHover","deferDetect","useContext","hasHoverContext","undefined","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,WAAW,QAAQ,kBAAkB;AAC1D,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,WAAW,QAAQ,gBAAgB;AAU5C,OAAO,SAASC;QAAsBC,cAAAA,iEAAc;IAClD,IAAsCN,oBAAAA,MAAMO,WAAWJ,oBAA/CF,AAAUO,kBAAoBR,kBAA9BC;IACR,IAAMA,WAAWO,oBAAoBC,YAAYP,cAAcM;IAE/D,IAAME,WAAWN,YAAY,CAACE;IAC9B,IAAI,CAACI,UAAU;QACb,OAAOD;IACT;IAEA,OAAOR;AACT"}
1
+ {"version":3,"sources":["../../src/hooks/useAdaptivityHasHover.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasHover as hasHoverLib } from '@vkontakte/vkjs';\nimport { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';\nimport { useIsClient } from './useIsClient';\n\n/**\n * Определение происходит с помощью `window.matchMedia`. Для того, чтобы не было ошибок при гидратации, по умолчанию\n * откладываем определение на второй рендер.\n *\n * [No SSR] Если передать `false`, то определение будет сразу.\n */\nexport function useAdaptivityHasHover(deferDetect?: true): undefined | boolean;\nexport function useAdaptivityHasHover(deferDetect?: false): boolean;\nexport function useAdaptivityHasHover(deferDetect = true): undefined | boolean {\n const { hasHover: hasHoverContext } = React.useContext(AdaptivityContext);\n const hasHover = hasHoverContext === undefined ? hasHoverLib : hasHoverContext;\n\n const isClient = useIsClient(!deferDetect);\n if (!isClient) {\n return undefined;\n }\n\n return hasHover;\n}\n"],"names":["React","hasHover","hasHoverLib","AdaptivityContext","useIsClient","useAdaptivityHasHover","deferDetect","useContext","hasHoverContext","undefined","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,WAAW,QAAQ,kBAAkB;AAC1D,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,WAAW,QAAQ,gBAAgB;AAU5C,OAAO,SAASC;QAAsBC,cAAAA,iEAAc;IAClD,IAAsCN,oBAAAA,MAAMO,UAAU,CAACJ,oBAA/CF,AAAUO,kBAAoBR,kBAA9BC;IACR,IAAMA,WAAWO,oBAAoBC,YAAYP,cAAcM;IAE/D,IAAME,WAAWN,YAAY,CAACE;IAC9B,IAAI,CAACI,UAAU;QACb,OAAOD;IACT;IAEA,OAAOR;AACT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useAdaptivityHasPointer.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as hasPointerLib } from '@vkontakte/vkjs';\nimport { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';\nimport { useIsClient } from './useIsClient';\n\n/**\n * Определение происходит с помощью `window.matchMedia`. Для того, чтобы не было ошибок при гидратации, по умолчанию\n * откладываем определение на второй рендер.\n *\n * [No SSR] Если передать `false`, то определение будет сразу.\n */\nexport function useAdaptivityHasPointer(deferDetect?: true): undefined | boolean; // prettier-ignore\nexport function useAdaptivityHasPointer(deferDetect?: false): boolean;\nexport function useAdaptivityHasPointer(deferDetect = true): undefined | boolean {\n const { hasPointer: hasPointerContext } = React.useContext(AdaptivityContext);\n const hasPointer = hasPointerContext === undefined ? hasPointerLib : hasPointerContext;\n\n const isClient = useIsClient(!deferDetect);\n if (!isClient) {\n return undefined;\n }\n\n return hasPointer;\n}\n"],"names":["React","hasMouse","hasPointerLib","AdaptivityContext","useIsClient","useAdaptivityHasPointer","deferDetect","useContext","hasPointer","hasPointerContext","undefined","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,aAAa,QAAQ,kBAAkB;AAC5D,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,WAAW,QAAQ,gBAAgB;AAU5C,OAAO,SAASC;QAAwBC,cAAAA,iEAAc;IACpD,IAA0CN,oBAAAA,MAAMO,WAAWJ,oBAAnDK,AAAYC,oBAAsBT,kBAAlCQ;IACR,IAAMA,aAAaC,sBAAsBC,YAAYR,gBAAgBO;IAErE,IAAME,WAAWP,YAAY,CAACE;IAC9B,IAAI,CAACK,UAAU;QACb,OAAOD;IACT;IAEA,OAAOF;AACT"}
1
+ {"version":3,"sources":["../../src/hooks/useAdaptivityHasPointer.ts"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as hasPointerLib } from '@vkontakte/vkjs';\nimport { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';\nimport { useIsClient } from './useIsClient';\n\n/**\n * Определение происходит с помощью `window.matchMedia`. Для того, чтобы не было ошибок при гидратации, по умолчанию\n * откладываем определение на второй рендер.\n *\n * [No SSR] Если передать `false`, то определение будет сразу.\n */\nexport function useAdaptivityHasPointer(deferDetect?: true): undefined | boolean; // prettier-ignore\nexport function useAdaptivityHasPointer(deferDetect?: false): boolean;\nexport function useAdaptivityHasPointer(deferDetect = true): undefined | boolean {\n const { hasPointer: hasPointerContext } = React.useContext(AdaptivityContext);\n const hasPointer = hasPointerContext === undefined ? hasPointerLib : hasPointerContext;\n\n const isClient = useIsClient(!deferDetect);\n if (!isClient) {\n return undefined;\n }\n\n return hasPointer;\n}\n"],"names":["React","hasMouse","hasPointerLib","AdaptivityContext","useIsClient","useAdaptivityHasPointer","deferDetect","useContext","hasPointer","hasPointerContext","undefined","isClient"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAYC,aAAa,QAAQ,kBAAkB;AAC5D,SAASC,iBAAiB,QAAQ,qDAAqD;AACvF,SAASC,WAAW,QAAQ,gBAAgB;AAU5C,OAAO,SAASC;QAAwBC,cAAAA,iEAAc;IACpD,IAA0CN,oBAAAA,MAAMO,UAAU,CAACJ,oBAAnDK,AAAYC,oBAAsBT,kBAAlCQ;IACR,IAAMA,aAAaC,sBAAsBC,YAAYR,gBAAgBO;IAErE,IAAME,WAAWP,YAAY,CAACE;IAC9B,IAAI,CAACK,UAAU;QACb,OAAOD;IACT;IAEA,OAAOF;AACT"}
@@ -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","useContext","viewWidth","viewWidthContext","viewHeight","viewHeightContext","sizeX","sizeXContext","sizeY","sizeYContext","hasPointer","hasPointerContext","hasHoverContext","platform","mediaQueries","useState","viewWidthLocal","viewHeightLocal","setViewSizeLocal","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,IAAMC,kCAAkC;IAC7C,IAAI,CAAChB,WAAW;QACdiB,QAAQC,MAAO;IAKjB;IAEA,IAOInB,oBAAAA,MAAMoB,WAAWd,oBANnBe,AAAWC,mBAMTtB,kBANFqB,WACAE,AAAYC,oBAKVxB,kBALFuB,YACAE,AAAOC,eAIL1B,kBAJFyB,OACAE,AAAOC,eAGL5B,kBAHF2B,OACAE,AAAYC,oBAEV9B,kBAFF6B,YACA3B,AAAU6B,kBACR/B,kBADFE;IAGF,IAAM8B,WAAWhB;IACjB,IAAMiB,eAAelB;IAErB,IAA8Df,mCAAAA,MAAMkC,SAAS;eAAM;YACjF3B,aAAae,kBAAkBX,2BAA2BsB;YAC1D1B,aAAaiB,mBAAmBd,4BAA4BuB;SAC7D;gDAH6DjC,wBAAtDmC,sCAAgBC,uCAAkBC,mBAAoBrC;IAK9D,IAAMsC,kBAAkBtC,MAAMuC,QAAQ;QACpC,IAAMV,aAAatB,aAAauB,mBAAmBzB;QACnD,IAAMH,WAAWK,aAAawB,iBAAiB5B;QAC/C,IAAMkB,YAAYd,aAAae,kBAAkBa;QACjD,IAAMZ,aAAahB,aAAaiB,mBAAmBY;QACnD,IAAMX,QAAQlB,aAAamB,cAAclB,SAASa;QAClD,IAAMM,QAAQpB,aAAaqB,cAAcnB,SAASY,WAAWE,YAAYM;QACzE,IAAMW,YAAY5B,oBAAoBS,WAAWE,YAAYM,YAAYG;QAEzE,OAAO;YACLX,WAAAA;YACAE,YAAAA;YACAE,OAAAA;YACAE,OAAAA;YACAE,YAAAA;YACA3B,UAAAA;YACAsC,WAAAA;QACF;IACF,GAAG;QACDL;QACAC;QACAd;QACAE;QACAE;QACAE;QACAE;QACAC;QACAC;KACD;IAEDhC,MAAMyC,UAAU;QACd,IAAMC,mBAAmB;YACvBL,iBAAiB,SAACM;gBAChB,IAAMC,oBAAoBrC,aACxBe,kBACAX,2BAA2BsB;gBAE7B,IAAMY,qBAAqBtC,aACzBiB,mBACAd,4BAA4BuB;gBAG9B,IAAkDU,kCAAAA,mBAA3CG,qBAA2CH,mBAAvBI,sBAAuBJ;gBAElD,IACEG,uBAAuBF,qBACvBG,wBAAwBF,oBACxB;oBACA,OAAO;wBAACD;wBAAmBC;qBAAmB;gBAChD;gBAEA,OAAOF;YACT;QACF;QAEA,IAAI,CAACrB,kBAAkB;YACrB;gBACEW,aAAae;gBACbf,aAAagB;gBACbhB,aAAaiB;gBACbjB,aAAakB;aACd,CAACC,QAAQ,SAACC;uBACTxC,0BAA0BwC,oBAAoBX;;QAElD;QAEA,IAAI,CAAClB,mBAAmB;YACtB;gBAACS,aAAaqB;gBAAcrB,aAAasB;aAAsB,CAACH,QAC9D,SAACC;uBAAuBxC,0BAA0BwC,oBAAoBX;;QAE1E;QAEA,OAAO;YACL;gBACET,aAAae;gBACbf,aAAagB;gBACbhB,aAAaiB;gBACbjB,aAAakB;gBACblB,aAAaqB;gBACbrB,aAAasB;aACd,CAACH,QAAQ,SAACC;uBACTvC,6BAA6BuC,oBAAoBX;;QAErD;IACF,GAAG;QAACT;QAAcX;QAAkBE;KAAkB;IAEtD,OAAOc;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","useContext","viewWidth","viewWidthContext","viewHeight","viewHeightContext","sizeX","sizeXContext","sizeY","sizeYContext","hasPointer","hasPointerContext","hasHoverContext","platform","mediaQueries","useState","viewWidthLocal","viewHeightLocal","setViewSizeLocal","adaptivityProps","useMemo","isDesktop","useEffect","handleMediaQuery","prevSizeLocal","newViewWidthLocal","newViewHeightLocal","prevViewWidthLocal","prevViewHeightLocal","desktopPlus","tablet","smallTablet","mobile","forEach","matchMediaListener","mediumHeight","mobileLandscapeHeight"],"mappings":"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"}
@@ -48,12 +48,13 @@ export var useAutoDetectAppearance = function(appearanceProp, onDetectAppearance
48
48
  onceDetectAppearanceByBridge.current = noop;
49
49
  });
50
50
  var _React_useState = _sliced_to_array(React.useState(function() {
51
+ var _mediaQuery;
51
52
  if (appearanceProp) {
52
53
  return appearanceProp;
53
54
  }
54
55
  var mediaQuery = window && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)");
55
56
  // eslint-disable-next-line no-restricted-properties
56
- return (mediaQuery === null || mediaQuery === void 0 ? void 0 : mediaQuery.matches) ? "dark" : "light";
57
+ return ((_mediaQuery = mediaQuery) === null || _mediaQuery === void 0 ? void 0 : _mediaQuery.matches) ? "dark" : "light";
57
58
  }), 2), appearance = _React_useState[0], setAppearance = _React_useState[1];
58
59
  React.useEffect(function() {
59
60
  if (appearanceProp) {
@@ -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","detail","type","subscribe","send","then","catch","console","error","unsubscribe","autoDetectAppearance","window","mediaQuery","matchMedia","undefined","check","event","matches","useAutoDetectAppearance","appearanceProp","onceDetectAppearanceByBridge","useRef","current","useState","appearance","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;QAE7BC,mBAAT,SAASA,iBAAiBC,IAAwB;QAChD,IAAMC,oBAAoBT,kBAAkBQ;QAE5C,IAAIC,mBAAmB;YACrBH;YACAD,cAAcI;QAChB;IACF;QAESC,iBAAT,SAASA,eAAeC,CAAsC;QAC5D,IAAuBA,YAAAA,EAAEC,QAAjBC,OAAeF,UAAfE,MAAML,OAASG,UAATH;QAEd,IAAIK,SAAS,wBAAwB;YACnC;QACF;QAEAN,iBAAiBC;IACnB;IAEAV,SAASgB,UAAUJ;IACnBZ,SAASiB,KAAK,qBAAqBC,KAAKT,kBAAkBU,MAAMC,QAAQC;IAExE,OAAO;eAAMrB,SAASsB,YAAYV;;AACpC;AAEA,SAASW,qBACPC,MAA0B,EAC1BjB,aAA8C;IAE9C,IAAMkB,aACJD,UAAUA,OAAOE,cAAcF,OAAOE,WAAW;IAEnD,IAAID,eAAeE,WAAW;QAC5B,OAAO1B;IACT;IAEA,IAAM2B,QAAQ,SAACC;QACb,oDAAoD;QACpDtB,cAAcsB,MAAMC,UAAU,SAAS;IACzC;IAEAF,MAAMH;IACNrB,0BAA0BqB,YAAYG;IAEtC,OAAO;eAAMvB,6BAA6BoB,YAAYG;;AACxD;AAEA,OAAO,IAAMG,0BAA0B,SACrCC,gBACAxB;IAEA,IAAM,AAAEgB,SAAWrB,SAAXqB;IACR,IAAMS,+BAA+BlC,MAAMmC,OAAO;QAChD1B,8BAA8BA;QAC9ByB,6BAA6BE,UAAUlC;IACzC;IAEA,IAAoCF,mCAAAA,MAAMqC,SAAyB;QACjE,IAAIJ,gBAAgB;YAClB,OAAOA;QACT;QAEA,IAAMP,aACJD,UAAUA,OAAOE,cAAcF,OAAOE,WAAW;QAEnD,oDAAoD;QACpD,OAAOD,CAAAA,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYK,OAAM,IAAI,SAAS;IACxC,QAVOO,aAA6BtC,oBAAjBQ,gBAAiBR;IAYpCA,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,OAAOK;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","detail","type","subscribe","send","then","catch","console","error","unsubscribe","autoDetectAppearance","window","mediaQuery","matchMedia","undefined","check","event","matches","useAutoDetectAppearance","appearanceProp","onceDetectAppearanceByBridge","useRef","current","useState","appearance","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;QAE7BC,mBAAT,SAASA,iBAAiBC,IAAwB;QAChD,IAAMC,oBAAoBT,kBAAkBQ;QAE5C,IAAIC,mBAAmB;YACrBH;YACAD,cAAcI;QAChB;IACF;QAESC,iBAAT,SAASA,eAAeC,CAAsC;QAC5D,IAAuBA,YAAAA,EAAEC,MAAM,EAAvBC,OAAeF,UAAfE,MAAML,OAASG,UAATH;QAEd,IAAIK,SAAS,wBAAwB;YACnC;QACF;QAEAN,iBAAiBC;IACnB;IAEAV,SAASgB,SAAS,CAACJ;IACnBZ,SAASiB,IAAI,CAAC,qBAAqBC,IAAI,CAACT,kBAAkBU,KAAK,CAACC,QAAQC,KAAK;IAE7E,OAAO;eAAMrB,SAASsB,WAAW,CAACV;;AACpC;AAEA,SAASW,qBACPC,MAA0B,EAC1BjB,aAA8C;IAE9C,IAAMkB,aACJD,UAAUA,OAAOE,UAAU,IAAIF,OAAOE,UAAU,CAAC;IAEnD,IAAID,eAAeE,WAAW;QAC5B,OAAO1B;IACT;IAEA,IAAM2B,QAAQ,SAACC;QACb,oDAAoD;QACpDtB,cAAcsB,MAAMC,OAAO,GAAG,SAAS;IACzC;IAEAF,MAAMH;IACNrB,0BAA0BqB,YAAYG;IAEtC,OAAO;eAAMvB,6BAA6BoB,YAAYG;;AACxD;AAEA,OAAO,IAAMG,0BAA0B,SACrCC,gBACAxB;IAEA,IAAM,AAAEgB,SAAWrB,SAAXqB;IACR,IAAMS,+BAA+BlC,MAAMmC,MAAM,CAAC;QAChD1B,8BAA8BA;QAC9ByB,6BAA6BE,OAAO,GAAGlC;IACzC;IAEA,IAAoCF,mCAAAA,MAAMqC,QAAQ,CAAiB;YAS1DX;QARP,IAAIO,gBAAgB;YAClB,OAAOA;QACT;QAEA,IAAMP,aACJD,UAAUA,OAAOE,UAAU,IAAIF,OAAOE,UAAU,CAAC;QAEnD,oDAAoD;QACpD,OAAOD,EAAAA,cAAAA,wBAAAA,kCAAAA,YAAYK,OAAO,IAAG,SAAS;IACxC,QAVOO,aAA6BtC,oBAAjBQ,gBAAiBR;IAYpCA,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,OAAOK;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","useState","value","setValue","setTrue","useCallback","setFalse","toggle"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,IAAMC,kBAAkB;QAACC,gFAAe;IAC7C,IAA0BF,mCAAAA,MAAMG,SAASD,mBAAlCE,QAAmBJ,oBAAZK,WAAYL;IAE1B,IAAMM,UAAUN,MAAMO,YAAY;QAChCF,SAAS;IACX,GAAG,EAAE;IAEL,IAAMG,WAAWR,MAAMO,YAAY;QACjCF,SAAS;IACX,GAAG,EAAE;IAEL,IAAMI,SAAST,MAAMO,YAAY;QAC/BF,SAAS,CAACD;IACZ,GAAG;QAACA;KAAM;IAEV,OAAO;QAAEA,OAAAA;QAAOE,SAAAA;QAASE,UAAAA;QAAUC,QAAAA;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","useState","value","setValue","setTrue","useCallback","setFalse","toggle"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAE/B,OAAO,IAAMC,kBAAkB;QAACC,gFAAe;IAC7C,IAA0BF,mCAAAA,MAAMG,QAAQ,CAACD,mBAAlCE,QAAmBJ,oBAAZK,WAAYL;IAE1B,IAAMM,UAAUN,MAAMO,WAAW,CAAC;QAChCF,SAAS;IACX,GAAG,EAAE;IAEL,IAAMG,WAAWR,MAAMO,WAAW,CAAC;QACjCF,SAAS;IACX,GAAG,EAAE;IAEL,IAAMI,SAAST,MAAMO,WAAW,CAAC;QAC/BF,SAAS,CAACD;IACZ,GAAG;QAACA;KAAM;IAEV,OAAO;QAAEA,OAAAA;QAAOE,SAAAA;QAASE,UAAAA;QAAUC,QAAAA;IAAO;AAC5C,EAAE"}
@@ -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","detail","data","adaptivity","viewport_width","viewport_height","bridgeAdaptivity","isFinite","subscribe","useBridgeAdaptivity","useState","setBridgeAdaptivity","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,IAAuBA,YAAAA,EAAEC,QAAjBL,OAAeI,UAAfJ,MAAMM,OAASF,UAATE;IAEd,IAAIN,SAAS,0BAA0B,CAACM,MAAM;QAC5C,OAAO;IACT;IAEA,IAAQC,aAA+ED,KAA/EC,YAAYC,AAAgBP,gBAAmDK,KAAnEE,gBAA+BC,AAAiBP,iBAAmBI,KAApCG;IAEnD,IAAMC,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,SAACR;IAClB,IAAMM,mBAAmBP,kBAAkBC;IAE3C,IAAIM,kBAAkB;QACpBX,eAAeW;IACjB;AACF;AAEA,OAAO,SAASG;IACd,IAAgDjB,mCAAAA,MAAMkB,SAA2Bf,mBAA1EW,mBAAyCd,oBAAvBmB,sBAAuBnB;IAEhDE,0BAA0B;YACfkB,iBAAT,SAASA,eAAeZ,CAAc;YACpC,IAAMa,sBAAsBd,kBAAkBC;YAE9C,IAAIa,qBAAqB;gBACvBF,oBAAoBE;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","detail","data","adaptivity","viewport_width","viewport_height","bridgeAdaptivity","isFinite","subscribe","useBridgeAdaptivity","useState","setBridgeAdaptivity","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,IAAuBA,YAAAA,EAAEC,MAAM,EAAvBL,OAAeI,UAAfJ,MAAMM,OAASF,UAATE;IAEd,IAAIN,SAAS,0BAA0B,CAACM,MAAM;QAC5C,OAAO;IACT;IAEA,IAAQC,aAA+ED,KAA/EC,YAAYC,AAAgBP,gBAAmDK,KAAnEE,gBAA+BC,AAAiBP,iBAAmBI,KAApCG;IAEnD,IAAMC,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,SAACR;IAClB,IAAMM,mBAAmBP,kBAAkBC;IAE3C,IAAIM,kBAAkB;QACpBX,eAAeW;IACjB;AACF;AAEA,OAAO,SAASG;IACd,IAAgDjB,mCAAAA,MAAMkB,QAAQ,CAAmBf,mBAA1EW,mBAAyCd,oBAAvBmB,sBAAuBnB;IAEhDE,0BAA0B;YACfkB,iBAAT,SAASA,eAAeZ,CAAc;YACpC,IAAMa,sBAAsBd,kBAAkBC;YAE9C,IAAIa,qBAAqB;gBACvBF,oBAAoBE;YACtB;QACF;QAEApB,SAASe,SAAS,CAACI;QACnB,OAAO;YACLnB,SAASqB,WAAW,CAACF;QACvB;IACF,GAAG,EAAE;IAEL,OAAON;AACT"}
@@ -7,21 +7,24 @@ export function useCalendar(param) {
7
7
  var _React_useState = _sliced_to_array(React.useState((_ref = Array.isArray(value) ? value[0] : value) !== null && _ref !== void 0 ? _ref : new Date()), 2), viewDate = _React_useState[0], setViewDate = _React_useState[1];
8
8
  var _React_useState1 = _sliced_to_array(React.useState(), 2), focusedDay = _React_useState1[0], setFocusedDay = _React_useState1[1];
9
9
  var setPrevMonth = React.useCallback(function() {
10
- onPrevMonth === null || onPrevMonth === void 0 ? void 0 : onPrevMonth();
10
+ var _onPrevMonth;
11
+ (_onPrevMonth = onPrevMonth) === null || _onPrevMonth === void 0 ? void 0 : _onPrevMonth();
11
12
  setViewDate(subMonths(viewDate, 1));
12
13
  }, [
13
14
  viewDate,
14
15
  onPrevMonth
15
16
  ]);
16
17
  var setNextMonth = React.useCallback(function() {
17
- onNextMonth === null || onNextMonth === void 0 ? void 0 : onNextMonth();
18
+ var _onNextMonth;
19
+ (_onNextMonth = onNextMonth) === null || _onNextMonth === void 0 ? void 0 : _onNextMonth();
18
20
  setViewDate(addMonths(viewDate, 1));
19
21
  }, [
20
22
  viewDate,
21
23
  onNextMonth
22
24
  ]);
23
25
  var handleSetViewDate = React.useCallback(function(value) {
24
- onHeaderChange === null || onHeaderChange === void 0 ? void 0 : onHeaderChange(value);
26
+ var _onHeaderChange;
27
+ (_onHeaderChange = onHeaderChange) === null || _onHeaderChange === void 0 ? void 0 : _onHeaderChange(value);
25
28
  setViewDate(value);
26
29
  }, [
27
30
  onHeaderChange
@@ -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","Array","useState","isArray","Date","viewDate","setViewDate","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,KAQF;QAPxBC,QAD0B,MAC1BA,OACAC,cAF0B,MAE1BA,aACAC,gBAH0B,MAG1BA,eACAC,oBAJ0B,MAI1BA,mBACAC,iBAL0B,MAK1BA,gBACAC,cAN0B,MAM1BA,aACAC,cAP0B,MAO1BA;QAGGC;IADH,IAAgChB,mCAAAA,MAAMiB,SACpC,CAACD,OAAAA,MAAME,QAAQT,SAASA,KAAK,CAAC,EAAE,GAAGA,mBAAlCO,kBAAAA,OAA4C,IAAIG,aAD5CC,WAAyBpB,oBAAfqB,cAAerB;IAGhC,IAAoCA,oCAAAA,MAAMiB,gBAAnCK,aAA6BtB,qBAAjBuB,gBAAiBvB;IAEpC,IAAMwB,eAAexB,MAAMyB,YAAY;QACrCV,wBAAAA,yBAAAA,KAAAA,IAAAA;QACAM,YAAYd,UAAUa,UAAU;IAClC,GAAG;QAACA;QAAUL;KAAY;IAC1B,IAAMW,eAAe1B,MAAMyB,YAAY;QACrCX,wBAAAA,yBAAAA,KAAAA,IAAAA;QACAO,YAAYpB,UAAUmB,UAAU;IAClC,GAAG;QAACA;QAAUN;KAAY;IAE1B,IAAMa,oBAAoB3B,MAAMyB,YAC9B,SAAChB;QACCI,2BAAAA,4BAAAA,KAAAA,IAAAA,eAAiBJ;QACjBY,YAAYZ;IACd,GACA;QAACI;KAAe;IAGlB,IAAMe,eAAe5B,MAAMyB,YACzB,SAACI;eAAcC,QAAQR,cAAcjB,UAAUwB,KAAKP;OACpD;QAACA;KAAW;IAGd,IAAMS,gBAAgB/B,MAAMyB,YAC1B,SAACI;QACC,IAAMG,MAAM,IAAIb;QAChB,IAAIc,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,IAAMsB,mBAAmBlC,MAAMyB,YAAY;QACzCF,cAAcY;IAChB,GAAG;QAACZ;KAAc;IAElB,OAAO;QACLH,UAAAA;QACAC,aAAaM;QACbH,cAAAA;QACAE,cAAAA;QACAJ,YAAAA;QACAC,eAAAA;QACAK,cAAAA;QACAG,eAAAA;QACAG,kBAAAA;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","Array","useState","isArray","Date","viewDate","setViewDate","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,KAQF;QAPxBC,QAD0B,MAC1BA,OACAC,cAF0B,MAE1BA,aACAC,gBAH0B,MAG1BA,eACAC,oBAJ0B,MAI1BA,mBACAC,iBAL0B,MAK1BA,gBACAC,cAN0B,MAM1BA,aACAC,cAP0B,MAO1BA;QAGGC;IADH,IAAgChB,mCAAAA,MAAMiB,QAAQ,CAC5C,CAACD,OAAAA,MAAME,OAAO,CAACT,SAASA,KAAK,CAAC,EAAE,GAAGA,mBAAlCO,kBAAAA,OAA4C,IAAIG,aAD5CC,WAAyBpB,oBAAfqB,cAAerB;IAGhC,IAAoCA,oCAAAA,MAAMiB,QAAQ,QAA3CK,aAA6BtB,qBAAjBuB,gBAAiBvB;IAEpC,IAAMwB,eAAexB,MAAMyB,WAAW,CAAC;YACrCV;SAAAA,eAAAA,yBAAAA,mCAAAA;QACAM,YAAYd,UAAUa,UAAU;IAClC,GAAG;QAACA;QAAUL;KAAY;IAC1B,IAAMW,eAAe1B,MAAMyB,WAAW,CAAC;YACrCX;SAAAA,eAAAA,yBAAAA,mCAAAA;QACAO,YAAYpB,UAAUmB,UAAU;IAClC,GAAG;QAACA;QAAUN;KAAY;IAE1B,IAAMa,oBAAoB3B,MAAMyB,WAAW,CACzC,SAAChB;YACCI;SAAAA,kBAAAA,4BAAAA,sCAAAA,gBAAiBJ;QACjBY,YAAYZ;IACd,GACA;QAACI;KAAe;IAGlB,IAAMe,eAAe5B,MAAMyB,WAAW,CACpC,SAACI;eAAcC,QAAQR,cAAcjB,UAAUwB,KAAKP;OACpD;QAACA;KAAW;IAGd,IAAMS,gBAAgB/B,MAAMyB,WAAW,CACrC,SAACI;QACC,IAAMG,MAAM,IAAIb;QAChB,IAAIc,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,IAAMsB,mBAAmBlC,MAAMyB,WAAW,CAAC;QACzCF,cAAcY;IAChB,GAAG;QAACZ;KAAc;IAElB,OAAO;QACLH,UAAAA;QACAC,aAAaM;QACbH,cAAAA;QACAE,cAAAA;QACAJ,YAAAA;QACAC,eAAAA;QACAK,cAAAA;QACAG,eAAAA;QACAG,kBAAAA;IACF;AACF"}
@@ -40,7 +40,8 @@ export var useChipsInput = function(props) {
40
40
  toggleOption
41
41
  ]);
42
42
  var addOptionFromInput = React.useCallback(function() {
43
- var trimmedValue = fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.trim();
43
+ var _fieldValue;
44
+ var trimmedValue = (_fieldValue = fieldValue) === null || _fieldValue === void 0 ? void 0 : _fieldValue.trim();
44
45
  if (trimmedValue) {
45
46
  addOption(getNewOptionData(undefined, trimmedValue));
46
47
  clearInput();
@@ -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","useState","inputValue","fieldValue","setFieldValue","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,IAAMC,gBAAgB,SAC3BC;IAEA,IAAQC,QAAqED,MAArEC,OAAOC,iBAA8DF,MAA9DE,gBAAgBC,WAA8CH,MAA9CG,UAAUC,gBAAoCJ,MAApCI,eAAeC,mBAAqBL,MAArBK;IAExD,IAAoCP,mCAAAA,MAAMQ,SAASN,MAAMO,iBAAlDC,aAA6BV,oBAAjBW,gBAAiBX;IACpC,IAA8CA,oCAAAA,MAAMQ,SAASL,kBAAAA,mBAAAA,QAAS,EAAE,OAAjES,kBAAuCZ,qBAAtBa,qBAAsBb;IAE9C,IAAMc,aAAad,MAAMe,YAAY;QACnCJ,cAAc;QACdL,cAAe;YAAEU,QAAQ;gBAAEb,OAAO;YAAG;QAAE;IACzC,GAAG;QAACG;KAAc;IAElB,IAAMW,oBAAoBjB,MAAMe,YAC9B,SAACG;QACCP,cAAcO,EAAEF,OAAOb;QACvBG,cAAeY;IACjB,GACA;QAACZ;KAAc;IAGjB,IAAMa,eAAenB,MAAMe,YACzB,SAACK,WAAmBjB;QAClB,IAAMkB,qBAAqBT,gBAAgBU,OACzC,SAACC;mBAAmBnB,eAAgBgB,eAAehB,eAAgBmB;;QAGrE,IAAIpB,UAAU,MAAM;YAClBkB,mBAAmBG,KAAKJ;QAC1B;QAEAP,mBAAmBQ;QACnBhB,SAAUgB;IACZ,GACA;QAACT;QAAiBR;QAAgBC;KAAS;IAG7C,IAAMoB,YAAYzB,MAAMe,YACtB,SAACK;eAAsBD,aAAaC,WAAW;OAC/C;QAACD;KAAa;IAEhB,IAAMO,qBAAqB1B,MAAMe,YAAY;QAC3C,IAAMY,eAAejB,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYkB;QAEjC,IAAID,cAAc;YAChBF,UAAUlB,iBAAkBsB,WAAWF;YACvCb;QACF;IACF,GAAG;QAACW;QAAWX;QAAYP;QAAkBG;KAAW;IACxD,IAAMoB,eAAe9B,MAAMe,YACzB,SAACZ;QACCgB,aAAaZ,iBAAkBsB,WAAW1B,QAAkB;IAC9D,GACA;QAACgB;QAAcZ;KAAiB;IAGlCP,MAAM+B,UAAU;QACdlB,mBAAmBV;QAEnB,OAAO;mBAAMU,mBAAmB,EAAE;;IACpC,GAAG;QAACX,MAAMC;QAAOA;KAAM;IAEvBH,MAAM+B,UAAU;QACdpB,cAAcT,MAAMO;QAEpB,OAAO;mBAAME,cAAc;;IAC7B,GAAG;QAACT,MAAMO;KAAW;IAErB,OAAO;QACLC,YAAAA;QACAC,eAAAA;QACAC,iBAAAA;QACAC,oBAAAA;QACAC,YAAAA;QACAK,cAAAA;QACAM,WAAAA;QACAC,oBAAAA;QACAI,cAAAA;QACAb,mBAAAA;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","useState","inputValue","fieldValue","setFieldValue","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,IAAMC,gBAAgB,SAC3BC;IAEA,IAAQC,QAAqED,MAArEC,OAAOC,iBAA8DF,MAA9DE,gBAAgBC,WAA8CH,MAA9CG,UAAUC,gBAAoCJ,MAApCI,eAAeC,mBAAqBL,MAArBK;IAExD,IAAoCP,mCAAAA,MAAMQ,QAAQ,CAACN,MAAMO,UAAU,OAA5DC,aAA6BV,oBAAjBW,gBAAiBX;IACpC,IAA8CA,oCAAAA,MAAMQ,QAAQ,CAACL,kBAAAA,mBAAAA,QAAS,EAAE,OAAjES,kBAAuCZ,qBAAtBa,qBAAsBb;IAE9C,IAAMc,aAAad,MAAMe,WAAW,CAAC;QACnCJ,cAAc;QACdL,cAAe;YAAEU,QAAQ;gBAAEb,OAAO;YAAG;QAAE;IACzC,GAAG;QAACG;KAAc;IAElB,IAAMW,oBAAoBjB,MAAMe,WAAW,CACzC,SAACG;QACCP,cAAcO,EAAEF,MAAM,CAACb,KAAK;QAC5BG,cAAeY;IACjB,GACA;QAACZ;KAAc;IAGjB,IAAMa,eAAenB,MAAMe,WAAW,CACpC,SAACK,WAAmBjB;QAClB,IAAMkB,qBAAqBT,gBAAgBU,MAAM,CAC/C,SAACC;mBAAmBnB,eAAgBgB,eAAehB,eAAgBmB;;QAGrE,IAAIpB,UAAU,MAAM;YAClBkB,mBAAmBG,IAAI,CAACJ;QAC1B;QAEAP,mBAAmBQ;QACnBhB,SAAUgB;IACZ,GACA;QAACT;QAAiBR;QAAgBC;KAAS;IAG7C,IAAMoB,YAAYzB,MAAMe,WAAW,CACjC,SAACK;eAAsBD,aAAaC,WAAW;OAC/C;QAACD;KAAa;IAEhB,IAAMO,qBAAqB1B,MAAMe,WAAW,CAAC;YACtBL;QAArB,IAAMiB,gBAAejB,cAAAA,wBAAAA,kCAAAA,YAAYkB,IAAI;QAErC,IAAID,cAAc;YAChBF,UAAUlB,iBAAkBsB,WAAWF;YACvCb;QACF;IACF,GAAG;QAACW;QAAWX;QAAYP;QAAkBG;KAAW;IACxD,IAAMoB,eAAe9B,MAAMe,WAAW,CACpC,SAACZ;QACCgB,aAAaZ,iBAAkBsB,WAAW1B,QAAkB;IAC9D,GACA;QAACgB;QAAcZ;KAAiB;IAGlCP,MAAM+B,SAAS,CAAC;QACdlB,mBAAmBV;QAEnB,OAAO;mBAAMU,mBAAmB,EAAE;;IACpC,GAAG;QAACX,MAAMC,KAAK;QAAEA;KAAM;IAEvBH,MAAM+B,SAAS,CAAC;QACdpB,cAAcT,MAAMO,UAAU;QAE9B,OAAO;mBAAME,cAAc;;IAC7B,GAAG;QAACT,MAAMO,UAAU;KAAC;IAErB,OAAO;QACLC,YAAAA;QACAC,eAAAA;QACAC,iBAAAA;QACAC,oBAAAA;QACAC,YAAAA;QACAK,cAAAA;QACAM,WAAAA;QACAC,oBAAAA;QACAI,cAAAA;QACAb,mBAAAA;IACF;AACF,EAAE"}
@@ -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","useState","opened","setOpened","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,IAAMC,iBAAiB,SAC5BC;IAEA,IAAQC,UAAsDD,MAAtDC,SAASC,WAA6CF,MAA7CE,UAAUC,iBAAmCH,MAAnCG,gBAAgBC,iBAAmBJ,MAAnBI;IAE3C,IAA4BP,mCAAAA,MAAMQ,SAAS,YAApCC,SAAqBT,oBAAbU,YAAaV;IAC5B,IAAoDA,oCAAAA,MAAMQ,SAAwB,QAA3EG,qBAA6CX,qBAAzBY,wBAAyBZ;IACpD,IAA0CA,oCAAAA,MAAMQ,SAAwB,WAAjEK,gBAAmCb,qBAApBc,mBAAoBd;IAE1C,IAA4DC,iBAAAA,cAAcE,QAAlEY,aAAoDd,eAApDc,YAAYC,kBAAwCf,eAAxCe,iBAAoBC,6CAAoBhB;QAApDc;QAAYC;;IAEpB,IAAME,oBAAoB,SAACC;QACzB,IAAI,CAACA,GAAG;YACN;QACF;QACAF,gBAAgBC,kBAAkBC;QAElC,IAAI,CAACV,QAAQ;YACXC,UAAU;YACVE,sBAAsB;QACxB;IACF;IAEA,IAAIQ,kBAAkBpB,MAAMqB,QAAQ;QAClC,OAAOhB,WACHD,QAASkB,OAAO,SAACC;mBAAWlB,SAASU,YAAYQ,QAAQjB;aACxDF;IACP,GAAG;QAACA;QAASC;QAAUU;QAAYT;KAAe;IAElDc,kBAAkBpB,MAAMqB,QAAQ;QAC9B,IAAI,CAACD,gBAAgBI,QAAQ;YAC3B,OAAOJ;QACT;QAEA,IAAMK,cAAc,IAAIC,IAAIN;QAC5B,IAAMO,WAAWX,gBAAgBY,IAAI,SAACC;mBAAStB,eAAgBsB;;YAE1D,kCAAA,2BAAA;;YAAL,QAAK,YAAcJ,gCAAd,SAAA,6BAAA,QAAA,yBAAA,iCAA2B;gBAA3B,IAAMI,OAAN;gBACH,IAAIF,SAASG,SAASvB,eAAgBsB,QAAQ;oBAC5CJ,YAAYM,OAAOF;gBACrB;YACF;;YAJK;YAAA;;;qBAAA,6BAAA;oBAAA;;;oBAAA;0BAAA;;;;QAML,OAAQ,qBAAGJ;IACb,GAAG;QAACL;QAAiBJ;QAAiBT;KAAe;IAErD,OAAO,wCACFU;QACHF,YAAAA;QACAG,mBAAAA;QACAT,QAAAA;QACAC,WAAAA;QACAU,iBAAAA;QACAT,oBAAAA;QACAC,uBAAAA;QACAC,eAAAA;QACAC,kBAAAA;QACAE,iBAAAA;;AAEJ,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","useState","opened","setOpened","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,IAAMC,iBAAiB,SAC5BC;IAEA,IAAQC,UAAsDD,MAAtDC,SAASC,WAA6CF,MAA7CE,UAAUC,iBAAmCH,MAAnCG,gBAAgBC,iBAAmBJ,MAAnBI;IAE3C,IAA4BP,mCAAAA,MAAMQ,QAAQ,CAAC,YAApCC,SAAqBT,oBAAbU,YAAaV;IAC5B,IAAoDA,oCAAAA,MAAMQ,QAAQ,CAAgB,QAA3EG,qBAA6CX,qBAAzBY,wBAAyBZ;IACpD,IAA0CA,oCAAAA,MAAMQ,QAAQ,CAAgB,WAAjEK,gBAAmCb,qBAApBc,mBAAoBd;IAE1C,IAA4DC,iBAAAA,cAAcE,QAAlEY,aAAoDd,eAApDc,YAAYC,kBAAwCf,eAAxCe,iBAAoBC,6CAAoBhB;QAApDc;QAAYC;;IAEpB,IAAME,oBAAoB,SAACC;QACzB,IAAI,CAACA,GAAG;YACN;QACF;QACAF,gBAAgBC,iBAAiB,CAACC;QAElC,IAAI,CAACV,QAAQ;YACXC,UAAU;YACVE,sBAAsB;QACxB;IACF;IAEA,IAAIQ,kBAAkBpB,MAAMqB,OAAO,CAAC;QAClC,OAAOhB,WACHD,QAASkB,MAAM,CAAC,SAACC;mBAAWlB,SAASU,YAAYQ,QAAQjB;aACxDF;IACP,GAAG;QAACA;QAASC;QAAUU;QAAYT;KAAe;IAElDc,kBAAkBpB,MAAMqB,OAAO,CAAC;QAC9B,IAAI,CAACD,gBAAgBI,MAAM,EAAE;YAC3B,OAAOJ;QACT;QAEA,IAAMK,cAAc,IAAIC,IAAIN;QAC5B,IAAMO,WAAWX,gBAAgBY,GAAG,CAAC,SAACC;mBAAStB,eAAgBsB;;YAE1D,kCAAA,2BAAA;;YAAL,QAAK,YAAcJ,gCAAd,SAAA,6BAAA,QAAA,yBAAA,iCAA2B;gBAA3B,IAAMI,OAAN;gBACH,IAAIF,SAASG,QAAQ,CAACvB,eAAgBsB,QAAQ;oBAC5CJ,YAAYM,MAAM,CAACF;gBACrB;YACF;;YAJK;YAAA;;;qBAAA,6BAAA;oBAAA;;;oBAAA;0BAAA;;;;QAML,OAAQ,qBAAGJ;IACb,GAAG;QAACL;QAAiBJ;QAAiBT;KAAe;IAErD,OAAO,wCACFU;QACHF,YAAAA;QACAG,mBAAAA;QACAT,QAAAA;QACAC,WAAAA;QACAU,iBAAAA;QACAT,oBAAAA;QACAC,uBAAAA;QACAC,eAAAA;QACAC,kBAAAA;QACAE,iBAAAA;;AAEJ,EAAE"}
@@ -63,12 +63,13 @@ export function useDateInput(param) {
63
63
  var range = window.document.createRange();
64
64
  var element = refs[focusedElement].current;
65
65
  if (element) {
66
+ var _selection, _selection1;
66
67
  element.focus();
67
68
  openCalendar();
68
69
  range.selectNodeContents(element);
69
70
  var selection = window.getSelection();
70
- selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
71
- selection === null || selection === void 0 ? void 0 : selection.addRange(range);
71
+ (_selection = selection) === null || _selection === void 0 ? void 0 : _selection.removeAllRanges();
72
+ (_selection1 = selection) === null || _selection1 === void 0 ? void 0 : _selection1.addRange(range);
72
73
  }
73
74
  }, [
74
75
  disabled,
@@ -78,7 +79,8 @@ export function useDateInput(param) {
78
79
  window
79
80
  ]);
80
81
  var clear = React.useCallback(function() {
81
- onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
82
+ var _onChange;
83
+ (_onChange = onChange) === null || _onChange === void 0 ? void 0 : _onChange(undefined);
82
84
  selectFirst();
83
85
  }, [
84
86
  onChange,
@@ -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","useState","internalValue","setInternalValue","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","useState","internalValue","setInternalValue","focusedElement","setFocusedElement","window","removeFocusFromField","useCallback","getSelection","removeAllRanges","handleClickOutside","e","current","contains","target","selectFirst","capture","useEffect","range","createRange","element","selection","focus","selectNodeContents","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,IAAMC,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,IAAMC,eAAeC,QAAQC,GAAG,CAACC,QAAQ,KAAK,gBAAgBL,YAAYC,KAAK"}
@@ -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","useCustomEnsuredControl","value","onChangeValue","useCallback","e","target","defaultValue","isControlled","undefined","useState","localValue","setLocalValue","v"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAS/B,OAAO,SAASC,kBAAuD;QACrEC,AAAUC,eAD2D,OACrED,UACAE,WAFqE,OAErEA,UACGC,mCAHkE;QACrEH;QACAE;;IAGA,IAA+BE,4CAAAA,wBAAwBD,YAAhDE,QAAwBD,6BAAjBE,gBAAiBF;IAE/B,IAAMJ,WAAWF,MAAMS,YACrB,SAACC;QACC,IAAIN,UAAU;YACZ;QACF;QAEAI,cAAcE,EAAEC,OAAOJ;QACvBJ,gBAAgBA,aAAaO;IAC/B,GACA;QAACF;QAAeL;QAAcC;KAAS;IAGzC,OAAO;QAACG;QAAOL;KAAS;AAC1B;AASA,OAAO,SAASI,wBAA2B,KAKT;QAJhCF,WADyC,MACzCA,UACAF,AAAUC,eAF+B,MAEzCD,UACAU,eAHyC,MAGzCA,cACAL,QAJyC,MAIzCA;IAEA,IAAMM,eAAeN,UAAUO;IAC/B,IAAoCd,mCAAAA,MAAMe,SAASH,mBAA5CI,aAA6BhB,oBAAjBiB,gBAAiBjB;IAEpC,IAAME,WAAWF,MAAMS,YACrB,SAACS;QACC,IAAId,UAAU;YACZ;QACF;QAEA,CAACS,gBAAgBI,cAAcC;QAC/Bf,gBAAgBA,aAAae;IAC/B,GACA;QAACd;QAAUS;QAAcV;KAAa;IAGxC,OAAO;QAACU,eAAeN,QAAQS;QAAYd;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","useCustomEnsuredControl","value","onChangeValue","useCallback","e","target","defaultValue","isControlled","undefined","useState","localValue","setLocalValue","v"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAS/B,OAAO,SAASC,kBAAuD;QACrEC,AAAUC,eAD2D,OACrED,UACAE,WAFqE,OAErEA,UACGC,mCAHkE;QACrEH;QACAE;;IAGA,IAA+BE,4CAAAA,wBAAwBD,YAAhDE,QAAwBD,6BAAjBE,gBAAiBF;IAE/B,IAAMJ,WAAWF,MAAMS,WAAW,CAChC,SAACC;QACC,IAAIN,UAAU;YACZ;QACF;QAEAI,cAAcE,EAAEC,MAAM,CAACJ,KAAK;QAC5BJ,gBAAgBA,aAAaO;IAC/B,GACA;QAACF;QAAeL;QAAcC;KAAS;IAGzC,OAAO;QAACG;QAAOL;KAAS;AAC1B;AASA,OAAO,SAASI,wBAA2B,KAKT;QAJhCF,WADyC,MACzCA,UACAF,AAAUC,eAF+B,MAEzCD,UACAU,eAHyC,MAGzCA,cACAL,QAJyC,MAIzCA;IAEA,IAAMM,eAAeN,UAAUO;IAC/B,IAAoCd,mCAAAA,MAAMe,QAAQ,CAACH,mBAA5CI,aAA6BhB,oBAAjBiB,gBAAiBjB;IAEpC,IAAME,WAAWF,MAAMS,WAAW,CAChC,SAACS;QACC,IAAId,UAAU;YACZ;QACF;QAEA,CAACS,gBAAgBI,cAAcC;QAC/Bf,gBAAgBA,aAAae;IAC/B,GACA;QAACd;QAAUS;QAAcV;KAAa;IAGxC,OAAO;QAACU,eAAeN,QAAQS;QAAYd;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,IAAMC,QAAQR,MAAMS,OAAOH;IAC3BH,0BAA0B;QACxBK,MAAME,UAAUJ;IAClB,GAAG;QAACA;KAAI;IACR,IAAMK,KAAKX,MAAMY,YAAY,SAACC;eAAWL,MAAME,WAAWF,MAAME,QAAQG;OAAI,EAAE;IAE9E,IAAMC,SAASd,MAAMS,OAAOR;IAC5B,IAAMc,SAASf,MAAMY,YAAY;QAC/BE,OAAOJ;QACPI,OAAOJ,UAAUT;IACnB,GAAG,EAAE;IACL,IAAMe,MAAMhB,MAAMY,YAChB,SAACK;QACC,IAAI,CAACf,WAAW;YACd;QACF;QACAa;QACA,IAAI,CAACE,IAAI;YACP;QACF;QACA,IAAMC,UAAU,mBAAKX;QACrBU,GAAGE,iBAAiBd,OAAOM,IAAIO;QAC/BJ,OAAOJ,UAAU;mBAAMO,GAAGG,oBAAoBf,OAAOM,IAAIO;;IAC3D,GACA;QAACX;QAAUI;QAAIN;QAAOU;KAAO;IAE/Bf,MAAMqB,UAAU;eAAMN;OAAQ;QAACA;KAAO;IAEtC,OAAOf,MAAMsB,QAAQ;eAAO;YAAEN,KAAAA;YAAKD,QAAAA;QAAO;OAAI;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,IAAMC,QAAQR,MAAMS,MAAM,CAACH;IAC3BH,0BAA0B;QACxBK,MAAME,OAAO,GAAGJ;IAClB,GAAG;QAACA;KAAI;IACR,IAAMK,KAAKX,MAAMY,WAAW,CAAC,SAACC;eAAWL,MAAME,OAAO,IAAIF,MAAME,OAAO,CAACG;OAAI,EAAE;IAE9E,IAAMC,SAASd,MAAMS,MAAM,CAACR;IAC5B,IAAMc,SAASf,MAAMY,WAAW,CAAC;QAC/BE,OAAOJ,OAAO;QACdI,OAAOJ,OAAO,GAAGT;IACnB,GAAG,EAAE;IACL,IAAMe,MAAMhB,MAAMY,WAAW,CAC3B,SAACK;QACC,IAAI,CAACf,WAAW;YACd;QACF;QACAa;QACA,IAAI,CAACE,IAAI;YACP;QACF;QACA,IAAMC,UAAU,mBAAKX;QACrBU,GAAGE,gBAAgB,CAACd,OAAOM,IAAIO;QAC/BJ,OAAOJ,OAAO,GAAG;mBAAMO,GAAGG,mBAAmB,CAACf,OAAOM,IAAIO;;IAC3D,GACA;QAACX;QAAUI;QAAIN;QAAOU;KAAO;IAE/Bf,MAAMqB,SAAS,CAAC;eAAMN;OAAQ;QAACA;KAAO;IAEtC,OAAOf,MAAMsB,OAAO,CAAC;eAAO;YAAEN,KAAAA;YAAKD,QAAAA;QAAO;OAAI;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;IACd,IAAA,IAAA,OAAA,UAAA,QAAA,AAAGC,aAAH,UAAA,OAAA,OAAA,GAAA,OAAA,MAAA,OAAA;QAAGA,WAAH,QAAA,SAAA,CAAA,KAAsD;IAAD;IAErD,IAAMC,YAAYJ,MAAMK,OAAiB;IAEzC,OAAOL,MAAMM,QACX;eAAO;YACL,IAAIC,WAAU;gBACZ,OAAOH,UAAUG;YACnB;YACA,IAAIA,SAAQC,GAAI;gBACdJ,UAAUG,UAAUC;gBACpBL,WAAWM,QAAQ,SAACC;oBAClB,IAAIA,KAAK;wBACPT,OAAOO,IAAIE;oBACb;gBACF;YACF;QACF;OACA,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;IACd,IAAA,IAAA,OAAA,UAAA,QAAA,AAAGC,aAAH,UAAA,OAAA,OAAA,GAAA,OAAA,MAAA,OAAA;QAAGA,WAAH,QAAA,SAAA,CAAA,KAAsD;IAAD;IAErD,IAAMC,YAAYJ,MAAMK,MAAM,CAAW;IAEzC,OAAOL,MAAMM,OAAO,CAClB;eAAO;YACL,IAAIC,WAAU;gBACZ,OAAOH,UAAUG,OAAO;YAC1B;YACA,IAAIA,SAAQC,GAAI;gBACdJ,UAAUG,OAAO,GAAGC;gBACpBL,WAAWM,OAAO,CAAC,SAACC;oBAClB,IAAIA,KAAK;wBACPT,OAAOO,IAAIE;oBACb;gBACF;YACF;QACF;OACA,uDAAuD;IACvDP;AAEJ"}
@@ -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;QAAgBC,yBAAAA,iEAAyB;IACvD,IAAkCH,6BAAAA,SAAS,YAApCI,YAA2BJ,cAAhBK,eAAgBL;IAClC,IAAM,AAAEM,gBAAkBP,WAAWE,gBAA7BK;IAER,IAAMC,UAAUT,YACd,SAACU;QACCA,MAAMC;QACNJ,aAAa;IACf,GACA;QAACA;KAAa;IAGhB,IAAMK,SAASZ,YACb,SAACU;QACCA,MAAMC;QACNJ,aAAa;IACf,GACA;QAACA;KAAa;IAGhB,IAAMM,eAAeR,yBAAyBG,iBAAiBF,YAAYA;IAE3E,OAAO;QACLO,cAAAA;QACAJ,SAAAA;QACAG,QAAAA;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;QAAgBC,yBAAAA,iEAAyB;IACvD,IAAkCH,6BAAAA,SAAS,YAApCI,YAA2BJ,cAAhBK,eAAgBL;IAClC,IAAM,AAAEM,gBAAkBP,WAAWE,gBAA7BK;IAER,IAAMC,UAAUT,YACd,SAACU;QACCA,MAAMC,eAAe;QACrBJ,aAAa;IACf,GACA;QAACA;KAAa;IAGhB,IAAMK,SAASZ,YACb,SAACU;QACCA,MAAMC,eAAe;QACrBJ,aAAa;IACf,GACA;QAACA;KAAa;IAGhB,IAAMM,eAAeR,yBAAyBG,iBAAiBF,YAAYA;IAE3E,OAAO;QACLO,cAAAA;QACAJ,SAAAA;QACAG,QAAAA;IACF;AACF"}
@@ -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","useState","focusWithin","setFocusWithin","listener","focus","capture"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,sBAAsB,QAAQ,2BAA2B;AAElE,OAAO,SAASC,eAAeC,GAAwC;IACrE,IAAM,AAAEC,WAAaJ,SAAbI;IACR,IAAMC,gBAAgB;QACpB,IAAI,CAACF,IAAIG,WAAW,CAACF,UAAU;YAC7B,OAAO;QACT;QAEA,OAAOD,IAAIG,QAAQC,SAASH,SAASI;IACvC;IAEA,IAAsCT,mCAAAA,MAAMU,SAAkBJ,oBAAvDK,cAA+BX,oBAAlBY,iBAAkBZ;IAEtC,IAAMa,WAAW;QACf,IAAMC,QAAQR;QACdQ,UAAUH,eAAeC,eAAeE;IAC1C;IAEAZ,uBAAuBG,UAAU,SAASQ,UAAU;QAAEE,SAAS;IAAK;IACpEb,uBAAuBG,UAAU,QAAQQ,UAAU;QAAEE,SAAS;IAAK;IAEnE,OAAOJ;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","useState","focusWithin","setFocusWithin","listener","focus","capture"],"mappings":";AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,sBAAsB,QAAQ,2BAA2B;AAElE,OAAO,SAASC,eAAeC,GAAwC;IACrE,IAAM,AAAEC,WAAaJ,SAAbI;IACR,IAAMC,gBAAgB;QACpB,IAAI,CAACF,IAAIG,OAAO,IAAI,CAACF,UAAU;YAC7B,OAAO;QACT;QAEA,OAAOD,IAAIG,OAAO,CAACC,QAAQ,CAACH,SAASI,aAAa;IACpD;IAEA,IAAsCT,mCAAAA,MAAMU,QAAQ,CAAUJ,oBAAvDK,cAA+BX,oBAAlBY,iBAAkBZ;IAEtC,IAAMa,WAAW;QACf,IAAMC,QAAQR;QACdQ,UAAUH,eAAeC,eAAeE;IAC1C;IAEAZ,uBAAuBG,UAAU,SAASQ,UAAU;QAAEE,SAAS;IAAK;IACpEb,uBAAuBG,UAAU,QAAQQ,UAAU;QAAEE,SAAS;IAAK;IAEnE,OAAOJ;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,IAAMC,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,IAAMC,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","useState","state","useId"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAE/B,iEAAiE;AACjE,2HAA2H;AAC3H,IAAMC,kBAA8C,AAACD,KAAa,CAAC,QAAQE,WAAW;AAEtF,IAAIC,KAAK;AAET,2CAA2C;AAC3C,SAASC;IACP,IAAgBJ,mCAAAA,MAAMK,SAAS;eAAMF;YAA9BG,QAASN;IAEhB,OAAO,AAAC,KAAU,OAANM,OAAM;AACpB;AAEA,OAAO,IAAMC,QAAsBN,4BAAAA,6BAAAA,kBAAmBG,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","useState","state","useId"],"mappings":";AAAA,YAAYA,WAAW,QAAQ;AAE/B,iEAAiE;AACjE,2HAA2H;AAC3H,IAAMC,kBAA8C,AAACD,KAAa,CAAC,QAAQE,QAAQ,GAAG;AAEtF,IAAIC,KAAK;AAET,2CAA2C;AAC3C,SAASC;IACP,IAAgBJ,mCAAAA,MAAMK,QAAQ,CAAC;eAAMF;YAA9BG,QAASN;IAEhB,OAAO,AAAC,KAAU,OAANM,OAAM;AACpB;AAEA,OAAO,IAAMC,QAAsBN,4BAAAA,6BAAAA,kBAAmBG,yBAAyB"}