@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.
- package/README.md +2 -2
- package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
- package/dist/cjs/components/Accordion/AccordionSummary.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -2
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +6 -5
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.js +5 -3
- package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cjs/components/Avatar/AvatarBadge/icons.js.map +1 -1
- package/dist/cjs/components/Avatar/helpers.js.map +1 -1
- package/dist/cjs/components/Badge/Badge.js.map +1 -1
- package/dist/cjs/components/Banner/Banner.d.ts +5 -1
- package/dist/cjs/components/Banner/Banner.js +4 -3
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/BaseGallery/BaseGallery.js +15 -9
- package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
- package/dist/cjs/components/Button/Button.d.ts +2 -1
- package/dist/cjs/components/Button/Button.js +5 -3
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.js +2 -1
- package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -2
- package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cjs/components/CalendarDays/CalendarDays.js +6 -5
- package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cjs/components/CalendarRange/CalendarRange.js +16 -8
- package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cjs/components/CalendarTime/CalendarTime.js +4 -2
- package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cjs/components/Card/Card.js.map +1 -1
- package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/cjs/components/Cell/useDraggable.js.map +1 -1
- package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +10 -4
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +4 -0
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +20 -9
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/Counter/Counter.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js +2 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +15 -8
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -2
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.js +4 -2
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.js +8 -5
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js +11 -7
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cjs/components/Div/Div.js.map +1 -1
- package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.d.ts +1 -0
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cjs/components/File/File.js.map +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/FocusTrap/FocusTrap.js +4 -3
- package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
- package/dist/cjs/components/Footer/Footer.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js +2 -1
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
- package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
- package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cjs/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
- package/dist/cjs/components/Group/Group.d.ts +8 -8
- package/dist/cjs/components/Group/Group.js +1 -1
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
- package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.js +56 -0
- package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +2 -2
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/Image/Image.js.map +1 -1
- package/dist/cjs/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/cjs/components/ImageBase/ImageBase.js +4 -2
- package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/cjs/components/ImageBase/context.js.map +1 -1
- package/dist/cjs/components/ImageBase/helpers.js.map +1 -1
- package/dist/cjs/components/ImageBase/validators.js +3 -4
- package/dist/cjs/components/ImageBase/validators.js.map +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/InputLike/InputLike.js +6 -4
- package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
- package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/List/List.js.map +1 -1
- package/dist/cjs/components/List/ListContext.js.map +1 -1
- package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +9 -8
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPageContext.js.map +1 -1
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +21 -15
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +12 -6
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/ModalRoot/types.d.ts +4 -2
- package/dist/cjs/components/ModalRoot/types.js.map +1 -1
- package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cjs/components/ModalRoot/useModalRootContext.js.map +1 -1
- package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.js +2 -1
- package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
- package/dist/cjs/components/Panel/Panel.js.map +1 -1
- package/dist/cjs/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/cjs/components/Progress/Progress.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.js +2 -2
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
- package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cjs/components/Root/Root.d.ts +1 -0
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cjs/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/cjs/components/Search/Search.js +2 -2
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cjs/components/Separator/Separator.js.map +1 -1
- package/dist/cjs/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
- package/dist/cjs/components/SimpleCell/Chevron/Chevron.js +27 -0
- package/dist/cjs/components/SimpleCell/Chevron/Chevron.js.map +1 -0
- package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +6 -2
- package/dist/cjs/components/SimpleCell/SimpleCell.js +16 -5
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/Slider/Slider.js.map +1 -1
- package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/cjs/components/Slider/helpers.js.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.d.ts +2 -1
- package/dist/cjs/components/Spinner/Spinner.js +19 -4
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitColContext.js.map +1 -1
- package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.js +2 -1
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +4 -2
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Tooltip/TooltipContainer.js.map +1 -1
- package/dist/cjs/components/Touch/Touch.js +1 -1
- package/dist/cjs/components/Touch/Touch.js.map +1 -1
- package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/Typography/Typography.js.map +1 -1
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/View/View.d.ts +1 -0
- package/dist/cjs/components/View/View.js +16 -8
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/components/View/utils.js +2 -2
- package/dist/cjs/components/View/utils.js.map +1 -1
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/helpers/appearance.js.map +1 -1
- package/dist/cjs/helpers/generateVKUITokensClassName.js.map +1 -1
- package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
- package/dist/cjs/helpers/math.js.map +1 -1
- package/dist/cjs/helpers/range.js.map +1 -1
- package/dist/cjs/hoc/withContext.js.map +1 -1
- package/dist/cjs/hoc/withInsets.js.map +1 -1
- package/dist/cjs/hoc/withPlatform.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityConditionalRender/index.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityHasHover.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityHasPointer.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/cjs/hooks/useAppearance.js.map +1 -1
- package/dist/cjs/hooks/useAutoDetectAppearance.js +2 -1
- package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
- package/dist/cjs/hooks/useBooleanState.js.map +1 -1
- package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -1
- package/dist/cjs/hooks/useCalendar.js +6 -3
- package/dist/cjs/hooks/useCalendar.js.map +1 -1
- package/dist/cjs/hooks/useChipsInput.js +2 -1
- package/dist/cjs/hooks/useChipsInput.js.map +1 -1
- package/dist/cjs/hooks/useChipsSelect.js.map +1 -1
- package/dist/cjs/hooks/useDateInput.js +5 -3
- package/dist/cjs/hooks/useDateInput.js.map +1 -1
- package/dist/cjs/hooks/useEffectDev.js.map +1 -1
- package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
- package/dist/cjs/hooks/useEventListener.js.map +1 -1
- package/dist/cjs/hooks/useExternRef.js.map +1 -1
- package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
- package/dist/cjs/hooks/useFocusWithin.js.map +1 -1
- package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/cjs/hooks/useId.js.map +1 -1
- package/dist/cjs/hooks/useInsets.js.map +1 -1
- package/dist/cjs/hooks/useIsClient.js.map +1 -1
- package/dist/cjs/hooks/useKeyboard.js +4 -4
- package/dist/cjs/hooks/useKeyboard.js.map +1 -1
- package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
- package/dist/cjs/hooks/useObjectMemo.js.map +1 -1
- package/dist/cjs/hooks/useOrientationChange.js +1 -1
- package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
- package/dist/cjs/hooks/usePagination.js.map +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.js +2 -1
- package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/cjs/hooks/usePlatform.js.map +1 -1
- package/dist/cjs/hooks/usePrevious.js.map +1 -1
- package/dist/cjs/hooks/useTimeout.js +2 -1
- package/dist/cjs/hooks/useTimeout.js.map +1 -1
- package/dist/cjs/hooks/useTodayDate.js.map +1 -1
- package/dist/cjs/hooks/useWaitTransitionFinish.js +4 -2
- package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/SSR.js.map +1 -1
- package/dist/cjs/lib/accessibility.js.map +1 -1
- package/dist/cjs/lib/adaptivity/constants.js.map +1 -1
- package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
- package/dist/cjs/lib/animate.js.map +1 -1
- package/dist/cjs/lib/browser.js.map +1 -1
- package/dist/cjs/lib/calendar.js.map +1 -1
- package/dist/cjs/lib/callMultiple.js.map +1 -1
- package/dist/cjs/lib/date.js.map +1 -1
- package/dist/cjs/lib/dom.js.map +1 -1
- package/dist/cjs/lib/floating/adapters.js.map +1 -1
- package/dist/cjs/lib/floating/functions.js.map +1 -1
- package/dist/cjs/lib/floating/index.js.map +1 -1
- package/dist/cjs/lib/fx.js.map +1 -1
- package/dist/cjs/lib/getNavId.js.map +1 -1
- package/dist/cjs/lib/isRefObject.js.map +1 -1
- package/dist/cjs/lib/matchMedia.js.map +1 -1
- package/dist/cjs/lib/offset.js +6 -5
- package/dist/cjs/lib/offset.js.map +1 -1
- package/dist/cjs/lib/platform.js.map +1 -1
- package/dist/cjs/lib/polyfills.js.map +1 -1
- package/dist/cjs/lib/removeObjectKeys.js.map +1 -1
- package/dist/cjs/lib/select.js +2 -2
- package/dist/cjs/lib/select.js.map +1 -1
- package/dist/cjs/lib/styles.js.map +1 -1
- package/dist/cjs/lib/supportEvents.js.map +1 -1
- package/dist/cjs/lib/taptic.js.map +1 -1
- package/dist/cjs/lib/testing.js.map +1 -1
- package/dist/cjs/lib/tokensClassProvider.js.map +1 -1
- package/dist/cjs/lib/touch.js.map +1 -1
- package/dist/cjs/lib/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/cjs/lib/utils.js.map +1 -1
- package/dist/cjs/lib/warnOnce.js.map +1 -1
- package/dist/cjs/shared/breakpoints.js.map +1 -1
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -2
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +6 -5
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.js +5 -3
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/components/Avatar/helpers.js.map +1 -1
- package/dist/components/Banner/Banner.d.ts +5 -1
- package/dist/components/Banner/Banner.js +4 -3
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/BaseGallery/BaseGallery.js +15 -9
- package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/components/BaseGallery/helpers.js.map +1 -1
- package/dist/components/Button/Button.d.ts +2 -1
- package/dist/components/Button/Button.js +5 -3
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Calendar/Calendar.js +2 -1
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +4 -2
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js +6 -5
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.js +16 -8
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js +4 -2
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/components/Cell/useDraggable.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
- package/dist/components/ChipsInputBase/ChipsInputBase.js +10 -4
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -0
- package/dist/components/ChipsSelect/ChipsSelect.js +20 -9
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js +2 -1
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +15 -8
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -2
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/DateInput/DateInput.js +4 -2
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +8 -5
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +11 -7
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/components/Epic/Epic.d.ts +1 -0
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js +2 -1
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.js +4 -3
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormItem/FormItem.js +2 -1
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
- package/dist/components/Group/Group.d.ts +8 -8
- package/dist/components/Group/Group.js +1 -1
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
- package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.js +45 -0
- package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
- package/dist/components/HorizontalScroll/HorizontalScroll.js +2 -2
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Image/Image.js.map +1 -1
- package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/components/ImageBase/ImageBase.js +4 -2
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/components/ImageBase/context.js.map +1 -1
- package/dist/components/ImageBase/helpers.js.map +1 -1
- package/dist/components/ImageBase/validators.js +3 -4
- package/dist/components/ImageBase/validators.js.map +1 -1
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/InputLike/InputLike.js +6 -4
- package/dist/components/InputLike/InputLike.js.map +1 -1
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/List/List.js.map +1 -1
- package/dist/components/List/ListContext.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +9 -8
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPage/ModalPageContext.js.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +21 -15
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js +12 -6
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/ModalRoot/types.d.ts +4 -2
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
- package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/components/Pagination/Pagination.js +2 -1
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Removable/Removable.js +2 -2
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/Root/Root.d.ts +1 -0
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/Search/Search.js +2 -2
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
- package/dist/components/SimpleCell/Chevron/Chevron.js +16 -0
- package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -0
- package/dist/components/SimpleCell/SimpleCell.d.ts +6 -2
- package/dist/components/SimpleCell/SimpleCell.js +16 -5
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/Slider/Slider.js.map +1 -1
- package/dist/components/Slider/helpers.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Spinner/Spinner.d.ts +2 -1
- package/dist/components/Spinner/Spinner.js +19 -4
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitCol/SplitColContext.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +1 -1
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Textarea/Textarea.js +2 -1
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +4 -2
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/TooltipContainer.js.map +1 -1
- package/dist/components/Touch/Touch.js +1 -1
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Touch/TouchContext.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Text/Text.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/View.d.ts +1 -0
- package/dist/components/View/View.js +16 -8
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/View/utils.js +2 -2
- package/dist/components/View/utils.js.map +1 -1
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +10 -9
- package/dist/components.css.map +1 -1
- package/dist/components.js.tmp +3108 -2238
- package/dist/cssm/components/Accordion/Accordion.js +1 -1
- package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
- package/dist/cssm/components/Accordion/AccordionSummary.js +1 -1
- package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -2
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +3 -3
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +3 -3
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +2 -2
- package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +3 -3
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +6 -6
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +3 -3
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.js +2 -2
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js +5 -5
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +1 -1
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
- package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.js +1 -1
- package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js +2 -2
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +2 -2
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/icons.js +2 -2
- package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
- package/dist/cssm/components/Avatar/helpers.js.map +1 -1
- package/dist/cssm/components/Badge/Badge.js +1 -1
- package/dist/cssm/components/Badge/Badge.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.d.ts +5 -1
- package/dist/cssm/components/Banner/Banner.js +2 -2
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.module.css +6 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.js +3 -3
- package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cssm/components/BaseGallery/helpers.js +4 -4
- package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
- package/dist/cssm/components/Button/Button.d.ts +2 -1
- package/dist/cssm/components/Button/Button.js +4 -3
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.js +2 -2
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +2 -2
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js +2 -2
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +7 -7
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -2
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/Card/Card.js +1 -1
- package/dist/cssm/components/Card/Card.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.js +2 -2
- package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +2 -2
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js +3 -3
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/cssm/components/Cell/useDraggable.js +1 -1
- package/dist/cssm/components/Cell/useDraggable.js.map +1 -1
- package/dist/cssm/components/CellButton/CellButton.js +1 -1
- package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +3 -3
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Chip/Chip.js +2 -2
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +9 -5
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -0
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +13 -5
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -2
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +3 -3
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js +1 -1
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js +3 -3
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +1 -1
- package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +4 -4
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -2
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +2 -2
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +3 -3
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.js +8 -8
- package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +3 -3
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/Div/Div.js +1 -1
- package/dist/cssm/components/Div/Div.js.map +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js +2 -2
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.d.ts +1 -0
- package/dist/cssm/components/Epic/Epic.js +1 -1
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js +2 -2
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/File/File.js +1 -1
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js +3 -3
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.js +4 -4
- package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.js +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
- package/dist/cssm/components/Footer/Footer.js +1 -1
- package/dist/cssm/components/Footer/Footer.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.js +2 -2
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +2 -2
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.js +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -2
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.js +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.js +1 -1
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/Gradient/Gradient.js +1 -1
- package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.js +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js +2 -2
- package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
- package/dist/cssm/components/Group/Group.d.ts +8 -8
- package/dist/cssm/components/Group/Group.js +4 -4
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Group/Group.module.css +2 -0
- package/dist/cssm/components/Header/Header.js +2 -2
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -3
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +0 -5
- package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
- package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.js +35 -0
- package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
- package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.module.css +47 -0
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +2 -2
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.js +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.js +2 -2
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/Image/Image.js +1 -1
- package/dist/cssm/components/Image/Image.js.map +1 -1
- package/dist/cssm/components/Image/ImageBadge/ImageBadge.js +2 -2
- package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +2 -2
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +2 -2
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/cssm/components/ImageBase/context.js.map +1 -1
- package/dist/cssm/components/ImageBase/helpers.js.map +1 -1
- package/dist/cssm/components/ImageBase/validators.js +3 -4
- package/dist/cssm/components/ImageBase/validators.js.map +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cssm/components/Input/Input.js +2 -2
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLike.js +1 -1
- package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
- package/dist/cssm/components/InputLike/InputLikeDivider.js +1 -1
- package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
- package/dist/cssm/components/Link/Link.js +1 -1
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/List/List.js +1 -1
- package/dist/cssm/components/List/List.js.map +1 -1
- package/dist/cssm/components/List/ListContext.js.map +1 -1
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +3 -3
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +11 -10
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +4 -5
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +4 -4
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.module.css +5 -1
- package/dist/cssm/components/ModalPage/ModalPageContext.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -3
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +12 -12
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +7 -7
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/ModalRoot/types.d.ts +4 -2
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
- package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
- package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -2
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +1 -1
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.js +2 -2
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.js +2 -2
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/PanelHeader/LegacyPanelHeaderContent.js +1 -1
- package/dist/cssm/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +9 -9
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -2
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +2 -2
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js +1 -1
- package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js +5 -5
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +2 -2
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.js +3 -3
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js +3 -3
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.js +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/cssm/components/Progress/Progress.js +1 -1
- package/dist/cssm/components/Progress/Progress.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +6 -6
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +2 -2
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.js +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -2
- package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.js +4 -4
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.js +2 -2
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js +1 -1
- package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.js +1 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cssm/components/Root/Root.d.ts +1 -0
- package/dist/cssm/components/Root/Root.js +5 -5
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/ScrollArrow/ScrollArrow.js +3 -3
- package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
- package/dist/cssm/components/Search/Search.js +3 -3
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js +3 -3
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +3 -3
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/Select/Select.js +3 -3
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -2
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.js +2 -2
- package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cssm/components/Separator/Separator.js +1 -1
- package/dist/cssm/components/Separator/Separator.js.map +1 -1
- package/dist/cssm/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
- package/dist/cssm/components/SimpleCell/Chevron/Chevron.js +12 -0
- package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -0
- package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +6 -2
- package/dist/cssm/components/SimpleCell/SimpleCell.js +15 -5
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.module.css +5 -6
- package/dist/cssm/components/Slider/Slider.js +7 -7
- package/dist/cssm/components/Slider/Slider.js.map +1 -1
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +2 -2
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/cssm/components/Slider/helpers.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +4 -4
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.js +1 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/Spinner/Spinner.d.ts +2 -1
- package/dist/cssm/components/Spinner/Spinner.js +19 -5
- package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
- package/dist/cssm/components/Spinner/Spinner.module.css +0 -19
- package/dist/cssm/components/SplitCol/SplitCol.js +3 -3
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -3
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.js +3 -3
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.js +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -2
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.js +2 -2
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +3 -3
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.js +10 -10
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.module.css +2 -0
- package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +2 -2
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +5 -5
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Tooltip/TooltipContainer.js +1 -1
- package/dist/cssm/components/Tooltip/TooltipContainer.js.map +1 -1
- package/dist/cssm/components/Touch/Touch.js +4 -4
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.js +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js +2 -2
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.js +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -2
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.js +2 -2
- package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.js +1 -1
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/Typography/Typography.js +1 -1
- package/dist/cssm/components/Typography/Typography.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.js +2 -2
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/View/View.d.ts +1 -0
- package/dist/cssm/components/View/View.js +3 -3
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +2 -2
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/View/utils.js.map +1 -1
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +1 -1
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/helpers/appearance.js +1 -1
- package/dist/cssm/helpers/appearance.js.map +1 -1
- package/dist/cssm/helpers/generateVKUITokensClassName.js.map +1 -1
- package/dist/cssm/helpers/math.js.map +1 -1
- package/dist/cssm/helpers/range.js.map +1 -1
- package/dist/cssm/hoc/withContext.js.map +1 -1
- package/dist/cssm/hoc/withPlatform.js +1 -1
- package/dist/cssm/hoc/withPlatform.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityHasHover.js +1 -1
- package/dist/cssm/hooks/useAdaptivityHasHover.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityHasPointer.js +1 -1
- package/dist/cssm/hooks/useAdaptivityHasPointer.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js +1 -1
- package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/cssm/hooks/useAppearance.js +1 -1
- package/dist/cssm/hooks/useAppearance.js.map +1 -1
- package/dist/cssm/hooks/useAutoDetectAppearance.js +2 -2
- package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
- package/dist/cssm/hooks/useBooleanState.js.map +1 -1
- package/dist/cssm/hooks/useBridgeAdaptivity.js +2 -2
- package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -1
- package/dist/cssm/hooks/useCalendar.js +1 -1
- package/dist/cssm/hooks/useCalendar.js.map +1 -1
- package/dist/cssm/hooks/useChipsInput.js +1 -1
- package/dist/cssm/hooks/useChipsInput.js.map +1 -1
- package/dist/cssm/hooks/useChipsSelect.js +2 -2
- package/dist/cssm/hooks/useChipsSelect.js.map +1 -1
- package/dist/cssm/hooks/useDateInput.js +4 -4
- package/dist/cssm/hooks/useDateInput.js.map +1 -1
- package/dist/cssm/hooks/useEffectDev.js.map +1 -1
- package/dist/cssm/hooks/useEnsuredControl.js +2 -2
- package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
- package/dist/cssm/hooks/useEventListener.js.map +1 -1
- package/dist/cssm/hooks/useExternRef.js.map +1 -1
- package/dist/cssm/hooks/useFocusVisible.js +1 -1
- package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
- package/dist/cssm/hooks/useFocusWithin.js +1 -1
- package/dist/cssm/hooks/useFocusWithin.js.map +1 -1
- package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/cssm/hooks/useId.js.map +1 -1
- package/dist/cssm/hooks/useInsets.js +2 -2
- package/dist/cssm/hooks/useInsets.js.map +1 -1
- package/dist/cssm/hooks/useIsClient.js.map +1 -1
- package/dist/cssm/hooks/useKeyboard.js +2 -2
- package/dist/cssm/hooks/useKeyboard.js.map +1 -1
- package/dist/cssm/hooks/useKeyboardInputTracker.js +1 -1
- package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/cssm/hooks/useMediaQueries.js +1 -1
- package/dist/cssm/hooks/useMediaQueries.js.map +1 -1
- package/dist/cssm/hooks/useObjectMemo.js.map +1 -1
- package/dist/cssm/hooks/useOrientationChange.js +1 -1
- package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
- package/dist/cssm/hooks/usePagination.js +1 -1
- package/dist/cssm/hooks/usePagination.js.map +1 -1
- package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/cssm/hooks/usePlatform.js +1 -1
- package/dist/cssm/hooks/usePlatform.js.map +1 -1
- package/dist/cssm/hooks/usePrevious.js.map +1 -1
- package/dist/cssm/hooks/useTimeout.js +1 -1
- package/dist/cssm/hooks/useTimeout.js.map +1 -1
- package/dist/cssm/hooks/useTodayDate.js +1 -1
- package/dist/cssm/hooks/useTodayDate.js.map +1 -1
- package/dist/cssm/hooks/useWaitTransitionFinish.js +1 -1
- package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cssm/index.d.ts +3 -1
- package/dist/cssm/index.js +1 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.js +1 -1
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/accessibility.js +2 -2
- package/dist/cssm/lib/accessibility.js.map +1 -1
- package/dist/cssm/lib/adaptivity/constants.js.map +1 -1
- package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
- package/dist/cssm/lib/animate.js +1 -1
- package/dist/cssm/lib/animate.js.map +1 -1
- package/dist/cssm/lib/browser.js +1 -1
- package/dist/cssm/lib/browser.js.map +1 -1
- package/dist/cssm/lib/calendar.js.map +1 -1
- package/dist/cssm/lib/callMultiple.js.map +1 -1
- package/dist/cssm/lib/date.js.map +1 -1
- package/dist/cssm/lib/dom.js.map +1 -1
- package/dist/cssm/lib/floating/adapters.js +1 -1
- package/dist/cssm/lib/floating/adapters.js.map +1 -1
- package/dist/cssm/lib/floating/functions.js.map +1 -1
- package/dist/cssm/lib/fx.js.map +1 -1
- package/dist/cssm/lib/getNavId.js.map +1 -1
- package/dist/cssm/lib/isRefObject.js.map +1 -1
- package/dist/cssm/lib/matchMedia.js.map +1 -1
- package/dist/cssm/lib/platform.js.map +1 -1
- package/dist/cssm/lib/removeObjectKeys.js.map +1 -1
- package/dist/cssm/lib/select.js.map +1 -1
- package/dist/cssm/lib/styles.js.map +1 -1
- package/dist/cssm/lib/supportEvents.js.map +1 -1
- package/dist/cssm/lib/taptic.js.map +1 -1
- package/dist/cssm/lib/testing.js.map +1 -1
- package/dist/cssm/lib/tokensClassProvider.js +1 -1
- package/dist/cssm/lib/tokensClassProvider.js.map +1 -1
- package/dist/cssm/lib/touch.js.map +1 -1
- package/dist/cssm/lib/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/lib/warnOnce.js.map +1 -1
- package/dist/cssm/shared/breakpoints.js.map +1 -1
- package/dist/cssm/styles/constants.css +3 -0
- package/dist/cssm/styles/customMedias.generated.css +23 -0
- package/dist/cssm/styles/themes.css +3 -3
- package/dist/helpers/appearance.js.map +1 -1
- package/dist/helpers/generateVKUITokensClassName.js.map +1 -1
- package/dist/helpers/math.js.map +1 -1
- package/dist/helpers/range.js.map +1 -1
- package/dist/hoc/withContext.js.map +1 -1
- package/dist/hooks/useAdaptivity.js.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/hooks/useAdaptivityHasHover.js.map +1 -1
- package/dist/hooks/useAdaptivityHasPointer.js.map +1 -1
- package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/hooks/useAutoDetectAppearance.js +2 -1
- package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
- package/dist/hooks/useBooleanState.js.map +1 -1
- package/dist/hooks/useBridgeAdaptivity.js.map +1 -1
- package/dist/hooks/useCalendar.js +6 -3
- package/dist/hooks/useCalendar.js.map +1 -1
- package/dist/hooks/useChipsInput.js +2 -1
- package/dist/hooks/useChipsInput.js.map +1 -1
- package/dist/hooks/useChipsSelect.js.map +1 -1
- package/dist/hooks/useDateInput.js +5 -3
- package/dist/hooks/useDateInput.js.map +1 -1
- package/dist/hooks/useEffectDev.js.map +1 -1
- package/dist/hooks/useEnsuredControl.js.map +1 -1
- package/dist/hooks/useEventListener.js.map +1 -1
- package/dist/hooks/useExternRef.js.map +1 -1
- package/dist/hooks/useFocusVisible.js.map +1 -1
- package/dist/hooks/useFocusWithin.js.map +1 -1
- package/dist/hooks/useGlobalEventListener.js.map +1 -1
- package/dist/hooks/useId.js.map +1 -1
- package/dist/hooks/useInsets.js.map +1 -1
- package/dist/hooks/useIsClient.js.map +1 -1
- package/dist/hooks/useKeyboard.js +4 -4
- package/dist/hooks/useKeyboard.js.map +1 -1
- package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
- package/dist/hooks/useMediaQueries.js.map +1 -1
- package/dist/hooks/useObjectMemo.js.map +1 -1
- package/dist/hooks/useOrientationChange.js +1 -1
- package/dist/hooks/useOrientationChange.js.map +1 -1
- package/dist/hooks/usePagination.js.map +1 -1
- package/dist/hooks/usePatchChildrenRef.js +2 -1
- package/dist/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/hooks/usePrevious.js.map +1 -1
- package/dist/hooks/useTimeout.js +2 -1
- package/dist/hooks/useTimeout.js.map +1 -1
- package/dist/hooks/useTodayDate.js.map +1 -1
- package/dist/hooks/useWaitTransitionFinish.js +4 -2
- package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/accessibility.js.map +1 -1
- package/dist/lib/adaptivity/constants.js.map +1 -1
- package/dist/lib/adaptivity/functions.js.map +1 -1
- package/dist/lib/animate.js.map +1 -1
- package/dist/lib/browser.js.map +1 -1
- package/dist/lib/calendar.js.map +1 -1
- package/dist/lib/callMultiple.js.map +1 -1
- package/dist/lib/date.js.map +1 -1
- package/dist/lib/dom.js.map +1 -1
- package/dist/lib/floating/adapters.js.map +1 -1
- package/dist/lib/floating/functions.js.map +1 -1
- package/dist/lib/fx.js.map +1 -1
- package/dist/lib/getNavId.js.map +1 -1
- package/dist/lib/isRefObject.js.map +1 -1
- package/dist/lib/matchMedia.js.map +1 -1
- package/dist/lib/offset.js +6 -5
- package/dist/lib/offset.js.map +1 -1
- package/dist/lib/platform.js.map +1 -1
- package/dist/lib/polyfills.js.map +1 -1
- package/dist/lib/removeObjectKeys.js.map +1 -1
- package/dist/lib/select.js +2 -2
- package/dist/lib/select.js.map +1 -1
- package/dist/lib/styles.js.map +1 -1
- package/dist/lib/supportEvents.js.map +1 -1
- package/dist/lib/taptic.js.map +1 -1
- package/dist/lib/testing.js.map +1 -1
- package/dist/lib/tokensClassProvider.js.map +1 -1
- package/dist/lib/touch.js.map +1 -1
- package/dist/lib/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/warnOnce.js.map +1 -1
- package/dist/shared/breakpoints.js.map +1 -1
- package/dist/vkui.css +11 -10
- package/dist/vkui.css.map +1 -1
- package/dist/vkui.js.tmp +3108 -2238
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { canUseDOM, DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { animationEvent, transitionEvent } from '../../lib/supportEvents';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasPlatform } from '../../types';\nimport { ScrollContext, ScrollContextInterface } from '../AppRoot/ScrollContext';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { SplitColContext, SplitColContextProps } from '../SplitCol/SplitColContext';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { swipeBackExcluded } from './utils';\nimport styles from './View.module.css';\n\nconst warn = warnOnce('ViewInfinite');\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: Array<number | undefined>;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nlet scrollsCache: ViewsScrolls = {};\n\nexport type TransitionParams = { from: string | null; to: string | null };\n\nexport interface ViewInfiniteProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n onTransition?(params: TransitionParams & { isBack: boolean }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(activePanel: string | null): void | 'prevent';\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n isBackCheck?(params: TransitionParams): boolean;\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewInfiniteState {\n animated: boolean;\n\n visiblePanels: Array<string | null>;\n activePanel: string | null;\n isBack?: boolean;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipeBackPrevented: boolean;\n swipeBackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nclass ViewInfiniteComponent extends React.Component<\n ViewInfiniteProps & DOMProps,\n ViewInfiniteState\n> {\n private static readonly SWIPE_BACK_AREA = 70;\n\n constructor(props: ViewInfiniteProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipeBackPrevented: false,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewInfiniteProps> = {\n history: [],\n };\n\n private scrolls = scrollsCache[getNavId(this.props, warn) as string] || {};\n private transitionFinishTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n private animationFinishTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n }\n\n componentDidUpdate(prevProps: ViewInfiniteProps, prevState: ViewInfiniteState) {\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n let isBack = false;\n\n if (this.props.isBackCheck) {\n isBack = this.props.isBackCheck({\n from: prevProps.activePanel,\n to: this.props.activePanel,\n });\n } else {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find((id) => id === prevProps.activePanel || id === this.props.activePanel);\n isBack = firstLayerId === this.props.activePanel;\n }\n\n this.blurActiveElement();\n\n const prevScrolls = this.scrolls[prevProps.activePanel] || [];\n const scrolls = {\n ...this.scrolls,\n [prevProps.activePanel]: [...prevScrolls, this.props.scroll?.getScroll().y],\n };\n this.scrolls = scrolls;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === Platform.ANDROID || this.props.platform === Platform.VKCOM\n ? 300\n : 600,\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevProps.activePanel !== this.props.activePanel && prevState.swipingBack) {\n const nextPanel = this.state.swipeBackNextPanel;\n const prevPanel = this.state.swipeBackPrevPanel;\n let scrollPosition: undefined | number = undefined;\n\n this.scrolls = {\n ...this.scrolls,\n };\n\n if (prevPanel !== null) {\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n this.scrolls[prevPanel] = prevPanelScrolls;\n }\n if (nextPanel !== null) {\n const newPanelScrolls = [...(this.scrolls[nextPanel] || [])];\n scrollPosition = newPanelScrolls.pop();\n this.scrolls[nextPanel] = newPanelScrolls;\n }\n\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n this.props.scroll?.scrollTo(0, scrollPosition);\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n },\n );\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler,\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n const newPanelScrolls = [...(this.scrolls[this.state.activePanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: newPanelScrolls,\n };\n\n this.props.scroll?.scrollTo(0, scrollPosition);\n }\n\n // Закончился Safari свайп\n if (prevProps.activePanel !== this.props.activePanel && this.state.browserSwipe) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate ||\n this.props.platform === Platform.VKCOM\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler,\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener,\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener,\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === Platform.ANDROID || this.props.platform === Platform.VKCOM\n ? 300\n : 600,\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== 'undefined' && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n const newPanelScrolls = [...(this.scrolls[activePanel] || [])];\n const scrollPosition = isBack ? newPanelScrolls.pop() : 0;\n if (isBack) {\n this.scrolls = {\n ...this.scrolls,\n [prevPanel]: prevPanelScrolls,\n [activePanel]: newPanelScrolls,\n };\n }\n\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel: activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? scrollPosition : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n },\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n styles['vkui-animation-ios-next-forward'],\n styles['vkui-animation-ios-prev-back'],\n styles['vkui-animation-view-next-forward'],\n styles['vkui-animation-view-prev-back'],\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e.propertyName.includes('transform') &&\n e.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (event: TouchEvent): void => {\n if (\n !this.window ||\n this.props.platform !== Platform.IOS ||\n this.state.swipeBackPrevented ||\n swipeBackExcluded(event) ||\n this.shouldDisableTransitionMotion()\n ) {\n return;\n }\n\n if (!this.props.configProvider?.isWebView) {\n if (\n (event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA ||\n event.startX >= this.window.innerWidth - ViewInfiniteComponent.SWIPE_BACK_AREA) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n return;\n }\n\n if (\n !this.props.onSwipeBack ||\n (this.state.animated && event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA)\n ) {\n return;\n }\n\n if (\n !this.state.swipingBack &&\n event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA &&\n this.props.history &&\n this.props.history.length > 1\n ) {\n if (this.props.onSwipeBackStart) {\n const payload = this.props.onSwipeBackStart(this.state.activePanel);\n if (payload === 'prevent') {\n this.setState({ swipeBackPrevented: true });\n return;\n }\n }\n\n if (this.state.activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n this.blurActiveElement();\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [...prevScrolls, this.props.scroll?.getScroll().y],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipeBackStartX: event.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history.slice(-2)[0],\n });\n }\n\n if (this.state.swipingBack) {\n let swipeBackShift;\n if (event.shiftX < 0) {\n swipeBackShift = 0;\n } else if (event.shiftX > this.window.innerWidth - this.state.swipeBackStartX) {\n swipeBackShift = this.window.innerWidth;\n } else {\n swipeBackShift = event.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n };\n\n onEnd = (event: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / event.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= this.window.innerWidth) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipeBackStartX + this.state.swipeBackShift > this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n if (this.state.swipeBackPrevented) {\n this.setState({ swipeBackPrevented: false });\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) / this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` } : {};\n }\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n id,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n isBackCheck,\n className,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n isBack,\n animated,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n swipingBack,\n } = this.state;\n\n const panels = this.panels\n .filter((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n })\n .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel = panelId === nextPanel || panelId === swipeBackNextPanel;\n\n if (isNextPanel) {\n return swipingBack || this.state.isBack ? -1 : 1;\n }\n\n if (isPrevPanel) {\n return swipingBack || this.state.isBack ? 1 : -1;\n }\n\n return 0;\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles['View'],\n platform === Platform.IOS && classNames(styles['View--ios'], 'vkuiInternalView--ios'),\n !disableAnimation && this.state.animated && styles['View--animated'],\n !disableAnimation && this.state.swipingBack && styles['View--swiping-back'],\n disableAnimation && styles['View--no-motion'],\n className,\n )}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div className={styles['View__panels']}>\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev || panelId === swipeBackNextPanel || (panelId === nextPanel && isBack);\n const isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);\n const scrollList = (panelId && this.scrolls[panelId]) || [];\n const scroll = scrollList[scrollList.length - 1] || 0;\n\n return (\n <div\n className={classNames(\n styles['View__panel'],\n panelId === activePanel && styles['View__panel--active'],\n panelId === prevPanel && styles['View__panel--prev'],\n panelId === nextPanel && styles['View__panel--next'],\n panelId === swipeBackPrevPanel && styles['View__panel--swipe-back-prev'],\n panelId === swipeBackNextPanel && styles['View__panel--swipe-back-next'],\n swipeBackResult === SwipeBackResults.success &&\n styles['View__panel--swipe-back-success'],\n swipeBackResult === SwipeBackResults.fail &&\n styles['View__panel--swipe-back-failed'],\n )}\n onAnimationEnd={isTransitionTarget ? this.transitionEndHandler : undefined}\n ref={(el) => panelId !== undefined && (this.panelNodes[panelId] = el)}\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n className={styles['View__panel-in']}\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n );\n }\n}\n\nexport const ViewInfinite = withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewInfiniteProps>(ViewInfiniteComponent)),\n SplitColContext,\n 'splitCol',\n ),\n ConfigProviderContext,\n 'configProvider',\n ),\n ScrollContext,\n 'scroll',\n);\n"],"names":["React","classNames","withContext","withPlatform","canUseDOM","withDOM","getNavId","Platform","animationEvent","transitionEvent","warnOnce","ScrollContext","ConfigProviderContext","NavTransitionProvider","SplitColContext","Touch","swipeBackExcluded","styles","warn","SwipeBackResults","fail","success","scrollsCache","ViewInfiniteComponent","Component","SWIPE_BACK_AREA","constructor","props","state","animated","visiblePanels","activePanel","isBack","undefined","prevPanel","nextPanel","swipingBack","swipeBackPrevented","swipeBackStartX","swipeBackShift","swipeBackNextPanel","swipeBackPrevPanel","swipeBackResult","browserSwipe","defaultProps","history","scrolls","transitionFinishTimeout","animationFinishTimeout","document","window","panels","Children","toArray","children","panelNodes","componentWillUnmount","id","clearTimeout","componentDidUpdate","prevProps","prevState","isBackCheck","from","to","firstLayerId","map","panel","find","blurActiveElement","prevScrolls","scroll","getScroll","y","shouldDisableTransitionMotion","flushTransition","setState","supported","setTimeout","transitionEndHandler","platform","ANDROID","VKCOM","scrollPosition","prevPanelScrolls","slice","newPanelScrolls","pop","scrollTo","onTransition","waitTransitionFinish","pickPanel","swipingBackTransitionEndHandler","configProvider","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","activeElement","blur","e","includes","animationName","Boolean","propertyName","target","onSwipeBackCancel","onSwipeBackSuccess","onSwipeBack","onMoveX","event","IOS","isWebView","startX","innerWidth","length","onSwipeBackStart","payload","shiftX","onEnd","speed","duration","calcPanelSwipeStyles","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","render","_1","nav","className","restProps","filter","sort","isPrevPanel","isNextPanel","disableAnimation","div","compensateScroll","isTransitionTarget","scrollList","onAnimationEnd","ref","el","style","key","marginTop","entering","ViewInfinite"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/View/ViewInfinite.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { canUseDOM, DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { animationEvent, transitionEvent } from '../../lib/supportEvents';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasPlatform } from '../../types';\nimport { ScrollContext, ScrollContextInterface } from '../AppRoot/ScrollContext';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { NavTransitionProvider } from '../NavTransitionContext/NavTransitionContext';\nimport { SplitColContext, SplitColContextProps } from '../SplitCol/SplitColContext';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { swipeBackExcluded } from './utils';\nimport styles from './View.module.css';\n\nconst warn = warnOnce('ViewInfinite');\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: Array<number | undefined>;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nlet scrollsCache: ViewsScrolls = {};\n\nexport type TransitionParams = { from: string | null; to: string | null };\n\nexport interface ViewInfiniteProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n onTransition?(params: TransitionParams & { isBack: boolean }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(activePanel: string | null): void | 'prevent';\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n isBackCheck?(params: TransitionParams): boolean;\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewInfiniteState {\n animated: boolean;\n\n visiblePanels: Array<string | null>;\n activePanel: string | null;\n isBack?: boolean;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipeBackPrevented: boolean;\n swipeBackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nclass ViewInfiniteComponent extends React.Component<\n ViewInfiniteProps & DOMProps,\n ViewInfiniteState\n> {\n private static readonly SWIPE_BACK_AREA = 70;\n\n constructor(props: ViewInfiniteProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipeBackPrevented: false,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewInfiniteProps> = {\n history: [],\n };\n\n private scrolls = scrollsCache[getNavId(this.props, warn) as string] || {};\n private transitionFinishTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n private animationFinishTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n }\n\n componentDidUpdate(prevProps: ViewInfiniteProps, prevState: ViewInfiniteState) {\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n let isBack = false;\n\n if (this.props.isBackCheck) {\n isBack = this.props.isBackCheck({\n from: prevProps.activePanel,\n to: this.props.activePanel,\n });\n } else {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find((id) => id === prevProps.activePanel || id === this.props.activePanel);\n isBack = firstLayerId === this.props.activePanel;\n }\n\n this.blurActiveElement();\n\n const prevScrolls = this.scrolls[prevProps.activePanel] || [];\n const scrolls = {\n ...this.scrolls,\n [prevProps.activePanel]: [...prevScrolls, this.props.scroll?.getScroll().y],\n };\n this.scrolls = scrolls;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === Platform.ANDROID || this.props.platform === Platform.VKCOM\n ? 300\n : 600,\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (prevProps.activePanel !== this.props.activePanel && prevState.swipingBack) {\n const nextPanel = this.state.swipeBackNextPanel;\n const prevPanel = this.state.swipeBackPrevPanel;\n let scrollPosition: undefined | number = undefined;\n\n this.scrolls = {\n ...this.scrolls,\n };\n\n if (prevPanel !== null) {\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n this.scrolls[prevPanel] = prevPanelScrolls;\n }\n if (nextPanel !== null) {\n const newPanelScrolls = [...(this.scrolls[nextPanel] || [])];\n scrollPosition = newPanelScrolls.pop();\n this.scrolls[nextPanel] = newPanelScrolls;\n }\n\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n this.props.scroll?.scrollTo(0, scrollPosition);\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n },\n );\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler,\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n const newPanelScrolls = [...(this.scrolls[this.state.activePanel] || [])];\n const scrollPosition = newPanelScrolls.pop();\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: newPanelScrolls,\n };\n\n this.props.scroll?.scrollTo(0, scrollPosition);\n }\n\n // Закончился Safari свайп\n if (prevProps.activePanel !== this.props.activePanel && this.state.browserSwipe) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate ||\n this.props.platform === Platform.VKCOM\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler,\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener,\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener,\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === Platform.ANDROID || this.props.platform === Platform.VKCOM\n ? 300\n : 600,\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== 'undefined' && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n\n const prevPanelScrolls = [...(this.scrolls[prevPanel] || [])].slice(0, -1);\n const newPanelScrolls = [...(this.scrolls[activePanel] || [])];\n const scrollPosition = isBack ? newPanelScrolls.pop() : 0;\n if (isBack) {\n this.scrolls = {\n ...this.scrolls,\n [prevPanel]: prevPanelScrolls,\n [activePanel]: newPanelScrolls,\n };\n }\n\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel: activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? scrollPosition : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n },\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n styles['vkui-animation-ios-next-forward'],\n styles['vkui-animation-ios-prev-back'],\n styles['vkui-animation-view-next-forward'],\n styles['vkui-animation-view-prev-back'],\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e.propertyName.includes('transform') &&\n e.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipeBackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (event: TouchEvent): void => {\n if (\n !this.window ||\n this.props.platform !== Platform.IOS ||\n this.state.swipeBackPrevented ||\n swipeBackExcluded(event) ||\n this.shouldDisableTransitionMotion()\n ) {\n return;\n }\n\n if (!this.props.configProvider?.isWebView) {\n if (\n (event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA ||\n event.startX >= this.window.innerWidth - ViewInfiniteComponent.SWIPE_BACK_AREA) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n return;\n }\n\n if (\n !this.props.onSwipeBack ||\n (this.state.animated && event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA)\n ) {\n return;\n }\n\n if (\n !this.state.swipingBack &&\n event.startX <= ViewInfiniteComponent.SWIPE_BACK_AREA &&\n this.props.history &&\n this.props.history.length > 1\n ) {\n if (this.props.onSwipeBackStart) {\n const payload = this.props.onSwipeBackStart(this.state.activePanel);\n if (payload === 'prevent') {\n this.setState({ swipeBackPrevented: true });\n return;\n }\n }\n\n if (this.state.activePanel !== null) {\n // Note: вызываем закрытие клавиатуры. В iOS это нативное поведение при свайпе.\n this.blurActiveElement();\n const prevScrolls = this.scrolls[this.state.activePanel] || [];\n this.scrolls = {\n ...this.scrolls,\n [this.state.activePanel]: [...prevScrolls, this.props.scroll?.getScroll().y],\n };\n }\n\n this.setState({\n swipingBack: true,\n swipeBackStartX: event.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history.slice(-2)[0],\n });\n }\n\n if (this.state.swipingBack) {\n let swipeBackShift;\n if (event.shiftX < 0) {\n swipeBackShift = 0;\n } else if (event.shiftX > this.window.innerWidth - this.state.swipeBackStartX) {\n swipeBackShift = this.window.innerWidth;\n } else {\n swipeBackShift = event.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n };\n\n onEnd = (event: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / event.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= this.window.innerWidth) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipeBackStartX + this.state.swipeBackShift > this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n if (this.state.swipeBackPrevented) {\n this.setState({ swipeBackPrevented: false });\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) / this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` } : {};\n }\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n id,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n isBackCheck,\n className,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n isBack,\n animated,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n swipingBack,\n } = this.state;\n\n const panels = this.panels\n .filter((panel) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n })\n .sort((panel) => {\n const panelId = getNavId(panel.props, warn);\n const isPrevPanel = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isNextPanel = panelId === nextPanel || panelId === swipeBackNextPanel;\n\n if (isNextPanel) {\n return swipingBack || this.state.isBack ? -1 : 1;\n }\n\n if (isPrevPanel) {\n return swipingBack || this.state.isBack ? 1 : -1;\n }\n\n return 0;\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n className={classNames(\n styles['View'],\n platform === Platform.IOS && classNames(styles['View--ios'], 'vkuiInternalView--ios'),\n !disableAnimation && this.state.animated && styles['View--animated'],\n !disableAnimation && this.state.swipingBack && styles['View--swiping-back'],\n disableAnimation && styles['View--no-motion'],\n className,\n )}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div className={styles['View__panels']}>\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev = panelId === prevPanel || panelId === swipeBackPrevPanel;\n const compensateScroll =\n isPrev || panelId === swipeBackNextPanel || (panelId === nextPanel && isBack);\n const isTransitionTarget = animated && panelId === (isBack ? prevPanel : nextPanel);\n const scrollList = (panelId && this.scrolls[panelId]) || [];\n const scroll = scrollList[scrollList.length - 1] || 0;\n\n return (\n <div\n className={classNames(\n styles['View__panel'],\n panelId === activePanel && styles['View__panel--active'],\n panelId === prevPanel && styles['View__panel--prev'],\n panelId === nextPanel && styles['View__panel--next'],\n panelId === swipeBackPrevPanel && styles['View__panel--swipe-back-prev'],\n panelId === swipeBackNextPanel && styles['View__panel--swipe-back-next'],\n swipeBackResult === SwipeBackResults.success &&\n styles['View__panel--swipe-back-success'],\n swipeBackResult === SwipeBackResults.fail &&\n styles['View__panel--swipe-back-failed'],\n )}\n onAnimationEnd={isTransitionTarget ? this.transitionEndHandler : undefined}\n ref={(el) => panelId !== undefined && (this.panelNodes[panelId] = el)}\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n className={styles['View__panel-in']}\n style={{ marginTop: compensateScroll ? -scroll : undefined }}\n >\n <NavTransitionProvider\n entering={panelId === nextPanel || panelId === swipeBackNextPanel}\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n </Touch>\n );\n }\n}\n\nexport const ViewInfinite = withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewInfiniteProps>(ViewInfiniteComponent)),\n SplitColContext,\n 'splitCol',\n ),\n ConfigProviderContext,\n 'configProvider',\n ),\n ScrollContext,\n 'scroll',\n);\n"],"names":["React","classNames","withContext","withPlatform","canUseDOM","withDOM","getNavId","Platform","animationEvent","transitionEvent","warnOnce","ScrollContext","ConfigProviderContext","NavTransitionProvider","SplitColContext","Touch","swipeBackExcluded","styles","warn","SwipeBackResults","fail","success","scrollsCache","ViewInfiniteComponent","Component","SWIPE_BACK_AREA","constructor","props","state","animated","visiblePanels","activePanel","isBack","undefined","prevPanel","nextPanel","swipingBack","swipeBackPrevented","swipeBackStartX","swipeBackShift","swipeBackNextPanel","swipeBackPrevPanel","swipeBackResult","browserSwipe","defaultProps","history","scrolls","transitionFinishTimeout","animationFinishTimeout","document","window","panels","Children","toArray","children","panelNodes","componentWillUnmount","id","clearTimeout","componentDidUpdate","prevProps","prevState","isBackCheck","from","to","firstLayerId","map","panel","find","blurActiveElement","prevScrolls","scroll","getScroll","y","shouldDisableTransitionMotion","flushTransition","setState","supported","setTimeout","transitionEndHandler","platform","ANDROID","VKCOM","scrollPosition","prevPanelScrolls","slice","newPanelScrolls","pop","scrollTo","onTransition","waitTransitionFinish","pickPanel","swipingBackTransitionEndHandler","configProvider","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","activeElement","blur","e","includes","animationName","Boolean","propertyName","target","onSwipeBackCancel","onSwipeBackSuccess","onSwipeBack","onMoveX","event","IOS","isWebView","startX","innerWidth","length","onSwipeBackStart","payload","shiftX","onEnd","speed","duration","calcPanelSwipeStyles","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","render","_1","nav","className","restProps","filter","sort","isPrevPanel","isNextPanel","disableAnimation","div","compensateScroll","isTransitionTarget","scrollList","onAnimationEnd","ref","el","style","key","marginTop","entering","ViewInfinite"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/View/utils.ts"],"sourcesContent":["import { TouchEvent } from '../Touch/Touch';\n\nconst swipeBackExcludedSelector = 'input, textarea, [data-vkui-swipe-back=false]';\n\nexport function swipeBackExcluded(e: TouchEvent) {\n const target = e.originalEvent.target as HTMLElement;\n // eslint-disable-next-line no-restricted-properties\n return Boolean(target?.closest?.(swipeBackExcludedSelector));\n}\n"],"names":["swipeBackExcludedSelector","swipeBackExcluded","e","target","originalEvent","Boolean","closest"],"mappings":"AAEA,MAAMA,4BAA4B;AAElC,OAAO,SAASC,kBAAkBC,CAAa;IAC7C,MAAMC,SAASD,EAAEE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/View/utils.ts"],"sourcesContent":["import { TouchEvent } from '../Touch/Touch';\n\nconst swipeBackExcludedSelector = 'input, textarea, [data-vkui-swipe-back=false]';\n\nexport function swipeBackExcluded(e: TouchEvent) {\n const target = e.originalEvent.target as HTMLElement;\n // eslint-disable-next-line no-restricted-properties\n return Boolean(target?.closest?.(swipeBackExcludedSelector));\n}\n"],"names":["swipeBackExcludedSelector","swipeBackExcluded","e","target","originalEvent","Boolean","closest"],"mappings":"AAEA,MAAMA,4BAA4B;AAElC,OAAO,SAASC,kBAAkBC,CAAa;IAC7C,MAAMC,SAASD,EAAEE,aAAa,CAACD,MAAM;IACrC,oDAAoD;IACpD,OAAOE,QAAQF,QAAQG,UAAUN;AACnC"}
|
|
@@ -7,7 +7,7 @@ import styles from './VisuallyHidden.module.css';
|
|
|
7
7
|
*
|
|
8
8
|
* @since v5.4.0
|
|
9
9
|
* @see https://vkcom.github.io/VKUI/#/VisuallyHidden
|
|
10
|
-
*/ export const VisuallyHidden = ({ Component ='span'
|
|
10
|
+
*/ export const VisuallyHidden = ({ Component = 'span', getRootRef, className, ...restProps })=>{
|
|
11
11
|
return /*#__PURE__*/ React.createElement(Component, {
|
|
12
12
|
...restProps,
|
|
13
13
|
className: classNames(styles['VisuallyHidden'], className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasComponent, HasRootRef } from '../../types';\nimport styles from './VisuallyHidden.module.css';\n\ninterface VisuallyHiddenProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {}\n\n/**\n * Компонент-обертка. Позволяет скрыть контент визуально, но оставить его\n * доступным для ассистивных технологий. По умолчанию — `span`.\n *\n * @since v5.4.0\n * @see https://vkcom.github.io/VKUI/#/VisuallyHidden\n */\nexport const VisuallyHidden = ({\n Component = 'span',\n getRootRef,\n className,\n ...restProps\n}: VisuallyHiddenProps) => {\n return (\n <Component\n {...restProps}\n className={classNames(styles['VisuallyHidden'], className)}\n ref={getRootRef}\n />\n );\n};\n"],"names":["React","classNames","styles","VisuallyHidden","Component","getRootRef","className","restProps","ref"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,8BAA8B;AAOjD;;;;;;CAMC,GACD,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VisuallyHidden/VisuallyHidden.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasComponent, HasRootRef } from '../../types';\nimport styles from './VisuallyHidden.module.css';\n\ninterface VisuallyHiddenProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent {}\n\n/**\n * Компонент-обертка. Позволяет скрыть контент визуально, но оставить его\n * доступным для ассистивных технологий. По умолчанию — `span`.\n *\n * @since v5.4.0\n * @see https://vkcom.github.io/VKUI/#/VisuallyHidden\n */\nexport const VisuallyHidden = ({\n Component = 'span',\n getRootRef,\n className,\n ...restProps\n}: VisuallyHiddenProps) => {\n return (\n <Component\n {...restProps}\n className={classNames(styles['VisuallyHidden'], className)}\n ref={getRootRef}\n />\n );\n};\n"],"names":["React","classNames","styles","VisuallyHidden","Component","getRootRef","className","restProps","ref"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,OAAOC,YAAY,8BAA8B;AAOjD;;;;;;CAMC,GACD,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,YAAY,MAAM,EAClBC,UAAU,EACVC,SAAS,EACT,GAAGC,WACiB;IACpB,qBACE,oBAACH;QACE,GAAGG,SAAS;QACbD,WAAWL,WAAWC,MAAM,CAAC,iBAAiB,EAAEI;QAChDE,KAAKH;;AAGX,EAAE"}
|
|
@@ -8,7 +8,7 @@ const warn = warnOnce('VisuallyHiddenInput');
|
|
|
8
8
|
*
|
|
9
9
|
* Компонент устарел и будет удален в v6. Используйте
|
|
10
10
|
* `<VisuallyHidden Component="input" />`
|
|
11
|
-
*/ export const VisuallyHiddenInput = ({ getRef
|
|
11
|
+
*/ export const VisuallyHiddenInput = ({ getRef, className, ...restProps })=>{
|
|
12
12
|
if (process.env.NODE_ENV === 'development') {
|
|
13
13
|
warn('Компонент устарел и будет удален в v6. Используйте https://vkcom.github.io/VKUI/#/VisuallyHidden');
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasRef } from '../../types';\nimport styles from './VisuallyHiddenInput.module.css';\n\nconst warn = warnOnce('VisuallyHiddenInput');\nexport interface VisuallyHiddenInputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement> {}\n/**\n * @deprecated v5.4.0\n *\n * Компонент устарел и будет удален в v6. Используйте\n * `<VisuallyHidden Component=\"input\" />`\n */\nexport const VisuallyHiddenInput = ({\n getRef,\n className,\n ...restProps\n}: VisuallyHiddenInputProps) => {\n if (process.env.NODE_ENV === 'development') {\n warn(\n 'Компонент устарел и будет удален в v6. Используйте https://vkcom.github.io/VKUI/#/VisuallyHidden',\n );\n }\n\n return (\n <input\n {...restProps}\n className={classNames(styles['VisuallyHiddenInput'], className)}\n ref={getRef}\n />\n );\n};\n"],"names":["React","classNames","warnOnce","styles","warn","VisuallyHiddenInput","getRef","className","restProps","process","env","NODE_ENV","input","ref"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,OAAOC,YAAY,mCAAmC;AAEtD,MAAMC,OAAOF,SAAS;AAItB;;;;;CAKC,GACD,OAAO,MAAMG,sBAAsB,CAAC,EAClCC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasRef } from '../../types';\nimport styles from './VisuallyHiddenInput.module.css';\n\nconst warn = warnOnce('VisuallyHiddenInput');\nexport interface VisuallyHiddenInputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n HasRef<HTMLInputElement> {}\n/**\n * @deprecated v5.4.0\n *\n * Компонент устарел и будет удален в v6. Используйте\n * `<VisuallyHidden Component=\"input\" />`\n */\nexport const VisuallyHiddenInput = ({\n getRef,\n className,\n ...restProps\n}: VisuallyHiddenInputProps) => {\n if (process.env.NODE_ENV === 'development') {\n warn(\n 'Компонент устарел и будет удален в v6. Используйте https://vkcom.github.io/VKUI/#/VisuallyHidden',\n );\n }\n\n return (\n <input\n {...restProps}\n className={classNames(styles['VisuallyHiddenInput'], className)}\n ref={getRef}\n />\n );\n};\n"],"names":["React","classNames","warnOnce","styles","warn","VisuallyHiddenInput","getRef","className","restProps","process","env","NODE_ENV","input","ref"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,OAAOC,YAAY,mCAAmC;AAEtD,MAAMC,OAAOF,SAAS;AAItB;;;;;CAKC,GACD,OAAO,MAAMG,sBAAsB,CAAC,EAClCC,MAAM,EACNC,SAAS,EACT,GAAGC,WACsB;IACzB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1CP,KACE;IAEJ;IAEA,qBACE,oBAACQ;QACE,GAAGJ,SAAS;QACbD,WAAWN,WAAWE,MAAM,CAAC,sBAAsB,EAAEI;QACrDM,KAAKP;;AAGX,EAAE"}
|
|
@@ -20,7 +20,7 @@ const WriteBarTypography = (props)=>{
|
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
22
|
* @see https://vkcom.github.io/VKUI/#/WriteBar
|
|
23
|
-
*/ export const WriteBar = ({ className
|
|
23
|
+
*/ export const WriteBar = ({ className, style, before, inlineAfter, after, getRootRef, getRef, onHeightChange, shadow = false, defaultValue, ...restProps })=>{
|
|
24
24
|
const platform = usePlatform();
|
|
25
25
|
const [value, onChange] = useEnsuredControl({
|
|
26
26
|
defaultValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/WriteBar/WriteBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Title } from '../Typography/Title/Title';\nimport { TypographyProps } from '../Typography/Typography';\nimport styles from './WriteBar.module.css';\n\nexport interface WriteBarProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLTextAreaElement> {\n /**\n * Содержимое, отображаемое слева от поля ввода.\n */\n before?: React.ReactNode;\n /**\n * Содержимое, отображаемое поверх поля ввода (актуально для iOS)\n */\n inlineAfter?: React.ReactNode;\n /**\n * Содержимое, отображаемое справа от поля ввода\n */\n after?: React.ReactNode;\n /**\n * Вызывается при смене высоты поля ввода\n */\n onHeightChange?: VoidFunction;\n /**\n * Добавляет тень вокруг поля ввода\n */\n shadow?: boolean;\n\n children?: never;\n}\n\nconst WriteBarTypography = (props: TypographyProps) => {\n const platform = usePlatform();\n\n if (platform === Platform.IOS) {\n return <Title {...props} level=\"3\" weight=\"3\" />;\n }\n\n return <Headline {...props} />;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBar\n */\nexport const WriteBar = ({\n className,\n style,\n before,\n inlineAfter,\n after,\n getRootRef,\n getRef,\n onHeightChange,\n shadow = false,\n defaultValue,\n ...restProps\n}: WriteBarProps) => {\n const platform = usePlatform();\n\n const [value, onChange] = useEnsuredControl({\n defaultValue,\n ...restProps,\n });\n\n const textareaRef = useExternRef(getRef);\n const currentScrollHeight = React.useRef<number>();\n\n const resize = React.useCallback(() => {\n const textareaEl = textareaRef.current;\n if (!textareaEl) {\n return;\n }\n\n if (textareaEl.offsetParent) {\n textareaEl.style.height = '';\n textareaEl.style.height = `${textareaEl.scrollHeight}px`;\n\n if (textareaEl.scrollHeight !== currentScrollHeight.current && onHeightChange) {\n onHeightChange();\n currentScrollHeight.current = textareaEl.scrollHeight;\n }\n }\n }, [onHeightChange, textareaRef]);\n\n React.useEffect(resize, [resize, value, platform]);\n\n return (\n <div\n ref={getRootRef}\n className={classNames(\n styles['WriteBar'],\n platform === Platform.IOS && styles['WriteBar--ios'],\n shadow && styles['WriteBar--shadow'],\n className,\n )}\n style={style}\n >\n <div className={styles['WriteBar__form']}>\n {hasReactNode(before) && <div className={styles['WriteBar__before']}>{before}</div>}\n\n <div className={styles['WriteBar__formIn']}>\n <WriteBarTypography\n {...restProps}\n Component=\"textarea\"\n className={styles['WriteBar__textarea']}\n onChange={onChange}\n getRootRef={textareaRef}\n value={value}\n />\n {hasReactNode(inlineAfter) && (\n <div className={styles['WriteBar__inlineAfter']}>{inlineAfter}</div>\n )}\n </div>\n\n {hasReactNode(after) && <div className={styles['WriteBar__after']}>{after}</div>}\n </div>\n </div>\n );\n};\n"],"names":["React","classNames","hasReactNode","useEnsuredControl","useExternRef","usePlatform","Platform","Headline","Title","styles","WriteBarTypography","props","platform","IOS","level","weight","WriteBar","className","style","before","inlineAfter","after","getRootRef","getRef","onHeightChange","shadow","defaultValue","restProps","value","onChange","textareaRef","currentScrollHeight","useRef","resize","useCallback","textareaEl","current","offsetParent","height","scrollHeight","useEffect","div","ref","Component"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,KAAK,QAAQ,4BAA4B;AAElD,OAAOC,YAAY,wBAAwB;AA8B3C,MAAMC,qBAAqB,CAACC;IAC1B,MAAMC,WAAWP;IAEjB,IAAIO,aAAaN,SAASO,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/WriteBar/WriteBar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Title } from '../Typography/Title/Title';\nimport { TypographyProps } from '../Typography/Typography';\nimport styles from './WriteBar.module.css';\n\nexport interface WriteBarProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLTextAreaElement> {\n /**\n * Содержимое, отображаемое слева от поля ввода.\n */\n before?: React.ReactNode;\n /**\n * Содержимое, отображаемое поверх поля ввода (актуально для iOS)\n */\n inlineAfter?: React.ReactNode;\n /**\n * Содержимое, отображаемое справа от поля ввода\n */\n after?: React.ReactNode;\n /**\n * Вызывается при смене высоты поля ввода\n */\n onHeightChange?: VoidFunction;\n /**\n * Добавляет тень вокруг поля ввода\n */\n shadow?: boolean;\n\n children?: never;\n}\n\nconst WriteBarTypography = (props: TypographyProps) => {\n const platform = usePlatform();\n\n if (platform === Platform.IOS) {\n return <Title {...props} level=\"3\" weight=\"3\" />;\n }\n\n return <Headline {...props} />;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBar\n */\nexport const WriteBar = ({\n className,\n style,\n before,\n inlineAfter,\n after,\n getRootRef,\n getRef,\n onHeightChange,\n shadow = false,\n defaultValue,\n ...restProps\n}: WriteBarProps) => {\n const platform = usePlatform();\n\n const [value, onChange] = useEnsuredControl({\n defaultValue,\n ...restProps,\n });\n\n const textareaRef = useExternRef(getRef);\n const currentScrollHeight = React.useRef<number>();\n\n const resize = React.useCallback(() => {\n const textareaEl = textareaRef.current;\n if (!textareaEl) {\n return;\n }\n\n if (textareaEl.offsetParent) {\n textareaEl.style.height = '';\n textareaEl.style.height = `${textareaEl.scrollHeight}px`;\n\n if (textareaEl.scrollHeight !== currentScrollHeight.current && onHeightChange) {\n onHeightChange();\n currentScrollHeight.current = textareaEl.scrollHeight;\n }\n }\n }, [onHeightChange, textareaRef]);\n\n React.useEffect(resize, [resize, value, platform]);\n\n return (\n <div\n ref={getRootRef}\n className={classNames(\n styles['WriteBar'],\n platform === Platform.IOS && styles['WriteBar--ios'],\n shadow && styles['WriteBar--shadow'],\n className,\n )}\n style={style}\n >\n <div className={styles['WriteBar__form']}>\n {hasReactNode(before) && <div className={styles['WriteBar__before']}>{before}</div>}\n\n <div className={styles['WriteBar__formIn']}>\n <WriteBarTypography\n {...restProps}\n Component=\"textarea\"\n className={styles['WriteBar__textarea']}\n onChange={onChange}\n getRootRef={textareaRef}\n value={value}\n />\n {hasReactNode(inlineAfter) && (\n <div className={styles['WriteBar__inlineAfter']}>{inlineAfter}</div>\n )}\n </div>\n\n {hasReactNode(after) && <div className={styles['WriteBar__after']}>{after}</div>}\n </div>\n </div>\n );\n};\n"],"names":["React","classNames","hasReactNode","useEnsuredControl","useExternRef","usePlatform","Platform","Headline","Title","styles","WriteBarTypography","props","platform","IOS","level","weight","WriteBar","className","style","before","inlineAfter","after","getRootRef","getRef","onHeightChange","shadow","defaultValue","restProps","value","onChange","textareaRef","currentScrollHeight","useRef","resize","useCallback","textareaEl","current","offsetParent","height","scrollHeight","useEffect","div","ref","Component"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,KAAK,QAAQ,4BAA4B;AAElD,OAAOC,YAAY,wBAAwB;AA8B3C,MAAMC,qBAAqB,CAACC;IAC1B,MAAMC,WAAWP;IAEjB,IAAIO,aAAaN,SAASO,GAAG,EAAE;QAC7B,qBAAO,oBAACL;YAAO,GAAGG,KAAK;YAAEG,OAAM;YAAIC,QAAO;;IAC5C;IAEA,qBAAO,oBAACR,UAAaI;AACvB;AAEA;;CAEC,GACD,OAAO,MAAMK,WAAW,CAAC,EACvBC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,WAAW,EACXC,KAAK,EACLC,UAAU,EACVC,MAAM,EACNC,cAAc,EACdC,SAAS,KAAK,EACdC,YAAY,EACZ,GAAGC,WACW;IACd,MAAMf,WAAWP;IAEjB,MAAM,CAACuB,OAAOC,SAAS,GAAG1B,kBAAkB;QAC1CuB;QACA,GAAGC,SAAS;IACd;IAEA,MAAMG,cAAc1B,aAAamB;IACjC,MAAMQ,sBAAsB/B,MAAMgC,MAAM;IAExC,MAAMC,SAASjC,MAAMkC,WAAW,CAAC;QAC/B,MAAMC,aAAaL,YAAYM,OAAO;QACtC,IAAI,CAACD,YAAY;YACf;QACF;QAEA,IAAIA,WAAWE,YAAY,EAAE;YAC3BF,WAAWjB,KAAK,CAACoB,MAAM,GAAG;YAC1BH,WAAWjB,KAAK,CAACoB,MAAM,GAAG,CAAC,EAAEH,WAAWI,YAAY,CAAC,EAAE,CAAC;YAExD,IAAIJ,WAAWI,YAAY,KAAKR,oBAAoBK,OAAO,IAAIZ,gBAAgB;gBAC7EA;gBACAO,oBAAoBK,OAAO,GAAGD,WAAWI,YAAY;YACvD;QACF;IACF,GAAG;QAACf;QAAgBM;KAAY;IAEhC9B,MAAMwC,SAAS,CAACP,QAAQ;QAACA;QAAQL;QAAOhB;KAAS;IAEjD,qBACE,oBAAC6B;QACCC,KAAKpB;QACLL,WAAWhB,WACTQ,MAAM,CAAC,WAAW,EAClBG,aAAaN,SAASO,GAAG,IAAIJ,MAAM,CAAC,gBAAgB,EACpDgB,UAAUhB,MAAM,CAAC,mBAAmB,EACpCQ;QAEFC,OAAOA;qBAEP,oBAACuB;QAAIxB,WAAWR,MAAM,CAAC,iBAAiB;OACrCP,aAAaiB,yBAAW,oBAACsB;QAAIxB,WAAWR,MAAM,CAAC,mBAAmB;OAAGU,uBAEtE,oBAACsB;QAAIxB,WAAWR,MAAM,CAAC,mBAAmB;qBACxC,oBAACC;QACE,GAAGiB,SAAS;QACbgB,WAAU;QACV1B,WAAWR,MAAM,CAAC,qBAAqB;QACvCoB,UAAUA;QACVP,YAAYQ;QACZF,OAAOA;QAER1B,aAAakB,8BACZ,oBAACqB;QAAIxB,WAAWR,MAAM,CAAC,wBAAwB;OAAGW,eAIrDlB,aAAamB,wBAAU,oBAACoB;QAAIxB,WAAWR,MAAM,CAAC,kBAAkB;OAAGY;AAI5E,EAAE"}
|
|
@@ -11,7 +11,7 @@ import styles from './WriteBarIcon.module.css';
|
|
|
11
11
|
const warn = warnOnce('WriteBarIcon');
|
|
12
12
|
/**
|
|
13
13
|
* @see https://vkcom.github.io/VKUI/#/WriteBarIcon
|
|
14
|
-
*/ export const WriteBarIcon = ({ mode
|
|
14
|
+
*/ export const WriteBarIcon = ({ mode, children, count, className, ...restProps })=>{
|
|
15
15
|
const platform = usePlatform();
|
|
16
16
|
let modeLabel = undefined;
|
|
17
17
|
let predefinedIcons;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Icon24Attach,\n Icon24CheckCircleOutline,\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon28Send,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Counter } from '../Counter/Counter';\nimport { Tappable } from '../Tappable/Tappable';\nimport styles from './WriteBarIcon.module.css';\n\nexport interface WriteBarIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируется.\n *\n * - `attach` – иконка прикрепления.\n * - `send` – иконка отправки.\n * - `done` – иконка отправки в режиме редактирования.\n */\n mode?: 'attach' | 'send' | 'done';\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n}\n\nconst warn = warnOnce('WriteBarIcon');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBarIcon\n */\nexport const WriteBarIcon = ({\n mode,\n children,\n count,\n className,\n ...restProps\n}: WriteBarIconProps) => {\n const platform = usePlatform();\n let modeLabel: string | undefined = undefined;\n\n let predefinedIcons;\n switch (mode) {\n case 'attach':\n predefinedIcons = {\n IconCompact: platform === Platform.IOS ? Icon28AddCircleOutline : Icon24Attach,\n IconRegular: platform === Platform.IOS ? Icon28AddCircleOutline : Icon28AttachOutline,\n };\n modeLabel = 'Прикрепить файл';\n break;\n\n case 'send':\n predefinedIcons = {\n IconCompact: platform === Platform.IOS ? Icon48WritebarSend : Icon24Send,\n IconRegular: platform === Platform.IOS ? Icon48WritebarSend : Icon28Send,\n };\n modeLabel = 'Отправить';\n break;\n\n case 'done':\n predefinedIcons = {\n IconCompact: platform === Platform.IOS ? Icon48WritebarDone : Icon24CheckCircleOutline,\n IconRegular: platform === Platform.IOS ? Icon48WritebarDone : Icon28CheckCircleOutline,\n };\n modeLabel = 'Готово';\n break;\n\n default:\n break;\n }\n\n if (process.env.NODE_ENV === 'development') {\n const isAccessible = !modeLabel && (!restProps['aria-label'] || restProps['aria-labelledby']);\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y['button-name'], 'error');\n }\n }\n\n return (\n <Tappable\n aria-label={modeLabel}\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode={styles['WriteBarIcon__active']}\n className={classNames(\n styles['WriteBarIcon'],\n platform === Platform.IOS && styles['WriteBarIcon--ios'],\n mode === 'send' && styles['WriteBarIcon--mode-send'],\n mode === 'done' && styles['WriteBarIcon--mode-done'],\n className,\n )}\n >\n <span className={styles['WriteBarIcon__in']}>\n {predefinedIcons ? <AdaptiveIconRenderer {...predefinedIcons} /> : children}\n </span>\n {hasReactNode(count) && (\n <Counter className={styles['WriteBarIcon__counter']} size=\"s\">\n {count}\n </Counter>\n )}\n </Tappable>\n );\n};\n"],"names":["React","Icon24Attach","Icon24CheckCircleOutline","Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon28Send","Icon48WritebarDone","Icon48WritebarSend","classNames","hasReactNode","usePlatform","Platform","COMMON_WARNINGS","warnOnce","AdaptiveIconRenderer","Counter","Tappable","styles","warn","WriteBarIcon","mode","children","count","className","restProps","platform","modeLabel","undefined","predefinedIcons","IconCompact","IOS","IconRegular","process","env","NODE_ENV","isAccessible","a11y","aria-label","Component","hasHover","activeMode","span","size"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,YAAY,EACZC,wBAAwB,EACxBC,UAAU,EACVC,sBAAsB,EACtBC,mBAAmB,EACnBC,wBAAwB,EACxBC,UAAU,EACVC,kBAAkB,EAClBC,kBAAkB,QACb,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,eAAe,EAAEC,QAAQ,QAAQ,qBAAqB;AAC/D,SAASC,oBAAoB,QAAQ,+CAA+C;AACpF,SAASC,OAAO,QAAQ,qBAAqB;AAC7C,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,YAAY,4BAA4B;AAkB/C,MAAMC,OAAOL,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMM,eAAe,CAAC,EAC3BC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Icon24Attach,\n Icon24CheckCircleOutline,\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon28Send,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { COMMON_WARNINGS, warnOnce } from '../../lib/warnOnce';\nimport { AdaptiveIconRenderer } from '../AdaptiveIconRenderer/AdaptiveIconRenderer';\nimport { Counter } from '../Counter/Counter';\nimport { Tappable } from '../Tappable/Tappable';\nimport styles from './WriteBarIcon.module.css';\n\nexport interface WriteBarIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируется.\n *\n * - `attach` – иконка прикрепления.\n * - `send` – иконка отправки.\n * - `done` – иконка отправки в режиме редактирования.\n */\n mode?: 'attach' | 'send' | 'done';\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n}\n\nconst warn = warnOnce('WriteBarIcon');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBarIcon\n */\nexport const WriteBarIcon = ({\n mode,\n children,\n count,\n className,\n ...restProps\n}: WriteBarIconProps) => {\n const platform = usePlatform();\n let modeLabel: string | undefined = undefined;\n\n let predefinedIcons;\n switch (mode) {\n case 'attach':\n predefinedIcons = {\n IconCompact: platform === Platform.IOS ? Icon28AddCircleOutline : Icon24Attach,\n IconRegular: platform === Platform.IOS ? Icon28AddCircleOutline : Icon28AttachOutline,\n };\n modeLabel = 'Прикрепить файл';\n break;\n\n case 'send':\n predefinedIcons = {\n IconCompact: platform === Platform.IOS ? Icon48WritebarSend : Icon24Send,\n IconRegular: platform === Platform.IOS ? Icon48WritebarSend : Icon28Send,\n };\n modeLabel = 'Отправить';\n break;\n\n case 'done':\n predefinedIcons = {\n IconCompact: platform === Platform.IOS ? Icon48WritebarDone : Icon24CheckCircleOutline,\n IconRegular: platform === Platform.IOS ? Icon48WritebarDone : Icon28CheckCircleOutline,\n };\n modeLabel = 'Готово';\n break;\n\n default:\n break;\n }\n\n if (process.env.NODE_ENV === 'development') {\n const isAccessible = !modeLabel && (!restProps['aria-label'] || restProps['aria-labelledby']);\n\n if (!isAccessible) {\n warn(COMMON_WARNINGS.a11y['button-name'], 'error');\n }\n }\n\n return (\n <Tappable\n aria-label={modeLabel}\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode={styles['WriteBarIcon__active']}\n className={classNames(\n styles['WriteBarIcon'],\n platform === Platform.IOS && styles['WriteBarIcon--ios'],\n mode === 'send' && styles['WriteBarIcon--mode-send'],\n mode === 'done' && styles['WriteBarIcon--mode-done'],\n className,\n )}\n >\n <span className={styles['WriteBarIcon__in']}>\n {predefinedIcons ? <AdaptiveIconRenderer {...predefinedIcons} /> : children}\n </span>\n {hasReactNode(count) && (\n <Counter className={styles['WriteBarIcon__counter']} size=\"s\">\n {count}\n </Counter>\n )}\n </Tappable>\n );\n};\n"],"names":["React","Icon24Attach","Icon24CheckCircleOutline","Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon28Send","Icon48WritebarDone","Icon48WritebarSend","classNames","hasReactNode","usePlatform","Platform","COMMON_WARNINGS","warnOnce","AdaptiveIconRenderer","Counter","Tappable","styles","warn","WriteBarIcon","mode","children","count","className","restProps","platform","modeLabel","undefined","predefinedIcons","IconCompact","IOS","IconRegular","process","env","NODE_ENV","isAccessible","a11y","aria-label","Component","hasHover","activeMode","span","size"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,YAAY,EACZC,wBAAwB,EACxBC,UAAU,EACVC,sBAAsB,EACtBC,mBAAmB,EACnBC,wBAAwB,EACxBC,UAAU,EACVC,kBAAkB,EAClBC,kBAAkB,QACb,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,eAAe,EAAEC,QAAQ,QAAQ,qBAAqB;AAC/D,SAASC,oBAAoB,QAAQ,+CAA+C;AACpF,SAASC,OAAO,QAAQ,qBAAqB;AAC7C,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,YAAY,4BAA4B;AAkB/C,MAAMC,OAAOL,SAAS;AAEtB;;CAEC,GACD,OAAO,MAAMM,eAAe,CAAC,EAC3BC,IAAI,EACJC,QAAQ,EACRC,KAAK,EACLC,SAAS,EACT,GAAGC,WACe;IAClB,MAAMC,WAAWf;IACjB,IAAIgB,YAAgCC;IAEpC,IAAIC;IACJ,OAAQR;QACN,KAAK;YACHQ,kBAAkB;gBAChBC,aAAaJ,aAAad,SAASmB,GAAG,GAAG5B,yBAAyBH;gBAClEgC,aAAaN,aAAad,SAASmB,GAAG,GAAG5B,yBAAyBC;YACpE;YACAuB,YAAY;YACZ;QAEF,KAAK;YACHE,kBAAkB;gBAChBC,aAAaJ,aAAad,SAASmB,GAAG,GAAGvB,qBAAqBN;gBAC9D8B,aAAaN,aAAad,SAASmB,GAAG,GAAGvB,qBAAqBF;YAChE;YACAqB,YAAY;YACZ;QAEF,KAAK;YACHE,kBAAkB;gBAChBC,aAAaJ,aAAad,SAASmB,GAAG,GAAGxB,qBAAqBN;gBAC9D+B,aAAaN,aAAad,SAASmB,GAAG,GAAGxB,qBAAqBF;YAChE;YACAsB,YAAY;YACZ;QAEF;YACE;IACJ;IAEA,IAAIM,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QAC1C,MAAMC,eAAe,CAACT,aAAc,CAAA,CAACF,SAAS,CAAC,aAAa,IAAIA,SAAS,CAAC,kBAAkB,AAAD;QAE3F,IAAI,CAACW,cAAc;YACjBjB,KAAKN,gBAAgBwB,IAAI,CAAC,cAAc,EAAE;QAC5C;IACF;IAEA,qBACE,oBAACpB;QACCqB,cAAYX;QACX,GAAGF,SAAS;QACbc,WAAU;QACVC,UAAU;QACVC,YAAYvB,MAAM,CAAC,uBAAuB;QAC1CM,WAAWf,WACTS,MAAM,CAAC,eAAe,EACtBQ,aAAad,SAASmB,GAAG,IAAIb,MAAM,CAAC,oBAAoB,EACxDG,SAAS,UAAUH,MAAM,CAAC,0BAA0B,EACpDG,SAAS,UAAUH,MAAM,CAAC,0BAA0B,EACpDM;qBAGF,oBAACkB;QAAKlB,WAAWN,MAAM,CAAC,mBAAmB;OACxCW,gCAAkB,oBAACd,sBAAyBc,mBAAsBP,WAEpEZ,aAAaa,wBACZ,oBAACP;QAAQQ,WAAWN,MAAM,CAAC,wBAAwB;QAAEyB,MAAK;OACvDpB;AAKX,EAAE"}
|
|
@@ -12,7 +12,7 @@ export var Appearance;
|
|
|
12
12
|
})(Appearance || (Appearance = {}));
|
|
13
13
|
export const deriveAppearance = (scheme)=>scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK ? 'dark' : 'light';
|
|
14
14
|
export function resolveAppearance(data) {
|
|
15
|
-
const { scheme
|
|
15
|
+
const { scheme, appearance } = data;
|
|
16
16
|
// appearance пока приходит только на IOS и ANDROID
|
|
17
17
|
if (appearance) {
|
|
18
18
|
return appearance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/appearance.ts"],"sourcesContent":["import { AppearanceSchemeType, AppearanceType } from '@vkontakte/vk-bridge';\n\nexport enum Scheme {\n BRIGHT_LIGHT = 'bright_light',\n SPACE_GRAY = 'space_gray',\n VKCOM_LIGHT = 'vkcom_light',\n VKCOM_DARK = 'vkcom_dark',\n}\n\nexport type AppearanceScheme = AppearanceSchemeType | Scheme.VKCOM_DARK | Scheme.VKCOM_LIGHT;\n\nexport enum Appearance {\n DARK = 'dark',\n LIGHT = 'light',\n}\n\nexport const deriveAppearance = (scheme: AppearanceScheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK ? 'dark' : 'light';\n\nexport interface VKBridgeConfigData {\n appearance?: AppearanceType;\n scheme: AppearanceScheme;\n}\n\nexport function resolveAppearance(data: VKBridgeConfigData): AppearanceType | null {\n const { scheme, appearance } = data;\n\n // appearance пока приходит только на IOS и ANDROID\n if (appearance) {\n return appearance;\n }\n\n // Проверяем scheme если appearance не пришел\n return deriveAppearance(scheme);\n}\n"],"names":["Scheme","BRIGHT_LIGHT","SPACE_GRAY","VKCOM_LIGHT","VKCOM_DARK","Appearance","DARK","LIGHT","deriveAppearance","scheme","resolveAppearance","data","appearance"],"mappings":"WAEO;UAAKA,MAAM;IAANA,OACVC,kBAAe;IADLD,OAEVE,gBAAa;IAFHF,OAGVG,iBAAc;IAHJH,OAIVI,gBAAa;GAJHJ,WAAAA;WASL;UAAKK,UAAU;IAAVA,WACVC,UAAO;IADGD,WAEVE,WAAQ;GAFEF,eAAAA;AAKZ,OAAO,MAAMG,mBAAmB,CAACC,SAC/BA,WAAWT,OAAOE,
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/appearance.ts"],"sourcesContent":["import { AppearanceSchemeType, AppearanceType } from '@vkontakte/vk-bridge';\n\nexport enum Scheme {\n BRIGHT_LIGHT = 'bright_light',\n SPACE_GRAY = 'space_gray',\n VKCOM_LIGHT = 'vkcom_light',\n VKCOM_DARK = 'vkcom_dark',\n}\n\nexport type AppearanceScheme = AppearanceSchemeType | Scheme.VKCOM_DARK | Scheme.VKCOM_LIGHT;\n\nexport enum Appearance {\n DARK = 'dark',\n LIGHT = 'light',\n}\n\nexport const deriveAppearance = (scheme: AppearanceScheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK ? 'dark' : 'light';\n\nexport interface VKBridgeConfigData {\n appearance?: AppearanceType;\n scheme: AppearanceScheme;\n}\n\nexport function resolveAppearance(data: VKBridgeConfigData): AppearanceType | null {\n const { scheme, appearance } = data;\n\n // appearance пока приходит только на IOS и ANDROID\n if (appearance) {\n return appearance;\n }\n\n // Проверяем scheme если appearance не пришел\n return deriveAppearance(scheme);\n}\n"],"names":["Scheme","BRIGHT_LIGHT","SPACE_GRAY","VKCOM_LIGHT","VKCOM_DARK","Appearance","DARK","LIGHT","deriveAppearance","scheme","resolveAppearance","data","appearance"],"mappings":"WAEO;UAAKA,MAAM;IAANA,OACVC,kBAAe;IADLD,OAEVE,gBAAa;IAFHF,OAGVG,iBAAc;IAHJH,OAIVI,gBAAa;GAJHJ,WAAAA;WASL;UAAKK,UAAU;IAAVA,WACVC,UAAO;IADGD,WAEVE,WAAQ;GAFEF,eAAAA;AAKZ,OAAO,MAAMG,mBAAmB,CAACC,SAC/BA,WAAWT,OAAOE,UAAU,IAAIO,WAAWT,OAAOI,UAAU,GAAG,SAAS,QAAQ;AAOlF,OAAO,SAASM,kBAAkBC,IAAwB;IACxD,MAAM,EAAEF,MAAM,EAAEG,UAAU,EAAE,GAAGD;IAE/B,mDAAmD;IACnD,IAAIC,YAAY;QACd,OAAOA;IACT;IAEA,6CAA6C;IAC7C,OAAOJ,iBAAiBC;AAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/helpers/generateVKUITokensClassName.ts"],"sourcesContent":["import { Platform } from '../lib/platform';\n\nexport const generateVKUITokensClassName = (platform: string, appearance: string): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = 'vkBase';\n break;\n case Platform.IOS:\n tokensPlatform = 'vkIOS';\n break;\n case Platform.VKCOM:\n tokensPlatform = 'vkCom';\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n"],"names":["Platform","generateVKUITokensClassName","platform","appearance","tokensPlatform","ANDROID","IOS","VKCOM"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,kBAAkB;AAE3C,OAAO,MAAMC,8BAA8B,CAACC,UAAkBC;IAC5D,IAAIC;IACJ,OAAQF;QACN,KAAKF,SAASK;
|
|
1
|
+
{"version":3,"sources":["../../../src/helpers/generateVKUITokensClassName.ts"],"sourcesContent":["import { Platform } from '../lib/platform';\n\nexport const generateVKUITokensClassName = (platform: string, appearance: string): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = 'vkBase';\n break;\n case Platform.IOS:\n tokensPlatform = 'vkIOS';\n break;\n case Platform.VKCOM:\n tokensPlatform = 'vkCom';\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n"],"names":["Platform","generateVKUITokensClassName","platform","appearance","tokensPlatform","ANDROID","IOS","VKCOM"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,kBAAkB;AAE3C,OAAO,MAAMC,8BAA8B,CAACC,UAAkBC;IAC5D,IAAIC;IACJ,OAAQF;QACN,KAAKF,SAASK,OAAO;YACnBD,iBAAiB;YACjB;QACF,KAAKJ,SAASM,GAAG;YACfF,iBAAiB;YACjB;QACF,KAAKJ,SAASO,KAAK;YACjBH,iBAAiB;YACjB;QACF;YACEA,iBAAiBF;IACrB;IAEA,OAAO,CAAC,MAAM,EAAEE,eAAe,EAAE,EAAED,WAAW,CAAC;AACjD,EAAE"}
|
|
@@ -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,MAAMA,QAAQ,CAACC,OAAeC,KAAaC,MAChDC,KAAKD,
|
|
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,MAAMA,QAAQ,CAACC,OAAeC,KAAaC,MAChDC,KAAKD,GAAG,CAACD,KAAKE,KAAKF,GAAG,CAACD,OAAOE,MAAM;AAEtC,OAAO,SAASE,eAAeC,MAAc,EAAEC,YAAY,CAAC;IAC1D,IAAIC,SAASJ,KAAKK,GAAG,CAAC,IAAIF;IAC1B,OAAOH,KAAKM,KAAK,CAACJ,SAASE,UAAUA;AACvC;AAEA,SAASD,UAAUD,MAAc;IAC/B,OAAO,AAAC,CAAA,CAAC,EAAEA,OAAO,CAAC,CAACK,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,MAAMa,OAAOT,UAAUQ;IACvB,yCAAyC;IACzC,MAAME,kBAAkBZ,eAAeD,KAAKM,KAAK,CAAC,AAACI,CAAAA,MAAMZ,GAAE,IAAKa,QAAQA,MAAMC;IAC9E,uDAAuD;IACvD,MAAME,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,EACpBC,UAA6B,CAAC,CAAC;IAE/B,MAAMC,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,EAAEC,OAAO,CAAC;IACtD,MAAMC,YAAYH,OAAOC,KAAK,IAAI,CAAC;IACnC,MAAMG,WAAWC,KAAKC,
|
|
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,EAAEC,OAAO,CAAC;IACtD,MAAMC,YAAYH,OAAOC,KAAK,IAAI,CAAC;IACnC,MAAMG,WAAWC,KAAKC,GAAG,CAACN,OAAOC,MAAM;IACvC,MAAMM,cAAcF,KAAKG,IAAI,CAACJ,WAAWF;IAEzC,MAAMO,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,EAAEC,OAAO,CAAC;IAC/D,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;IAEZ,SAASC,YAAYC,KAAQ;QAC3B,MAAMC,UAAUP,MAAMQ,
|
|
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;IAEZ,SAASC,YAAYC,KAAQ;QAC3B,MAAMC,UAAUP,MAAMQ,UAAU,CAAIL;QAEpC,qBAAO,oBAACD;YAAW,GAAGI,KAAK;YAAQ,CAACF,KAAK,EAAEG;;IAC7C;IACA,OAAOF;AACT"}
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { useConfigProvider } from '../components/ConfigProvider/ConfigProviderContext';
|
|
3
3
|
export function withPlatform(Component) {
|
|
4
4
|
function WithPlatform(props) {
|
|
5
|
-
const { platform
|
|
5
|
+
const { platform } = useConfigProvider();
|
|
6
6
|
return /*#__PURE__*/ React.createElement(Component, {
|
|
7
7
|
...props,
|
|
8
8
|
platform: platform
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hoc/withPlatform.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useConfigProvider } from '../components/ConfigProvider/ConfigProviderContext';\nimport { HasPlatform } from '../types';\n\nexport function withPlatform<T extends HasPlatform>(\n Component: React.ComponentType<T>,\n): React.FC<Omit<T, keyof HasPlatform>> {\n function WithPlatform(props: Omit<T, keyof HasPlatform>) {\n const { platform } = useConfigProvider();\n\n return <Component {...(props as T)} platform={platform} />;\n }\n return WithPlatform;\n}\n"],"names":["React","useConfigProvider","withPlatform","Component","WithPlatform","props","platform"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ,qDAAqD;AAGvF,OAAO,SAASC,aACdC,SAAiC;IAEjC,SAASC,aAAaC,KAAiC;QACrD,MAAM,EAAEC,
|
|
1
|
+
{"version":3,"sources":["../../../src/hoc/withPlatform.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useConfigProvider } from '../components/ConfigProvider/ConfigProviderContext';\nimport { HasPlatform } from '../types';\n\nexport function withPlatform<T extends HasPlatform>(\n Component: React.ComponentType<T>,\n): React.FC<Omit<T, keyof HasPlatform>> {\n function WithPlatform(props: Omit<T, keyof HasPlatform>) {\n const { platform } = useConfigProvider();\n\n return <Component {...(props as T)} platform={platform} />;\n }\n return WithPlatform;\n}\n"],"names":["React","useConfigProvider","withPlatform","Component","WithPlatform","props","platform"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ,qDAAqD;AAGvF,OAAO,SAASC,aACdC,SAAiC;IAEjC,SAASC,aAAaC,KAAiC;QACrD,MAAM,EAAEC,QAAQ,EAAE,GAAGL;QAErB,qBAAO,oBAACE;YAAW,GAAIE,KAAK;YAAQC,UAAUA;;IAChD;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,MAAMC,gBAAgB;IAC3B,OAAOF,MAAMG,
|
|
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,MAAMC,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","styles","sizeXCompactClassNames","mq","className","COMPACT","sizeXRegularClassNames","REGULAR","sizeYCompactClassNames","sizeYRegularClassNames","viewWidthClassNames","tabletMinus","forced","tabletPlus","deviceTypeClassNames","mobile","desktop"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,YAAY,qCAAqC;AAExD,OAAO,MAAMC,yBAAyB;IACpCC,IAAI;QAAEC,WAAWH,MAAM,CAAC,qBAAqB;IAAC;IAC9C,CAACD,SAASK,
|
|
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","styles","sizeXCompactClassNames","mq","className","COMPACT","sizeXRegularClassNames","REGULAR","sizeYCompactClassNames","sizeYRegularClassNames","viewWidthClassNames","tabletMinus","forced","tabletPlus","deviceTypeClassNames","mobile","desktop"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,YAAY,qCAAqC;AAExD,OAAO,MAAMC,yBAAyB;IACpCC,IAAI;QAAEC,WAAWH,MAAM,CAAC,qBAAqB;IAAC;IAC9C,CAACD,SAASK,OAAO,CAAC,EAAE;QAAED,WAAWH,MAAM,CAAC,yBAAyB;IAAC;AACpE,EAAE;AAEF,OAAO,MAAMK,yBAAyB;IACpCH,IAAI;QAAEC,WAAWH,MAAM,CAAC,qBAAqB;IAAC;IAC9C,CAACD,SAASO,OAAO,CAAC,EAAE;QAAEH,WAAWH,MAAM,CAAC,yBAAyB;IAAC;AACpE,EAAE;AAEF,OAAO,MAAMO,yBAAyB;IACpCL,IAAI;QAAEC,WAAWH,MAAM,CAAC,qBAAqB;IAAC;IAC9C,CAACD,SAASK,OAAO,CAAC,EAAE;QAAED,WAAWH,MAAM,CAAC,yBAAyB;IAAC;AACpE,EAAE;AAEF,OAAO,MAAMQ,yBAAyB;IACpCN,IAAI;QAAEC,WAAWH,MAAM,CAAC,qBAAqB;IAAC;IAC9C,CAACD,SAASO,OAAO,CAAC,EAAE;QAAEH,WAAWH,MAAM,CAAC,yBAAyB;IAAC;AACpE,EAAE;AAEF,OAAO,MAAMS,sBAAsB;IACjCC,aAAa;QACXR,IAAI;YAAEC,WAAWH,MAAM,CAAC,6BAA6B;QAAC;QACtDW,QAAQ;YAAER,WAAWH,MAAM,CAAC,iCAAiC;QAAC;IAChE;IACAY,YAAY;QACVV,IAAI;YAAEC,WAAWH,MAAM,CAAC,4BAA4B;QAAC;QACrDW,QAAQ;YAAER,WAAWH,MAAM,CAAC,gCAAgC;QAAC;IAC/D;AACF,EAAE;AAEF,OAAO,MAAMa,uBAAuB;IAClCC,QAAQ;QACNZ,IAAI;YAAEC,WAAWH,MAAM,CAAC,yBAAyB;QAAC;QAClDW,QAAQ;YAAER,WAAWH,MAAM,CAAC,6BAA6B;QAAC;IAC5D;IACAe,SAAS;QACPb,IAAI;YAAEC,WAAWH,MAAM,CAAC,0BAA0B;QAAC;QACnDW,QAAQ;YAAER,WAAWH,MAAM,CAAC,8BAA8B;QAAC;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,MAAMC,sBAAsB,CACjCC,MACAC,mBACAC;IAEA,OAAO;QACLC,SACEH,SAASI,YACLH,kBAAkBI,
|
|
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,MAAMC,sBAAsB,CACjCC,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,MAAMS,uBAAuB,CAClCC,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,MAAME,wBAAwB,CACnCN,WACAO,YACAC,YACAC,UACAC;IAEA,MAAMC,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"}
|
|
@@ -4,7 +4,7 @@ import { usePlatform } from '../usePlatform';
|
|
|
4
4
|
import { deviceTypeClassNames, sizeXCompactClassNames, sizeXRegularClassNames, sizeYCompactClassNames, sizeYRegularClassNames, viewWidthClassNames } from './constants';
|
|
5
5
|
import { getAdaptiveDeviceType, getAdaptiveSizeType, getAdaptiveViewWidth } from './helpers';
|
|
6
6
|
export const useAdaptivityConditionalRender = ()=>{
|
|
7
|
-
const { sizeX: sizeXContext
|
|
7
|
+
const { sizeX: sizeXContext, sizeY: sizeYContext, viewWidth: viewWidthContext, viewHeight: viewHeightContext, hasPointer: hasPointerContext } = React.useContext(AdaptivityContext);
|
|
8
8
|
const platform = usePlatform();
|
|
9
9
|
return React.useMemo(()=>{
|
|
10
10
|
const sizeX = getAdaptiveSizeType(sizeXContext, sizeXCompactClassNames, sizeXRegularClassNames);
|
package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map
CHANGED
|
@@ -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","sizeX","sizeXContext","sizeY","sizeYContext","viewWidth","viewWidthContext","viewHeight","viewHeightContext","hasPointer","hasPointerContext","useContext","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,MAAMC,iCAAiC;IAC5C,MAAM,EACJC,OAAOC,
|
|
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","sizeX","sizeXContext","sizeY","sizeYContext","viewWidth","viewWidthContext","viewHeight","viewHeightContext","hasPointer","hasPointerContext","useContext","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,MAAMC,iCAAiC;IAC5C,MAAM,EACJC,OAAOC,YAAY,EACnBC,OAAOC,YAAY,EACnBC,WAAWC,gBAAgB,EAC3BC,YAAYC,iBAAiB,EAC7BC,YAAYC,iBAAiB,EAC9B,GAAGtB,MAAMuB,UAAU,CAACtB;IACrB,MAAMuB,WAAWtB;IAEjB,OAAOF,MAAMyB,OAAO,CAAC;QACnB,MAAMZ,QAAQH,oBAAoBI,cAAcV,wBAAwBC;QACxE,MAAMU,QAAQL,oBAAoBM,cAAcV,wBAAwBC;QACxE,MAAMU,YAAYN,qBAAqBO,kBAAkBV;QACzD,MAAMkB,aAAajB,sBACjBS,kBACAE,mBACAE,mBACAE,UACArB;QAEF,OAAO;YACLU;YACAE;YACAE;YACAS;QACF;IACF,GAAG;QACDZ;QACAE;QACAE;QACAE;QACAE;QACAE;KACD;AACH,EAAE"}
|
|
@@ -3,7 +3,7 @@ import { hasHover as hasHoverLib } from '@vkontakte/vkjs';
|
|
|
3
3
|
import { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';
|
|
4
4
|
import { useIsClient } from './useIsClient';
|
|
5
5
|
export function useAdaptivityHasHover(deferDetect = true) {
|
|
6
|
-
const { hasHover: hasHoverContext
|
|
6
|
+
const { hasHover: hasHoverContext } = React.useContext(AdaptivityContext);
|
|
7
7
|
const hasHover = hasHoverContext === undefined ? hasHoverLib : hasHoverContext;
|
|
8
8
|
const isClient = useIsClient(!deferDetect);
|
|
9
9
|
if (!isClient) {
|
|
@@ -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","hasHoverContext","useContext","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,sBAAsBC,cAAc,IAAI;IACtD,MAAM,EAAEL,UAAUM,
|
|
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","hasHoverContext","useContext","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,sBAAsBC,cAAc,IAAI;IACtD,MAAM,EAAEL,UAAUM,eAAe,EAAE,GAAGP,MAAMQ,UAAU,CAACL;IACvD,MAAMF,WAAWM,oBAAoBE,YAAYP,cAAcK;IAE/D,MAAMG,WAAWN,YAAY,CAACE;IAC9B,IAAI,CAACI,UAAU;QACb,OAAOD;IACT;IAEA,OAAOR;AACT"}
|
|
@@ -3,7 +3,7 @@ import { hasMouse as hasPointerLib } from '@vkontakte/vkjs';
|
|
|
3
3
|
import { AdaptivityContext } from '../components/AdaptivityProvider/AdaptivityContext';
|
|
4
4
|
import { useIsClient } from './useIsClient';
|
|
5
5
|
export function useAdaptivityHasPointer(deferDetect = true) {
|
|
6
|
-
const { hasPointer: hasPointerContext
|
|
6
|
+
const { hasPointer: hasPointerContext } = React.useContext(AdaptivityContext);
|
|
7
7
|
const hasPointer = hasPointerContext === undefined ? hasPointerLib : hasPointerContext;
|
|
8
8
|
const isClient = useIsClient(!deferDetect);
|
|
9
9
|
if (!isClient) {
|
|
@@ -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","hasPointer","hasPointerContext","useContext","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,wBAAwBC,cAAc,IAAI;IACxD,MAAM,EAAEC,YAAYC,
|
|
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","hasPointer","hasPointerContext","useContext","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,wBAAwBC,cAAc,IAAI;IACxD,MAAM,EAAEC,YAAYC,iBAAiB,EAAE,GAAGR,MAAMS,UAAU,CAACN;IAC3D,MAAMI,aAAaC,sBAAsBE,YAAYR,gBAAgBM;IAErE,MAAMG,WAAWP,YAAY,CAACE;IAC9B,IAAI,CAACK,UAAU;QACb,OAAOD;IACT;IAEA,OAAOH;AACT"}
|
|
@@ -26,7 +26,7 @@ import { usePlatform } from './usePlatform';
|
|
|
26
26
|
|
|
27
27
|
Используйте CSS Media Query или библиотеку по типу https://github.com/artsy/fresnel.`);
|
|
28
28
|
}
|
|
29
|
-
const { viewWidth: viewWidthContext
|
|
29
|
+
const { viewWidth: viewWidthContext, viewHeight: viewHeightContext, sizeX: sizeXContext, sizeY: sizeYContext, hasPointer: hasPointerContext, hasHover: hasHoverContext } = React.useContext(AdaptivityContext);
|
|
30
30
|
const platform = usePlatform();
|
|
31
31
|
const mediaQueries = useMediaQueries();
|
|
32
32
|
const [[viewWidthLocal, viewHeightLocal], setViewSizeLocal] = React.useState(()=>[
|