@vkontakte/vkui 5.1.2 → 5.2.1
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 +6 -1
- package/dist/cjs/components/ActionSheet/ActionSheet.js +8 -8
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js +4 -4
- package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
- package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +5 -6
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.d.ts +1 -1
- package/dist/cjs/components/Alert/Alert.js +10 -10
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +20 -12
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootPortal.js +2 -2
- package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.js +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
- package/dist/cjs/components/Avatar/Avatar.js +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/Banner/Banner.js +2 -2
- package/dist/cjs/components/Banner/Banner.js.map +1 -1
- package/dist/cjs/components/BaseGallery/BaseGallery.js +4 -4
- package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cjs/components/BaseGallery/helpers.d.ts +1 -1
- package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
- package/dist/cjs/components/BaseGallery/types.d.ts +1 -1
- package/dist/cjs/components/BaseGallery/types.js.map +1 -1
- package/dist/cjs/components/Button/Button.d.ts +1 -1
- package/dist/cjs/components/Button/Button.js +12 -6
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.d.ts +2 -2
- package/dist/cjs/components/Calendar/Calendar.js +6 -6
- package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/components/CalendarDay/CalendarDay.js +1 -1
- package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cjs/components/CalendarDays/CalendarDays.js +3 -3
- package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js +4 -4
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +2 -2
- package/dist/cjs/components/CalendarRange/CalendarRange.js +3 -3
- package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cjs/components/CalendarTime/CalendarTime.js +3 -3
- package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cjs/components/CardGrid/CardGrid.js +8 -3
- package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.js +2 -6
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/Cell/Cell.d.ts +1 -1
- package/dist/cjs/components/Cell/Cell.js +6 -6
- package/dist/cjs/components/Cell/Cell.js.map +1 -1
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +8 -5
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cjs/components/Cell/CellDragger/CellDragger.js +1 -1
- package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +16 -10
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Chip/Chip.js +11 -6
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +4 -4
- package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -9
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js +5 -5
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.d.ts +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js +4 -3
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js +4 -4
- package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/cjs/components/CustomSelect/CustomSelect.js +11 -10
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -4
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +22 -73
- package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +10 -5
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.d.ts +4 -3
- package/dist/cjs/components/DateInput/DateInput.js +18 -12
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.js +2 -2
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +3 -3
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js +18 -12
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.js +1 -1
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/Epic/ScrollSaver.js +1 -1
- package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cjs/components/File/File.d.ts +1 -1
- package/dist/cjs/components/File/File.js +2 -2
- package/dist/cjs/components/File/File.js.map +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.js +6 -6
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.js +14 -13
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.js +11 -6
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.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.js +14 -8
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +3 -3
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js +3 -3
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +3 -3
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.js +2 -2
- package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.js +19 -5
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/Image/Image.d.ts +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.d.ts +1 -1
- package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
- package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/cjs/components/ImageBase/validators.js +1 -1
- package/dist/cjs/components/ImageBase/validators.js.map +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js +1 -1
- package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/cjs/components/Input/Input.d.ts +1 -1
- package/dist/cjs/components/Input/Input.js +9 -4
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/InputLike/InputLike.js +1 -1
- package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
- package/dist/cjs/components/Link/Link.js.map +1 -1
- package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.js +9 -7
- package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +5 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +15 -8
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js +1 -1
- package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.d.ts +2 -6
- package/dist/cjs/components/ModalPage/ModalPage.js +20 -14
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +4 -4
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.js +13 -14
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +2 -2
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +6 -6
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/ModalRoot/useModalManager.js +3 -3
- package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/cjs/components/NativeSelect/NativeSelect.js +12 -9
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/Pagination/Pagination.js +11 -5
- package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
- package/dist/cjs/components/Panel/Panel.d.ts +1 -1
- package/dist/cjs/components/Panel/Panel.js +13 -7
- package/dist/cjs/components/Panel/Panel.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js +7 -7
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js +7 -6
- package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
- package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js +2 -2
- package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
- package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js +1 -1
- package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/cjs/components/PlatformProvider/PlatformProvider.js +2 -2
- package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js +2 -2
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cjs/components/Popover/Popover.js +5 -5
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.d.ts +12 -9
- package/dist/cjs/components/Popper/Popper.js +94 -121
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/PopperArrow/PopperArrow.d.ts +15 -5
- package/dist/cjs/components/PopperArrow/PopperArrow.js +44 -17
- package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/cjs/components/Progress/Progress.js +1 -1
- package/dist/cjs/components/Progress/Progress.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js +2 -2
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js +8 -8
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.js +12 -7
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/cjs/components/RangeSlider/UniversalSlider.js +10 -5
- package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.js +4 -8
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/RichCell/RichCell.js +9 -4
- package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
- package/dist/cjs/components/RichTooltip/RichTooltip.js +1 -1
- package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cjs/components/Root/Root.js +9 -9
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +5 -5
- package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cjs/components/Search/Search.d.ts +1 -1
- package/dist/cjs/components/Search/Search.js +13 -8
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js +18 -18
- package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +3 -3
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +12 -9
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SelectTypography/SelectTypography.js +1 -1
- package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js +13 -7
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.js +8 -8
- package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/Spinner/Spinner.js +1 -1
- package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.d.ts +0 -6
- package/dist/cjs/components/SplitCol/SplitCol.js +12 -18
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitColContext.d.ts +7 -0
- package/dist/cjs/components/SplitCol/SplitColContext.js +18 -0
- package/dist/cjs/components/SplitCol/SplitColContext.js.map +1 -0
- package/dist/cjs/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +10 -5
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.js +12 -7
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +10 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js +3 -3
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/TabsItem/TabsItem.js +10 -5
- package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +1 -1
- package/dist/cjs/components/Tappable/Tappable.js +14 -14
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.d.ts +1 -1
- package/dist/cjs/components/Textarea/Textarea.js +10 -5
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.d.ts +3 -3
- package/dist/cjs/components/Tooltip/Tooltip.js +120 -156
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Touch/Touch.js +3 -3
- package/dist/cjs/components/Touch/Touch.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 +9 -4
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.js +8 -3
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Text/Text.js +9 -4
- 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/UsersStack/UsersStack.js +2 -2
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/View/View.js +13 -13
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.d.ts +3 -3
- package/dist/cjs/components/View/ViewInfinite.js +10 -10
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.js +4 -4
- package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +12 -10
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
- package/dist/cjs/hoc/withPlatform.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
- package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js +1 -1
- package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/cjs/hooks/useAutoDetectAppearance.js +1 -1
- package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
- package/dist/cjs/hooks/useCalendar.js.map +1 -1
- package/dist/cjs/hooks/useChipsSelect.d.ts +1 -1
- package/dist/cjs/hooks/useChipsSelect.js.map +1 -1
- package/dist/cjs/hooks/useDateInput.js +1 -1
- package/dist/cjs/hooks/useDateInput.js.map +1 -1
- package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
- package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.js +1 -1
- package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/cjs/hooks/useTimeout.js +1 -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 +1 -1
- package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cjs/index.d.ts +37 -30
- package/dist/cjs/index.js +13 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/SSR.js +3 -3
- package/dist/cjs/lib/SSR.js.map +1 -1
- package/dist/cjs/lib/adaptivity/constants.d.ts +7 -0
- package/dist/cjs/lib/adaptivity/constants.js +6 -1
- package/dist/cjs/lib/adaptivity/constants.js.map +1 -1
- package/dist/cjs/lib/adaptivity/functions.d.ts +9 -1
- package/dist/cjs/lib/adaptivity/functions.js +43 -0
- package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
- package/dist/cjs/lib/adaptivity/types.d.ts +2 -1
- package/dist/cjs/lib/adaptivity/types.js.map +1 -1
- package/dist/cjs/lib/calendar.js.map +1 -1
- package/dist/cjs/lib/floating/adapters.d.ts +2 -0
- package/dist/cjs/lib/floating/adapters.js +63 -0
- package/dist/cjs/lib/floating/adapters.js.map +1 -0
- package/dist/cjs/lib/floating/functions.d.ts +10 -0
- package/dist/cjs/lib/floating/functions.js +36 -0
- package/dist/cjs/lib/floating/functions.js.map +1 -0
- package/dist/cjs/lib/floating/index.d.ts +4 -0
- package/dist/cjs/lib/floating/index.js +75 -0
- package/dist/cjs/lib/floating/index.js.map +1 -0
- package/dist/cjs/lib/floating/types.d.ts +4 -0
- package/dist/cjs/lib/floating/types.js +6 -0
- package/dist/cjs/lib/floating/types.js.map +1 -0
- package/dist/cjs/lib/platform.js +1 -1
- package/dist/cjs/lib/platform.js.map +1 -1
- package/dist/cjs/lib/select.js.map +1 -1
- package/dist/cjs/lib/useIsomorphicLayoutEffect.d.ts +1 -1
- package/dist/cjs/lib/warnOnce.d.ts +7 -0
- package/dist/cjs/lib/warnOnce.js +14 -0
- package/dist/cjs/lib/warnOnce.js.map +1 -1
- package/dist/cjs/shared/breakpoints.d.ts +44 -0
- package/dist/cjs/shared/breakpoints.js +79 -13
- package/dist/cjs/shared/breakpoints.js.map +1 -1
- package/dist/cjs/types.d.ts +9 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +8 -8
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdown.js +4 -4
- package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
- package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/components/ActionSheetItem/ActionSheetItem.js +5 -6
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +1 -1
- package/dist/components/Alert/Alert.js +10 -10
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +20 -12
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.js +2 -2
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.js +1 -1
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.js +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 +1 -1
- package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/components/Banner/Banner.js +2 -2
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/BaseGallery/BaseGallery.js +4 -4
- package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/components/BaseGallery/helpers.d.ts +1 -1
- package/dist/components/BaseGallery/helpers.js.map +1 -1
- package/dist/components/BaseGallery/types.d.ts +1 -1
- package/dist/components/BaseGallery/types.js.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.js +12 -6
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +2 -2
- package/dist/components/Calendar/Calendar.js +7 -7
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDay/CalendarDay.js +1 -1
- package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js +3 -3
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +5 -5
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +2 -2
- package/dist/components/CalendarRange/CalendarRange.js +4 -4
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js +3 -3
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.js +8 -3
- package/dist/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.js +2 -6
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/Cell/Cell.d.ts +1 -1
- package/dist/components/Cell/Cell.js +6 -6
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js +8 -5
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js +1 -1
- package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +16 -10
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Chip/Chip.js +11 -6
- package/dist/components/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/components/ChipsInput/ChipsInput.js +1 -1
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.js +4 -4
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +5 -9
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +5 -5
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js +1 -1
- package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts +1 -1
- package/dist/components/ContentCard/ContentCard.js +4 -3
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/CustomScrollView/CustomScrollView.js +4 -4
- package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/components/CustomSelect/CustomSelect.js +11 -10
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -4
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +22 -73
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js +10 -5
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +4 -3
- package/dist/components/DateInput/DateInput.js +18 -12
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +2 -2
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +3 -3
- package/dist/components/DateRangeInput/DateRangeInput.js +18 -12
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js +1 -1
- package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
- package/dist/components/Epic/Epic.js +1 -1
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.js +1 -1
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/File/File.d.ts +1 -1
- package/dist/components/File/File.js +2 -2
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js +5 -5
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/FormField/FormField.js +14 -13
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormItem/FormItem.js +11 -6
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
- package/dist/components/FormLayoutGroup/FormLayoutGroup.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.js +14 -8
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.js +3 -3
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +3 -3
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +3 -3
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/components/HoverPopper/HoverPopper.js +2 -2
- package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/components/IconButton/IconButton.js +19 -5
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/Image/Image.d.ts +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.d.ts +1 -1
- package/dist/components/ImageBase/ImageBase.js +1 -1
- package/dist/components/ImageBase/ImageBase.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
- package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/components/ImageBase/validators.js +1 -1
- package/dist/components/ImageBase/validators.js.map +1 -1
- package/dist/components/InfoRow/InfoRow.js +1 -1
- package/dist/components/InfoRow/InfoRow.js.map +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.js +9 -4
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/InputLike/InputLike.js +1 -1
- package/dist/components/InputLike/InputLike.js.map +1 -1
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/components/ModalCard/ModalCard.js +9 -7
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.d.ts +5 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +15 -8
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js +1 -1
- package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +2 -6
- package/dist/components/ModalPage/ModalPage.js +20 -14
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js +4 -4
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +13 -14
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.js +2 -2
- package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js +6 -6
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.js +3 -3
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/components/NativeSelect/NativeSelect.js +12 -9
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Pagination/Pagination.js +11 -5
- package/dist/components/Pagination/Pagination.js.map +1 -1
- package/dist/components/Panel/Panel.d.ts +1 -1
- package/dist/components/Panel/Panel.js +13 -7
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +7 -7
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js +8 -7
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +3 -3
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/components/Placeholder/Placeholder.js +1 -1
- package/dist/components/Placeholder/Placeholder.js.map +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js +2 -2
- package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/components/PopoutRoot/PopoutRoot.js +2 -2
- package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popover/Popover.js +5 -5
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +12 -9
- package/dist/components/Popper/Popper.js +95 -122
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PopperArrow/PopperArrow.d.ts +15 -5
- package/dist/components/PopperArrow/PopperArrow.js +40 -15
- package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/components/Progress/Progress.js +1 -1
- package/dist/components/Progress/Progress.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +2 -2
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +8 -8
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/Radio/Radio.js +12 -7
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/components/RangeSlider/UniversalSlider.js +10 -5
- package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/components/Removable/Removable.js +4 -8
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/RichCell/RichCell.js +9 -4
- package/dist/components/RichCell/RichCell.js.map +1 -1
- package/dist/components/RichTooltip/RichTooltip.js +1 -1
- package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/components/Root/Root.js +8 -8
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js +5 -5
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/Search/Search.d.ts +1 -1
- package/dist/components/Search/Search.js +13 -8
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.js +18 -18
- package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/Select/Select.js +3 -3
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js +12 -9
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SelectTypography/SelectTypography.js +1 -1
- package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +13 -7
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.js +8 -8
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Spinner/Spinner.js +1 -1
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts +0 -6
- package/dist/components/SplitCol/SplitCol.js +10 -14
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitCol/SplitColContext.d.ts +7 -0
- package/dist/components/SplitCol/SplitColContext.js +9 -0
- package/dist/components/SplitCol/SplitColContext.js.map +1 -0
- package/dist/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +10 -5
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.js +12 -7
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +10 -1
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.js +3 -3
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.js +10 -5
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +1 -1
- package/dist/components/Tappable/Tappable.js +14 -14
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/TextTooltip/TextTooltip.js +1 -1
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +1 -1
- package/dist/components/Textarea/Textarea.js +10 -5
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +3 -3
- package/dist/components/Tooltip/Tooltip.js +120 -156
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Touch/Touch.js +3 -3
- package/dist/components/Touch/Touch.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.js +9 -4
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.js +8 -3
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Text/Text.js +9 -4
- package/dist/components/Typography/Text/Text.js.map +1 -1
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/UsersStack/UsersStack.js +2 -2
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/View.js +12 -12
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts +3 -3
- package/dist/components/View/ViewInfinite.js +9 -9
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.js +4 -4
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +12 -10
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +142 -2
- package/dist/components.css.map +1 -1
- package/dist/components.js.tmp +62123 -4
- package/dist/cssm/components/ActionSheet/ActionSheet.js +8 -8
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +4 -4
- package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +7 -7
- package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +5 -6
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.d.ts +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.d.ts +1 -1
- package/dist/cssm/components/Alert/Alert.js +10 -10
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.module.css +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +20 -12
- package/dist/cssm/components/AppRoot/AppRoot.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 +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.d.ts +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/Avatar.module.css +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +1 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
- package/dist/cssm/components/Banner/Banner.js +2 -2
- package/dist/cssm/components/Banner/Banner.js.map +1 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.js +4 -4
- package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cssm/components/BaseGallery/helpers.d.ts +1 -1
- package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
- package/dist/cssm/components/BaseGallery/types.d.ts +1 -1
- package/dist/cssm/components/BaseGallery/types.js.map +1 -1
- package/dist/cssm/components/Button/Button.d.ts +1 -1
- package/dist/cssm/components/Button/Button.js +12 -6
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/Button/Button.module.css +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cssm/components/Calendar/Calendar.d.ts +2 -2
- package/dist/cssm/components/Calendar/Calendar.js +7 -7
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.module.css +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js +3 -3
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +5 -5
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +2 -2
- package/dist/cssm/components/CalendarRange/CalendarRange.js +4 -4
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js +3 -3
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.module.css +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.js +8 -3
- package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.module.css +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +2 -6
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.d.ts +1 -1
- package/dist/cssm/components/Cell/Cell.js +6 -6
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +8 -5
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.module.css +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/Checkbox/Checkbox.d.ts +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +16 -10
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.module.css +1 -1
- package/dist/cssm/components/Chip/Chip.js +11 -6
- package/dist/cssm/components/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/Chip/Chip.module.css +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.d.ts +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.js +4 -4
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -9
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +5 -5
- package/dist/cssm/components/ConfigProvider/ConfigProvider.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.d.ts +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +4 -3
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js +4 -4
- package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +2 -2
- package/dist/cssm/components/CustomSelect/CustomSelect.js +11 -10
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -4
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +22 -73
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +10 -5
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +1 -1
- package/dist/cssm/components/DateInput/DateInput.d.ts +4 -3
- package/dist/cssm/components/DateInput/DateInput.js +19 -12
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.module.css +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.js +2 -2
- package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +3 -3
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +18 -12
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js +1 -1
- package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
- 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 +1 -1
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/File/File.d.ts +1 -1
- package/dist/cssm/components/File/File.js +2 -2
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js +5 -5
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.js +14 -13
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.module.css +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +11 -6
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.module.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +9 -4
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
- package/dist/cssm/components/Group/Group.js +14 -8
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Group/Group.module.css +1 -1
- package/dist/cssm/components/Header/Header.js +3 -3
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/Header/Header.module.css +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 +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -3
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.js +2 -2
- package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.js +19 -5
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.module.css +1 -1
- package/dist/cssm/components/Image/Image.d.ts +1 -1
- package/dist/cssm/components/Image/Image.js.map +1 -1
- package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBase.d.ts +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/ImageBase.module.css +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
- package/dist/cssm/components/ImageBase/validators.js +1 -1
- 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.d.ts +1 -1
- package/dist/cssm/components/Input/Input.js +9 -4
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/Input/Input.module.css +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/InputLike.module.css +1 -1
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +9 -7
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +5 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +15 -8
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- 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.d.ts +2 -6
- package/dist/cssm/components/ModalPage/ModalPage.js +20 -14
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.module.css +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +4 -4
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +13 -14
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +2 -2
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +6 -6
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js +3 -3
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +12 -9
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.js +11 -5
- package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.module.css +1 -1
- package/dist/cssm/components/Panel/Panel.d.ts +1 -1
- package/dist/cssm/components/Panel/Panel.js +13 -7
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.module.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +7 -7
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.module.css +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +8 -7
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +3 -3
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +2 -2
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +3 -3
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +13 -7
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +3 -3
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +2 -2
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.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 +2 -2
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js +2 -2
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +3 -3
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.js +5 -5
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.d.ts +12 -9
- package/dist/cssm/components/Popper/Popper.js +95 -122
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +15 -5
- package/dist/cssm/components/PopperArrow/PopperArrow.js +40 -15
- package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.module.css +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 +2 -2
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +8 -8
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +12 -7
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.module.css +1 -1
- package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
- package/dist/cssm/components/RangeSlider/UniversalSlider.js +10 -5
- package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.js +4 -8
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.module.css +1 -1
- package/dist/cssm/components/RichCell/RichCell.js +9 -4
- package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.module.css +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.js +8 -8
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +5 -5
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/Search/Search.d.ts +1 -1
- package/dist/cssm/components/Search/Search.js +13 -8
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/Search/Search.module.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js +18 -18
- package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +10 -4
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +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/Select/Select.module.css +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +12 -9
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.js +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.module.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +13 -7
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.module.css +1 -1
- package/dist/cssm/components/Slider/Slider.module.css +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +8 -8
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Spinner/Spinner.js +1 -1
- package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.d.ts +0 -6
- package/dist/cssm/components/SplitCol/SplitCol.js +10 -14
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.module.css +1 -1
- package/dist/cssm/components/SplitCol/SplitColContext.d.ts +7 -0
- package/dist/cssm/components/SplitCol/SplitColContext.js +9 -0
- package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -0
- package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +10 -5
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +1 -1
- package/dist/cssm/components/Switch/Switch.js +12 -7
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.module.css +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +10 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.js +3 -3
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.module.css +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +10 -5
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.module.css +1 -1
- package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
- package/dist/cssm/components/Tappable/Tappable.js +14 -14
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.module.css +1 -1
- 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.d.ts +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +10 -5
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.module.css +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.d.ts +3 -3
- package/dist/cssm/components/Tooltip/Tooltip.js +126 -156
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.module.css +1 -1
- package/dist/cssm/components/Touch/Touch.js +3 -3
- package/dist/cssm/components/Touch/Touch.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.module.css +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.module.css +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.js +9 -4
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.module.css +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.js +8 -3
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.module.css +1 -1
- package/dist/cssm/components/Typography/Text/Text.js +9 -4
- package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.module.css +1 -1
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.module.css +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.js +12 -12
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/View.module.css +1 -1
- package/dist/cssm/components/View/ViewInfinite.d.ts +3 -3
- package/dist/cssm/components/View/ViewInfinite.js +9 -9
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +4 -4
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +12 -10
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/helpers/getPlatformClassName.js.map +1 -1
- package/dist/cssm/hoc/withPlatform.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
- package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +2 -2
- package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js +3 -3
- package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/cssm/hooks/useAutoDetectAppearance.js +1 -1
- package/dist/cssm/hooks/useAutoDetectAppearance.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/useChipsSelect.d.ts +1 -1
- package/dist/cssm/hooks/useChipsSelect.js.map +1 -1
- package/dist/cssm/hooks/useDateInput.js +1 -1
- package/dist/cssm/hooks/useDateInput.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/useMediaQueries.js.map +1 -1
- package/dist/cssm/hooks/usePatchChildrenRef.js +1 -1
- package/dist/cssm/hooks/usePatchChildrenRef.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.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 +37 -30
- package/dist/cssm/index.js +24 -18
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.js +3 -3
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/adaptivity/constants.d.ts +7 -0
- package/dist/cssm/lib/adaptivity/constants.js +3 -0
- package/dist/cssm/lib/adaptivity/constants.js.map +1 -1
- package/dist/cssm/lib/adaptivity/functions.d.ts +9 -1
- package/dist/cssm/lib/adaptivity/functions.js +43 -1
- package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
- package/dist/cssm/lib/adaptivity/types.d.ts +2 -1
- package/dist/cssm/lib/adaptivity/types.js.map +1 -1
- package/dist/cssm/lib/calendar.js +1 -1
- package/dist/cssm/lib/calendar.js.map +1 -1
- package/dist/cssm/lib/floating/adapters.d.ts +2 -0
- package/dist/cssm/lib/floating/adapters.js +56 -0
- package/dist/cssm/lib/floating/adapters.js.map +1 -0
- package/dist/cssm/lib/floating/functions.d.ts +10 -0
- package/dist/cssm/lib/floating/functions.js +28 -0
- package/dist/cssm/lib/floating/functions.js.map +1 -0
- package/dist/cssm/lib/floating/index.d.ts +4 -0
- package/dist/cssm/lib/floating/index.js +4 -0
- package/dist/cssm/lib/floating/index.js.map +1 -0
- package/dist/cssm/lib/floating/types.d.ts +4 -0
- package/dist/cssm/lib/floating/types.js +2 -0
- package/dist/cssm/lib/floating/types.js.map +1 -0
- package/dist/cssm/lib/platform.js +1 -1
- package/dist/cssm/lib/platform.js.map +1 -1
- package/dist/cssm/lib/select.js.map +1 -1
- package/dist/cssm/lib/useIsomorphicLayoutEffect.d.ts +1 -1
- package/dist/cssm/lib/warnOnce.d.ts +7 -0
- package/dist/cssm/lib/warnOnce.js +12 -0
- package/dist/cssm/lib/warnOnce.js.map +1 -1
- package/dist/cssm/shared/breakpoints.d.ts +44 -0
- package/dist/cssm/shared/breakpoints.js +79 -13
- package/dist/cssm/shared/breakpoints.js.map +1 -1
- package/dist/cssm/styles/adaptivity.module.css +1 -1
- package/dist/cssm/styles/common.css +1 -1
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/cssm/types.d.ts +9 -1
- package/dist/cssm/types.js.map +1 -1
- package/dist/helpers/getPlatformClassName.js.map +1 -1
- package/dist/hoc/withPlatform.js.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/helpers.d.ts +2 -2
- package/dist/hooks/useAdaptivityConditionalRender/helpers.js +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
- package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +2 -2
- package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
- package/dist/hooks/useAdaptivityWithJSMediaQueries.js +3 -3
- package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
- package/dist/hooks/useAutoDetectAppearance.js +1 -1
- package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
- package/dist/hooks/useCalendar.js +1 -1
- package/dist/hooks/useCalendar.js.map +1 -1
- package/dist/hooks/useChipsSelect.d.ts +1 -1
- package/dist/hooks/useChipsSelect.js.map +1 -1
- package/dist/hooks/useDateInput.js +1 -1
- package/dist/hooks/useDateInput.js.map +1 -1
- package/dist/hooks/useFocusVisible.js +1 -1
- package/dist/hooks/useFocusVisible.js.map +1 -1
- package/dist/hooks/useMediaQueries.js.map +1 -1
- package/dist/hooks/usePatchChildrenRef.js +1 -1
- package/dist/hooks/usePatchChildrenRef.js.map +1 -1
- package/dist/hooks/useTimeout.js +1 -1
- package/dist/hooks/useTimeout.js.map +1 -1
- package/dist/hooks/useTodayDate.js.map +1 -1
- package/dist/hooks/useWaitTransitionFinish.js +1 -1
- package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/index.d.ts +37 -30
- package/dist/index.js +22 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/SSR.js +3 -3
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/adaptivity/constants.d.ts +7 -0
- package/dist/lib/adaptivity/constants.js +3 -0
- package/dist/lib/adaptivity/constants.js.map +1 -1
- package/dist/lib/adaptivity/functions.d.ts +9 -1
- package/dist/lib/adaptivity/functions.js +43 -1
- package/dist/lib/adaptivity/functions.js.map +1 -1
- package/dist/lib/adaptivity/types.d.ts +2 -1
- package/dist/lib/adaptivity/types.js.map +1 -1
- package/dist/lib/calendar.js +1 -1
- package/dist/lib/calendar.js.map +1 -1
- package/dist/lib/floating/adapters.d.ts +2 -0
- package/dist/lib/floating/adapters.js +56 -0
- package/dist/lib/floating/adapters.js.map +1 -0
- package/dist/lib/floating/functions.d.ts +10 -0
- package/dist/lib/floating/functions.js +28 -0
- package/dist/lib/floating/functions.js.map +1 -0
- package/dist/lib/floating/index.d.ts +4 -0
- package/dist/lib/floating/index.js +4 -0
- package/dist/lib/floating/index.js.map +1 -0
- package/dist/lib/floating/types.d.ts +4 -0
- package/dist/lib/floating/types.js +2 -0
- package/dist/lib/floating/types.js.map +1 -0
- package/dist/lib/platform.js +1 -1
- package/dist/lib/platform.js.map +1 -1
- package/dist/lib/select.js.map +1 -1
- package/dist/lib/useIsomorphicLayoutEffect.d.ts +1 -1
- package/dist/lib/warnOnce.d.ts +7 -0
- package/dist/lib/warnOnce.js +12 -0
- package/dist/lib/warnOnce.js.map +1 -1
- package/dist/shared/breakpoints.d.ts +44 -0
- package/dist/shared/breakpoints.js +79 -13
- package/dist/shared/breakpoints.js.map +1 -1
- package/dist/stable.js.tmp +69 -21
- package/dist/types.d.ts +9 -1
- package/dist/types.js.map +1 -1
- package/dist/vkui.css +143 -3
- package/dist/vkui.css.map +1 -1
- package/dist/vkui.js.tmp +62039 -0
- package/package.json +4 -5
- package/dist/cjs/helpers/getHoverClassName.d.ts +0 -2
- package/dist/cjs/helpers/getHoverClassName.js +0 -22
- package/dist/cjs/helpers/getHoverClassName.js.map +0 -1
- package/dist/cjs/helpers/getPointerClassName.d.ts +0 -2
- package/dist/cjs/helpers/getPointerClassName.js +0 -22
- package/dist/cjs/helpers/getPointerClassName.js.map +0 -1
- package/dist/cjs/helpers/getSizeXClassName.d.ts +0 -5
- package/dist/cjs/helpers/getSizeXClassName.js +0 -18
- package/dist/cjs/helpers/getSizeXClassName.js.map +0 -1
- package/dist/cjs/helpers/getSizeYClassName.d.ts +0 -5
- package/dist/cjs/helpers/getSizeYClassName.js +0 -18
- package/dist/cjs/helpers/getSizeYClassName.js.map +0 -1
- package/dist/cjs/helpers/getViewHeightClassName.d.ts +0 -3
- package/dist/cjs/helpers/getViewHeightClassName.js +0 -31
- package/dist/cjs/helpers/getViewHeightClassName.js.map +0 -1
- package/dist/cjs/helpers/getViewWidthClassName.d.ts +0 -3
- package/dist/cjs/helpers/getViewWidthClassName.js +0 -52
- package/dist/cjs/helpers/getViewWidthClassName.js.map +0 -1
- package/dist/cssm/helpers/getHoverClassName.d.ts +0 -2
- package/dist/cssm/helpers/getHoverClassName.js +0 -16
- package/dist/cssm/helpers/getHoverClassName.js.map +0 -1
- package/dist/cssm/helpers/getPointerClassName.d.ts +0 -2
- package/dist/cssm/helpers/getPointerClassName.js +0 -16
- package/dist/cssm/helpers/getPointerClassName.js.map +0 -1
- package/dist/cssm/helpers/getSizeXClassName.d.ts +0 -5
- package/dist/cssm/helpers/getSizeXClassName.js +0 -12
- package/dist/cssm/helpers/getSizeXClassName.js.map +0 -1
- package/dist/cssm/helpers/getSizeYClassName.d.ts +0 -5
- package/dist/cssm/helpers/getSizeYClassName.js +0 -12
- package/dist/cssm/helpers/getSizeYClassName.js.map +0 -1
- package/dist/cssm/helpers/getViewHeightClassName.d.ts +0 -3
- package/dist/cssm/helpers/getViewHeightClassName.js +0 -25
- package/dist/cssm/helpers/getViewHeightClassName.js.map +0 -1
- package/dist/cssm/helpers/getViewWidthClassName.d.ts +0 -3
- package/dist/cssm/helpers/getViewWidthClassName.js +0 -46
- package/dist/cssm/helpers/getViewWidthClassName.js.map +0 -1
- package/dist/cssm/styles/components.css +0 -3
- package/dist/helpers/getHoverClassName.d.ts +0 -2
- package/dist/helpers/getHoverClassName.js +0 -16
- package/dist/helpers/getHoverClassName.js.map +0 -1
- package/dist/helpers/getPointerClassName.d.ts +0 -2
- package/dist/helpers/getPointerClassName.js +0 -16
- package/dist/helpers/getPointerClassName.js.map +0 -1
- package/dist/helpers/getSizeXClassName.d.ts +0 -5
- package/dist/helpers/getSizeXClassName.js +0 -12
- package/dist/helpers/getSizeXClassName.js.map +0 -1
- package/dist/helpers/getSizeYClassName.d.ts +0 -5
- package/dist/helpers/getSizeYClassName.js +0 -12
- package/dist/helpers/getSizeYClassName.js.map +0 -1
- package/dist/helpers/getViewHeightClassName.d.ts +0 -3
- package/dist/helpers/getViewHeightClassName.js +0 -25
- package/dist/helpers/getViewHeightClassName.js.map +0 -1
- package/dist/helpers/getViewWidthClassName.d.ts +0 -3
- package/dist/helpers/getViewWidthClassName.js +0 -46
- package/dist/helpers/getViewWidthClassName.js.map +0 -1
|
@@ -15,18 +15,18 @@ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
16
|
var React = _interopRequireWildcard(require("react"));
|
|
17
17
|
var _vkjs = require("@vkontakte/vkjs");
|
|
18
|
-
var
|
|
19
|
-
var _withPlatform = require("../../hoc/withPlatform");
|
|
18
|
+
var _math = require("../../helpers/math");
|
|
20
19
|
var _withContext = require("../../hoc/withContext");
|
|
21
|
-
var
|
|
22
|
-
var _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext");
|
|
23
|
-
var _platform = require("../../lib/platform");
|
|
20
|
+
var _withPlatform = require("../../hoc/withPlatform");
|
|
24
21
|
var _dom = require("../../lib/dom");
|
|
25
22
|
var _getNavId = require("../../lib/getNavId");
|
|
23
|
+
var _platform = require("../../lib/platform");
|
|
24
|
+
var _supportEvents = require("../../lib/supportEvents");
|
|
26
25
|
var _warnOnce = require("../../lib/warnOnce");
|
|
26
|
+
var _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext");
|
|
27
27
|
var _FocusTrap = require("../FocusTrap/FocusTrap");
|
|
28
|
+
var _ModalRootContext = require("./ModalRootContext");
|
|
28
29
|
var _useModalManager = require("./useModalManager");
|
|
29
|
-
var _math = require("../../helpers/math");
|
|
30
30
|
var _excluded = ["id"];
|
|
31
31
|
var warn = (0, _warnOnce.warnOnce)('ModalRoot');
|
|
32
32
|
var ModalRootDesktopComponent = /*#__PURE__*/function (_React$Component) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalRootDesktop.js","names":["warn","warnOnce","ModalRootDesktopComponent","props","undefined","maskElementRef","React","createRef","modalRootContext","updateModalHeight","registerModal","id","data","Object","assign","getModalState","onClose","onExit","isInsideModal","platform","Platform","IOS","Children","toArray","children","prevProps","exitingModal","closeModal","enteringModal","openModal","activeModal","restoreFocusTo","document","activeElement","focus","enteringState","onEnter","requestAnimationFrame","waitTransitionFinish","onEntered","animateModalOpacity","innerElement","style","transition","opacity","prevModalState","onExited","setMaskOpacity","modalState","eventHandler","transitionEvent","supported","onceHandler","removeEventListener","name","addEventListener","setTimeout","timeout","display","transitionDelay","delayEnter","forceOpacity","history","maskAnimationFrame","cancelAnimationFrame","current","translateY","translateYCurrent","clamp","toString","classNames","configProvider","webviewType","WebviewType","VKAPPS","modals","map","Modal","modalId","getNavId","key","Component","ModalRootDesktop","withContext","withPlatform","withDOM","withModalManager","ConfigProviderContext"],"sources":["../../../../src/components/ModalRoot/ModalRootDesktop.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { HasPlatform } from '../../types';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { withContext } from '../../hoc/withContext';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n WebviewType,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { ModalsStateEntry } from './types';\nimport { Platform } from '../../lib/platform';\nimport { DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId } from '../../lib/getNavId';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport { clamp } from '../../helpers/math';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nexport interface ModalRootProps extends HasPlatform {\n activeModal?: string | null;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n children?: React.ReactNode;\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?(modalId: string): void;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?(modalId: string): void;\n}\n\nclass ModalRootDesktopComponent extends React.Component<\n ModalRootProps & DOMProps & ModalTransitionProps\n> {\n constructor(props: ModalRootProps & ModalTransitionProps) {\n super(props);\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: () => undefined,\n registerModal: ({ id, ...data }) => Object.assign(this.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n }\n\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private restoreFocusTo: HTMLElement | undefined = undefined;\n\n private get timeout() {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n private get modals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n getModalState(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.props.getModalState(id);\n }\n\n componentDidUpdate(prevProps: ModalRootProps & ModalTransitionProps) {\n // transition phase 2: animate exiting modal\n if (this.props.exitingModal && this.props.exitingModal !== prevProps.exitingModal) {\n this.closeModal(this.props.exitingModal);\n }\n\n // transition phase 3: animate entering modal\n if (this.props.enteringModal && this.props.enteringModal !== prevProps.enteringModal) {\n this.openModal(prevProps);\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = (this.props.document?.activeElement ?? undefined) as\n | HTMLElement\n | undefined;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = undefined;\n }\n }\n\n openModal(prevProps: ModalRootProps & ModalTransitionProps) {\n const { enteringModal } = this.props;\n if (!enteringModal) {\n return;\n }\n\n const enteringState = this.getModalState(enteringModal);\n this.props.onEnter();\n\n // Анимация открытия модального окна\n if (!prevProps.exitingModal) {\n requestAnimationFrame(() => {\n if (this.props.enteringModal === enteringModal) {\n this.waitTransitionFinish(enteringState, () => this.props.onEntered(enteringModal));\n this.animateModalOpacity(enteringState, true);\n }\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transition = 'none';\n enteringState.innerElement.style.opacity = '1';\n }\n\n this.props.onEntered(enteringModal);\n }\n\n closeModal(id: string) {\n const prevModalState = this.getModalState(id);\n if (!prevModalState) {\n return;\n }\n\n // Анимация закрытия модального окна\n if (!this.props.activeModal) {\n requestAnimationFrame(() => {\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n this.animateModalOpacity(prevModalState, false);\n this.setMaskOpacity(prevModalState, 0);\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n this.props.onExited(id);\n }\n\n waitTransitionFinish(modalState: ModalsStateEntry | undefined, eventHandler: () => void) {\n if (transitionEvent.supported) {\n const onceHandler = () => {\n modalState?.innerElement?.removeEventListener(transitionEvent.name as string, onceHandler);\n eventHandler();\n };\n\n modalState?.innerElement?.addEventListener(transitionEvent.name as string, onceHandler);\n } else {\n setTimeout(eventHandler, this.timeout);\n }\n }\n\n /* Анимирует сдвиг модалки */\n animateModalOpacity(modalState: ModalsStateEntry | undefined, display: boolean) {\n if (modalState?.innerElement) {\n modalState.innerElement.style.transition = '';\n modalState.innerElement.style.transitionDelay =\n display && this.props.delayEnter ? `${this.timeout}ms` : '';\n modalState.innerElement.style.opacity = display ? '1' : '0';\n }\n }\n\n /* Устанавливает прозрачность для полупрозрачной подложки */\n setMaskOpacity(modalState: ModalsStateEntry, forceOpacity: number | null = null) {\n if (forceOpacity === null && this.props.history?.[0] !== modalState.id) {\n return;\n }\n\n if (this.maskAnimationFrame) {\n cancelAnimationFrame(this.maskAnimationFrame);\n }\n this.maskAnimationFrame = requestAnimationFrame(() => {\n if (this.maskElementRef.current) {\n const { translateY = 0, translateYCurrent = 0 } = modalState;\n\n const opacity =\n forceOpacity === null\n ? 1 - (translateYCurrent - translateY) / (100 - translateY) || 0\n : forceOpacity;\n this.maskElementRef.current.style.opacity = clamp(opacity, 0, 100).toString();\n }\n });\n }\n\n render() {\n const { exitingModal, activeModal } = this.props;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <ModalRootContext.Provider value={this.modalRootContext}>\n <div\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n styles['ModalRoot--desktop'],\n )}\n >\n <div\n className={styles['ModalRoot__mask']}\n ref={this.maskElementRef}\n onClick={this.props.onExit}\n />\n <div className={styles['ModalRoot__viewport']}>\n {this.modals.map((Modal: React.ReactElement) => {\n const modalId = getNavId(Modal.props, warn);\n if (modalId !== activeModal && modalId !== exitingModal) {\n return null;\n }\n\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n restoreFocus={false}\n onClose={this.props.onExit}\n timeout={this.timeout}\n key={key}\n className={styles['ModalRoot__modal']}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </div>\n </ModalRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootDesktop = withContext(\n withPlatform(withDOM<ModalRootProps>(withModalManager()(ModalRootDesktopComponent))),\n ConfigProviderContext,\n 'configProvider',\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModalRootDesktop.js","names":["warn","warnOnce","ModalRootDesktopComponent","props","undefined","maskElementRef","React","createRef","modalRootContext","updateModalHeight","registerModal","id","data","Object","assign","getModalState","onClose","onExit","isInsideModal","platform","Platform","IOS","Children","toArray","children","prevProps","exitingModal","closeModal","enteringModal","openModal","activeModal","restoreFocusTo","document","activeElement","focus","enteringState","onEnter","requestAnimationFrame","waitTransitionFinish","onEntered","animateModalOpacity","innerElement","style","transition","opacity","prevModalState","onExited","setMaskOpacity","modalState","eventHandler","transitionEvent","supported","onceHandler","removeEventListener","name","addEventListener","setTimeout","timeout","display","transitionDelay","delayEnter","forceOpacity","history","maskAnimationFrame","cancelAnimationFrame","current","translateY","translateYCurrent","clamp","toString","classNames","configProvider","webviewType","WebviewType","VKAPPS","modals","map","Modal","modalId","getNavId","key","Component","ModalRootDesktop","withContext","withPlatform","withDOM","withModalManager","ConfigProviderContext"],"sources":["../../../../src/components/ModalRoot/ModalRootDesktop.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { withContext } from '../../hoc/withContext';\nimport { withPlatform } from '../../hoc/withPlatform';\nimport { DOMProps, withDOM } from '../../lib/dom';\nimport { getNavId } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasPlatform } from '../../types';\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n WebviewType,\n} from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport { ModalsStateEntry } from './types';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nexport interface ModalRootProps extends HasPlatform {\n activeModal?: string | null;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n children?: React.ReactNode;\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?(modalId: string): void;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?(modalId: string): void;\n}\n\nclass ModalRootDesktopComponent extends React.Component<\n ModalRootProps & DOMProps & ModalTransitionProps\n> {\n constructor(props: ModalRootProps & ModalTransitionProps) {\n super(props);\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: () => undefined,\n registerModal: ({ id, ...data }) => Object.assign(this.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n }\n\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private restoreFocusTo: HTMLElement | undefined = undefined;\n\n private get timeout() {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n private get modals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n getModalState(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.props.getModalState(id);\n }\n\n componentDidUpdate(prevProps: ModalRootProps & ModalTransitionProps) {\n // transition phase 2: animate exiting modal\n if (this.props.exitingModal && this.props.exitingModal !== prevProps.exitingModal) {\n this.closeModal(this.props.exitingModal);\n }\n\n // transition phase 3: animate entering modal\n if (this.props.enteringModal && this.props.enteringModal !== prevProps.enteringModal) {\n this.openModal(prevProps);\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = (this.props.document?.activeElement ?? undefined) as\n | HTMLElement\n | undefined;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = undefined;\n }\n }\n\n openModal(prevProps: ModalRootProps & ModalTransitionProps) {\n const { enteringModal } = this.props;\n if (!enteringModal) {\n return;\n }\n\n const enteringState = this.getModalState(enteringModal);\n this.props.onEnter();\n\n // Анимация открытия модального окна\n if (!prevProps.exitingModal) {\n requestAnimationFrame(() => {\n if (this.props.enteringModal === enteringModal) {\n this.waitTransitionFinish(enteringState, () => this.props.onEntered(enteringModal));\n this.animateModalOpacity(enteringState, true);\n }\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transition = 'none';\n enteringState.innerElement.style.opacity = '1';\n }\n\n this.props.onEntered(enteringModal);\n }\n\n closeModal(id: string) {\n const prevModalState = this.getModalState(id);\n if (!prevModalState) {\n return;\n }\n\n // Анимация закрытия модального окна\n if (!this.props.activeModal) {\n requestAnimationFrame(() => {\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n this.animateModalOpacity(prevModalState, false);\n this.setMaskOpacity(prevModalState, 0);\n });\n\n return;\n }\n\n // Переход между модальными окнами без анимации\n this.props.onExited(id);\n }\n\n waitTransitionFinish(modalState: ModalsStateEntry | undefined, eventHandler: () => void) {\n if (transitionEvent.supported) {\n const onceHandler = () => {\n modalState?.innerElement?.removeEventListener(transitionEvent.name as string, onceHandler);\n eventHandler();\n };\n\n modalState?.innerElement?.addEventListener(transitionEvent.name as string, onceHandler);\n } else {\n setTimeout(eventHandler, this.timeout);\n }\n }\n\n /* Анимирует сдвиг модалки */\n animateModalOpacity(modalState: ModalsStateEntry | undefined, display: boolean) {\n if (modalState?.innerElement) {\n modalState.innerElement.style.transition = '';\n modalState.innerElement.style.transitionDelay =\n display && this.props.delayEnter ? `${this.timeout}ms` : '';\n modalState.innerElement.style.opacity = display ? '1' : '0';\n }\n }\n\n /* Устанавливает прозрачность для полупрозрачной подложки */\n setMaskOpacity(modalState: ModalsStateEntry, forceOpacity: number | null = null) {\n if (forceOpacity === null && this.props.history?.[0] !== modalState.id) {\n return;\n }\n\n if (this.maskAnimationFrame) {\n cancelAnimationFrame(this.maskAnimationFrame);\n }\n this.maskAnimationFrame = requestAnimationFrame(() => {\n if (this.maskElementRef.current) {\n const { translateY = 0, translateYCurrent = 0 } = modalState;\n\n const opacity =\n forceOpacity === null\n ? 1 - (translateYCurrent - translateY) / (100 - translateY) || 0\n : forceOpacity;\n this.maskElementRef.current.style.opacity = clamp(opacity, 0, 100).toString();\n }\n });\n }\n\n render() {\n const { exitingModal, activeModal } = this.props;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <ModalRootContext.Provider value={this.modalRootContext}>\n <div\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n styles['ModalRoot--desktop'],\n )}\n >\n <div\n className={styles['ModalRoot__mask']}\n ref={this.maskElementRef}\n onClick={this.props.onExit}\n />\n <div className={styles['ModalRoot__viewport']}>\n {this.modals.map((Modal: React.ReactElement) => {\n const modalId = getNavId(Modal.props, warn);\n if (modalId !== activeModal && modalId !== exitingModal) {\n return null;\n }\n\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n restoreFocus={false}\n onClose={this.props.onExit}\n timeout={this.timeout}\n key={key}\n className={styles['ModalRoot__modal']}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </div>\n </ModalRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootDesktop = withContext(\n withPlatform(withDOM<ModalRootProps>(withModalManager()(ModalRootDesktopComponent))),\n ConfigProviderContext,\n 'configProvider',\n);\n"],"mappings":"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"}
|
|
@@ -13,11 +13,11 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
13
13
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
14
14
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
15
|
var React = _interopRequireWildcard(require("react"));
|
|
16
|
-
var
|
|
17
|
-
var _warnOnce = require("../../lib/warnOnce");
|
|
16
|
+
var _vkjs = require("@vkontakte/vkjs");
|
|
18
17
|
var _getNavId = require("../../lib/getNavId");
|
|
19
18
|
var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
|
|
20
|
-
var
|
|
19
|
+
var _warnOnce = require("../../lib/warnOnce");
|
|
20
|
+
var _types = require("./types");
|
|
21
21
|
function getModals(children) {
|
|
22
22
|
return React.Children.toArray(children);
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModalManager.js","names":["getModals","children","React","Children","toArray","warn","warnOnce","modalTransitionReducer","state","action","type","id","activeModal","nextModal","prevModal","exitingModal","history","isBack","Boolean","includes","splice","indexOf","push","enteringModal","useModalManager","onOpen","noop","onOpened","onClose","onClosed","initModal","modalsState","useRef","current","forEach","Modal","modalProps","props","getNavId","undefined","dynamicContentHeight","settlingHeight","isMissing","safeActiveModal","useReducer","transitionState","dispatchTransition","useIsomorphicLayoutEffect","process","env","NODE_ENV","isCard","ModalType","CARD","onEntered","useCallback","modalState","isFunction","onExited","delayEnter","getModalState","onEnter","onExit","withModalManager","Wrapped","WithModalManager","transitionManager"],"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ModalsState, ModalsStateEntry, ModalType } from './types';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { getNavId } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { noop, isFunction } from '@vkontakte/vkjs';\n\ninterface ModalTransitionState {\n activeModal?: string | null;\n enteringModal?: string | null;\n exitingModal?: string | null;\n\n history?: string[];\n isBack?: boolean | null;\n}\n\nexport interface ModalTransitionProps extends ModalTransitionState {\n onEnter: VoidFunction;\n onEntered: (id: string | null) => void;\n onExit: VoidFunction;\n onExited: (id: string | null) => void;\n getModalState: (id: string) => ModalsStateEntry;\n delayEnter: boolean;\n}\n\nfunction getModals(children: React.ReactNode | React.ReactNode[]) {\n return React.Children.toArray(children) as React.ReactElement[];\n}\n\nconst warn = warnOnce('ModalRoot');\n\nexport function modalTransitionReducer(\n state: ModalTransitionState,\n action: {\n type: 'setActive' | 'entered' | 'exited' | 'inited';\n id: string | null;\n },\n): ModalTransitionState {\n if (action.type === 'setActive' && action.id !== state.activeModal) {\n const nextModal = action.id;\n // preserve exiting modal if switching mid-transition\n const prevModal = state.exitingModal || state.activeModal;\n let history = state.history ? [...state.history] : [];\n const isBack = Boolean(nextModal && history.includes(nextModal));\n\n if (nextModal === null) {\n history = [];\n } else if (isBack) {\n history = history.splice(0, history.indexOf(nextModal) + 1);\n } else {\n history.push(nextModal);\n }\n\n return {\n activeModal: nextModal,\n // not entering yet\n enteringModal: null,\n exitingModal: prevModal,\n history,\n isBack,\n };\n }\n if (action.type === 'entered' && action.id === state.enteringModal) {\n return { ...state, enteringModal: null };\n }\n if (action.type === 'exited' && action.id === state.exitingModal) {\n return { ...state, exitingModal: null };\n }\n if (action.type === 'inited' && action.id === state.activeModal) {\n return { ...state, enteringModal: action.id };\n }\n return state;\n}\n\n/**\n * Реализует переход модалок. При смене activeModal m1 -> m2:\n * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода\n * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода\n * одновременный переход между ModalPage:\n * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2\n * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации\n * ИЛИ дожидаемся скрытия ModalCard\n * 3b. activeModal: m2, exitingModal: null, enteringModal: m2\n * 4b. enteringModal переходит в null после завершения анимации\n * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен\n */\nexport function useModalManager(\n activeModal: string | null | undefined,\n children: React.ReactNode | React.ReactNode[],\n onOpen: (id: string) => void = noop,\n onOpened: (id: string) => void = noop,\n onClose: (id: string) => void = noop,\n onClosed: (id: string) => void = noop,\n initModal: (state: ModalsStateEntry) => void = noop,\n): ModalTransitionProps {\n const modalsState = React.useRef<ModalsState>({}).current;\n getModals(children).forEach((Modal) => {\n const modalProps = Modal.props;\n const id = getNavId(modalProps, warn);\n const state: ModalsStateEntry = (id !== undefined && modalsState[id]) || {\n id: id ?? null,\n };\n\n state.onOpen = Modal.props.onOpen;\n state.onOpened = Modal.props.onOpened;\n state.onClose = Modal.props.onClose;\n state.onClosed = Modal.props.onClosed;\n state.dynamicContentHeight = !!modalProps.dynamicContentHeight;\n // ModalPage props\n if (typeof modalProps.settlingHeight === 'number') {\n state.settlingHeight = modalProps.settlingHeight;\n }\n\n if (state.id !== null) {\n modalsState[state.id] = state;\n }\n });\n\n const isMissing = activeModal && !modalsState[activeModal];\n const safeActiveModal = isMissing ? null : activeModal;\n const [transitionState, dispatchTransition] = React.useReducer(modalTransitionReducer, {\n activeModal: safeActiveModal,\n enteringModal: null,\n exitingModal: null,\n history: safeActiveModal ? [safeActiveModal] : [],\n isBack: false,\n });\n\n // Map props to state, render activeModal for init\n useIsomorphicLayoutEffect(() => {\n // ignore non-existent activeModal\n if (process.env.NODE_ENV === 'development' && isMissing) {\n warn(`Переход невозможен - модальное окно (страница) ${activeModal} не существует`, 'error');\n }\n dispatchTransition({ type: 'setActive', id: safeActiveModal ?? null });\n }, [activeModal]);\n\n // Init activeModal & set enteringModal\n useIsomorphicLayoutEffect(() => {\n if (transitionState.activeModal) {\n initModal(modalsState[transitionState.activeModal]);\n dispatchTransition({ type: 'inited', id: transitionState.activeModal });\n }\n }, [transitionState.activeModal]);\n\n const isCard = (id: string | null | undefined) =>\n id != null && modalsState[id]?.type === ModalType.CARD;\n const onEntered = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onOpened)) {\n modalState.onOpened();\n } else if (isFunction(onOpened)) {\n onOpened(id);\n }\n }\n\n dispatchTransition({ type: 'entered', id });\n },\n [modalsState, onOpened],\n );\n const onExited = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onClosed)) {\n modalState.onClosed();\n } else if (isFunction(onClosed)) {\n onClosed(id);\n }\n }\n\n dispatchTransition({ type: 'exited', id });\n },\n [modalsState, onClosed],\n );\n const delayEnter = Boolean(\n transitionState.exitingModal && (isCard(activeModal) || isCard(transitionState.exitingModal)),\n );\n const getModalState = React.useCallback((id: string) => modalsState[id], [modalsState]);\n\n function onEnter() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onOpen)) {\n modalState.onOpen();\n } else if (isFunction(onOpen)) {\n onOpen(modalState.id);\n }\n }\n }\n\n function onExit() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onClose)) {\n modalState.onClose();\n } else if (isFunction(onClose)) {\n onClose(modalState.id);\n }\n }\n }\n\n return {\n onEnter,\n onEntered,\n onExit,\n onExited,\n ...transitionState,\n delayEnter,\n getModalState,\n };\n}\n\nexport function withModalManager(initModal: (a: ModalsStateEntry) => void = noop) {\n return function <Props extends ModalTransitionProps>(\n Wrapped: React.ComponentType<Props>,\n ): React.ComponentType<\n Omit<Props, keyof ModalTransitionProps> & {\n activeModal?: string | null;\n children?: React.ReactNode;\n }\n > {\n return function WithModalManager(props) {\n const transitionManager = useModalManager(\n props.activeModal,\n props.children,\n (props as any).onOpen,\n (props as any).onOpened,\n (props as any).onClose,\n (props as any).onClosed,\n initModal,\n );\n return <Wrapped {...(props as any)} {...transitionManager} />;\n };\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAoBA,SAASA,SAAS,CAACC,QAA6C,EAAE;EAChE,OAAOC,KAAK,CAACC,QAAQ,CAACC,OAAO,CAACH,QAAQ,CAAC;AACzC;AAEA,IAAMI,IAAI,GAAG,IAAAC,kBAAQ,EAAC,WAAW,CAAC;AAE3B,SAASC,sBAAsB,CACpCC,KAA2B,EAC3BC,MAGC,EACqB;EACtB,IAAIA,MAAM,CAACC,IAAI,KAAK,WAAW,IAAID,MAAM,CAACE,EAAE,KAAKH,KAAK,CAACI,WAAW,EAAE;IAClE,IAAMC,SAAS,GAAGJ,MAAM,CAACE,EAAE;IAC3B;IACA,IAAMG,SAAS,GAAGN,KAAK,CAACO,YAAY,IAAIP,KAAK,CAACI,WAAW;IACzD,IAAII,OAAO,GAAGR,KAAK,CAACQ,OAAO,oCAAOR,KAAK,CAACQ,OAAO,IAAI,EAAE;IACrD,IAAMC,MAAM,GAAGC,OAAO,CAACL,SAAS,IAAIG,OAAO,CAACG,QAAQ,CAACN,SAAS,CAAC,CAAC;IAEhE,IAAIA,SAAS,KAAK,IAAI,EAAE;MACtBG,OAAO,GAAG,EAAE;IACd,CAAC,MAAM,IAAIC,MAAM,EAAE;MACjBD,OAAO,GAAGA,OAAO,CAACI,MAAM,CAAC,CAAC,EAAEJ,OAAO,CAACK,OAAO,CAACR,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC,MAAM;MACLG,OAAO,CAACM,IAAI,CAACT,SAAS,CAAC;IACzB;IAEA,OAAO;MACLD,WAAW,EAAEC,SAAS;MACtB;MACAU,aAAa,EAAE,IAAI;MACnBR,YAAY,EAAED,SAAS;MACvBE,OAAO,EAAPA,OAAO;MACPC,MAAM,EAANA;IACF,CAAC;EACH;EACA,IAAIR,MAAM,CAACC,IAAI,KAAK,SAAS,IAAID,MAAM,CAACE,EAAE,KAAKH,KAAK,CAACe,aAAa,EAAE;IAClE,mEAAYf,KAAK;MAAEe,aAAa,EAAE;IAAI;EACxC;EACA,IAAId,MAAM,CAACC,IAAI,KAAK,QAAQ,IAAID,MAAM,CAACE,EAAE,KAAKH,KAAK,CAACO,YAAY,EAAE;IAChE,mEAAYP,KAAK;MAAEO,YAAY,EAAE;IAAI;EACvC;EACA,IAAIN,MAAM,CAACC,IAAI,KAAK,QAAQ,IAAID,MAAM,CAACE,EAAE,KAAKH,KAAK,CAACI,WAAW,EAAE;IAC/D,mEAAYJ,KAAK;MAAEe,aAAa,EAAEd,MAAM,CAACE;IAAE;EAC7C;EACA,OAAOH,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASgB,eAAe,CAC7BZ,WAAsC,EACtCX,QAA6C,EAMvB;EAAA,IALtBwB,MAA4B,uEAAGC,UAAI;EAAA,IACnCC,QAA8B,uEAAGD,UAAI;EAAA,IACrCE,OAA6B,uEAAGF,UAAI;EAAA,IACpCG,QAA8B,uEAAGH,UAAI;EAAA,IACrCI,SAA4C,uEAAGJ,UAAI;EAEnD,IAAMK,WAAW,GAAG7B,KAAK,CAAC8B,MAAM,CAAc,CAAC,CAAC,CAAC,CAACC,OAAO;EACzDjC,SAAS,CAACC,QAAQ,CAAC,CAACiC,OAAO,CAAC,UAACC,KAAK,EAAK;IACrC,IAAMC,UAAU,GAAGD,KAAK,CAACE,KAAK;IAC9B,IAAM1B,EAAE,GAAG,IAAA2B,kBAAQ,EAACF,UAAU,EAAE/B,IAAI,CAAC;IACrC,IAAMG,KAAuB,GAAIG,EAAE,KAAK4B,SAAS,IAAIR,WAAW,CAACpB,EAAE,CAAC,IAAK;MACvEA,EAAE,EAAEA,EAAE,aAAFA,EAAE,cAAFA,EAAE,GAAI;IACZ,CAAC;IAEDH,KAAK,CAACiB,MAAM,GAAGU,KAAK,CAACE,KAAK,CAACZ,MAAM;IACjCjB,KAAK,CAACmB,QAAQ,GAAGQ,KAAK,CAACE,KAAK,CAACV,QAAQ;IACrCnB,KAAK,CAACoB,OAAO,GAAGO,KAAK,CAACE,KAAK,CAACT,OAAO;IACnCpB,KAAK,CAACqB,QAAQ,GAAGM,KAAK,CAACE,KAAK,CAACR,QAAQ;IACrCrB,KAAK,CAACgC,oBAAoB,GAAG,CAAC,CAACJ,UAAU,CAACI,oBAAoB;IAC9D;IACA,IAAI,OAAOJ,UAAU,CAACK,cAAc,KAAK,QAAQ,EAAE;MACjDjC,KAAK,CAACiC,cAAc,GAAGL,UAAU,CAACK,cAAc;IAClD;IAEA,IAAIjC,KAAK,CAACG,EAAE,KAAK,IAAI,EAAE;MACrBoB,WAAW,CAACvB,KAAK,CAACG,EAAE,CAAC,GAAGH,KAAK;IAC/B;EACF,CAAC,CAAC;EAEF,IAAMkC,SAAS,GAAG9B,WAAW,IAAI,CAACmB,WAAW,CAACnB,WAAW,CAAC;EAC1D,IAAM+B,eAAe,GAAGD,SAAS,GAAG,IAAI,GAAG9B,WAAW;EACtD,wBAA8CV,KAAK,CAAC0C,UAAU,CAACrC,sBAAsB,EAAE;MACrFK,WAAW,EAAE+B,eAAe;MAC5BpB,aAAa,EAAE,IAAI;MACnBR,YAAY,EAAE,IAAI;MAClBC,OAAO,EAAE2B,eAAe,GAAG,CAACA,eAAe,CAAC,GAAG,EAAE;MACjD1B,MAAM,EAAE;IACV,CAAC,CAAC;IAAA;IANK4B,eAAe;IAAEC,kBAAkB;;EAQ1C;EACA,IAAAC,oDAAyB,EAAC,YAAM;IAC9B;IACA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,IAAIR,SAAS,EAAE;MACvDrC,IAAI,wPAAmDO,WAAW,iFAAkB,OAAO,CAAC;IAC9F;IACAkC,kBAAkB,CAAC;MAAEpC,IAAI,EAAE,WAAW;MAAEC,EAAE,EAAEgC,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAI;IAAK,CAAC,CAAC;EACxE,CAAC,EAAE,CAAC/B,WAAW,CAAC,CAAC;;EAEjB;EACA,IAAAmC,oDAAyB,EAAC,YAAM;IAC9B,IAAIF,eAAe,CAACjC,WAAW,EAAE;MAC/BkB,SAAS,CAACC,WAAW,CAACc,eAAe,CAACjC,WAAW,CAAC,CAAC;MACnDkC,kBAAkB,CAAC;QAAEpC,IAAI,EAAE,QAAQ;QAAEC,EAAE,EAAEkC,eAAe,CAACjC;MAAY,CAAC,CAAC;IACzE;EACF,CAAC,EAAE,CAACiC,eAAe,CAACjC,WAAW,CAAC,CAAC;EAEjC,IAAMuC,MAAM,GAAG,SAATA,MAAM,CAAIxC,EAA6B;IAAA;IAAA,OAC3CA,EAAE,IAAI,IAAI,IAAI,oBAAAoB,WAAW,CAACpB,EAAE,CAAC,oDAAf,gBAAiBD,IAAI,MAAK0C,gBAAS,CAACC,IAAI;EAAA;EACxD,IAAMC,SAAS,GAAGpD,KAAK,CAACqD,WAAW,CACjC,UAAC5C,EAAiB,EAAK;IACrB,IAAIA,EAAE,EAAE;MACN,IAAM6C,UAAU,GAAGzB,WAAW,CAACpB,EAAE,CAAC;MAElC,IAAI,IAAA8C,gBAAU,EAACD,UAAU,CAAC7B,QAAQ,CAAC,EAAE;QACnC6B,UAAU,CAAC7B,QAAQ,EAAE;MACvB,CAAC,MAAM,IAAI,IAAA8B,gBAAU,EAAC9B,QAAQ,CAAC,EAAE;QAC/BA,QAAQ,CAAChB,EAAE,CAAC;MACd;IACF;IAEAmC,kBAAkB,CAAC;MAAEpC,IAAI,EAAE,SAAS;MAAEC,EAAE,EAAFA;IAAG,CAAC,CAAC;EAC7C,CAAC,EACD,CAACoB,WAAW,EAAEJ,QAAQ,CAAC,CACxB;EACD,IAAM+B,QAAQ,GAAGxD,KAAK,CAACqD,WAAW,CAChC,UAAC5C,EAAiB,EAAK;IACrB,IAAIA,EAAE,EAAE;MACN,IAAM6C,UAAU,GAAGzB,WAAW,CAACpB,EAAE,CAAC;MAElC,IAAI,IAAA8C,gBAAU,EAACD,UAAU,CAAC3B,QAAQ,CAAC,EAAE;QACnC2B,UAAU,CAAC3B,QAAQ,EAAE;MACvB,CAAC,MAAM,IAAI,IAAA4B,gBAAU,EAAC5B,QAAQ,CAAC,EAAE;QAC/BA,QAAQ,CAAClB,EAAE,CAAC;MACd;IACF;IAEAmC,kBAAkB,CAAC;MAAEpC,IAAI,EAAE,QAAQ;MAAEC,EAAE,EAAFA;IAAG,CAAC,CAAC;EAC5C,CAAC,EACD,CAACoB,WAAW,EAAEF,QAAQ,CAAC,CACxB;EACD,IAAM8B,UAAU,GAAGzC,OAAO,CACxB2B,eAAe,CAAC9B,YAAY,KAAKoC,MAAM,CAACvC,WAAW,CAAC,IAAIuC,MAAM,CAACN,eAAe,CAAC9B,YAAY,CAAC,CAAC,CAC9F;EACD,IAAM6C,aAAa,GAAG1D,KAAK,CAACqD,WAAW,CAAC,UAAC5C,EAAU;IAAA,OAAKoB,WAAW,CAACpB,EAAE,CAAC;EAAA,GAAE,CAACoB,WAAW,CAAC,CAAC;EAEvF,SAAS8B,OAAO,GAAG;IACjB,IAAML,UAAU,GAAGX,eAAe,CAACjC,WAAW,IAAImB,WAAW,CAACc,eAAe,CAACjC,WAAW,CAAC;IAC1F,IAAI4C,UAAU,EAAE;MACd,IAAI,IAAAC,gBAAU,EAACD,UAAU,CAAC/B,MAAM,CAAC,EAAE;QACjC+B,UAAU,CAAC/B,MAAM,EAAE;MACrB,CAAC,MAAM,IAAI,IAAAgC,gBAAU,EAAChC,MAAM,CAAC,EAAE;QAC7BA,MAAM,CAAC+B,UAAU,CAAC7C,EAAE,CAAC;MACvB;IACF;EACF;EAEA,SAASmD,MAAM,GAAG;IAChB,IAAMN,UAAU,GAAGX,eAAe,CAACjC,WAAW,IAAImB,WAAW,CAACc,eAAe,CAACjC,WAAW,CAAC;IAC1F,IAAI4C,UAAU,EAAE;MACd,IAAI,IAAAC,gBAAU,EAACD,UAAU,CAAC5B,OAAO,CAAC,EAAE;QAClC4B,UAAU,CAAC5B,OAAO,EAAE;MACtB,CAAC,MAAM,IAAI,IAAA6B,gBAAU,EAAC7B,OAAO,CAAC,EAAE;QAC9BA,OAAO,CAAC4B,UAAU,CAAC7C,EAAE,CAAC;MACxB;IACF;EACF;EAEA;IACEkD,OAAO,EAAPA,OAAO;IACPP,SAAS,EAATA,SAAS;IACTQ,MAAM,EAANA,MAAM;IACNJ,QAAQ,EAARA;EAAQ,GACLb,eAAe;IAClBc,UAAU,EAAVA,UAAU;IACVC,aAAa,EAAbA;EAAa;AAEjB;AAEO,SAASG,gBAAgB,GAAkD;EAAA,IAAjDjC,SAAwC,uEAAGJ,UAAI;EAC9E,OAAO,UACLsC,OAAmC,EAMnC;IACA,OAAO,SAASC,gBAAgB,CAAC5B,KAAK,EAAE;MACtC,IAAM6B,iBAAiB,GAAG1C,eAAe,CACvCa,KAAK,CAACzB,WAAW,EACjByB,KAAK,CAACpC,QAAQ,EACboC,KAAK,CAASZ,MAAM,EACpBY,KAAK,CAASV,QAAQ,EACtBU,KAAK,CAAST,OAAO,EACrBS,KAAK,CAASR,QAAQ,EACvBC,SAAS,CACV;MACD,oBAAO,oBAAC,OAAO,6BAAMO,KAAK,EAAc6B,iBAAiB,EAAI;IAC/D,CAAC;EACH,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"useModalManager.js","names":["getModals","children","React","Children","toArray","warn","warnOnce","modalTransitionReducer","state","action","type","id","activeModal","nextModal","prevModal","exitingModal","history","isBack","Boolean","includes","splice","indexOf","push","enteringModal","useModalManager","onOpen","noop","onOpened","onClose","onClosed","initModal","modalsState","useRef","current","forEach","Modal","modalProps","props","getNavId","undefined","dynamicContentHeight","settlingHeight","isMissing","safeActiveModal","useReducer","transitionState","dispatchTransition","useIsomorphicLayoutEffect","process","env","NODE_ENV","isCard","ModalType","CARD","onEntered","useCallback","modalState","isFunction","onExited","delayEnter","getModalState","onEnter","onExit","withModalManager","Wrapped","WithModalManager","transitionManager"],"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"sourcesContent":["import * as React from 'react';\nimport { isFunction, noop } from '@vkontakte/vkjs';\nimport { getNavId } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { ModalsState, ModalsStateEntry, ModalType } from './types';\n\ninterface ModalTransitionState {\n activeModal?: string | null;\n enteringModal?: string | null;\n exitingModal?: string | null;\n\n history?: string[];\n isBack?: boolean | null;\n}\n\nexport interface ModalTransitionProps extends ModalTransitionState {\n onEnter: VoidFunction;\n onEntered: (id: string | null) => void;\n onExit: VoidFunction;\n onExited: (id: string | null) => void;\n getModalState: (id: string) => ModalsStateEntry;\n delayEnter: boolean;\n}\n\nfunction getModals(children: React.ReactNode | React.ReactNode[]) {\n return React.Children.toArray(children) as React.ReactElement[];\n}\n\nconst warn = warnOnce('ModalRoot');\n\nexport function modalTransitionReducer(\n state: ModalTransitionState,\n action: {\n type: 'setActive' | 'entered' | 'exited' | 'inited';\n id: string | null;\n },\n): ModalTransitionState {\n if (action.type === 'setActive' && action.id !== state.activeModal) {\n const nextModal = action.id;\n // preserve exiting modal if switching mid-transition\n const prevModal = state.exitingModal || state.activeModal;\n let history = state.history ? [...state.history] : [];\n const isBack = Boolean(nextModal && history.includes(nextModal));\n\n if (nextModal === null) {\n history = [];\n } else if (isBack) {\n history = history.splice(0, history.indexOf(nextModal) + 1);\n } else {\n history.push(nextModal);\n }\n\n return {\n activeModal: nextModal,\n // not entering yet\n enteringModal: null,\n exitingModal: prevModal,\n history,\n isBack,\n };\n }\n if (action.type === 'entered' && action.id === state.enteringModal) {\n return { ...state, enteringModal: null };\n }\n if (action.type === 'exited' && action.id === state.exitingModal) {\n return { ...state, exitingModal: null };\n }\n if (action.type === 'inited' && action.id === state.activeModal) {\n return { ...state, enteringModal: action.id };\n }\n return state;\n}\n\n/**\n * Реализует переход модалок. При смене activeModal m1 -> m2:\n * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода\n * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода\n * одновременный переход между ModalPage:\n * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2\n * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации\n * ИЛИ дожидаемся скрытия ModalCard\n * 3b. activeModal: m2, exitingModal: null, enteringModal: m2\n * 4b. enteringModal переходит в null после завершения анимации\n * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен\n */\nexport function useModalManager(\n activeModal: string | null | undefined,\n children: React.ReactNode | React.ReactNode[],\n onOpen: (id: string) => void = noop,\n onOpened: (id: string) => void = noop,\n onClose: (id: string) => void = noop,\n onClosed: (id: string) => void = noop,\n initModal: (state: ModalsStateEntry) => void = noop,\n): ModalTransitionProps {\n const modalsState = React.useRef<ModalsState>({}).current;\n getModals(children).forEach((Modal) => {\n const modalProps = Modal.props;\n const id = getNavId(modalProps, warn);\n const state: ModalsStateEntry = (id !== undefined && modalsState[id]) || {\n id: id ?? null,\n };\n\n state.onOpen = Modal.props.onOpen;\n state.onOpened = Modal.props.onOpened;\n state.onClose = Modal.props.onClose;\n state.onClosed = Modal.props.onClosed;\n state.dynamicContentHeight = !!modalProps.dynamicContentHeight;\n // ModalPage props\n if (typeof modalProps.settlingHeight === 'number') {\n state.settlingHeight = modalProps.settlingHeight;\n }\n\n if (state.id !== null) {\n modalsState[state.id] = state;\n }\n });\n\n const isMissing = activeModal && !modalsState[activeModal];\n const safeActiveModal = isMissing ? null : activeModal;\n const [transitionState, dispatchTransition] = React.useReducer(modalTransitionReducer, {\n activeModal: safeActiveModal,\n enteringModal: null,\n exitingModal: null,\n history: safeActiveModal ? [safeActiveModal] : [],\n isBack: false,\n });\n\n // Map props to state, render activeModal for init\n useIsomorphicLayoutEffect(() => {\n // ignore non-existent activeModal\n if (process.env.NODE_ENV === 'development' && isMissing) {\n warn(`Переход невозможен - модальное окно (страница) ${activeModal} не существует`, 'error');\n }\n dispatchTransition({ type: 'setActive', id: safeActiveModal ?? null });\n }, [activeModal]);\n\n // Init activeModal & set enteringModal\n useIsomorphicLayoutEffect(() => {\n if (transitionState.activeModal) {\n initModal(modalsState[transitionState.activeModal]);\n dispatchTransition({ type: 'inited', id: transitionState.activeModal });\n }\n }, [transitionState.activeModal]);\n\n const isCard = (id: string | null | undefined) =>\n id != null && modalsState[id]?.type === ModalType.CARD;\n const onEntered = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onOpened)) {\n modalState.onOpened();\n } else if (isFunction(onOpened)) {\n onOpened(id);\n }\n }\n\n dispatchTransition({ type: 'entered', id });\n },\n [modalsState, onOpened],\n );\n const onExited = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onClosed)) {\n modalState.onClosed();\n } else if (isFunction(onClosed)) {\n onClosed(id);\n }\n }\n\n dispatchTransition({ type: 'exited', id });\n },\n [modalsState, onClosed],\n );\n const delayEnter = Boolean(\n transitionState.exitingModal && (isCard(activeModal) || isCard(transitionState.exitingModal)),\n );\n const getModalState = React.useCallback((id: string) => modalsState[id], [modalsState]);\n\n function onEnter() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onOpen)) {\n modalState.onOpen();\n } else if (isFunction(onOpen)) {\n onOpen(modalState.id);\n }\n }\n }\n\n function onExit() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onClose)) {\n modalState.onClose();\n } else if (isFunction(onClose)) {\n onClose(modalState.id);\n }\n }\n }\n\n return {\n onEnter,\n onEntered,\n onExit,\n onExited,\n ...transitionState,\n delayEnter,\n getModalState,\n };\n}\n\nexport function withModalManager(initModal: (a: ModalsStateEntry) => void = noop) {\n return function <Props extends ModalTransitionProps>(\n Wrapped: React.ComponentType<Props>,\n ): React.ComponentType<\n Omit<Props, keyof ModalTransitionProps> & {\n activeModal?: string | null;\n children?: React.ReactNode;\n }\n > {\n return function WithModalManager(props) {\n const transitionManager = useModalManager(\n props.activeModal,\n props.children,\n (props as any).onOpen,\n (props as any).onOpened,\n (props as any).onClose,\n (props as any).onClosed,\n initModal,\n );\n return <Wrapped {...(props as any)} {...transitionManager} />;\n };\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { FormFieldProps } from '../FormField/FormField';
|
|
3
2
|
import { HasAlign, HasRef, HasRootRef } from '../../types';
|
|
3
|
+
import { FormFieldProps } from '../FormField/FormField';
|
|
4
4
|
import type { SelectType } from '../Select/Select';
|
|
5
5
|
export interface NativeSelectProps extends React.SelectHTMLAttributes<HTMLSelectElement>, HasRef<HTMLSelectElement>, HasRootRef<HTMLLabelElement>, HasAlign, Pick<FormFieldProps, 'status'> {
|
|
6
6
|
placeholder?: string;
|
|
@@ -9,20 +9,23 @@ exports.NativeSelect = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
13
|
var React = _interopRequireWildcard(require("react"));
|
|
13
14
|
var _vkjs = require("@vkontakte/vkjs");
|
|
14
|
-
var _DropdownIcon = require("../DropdownIcon/DropdownIcon");
|
|
15
|
-
var _FormField = require("../FormField/FormField");
|
|
16
15
|
var _getPlatformClassName = require("../../helpers/getPlatformClassName");
|
|
17
|
-
var
|
|
16
|
+
var _useAdaptivity2 = require("../../hooks/useAdaptivity");
|
|
18
17
|
var _useEnsuredControl3 = require("../../hooks/useEnsuredControl");
|
|
19
18
|
var _useExternRef = require("../../hooks/useExternRef");
|
|
20
19
|
var _usePlatform = require("../../hooks/usePlatform");
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var
|
|
20
|
+
var _adaptivity = require("../../lib/adaptivity");
|
|
21
|
+
var _useIsomorphicLayoutEffect = require("../../lib/useIsomorphicLayoutEffect");
|
|
22
|
+
var _DropdownIcon = require("../DropdownIcon/DropdownIcon");
|
|
23
|
+
var _FormField = require("../FormField/FormField");
|
|
24
24
|
var _SelectTypography = require("../SelectTypography/SelectTypography");
|
|
25
25
|
var _excluded = ["style", "defaultValue", "align", "placeholder", "children", "className", "getRef", "getRootRef", "disabled", "multiline", "selectType", "status", "onChange", "value"];
|
|
26
|
+
var sizeYClassNames = (0, _defineProperty2.default)({
|
|
27
|
+
none: "vkuiSelect--sizeY-none"
|
|
28
|
+
}, _adaptivity.SizeType.COMPACT, "vkuiSelect--sizeY-compact");
|
|
26
29
|
/**
|
|
27
30
|
* @see https://vkcom.github.io/VKUI/#/NativeSelect
|
|
28
31
|
*/
|
|
@@ -64,8 +67,8 @@ var NativeSelect = function NativeSelect(_ref) {
|
|
|
64
67
|
onChange = _useEnsuredControl2[1];
|
|
65
68
|
var selectRef = (0, _useExternRef.useExternRef)(getRef);
|
|
66
69
|
var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
|
|
67
|
-
|
|
68
|
-
sizeY = _useAdaptivity
|
|
70
|
+
_useAdaptivity$sizeY = _useAdaptivity.sizeY,
|
|
71
|
+
sizeY = _useAdaptivity$sizeY === void 0 ? 'none' : _useAdaptivity$sizeY;
|
|
69
72
|
(0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
|
|
70
73
|
var _selectRef$current;
|
|
71
74
|
var selectedOption = (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.options[selectRef.current.selectedIndex];
|
|
@@ -76,7 +79,7 @@ var NativeSelect = function NativeSelect(_ref) {
|
|
|
76
79
|
}, [value, children]);
|
|
77
80
|
return /*#__PURE__*/React.createElement(_FormField.FormField, {
|
|
78
81
|
Component: "label",
|
|
79
|
-
className: (0, _vkjs.classNames)("vkuiSelect", (0, _getPlatformClassName.getPlatformClassName)("vkuiSelect", platform), empty && "vkuiSelect--empty", multiline && "vkuiSelect--multiline", align && styles["Select--align-".concat(align)],
|
|
82
|
+
className: (0, _vkjs.classNames)("vkuiSelect", (0, _getPlatformClassName.getPlatformClassName)("vkuiSelect", platform), empty && "vkuiSelect--empty", multiline && "vkuiSelect--multiline", align && styles["Select--align-".concat(align)], sizeY !== _adaptivity.SizeType.REGULAR && sizeYClassNames[sizeY], className),
|
|
80
83
|
style: style,
|
|
81
84
|
getRootRef: getRootRef,
|
|
82
85
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeSelect.js","names":["NativeSelect","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","multiline","selectType","status","onChangeProp","onChange","valueProp","value","restProps","platform","usePlatform","React","useState","title","setTitle","empty","setEmpty","useEnsuredControl","selectRef","useExternRef","useAdaptivity","
|
|
1
|
+
{"version":3,"file":"NativeSelect.js","names":["sizeYClassNames","none","SizeType","COMPACT","NativeSelect","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","multiline","selectType","status","onChangeProp","onChange","valueProp","value","restProps","platform","usePlatform","React","useState","title","setTitle","empty","setEmpty","useEnsuredControl","selectRef","useExternRef","useAdaptivity","sizeY","useIsomorphicLayoutEffect","selectedOption","current","options","selectedIndex","text","classNames","getPlatformClassName","styles","REGULAR"],"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getPlatformClassName } from '../../helpers/getPlatformClassName';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport styles from '../Select/Select.module.css';\n\nconst sizeYClassNames = {\n none: styles['Select--sizeY-none'],\n [SizeType.COMPACT]: styles['Select--sizeY-compact'],\n};\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n Pick<FormFieldProps, 'status'> {\n placeholder?: string;\n multiline?: boolean;\n selectType?: SelectType;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>['value'];\n title?: string;\n notSelected?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/NativeSelect\n */\nconst NativeSelect = ({\n style,\n defaultValue = '',\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n multiline,\n selectType = 'default',\n status,\n onChange: onChangeProp,\n value: valueProp,\n ...restProps\n}: NativeSelectProps) => {\n const platform = usePlatform();\n const [title, setTitle] = React.useState('');\n const [empty, setEmpty] = React.useState(false);\n const [value, onChange] = useEnsuredControl({\n defaultValue,\n disabled,\n onChange: onChangeProp,\n value: valueProp,\n });\n const selectRef = useExternRef(getRef);\n const { sizeY = 'none' } = useAdaptivity();\n\n useIsomorphicLayoutEffect(() => {\n const selectedOption = selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setEmpty(selectedOption.value === '' && placeholder != null);\n }\n }, [value, children]);\n\n return (\n <FormField\n Component=\"label\"\n className={classNames(\n styles['Select'],\n getPlatformClassName(styles['Select'], platform),\n empty && styles['Select--empty'],\n multiline && styles['Select--multiline'],\n align && styles[`Select--align-${align}`],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n className,\n )}\n style={style}\n getRootRef={getRootRef}\n disabled={disabled}\n after={<DropdownIcon />}\n status={status}\n >\n <select\n {...restProps}\n disabled={disabled}\n className={styles['Select__el']}\n onChange={onChange}\n value={value}\n ref={selectRef}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </select>\n <div className={styles['Select__container']}>\n <SelectTypography className={styles['Select__title']} selectType={selectType}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n\nexport { NativeSelect };\n"],"mappings":"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"}
|
|
@@ -8,15 +8,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.Pagination = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
12
|
var React = _interopRequireWildcard(require("react"));
|
|
12
13
|
var _icons = require("@vkontakte/icons");
|
|
13
14
|
var _vkjs = require("@vkontakte/vkjs");
|
|
14
15
|
var _useAdaptivity2 = require("../../hooks/useAdaptivity");
|
|
15
16
|
var _usePagination = require("../../hooks/usePagination");
|
|
16
|
-
var
|
|
17
|
-
var _Tappable = require("../Tappable/Tappable");
|
|
17
|
+
var _adaptivity = require("../../lib/adaptivity");
|
|
18
18
|
var _Button = require("../Button/Button");
|
|
19
|
+
var _Tappable = require("../Tappable/Tappable");
|
|
19
20
|
var _excluded = ["currentPage", "siblingCount", "boundaryCount", "totalPages", "disabled", "getPageAriaLabel", "prevButtonAriaLabel", "nextButtonAriaLabel", "getRootRef", "onChange", "className"];
|
|
21
|
+
var _pageSizeYClassNames;
|
|
22
|
+
var pageSizeYClassNames = (_pageSizeYClassNames = {
|
|
23
|
+
none: "vkuiPagination__page--sizeY-none"
|
|
24
|
+
}, (0, _defineProperty2.default)(_pageSizeYClassNames, _adaptivity.SizeType.COMPACT, "vkuiPagination__page--sizeY-compact"), (0, _defineProperty2.default)(_pageSizeYClassNames, _adaptivity.SizeType.REGULAR, "vkuiPagination__page--sizeY-regular"), _pageSizeYClassNames);
|
|
20
25
|
function getPageAriaLabelDefault(page, isCurrent) {
|
|
21
26
|
return isCurrent ? "".concat(page, " \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430") : "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 ".concat(page, " \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443");
|
|
22
27
|
}
|
|
@@ -44,7 +49,8 @@ var Pagination = function Pagination(_ref) {
|
|
|
44
49
|
className = _ref.className,
|
|
45
50
|
resetProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
46
51
|
var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
|
|
47
|
-
sizeY = _useAdaptivity.sizeY
|
|
52
|
+
_useAdaptivity$sizeY = _useAdaptivity.sizeY,
|
|
53
|
+
sizeY = _useAdaptivity$sizeY === void 0 ? 'none' : _useAdaptivity$sizeY;
|
|
48
54
|
var pages = (0, _usePagination.usePagination)({
|
|
49
55
|
currentPage: currentPage,
|
|
50
56
|
totalPages: totalPages,
|
|
@@ -74,7 +80,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
74
80
|
return /*#__PURE__*/React.createElement("li", {
|
|
75
81
|
key: page
|
|
76
82
|
}, /*#__PURE__*/React.createElement("div", {
|
|
77
|
-
className: (0, _vkjs.classNames)("vkuiPagination__page", "vkuiPagination__page--type-ellipsis",
|
|
83
|
+
className: (0, _vkjs.classNames)("vkuiPagination__page", "vkuiPagination__page--type-ellipsis", pageSizeYClassNames[sizeY], disabled && "vkuiPagination__page--disabled")
|
|
78
84
|
}, "..."));
|
|
79
85
|
default:
|
|
80
86
|
{
|
|
@@ -82,7 +88,7 @@ var Pagination = function Pagination(_ref) {
|
|
|
82
88
|
return /*#__PURE__*/React.createElement("li", {
|
|
83
89
|
key: page
|
|
84
90
|
}, /*#__PURE__*/React.createElement(_Tappable.Tappable, {
|
|
85
|
-
className: (0, _vkjs.classNames)("vkuiPagination__page",
|
|
91
|
+
className: (0, _vkjs.classNames)("vkuiPagination__page", pageSizeYClassNames[sizeY], _isCurrent && "vkuiPagination__page--current", disabled && "vkuiPagination__page--disabled"),
|
|
86
92
|
activeMode: "vkuiPagination__page--state-active",
|
|
87
93
|
hoverMode: "vkuiPagination__page--state-hover",
|
|
88
94
|
hasActive: !_isCurrent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","names":["getPageAriaLabelDefault","page","isCurrent","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","getRootRef","onChange","className","resetProps","useAdaptivity","sizeY","pages","usePagination","isFirstPage","isLastPage","handlePrevClick","React","useCallback","handleClick","event","currentTarget","dataset","Number","handleNextClick","renderPages","classNames","getSizeYClassName","undefined","map"],"sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from '@vkontakte/icons';\n\nimport type { HasRootRef } from '../../types';\n\nimport { classNames } from '@vkontakte/vkjs';\n\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { PaginationPageType, usePagination } from '../../hooks/usePagination';\nimport { getSizeYClassName } from '../../helpers/getSizeYClassName';\n\nimport { Tappable } from '../Tappable/Tappable';\nimport { Button } from '../Button/Button';\n\nimport styles from './Pagination.module.css';\n\nfunction getPageAriaLabelDefault(page: number, isCurrent: boolean): string {\n return isCurrent ? `${page} страница` : `Перейти на ${page} страницу`;\n}\n\nexport interface PaginationProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'>,\n HasRootRef<HTMLElement> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Переопределение `aria-label` для кнопки навигации назад.\n * По умолчанию используется текст на \"ru_RU\".\n */\n prevButtonAriaLabel?: string;\n /**\n * Переопределение `aria-label` для кнопки навигации вперёд.\n * По умолчанию используется текст на \"ru_RU\".\n */\n nextButtonAriaLabel?: string;\n /**\n * Функция для переопределения и/или локализации `aria-label` атрибута.\n * По умолчанию используется текст на \"ru_RU\".\n */\n getPageAriaLabel?(page: number, isCurrent: boolean): string;\n onChange?(page: number): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Pagination\n */\nexport const Pagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n getPageAriaLabel = getPageAriaLabelDefault,\n prevButtonAriaLabel = 'Перейти на предыдущую страницу',\n nextButtonAriaLabel = 'Перейти на следующую страницу',\n getRootRef,\n onChange,\n className,\n ...resetProps\n}: PaginationProps) => {\n const { sizeY } = useAdaptivity();\n\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n const handlePrevClick = React.useCallback(() => {\n if (onChange && !isFirstPage) {\n onChange(currentPage - 1);\n }\n }, [currentPage, isFirstPage, onChange]);\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || '1';\n onChange?.(Number(page));\n },\n [onChange],\n );\n\n const handleNextClick = React.useCallback(() => {\n if (onChange && !isLastPage) {\n onChange(currentPage + 1);\n }\n }, [currentPage, isLastPage, onChange]);\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n switch (page) {\n case 'start-ellipsis':\n case 'end-ellipsis':\n return (\n <li key={page}>\n <div\n className={classNames(\n styles['Pagination__page'],\n styles['Pagination__page--type-ellipsis'],\n getSizeYClassName(styles['Pagination__page'], sizeY),\n disabled && styles['Pagination__page--disabled'],\n )}\n >\n ...\n </div>\n </li>\n );\n default: {\n const isCurrent = page === currentPage;\n return (\n <li key={page}>\n <Tappable\n className={classNames(\n styles['Pagination__page'],\n getSizeYClassName(styles['Pagination__page'], sizeY),\n isCurrent && styles['Pagination__page--current'],\n disabled && styles['Pagination__page--disabled'],\n )}\n activeMode={styles['Pagination__page--state-active']}\n hoverMode={styles['Pagination__page--state-hover']}\n hasActive={!isCurrent}\n hasHover={!isCurrent}\n focusVisibleMode=\"outside\"\n disabled={disabled}\n data-page={page}\n aria-current={isCurrent ? true : undefined}\n aria-label={getPageAriaLabel(page, isCurrent)}\n onClick={handleClick}\n >\n {page}\n </Tappable>\n </li>\n );\n }\n }\n },\n [sizeY, currentPage, disabled, getPageAriaLabel, handleClick],\n );\n\n return (\n <nav\n className={classNames(styles['Pagination'], className)}\n role=\"navigation\"\n aria-label=\"Навигация по страницам\"\n ref={getRootRef}\n {...resetProps}\n >\n <ul className={styles['Pagination__list']}>\n <li className={styles['Pagination__prevButtonContainer']}>\n <Button\n size=\"l\"\n before={<Icon24ChevronCompactLeft width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isFirstPage || disabled}\n aria-label={prevButtonAriaLabel}\n onClick={handlePrevClick}\n />\n </li>\n {pages.map(renderPages)}\n <li className={styles['Pagination__nextButtonContainer']}>\n <Button\n size=\"l\"\n after={<Icon24ChevronCompactRight width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isLastPage || disabled}\n aria-label={nextButtonAriaLabel}\n onClick={handleNextClick}\n />\n </li>\n </ul>\n </nav>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","names":["pageSizeYClassNames","none","SizeType","COMPACT","REGULAR","getPageAriaLabelDefault","page","isCurrent","Pagination","currentPage","siblingCount","boundaryCount","totalPages","disabled","getPageAriaLabel","prevButtonAriaLabel","nextButtonAriaLabel","getRootRef","onChange","className","resetProps","useAdaptivity","sizeY","pages","usePagination","isFirstPage","isLastPage","handlePrevClick","React","useCallback","handleClick","event","currentTarget","dataset","Number","handleNextClick","renderPages","classNames","undefined","map"],"sources":["../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon24ChevronCompactLeft, Icon24ChevronCompactRight } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { PaginationPageType, usePagination } from '../../hooks/usePagination';\nimport { SizeType } from '../../lib/adaptivity';\nimport type { HasRootRef } from '../../types';\nimport { Button } from '../Button/Button';\nimport { Tappable } from '../Tappable/Tappable';\nimport styles from './Pagination.module.css';\n\nconst pageSizeYClassNames = {\n none: styles['Pagination__page--sizeY-none'],\n [SizeType.COMPACT]: styles['Pagination__page--sizeY-compact'],\n [SizeType.REGULAR]: styles['Pagination__page--sizeY-regular'],\n};\n\nfunction getPageAriaLabelDefault(page: number, isCurrent: boolean): string {\n return isCurrent ? `${page} страница` : `Перейти на ${page} страницу`;\n}\n\nexport interface PaginationProps\n extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'>,\n HasRootRef<HTMLElement> {\n /**\n * Текущая страница.\n */\n currentPage?: number;\n /**\n * Кол-во всегда видимых страниц по краям текущей страницы.\n */\n siblingCount?: number;\n /**\n * Кол-во всегда видимых страниц в начале и в конце.\n */\n boundaryCount?: number;\n /**\n * Общее кол-во страниц.\n */\n totalPages?: number;\n /**\n * Блокировка всех кнопок.\n */\n disabled?: boolean;\n /**\n * Переопределение `aria-label` для кнопки навигации назад.\n * По умолчанию используется текст на \"ru_RU\".\n */\n prevButtonAriaLabel?: string;\n /**\n * Переопределение `aria-label` для кнопки навигации вперёд.\n * По умолчанию используется текст на \"ru_RU\".\n */\n nextButtonAriaLabel?: string;\n /**\n * Функция для переопределения и/или локализации `aria-label` атрибута.\n * По умолчанию используется текст на \"ru_RU\".\n */\n getPageAriaLabel?(page: number, isCurrent: boolean): string;\n onChange?(page: number): void;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Pagination\n */\nexport const Pagination = ({\n currentPage = 1,\n siblingCount = 1,\n boundaryCount = 1,\n totalPages = 1,\n disabled,\n getPageAriaLabel = getPageAriaLabelDefault,\n prevButtonAriaLabel = 'Перейти на предыдущую страницу',\n nextButtonAriaLabel = 'Перейти на следующую страницу',\n getRootRef,\n onChange,\n className,\n ...resetProps\n}: PaginationProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n\n const pages = usePagination({\n currentPage,\n totalPages,\n siblingCount,\n boundaryCount,\n });\n const isFirstPage = currentPage === 1;\n const isLastPage = currentPage === totalPages;\n\n const handlePrevClick = React.useCallback(() => {\n if (onChange && !isFirstPage) {\n onChange(currentPage - 1);\n }\n }, [currentPage, isFirstPage, onChange]);\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n const page: string = event.currentTarget.dataset.page || '1';\n onChange?.(Number(page));\n },\n [onChange],\n );\n\n const handleNextClick = React.useCallback(() => {\n if (onChange && !isLastPage) {\n onChange(currentPage + 1);\n }\n }, [currentPage, isLastPage, onChange]);\n\n const renderPages = React.useCallback(\n (page: PaginationPageType) => {\n switch (page) {\n case 'start-ellipsis':\n case 'end-ellipsis':\n return (\n <li key={page}>\n <div\n className={classNames(\n styles['Pagination__page'],\n styles['Pagination__page--type-ellipsis'],\n pageSizeYClassNames[sizeY],\n disabled && styles['Pagination__page--disabled'],\n )}\n >\n ...\n </div>\n </li>\n );\n default: {\n const isCurrent = page === currentPage;\n return (\n <li key={page}>\n <Tappable\n className={classNames(\n styles['Pagination__page'],\n pageSizeYClassNames[sizeY],\n isCurrent && styles['Pagination__page--current'],\n disabled && styles['Pagination__page--disabled'],\n )}\n activeMode={styles['Pagination__page--state-active']}\n hoverMode={styles['Pagination__page--state-hover']}\n hasActive={!isCurrent}\n hasHover={!isCurrent}\n focusVisibleMode=\"outside\"\n disabled={disabled}\n data-page={page}\n aria-current={isCurrent ? true : undefined}\n aria-label={getPageAriaLabel(page, isCurrent)}\n onClick={handleClick}\n >\n {page}\n </Tappable>\n </li>\n );\n }\n }\n },\n [sizeY, currentPage, disabled, getPageAriaLabel, handleClick],\n );\n\n return (\n <nav\n className={classNames(styles['Pagination'], className)}\n role=\"navigation\"\n aria-label=\"Навигация по страницам\"\n ref={getRootRef}\n {...resetProps}\n >\n <ul className={styles['Pagination__list']}>\n <li className={styles['Pagination__prevButtonContainer']}>\n <Button\n size=\"l\"\n before={<Icon24ChevronCompactLeft width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isFirstPage || disabled}\n aria-label={prevButtonAriaLabel}\n onClick={handlePrevClick}\n />\n </li>\n {pages.map(renderPages)}\n <li className={styles['Pagination__nextButtonContainer']}>\n <Button\n size=\"l\"\n after={<Icon24ChevronCompactRight width={24} />}\n appearance=\"accent\"\n mode=\"tertiary\"\n disabled={isLastPage || disabled}\n aria-label={nextButtonAriaLabel}\n onClick={handleNextClick}\n />\n </li>\n </ul>\n </nav>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { HasRootRef } from '../../types';
|
|
3
2
|
import { NavIdProps } from '../../lib/getNavId';
|
|
3
|
+
import { HasRootRef } from '../../types';
|
|
4
4
|
export interface PanelProps extends React.HTMLAttributes<HTMLDivElement>, HasRootRef<HTMLDivElement>, NavIdProps {
|
|
5
5
|
centered?: boolean;
|
|
6
6
|
}
|
|
@@ -8,15 +8,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.Panel = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
12
|
var React = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _getSizeXClassName = require("../../helpers/getSizeXClassName");
|
|
13
13
|
var _vkjs = require("@vkontakte/vkjs");
|
|
14
|
-
var _Touch = require("../Touch/Touch");
|
|
15
|
-
var _TooltipContainer = require("../Tooltip/TooltipContainer");
|
|
16
|
-
var _platform = require("../../lib/platform");
|
|
17
|
-
var _usePlatform = require("../../hooks/usePlatform");
|
|
18
14
|
var _useAdaptivity2 = require("../../hooks/useAdaptivity");
|
|
15
|
+
var _usePlatform = require("../../hooks/usePlatform");
|
|
16
|
+
var _adaptivity = require("../../lib/adaptivity");
|
|
17
|
+
var _platform = require("../../lib/platform");
|
|
18
|
+
var _TooltipContainer = require("../Tooltip/TooltipContainer");
|
|
19
|
+
var _Touch = require("../Touch/Touch");
|
|
19
20
|
var _excluded = ["centered", "children", "getRootRef", "nav", "className"];
|
|
21
|
+
var _sizeXClassNames;
|
|
22
|
+
var sizeXClassNames = (_sizeXClassNames = {
|
|
23
|
+
none: "vkuiPanel--sizeX-none"
|
|
24
|
+
}, (0, _defineProperty2.default)(_sizeXClassNames, _adaptivity.SizeType.COMPACT, "vkuiPanel--sizeX-compact"), (0, _defineProperty2.default)(_sizeXClassNames, _adaptivity.SizeType.REGULAR, "vkuiPanel--sizeX-regular"), _sizeXClassNames);
|
|
20
25
|
/**
|
|
21
26
|
* @see https://vkcom.github.io/VKUI/#/Panel
|
|
22
27
|
*/
|
|
@@ -30,10 +35,11 @@ var Panel = function Panel(_ref) {
|
|
|
30
35
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
31
36
|
var platform = (0, _usePlatform.usePlatform)();
|
|
32
37
|
var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
|
|
33
|
-
sizeX = _useAdaptivity.sizeX
|
|
38
|
+
_useAdaptivity$sizeX = _useAdaptivity.sizeX,
|
|
39
|
+
sizeX = _useAdaptivity$sizeX === void 0 ? 'none' : _useAdaptivity$sizeX;
|
|
34
40
|
return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, restProps, {
|
|
35
41
|
ref: getRootRef,
|
|
36
|
-
className: (0, _vkjs.classNames)("vkuiPanel",
|
|
42
|
+
className: (0, _vkjs.classNames)("vkuiPanel", sizeXClassNames[sizeX], centered && "vkuiPanel--centered", className)
|
|
37
43
|
}), /*#__PURE__*/React.createElement(_Touch.Touch, {
|
|
38
44
|
Component: _TooltipContainer.TooltipContainer,
|
|
39
45
|
className: "vkuiPanel__in"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","names":["Panel","centered","children","getRootRef","nav","className","restProps","platform","usePlatform","useAdaptivity","sizeX","classNames","
|
|
1
|
+
{"version":3,"file":"Panel.js","names":["sizeXClassNames","none","SizeType","COMPACT","REGULAR","Panel","centered","children","getRootRef","nav","className","restProps","platform","usePlatform","useAdaptivity","sizeX","classNames","TooltipContainer","Platform","IOS"],"sources":["../../../../src/components/Panel/Panel.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { Touch } from '../Touch/Touch';\nimport styles from './Panel.module.css';\n\nconst sizeXClassNames = {\n none: styles['Panel--sizeX-none'],\n [SizeType.COMPACT]: styles['Panel--sizeX-compact'],\n [SizeType.REGULAR]: styles['Panel--sizeX-regular'],\n};\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n NavIdProps {\n centered?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Panel\n */\nexport const Panel = ({\n centered = false,\n children,\n getRootRef,\n nav,\n className,\n ...restProps\n}: PanelProps) => {\n const platform = usePlatform();\n const { sizeX = 'none' } = useAdaptivity();\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Panel'],\n sizeXClassNames[sizeX],\n centered && styles['Panel--centered'],\n className,\n )}\n >\n <Touch Component={TooltipContainer} className={styles['Panel__in']}>\n {platform === Platform.IOS && <div className={styles['Panel__fade']} />}\n <div className={styles['Panel__in-before']} />\n {centered ? <div className={styles['Panel__centered']}>{children}</div> : children}\n <div className={styles['Panel__in-after']} />\n </Touch>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAAuC;AAAA;AAGvC,IAAMA,eAAe;EACnBC,IAAI;AAA6B,mDAChCC,oBAAQ,CAACC,OAAO,+EAChBD,oBAAQ,CAACE,OAAO,gDAClB;AASD;AACA;AACA;AACO,IAAMC,KAAK,GAAG,SAARA,KAAK,OAOA;EAAA,yBANhBC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAChBC,QAAQ,QAARA,QAAQ;IACRC,UAAU,QAAVA,UAAU;IACVC,GAAG,QAAHA,GAAG;IACHC,SAAS,QAATA,SAAS;IACNC,SAAS;EAEZ,IAAMC,QAAQ,GAAG,IAAAC,wBAAW,GAAE;EAC9B,qBAA2B,IAAAC,6BAAa,GAAE;IAAA,sCAAlCC,KAAK;IAALA,KAAK,qCAAG,MAAM;EAEtB,oBACE,sDACMJ,SAAS;IACb,GAAG,EAAEH,UAAW;IAChB,SAAS,EAAE,IAAAQ,gBAAU,eAEnBhB,eAAe,CAACe,KAAK,CAAC,EACtBT,QAAQ,yBAA6B,EACrCI,SAAS;EACT,iBAEF,oBAAC,YAAK;IAAC,SAAS,EAAEO,kCAAiB;IAAC,SAAS;EAAsB,GAChEL,QAAQ,KAAKM,kBAAQ,CAACC,GAAG,iBAAI;IAAK,SAAS;EAAwB,EAAG,eACvE;IAAK,SAAS;EAA6B,EAAG,EAC7Cb,QAAQ,gBAAG;IAAK,SAAS;EAA4B,GAAEC,QAAQ,CAAO,GAAGA,QAAQ,eAClF;IAAK,SAAS;EAA4B,EAAG,CACvC,CACJ;AAEV,CAAC;AAAC"}
|
|
@@ -9,18 +9,18 @@ exports.PanelHeader = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _usePlatform = require("../../hooks/usePlatform");
|
|
13
12
|
var _vkjs = require("@vkontakte/vkjs");
|
|
14
|
-
var
|
|
15
|
-
var
|
|
13
|
+
var _useAdaptivity2 = require("../../hooks/useAdaptivity");
|
|
14
|
+
var _useAdaptivityConditionalRender = require("../../hooks/useAdaptivityConditionalRender");
|
|
15
|
+
var _usePlatform = require("../../hooks/usePlatform");
|
|
16
16
|
var _platform = require("../../lib/platform");
|
|
17
17
|
var _ConfigProviderContext = require("../ConfigProvider/ConfigProviderContext");
|
|
18
|
-
var
|
|
19
|
-
var _TooltipContainer = require("../Tooltip/TooltipContainer");
|
|
18
|
+
var _FixedLayout = require("../FixedLayout/FixedLayout");
|
|
20
19
|
var _ModalRootContext = require("../ModalRoot/ModalRootContext");
|
|
21
|
-
var
|
|
22
|
-
var _useAdaptivityConditionalRender = require("../../hooks/useAdaptivityConditionalRender");
|
|
20
|
+
var _Separator = require("../Separator/Separator");
|
|
23
21
|
var _Spacing = require("../Spacing/Spacing");
|
|
22
|
+
var _TooltipContainer = require("../Tooltip/TooltipContainer");
|
|
23
|
+
var _Text = require("../Typography/Text/Text");
|
|
24
24
|
var _excluded = ["before", "children", "after", "separator", "visor", "transparent", "shadow", "getRef", "getRootRef", "fixed", "className"];
|
|
25
25
|
function getPlatformClassName(platform) {
|
|
26
26
|
switch (platform) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelHeader.js","names":["getPlatformClassName","platform","sizeXClassNames","compact","regular","none","PanelHeaderIn","before","after","separator","children","useConfigProvider","webviewType","React","useContext","ModalRootContext","isInsideModal","usePlatform","Platform","VKCOM","WebviewType","INTERNAL","PanelHeader","visor","transparent","shadow","getRef","getRootRef","fixed","className","restProps","useAdaptivity","sizeX","useAdaptivityConditionalRender","adaptiveSizeX","isFixed","undefined","classNames","VKAPPS"],"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport {
|
|
1
|
+
{"version":3,"file":"PanelHeader.js","names":["getPlatformClassName","platform","sizeXClassNames","compact","regular","none","PanelHeaderIn","before","after","separator","children","useConfigProvider","webviewType","React","useContext","ModalRootContext","isInsideModal","usePlatform","Platform","VKCOM","WebviewType","INTERNAL","PanelHeader","visor","transparent","shadow","getRef","getRootRef","fixed","className","restProps","useAdaptivity","sizeX","useAdaptivityConditionalRender","adaptiveSizeX","isFixed","undefined","classNames","VKAPPS"],"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { useConfigProvider, WebviewType } from '../ConfigProvider/ConfigProviderContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { ModalRootContext } from '../ModalRoot/ModalRootContext';\nimport { Separator } from '../Separator/Separator';\nimport { Spacing } from '../Spacing/Spacing';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './PanelHeader.module.css';\n\nfunction getPlatformClassName(platform: string): string {\n switch (platform) {\n case 'ios':\n return styles['PanelHeader--ios'];\n case 'vkcom':\n return styles['PanelHeader--vkcom'];\n default:\n return styles['PanelHeader--android'];\n }\n}\n\nconst sizeXClassNames = {\n compact: '',\n regular: styles['PanelHeader--sizeX-regular'],\n none: styles['PanelHeader--sizeX-none'],\n};\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n before?: React.ReactNode;\n after?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn = ({ before, after, separator, children }: PanelHeaderProps) => {\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed className={styles['PanelHeader__in']}>\n <div className={styles['PanelHeader__before']}>{before}</div>\n <div className={styles['PanelHeader__content']}>\n {platform === Platform.VKCOM ? (\n <Text weight=\"2\">{children}</Text>\n ) : (\n <span className={styles['PanelHeader__content-in']}>{children}</span>\n )}\n </div>\n <div className={styles['PanelHeader__after']}>\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && after}\n </div>\n </TooltipContainer>\n {separator && platform === Platform.VKCOM && <Separator wide />}\n </React.Fragment>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = ({\n before,\n children,\n after,\n separator = true,\n visor = true,\n transparent = false,\n shadow,\n getRef,\n getRootRef,\n fixed,\n className,\n ...restProps\n}: PanelHeaderProps) => {\n const platform = usePlatform();\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const { sizeX = 'none' } = useAdaptivity();\n const { sizeX: adaptiveSizeX } = useAdaptivityConditionalRender();\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['PanelHeader'],\n getPlatformClassName(platform),\n transparent && styles['PanelHeader--trnsp'],\n shadow && styles['PanelHeader--shadow'],\n visor && styles['PanelHeader--vis'],\n separator && visor && styles['PanelHeader--sep'],\n webviewType === WebviewType.VKAPPS && !isInsideModal && styles['PanelHeader--vkapps'],\n !before && styles['PanelHeader--no-before'],\n !after && styles['PanelHeader--no-after'],\n isFixed && styles['PanelHeader--fixed'],\n sizeXClassNames[sizeX],\n className,\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout className={styles['PanelHeader__fixed']} vertical=\"top\" getRootRef={getRef}>\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n </FixedLayout>\n ) : (\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n )}\n {separator && visor && platform !== Platform.VKCOM && (\n <React.Fragment>\n {adaptiveSizeX.compact && <Separator className={adaptiveSizeX.compact.className} />}\n {adaptiveSizeX.regular && (\n <Spacing className={adaptiveSizeX.regular.className} size={16} />\n )}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
|