@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/Avatar/Avatar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ImageBase, type ImageBaseOverlayProps, type ImageBaseProps } from '../ImageBase/ImageBase';\nimport { AvatarBadge, type AvatarBadgeProps } from './AvatarBadge/AvatarBadge';\nimport {\n AvatarBadgeWithPreset,\n type AvatarBadgeWithPresetProps,\n} from './AvatarBadge/AvatarBadgeWithPreset';\nimport { getInitialsFontSize } from './helpers';\nimport styles from './Avatar.module.css';\n\nexport type {\n AvatarBadgeProps,\n AvatarBadgeWithPresetProps,\n ImageBaseOverlayProps as AvatarOverlayProps,\n};\n\nexport const AVATAR_DEFAULT_SIZE = 48;\n\nconst COLORS_NUMBER_TO_TEXT_MAP = {\n 1: 'red',\n 2: 'orange',\n 3: 'yellow',\n 4: 'green',\n 5: 'l-blue',\n 6: 'violet',\n} as const;\n\n/**\n * Градиенты, которые можно использовать в алгоритме поиска градиентов по числовому идентификатору пользователя.\n * @example user.id % 6 + 1\n */\nexport type InitialsAvatarNumberGradients = keyof typeof COLORS_NUMBER_TO_TEXT_MAP;\n\nexport type InitialsAvatarTextGradients =\n | (typeof COLORS_NUMBER_TO_TEXT_MAP)[InitialsAvatarNumberGradients]\n | 'blue';\n\nconst gradientStyles = {\n 'red': styles['Avatar--gradient-red'],\n 'orange': styles['Avatar--gradient-orange'],\n 'yellow': styles['Avatar--gradient-yellow'],\n 'green': styles['Avatar--gradient-green'],\n 'blue': styles['Avatar--gradient-blue'],\n 'l-blue': styles['Avatar--gradient-l-blue'],\n 'violet': styles['Avatar--gradient-violet'],\n};\n\nexport interface AvatarProps extends ImageBaseProps {\n /**\n * Инициалы пользователя.\n *\n * > Note: Если аватарка не прогрузится, то пользователь увидит инициалы.\n *\n * > ⚠️ Перебивает `fallbackIcon`.\n */\n initials?: string;\n /**\n * Задаёт градиент для фона.\n *\n * Если передано число, то оно будет сконвертировано в строчное представление цвета по следующей схеме:\n *\n * 1: 'red'\n * 2: 'orange'\n * 3: 'yellow'\n * 4: 'green'\n * 5: 'l-blue'\n * 6: 'violet'\n *\n * > Если необходимо задать свой градиент, то используйте значение `\"custom\"` и определите цвет градиента либо через\n * > свой класс в `className`, либо через `style={{ backgroundImage: \"...\" }}`.\n */\n gradientColor?: InitialsAvatarNumberGradients | InitialsAvatarTextGradients | 'custom';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Avatar\n */\nexport const Avatar = ({\n size = AVATAR_DEFAULT_SIZE,\n className,\n gradientColor,\n initials,\n fallbackIcon,\n children,\n ...restProps\n}: AvatarProps) => {\n const gradientName =\n typeof gradientColor === 'number' ? COLORS_NUMBER_TO_TEXT_MAP[gradientColor] : gradientColor;\n const isGradientNotCustom = gradientName && gradientName !== 'custom';\n const rewrittenFallbackIcon = initials ? undefined : fallbackIcon;\n\n return (\n <ImageBase\n {...restProps}\n size={size}\n fallbackIcon={rewrittenFallbackIcon}\n className={classNames(\n styles['Avatar'],\n gradientName && styles['Avatar--has-gradient'],\n isGradientNotCustom && gradientStyles[gradientName],\n className,\n )}\n >\n {initials && (\n <div\n className={styles['Avatar__initials']}\n style={{\n fontSize: getInitialsFontSize(size),\n }}\n >\n {initials}\n </div>\n )}\n {children}\n </ImageBase>\n );\n};\n\nAvatar.Badge = AvatarBadge;\n\nAvatar.BadgeWithPreset = AvatarBadgeWithPreset;\n\nAvatar.Overlay = ImageBase.Overlay;\n"],"names":["React","classNames","ImageBase","AvatarBadge","AvatarBadgeWithPreset","getInitialsFontSize","AVATAR_DEFAULT_SIZE","COLORS_NUMBER_TO_TEXT_MAP","gradientStyles","Avatar","size","className","gradientColor","initials","fallbackIcon","children","restProps","gradientName","isGradientNotCustom","rewrittenFallbackIcon","undefined","div","style","fontSize","Badge","BadgeWithPreset","Overlay"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,SAAS,QAAyD,yBAAyB;AACpG,SAASC,WAAW,QAA+B,4BAA4B;AAC/E,SACEC,qBAAqB,QAEhB,sCAAsC;AAC7C,SAASC,mBAAmB,QAAQ,YAAY;AAShD,OAAO,IAAMC,sBAAsB,GAAG;AAEtC,IAAMC,4BAA4B;IAChC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;AACL;AAYA,IAAMC,iBAAiB;IACrB,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;AACV;AA6BA;;CAEC,GACD,OAAO,IAAMC,SAAS;6BACpBC,MAAAA,gCAAOJ,mCACPK,mBAAAA,WACAC,uBAAAA,eACAC,kBAAAA,UACAC,sBAAAA,cACAC,kBAAAA,UACGC;QANHN;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,eACJ,OAAOL,kBAAkB,WAAWL,yBAAyB,CAACK,cAAc,GAAGA;IACjF,IAAMM,sBAAsBD,gBAAgBA,iBAAiB;IAC7D,IAAME,wBAAwBN,WAAWO,YAAYN;IAErD,qBACE,oBAACZ,mDACKc;QACJN,MAAMA;QACNI,cAAcK;QACdR,WAAWV,yBAETgB,4CACAC,uBAAuBV,cAAc,CAACS,aAAa,EACnDN;QAGDE,0BACC,oBAACQ;QACCV,SAAS;QACTW,OAAO;YACLC,UAAUlB,oBAAoBK;QAChC;OAECG,WAGJE;AAGP,EAAE;AAEFN,OAAOe,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ImageBase, type ImageBaseOverlayProps, type ImageBaseProps } from '../ImageBase/ImageBase';\nimport { AvatarBadge, type AvatarBadgeProps } from './AvatarBadge/AvatarBadge';\nimport {\n AvatarBadgeWithPreset,\n type AvatarBadgeWithPresetProps,\n} from './AvatarBadge/AvatarBadgeWithPreset';\nimport { getInitialsFontSize } from './helpers';\nimport styles from './Avatar.module.css';\n\nexport type {\n AvatarBadgeProps,\n AvatarBadgeWithPresetProps,\n ImageBaseOverlayProps as AvatarOverlayProps,\n};\n\nexport const AVATAR_DEFAULT_SIZE = 48;\n\nconst COLORS_NUMBER_TO_TEXT_MAP = {\n 1: 'red',\n 2: 'orange',\n 3: 'yellow',\n 4: 'green',\n 5: 'l-blue',\n 6: 'violet',\n} as const;\n\n/**\n * Градиенты, которые можно использовать в алгоритме поиска градиентов по числовому идентификатору пользователя.\n * @example user.id % 6 + 1\n */\nexport type InitialsAvatarNumberGradients = keyof typeof COLORS_NUMBER_TO_TEXT_MAP;\n\nexport type InitialsAvatarTextGradients =\n | (typeof COLORS_NUMBER_TO_TEXT_MAP)[InitialsAvatarNumberGradients]\n | 'blue';\n\nconst gradientStyles = {\n 'red': styles['Avatar--gradient-red'],\n 'orange': styles['Avatar--gradient-orange'],\n 'yellow': styles['Avatar--gradient-yellow'],\n 'green': styles['Avatar--gradient-green'],\n 'blue': styles['Avatar--gradient-blue'],\n 'l-blue': styles['Avatar--gradient-l-blue'],\n 'violet': styles['Avatar--gradient-violet'],\n};\n\nexport interface AvatarProps extends ImageBaseProps {\n /**\n * Инициалы пользователя.\n *\n * > Note: Если аватарка не прогрузится, то пользователь увидит инициалы.\n *\n * > ⚠️ Перебивает `fallbackIcon`.\n */\n initials?: string;\n /**\n * Задаёт градиент для фона.\n *\n * Если передано число, то оно будет сконвертировано в строчное представление цвета по следующей схеме:\n *\n * 1: 'red'\n * 2: 'orange'\n * 3: 'yellow'\n * 4: 'green'\n * 5: 'l-blue'\n * 6: 'violet'\n *\n * > Если необходимо задать свой градиент, то используйте значение `\"custom\"` и определите цвет градиента либо через\n * > свой класс в `className`, либо через `style={{ backgroundImage: \"...\" }}`.\n */\n gradientColor?: InitialsAvatarNumberGradients | InitialsAvatarTextGradients | 'custom';\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Avatar\n */\nexport const Avatar = ({\n size = AVATAR_DEFAULT_SIZE,\n className,\n gradientColor,\n initials,\n fallbackIcon,\n children,\n ...restProps\n}: AvatarProps) => {\n const gradientName =\n typeof gradientColor === 'number' ? COLORS_NUMBER_TO_TEXT_MAP[gradientColor] : gradientColor;\n const isGradientNotCustom = gradientName && gradientName !== 'custom';\n const rewrittenFallbackIcon = initials ? undefined : fallbackIcon;\n\n return (\n <ImageBase\n {...restProps}\n size={size}\n fallbackIcon={rewrittenFallbackIcon}\n className={classNames(\n styles['Avatar'],\n gradientName && styles['Avatar--has-gradient'],\n isGradientNotCustom && gradientStyles[gradientName],\n className,\n )}\n >\n {initials && (\n <div\n className={styles['Avatar__initials']}\n style={{\n fontSize: getInitialsFontSize(size),\n }}\n >\n {initials}\n </div>\n )}\n {children}\n </ImageBase>\n );\n};\n\nAvatar.Badge = AvatarBadge;\n\nAvatar.BadgeWithPreset = AvatarBadgeWithPreset;\n\nAvatar.Overlay = ImageBase.Overlay;\n"],"names":["React","classNames","ImageBase","AvatarBadge","AvatarBadgeWithPreset","getInitialsFontSize","AVATAR_DEFAULT_SIZE","COLORS_NUMBER_TO_TEXT_MAP","gradientStyles","Avatar","size","className","gradientColor","initials","fallbackIcon","children","restProps","gradientName","isGradientNotCustom","rewrittenFallbackIcon","undefined","div","style","fontSize","Badge","BadgeWithPreset","Overlay"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,SAAS,QAAyD,yBAAyB;AACpG,SAASC,WAAW,QAA+B,4BAA4B;AAC/E,SACEC,qBAAqB,QAEhB,sCAAsC;AAC7C,SAASC,mBAAmB,QAAQ,YAAY;AAShD,OAAO,IAAMC,sBAAsB,GAAG;AAEtC,IAAMC,4BAA4B;IAChC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;AACL;AAYA,IAAMC,iBAAiB;IACrB,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;AACV;AA6BA;;CAEC,GACD,OAAO,IAAMC,SAAS;6BACpBC,MAAAA,gCAAOJ,mCACPK,mBAAAA,WACAC,uBAAAA,eACAC,kBAAAA,UACAC,sBAAAA,cACAC,kBAAAA,UACGC;QANHN;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,eACJ,OAAOL,kBAAkB,WAAWL,yBAAyB,CAACK,cAAc,GAAGA;IACjF,IAAMM,sBAAsBD,gBAAgBA,iBAAiB;IAC7D,IAAME,wBAAwBN,WAAWO,YAAYN;IAErD,qBACE,oBAACZ,mDACKc;QACJN,MAAMA;QACNI,cAAcK;QACdR,WAAWV,yBAETgB,4CACAC,uBAAuBV,cAAc,CAACS,aAAa,EACnDN;QAGDE,0BACC,oBAACQ;QACCV,SAAS;QACTW,OAAO;YACLC,UAAUlB,oBAAoBK;QAChC;OAECG,WAGJE;AAGP,EAAE;AAEFN,OAAOe,KAAK,GAAGrB;AAEfM,OAAOgB,eAAe,GAAGrB;AAEzBK,OAAOiB,OAAO,GAAGxB,UAAUwB,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Avatar/AvatarBadge/AvatarBadge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ImageBase, type ImageBaseBadgeProps, ImageBaseContext } from '../../ImageBase/ImageBase';\nimport styles from './AvatarBadge.module.css';\n\nexport type AvatarBadgeProps = ImageBaseBadgeProps;\n\nexport const AvatarBadge = ({ className, ...restProps }: AvatarBadgeProps) => {\n const { size } = React.useContext(ImageBaseContext);\n return (\n <ImageBase.Badge\n {...restProps}\n className={classNames(\n styles['AvatarBadge'],\n size < 96 && styles['AvatarBadge--shifted'],\n className,\n )}\n />\n );\n};\n"],"names":["React","classNames","ImageBase","ImageBaseContext","AvatarBadge","className","restProps","size","useContext","Badge"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,SAAS,EAA4BC,gBAAgB,QAAQ,4BAA4B;AAKlG,OAAO,IAAMC,cAAc;QAAGC,mBAAAA,WAAcC;QAAdD;;IAC5B,IAAM,AAAEE,OAASP,MAAMQ,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Avatar/AvatarBadge/AvatarBadge.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ImageBase, type ImageBaseBadgeProps, ImageBaseContext } from '../../ImageBase/ImageBase';\nimport styles from './AvatarBadge.module.css';\n\nexport type AvatarBadgeProps = ImageBaseBadgeProps;\n\nexport const AvatarBadge = ({ className, ...restProps }: AvatarBadgeProps) => {\n const { size } = React.useContext(ImageBaseContext);\n return (\n <ImageBase.Badge\n {...restProps}\n className={classNames(\n styles['AvatarBadge'],\n size < 96 && styles['AvatarBadge--shifted'],\n className,\n )}\n />\n );\n};\n"],"names":["React","classNames","ImageBase","ImageBaseContext","AvatarBadge","className","restProps","size","useContext","Badge"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,SAAS,EAA4BC,gBAAgB,QAAQ,4BAA4B;AAKlG,OAAO,IAAMC,cAAc;QAAGC,mBAAAA,WAAcC;QAAdD;;IAC5B,IAAM,AAAEE,OAASP,MAAMQ,UAAU,CAACL,kBAA1BI;IACR,qBACE,oBAACL,UAAUO,KAAK,0CACVH;QACJD,WAAWJ,8BAETM,OAAO,kCACPF;;AAIR,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport {\n getBadgeIconSizeByImageBaseSize,\n ImageBase,\n type ImageBaseBadgeProps,\n ImageBaseContext,\n} from '../../ImageBase/ImageBase';\nimport { Icon12Circle, Icon12OnlineMobile } from './icons';\nimport styles from './AvatarBadge.module.css';\n\nexport interface AvatarBadgeWithPresetProps\n extends Omit<ImageBaseBadgeProps, 'background' | 'children'> {\n /**\n * Использует предзаданные настройки.\n *\n * За каждым пресетом закреплена своя иконка и стили.\n */\n preset?: 'online' | 'online-mobile';\n}\n\nexport const AvatarBadgeWithPreset = ({\n preset = 'online',\n className,\n ...restProps\n}: AvatarBadgeWithPresetProps) => {\n const { size } = React.useContext(ImageBaseContext);\n const badgeSize = getBadgeIconSizeByImageBaseSize(size);\n const isOnlinePreset = preset === 'online';\n const presetClassName = isOnlinePreset\n ? styles['AvatarBadge--preset-online']\n : styles['AvatarBadge--preset-onlineMobile'];\n const Icon = isOnlinePreset ? Icon12Circle : Icon12OnlineMobile;\n\n return (\n <ImageBase.Badge\n background=\"stroke\"\n className={classNames(styles['AvatarBadge'], presetClassName, className)}\n {...restProps}\n >\n <Icon width={badgeSize} height={badgeSize} />\n </ImageBase.Badge>\n );\n};\n"],"names":["React","classNames","getBadgeIconSizeByImageBaseSize","ImageBase","ImageBaseContext","Icon12Circle","Icon12OnlineMobile","AvatarBadgeWithPreset","preset","className","restProps","size","useContext","badgeSize","isOnlinePreset","presetClassName","Icon","Badge","background","width","height"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SACEC,+BAA+B,EAC/BC,SAAS,EAETC,gBAAgB,QACX,4BAA4B;AACnC,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,UAAU;AAa3D,OAAO,IAAMC,wBAAwB;+BACnCC,QAAAA,oCAAS,0BACTC,mBAAAA,WACGC;QAFHF;QACAC;;IAGA,IAAM,AAAEE,OAASX,MAAMY,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport {\n getBadgeIconSizeByImageBaseSize,\n ImageBase,\n type ImageBaseBadgeProps,\n ImageBaseContext,\n} from '../../ImageBase/ImageBase';\nimport { Icon12Circle, Icon12OnlineMobile } from './icons';\nimport styles from './AvatarBadge.module.css';\n\nexport interface AvatarBadgeWithPresetProps\n extends Omit<ImageBaseBadgeProps, 'background' | 'children'> {\n /**\n * Использует предзаданные настройки.\n *\n * За каждым пресетом закреплена своя иконка и стили.\n */\n preset?: 'online' | 'online-mobile';\n}\n\nexport const AvatarBadgeWithPreset = ({\n preset = 'online',\n className,\n ...restProps\n}: AvatarBadgeWithPresetProps) => {\n const { size } = React.useContext(ImageBaseContext);\n const badgeSize = getBadgeIconSizeByImageBaseSize(size);\n const isOnlinePreset = preset === 'online';\n const presetClassName = isOnlinePreset\n ? styles['AvatarBadge--preset-online']\n : styles['AvatarBadge--preset-onlineMobile'];\n const Icon = isOnlinePreset ? Icon12Circle : Icon12OnlineMobile;\n\n return (\n <ImageBase.Badge\n background=\"stroke\"\n className={classNames(styles['AvatarBadge'], presetClassName, className)}\n {...restProps}\n >\n <Icon width={badgeSize} height={badgeSize} />\n </ImageBase.Badge>\n );\n};\n"],"names":["React","classNames","getBadgeIconSizeByImageBaseSize","ImageBase","ImageBaseContext","Icon12Circle","Icon12OnlineMobile","AvatarBadgeWithPreset","preset","className","restProps","size","useContext","badgeSize","isOnlinePreset","presetClassName","Icon","Badge","background","width","height"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SACEC,+BAA+B,EAC/BC,SAAS,EAETC,gBAAgB,QACX,4BAA4B;AACnC,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,UAAU;AAa3D,OAAO,IAAMC,wBAAwB;+BACnCC,QAAAA,oCAAS,0BACTC,mBAAAA,WACGC;QAFHF;QACAC;;IAGA,IAAM,AAAEE,OAASX,MAAMY,UAAU,CAACR,kBAA1BO;IACR,IAAME,YAAYX,gCAAgCS;IAClD,IAAMG,iBAAiBN,WAAW;IAClC,IAAMO,kBAAkBD;IAGxB,IAAME,OAAOF,iBAAiBT,eAAeC;IAE7C,qBACE,oBAACH,UAAUc,KAAK;QACdC,YAAW;QACXT,WAAWR,8BAAkCc,iBAAiBN;OAC1DC,0BAEJ,oBAACM;QAAKG,OAAON;QAAWO,QAAQP;;AAGtC,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Avatar/helpers.ts"],"sourcesContent":["import type { ImageBaseSize } from '../ImageBase/ImageBase';\n\nconst MAX_FONT_SIZE = 30;\nconst MAX_IMAGE_BASE_SIZE: ImageBaseSize = 96;\nconst RELATIVE_SIZE = MAX_FONT_SIZE / MAX_IMAGE_BASE_SIZE;\n\n/**\n * По возможности выставляем размеры по дизайн-системе. Иначе высчитываем.\n */\nexport function getInitialsFontSize(avatarSize: number): number {\n if (avatarSize <= 16) {\n return 5;\n } else if (avatarSize <= 24) {\n return 8;\n } else if (avatarSize <= 32) {\n return 10;\n } else if (avatarSize <= 36) {\n return 13;\n } else if (avatarSize <= 44) {\n return 14;\n } else if (avatarSize <= 48) {\n return 17;\n } else if (avatarSize < 56) {\n return 18;\n } else if (avatarSize <= 64) {\n return 21;\n } else if (avatarSize <= 88) {\n return 26;\n } else if (avatarSize <= MAX_IMAGE_BASE_SIZE) {\n return MAX_FONT_SIZE;\n }\n\n const calculatedFontSize = Math.ceil(avatarSize * RELATIVE_SIZE);\n const evenFix = calculatedFontSize % 2;\n return calculatedFontSize + evenFix;\n}\n"],"names":["MAX_FONT_SIZE","MAX_IMAGE_BASE_SIZE","RELATIVE_SIZE","getInitialsFontSize","avatarSize","calculatedFontSize","Math","ceil","evenFix"],"mappings":"AAEA,IAAMA,gBAAgB;AACtB,IAAMC,sBAAqC;AAC3C,IAAMC,gBAAgBF,gBAAgBC;AAEtC;;CAEC,GACD,OAAO,SAASE,oBAAoBC,UAAkB;IACpD,IAAIA,cAAc,IAAI;QACpB,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,aAAa,IAAI;QAC1B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAcH,qBAAqB;QAC5C,OAAOD;IACT;IAEA,IAAMK,qBAAqBC,KAAKC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Avatar/helpers.ts"],"sourcesContent":["import type { ImageBaseSize } from '../ImageBase/ImageBase';\n\nconst MAX_FONT_SIZE = 30;\nconst MAX_IMAGE_BASE_SIZE: ImageBaseSize = 96;\nconst RELATIVE_SIZE = MAX_FONT_SIZE / MAX_IMAGE_BASE_SIZE;\n\n/**\n * По возможности выставляем размеры по дизайн-системе. Иначе высчитываем.\n */\nexport function getInitialsFontSize(avatarSize: number): number {\n if (avatarSize <= 16) {\n return 5;\n } else if (avatarSize <= 24) {\n return 8;\n } else if (avatarSize <= 32) {\n return 10;\n } else if (avatarSize <= 36) {\n return 13;\n } else if (avatarSize <= 44) {\n return 14;\n } else if (avatarSize <= 48) {\n return 17;\n } else if (avatarSize < 56) {\n return 18;\n } else if (avatarSize <= 64) {\n return 21;\n } else if (avatarSize <= 88) {\n return 26;\n } else if (avatarSize <= MAX_IMAGE_BASE_SIZE) {\n return MAX_FONT_SIZE;\n }\n\n const calculatedFontSize = Math.ceil(avatarSize * RELATIVE_SIZE);\n const evenFix = calculatedFontSize % 2;\n return calculatedFontSize + evenFix;\n}\n"],"names":["MAX_FONT_SIZE","MAX_IMAGE_BASE_SIZE","RELATIVE_SIZE","getInitialsFontSize","avatarSize","calculatedFontSize","Math","ceil","evenFix"],"mappings":"AAEA,IAAMA,gBAAgB;AACtB,IAAMC,sBAAqC;AAC3C,IAAMC,gBAAgBF,gBAAgBC;AAEtC;;CAEC,GACD,OAAO,SAASE,oBAAoBC,UAAkB;IACpD,IAAIA,cAAc,IAAI;QACpB,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,aAAa,IAAI;QAC1B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAc,IAAI;QAC3B,OAAO;IACT,OAAO,IAAIA,cAAcH,qBAAqB;QAC5C,OAAOD;IACT;IAEA,IAAMK,qBAAqBC,KAAKC,IAAI,CAACH,aAAaF;IAClD,IAAMM,UAAUH,qBAAqB;IACrC,OAAOA,qBAAqBG;AAC9B"}
|
|
@@ -65,8 +65,12 @@ export interface BannerProps extends React.HTMLAttributes<HTMLDivElement>, HasRo
|
|
|
65
65
|
* - `gap="m" mode="vertical" stretched`
|
|
66
66
|
*/
|
|
67
67
|
actions?: React.ReactNode;
|
|
68
|
+
/**
|
|
69
|
+
* Удаляет отступы у компонента
|
|
70
|
+
*/
|
|
71
|
+
noPadding?: boolean;
|
|
68
72
|
}
|
|
69
73
|
/**
|
|
70
74
|
* @see https://vkcom.github.io/VKUI/#/Banner
|
|
71
75
|
*/
|
|
72
|
-
export declare const Banner: ({ mode, imageTheme, size, before, asideMode, header, subheader, text, children, background, actions, onDismiss, dismissLabel, className, getRootRef, ...restProps }: BannerProps) => React.JSX.Element;
|
|
76
|
+
export declare const Banner: ({ mode, imageTheme, size, before, asideMode, header, subheader, text, children, background, actions, onDismiss, dismissLabel, className, getRootRef, noPadding, ...restProps }: BannerProps) => React.JSX.Element;
|
|
@@ -15,7 +15,7 @@ import { Title } from "../Typography/Title/Title";
|
|
|
15
15
|
/**
|
|
16
16
|
* @see https://vkcom.github.io/VKUI/#/Banner
|
|
17
17
|
*/ export var Banner = function(_param) {
|
|
18
|
-
var _param_mode = _param.mode, mode = _param_mode === void 0 ? "tint" : _param_mode, _param_imageTheme = _param.imageTheme, imageTheme = _param_imageTheme === void 0 ? "dark" : _param_imageTheme, _param_size = _param.size, size = _param_size === void 0 ? "s" : _param_size, before = _param.before, asideMode = _param.asideMode, header = _param.header, subheader = _param.subheader, text = _param.text, children = _param.children, background = _param.background, actions = _param.actions, onDismiss = _param.onDismiss, _param_dismissLabel = _param.dismissLabel, dismissLabel = _param_dismissLabel === void 0 ? "Скрыть" : _param_dismissLabel, className = _param.className, getRootRef = _param.getRootRef, restProps = _object_without_properties(_param, [
|
|
18
|
+
var _param_mode = _param.mode, mode = _param_mode === void 0 ? "tint" : _param_mode, _param_imageTheme = _param.imageTheme, imageTheme = _param_imageTheme === void 0 ? "dark" : _param_imageTheme, _param_size = _param.size, size = _param_size === void 0 ? "s" : _param_size, before = _param.before, asideMode = _param.asideMode, header = _param.header, subheader = _param.subheader, text = _param.text, children = _param.children, background = _param.background, actions = _param.actions, onDismiss = _param.onDismiss, _param_dismissLabel = _param.dismissLabel, dismissLabel = _param_dismissLabel === void 0 ? "Скрыть" : _param_dismissLabel, className = _param.className, getRootRef = _param.getRootRef, noPadding = _param.noPadding, restProps = _object_without_properties(_param, [
|
|
19
19
|
"mode",
|
|
20
20
|
"imageTheme",
|
|
21
21
|
"size",
|
|
@@ -30,7 +30,8 @@ import { Title } from "../Typography/Title/Title";
|
|
|
30
30
|
"onDismiss",
|
|
31
31
|
"dismissLabel",
|
|
32
32
|
"className",
|
|
33
|
-
"getRootRef"
|
|
33
|
+
"getRootRef",
|
|
34
|
+
"noPadding"
|
|
34
35
|
]);
|
|
35
36
|
var platform = usePlatform();
|
|
36
37
|
var HeaderTypography = size === "m" ? Title : Headline;
|
|
@@ -57,7 +58,7 @@ import { Title } from "../Typography/Title/Title";
|
|
|
57
58
|
className: "vkuiBanner__actions"
|
|
58
59
|
}, actions)));
|
|
59
60
|
return /*#__PURE__*/ React.createElement("section", _object_spread_props(_object_spread({}, restProps), {
|
|
60
|
-
className: classNames("vkuiBanner", platform === Platform.IOS && "vkuiBanner--ios", mode === "image" && "vkuiBanner--mode-image", {
|
|
61
|
+
className: classNames("vkuiBanner", !noPadding && "vkuiBanner--withPadding", platform === Platform.IOS && "vkuiBanner--ios", mode === "image" && "vkuiBanner--mode-image", {
|
|
61
62
|
s: "vkuiBanner--size-s",
|
|
62
63
|
m: "vkuiBanner--size-m"
|
|
63
64
|
}[size], mode === "image" && imageTheme === "dark" && "vkuiBanner--inverted", className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Icon24Cancel,\n Icon24Chevron,\n Icon24DismissDark,\n Icon24DismissSubstract,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Banner.module.css';\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLElement> {\n /**\n * Тип баннера.\n */\n mode?: 'tint' | 'image';\n size?: 's' | 'm';\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: 'dismiss' | 'expand';\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: 'light' | 'dark';\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button).\n *\n * - В режиме `tint` или `image` со светлым фоном используйте только с параметрами:\n * - `mode=\"primary\"`\n * - `mode=\"secondary\"`\n * - В режиме `image` с тёмным фоном используйте с параметрами:\n * - `appearance=\"overlay\"`.\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `gap=\"m\" mode=\"horizontal\" stretched`\n * - `gap=\"m\" mode=\"vertical\" stretched`\n */\n actions?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Banner\n */\nexport const Banner = ({\n mode = 'tint',\n imageTheme = 'dark',\n size = 's',\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel = 'Скрыть',\n className,\n getRootRef,\n ...restProps\n}: BannerProps) => {\n const platform = usePlatform();\n\n const HeaderTypography = size === 'm' ? Title : Headline;\n const SubheaderTypography = size === 'm' ? Text : Subhead;\n\n const IconDismissIOS = mode === 'image' ? Icon24DismissDark : Icon24DismissSubstract;\n\n const content = (\n <>\n {mode === 'image' && background && (\n <div aria-hidden className={styles['Banner__bg']}>\n {background}\n </div>\n )}\n\n {before && <div className={styles['Banner__before']}>{before}</div>}\n\n <div className={styles['Banner__content']}>\n {hasReactNode(header) && (\n <HeaderTypography Component=\"p\" weight=\"2\" level={size === 'm' ? '2' : '1'}>\n {header}\n </HeaderTypography>\n )}\n {hasReactNode(subheader) && (\n <SubheaderTypography Component=\"p\" className={styles['Banner__subheader']}>\n {subheader}\n </SubheaderTypography>\n )}\n {hasReactNode(text) && (\n <Text Component=\"p\" className={styles['Banner__text']}>\n {text}\n </Text>\n )}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div className={styles['Banner__actions']}>{actions}</div>\n )}\n </div>\n </>\n );\n\n return (\n <section\n {...restProps}\n className={classNames(\n styles['Banner'],\n platform === Platform.IOS && styles['Banner--ios'],\n mode === 'image' && styles['Banner--mode-image'],\n {\n s: styles['Banner--size-s'],\n m: styles['Banner--size-m'],\n }[size],\n mode === 'image' && imageTheme === 'dark' && styles['Banner--inverted'],\n className,\n )}\n ref={getRootRef}\n >\n {asideMode === 'expand' ? (\n <Tappable\n className={styles['Banner__in']}\n activeMode={platform === Platform.IOS ? 'opacity' : 'background'}\n role=\"button\"\n >\n {content}\n\n <div className={styles['Banner__aside']}>\n <Icon24Chevron className={styles['Banner__expand']} />\n </div>\n </Tappable>\n ) : (\n <div className={styles['Banner__in']}>\n {content}\n\n {asideMode === 'dismiss' && (\n <div className={styles['Banner__aside']}>\n <IconButton\n aria-label={dismissLabel}\n className={styles['Banner__dismiss']}\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {platform === Platform.IOS ? <IconDismissIOS /> : <Icon24Cancel />}\n </IconButton>\n </div>\n )}\n </div>\n )}\n </section>\n );\n};\n"],"names":["React","Icon24Cancel","Icon24Chevron","Icon24DismissDark","Icon24DismissSubstract","classNames","hasReactNode","usePlatform","Platform","IconButton","Tappable","Headline","Subhead","Text","Title","Banner","mode","imageTheme","size","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","className","getRootRef","restProps","platform","HeaderTypography","SubheaderTypography","IconDismissIOS","content","div","aria-hidden","Component","weight","level","Children","count","section","IOS","s","m","ref","activeMode","role","aria-label","onClick","hoverMode","hasActive"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,YAAY,EACZC,aAAa,EACbC,iBAAiB,EACjBC,sBAAsB,QACjB,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,UAAU,QAAQ,2BAA2B;AACtD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,KAAK,QAAQ,4BAA4B;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Icon24Cancel,\n Icon24Chevron,\n Icon24DismissDark,\n Icon24DismissSubstract,\n} from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport { IconButton } from '../IconButton/IconButton';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Headline } from '../Typography/Headline/Headline';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Banner.module.css';\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLElement> {\n /**\n * Тип баннера.\n */\n mode?: 'tint' | 'image';\n size?: 's' | 'm';\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: 'dismiss' | 'expand';\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: 'light' | 'dark';\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки-действия. Принимает [`Button`](https://vkcom.github.io/VKUI/#/Button).\n *\n * - В режиме `tint` или `image` со светлым фоном используйте только с параметрами:\n * - `mode=\"primary\"`\n * - `mode=\"secondary\"`\n * - В режиме `image` с тёмным фоном используйте с параметрами:\n * - `appearance=\"overlay\"`.\n *\n * Для набора кнопок используйте [`ButtonGroup`](https://vkcom.github.io/VKUI/#/ButtonGroup) с параметрами:\n *\n * - `gap=\"m\" mode=\"horizontal\" stretched`\n * - `gap=\"m\" mode=\"vertical\" stretched`\n */\n actions?: React.ReactNode;\n /**\n * Удаляет отступы у компонента\n */\n noPadding?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Banner\n */\nexport const Banner = ({\n mode = 'tint',\n imageTheme = 'dark',\n size = 's',\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel = 'Скрыть',\n className,\n getRootRef,\n noPadding,\n ...restProps\n}: BannerProps) => {\n const platform = usePlatform();\n\n const HeaderTypography = size === 'm' ? Title : Headline;\n const SubheaderTypography = size === 'm' ? Text : Subhead;\n\n const IconDismissIOS = mode === 'image' ? Icon24DismissDark : Icon24DismissSubstract;\n\n const content = (\n <>\n {mode === 'image' && background && (\n <div aria-hidden className={styles['Banner__bg']}>\n {background}\n </div>\n )}\n\n {before && <div className={styles['Banner__before']}>{before}</div>}\n\n <div className={styles['Banner__content']}>\n {hasReactNode(header) && (\n <HeaderTypography Component=\"p\" weight=\"2\" level={size === 'm' ? '2' : '1'}>\n {header}\n </HeaderTypography>\n )}\n {hasReactNode(subheader) && (\n <SubheaderTypography Component=\"p\" className={styles['Banner__subheader']}>\n {subheader}\n </SubheaderTypography>\n )}\n {hasReactNode(text) && (\n <Text Component=\"p\" className={styles['Banner__text']}>\n {text}\n </Text>\n )}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div className={styles['Banner__actions']}>{actions}</div>\n )}\n </div>\n </>\n );\n\n return (\n <section\n {...restProps}\n className={classNames(\n styles['Banner'],\n !noPadding && styles['Banner--withPadding'],\n platform === Platform.IOS && styles['Banner--ios'],\n mode === 'image' && styles['Banner--mode-image'],\n {\n s: styles['Banner--size-s'],\n m: styles['Banner--size-m'],\n }[size],\n mode === 'image' && imageTheme === 'dark' && styles['Banner--inverted'],\n className,\n )}\n ref={getRootRef}\n >\n {asideMode === 'expand' ? (\n <Tappable\n className={styles['Banner__in']}\n activeMode={platform === Platform.IOS ? 'opacity' : 'background'}\n role=\"button\"\n >\n {content}\n\n <div className={styles['Banner__aside']}>\n <Icon24Chevron className={styles['Banner__expand']} />\n </div>\n </Tappable>\n ) : (\n <div className={styles['Banner__in']}>\n {content}\n\n {asideMode === 'dismiss' && (\n <div className={styles['Banner__aside']}>\n <IconButton\n aria-label={dismissLabel}\n className={styles['Banner__dismiss']}\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {platform === Platform.IOS ? <IconDismissIOS /> : <Icon24Cancel />}\n </IconButton>\n </div>\n )}\n </div>\n )}\n </section>\n );\n};\n"],"names":["React","Icon24Cancel","Icon24Chevron","Icon24DismissDark","Icon24DismissSubstract","classNames","hasReactNode","usePlatform","Platform","IconButton","Tappable","Headline","Subhead","Text","Title","Banner","mode","imageTheme","size","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","className","getRootRef","noPadding","restProps","platform","HeaderTypography","SubheaderTypography","IconDismissIOS","content","div","aria-hidden","Component","weight","level","Children","count","section","IOS","s","m","ref","activeMode","role","aria-label","onClick","hoverMode","hasActive"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SACEC,YAAY,EACZC,aAAa,EACbC,iBAAiB,EACjBC,sBAAsB,QACjB,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,UAAU,QAAQ,2BAA2B;AACtD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,QAAQ,QAAQ,kCAAkC;AAC3D,SAASC,OAAO,QAAQ,gCAAgC;AACxD,SAASC,IAAI,QAAQ,0BAA0B;AAC/C,SAASC,KAAK,QAAQ,4BAA4B;AA0ElD;;CAEC,GACD,OAAO,IAAMC,SAAS;6BACpBC,MAAAA,gCAAO,iDACPC,YAAAA,4CAAa,iDACbC,MAAAA,gCAAO,mBACPC,gBAAAA,QACAC,mBAAAA,WACAC,gBAAAA,QACAC,mBAAAA,WACAC,cAAAA,MACAC,kBAAAA,UACAC,oBAAAA,YACAC,iBAAAA,SACAC,mBAAAA,wCACAC,cAAAA,gDAAe,gCACfC,mBAAAA,WACAC,oBAAAA,YACAC,mBAAAA,WACGC;QAhBHhB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAW1B;IAEjB,IAAM2B,mBAAmBhB,SAAS,MAAMJ,QAAQH;IAChD,IAAMwB,sBAAsBjB,SAAS,MAAML,OAAOD;IAElD,IAAMwB,iBAAiBpB,SAAS,UAAUb,oBAAoBC;IAE9D,IAAMiC,wBACJ,0CACGrB,SAAS,WAAWS,4BACnB,oBAACa;QAAIC,eAAAA;QAAYV,SAAS;OACvBJ,aAIJN,wBAAU,oBAACmB;QAAIT,SAAS;OAA6BV,uBAEtD,oBAACmB;QAAIT,SAAS;OACXvB,aAAae,yBACZ,oBAACa;QAAiBM,WAAU;QAAIC,QAAO;QAAIC,OAAOxB,SAAS,MAAM,MAAM;OACpEG,SAGJf,aAAagB,4BACZ,oBAACa;QAAoBK,WAAU;QAAIX,SAAS;OACzCP,YAGJhB,aAAaiB,uBACZ,oBAACV;QAAK2B,WAAU;QAAIX,SAAS;OAC1BN,OAGJjB,aAAaoB,YAAY1B,MAAM2C,QAAQ,CAACC,KAAK,CAAClB,WAAW,mBACxD,oBAACY;QAAIT,SAAS;OAA8BH;IAMpD,qBACE,oBAACmB,mDACKb;QACJH,WAAWxB,yBAET,CAAC0B,wCACDE,aAAazB,SAASsC,GAAG,uBACzB9B,SAAS,qCACT;YACE+B,CAAC;YACDC,CAAC;QACH,CAAC,CAAC9B,KAAK,EACPF,SAAS,WAAWC,eAAe,kCACnCY;QAEFoB,KAAKnB;QAEJV,cAAc,yBACb,oBAACV;QACCmB,SAAS;QACTqB,YAAYjB,aAAazB,SAASsC,GAAG,GAAG,YAAY;QACpDK,MAAK;OAEJd,uBAED,oBAACC;QAAIT,SAAS;qBACZ,oBAAC3B;QAAc2B,SAAS;yBAI5B,oBAACS;QAAIT,SAAS;OACXQ,SAEAjB,cAAc,2BACb,oBAACkB;QAAIT,SAAS;qBACZ,oBAACpB;QACC2C,cAAYxB;QACZC,SAAS;QACTwB,SAAS1B;QACT2B,WAAU;QACVC,WAAW;OAEVtB,aAAazB,SAASsC,GAAG,iBAAG,oBAACV,sCAAoB,oBAACnC;AAQnE,EAAE"}
|
|
@@ -107,11 +107,12 @@ export var BaseGallery = function(_param) {
|
|
|
107
107
|
var _rootRef_current, _viewportRef_current, _layoutState_current_slides_slideIndex, _localSlides_slideIndex;
|
|
108
108
|
var _React_Children_map;
|
|
109
109
|
var localSlides = (_React_Children_map = React.Children.map(children, function(_item, i) {
|
|
110
|
+
var _elem, _elem1;
|
|
110
111
|
var elem = slidesStore.current["slide-".concat(i)];
|
|
111
112
|
var _elem_offsetLeft, _elem_offsetWidth;
|
|
112
113
|
return {
|
|
113
|
-
coordX: (_elem_offsetLeft = elem === null ||
|
|
114
|
-
width: (_elem_offsetWidth = elem === null ||
|
|
114
|
+
coordX: (_elem_offsetLeft = (_elem = elem) === null || _elem === void 0 ? void 0 : _elem.offsetLeft) !== null && _elem_offsetLeft !== void 0 ? _elem_offsetLeft : 0,
|
|
115
|
+
width: (_elem_offsetWidth = (_elem1 = elem) === null || _elem1 === void 0 ? void 0 : _elem1.offsetWidth) !== null && _elem_offsetWidth !== void 0 ? _elem_offsetWidth : 0
|
|
115
116
|
};
|
|
116
117
|
})) !== null && _React_Children_map !== void 0 ? _React_Children_map : [];
|
|
117
118
|
var _rootRef_current_offsetWidth;
|
|
@@ -181,12 +182,14 @@ export var BaseGallery = function(_param) {
|
|
|
181
182
|
slideIndex
|
|
182
183
|
]);
|
|
183
184
|
var slideLeft = function(event) {
|
|
184
|
-
|
|
185
|
-
|
|
185
|
+
var _onChange, _onPrevClick;
|
|
186
|
+
(_onChange = onChange) === null || _onChange === void 0 ? void 0 : _onChange(slideIndex - 1);
|
|
187
|
+
(_onPrevClick = onPrevClick) === null || _onPrevClick === void 0 ? void 0 : _onPrevClick(event);
|
|
186
188
|
};
|
|
187
189
|
var slideRight = function(event) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
+
var _onChange, _onNextClick;
|
|
191
|
+
(_onChange = onChange) === null || _onChange === void 0 ? void 0 : _onChange(slideIndex + 1);
|
|
192
|
+
(_onNextClick = onNextClick) === null || _onNextClick === void 0 ? void 0 : _onNextClick(event);
|
|
190
193
|
};
|
|
191
194
|
/*
|
|
192
195
|
* Получает индекс слайда, к которому будет осуществлен переход
|
|
@@ -212,7 +215,8 @@ export var BaseGallery = function(_param) {
|
|
|
212
215
|
return targetIndex;
|
|
213
216
|
};
|
|
214
217
|
var onStart = function(e) {
|
|
215
|
-
|
|
218
|
+
var _onDragStart;
|
|
219
|
+
(_onDragStart = onDragStart) === null || _onDragStart === void 0 ? void 0 : _onDragStart(e);
|
|
216
220
|
setShiftState(function(prevState) {
|
|
217
221
|
return _object_spread_props(_object_spread({}, prevState), {
|
|
218
222
|
animation: false
|
|
@@ -235,8 +239,9 @@ export var BaseGallery = function(_param) {
|
|
|
235
239
|
}
|
|
236
240
|
};
|
|
237
241
|
var onEnd = function(e) {
|
|
242
|
+
var _onDragEnd;
|
|
238
243
|
var targetIndex = e.isSlide ? getTarget(e) : slideIndex !== null && slideIndex !== void 0 ? slideIndex : 0;
|
|
239
|
-
onDragEnd === null ||
|
|
244
|
+
(_onDragEnd = onDragEnd) === null || _onDragEnd === void 0 ? void 0 : _onDragEnd(e, targetIndex);
|
|
240
245
|
var nextShiftState = {
|
|
241
246
|
animation: true,
|
|
242
247
|
dragging: false,
|
|
@@ -251,7 +256,8 @@ export var BaseGallery = function(_param) {
|
|
|
251
256
|
return _object_spread({}, prevState, nextShiftState);
|
|
252
257
|
});
|
|
253
258
|
if (targetIndex !== slideIndex) {
|
|
254
|
-
|
|
259
|
+
var _onChange;
|
|
260
|
+
(_onChange = onChange) === null || _onChange === void 0 ? void 0 : _onChange(targetIndex);
|
|
255
261
|
}
|
|
256
262
|
};
|
|
257
263
|
var indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { calcMax, calcMin } from './helpers';\nimport { BaseGalleryProps, GallerySlidesState, LayoutState, ShiftingState } from './types';\nimport styles from './BaseGallery.module.css';\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = '100%',\n slideIndex = 0,\n isDraggable: isDraggableProp = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n align = 'left',\n showArrows,\n getRef,\n className,\n arrowSize = 'l',\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] = React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const hasPointer = useAdaptivityHasPointer();\n\n const isCenterWithCustomWidth = slideWidth === 'custom' && align === 'center';\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(children, (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0,\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !== localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation: options.animation ?? prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, 'resize', onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = (event: React.MouseEvent) => {\n onChange?.(slideIndex - 1);\n onPrevClick?.(event);\n };\n\n const slideRight = (event: React.MouseEvent) => {\n onChange?.(slideIndex + 1);\n onNextClick?.(event);\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX + shiftState.deltaX + expectDeltaX - (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex,\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = (e: TouchEvent) => {\n onDragStart?.(e);\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggableProp && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e, targetIndex);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n };\n\n const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === 'left' &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== 'left' && slideIndex < layoutState.current.slides.length - 1));\n\n const isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['BaseGallery'],\n align === 'center' && styles['BaseGallery--align-center'],\n slideWidth === 'custom' && styles['BaseGallery--custom-width'],\n isDraggable && styles['BaseGallery--draggable'],\n className,\n )}\n ref={rootRef}\n >\n <Touch\n className={styles['BaseGallery__viewport']}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div className={styles['BaseGallery__layer']} style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles['BaseGallery__slide']}\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden\n className={classNames(\n styles['BaseGallery__bullets'],\n {\n dark: styles['BaseGallery__bullets--dark'],\n light: styles['BaseGallery__bullets--light'],\n }[bullets],\n )}\n >\n {React.Children.map(children, (_item: React.ReactNode, index: number) => (\n <div\n className={classNames(\n styles['BaseGallery__bullet'],\n index === slideIndex && styles['BaseGallery__bullet--active'],\n )}\n key={index}\n />\n ))}\n </div>\n )}\n\n {showArrows && hasPointer && canSlideLeft && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"left\"\n onClick={slideLeft}\n size={arrowSize}\n />\n )}\n {showArrows && hasPointer && canSlideRight && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"right\"\n onClick={slideRight}\n size={arrowSize}\n />\n )}\n </div>\n );\n};\n"],"names":["React","classNames","useAdaptivityHasPointer","useExternRef","useGlobalEventListener","useDOM","useIsomorphicLayoutEffect","ScrollArrow","Touch","calcMax","calcMin","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggableProp","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","align","showArrows","getRef","className","arrowSize","restProps","slidesStore","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasPointer","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","prevState","onResize","slideLeft","event","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","onEnd","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","div","ref","onStartX","style","noSlideClick","key","el","aria-hidden","dark","light","onClick","size"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/BaseGallery/BaseGallery.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityHasPointer } from '../../hooks/useAdaptivityHasPointer';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { useGlobalEventListener } from '../../hooks/useGlobalEventListener';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { ScrollArrow } from '../ScrollArrow/ScrollArrow';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport { calcMax, calcMin } from './helpers';\nimport { BaseGalleryProps, GallerySlidesState, LayoutState, ShiftingState } from './types';\nimport styles from './BaseGallery.module.css';\n\nconst ANIMATION_DURATION = 0.24;\n\nconst LAYOUT_DEFAULT_STATE = {\n containerWidth: 0,\n viewportOffsetWidth: 0,\n layerWidth: 0,\n min: 0,\n max: 0,\n slides: [],\n isFullyVisible: true,\n};\n\nconst SHIFT_DEFAULT_STATE = {\n animation: undefined,\n shiftX: 0,\n dragging: false,\n deltaX: 0,\n indent: 0,\n};\n\nexport const BaseGallery = ({\n bullets = false,\n getRootRef,\n children,\n slideWidth = '100%',\n slideIndex = 0,\n isDraggable: isDraggableProp = true,\n onDragStart,\n onDragEnd,\n onChange,\n onPrevClick,\n onNextClick,\n align = 'left',\n showArrows,\n getRef,\n className,\n arrowSize = 'l',\n ...restProps\n}: BaseGalleryProps) => {\n const slidesStore = React.useRef<Record<string, HTMLDivElement | null>>({});\n const layoutState = React.useRef<LayoutState>(LAYOUT_DEFAULT_STATE);\n const [shiftState, setShiftState] = React.useState<ShiftingState>(SHIFT_DEFAULT_STATE);\n\n const rootRef = useExternRef(getRootRef);\n const viewportRef = useExternRef(getRef);\n\n const { window } = useDOM();\n const hasPointer = useAdaptivityHasPointer();\n\n const isCenterWithCustomWidth = slideWidth === 'custom' && align === 'center';\n\n const validateIndent = (value: number) => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n\n if (value < localMin) {\n return localMin;\n } else if (value > localMax) {\n return localMax;\n }\n\n return value;\n };\n\n /*\n * Считает отступ слоя галереи\n */\n const calculateIndent = (targetIndex: number) => {\n if (layoutState.current.isFullyVisible) {\n return 0;\n }\n\n const targetSlide = layoutState.current.slides?.length\n ? layoutState.current.slides[targetIndex]\n : null;\n\n if (targetSlide) {\n const { coordX, width } = targetSlide;\n\n if (isCenterWithCustomWidth) {\n const viewportWidth = layoutState.current.viewportOffsetWidth ?? 0;\n return viewportWidth / 2 - coordX - width / 2;\n }\n\n return validateIndent(-1 * coordX);\n }\n\n return 0;\n };\n\n /*\n * Считает отступ слоя галереи во время драга\n */\n const calculateDragIndent = () => {\n const localMax = layoutState.current.max ?? 0;\n const localMin = layoutState.current.min ?? 0;\n const indent = shiftState.shiftX + shiftState.deltaX;\n\n if (indent > localMax) {\n return localMax + Number((indent - localMax) / 3);\n } else if (indent < localMin) {\n return localMin + Number((indent - localMin) / 3);\n }\n\n return indent;\n };\n\n const initializeSlides = (options: { animation?: boolean } = {}) => {\n const localSlides =\n React.Children.map(children, (_item: React.ReactNode, i: number): GallerySlidesState => {\n const elem = slidesStore.current[`slide-${i}`];\n return {\n coordX: elem?.offsetLeft ?? 0,\n width: elem?.offsetWidth ?? 0,\n };\n }) ?? [];\n\n const localContainerWidth = rootRef.current?.offsetWidth ?? 0;\n const localViewportOffsetWidth = viewportRef.current?.offsetWidth ?? 0;\n const localLayerWidth = localSlides.reduce(\n (val: number, slide: GallerySlidesState) => slide.width + val,\n 0,\n );\n const adjustShiftX =\n localSlides.length <= layoutState.current.slides.length ||\n layoutState.current.slides[slideIndex]?.coordX !== localSlides[slideIndex]?.coordX;\n\n layoutState.current = {\n containerWidth: localContainerWidth,\n viewportOffsetWidth: localViewportOffsetWidth,\n layerWidth: localLayerWidth,\n max: calcMax({\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n }),\n min: calcMin({\n containerWidth: localContainerWidth,\n layerWidth: localLayerWidth,\n slides: localSlides,\n viewportOffsetWidth: localViewportOffsetWidth,\n isCenterWithCustomWidth,\n align,\n }),\n slides: localSlides,\n isFullyVisible: localLayerWidth <= localContainerWidth,\n };\n\n setShiftState((prevState) => ({\n ...prevState,\n shiftX: adjustShiftX ? calculateIndent(slideIndex) : prevState.shiftX,\n animation: options.animation ?? prevState.shiftX === validateIndent(prevState.shiftX),\n }));\n };\n\n const onResize = () => {\n if (shiftState.animation !== undefined) {\n initializeSlides({ animation: false });\n }\n };\n\n useGlobalEventListener(window, 'resize', onResize);\n\n useIsomorphicLayoutEffect(() => {\n initializeSlides({ animation: false });\n }, [children, align, slideWidth]);\n\n useIsomorphicLayoutEffect(() => {\n if (shiftState.animation !== undefined) {\n setShiftState((prevState) => ({\n ...prevState,\n animation: true,\n deltaX: 0,\n shiftX: calculateIndent(slideIndex ?? 0),\n }));\n }\n }, [slideIndex]);\n\n const slideLeft = (event: React.MouseEvent) => {\n onChange?.(slideIndex - 1);\n onPrevClick?.(event);\n };\n\n const slideRight = (event: React.MouseEvent) => {\n onChange?.(slideIndex + 1);\n onNextClick?.(event);\n };\n\n /*\n * Получает индекс слайда, к которому будет осуществлен переход\n */\n const getTarget = (e: TouchEvent) => {\n const expectDeltaX = (shiftState.deltaX / e.duration) * 240 * 0.6;\n const shift =\n shiftState.shiftX + shiftState.deltaX + expectDeltaX - (layoutState.current.max ?? 0);\n const direction = shiftState.deltaX < 0 ? 1 : -1;\n\n // Находим ближайшую границу слайда к текущему отступу\n let targetIndex = layoutState.current.slides.reduce(\n (val: number, item: GallerySlidesState, index: number) => {\n const previousValue = Math.abs(layoutState.current.slides[val].coordX + shift);\n const currentValue = Math.abs(item.coordX + shift);\n\n return previousValue < currentValue ? val : index;\n },\n slideIndex,\n );\n\n if (targetIndex === slideIndex) {\n let targetSlide = slideIndex + direction;\n\n if (targetSlide >= 0 && targetSlide < layoutState.current.slides.length) {\n if (Math.abs(shiftState.deltaX) > layoutState.current.slides[targetSlide].width * 0.05) {\n targetIndex = targetSlide;\n }\n }\n }\n\n return targetIndex;\n };\n\n const onStart = (e: TouchEvent) => {\n onDragStart?.(e);\n setShiftState((prevState) => ({ ...prevState, animation: false }));\n };\n\n const onMoveX = (e: TouchEvent) => {\n if (isDraggableProp && !layoutState.current.isFullyVisible) {\n e.originalEvent.preventDefault();\n\n if (e.isSlideX) {\n if (shiftState.deltaX !== e.shiftX) {\n setShiftState((prevState) => ({\n ...prevState,\n deltaX: e.shiftX,\n dragging: e.isSlideX,\n }));\n }\n }\n }\n };\n\n const onEnd = (e: TouchEvent) => {\n const targetIndex = e.isSlide ? getTarget(e) : slideIndex ?? 0;\n onDragEnd?.(e, targetIndex);\n\n const nextShiftState: Partial<ShiftingState> = {\n animation: true,\n dragging: false,\n deltaX: 0,\n };\n\n const shiftXStick = calculateDragIndent();\n if (targetIndex !== slideIndex) {\n // Сохраняем сдвиг слайда в том положении, в каком его оставили после драга (fix issue #2185)\n nextShiftState.shiftX = shiftXStick;\n }\n\n setShiftState((prevState) => ({ ...prevState, ...nextShiftState }));\n if (targetIndex !== slideIndex) {\n onChange?.(targetIndex);\n }\n };\n\n const indent = shiftState.dragging ? calculateDragIndent() : shiftState.shiftX;\n\n const layerStyle = {\n WebkitTransform: `translateX(${indent}px)`,\n transform: `translateX(${indent}px)`,\n WebkitTransition: shiftState.animation\n ? `-webkit-transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n transition: shiftState.animation\n ? `transform ${ANIMATION_DURATION}s cubic-bezier(.1, 0, .25, 1)`\n : 'none',\n };\n\n const setSlideRef = (slideRef: HTMLDivElement | null, slideIndex: number) => {\n slidesStore.current[`slide-${slideIndex}`] = slideRef;\n };\n\n // shiftX is negative number <= 0, we can swipe back only if it is < 0\n const canSlideLeft = !layoutState.current.isFullyVisible && shiftState.shiftX < 0;\n\n const canSlideRight =\n !layoutState.current.isFullyVisible &&\n // we can't move right when gallery layer fully scrolled right, if gallery aligned by left side\n ((align === 'left' &&\n layoutState.current.containerWidth - shiftState.shiftX <\n (layoutState.current.layerWidth ?? 0)) ||\n // otherwise we need to check current slide index (align = right or align = center)\n (align !== 'left' && slideIndex < layoutState.current.slides.length - 1));\n\n const isDraggable = isDraggableProp && !layoutState.current.isFullyVisible;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['BaseGallery'],\n align === 'center' && styles['BaseGallery--align-center'],\n slideWidth === 'custom' && styles['BaseGallery--custom-width'],\n isDraggable && styles['BaseGallery--draggable'],\n className,\n )}\n ref={rootRef}\n >\n <Touch\n className={styles['BaseGallery__viewport']}\n onStartX={onStart}\n onMoveX={onMoveX}\n onEnd={onEnd}\n style={{ width: slideWidth === 'custom' ? '100%' : slideWidth }}\n getRootRef={viewportRef}\n noSlideClick\n >\n <div className={styles['BaseGallery__layer']} style={layerStyle}>\n {React.Children.map(children, (item: React.ReactNode, i: number) => (\n <div\n className={styles['BaseGallery__slide']}\n key={`slide-${i}`}\n ref={(el) => setSlideRef(el, i)}\n >\n {item}\n </div>\n ))}\n </div>\n </Touch>\n\n {bullets && (\n <div\n aria-hidden\n className={classNames(\n styles['BaseGallery__bullets'],\n {\n dark: styles['BaseGallery__bullets--dark'],\n light: styles['BaseGallery__bullets--light'],\n }[bullets],\n )}\n >\n {React.Children.map(children, (_item: React.ReactNode, index: number) => (\n <div\n className={classNames(\n styles['BaseGallery__bullet'],\n index === slideIndex && styles['BaseGallery__bullet--active'],\n )}\n key={index}\n />\n ))}\n </div>\n )}\n\n {showArrows && hasPointer && canSlideLeft && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"left\"\n onClick={slideLeft}\n size={arrowSize}\n />\n )}\n {showArrows && hasPointer && canSlideRight && (\n <ScrollArrow\n className={styles['BaseGallery__arrow']}\n direction=\"right\"\n onClick={slideRight}\n size={arrowSize}\n />\n )}\n </div>\n );\n};\n"],"names":["React","classNames","useAdaptivityHasPointer","useExternRef","useGlobalEventListener","useDOM","useIsomorphicLayoutEffect","ScrollArrow","Touch","calcMax","calcMin","ANIMATION_DURATION","LAYOUT_DEFAULT_STATE","containerWidth","viewportOffsetWidth","layerWidth","min","max","slides","isFullyVisible","SHIFT_DEFAULT_STATE","animation","undefined","shiftX","dragging","deltaX","indent","BaseGallery","bullets","getRootRef","children","slideWidth","slideIndex","isDraggableProp","isDraggable","onDragStart","onDragEnd","onChange","onPrevClick","onNextClick","align","showArrows","getRef","className","arrowSize","restProps","slidesStore","useRef","layoutState","useState","shiftState","setShiftState","rootRef","viewportRef","window","hasPointer","isCenterWithCustomWidth","validateIndent","value","localMax","current","localMin","calculateIndent","targetIndex","targetSlide","length","coordX","width","viewportWidth","calculateDragIndent","Number","initializeSlides","options","localSlides","Children","map","_item","i","elem","offsetLeft","offsetWidth","localContainerWidth","localViewportOffsetWidth","localLayerWidth","reduce","val","slide","adjustShiftX","prevState","onResize","slideLeft","event","slideRight","getTarget","e","expectDeltaX","duration","shift","direction","item","index","previousValue","Math","abs","currentValue","onStart","onMoveX","originalEvent","preventDefault","isSlideX","onEnd","isSlide","nextShiftState","shiftXStick","layerStyle","WebkitTransform","transform","WebkitTransition","transition","setSlideRef","slideRef","canSlideLeft","canSlideRight","div","ref","onStartX","style","noSlideClick","key","el","aria-hidden","dark","light","onClick","size"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/BaseGallery/helpers.ts"],"sourcesContent":["import { HasAlign } from '../../types';\nimport { LayoutState } from './types';\n\ninterface CalcMin extends Partial<LayoutState> {\n isCenterWithCustomWidth: boolean;\n align: HasAlign['align'];\n}\n\nexport const calcMin = ({\n containerWidth = 0,\n layerWidth = 0,\n slides = [],\n viewportOffsetWidth = 0,\n align,\n isCenterWithCustomWidth,\n}: CalcMin) => {\n switch (align) {\n case 'left':\n return containerWidth - layerWidth;\n case 'right':\n return viewportOffsetWidth - layerWidth;\n case 'center':\n if (isCenterWithCustomWidth && slides.length) {\n const { coordX, width } = slides[slides.length - 1];\n return viewportOffsetWidth / 2 - coordX - width / 2;\n } else {\n return viewportOffsetWidth - (containerWidth - viewportOffsetWidth) / 2 - layerWidth;\n }\n }\n return undefined;\n};\n\ninterface CalcMax extends Partial<LayoutState> {\n isCenterWithCustomWidth: boolean;\n}\n\nexport const calcMax = ({\n slides = [],\n viewportOffsetWidth = 0,\n isCenterWithCustomWidth,\n}: CalcMax) => {\n if (isCenterWithCustomWidth && slides.length) {\n const { width, coordX } = slides[0];\n return viewportOffsetWidth / 2 - coordX - width / 2;\n }\n return 0;\n};\n"],"names":["calcMin","containerWidth","layerWidth","slides","viewportOffsetWidth","align","isCenterWithCustomWidth","length","coordX","width","undefined","calcMax"],"mappings":"AAQA,OAAO,IAAMA,UAAU;sCACrBC,gBAAAA,oDAAiB,qDACjBC,YAAAA,4CAAa,6CACbC,QAAAA,oCAAS,EAAE,qDACXC,qBAAAA,8DAAsB,gCACtBC,cAAAA,OACAC,gCAAAA;IAEA,OAAQD;QACN,KAAK;YACH,OAAOJ,iBAAiBC;QAC1B,KAAK;YACH,OAAOE,sBAAsBF;QAC/B,KAAK;YACH,IAAII,2BAA2BH,OAAOI,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/BaseGallery/helpers.ts"],"sourcesContent":["import { HasAlign } from '../../types';\nimport { LayoutState } from './types';\n\ninterface CalcMin extends Partial<LayoutState> {\n isCenterWithCustomWidth: boolean;\n align: HasAlign['align'];\n}\n\nexport const calcMin = ({\n containerWidth = 0,\n layerWidth = 0,\n slides = [],\n viewportOffsetWidth = 0,\n align,\n isCenterWithCustomWidth,\n}: CalcMin) => {\n switch (align) {\n case 'left':\n return containerWidth - layerWidth;\n case 'right':\n return viewportOffsetWidth - layerWidth;\n case 'center':\n if (isCenterWithCustomWidth && slides.length) {\n const { coordX, width } = slides[slides.length - 1];\n return viewportOffsetWidth / 2 - coordX - width / 2;\n } else {\n return viewportOffsetWidth - (containerWidth - viewportOffsetWidth) / 2 - layerWidth;\n }\n }\n return undefined;\n};\n\ninterface CalcMax extends Partial<LayoutState> {\n isCenterWithCustomWidth: boolean;\n}\n\nexport const calcMax = ({\n slides = [],\n viewportOffsetWidth = 0,\n isCenterWithCustomWidth,\n}: CalcMax) => {\n if (isCenterWithCustomWidth && slides.length) {\n const { width, coordX } = slides[0];\n return viewportOffsetWidth / 2 - coordX - width / 2;\n }\n return 0;\n};\n"],"names":["calcMin","containerWidth","layerWidth","slides","viewportOffsetWidth","align","isCenterWithCustomWidth","length","coordX","width","undefined","calcMax"],"mappings":"AAQA,OAAO,IAAMA,UAAU;sCACrBC,gBAAAA,oDAAiB,qDACjBC,YAAAA,4CAAa,6CACbC,QAAAA,oCAAS,EAAE,qDACXC,qBAAAA,8DAAsB,gCACtBC,cAAAA,OACAC,gCAAAA;IAEA,OAAQD;QACN,KAAK;YACH,OAAOJ,iBAAiBC;QAC1B,KAAK;YACH,OAAOE,sBAAsBF;QAC/B,KAAK;YACH,IAAII,2BAA2BH,OAAOI,MAAM,EAAE;gBAC5C,IAA0BJ,WAAAA,MAAM,CAACA,OAAOI,MAAM,GAAG,EAAE,EAA3CC,SAAkBL,SAAlBK,QAAQC,QAAUN,SAAVM;gBAChB,OAAOL,sBAAsB,IAAII,SAASC,QAAQ;YACpD,OAAO;gBACL,OAAOL,sBAAsB,AAACH,CAAAA,iBAAiBG,mBAAkB,IAAK,IAAIF;YAC5E;IACJ;IACA,OAAOQ;AACT,EAAE;AAMF,OAAO,IAAMC,UAAU;8BACrBR,QAAAA,oCAAS,EAAE,qDACXC,qBAAAA,8DAAsB,gCACtBE,gCAAAA;IAEA,IAAIA,2BAA2BH,OAAOI,MAAM,EAAE;QAC5C,IAA0BJ,WAAAA,MAAM,CAAC,EAAE,EAA3BM,QAAkBN,SAAlBM,OAAOD,SAAWL,SAAXK;QACf,OAAOJ,sBAAsB,IAAII,SAASC,QAAQ;IACpD;IACA,OAAO;AACT,EAAE"}
|
|
@@ -10,10 +10,11 @@ export interface VKUIButtonProps extends HasAlign {
|
|
|
10
10
|
before?: React.ReactNode;
|
|
11
11
|
after?: React.ReactNode;
|
|
12
12
|
loading?: boolean;
|
|
13
|
+
disableSpinnerAnimation?: boolean;
|
|
13
14
|
}
|
|
14
15
|
export interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
18
|
* @see https://vkcom.github.io/VKUI/#/Button
|
|
18
19
|
*/
|
|
19
|
-
export declare const Button: ({ size, mode, appearance, stretched, align, children, before, after, getRootRef, loading, onClick, stopPropagation, className, ...restProps }: ButtonProps) => React.JSX.Element;
|
|
20
|
+
export declare const Button: ({ size, mode, appearance, stretched, align, children, before, after, getRootRef, loading, onClick, stopPropagation, className, disableSpinnerAnimation, ...restProps }: ButtonProps) => React.JSX.Element;
|
|
@@ -16,7 +16,7 @@ var sizeYClassNames = _define_property({
|
|
|
16
16
|
/**
|
|
17
17
|
* @see https://vkcom.github.io/VKUI/#/Button
|
|
18
18
|
*/ export var Button = function(_param) {
|
|
19
|
-
var _param_size = _param.size, size = _param_size === void 0 ? "s" : _param_size, _param_mode = _param.mode, mode = _param_mode === void 0 ? "primary" : _param_mode, _param_appearance = _param.appearance, appearance = _param_appearance === void 0 ? "accent" : _param_appearance, _param_stretched = _param.stretched, stretched = _param_stretched === void 0 ? false : _param_stretched, _param_align = _param.align, align = _param_align === void 0 ? "center" : _param_align, children = _param.children, before = _param.before, after = _param.after, getRootRef = _param.getRootRef, loading = _param.loading, onClick = _param.onClick, _param_stopPropagation = _param.stopPropagation, stopPropagation = _param_stopPropagation === void 0 ? true : _param_stopPropagation, className = _param.className, restProps = _object_without_properties(_param, [
|
|
19
|
+
var _param_size = _param.size, size = _param_size === void 0 ? "s" : _param_size, _param_mode = _param.mode, mode = _param_mode === void 0 ? "primary" : _param_mode, _param_appearance = _param.appearance, appearance = _param_appearance === void 0 ? "accent" : _param_appearance, _param_stretched = _param.stretched, stretched = _param_stretched === void 0 ? false : _param_stretched, _param_align = _param.align, align = _param_align === void 0 ? "center" : _param_align, children = _param.children, before = _param.before, after = _param.after, getRootRef = _param.getRootRef, loading = _param.loading, onClick = _param.onClick, _param_stopPropagation = _param.stopPropagation, stopPropagation = _param_stopPropagation === void 0 ? true : _param_stopPropagation, className = _param.className, disableSpinnerAnimation = _param.disableSpinnerAnimation, restProps = _object_without_properties(_param, [
|
|
20
20
|
"size",
|
|
21
21
|
"mode",
|
|
22
22
|
"appearance",
|
|
@@ -29,7 +29,8 @@ var sizeYClassNames = _define_property({
|
|
|
29
29
|
"loading",
|
|
30
30
|
"onClick",
|
|
31
31
|
"stopPropagation",
|
|
32
|
-
"className"
|
|
32
|
+
"className",
|
|
33
|
+
"disableSpinnerAnimation"
|
|
33
34
|
]);
|
|
34
35
|
var hasIcons = Boolean(before || after);
|
|
35
36
|
var hasIconOnly = !children && Boolean(after) !== Boolean(before);
|
|
@@ -68,7 +69,8 @@ var sizeYClassNames = _define_property({
|
|
|
68
69
|
getRootRef: getRootRef
|
|
69
70
|
}), loading && /*#__PURE__*/ React.createElement(Spinner, {
|
|
70
71
|
size: "small",
|
|
71
|
-
className: "vkuiButton__spinner"
|
|
72
|
+
className: "vkuiButton__spinner",
|
|
73
|
+
disableAnimation: disableSpinnerAnimation
|
|
72
74
|
}), /*#__PURE__*/ React.createElement("span", {
|
|
73
75
|
className: "vkuiButton__in"
|
|
74
76
|
}, hasReactNode(before) && /*#__PURE__*/ React.createElement("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { HasAlign } from '../../types';\nimport { Spinner } from '../Spinner/Spinner';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport '../Spinner/Spinner.module.css';\nimport styles from './Button.module.css';\n\nconst sizeYClassNames = {\n none: styles['Button--sizeY-none'],\n [SizeType.REGULAR]: styles['Button--sizeY-regular'],\n};\n\nexport interface VKUIButtonProps extends HasAlign {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';\n appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';\n size?: 's' | 'm' | 'l';\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = ({\n size = 's',\n mode = 'primary',\n appearance = 'accent',\n stretched = false,\n align = 'center',\n children,\n before,\n after,\n getRootRef,\n loading,\n onClick,\n stopPropagation = true,\n className,\n ...restProps\n}: ButtonProps) => {\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n return (\n <Tappable\n hoverMode={styles['Button--hover']}\n activeMode={styles['Button--active']}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n {...restProps}\n onClick={loading ? undefined : onClick}\n stopPropagation={stopPropagation}\n className={classNames(\n className,\n styles.Button,\n {\n s: styles['Button--size-s'],\n m: styles['Button--size-m'],\n l: styles['Button--size-l'],\n }[size],\n {\n primary: styles['Button--mode-primary'],\n secondary: styles['Button--mode-secondary'],\n tertiary: styles['Button--mode-tertiary'],\n outline: styles['Button--mode-outline'],\n link: styles['Button--mode-link'],\n }[mode],\n {\n 'accent': styles['Button--appearance-accent'],\n 'positive': styles['Button--appearance-positive'],\n 'negative': styles['Button--appearance-negative'],\n 'neutral': styles['Button--appearance-neutral'],\n 'overlay': styles['Button--appearance-overlay'],\n 'accent-invariable': styles['Button--appearance-accent-invariable'],\n }[appearance],\n {\n left: styles['Button--align-left'],\n center: styles['Button--align-center'],\n right: styles['Button--align-right'],\n }[align],\n sizeY !== SizeType.COMPACT && sizeYClassNames[sizeY],\n platform === Platform.IOS && styles['Button--ios'],\n stretched && styles['Button--stretched'],\n hasIcons && styles['Button--with-icon'],\n hasIconOnly && !stretched && styles['Button--singleIcon'],\n loading && styles['Button--loading'],\n )}\n getRootRef={getRootRef}\n >\n {loading && <Spinner
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { HasAlign } from '../../types';\nimport { Spinner } from '../Spinner/Spinner';\nimport { Tappable, TappableProps } from '../Tappable/Tappable';\nimport '../Spinner/Spinner.module.css';\nimport styles from './Button.module.css';\n\nconst sizeYClassNames = {\n none: styles['Button--sizeY-none'],\n [SizeType.REGULAR]: styles['Button--sizeY-regular'],\n};\n\nexport interface VKUIButtonProps extends HasAlign {\n mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link';\n appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable';\n size?: 's' | 'm' | 'l';\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n disableSpinnerAnimation?: boolean;\n}\n\nexport interface ButtonProps extends Omit<TappableProps, 'size'>, VKUIButtonProps {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Button\n */\nexport const Button = ({\n size = 's',\n mode = 'primary',\n appearance = 'accent',\n stretched = false,\n align = 'center',\n children,\n before,\n after,\n getRootRef,\n loading,\n onClick,\n stopPropagation = true,\n className,\n disableSpinnerAnimation,\n ...restProps\n}: ButtonProps) => {\n const hasIcons = Boolean(before || after);\n const hasIconOnly = !children && Boolean(after) !== Boolean(before);\n const { sizeY = 'none' } = useAdaptivity();\n const platform = usePlatform();\n\n return (\n <Tappable\n hoverMode={styles['Button--hover']}\n activeMode={styles['Button--active']}\n Component={restProps.href ? 'a' : 'button'}\n focusVisibleMode=\"outside\"\n {...restProps}\n onClick={loading ? undefined : onClick}\n stopPropagation={stopPropagation}\n className={classNames(\n className,\n styles.Button,\n {\n s: styles['Button--size-s'],\n m: styles['Button--size-m'],\n l: styles['Button--size-l'],\n }[size],\n {\n primary: styles['Button--mode-primary'],\n secondary: styles['Button--mode-secondary'],\n tertiary: styles['Button--mode-tertiary'],\n outline: styles['Button--mode-outline'],\n link: styles['Button--mode-link'],\n }[mode],\n {\n 'accent': styles['Button--appearance-accent'],\n 'positive': styles['Button--appearance-positive'],\n 'negative': styles['Button--appearance-negative'],\n 'neutral': styles['Button--appearance-neutral'],\n 'overlay': styles['Button--appearance-overlay'],\n 'accent-invariable': styles['Button--appearance-accent-invariable'],\n }[appearance],\n {\n left: styles['Button--align-left'],\n center: styles['Button--align-center'],\n right: styles['Button--align-right'],\n }[align],\n sizeY !== SizeType.COMPACT && sizeYClassNames[sizeY],\n platform === Platform.IOS && styles['Button--ios'],\n stretched && styles['Button--stretched'],\n hasIcons && styles['Button--with-icon'],\n hasIconOnly && !stretched && styles['Button--singleIcon'],\n loading && styles['Button--loading'],\n )}\n getRootRef={getRootRef}\n >\n {loading && (\n <Spinner\n size=\"small\"\n className={styles.Button__spinner}\n disableAnimation={disableSpinnerAnimation}\n />\n )}\n <span className={styles.Button__in}>\n {hasReactNode(before) && (\n <span\n className={styles.Button__before}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'before' : undefined}\n >\n {before}\n </span>\n )}\n {hasReactNode(children) && (\n <span\n className={styles.Button__content}\n data-testid={process.env.NODE_ENV === 'test' ? 'children' : undefined}\n >\n {children}\n </span>\n )}\n {hasReactNode(after) && (\n <span\n className={styles.Button__after}\n role=\"presentation\"\n data-testid={process.env.NODE_ENV === 'test' ? 'after' : undefined}\n >\n {after}\n </span>\n )}\n </span>\n </Tappable>\n );\n};\n"],"names":["React","classNames","hasReactNode","useAdaptivity","usePlatform","SizeType","Platform","Spinner","Tappable","sizeYClassNames","none","REGULAR","Button","size","mode","appearance","stretched","align","children","before","after","getRootRef","loading","onClick","stopPropagation","className","disableSpinnerAnimation","restProps","hasIcons","Boolean","hasIconOnly","sizeY","platform","hoverMode","activeMode","Component","href","focusVisibleMode","undefined","s","m","l","primary","secondary","tertiary","outline","link","left","center","right","COMPACT","IOS","disableAnimation","span","role","data-testid","process","env","NODE_ENV"],"mappings":";;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,OAAO,QAAQ,qBAAqB;AAC7C,SAASC,QAAQ,QAAuB,uBAAuB;AAI/D,IAAMC;IACJC,IAAI;GACHL,SAASM,OAAO;AAgBnB;;CAEC,GACD,OAAO,IAAMC,SAAS;6BACpBC,MAAAA,gCAAO,wCACPC,MAAAA,gCAAO,oDACPC,YAAAA,4CAAa,wDACbC,WAAAA,0CAAY,gDACZC,OAAAA,kCAAQ,yBACRC,kBAAAA,UACAC,gBAAAA,QACAC,eAAAA,OACAC,oBAAAA,YACAC,iBAAAA,SACAC,iBAAAA,yCACAC,iBAAAA,sDAAkB,+BAClBC,mBAAAA,WACAC,iCAAAA,yBACGC;QAdHd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,QAAQV,UAAUC;IACnC,IAAMU,cAAc,CAACZ,YAAYW,QAAQT,WAAWS,QAAQV;IAC5D,IAA2BhB,iBAAAA,wCAAAA,eAAnB4B,OAAAA,0CAAQ;IAChB,IAAMC,WAAW5B;IAEjB,qBACE,oBAACI;QACCyB,SAAS;QACTC,UAAU;QACVC,WAAWR,UAAUS,IAAI,GAAG,MAAM;QAClCC,kBAAiB;OACbV;QACJJ,SAASD,UAAUgB,YAAYf;QAC/BC,iBAAiBA;QACjBC,WAAWxB,WACTwB,yBAEA;YACEc,CAAC;YACDC,CAAC;YACDC,CAAC;QACH,CAAC,CAAC5B,KAAK,EACP;YACE6B,OAAO;YACPC,SAAS;YACTC,QAAQ;YACRC,OAAO;YACPC,IAAI;QACN,CAAC,CAAChC,KAAK,EACP;YACE,QAAQ;YACR,UAAU;YACV,UAAU;YACV,SAAS;YACT,SAAS;YACT,mBAAmB;QACrB,CAAC,CAACC,WAAW,EACb;YACEgC,IAAI;YACJC,MAAM;YACNC,KAAK;QACP,CAAC,CAAChC,MAAM,EACRc,UAAU1B,SAAS6C,OAAO,IAAIzC,eAAe,CAACsB,MAAM,EACpDC,aAAa1B,SAAS6C,GAAG,uBACzBnC,sCACAY,qCACAE,eAAe,CAACd,uCAChBM;QAEFD,YAAYA;QAEXC,yBACC,oBAACf;QACCM,MAAK;QACLY,SAAS;QACT2B,kBAAkB1B;sBAGtB,oBAAC2B;QAAK5B,SAAS;OACZvB,aAAaiB,yBACZ,oBAACkC;QACC5B,SAAS;QACT6B,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,WAAWpB;OAEzDnB,SAGJjB,aAAagB,2BACZ,oBAACmC;QACC5B,SAAS;QACT8B,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,aAAapB;OAE3DpB,WAGJhB,aAAakB,wBACZ,oBAACiC;QACC5B,SAAS;QACT6B,MAAK;QACLC,eAAaC,QAAQC,GAAG,CAACC,QAAQ,KAAK,SAAS,UAAUpB;OAExDlB;AAMb,EAAE"}
|
|
@@ -92,7 +92,8 @@ var warn = warnOnce("Calendar");
|
|
|
92
92
|
viewDate
|
|
93
93
|
]);
|
|
94
94
|
var onDayChange = React.useCallback(function(date) {
|
|
95
|
-
|
|
95
|
+
var _onChange;
|
|
96
|
+
(_onChange = onChange) === null || _onChange === void 0 ? void 0 : _onChange(setTimeEqual(date, value));
|
|
96
97
|
}, [
|
|
97
98
|
value,
|
|
98
99
|
onChange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useCalendar } from '../../hooks/useCalendar';\nimport { isFirstDay, isLastDay, navigateDate, setTimeEqual } from '../../lib/calendar';\nimport { isSameDay, isSameMonth } from '../../lib/date';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasRootRef } from '../../types';\nimport { CalendarDays, CalendarDaysProps } from '../CalendarDays/CalendarDays';\nimport { CalendarHeader, CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';\nimport { CalendarTime, CalendarTimeProps } from '../CalendarTime/CalendarTime';\nimport styles from './Calendar.module.css';\n\nexport interface CalendarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>,\n Pick<CalendarTimeProps, 'changeHoursAriaLabel' | 'changeMinutesAriaLabel'>,\n Pick<\n CalendarHeaderProps,\n | 'prevMonthAriaLabel'\n | 'nextMonthAriaLabel'\n | 'changeMonthAriaLabel'\n | 'changeYearAriaLabel'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'prevMonthProps'\n | 'nextMonthProps'\n >,\n Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate'>,\n HasRootRef<HTMLDivElement> {\n value?: Date;\n disablePast?: boolean;\n disableFuture?: boolean;\n enableTime?: boolean;\n disablePickers?: boolean;\n doneButtonText?: string;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n onChange?(value?: Date): void;\n shouldDisableDate?(value: Date): boolean;\n onClose?(): void;\n /**\n * Дата отображаемого месяца.\n * При использовании обновление даты должно происходить вне компонента.\n */\n viewDate?: Date;\n /**\n * Изменение даты в шапке календаря.\n */\n onHeaderChange?(value: Date): void;\n}\n\nconst warn = warnOnce('Calendar');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Calendar\n */\nexport const Calendar = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n enableTime = false,\n doneButtonText,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n changeHoursAriaLabel,\n changeMinutesAriaLabel,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n showNeighboringMonth,\n changeDayAriaLabel = 'Изменить день',\n size = 'm',\n viewDate: externalViewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n prevMonthProps,\n nextMonthProps,\n dayProps,\n className,\n listenDayChangesForUpdate,\n ...props\n}: CalendarProps) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({\n value,\n disableFuture,\n disablePast,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (value) {\n setViewDate(value);\n }\n }, [value]);\n\n if (process.env.NODE_ENV === 'development' && !disablePickers && size === 's') {\n warn(\"Нельзя включить селекты выбора месяца/года, если размер календаря 's'\", 'error');\n }\n\n if (process.env.NODE_ENV === 'development' && enableTime && size === 's') {\n warn(\"Нельзя включить выбор времени, если размер календаря 's'\", 'error');\n }\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value, event.key);\n\n if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate)) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate],\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n onChange?.(setTimeEqual(date, value as Date | undefined | null));\n },\n [value, onChange],\n );\n\n const isDayActive = React.useCallback(\n (day: Date) => Boolean(value && isSameDay(day, value)),\n [value],\n );\n\n return (\n <div\n {...props}\n ref={getRootRef}\n className={classNames(\n styles['Calendar'],\n size === 's' && styles['Calendar--size-s'],\n className,\n )}\n >\n <CalendarHeader\n viewDate={externalViewDate || viewDate}\n onChange={setViewDate}\n onNextMonth={setNextMonth}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers || size === 's'}\n className={styles['Calendar__header']}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n prevMonthProps={prevMonthProps}\n nextMonthProps={nextMonthProps}\n />\n <CalendarDays\n viewDate={externalViewDate || viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n isDayFocused={isDayFocused}\n tabIndex={0}\n aria-label={changeDayAriaLabel}\n onKeyDown={handleKeyDown}\n onDayChange={onDayChange}\n isDayActive={isDayActive}\n isDaySelectionStart={isFirstDay}\n isDaySelectionEnd={isLastDay}\n isDayDisabled={isDayDisabled}\n onBlur={resetSelectedDay}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n dayProps={dayProps}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n />\n {enableTime && value && size !== 's' && (\n <div className={styles['Calendar__time']}>\n <CalendarTime\n value={value}\n onChange={onChange}\n onClose={onClose}\n doneButtonText={doneButtonText}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["React","classNames","useCalendar","isFirstDay","isLastDay","navigateDate","setTimeEqual","isSameDay","isSameMonth","useIsomorphicLayoutEffect","warnOnce","CalendarDays","CalendarHeader","CalendarTime","warn","Calendar","value","onChange","disablePast","disableFuture","shouldDisableDate","onClose","enableTime","doneButtonText","weekStartsOn","getRootRef","disablePickers","changeHoursAriaLabel","changeMinutesAriaLabel","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","showNeighboringMonth","changeDayAriaLabel","size","viewDate","externalViewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","prevMonthProps","nextMonthProps","dayProps","className","listenDayChangesForUpdate","props","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","process","env","NODE_ENV","handleKeyDown","useCallback","event","includes","key","preventDefault","newFocusedDay","onDayChange","date","isDayActive","day","Boolean","div","ref","tabIndex","aria-label","onKeyDown","isDaySelectionStart","isDaySelectionEnd","onBlur"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useCalendar } from '../../hooks/useCalendar';\nimport { isFirstDay, isLastDay, navigateDate, setTimeEqual } from '../../lib/calendar';\nimport { isSameDay, isSameMonth } from '../../lib/date';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasRootRef } from '../../types';\nimport { CalendarDays, CalendarDaysProps } from '../CalendarDays/CalendarDays';\nimport { CalendarHeader, CalendarHeaderProps } from '../CalendarHeader/CalendarHeader';\nimport { CalendarTime, CalendarTimeProps } from '../CalendarTime/CalendarTime';\nimport styles from './Calendar.module.css';\n\nexport interface CalendarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>,\n Pick<CalendarTimeProps, 'changeHoursAriaLabel' | 'changeMinutesAriaLabel'>,\n Pick<\n CalendarHeaderProps,\n | 'prevMonthAriaLabel'\n | 'nextMonthAriaLabel'\n | 'changeMonthAriaLabel'\n | 'changeYearAriaLabel'\n | 'onNextMonth'\n | 'onPrevMonth'\n | 'prevMonthIcon'\n | 'nextMonthIcon'\n | 'prevMonthProps'\n | 'nextMonthProps'\n >,\n Pick<CalendarDaysProps, 'dayProps' | 'listenDayChangesForUpdate'>,\n HasRootRef<HTMLDivElement> {\n value?: Date;\n disablePast?: boolean;\n disableFuture?: boolean;\n enableTime?: boolean;\n disablePickers?: boolean;\n doneButtonText?: string;\n changeDayAriaLabel?: string;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n showNeighboringMonth?: boolean;\n size?: 's' | 'm';\n onChange?(value?: Date): void;\n shouldDisableDate?(value: Date): boolean;\n onClose?(): void;\n /**\n * Дата отображаемого месяца.\n * При использовании обновление даты должно происходить вне компонента.\n */\n viewDate?: Date;\n /**\n * Изменение даты в шапке календаря.\n */\n onHeaderChange?(value: Date): void;\n}\n\nconst warn = warnOnce('Calendar');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Calendar\n */\nexport const Calendar = ({\n value,\n onChange,\n disablePast,\n disableFuture,\n shouldDisableDate,\n onClose,\n enableTime = false,\n doneButtonText,\n weekStartsOn = 1,\n getRootRef,\n disablePickers,\n changeHoursAriaLabel,\n changeMinutesAriaLabel,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n showNeighboringMonth,\n changeDayAriaLabel = 'Изменить день',\n size = 'm',\n viewDate: externalViewDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n prevMonthIcon,\n nextMonthIcon,\n prevMonthProps,\n nextMonthProps,\n dayProps,\n className,\n listenDayChangesForUpdate,\n ...props\n}: CalendarProps) => {\n const {\n viewDate,\n setViewDate,\n setPrevMonth,\n setNextMonth,\n focusedDay,\n setFocusedDay,\n isDayFocused,\n isDayDisabled,\n resetSelectedDay,\n } = useCalendar({\n value,\n disableFuture,\n disablePast,\n shouldDisableDate,\n onHeaderChange,\n onNextMonth,\n onPrevMonth,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (value) {\n setViewDate(value);\n }\n }, [value]);\n\n if (process.env.NODE_ENV === 'development' && !disablePickers && size === 's') {\n warn(\"Нельзя включить селекты выбора месяца/года, если размер календаря 's'\", 'error');\n }\n\n if (process.env.NODE_ENV === 'development' && enableTime && size === 's') {\n warn(\"Нельзя включить выбор времени, если размер календаря 's'\", 'error');\n }\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {\n event.preventDefault();\n }\n\n const newFocusedDay = navigateDate(focusedDay ?? value, event.key);\n\n if (newFocusedDay && !isSameMonth(newFocusedDay, viewDate)) {\n setViewDate(newFocusedDay);\n }\n setFocusedDay(newFocusedDay);\n },\n [focusedDay, setFocusedDay, setViewDate, value, viewDate],\n );\n\n const onDayChange = React.useCallback(\n (date: Date) => {\n onChange?.(setTimeEqual(date, value as Date | undefined | null));\n },\n [value, onChange],\n );\n\n const isDayActive = React.useCallback(\n (day: Date) => Boolean(value && isSameDay(day, value)),\n [value],\n );\n\n return (\n <div\n {...props}\n ref={getRootRef}\n className={classNames(\n styles['Calendar'],\n size === 's' && styles['Calendar--size-s'],\n className,\n )}\n >\n <CalendarHeader\n viewDate={externalViewDate || viewDate}\n onChange={setViewDate}\n onNextMonth={setNextMonth}\n onPrevMonth={setPrevMonth}\n disablePickers={disablePickers || size === 's'}\n className={styles['Calendar__header']}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n prevMonthProps={prevMonthProps}\n nextMonthProps={nextMonthProps}\n />\n <CalendarDays\n viewDate={externalViewDate || viewDate}\n value={value}\n weekStartsOn={weekStartsOn}\n isDayFocused={isDayFocused}\n tabIndex={0}\n aria-label={changeDayAriaLabel}\n onKeyDown={handleKeyDown}\n onDayChange={onDayChange}\n isDayActive={isDayActive}\n isDaySelectionStart={isFirstDay}\n isDaySelectionEnd={isLastDay}\n isDayDisabled={isDayDisabled}\n onBlur={resetSelectedDay}\n showNeighboringMonth={showNeighboringMonth}\n size={size}\n dayProps={dayProps}\n listenDayChangesForUpdate={listenDayChangesForUpdate}\n />\n {enableTime && value && size !== 's' && (\n <div className={styles['Calendar__time']}>\n <CalendarTime\n value={value}\n onChange={onChange}\n onClose={onClose}\n doneButtonText={doneButtonText}\n changeHoursAriaLabel={changeHoursAriaLabel}\n changeMinutesAriaLabel={changeMinutesAriaLabel}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["React","classNames","useCalendar","isFirstDay","isLastDay","navigateDate","setTimeEqual","isSameDay","isSameMonth","useIsomorphicLayoutEffect","warnOnce","CalendarDays","CalendarHeader","CalendarTime","warn","Calendar","value","onChange","disablePast","disableFuture","shouldDisableDate","onClose","enableTime","doneButtonText","weekStartsOn","getRootRef","disablePickers","changeHoursAriaLabel","changeMinutesAriaLabel","prevMonthAriaLabel","nextMonthAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","showNeighboringMonth","changeDayAriaLabel","size","viewDate","externalViewDate","onHeaderChange","onNextMonth","onPrevMonth","prevMonthIcon","nextMonthIcon","prevMonthProps","nextMonthProps","dayProps","className","listenDayChangesForUpdate","props","setViewDate","setPrevMonth","setNextMonth","focusedDay","setFocusedDay","isDayFocused","isDayDisabled","resetSelectedDay","process","env","NODE_ENV","handleKeyDown","useCallback","event","includes","key","preventDefault","newFocusedDay","onDayChange","date","isDayActive","day","Boolean","div","ref","tabIndex","aria-label","onKeyDown","isDaySelectionStart","isDaySelectionEnd","onBlur"],"mappings":"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"}
|
|
@@ -35,13 +35,15 @@ export var CalendarDay = /*#__PURE__*/ React.memo(function(_param) {
|
|
|
35
35
|
onChange
|
|
36
36
|
]);
|
|
37
37
|
var handleEnter = React.useCallback(function() {
|
|
38
|
-
|
|
38
|
+
var _onEnter;
|
|
39
|
+
return (_onEnter = onEnter) === null || _onEnter === void 0 ? void 0 : _onEnter(day);
|
|
39
40
|
}, [
|
|
40
41
|
day,
|
|
41
42
|
onEnter
|
|
42
43
|
]);
|
|
43
44
|
var handleLeave = React.useCallback(function() {
|
|
44
|
-
|
|
45
|
+
var _onLeave;
|
|
46
|
+
return (_onLeave = onLeave) === null || _onLeave === void 0 ? void 0 : _onLeave(day);
|
|
45
47
|
}, [
|
|
46
48
|
day,
|
|
47
49
|
onLeave
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ENABLE_KEYBOARD_INPUT_EVENT_NAME } from '../../hooks/useKeyboardInputTracker';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { Tappable, TappableElementProps } from '../Tappable/Tappable';\nimport styles from './CalendarDay.module.css';\n\nexport type CalendarDayElementProps = Omit<\n TappableElementProps,\n 'onChange' | 'size' | 'disabled' | 'selected'\n>;\n\nexport interface CalendarDayProps extends CalendarDayElementProps {\n day: Date;\n today?: boolean;\n selected?: boolean;\n selectionStart?: boolean;\n selectionEnd?: boolean;\n hintedSelectionStart?: boolean;\n hintedSelectionEnd?: boolean;\n active?: boolean;\n hidden?: boolean;\n disabled?: boolean;\n focused?: boolean;\n hinted?: boolean;\n sameMonth?: boolean;\n size?: 's' | 'm';\n onChange(value: Date): void;\n onEnter?(value: Date): void;\n onLeave?(value: Date): void;\n}\n\nexport const CalendarDay = React.memo(\n ({\n day,\n today,\n selected,\n onChange,\n hidden,\n disabled,\n active,\n selectionStart,\n selectionEnd,\n focused,\n onEnter,\n onLeave,\n hinted,\n hintedSelectionStart,\n hintedSelectionEnd,\n sameMonth,\n size,\n className,\n ...props\n }: CalendarDayProps) => {\n const { locale } = useConfigProvider();\n const ref = React.useRef<HTMLElement>(null);\n const onClick = React.useCallback(() => onChange(day), [day, onChange]);\n const handleEnter = React.useCallback(() => onEnter?.(day), [day, onEnter]);\n const handleLeave = React.useCallback(() => onLeave?.(day), [day, onLeave]);\n\n React.useEffect(() => {\n if (focused && ref.current) {\n ref.current.dispatchEvent(new Event(ENABLE_KEYBOARD_INPUT_EVENT_NAME, { bubbles: true }));\n ref.current.focus();\n }\n }, [focused]);\n\n if (hidden) {\n return <div className={styles['CalendarDay__hidden']}></div>;\n }\n\n return (\n <Tappable\n className={classNames(\n styles['CalendarDay'],\n size === 's' && styles['CalendarDay--size-s'],\n today && styles['CalendarDay--today'],\n selected && !disabled && styles['CalendarDay--selected'],\n selectionStart && styles['CalendarDay--selection-start'],\n selectionEnd && styles['CalendarDay--selection-end'],\n disabled && styles['CalendarDay--disabled'],\n !sameMonth && styles['CalendarDay--not-same-month'],\n className,\n )}\n hoverMode={active ? '' : styles['CalendarDay--hover']}\n hasActive={false}\n onClick={onClick}\n disabled={disabled}\n aria-label={new Intl.DateTimeFormat(locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(day)}\n tabIndex={-1}\n getRootRef={ref}\n focusVisibleMode={active ? 'outside' : 'inside'}\n onEnter={handleEnter}\n onLeave={handleLeave}\n {...props}\n >\n <div\n className={classNames(\n styles['CalendarDay__hinted'],\n hinted && styles['CalendarDay__hinted--active'],\n hintedSelectionStart && styles['CalendarDay__hinted--selection-start'],\n hintedSelectionEnd && styles['CalendarDay__hinted--selection-end'],\n )}\n >\n <div\n className={classNames(\n styles['CalendarDay__inner'],\n active && !disabled && styles['CalendarDay__inner--active'],\n )}\n >\n <div className={styles['CalendarDay__day-number']}>{day.getDate()}</div>\n </div>\n </div>\n </Tappable>\n );\n },\n);\n\nCalendarDay.displayName = 'CalendarDay';\n"],"names":["React","classNames","ENABLE_KEYBOARD_INPUT_EVENT_NAME","useConfigProvider","Tappable","CalendarDay","memo","day","today","selected","onChange","hidden","disabled","active","selectionStart","selectionEnd","focused","onEnter","onLeave","hinted","hintedSelectionStart","hintedSelectionEnd","sameMonth","size","className","props","locale","ref","useRef","onClick","useCallback","handleEnter","handleLeave","useEffect","current","dispatchEvent","Event","bubbles","focus","div","hoverMode","hasActive","aria-label","Intl","DateTimeFormat","weekday","year","month","format","tabIndex","getRootRef","focusVisibleMode","getDate","displayName"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,gCAAgC,QAAQ,sCAAsC;AACvF,SAASC,iBAAiB,QAAQ,0CAA0C;AAC5E,SAASC,QAAQ,QAA8B,uBAAuB;AA4BtE,OAAO,IAAMC,4BAAcL,MAAMM,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CalendarDay/CalendarDay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { ENABLE_KEYBOARD_INPUT_EVENT_NAME } from '../../hooks/useKeyboardInputTracker';\nimport { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';\nimport { Tappable, TappableElementProps } from '../Tappable/Tappable';\nimport styles from './CalendarDay.module.css';\n\nexport type CalendarDayElementProps = Omit<\n TappableElementProps,\n 'onChange' | 'size' | 'disabled' | 'selected'\n>;\n\nexport interface CalendarDayProps extends CalendarDayElementProps {\n day: Date;\n today?: boolean;\n selected?: boolean;\n selectionStart?: boolean;\n selectionEnd?: boolean;\n hintedSelectionStart?: boolean;\n hintedSelectionEnd?: boolean;\n active?: boolean;\n hidden?: boolean;\n disabled?: boolean;\n focused?: boolean;\n hinted?: boolean;\n sameMonth?: boolean;\n size?: 's' | 'm';\n onChange(value: Date): void;\n onEnter?(value: Date): void;\n onLeave?(value: Date): void;\n}\n\nexport const CalendarDay = React.memo(\n ({\n day,\n today,\n selected,\n onChange,\n hidden,\n disabled,\n active,\n selectionStart,\n selectionEnd,\n focused,\n onEnter,\n onLeave,\n hinted,\n hintedSelectionStart,\n hintedSelectionEnd,\n sameMonth,\n size,\n className,\n ...props\n }: CalendarDayProps) => {\n const { locale } = useConfigProvider();\n const ref = React.useRef<HTMLElement>(null);\n const onClick = React.useCallback(() => onChange(day), [day, onChange]);\n const handleEnter = React.useCallback(() => onEnter?.(day), [day, onEnter]);\n const handleLeave = React.useCallback(() => onLeave?.(day), [day, onLeave]);\n\n React.useEffect(() => {\n if (focused && ref.current) {\n ref.current.dispatchEvent(new Event(ENABLE_KEYBOARD_INPUT_EVENT_NAME, { bubbles: true }));\n ref.current.focus();\n }\n }, [focused]);\n\n if (hidden) {\n return <div className={styles['CalendarDay__hidden']}></div>;\n }\n\n return (\n <Tappable\n className={classNames(\n styles['CalendarDay'],\n size === 's' && styles['CalendarDay--size-s'],\n today && styles['CalendarDay--today'],\n selected && !disabled && styles['CalendarDay--selected'],\n selectionStart && styles['CalendarDay--selection-start'],\n selectionEnd && styles['CalendarDay--selection-end'],\n disabled && styles['CalendarDay--disabled'],\n !sameMonth && styles['CalendarDay--not-same-month'],\n className,\n )}\n hoverMode={active ? '' : styles['CalendarDay--hover']}\n hasActive={false}\n onClick={onClick}\n disabled={disabled}\n aria-label={new Intl.DateTimeFormat(locale, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(day)}\n tabIndex={-1}\n getRootRef={ref}\n focusVisibleMode={active ? 'outside' : 'inside'}\n onEnter={handleEnter}\n onLeave={handleLeave}\n {...props}\n >\n <div\n className={classNames(\n styles['CalendarDay__hinted'],\n hinted && styles['CalendarDay__hinted--active'],\n hintedSelectionStart && styles['CalendarDay__hinted--selection-start'],\n hintedSelectionEnd && styles['CalendarDay__hinted--selection-end'],\n )}\n >\n <div\n className={classNames(\n styles['CalendarDay__inner'],\n active && !disabled && styles['CalendarDay__inner--active'],\n )}\n >\n <div className={styles['CalendarDay__day-number']}>{day.getDate()}</div>\n </div>\n </div>\n </Tappable>\n );\n },\n);\n\nCalendarDay.displayName = 'CalendarDay';\n"],"names":["React","classNames","ENABLE_KEYBOARD_INPUT_EVENT_NAME","useConfigProvider","Tappable","CalendarDay","memo","day","today","selected","onChange","hidden","disabled","active","selectionStart","selectionEnd","focused","onEnter","onLeave","hinted","hintedSelectionStart","hintedSelectionEnd","sameMonth","size","className","props","locale","ref","useRef","onClick","useCallback","handleEnter","handleLeave","useEffect","current","dispatchEvent","Event","bubbles","focus","div","hoverMode","hasActive","aria-label","Intl","DateTimeFormat","weekday","year","month","format","tabIndex","getRootRef","focusVisibleMode","getDate","displayName"],"mappings":";;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,gCAAgC,QAAQ,sCAAsC;AACvF,SAASC,iBAAiB,QAAQ,0CAA0C;AAC5E,SAASC,QAAQ,QAA8B,uBAAuB;AA4BtE,OAAO,IAAMC,4BAAcL,MAAMM,IAAI,CACnC;QACEC,aAAAA,KACAC,eAAAA,OACAC,kBAAAA,UACAC,kBAAAA,UACAC,gBAAAA,QACAC,kBAAAA,UACAC,gBAAAA,QACAC,wBAAAA,gBACAC,sBAAAA,cACAC,iBAAAA,SACAC,iBAAAA,SACAC,iBAAAA,SACAC,gBAAAA,QACAC,8BAAAA,sBACAC,4BAAAA,oBACAC,mBAAAA,WACAC,cAAAA,MACAC,mBAAAA,WACGC;QAlBHlB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAM,AAAEE,SAAWvB,oBAAXuB;IACR,IAAMC,MAAM3B,MAAM4B,MAAM,CAAc;IACtC,IAAMC,UAAU7B,MAAM8B,WAAW,CAAC;eAAMpB,SAASH;OAAM;QAACA;QAAKG;KAAS;IACtE,IAAMqB,cAAc/B,MAAM8B,WAAW,CAAC;YAAMb;gBAAAA,WAAAA,qBAAAA,+BAAAA,SAAUV;OAAM;QAACA;QAAKU;KAAQ;IAC1E,IAAMe,cAAchC,MAAM8B,WAAW,CAAC;YAAMZ;gBAAAA,WAAAA,qBAAAA,+BAAAA,SAAUX;OAAM;QAACA;QAAKW;KAAQ;IAE1ElB,MAAMiC,SAAS,CAAC;QACd,IAAIjB,WAAWW,IAAIO,OAAO,EAAE;YAC1BP,IAAIO,OAAO,CAACC,aAAa,CAAC,IAAIC,MAAMlC,kCAAkC;gBAAEmC,SAAS;YAAK;YACtFV,IAAIO,OAAO,CAACI,KAAK;QACnB;IACF,GAAG;QAACtB;KAAQ;IAEZ,IAAIL,QAAQ;QACV,qBAAO,oBAAC4B;YAAIf,SAAS;;IACvB;IAEA,qBACE,oBAACpB;QACCoB,WAAWvB,8BAETsB,SAAS,kCACTf,mCACAC,YAAY,CAACG,yCACbE,sDACAC,kDACAH,yCACA,CAACU,gDACDE;QAEFgB,WAAW3B,SAAS;QACpB4B,WAAW;QACXZ,SAASA;QACTjB,UAAUA;QACV8B,cAAY,IAAIC,KAAKC,cAAc,CAAClB,QAAQ;YAC1CmB,SAAS;YACTC,MAAM;YACNC,OAAO;YACPxC,KAAK;QACP,GAAGyC,MAAM,CAACzC;QACV0C,UAAU,CAAC;QACXC,YAAYvB;QACZwB,kBAAkBtC,SAAS,YAAY;QACvCI,SAASc;QACTb,SAASc;OACLP,sBAEJ,oBAACc;QACCf,WAAWvB,sCAETkB,6CACAC,oEACAC;qBAGF,oBAACkB;QACCf,WAAWvB,qCAETY,UAAU,CAACD;qBAGb,oBAAC2B;QAAIf,SAAS;OAAsCjB,IAAI6C,OAAO;AAKzE,GACA;AAEF/C,YAAYgD,WAAW,GAAG"}
|