@vkontakte/vkui 7.0.0-dev-efd91c.0 → 7.0.0-dev-efd91c.2
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/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js +9 -5
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.d.ts.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +20 -14
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +3 -1
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.js +61 -56
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +2 -1
- package/dist/components/AppRoot/AppRoot.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRoot.js +75 -102
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppRoot/AppRootContext.d.ts +6 -1
- package/dist/components/AppRoot/AppRootContext.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootContext.js +5 -1
- package/dist/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts +6 -2
- package/dist/components/AppRoot/AppRootPortal.d.ts.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.js +49 -27
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/AppRootStyleContainer.d.ts +16 -0
- package/dist/components/AppRoot/AppRootStyleContainer.d.ts.map +1 -0
- package/dist/components/AppRoot/AppRootStyleContainer.js +57 -0
- package/dist/components/AppRoot/AppRootStyleContainer.js.map +1 -0
- package/dist/components/AppRoot/ModalPopoutPortal.d.ts +11 -0
- package/dist/components/AppRoot/ModalPopoutPortal.d.ts.map +1 -0
- package/dist/components/AppRoot/ModalPopoutPortal.js +28 -0
- package/dist/components/AppRoot/ModalPopoutPortal.js.map +1 -0
- package/dist/components/AppRoot/helpers.d.ts +2 -12
- package/dist/components/AppRoot/helpers.d.ts.map +1 -1
- package/dist/components/AppRoot/helpers.js +6 -56
- package/dist/components/AppRoot/helpers.js.map +1 -1
- package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/components/BaseGallery/CarouselBase/CarouselBase.d.ts.map +1 -1
- package/dist/components/BaseGallery/CarouselBase/CarouselBase.js +1 -0
- package/dist/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.d.ts.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.js +2 -2
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.d.ts.map +1 -1
- package/dist/components/CalendarTime/CalendarTime.js +2 -2
- package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.d.ts.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +15 -7
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/Counter/Counter.d.ts +16 -6
- package/dist/components/Counter/Counter.d.ts.map +1 -1
- package/dist/components/Counter/Counter.js +50 -5
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +7 -1
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/FormItem/FormItem.d.ts.map +1 -1
- package/dist/components/FormItem/FormItem.js +5 -3
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/Gallery/Gallery.js.map +1 -1
- package/dist/components/Group/GroupContainer.d.ts.map +1 -1
- package/dist/components/Group/GroupContainer.js +2 -2
- package/dist/components/Group/GroupContainer.js.map +1 -1
- package/dist/components/Link/Link.d.ts +15 -2
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/Link.js +20 -5
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +2 -6
- package/dist/components/ModalCard/ModalCard.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCard.js +40 -65
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.d.ts +13 -0
- package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -0
- package/dist/components/ModalCard/ModalCardInternal.js +147 -0
- package/dist/components/ModalCard/ModalCardInternal.js.map +1 -0
- package/dist/components/ModalCard/types.d.ts +44 -0
- package/dist/components/ModalCard/types.d.ts.map +1 -0
- package/dist/components/ModalCard/types.js +3 -0
- package/dist/components/ModalCard/types.js.map +1 -0
- package/dist/components/ModalCardBase/ModalCardBase.d.ts.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +1 -3
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalOutlet/ModalOutlet.d.ts +9 -0
- package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -0
- package/dist/components/ModalOutlet/ModalOutlet.js +25 -0
- package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.d.ts +12 -0
- package/dist/components/ModalOverlay/ModalOverlay.d.ts.map +1 -0
- package/dist/components/ModalOverlay/ModalOverlay.js +47 -0
- package/dist/components/ModalOverlay/ModalOverlay.js.map +1 -0
- package/dist/components/ModalPage/ModalPage.d.ts +2 -60
- package/dist/components/ModalPage/ModalPage.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPage.js +39 -111
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPage/ModalPageInternal.d.ts +13 -0
- package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -0
- package/dist/components/ModalPage/ModalPageInternal.js +181 -0
- package/dist/components/ModalPage/ModalPageInternal.js.map +1 -0
- package/dist/components/ModalPage/types.d.ts +104 -0
- package/dist/components/ModalPage/types.d.ts.map +1 -0
- package/dist/components/ModalPage/types.js +3 -0
- package/dist/components/ModalPage/types.js.map +1 -0
- package/dist/components/ModalPageContent/ModalPageContent.d.ts +4 -0
- package/dist/components/ModalPageContent/ModalPageContent.d.ts.map +1 -0
- package/dist/components/ModalPageContent/ModalPageContent.js +22 -0
- package/dist/components/ModalPageContent/ModalPageContent.js.map +1 -0
- package/dist/components/ModalPageFooter/ModalPageFooter.d.ts +7 -0
- package/dist/components/ModalPageFooter/ModalPageFooter.d.ts.map +1 -0
- package/dist/components/ModalPageFooter/ModalPageFooter.js +30 -0
- package/dist/components/ModalPageFooter/ModalPageFooter.js.map +1 -0
- package/dist/components/ModalPageHeader/ModalPageHeader.d.ts.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.d.ts +5 -2
- package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +52 -590
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.d.ts +8 -18
- package/dist/components/ModalRoot/ModalRootContext.d.ts.map +1 -1
- package/dist/components/ModalRoot/ModalRootContext.js +13 -40
- package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.d.ts +13 -0
- package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.d.ts.map +1 -0
- package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js +33 -0
- package/dist/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js.map +1 -0
- package/dist/components/ModalRoot/types.d.ts +52 -21
- package/dist/components/ModalRoot/types.d.ts.map +1 -1
- package/dist/components/ModalRoot/types.js +1 -1
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.d.ts +27 -38
- package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
- package/dist/components/ModalRoot/useModalManager.js +37 -193
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/ModalRoot/useModalRootContext.d.ts +2 -2
- package/dist/components/ModalRoot/useModalRootContext.d.ts.map +1 -1
- package/dist/components/ModalRoot/useModalRootContext.js +18 -2
- package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
- package/dist/components/ModalRoot/withModalRootContext.d.ts +6 -1
- package/dist/components/ModalRoot/withModalRootContext.d.ts.map +1 -1
- package/dist/components/ModalRoot/withModalRootContext.js +7 -4
- package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +5 -6
- package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.js +7 -1
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.d.ts.map +1 -1
- package/dist/components/NavTransitionContext/NavTransitionContext.js +6 -4
- package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +2 -2
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +5 -4
- package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts.map +1 -1
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js +10 -12
- package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +6 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts.map +1 -1
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js +9 -13
- package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts.map +1 -1
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -11
- package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts.map +1 -1
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js +10 -14
- package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +5 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.d.ts.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js +6 -2
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.js +9 -8
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/ScreenSpinner.js +23 -18
- package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/components/ScreenSpinner/types.d.ts +2 -0
- package/dist/components/ScreenSpinner/types.d.ts.map +1 -1
- package/dist/components/ScreenSpinner/types.js.map +1 -1
- package/dist/components/Separator/Separator.d.ts +2 -0
- package/dist/components/Separator/Separator.d.ts.map +1 -1
- package/dist/components/Separator/Separator.js +4 -5
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +4 -4
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +3 -1
- package/dist/components/Spacing/Spacing.d.ts.map +1 -1
- package/dist/components/Spacing/Spacing.js +4 -5
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts.map +1 -1
- package/dist/components/SplitCol/SplitCol.js +7 -5
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts +9 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +17 -12
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts.map +1 -1
- package/dist/components/Tappable/Tappable.js +1 -1
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/View/useLayoutEffectCall.d.ts +1 -1
- package/dist/components/View/useLayoutEffectCall.d.ts.map +1 -1
- package/dist/components/View/useLayoutEffectCall.js +8 -33
- package/dist/components/View/useLayoutEffectCall.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/context/ModalContext.d.ts +15 -0
- package/dist/context/ModalContext.d.ts.map +1 -0
- package/dist/context/ModalContext.js +13 -0
- package/dist/context/ModalContext.js.map +1 -0
- package/dist/cssm/components/Accordion/Accordion.js +9 -5
- package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +20 -14
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +60 -56
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +73 -100
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.module.css +2 -40
- package/dist/cssm/components/AppRoot/AppRootContext.js +5 -1
- package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.js +49 -27
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRootStyleContainer.js +57 -0
- package/dist/cssm/components/AppRoot/AppRootStyleContainer.js.map +1 -0
- package/dist/cssm/components/AppRoot/AppRootStyleContainer.module.css +87 -0
- package/dist/cssm/components/AppRoot/ModalPopoutPortal.js +27 -0
- package/dist/cssm/components/AppRoot/ModalPopoutPortal.js.map +1 -0
- package/dist/cssm/components/AppRoot/helpers.js +6 -56
- package/dist/cssm/components/AppRoot/helpers.js.map +1 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
- package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.js +1 -0
- package/dist/cssm/components/BaseGallery/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +2 -2
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.js +2 -2
- package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +15 -7
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.js +48 -4
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.module.css +81 -12
- package/dist/cssm/components/CustomSelect/CustomSelect.js +7 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.js +5 -3
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
- package/dist/cssm/components/Group/GroupContainer.js +2 -2
- package/dist/cssm/components/Group/GroupContainer.js.map +1 -1
- package/dist/cssm/components/Link/Link.js +17 -5
- package/dist/cssm/components/Link/Link.js.map +1 -1
- package/dist/cssm/components/Link/Link.module.css +13 -4
- package/dist/cssm/components/ModalCard/ModalCard.js +30 -51
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.module.css +62 -44
- package/dist/cssm/components/ModalCard/ModalCardInternal.js +122 -0
- package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -0
- package/dist/cssm/components/ModalCard/types.js +3 -0
- package/dist/cssm/components/ModalCard/types.js.map +1 -0
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -3
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +0 -2
- package/dist/cssm/components/ModalOutlet/ModalOutlet.js +17 -0
- package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -0
- package/dist/cssm/components/ModalOutlet/ModalOutlet.module.css +17 -0
- package/dist/cssm/components/ModalOverlay/ModalOverlay.js +40 -0
- package/dist/cssm/components/ModalOverlay/ModalOverlay.js.map +1 -0
- package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +71 -0
- package/dist/cssm/components/ModalPage/ModalPage.js +32 -99
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.module.css +125 -123
- package/dist/cssm/components/ModalPage/ModalPageInternal.js +161 -0
- package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -0
- package/dist/cssm/components/ModalPage/types.js +3 -0
- package/dist/cssm/components/ModalPage/types.js.map +1 -0
- package/dist/cssm/components/ModalPageContent/ModalPageContent.js +15 -0
- package/dist/cssm/components/ModalPageContent/ModalPageContent.js.map +1 -0
- package/dist/cssm/components/ModalPageContent/ModalPageContent.module.css +4 -0
- package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js +23 -0
- package/dist/cssm/components/ModalPageFooter/ModalPageFooter.js.map +1 -0
- package/dist/cssm/components/ModalPageFooter/ModalPageFooter.module.css +35 -0
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +4 -4
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +8 -2
- package/dist/cssm/components/ModalRoot/ModalRoot.js +52 -571
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootContext.js +13 -40
- package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
- package/dist/cssm/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js +27 -0
- package/dist/cssm/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.js.map +1 -0
- package/dist/cssm/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.module.css +8 -0
- package/dist/cssm/components/ModalRoot/types.js +1 -1
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js +36 -194
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalRootContext.js +18 -2
- package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
- package/dist/cssm/components/ModalRoot/withModalRootContext.js +7 -4
- package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +7 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +6 -4
- package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +2 -2
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +9 -12
- package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +6 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +8 -12
- package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +7 -11
- package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +8 -12
- package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +5 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js +9 -8
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +23 -19
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
- package/dist/cssm/components/ScreenSpinner/types.js.map +1 -1
- package/dist/cssm/components/Search/Search.module.css +2 -2
- package/dist/cssm/components/Separator/Separator.js +9 -8
- package/dist/cssm/components/Separator/Separator.js.map +1 -1
- package/dist/cssm/components/Skeleton/Skeleton.js +4 -4
- package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.js +6 -7
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +7 -5
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +14 -9
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.js +1 -1
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/View/useLayoutEffectCall.js +8 -23
- package/dist/cssm/components/View/useLayoutEffectCall.js.map +1 -1
- package/dist/cssm/context/ModalContext.js +13 -0
- package/dist/cssm/context/ModalContext.js.map +1 -0
- package/dist/cssm/helpers/range.js +3 -0
- package/dist/cssm/helpers/range.js.map +1 -1
- package/dist/cssm/hooks/useObjectMemo.js +6 -2
- package/dist/cssm/hooks/useObjectMemo.js.map +1 -1
- package/dist/cssm/hooks/usePrevious.js +9 -2
- package/dist/cssm/hooks/usePrevious.js.map +1 -1
- package/dist/cssm/hooks/useStableCallback.js +1 -1
- package/dist/cssm/hooks/useStableCallback.js.map +1 -1
- package/dist/cssm/hooks/useStateWithPrev.js +34 -0
- package/dist/cssm/hooks/useStateWithPrev.js.map +1 -0
- package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js +23 -0
- package/dist/cssm/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -0
- package/dist/cssm/hooks/useSyncHTMLWithTokens.js +19 -0
- package/dist/cssm/hooks/useSyncHTMLWithTokens.js.map +1 -0
- package/dist/cssm/hooks/useVirtualKeyboardState.js +134 -0
- package/dist/cssm/hooks/useVirtualKeyboardState.js.map +1 -0
- package/dist/cssm/index.js +6 -2
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/SSR.js +1 -7
- package/dist/cssm/lib/SSR.js.map +1 -1
- package/dist/cssm/lib/adaptivity/functions.js +7 -1
- package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
- package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js +7 -5
- package/dist/cssm/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
- package/dist/cssm/lib/animation/useCSSTransition.js +4 -4
- package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/cssm/lib/dom.js +65 -11
- package/dist/cssm/lib/dom.js.map +1 -1
- package/dist/cssm/lib/floating/usePlacementChangeCallback.js +6 -3
- package/dist/cssm/lib/floating/usePlacementChangeCallback.js.map +1 -1
- package/dist/cssm/lib/sheet/constants.js +23 -0
- package/dist/cssm/lib/sheet/constants.js.map +1 -0
- package/dist/cssm/lib/sheet/controllers/BottomSheetController.js +252 -0
- package/dist/cssm/lib/sheet/controllers/BottomSheetController.js.map +1 -0
- package/dist/cssm/lib/sheet/controllers/CSSTransitionController.js +50 -0
- package/dist/cssm/lib/sheet/controllers/CSSTransitionController.js.map +1 -0
- package/dist/cssm/lib/sheet/index.js +4 -0
- package/dist/cssm/lib/sheet/index.js.map +1 -0
- package/dist/cssm/lib/sheet/useBottomSheet.js +116 -0
- package/dist/cssm/lib/sheet/useBottomSheet.js.map +1 -0
- package/dist/cssm/lib/spacings/sizes.js +23 -0
- package/dist/cssm/lib/spacings/sizes.js.map +1 -1
- package/dist/cssm/lib/touch/UIPanGestureRecognizer.js +10 -0
- package/dist/cssm/lib/touch/UIPanGestureRecognizer.js.map +1 -1
- package/dist/cssm/lib/touch/index.js.map +1 -1
- package/dist/cssm/styles/common.css +31 -34
- package/dist/cssm/styles/constants.css +5 -0
- package/dist/helpers/range.d.ts +1 -0
- package/dist/helpers/range.d.ts.map +1 -1
- package/dist/helpers/range.js +3 -0
- package/dist/helpers/range.js.map +1 -1
- package/dist/hooks/useObjectMemo.d.ts +3 -0
- package/dist/hooks/useObjectMemo.d.ts.map +1 -1
- package/dist/hooks/useObjectMemo.js +6 -2
- package/dist/hooks/useObjectMemo.js.map +1 -1
- package/dist/hooks/usePrevious.d.ts +3 -0
- package/dist/hooks/usePrevious.d.ts.map +1 -1
- package/dist/hooks/usePrevious.js +9 -2
- package/dist/hooks/usePrevious.js.map +1 -1
- package/dist/hooks/useStableCallback.js +1 -1
- package/dist/hooks/useStableCallback.js.map +1 -1
- package/dist/hooks/useStateWithPrev.d.ts +12 -0
- package/dist/hooks/useStateWithPrev.d.ts.map +1 -0
- package/dist/hooks/useStateWithPrev.js +34 -0
- package/dist/hooks/useStateWithPrev.js.map +1 -0
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts +8 -0
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.d.ts.map +1 -0
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js +24 -0
- package/dist/hooks/useSyncHTMLWithBaseVKUIClasses.js.map +1 -0
- package/dist/hooks/useSyncHTMLWithTokens.d.ts +5 -0
- package/dist/hooks/useSyncHTMLWithTokens.d.ts.map +1 -0
- package/dist/hooks/useSyncHTMLWithTokens.js +20 -0
- package/dist/hooks/useSyncHTMLWithTokens.js.map +1 -0
- package/dist/hooks/useVirtualKeyboardState.d.ts +32 -0
- package/dist/hooks/useVirtualKeyboardState.d.ts.map +1 -0
- package/dist/hooks/useVirtualKeyboardState.js +134 -0
- package/dist/hooks/useVirtualKeyboardState.js.map +1 -0
- package/dist/index.d.ts +13 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/SSR.d.ts.map +1 -1
- package/dist/lib/SSR.js +1 -7
- package/dist/lib/SSR.js.map +1 -1
- package/dist/lib/adaptivity/functions.d.ts +1 -0
- package/dist/lib/adaptivity/functions.d.ts.map +1 -1
- package/dist/lib/adaptivity/functions.js +7 -1
- package/dist/lib/adaptivity/functions.js.map +1 -1
- package/dist/lib/animation/useCSSKeyframesAnimationController.d.ts.map +1 -1
- package/dist/lib/animation/useCSSKeyframesAnimationController.js +7 -5
- package/dist/lib/animation/useCSSKeyframesAnimationController.js.map +1 -1
- package/dist/lib/animation/useCSSTransition.d.ts.map +1 -1
- package/dist/lib/animation/useCSSTransition.js +4 -4
- package/dist/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/lib/dom.d.ts +20 -5
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/dom.js +65 -11
- package/dist/lib/dom.js.map +1 -1
- package/dist/lib/floating/usePlacementChangeCallback.d.ts.map +1 -1
- package/dist/lib/floating/usePlacementChangeCallback.js +6 -3
- package/dist/lib/floating/usePlacementChangeCallback.js.map +1 -1
- package/dist/lib/sheet/constants.d.ts +28 -0
- package/dist/lib/sheet/constants.d.ts.map +1 -0
- package/dist/lib/sheet/constants.js +23 -0
- package/dist/lib/sheet/constants.js.map +1 -0
- package/dist/lib/sheet/controllers/BottomSheetController.d.ts +51 -0
- package/dist/lib/sheet/controllers/BottomSheetController.d.ts.map +1 -0
- package/dist/lib/sheet/controllers/BottomSheetController.js +259 -0
- package/dist/lib/sheet/controllers/BottomSheetController.js.map +1 -0
- package/dist/lib/sheet/controllers/CSSTransitionController.d.ts +14 -0
- package/dist/lib/sheet/controllers/CSSTransitionController.d.ts.map +1 -0
- package/dist/lib/sheet/controllers/CSSTransitionController.js +51 -0
- package/dist/lib/sheet/controllers/CSSTransitionController.js.map +1 -0
- package/dist/lib/sheet/index.d.ts +3 -0
- package/dist/lib/sheet/index.d.ts.map +1 -0
- package/dist/lib/sheet/index.js +4 -0
- package/dist/lib/sheet/index.js.map +1 -0
- package/dist/lib/sheet/useBottomSheet.d.ts +56 -0
- package/dist/lib/sheet/useBottomSheet.d.ts.map +1 -0
- package/dist/lib/sheet/useBottomSheet.js +116 -0
- package/dist/lib/sheet/useBottomSheet.js.map +1 -0
- package/dist/lib/spacings/sizes.d.ts +3 -2
- package/dist/lib/spacings/sizes.d.ts.map +1 -1
- package/dist/lib/spacings/sizes.js +23 -0
- package/dist/lib/spacings/sizes.js.map +1 -1
- package/dist/lib/touch/UIPanGestureRecognizer.d.ts +8 -9
- package/dist/lib/touch/UIPanGestureRecognizer.d.ts.map +1 -1
- package/dist/lib/touch/UIPanGestureRecognizer.js +10 -0
- package/dist/lib/touch/UIPanGestureRecognizer.js.map +1 -1
- package/dist/lib/touch/index.d.ts +1 -1
- package/dist/lib/touch/index.d.ts.map +1 -1
- package/dist/lib/touch/index.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +9 -6
- package/src/components/Accordion/Accordion.tsx +9 -7
- package/src/components/ActionSheet/ActionSheet.tsx +18 -13
- package/src/components/Alert/Alert.tsx +65 -59
- package/src/components/AppRoot/AppRoot.module.css +2 -30
- package/src/components/AppRoot/AppRoot.tsx +90 -122
- package/src/components/AppRoot/AppRootContext.ts +11 -2
- package/src/components/AppRoot/AppRootPortal.tsx +71 -30
- package/src/components/AppRoot/AppRootStyleContainer.module.css +77 -0
- package/src/components/AppRoot/AppRootStyleContainer.tsx +72 -0
- package/src/components/AppRoot/ModalPopoutPortal.tsx +27 -0
- package/src/components/AppRoot/helpers.ts +10 -65
- package/src/components/BaseGallery/BaseGallery.tsx +1 -1
- package/src/components/BaseGallery/CarouselBase/CarouselBase.tsx +1 -0
- package/src/components/CalendarHeader/CalendarHeader.tsx +5 -2
- package/src/components/CalendarTime/CalendarTime.tsx +5 -2
- package/src/components/ConfigProvider/ConfigProvider.tsx +22 -11
- package/src/components/Counter/Counter.module.css +80 -12
- package/src/components/Counter/Counter.tsx +64 -7
- package/src/components/CustomSelect/CustomSelect.tsx +7 -1
- package/src/components/FormItem/FormItem.tsx +1 -2
- package/src/components/Gallery/Gallery.tsx +1 -1
- package/src/components/Group/GroupContainer.tsx +2 -2
- package/src/components/Link/Link.module.css +11 -3
- package/src/components/Link/Link.tsx +28 -2
- package/src/components/ModalCard/ModalCard.module.css +60 -44
- package/src/components/ModalCard/ModalCard.tsx +41 -74
- package/src/components/ModalCard/ModalCardInternal.tsx +175 -0
- package/src/components/ModalCard/types.ts +51 -0
- package/src/components/ModalCardBase/ModalCardBase.module.css +0 -1
- package/src/components/ModalCardBase/ModalCardBase.tsx +1 -8
- package/src/components/ModalOutlet/ModalOutlet.module.css +16 -0
- package/src/components/ModalOutlet/ModalOutlet.tsx +31 -0
- package/src/components/ModalOverlay/ModalOverlay.module.css +65 -0
- package/src/components/ModalOverlay/ModalOverlay.tsx +66 -0
- package/src/components/ModalPage/ModalPage.module.css +124 -123
- package/src/components/ModalPage/ModalPage.tsx +42 -164
- package/src/components/ModalPage/ModalPageInternal.tsx +229 -0
- package/src/components/ModalPage/types.ts +112 -0
- package/src/components/ModalPageContent/ModalPageContent.module.css +4 -0
- package/src/components/ModalPageContent/ModalPageContent.tsx +25 -0
- package/src/components/ModalPageFooter/ModalPageFooter.module.css +33 -0
- package/src/components/ModalPageFooter/ModalPageFooter.tsx +31 -0
- package/src/components/ModalPageHeader/ModalPageHeader.module.css +8 -2
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +5 -5
- package/src/components/ModalRoot/ModalRoot.tsx +62 -716
- package/src/components/ModalRoot/ModalRootContext.tsx +13 -50
- package/src/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.module.css +6 -0
- package/src/components/ModalRoot/VisuallyHiddenModalOverlay/VisuallyHiddenModalOverlay.tsx +37 -0
- package/src/components/ModalRoot/types.ts +60 -20
- package/src/components/ModalRoot/useModalManager.tsx +74 -228
- package/src/components/ModalRoot/useModalRootContext.ts +21 -0
- package/src/components/ModalRoot/withModalRootContext.tsx +8 -3
- package/src/components/NativeSelect/NativeSelect.tsx +12 -9
- package/src/components/NavTransitionContext/NavTransitionContext.tsx +7 -4
- package/src/components/PanelHeader/PanelHeader.tsx +2 -2
- package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +14 -12
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +4 -1
- package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +10 -13
- package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +10 -12
- package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +11 -10
- package/src/components/PopoutWrapper/PopoutWrapper.tsx +9 -0
- package/src/components/PullToRefresh/PullToRefresh.tsx +11 -7
- package/src/components/ScreenSpinner/ScreenSpinner.tsx +10 -6
- package/src/components/ScreenSpinner/types.tsx +2 -0
- package/src/components/Search/Search.module.css +2 -2
- package/src/components/Separator/Separator.tsx +32 -20
- package/src/components/Skeleton/Skeleton.tsx +4 -4
- package/src/components/Spacing/Spacing.tsx +17 -10
- package/src/components/SplitCol/SplitCol.tsx +7 -5
- package/src/components/SplitLayout/SplitLayout.tsx +20 -10
- package/src/components/Tappable/Tappable.tsx +1 -0
- package/src/components/View/useLayoutEffectCall.tsx +7 -29
- package/src/context/ModalContext.tsx +18 -0
- package/src/helpers/range.ts +4 -0
- package/src/hooks/useObjectMemo.ts +6 -0
- package/src/hooks/usePrevious.ts +9 -0
- package/src/hooks/useStableCallback.ts +1 -1
- package/src/hooks/useStateWithPrev.ts +43 -0
- package/src/hooks/useSyncHTMLWithBaseVKUIClasses.ts +39 -0
- package/src/hooks/useSyncHTMLWithTokens.ts +27 -0
- package/src/hooks/useVirtualKeyboardState.ts +152 -0
- package/src/index.ts +22 -5
- package/src/lib/SSR.tsx +1 -7
- package/src/lib/adaptivity/functions.ts +8 -1
- package/src/lib/animation/useCSSKeyframesAnimationController.ts +10 -5
- package/src/lib/animation/useCSSTransition.ts +4 -10
- package/src/lib/dom.tsx +85 -13
- package/src/lib/floating/usePlacementChangeCallback.ts +9 -3
- package/src/lib/sheet/constants.ts +32 -0
- package/src/lib/sheet/controllers/BottomSheetController.ts +382 -0
- package/src/lib/sheet/controllers/CSSTransitionController.ts +51 -0
- package/src/lib/sheet/index.ts +10 -0
- package/src/lib/sheet/useBottomSheet.ts +175 -0
- package/src/lib/spacings/sizes.ts +17 -2
- package/src/lib/touch/UIPanGestureRecognizer.ts +12 -9
- package/src/lib/touch/index.ts +4 -1
- package/src/styles/common.css +31 -41
- package/src/styles/constants.css +5 -0
- package/dist/components/ModalPage/ModalPageContext.d.ts +0 -6
- package/dist/components/ModalPage/ModalPageContext.d.ts.map +0 -1
- package/dist/components/ModalPage/ModalPageContext.js +0 -4
- package/dist/components/ModalPage/ModalPageContext.js.map +0 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +0 -7
- package/dist/components/ModalRoot/ModalRootAdaptive.d.ts.map +0 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.js +0 -18
- package/dist/components/ModalRoot/ModalRootAdaptive.js.map +0 -1
- package/dist/components/ModalRoot/ModalRootDesktop.d.ts +0 -4
- package/dist/components/ModalRoot/ModalRootDesktop.d.ts.map +0 -1
- package/dist/components/ModalRoot/ModalRootDesktop.js +0 -186
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +0 -1
- package/dist/components/ModalRoot/constants.d.ts +0 -2
- package/dist/components/ModalRoot/constants.d.ts.map +0 -1
- package/dist/components/ModalRoot/constants.js +0 -3
- package/dist/components/ModalRoot/constants.js.map +0 -1
- package/dist/components/PopoutRoot/PopoutRoot.d.ts +0 -19
- package/dist/components/PopoutRoot/PopoutRoot.d.ts.map +0 -1
- package/dist/components/PopoutRoot/PopoutRoot.js +0 -55
- package/dist/components/PopoutRoot/PopoutRoot.js.map +0 -1
- package/dist/cssm/components/ModalPage/ModalPageContext.js +0 -4
- package/dist/cssm/components/ModalPage/ModalPageContext.js.map +0 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.module.css +0 -61
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +0 -19
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +0 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +0 -179
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +0 -1
- package/dist/cssm/components/ModalRoot/constants.js +0 -3
- package/dist/cssm/components/ModalRoot/constants.js.map +0 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js +0 -41
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +0 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +0 -28
- package/dist/cssm/hooks/useKeyboard.js +0 -40
- package/dist/cssm/hooks/useKeyboard.js.map +0 -1
- package/dist/hooks/useKeyboard.d.ts +0 -11
- package/dist/hooks/useKeyboard.d.ts.map +0 -1
- package/dist/hooks/useKeyboard.js +0 -42
- package/dist/hooks/useKeyboard.js.map +0 -1
- package/src/components/ModalPage/ModalPageContext.tsx +0 -8
- package/src/components/ModalRoot/ModalRoot.module.css +0 -59
- package/src/components/ModalRoot/ModalRootAdaptive.tsx +0 -21
- package/src/components/ModalRoot/ModalRootDesktop.tsx +0 -243
- package/src/components/ModalRoot/constants.ts +0 -1
- package/src/components/ModalRoot/useModalRootContext.tsx +0 -5
- package/src/components/PopoutRoot/PopoutRoot.module.css +0 -28
- package/src/components/PopoutRoot/PopoutRoot.tsx +0 -51
- package/src/hooks/useKeyboard.ts +0 -56
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import { useObjectMemo } from '../../hooks/useObjectMemo';
|
|
5
4
|
|
|
6
5
|
export interface TransitionContextProps {
|
|
7
6
|
entering: boolean;
|
|
@@ -16,8 +15,12 @@ export const NavTransitionProvider = ({
|
|
|
16
15
|
entering,
|
|
17
16
|
}: React.PropsWithChildren<TransitionContextProps>): React.ReactNode => {
|
|
18
17
|
const parentContext = useNavTransition();
|
|
19
|
-
const contextValue =
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
const contextValue = React.useMemo(
|
|
19
|
+
() => ({
|
|
20
|
+
entering: parentContext.entering || entering,
|
|
21
|
+
}),
|
|
22
|
+
[entering, parentContext.entering],
|
|
23
|
+
);
|
|
24
|
+
|
|
22
25
|
return <TransitionContext.Provider value={contextValue}>{children}</TransitionContext.Provider>;
|
|
23
26
|
};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { classNames } from '@vkontakte/vkjs';
|
|
5
|
+
import { useModalContext } from '../../context/ModalContext';
|
|
5
6
|
import { useAdaptivity } from '../../hooks/useAdaptivity';
|
|
6
7
|
import { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';
|
|
7
8
|
import { usePlatform } from '../../hooks/usePlatform';
|
|
@@ -13,7 +14,6 @@ import type {
|
|
|
13
14
|
} from '../../types';
|
|
14
15
|
import { useConfigProvider } from '../ConfigProvider/ConfigProviderContext';
|
|
15
16
|
import { FixedLayout } from '../FixedLayout/FixedLayout';
|
|
16
|
-
import { ModalRootContext } from '../ModalRoot/ModalRootContext';
|
|
17
17
|
import { OnboardingTooltipContainer } from '../OnboardingTooltip/OnboardingTooltipContainer';
|
|
18
18
|
import { RootComponent } from '../RootComponent/RootComponent';
|
|
19
19
|
import { Separator } from '../Separator/Separator';
|
|
@@ -84,7 +84,7 @@ interface PanelHeaderInProps {
|
|
|
84
84
|
const PanelHeaderIn = ({ before, after, children, typographyProps = {} }: PanelHeaderInProps) => {
|
|
85
85
|
const { Component = 'span', ...restProps } = typographyProps;
|
|
86
86
|
const { hasCustomPanelHeaderAfter, customPanelHeaderAfterMinWidth } = useConfigProvider();
|
|
87
|
-
const
|
|
87
|
+
const isInsideModal = useModalContext().id !== null;
|
|
88
88
|
const platform = usePlatform();
|
|
89
89
|
|
|
90
90
|
const afterSlotProps =
|
|
@@ -25,9 +25,10 @@ const sizeXClassNames = {
|
|
|
25
25
|
compact: styles.backSizeXCompact,
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
export type PanelHeaderBackProps = Omit<PanelHeaderButtonProps, 'children'> & {
|
|
29
|
+
hideLabelOnVKCom?: boolean;
|
|
30
|
+
hideLabelOnIOS?: boolean;
|
|
31
|
+
};
|
|
31
32
|
|
|
32
33
|
const getBackIcon = (platform: PlatformType) => {
|
|
33
34
|
switch (platform) {
|
|
@@ -54,30 +55,31 @@ const getBackIcon = (platform: PlatformType) => {
|
|
|
54
55
|
* @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
|
|
55
56
|
*/
|
|
56
57
|
export const PanelHeaderBack = ({
|
|
57
|
-
label,
|
|
58
|
+
label = 'Назад',
|
|
58
59
|
className,
|
|
59
|
-
|
|
60
|
+
hideLabelOnVKCom = false,
|
|
61
|
+
hideLabelOnIOS = false,
|
|
60
62
|
...restProps
|
|
61
|
-
}:
|
|
63
|
+
}: PanelHeaderBackProps): React.ReactNode => {
|
|
62
64
|
const platform = usePlatform();
|
|
63
65
|
const { sizeX = 'none' } = useAdaptivity();
|
|
64
66
|
// также label нужно скрывать при platform === 'ios' && sizeX === regular
|
|
65
67
|
// https://github.com/VKCOM/VKUI/blob/master/src/components/PanelHeaderButton/PanelHeaderButton.css#L104
|
|
66
|
-
const showLabel =
|
|
68
|
+
const showLabel =
|
|
69
|
+
(platform === 'vkcom' && !hideLabelOnVKCom) || (platform === 'ios' && !hideLabelOnIOS);
|
|
67
70
|
|
|
68
71
|
return (
|
|
69
72
|
<PanelHeaderButton
|
|
70
73
|
{...restProps}
|
|
71
74
|
className={classNames(
|
|
72
75
|
sizeX !== 'regular' && sizeXClassNames[sizeX],
|
|
73
|
-
platform === 'ios' && styles
|
|
74
|
-
platform === 'vkcom' && styles
|
|
75
|
-
showLabel && !!label && styles
|
|
76
|
+
platform === 'ios' && styles.backIos,
|
|
77
|
+
platform === 'vkcom' && styles.backVkcom,
|
|
78
|
+
showLabel && !!label && styles.backHasLabel,
|
|
76
79
|
className,
|
|
77
80
|
)}
|
|
78
|
-
label={showLabel && label}
|
|
81
|
+
label={showLabel ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}
|
|
79
82
|
>
|
|
80
|
-
{children && <VisuallyHidden>{children}</VisuallyHidden>}
|
|
81
83
|
{getBackIcon(platform)}
|
|
82
84
|
</PanelHeaderButton>
|
|
83
85
|
);
|
|
@@ -84,6 +84,9 @@ export const PanelHeaderButton = ({
|
|
|
84
84
|
warn(COMMON_WARNINGS.a11y[restProps.href ? 'link-name' : 'button-name'], 'error');
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
+
const elements = [label, children].filter((item) => !!item);
|
|
88
|
+
|
|
89
|
+
const onlyPrimitive = elements.length === 1 && isPrimitiveReactNode(elements[0]);
|
|
87
90
|
|
|
88
91
|
return (
|
|
89
92
|
<Tappable
|
|
@@ -97,7 +100,7 @@ export const PanelHeaderButton = ({
|
|
|
97
100
|
platformClassNames.hasOwnProperty(platform)
|
|
98
101
|
? platformClassNames[platform]
|
|
99
102
|
: platformClassNames.android,
|
|
100
|
-
|
|
103
|
+
onlyPrimitive && styles.primitive,
|
|
101
104
|
!isPrimitive && !isPrimitiveLabel && styles.notPrimitive,
|
|
102
105
|
className,
|
|
103
106
|
)}
|
|
@@ -9,27 +9,24 @@ import {
|
|
|
9
9
|
} from '../PanelHeaderButton/PanelHeaderButton';
|
|
10
10
|
import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';
|
|
11
11
|
|
|
12
|
+
export type PanelHeaderCloseProps = Omit<PanelHeaderButtonProps, 'children'>;
|
|
13
|
+
|
|
12
14
|
/**
|
|
13
15
|
* @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
|
|
14
16
|
*/
|
|
15
17
|
export const PanelHeaderClose = ({
|
|
16
|
-
|
|
18
|
+
label = 'Отмена',
|
|
17
19
|
...restProps
|
|
18
|
-
}:
|
|
20
|
+
}: PanelHeaderCloseProps): React.ReactNode => {
|
|
19
21
|
const platform = usePlatform();
|
|
20
22
|
|
|
21
23
|
return (
|
|
22
|
-
<PanelHeaderButton
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<AdaptiveIconRenderer
|
|
29
|
-
IconCompact={Icon24CancelOutline}
|
|
30
|
-
IconRegular={Icon28CancelOutline}
|
|
31
|
-
/>
|
|
32
|
-
</>
|
|
24
|
+
<PanelHeaderButton
|
|
25
|
+
{...restProps}
|
|
26
|
+
label={platform === 'ios' ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}
|
|
27
|
+
>
|
|
28
|
+
{platform !== 'ios' && (
|
|
29
|
+
<AdaptiveIconRenderer IconCompact={Icon24CancelOutline} IconRegular={Icon28CancelOutline} />
|
|
33
30
|
)}
|
|
34
31
|
</PanelHeaderButton>
|
|
35
32
|
);
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from '../PanelHeaderButton/PanelHeaderButton';
|
|
16
16
|
import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';
|
|
17
17
|
|
|
18
|
-
export interface PanelHeaderEditProps extends PanelHeaderButtonProps {
|
|
18
|
+
export interface PanelHeaderEditProps extends Omit<PanelHeaderButtonProps, 'label' | 'children'> {
|
|
19
19
|
/**
|
|
20
20
|
* Включен ли режим редактирования
|
|
21
21
|
*/
|
|
@@ -43,17 +43,15 @@ export const PanelHeaderEdit = ({
|
|
|
43
43
|
const label = isActive ? doneLabel : editLabel;
|
|
44
44
|
|
|
45
45
|
return (
|
|
46
|
-
<PanelHeaderButton
|
|
47
|
-
{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
/>
|
|
56
|
-
</>
|
|
46
|
+
<PanelHeaderButton
|
|
47
|
+
{...restProps}
|
|
48
|
+
label={platform === 'ios' ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}
|
|
49
|
+
>
|
|
50
|
+
{platform !== 'ios' && (
|
|
51
|
+
<AdaptiveIconRenderer
|
|
52
|
+
IconCompact={isActive ? Icon24DoneOutline : Icon24PenOutline}
|
|
53
|
+
IconRegular={isActive ? Icon28DoneOutline : Icon28EditOutline}
|
|
54
|
+
/>
|
|
57
55
|
)}
|
|
58
56
|
</PanelHeaderButton>
|
|
59
57
|
);
|
|
@@ -9,24 +9,25 @@ import {
|
|
|
9
9
|
} from '../PanelHeaderButton/PanelHeaderButton';
|
|
10
10
|
import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden';
|
|
11
11
|
|
|
12
|
+
export type PanelHeaderSubmitProps = Omit<PanelHeaderButtonProps, 'children'>;
|
|
13
|
+
|
|
12
14
|
/**
|
|
13
15
|
* @see https://vkcom.github.io/VKUI/#/PanelHeaderButton
|
|
14
16
|
*/
|
|
15
17
|
export const PanelHeaderSubmit = ({
|
|
16
|
-
|
|
18
|
+
label = 'Готово',
|
|
17
19
|
...restProps
|
|
18
|
-
}:
|
|
20
|
+
}: PanelHeaderSubmitProps): React.ReactNode => {
|
|
19
21
|
const platform = usePlatform();
|
|
20
22
|
|
|
21
23
|
return (
|
|
22
|
-
<PanelHeaderButton
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
</>
|
|
24
|
+
<PanelHeaderButton
|
|
25
|
+
primary
|
|
26
|
+
label={platform === 'ios' ? label : label && <VisuallyHidden>{label}</VisuallyHidden>}
|
|
27
|
+
{...restProps}
|
|
28
|
+
>
|
|
29
|
+
{platform !== 'ios' && (
|
|
30
|
+
<AdaptiveIconRenderer IconCompact={Icon24DoneOutline} IconRegular={Icon28DoneOutline} />
|
|
30
31
|
)}
|
|
31
32
|
</PanelHeaderButton>
|
|
32
33
|
);
|
|
@@ -41,6 +41,10 @@ export interface PopoutWrapperProps extends HTMLAttributesWithRootRef<HTMLDivEle
|
|
|
41
41
|
* Спрячет компонент через fade-out анимацию.
|
|
42
42
|
*/
|
|
43
43
|
closing?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Позволяет задать z-index через токен или числом
|
|
46
|
+
*/
|
|
47
|
+
zIndex?: number | string;
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
/**
|
|
@@ -54,6 +58,7 @@ export const PopoutWrapper = ({
|
|
|
54
58
|
fixed = true,
|
|
55
59
|
children,
|
|
56
60
|
onClick,
|
|
61
|
+
zIndex = 'var(--vkui--z_index_popout)',
|
|
57
62
|
...restProps
|
|
58
63
|
}: PopoutWrapperProps): React.ReactNode => {
|
|
59
64
|
return (
|
|
@@ -67,6 +72,10 @@ export const PopoutWrapper = ({
|
|
|
67
72
|
fixed && styles.fixed,
|
|
68
73
|
!noBackground && styles.masked,
|
|
69
74
|
)}
|
|
75
|
+
style={{
|
|
76
|
+
zIndex,
|
|
77
|
+
...restProps.style,
|
|
78
|
+
}}
|
|
70
79
|
>
|
|
71
80
|
<div className={styles.container}>
|
|
72
81
|
<div className={styles.overlay} onClick={onClick} />
|
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
import { classNames } from '@vkontakte/vkjs';
|
|
5
5
|
import { clamp } from '../../helpers/math';
|
|
6
6
|
import { usePlatform } from '../../hooks/usePlatform';
|
|
7
|
-
import {
|
|
7
|
+
import { useStateWithPrev } from '../../hooks/useStateWithPrev';
|
|
8
8
|
import { type DOMProps, initializeBrowserGesturePreventionEffect, useDOM } from '../../lib/dom';
|
|
9
9
|
import { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';
|
|
10
10
|
import type { AnyFunction, HasChildren } from '../../types';
|
|
@@ -57,7 +57,11 @@ export const PullToRefresh = ({
|
|
|
57
57
|
const platform = usePlatform();
|
|
58
58
|
const scroll = useScroll();
|
|
59
59
|
const { window } = useDOM();
|
|
60
|
-
|
|
60
|
+
|
|
61
|
+
const prevIsFetchingRef = React.useRef<boolean | undefined>(undefined);
|
|
62
|
+
React.useEffect(() => {
|
|
63
|
+
prevIsFetchingRef.current = isFetching;
|
|
64
|
+
});
|
|
61
65
|
|
|
62
66
|
const initParams = React.useMemo(
|
|
63
67
|
() => ({
|
|
@@ -74,8 +78,7 @@ export const PullToRefresh = ({
|
|
|
74
78
|
const [watching, setWatching] = React.useState(false);
|
|
75
79
|
const [refreshing, setRefreshing] = React.useState(false);
|
|
76
80
|
const [canRefresh, setCanRefresh] = React.useState(false);
|
|
77
|
-
const [touchDown, setTouchDown] =
|
|
78
|
-
const prevTouchDown = usePrevious(touchDown);
|
|
81
|
+
const [[touchDown, prevTouchDown], setTouchDown] = useStateWithPrev(false);
|
|
79
82
|
|
|
80
83
|
const touchY = React.useRef(0);
|
|
81
84
|
const [contentShift, setContentShift] = React.useState(0);
|
|
@@ -99,16 +102,18 @@ export const PullToRefresh = ({
|
|
|
99
102
|
const waitFetchingTimeoutId = React.useRef<NodeJS.Timeout>();
|
|
100
103
|
|
|
101
104
|
useIsomorphicLayoutEffect(() => {
|
|
105
|
+
const prevIsFetching = prevIsFetchingRef.current;
|
|
102
106
|
if (prevIsFetching !== undefined && prevIsFetching && !isFetching) {
|
|
103
107
|
onRefreshingFinish();
|
|
104
108
|
}
|
|
105
|
-
}, [
|
|
109
|
+
}, [isFetching, onRefreshingFinish]);
|
|
106
110
|
|
|
107
111
|
useIsomorphicLayoutEffect(() => {
|
|
112
|
+
const prevIsFetching = prevIsFetchingRef.current;
|
|
108
113
|
if (prevIsFetching !== undefined && !prevIsFetching && isFetching) {
|
|
109
114
|
clearTimeout(waitFetchingTimeoutId.current);
|
|
110
115
|
}
|
|
111
|
-
}, [isFetching
|
|
116
|
+
}, [isFetching]);
|
|
112
117
|
|
|
113
118
|
const runRefreshing = React.useCallback(() => {
|
|
114
119
|
if (!refreshing && onRefresh) {
|
|
@@ -141,7 +146,6 @@ export const PullToRefresh = ({
|
|
|
141
146
|
}
|
|
142
147
|
}, [
|
|
143
148
|
initParams,
|
|
144
|
-
prevIsFetching,
|
|
145
149
|
isFetching,
|
|
146
150
|
onRefreshingFinish,
|
|
147
151
|
prevTouchDown,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
import { ModalPopoutPortal } from '../AppRoot/ModalPopoutPortal';
|
|
4
5
|
import { useScrollLock } from '../AppRoot/ScrollContext';
|
|
5
6
|
import { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';
|
|
6
7
|
import { ScreenSpinnerContainer } from './ScreenSpinnerContainer';
|
|
@@ -26,17 +27,20 @@ export const ScreenSpinner: React.FC<ScreenSpinnerProps> & {
|
|
|
26
27
|
mode,
|
|
27
28
|
label,
|
|
28
29
|
customIcon,
|
|
30
|
+
usePortal,
|
|
29
31
|
...restProps
|
|
30
32
|
}: ScreenSpinnerProps): React.ReactNode => {
|
|
31
33
|
useScrollLock();
|
|
32
34
|
|
|
33
35
|
return (
|
|
34
|
-
<
|
|
35
|
-
<
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
<ModalPopoutPortal usePortal={usePortal}>
|
|
37
|
+
<PopoutWrapper className={className} style={style} noBackground>
|
|
38
|
+
<ScreenSpinnerContainer state={state} mode={mode} label={label} customIcon={customIcon}>
|
|
39
|
+
<ScreenSpinnerLoader {...restProps} />
|
|
40
|
+
<ScreenSpinnerSwapIcon onClick={onClick} cancelLabel={cancelLabel} />
|
|
41
|
+
</ScreenSpinnerContainer>
|
|
42
|
+
</PopoutWrapper>
|
|
43
|
+
</ModalPopoutPortal>
|
|
40
44
|
);
|
|
41
45
|
};
|
|
42
46
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
|
+
import type { AppRootPortalProps } from '../AppRoot/AppRootPortal';
|
|
2
3
|
import type { SpinnerProps } from '../Spinner/Spinner';
|
|
3
4
|
|
|
4
5
|
export type ScreenSpinnerProps = Omit<SpinnerProps, 'size'> & {
|
|
@@ -13,4 +14,5 @@ export type ScreenSpinnerProps = Omit<SpinnerProps, 'size'> & {
|
|
|
13
14
|
*/
|
|
14
15
|
label?: React.ReactNode;
|
|
15
16
|
cancelLabel?: string;
|
|
17
|
+
usePortal?: AppRootPortalProps['usePortal'];
|
|
16
18
|
};
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
inline-size: initial;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
/*
|
|
205
|
-
.
|
|
204
|
+
/* stylelint-disable-next-line selector-pseudo-class-disallowed-list */
|
|
205
|
+
:global(.vkuiInternalGroup--mode-plain) .host {
|
|
206
206
|
padding-block-start: 4px;
|
|
207
207
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { classNames } from '@vkontakte/vkjs';
|
|
2
|
-
import {
|
|
2
|
+
import { resolveSpacingSize, type SpacingSizeProp } from '../../lib/spacings/sizes';
|
|
3
3
|
import type { HTMLAttributesWithRootRef } from '../../types';
|
|
4
4
|
import { RootComponent } from '../RootComponent/RootComponent';
|
|
5
5
|
import styles from './Separator.module.css';
|
|
@@ -21,6 +21,8 @@ export interface SeparatorProps extends HTMLAttributesWithRootRef<HTMLDivElement
|
|
|
21
21
|
direction?: 'horizontal' | 'vertical';
|
|
22
22
|
/**
|
|
23
23
|
* Размер контейнера, в который вложен разделитель
|
|
24
|
+
*
|
|
25
|
+
* Принимает значения дизайн-системы, числовые значения и css-переменные
|
|
24
26
|
*/
|
|
25
27
|
size?: SpacingSizeProp;
|
|
26
28
|
/**
|
|
@@ -56,22 +58,32 @@ export const Separator = ({
|
|
|
56
58
|
style,
|
|
57
59
|
size,
|
|
58
60
|
...restProps
|
|
59
|
-
}: SeparatorProps): React.ReactNode =>
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
61
|
+
}: SeparatorProps): React.ReactNode => {
|
|
62
|
+
const [spacingSizeClassName, spacingSizeStyle] = resolveSpacingSize(
|
|
63
|
+
CUSTOM_CSS_TOKEN_FOR_USER_SIZE,
|
|
64
|
+
size,
|
|
65
|
+
);
|
|
66
|
+
return (
|
|
67
|
+
<RootComponent
|
|
68
|
+
{...restProps}
|
|
69
|
+
baseClassName={classNames(
|
|
70
|
+
padding && styles.padded,
|
|
71
|
+
appearanceClassNames[appearance],
|
|
72
|
+
directionClassNames[direction],
|
|
73
|
+
size !== undefined && styles.sized,
|
|
74
|
+
align !== 'center' && alignClassNames[align],
|
|
75
|
+
spacingSizeClassName,
|
|
76
|
+
)}
|
|
77
|
+
style={
|
|
78
|
+
spacingSizeStyle
|
|
79
|
+
? {
|
|
80
|
+
...spacingSizeStyle,
|
|
81
|
+
...style,
|
|
82
|
+
}
|
|
83
|
+
: style
|
|
84
|
+
}
|
|
85
|
+
>
|
|
86
|
+
<hr className={styles.in} />
|
|
87
|
+
</RootComponent>
|
|
88
|
+
);
|
|
89
|
+
};
|
|
@@ -5,7 +5,7 @@ import { classNames } from '@vkontakte/vkjs';
|
|
|
5
5
|
import { millisecondsInSecond } from 'date-fns/constants';
|
|
6
6
|
import { useExternRef } from '../../hooks/useExternRef';
|
|
7
7
|
import { useGlobalEventListener } from '../../hooks/useGlobalEventListener';
|
|
8
|
-
import {
|
|
8
|
+
import { useStateWithPrev } from '../../hooks/useStateWithPrev';
|
|
9
9
|
import { useDOM } from '../../lib/dom';
|
|
10
10
|
import type { CSSCustomProperties, HTMLAttributesWithRootRef } from '../../types';
|
|
11
11
|
import { RootComponent } from '../RootComponent/RootComponent';
|
|
@@ -64,8 +64,8 @@ function useSkeletonSyncAnimation(disableAnimation: boolean, duration = 1.5) {
|
|
|
64
64
|
*/
|
|
65
65
|
function useSkeletonPosition(rootRef: React.MutableRefObject<HTMLElement | null>) {
|
|
66
66
|
const { document, window } = useDOM();
|
|
67
|
-
const [skeletonGradientLeft, setSkeletonGradientLeft] =
|
|
68
|
-
|
|
67
|
+
const [[skeletonGradientLeft, prevSkeletonGradientLeft], setSkeletonGradientLeft] =
|
|
68
|
+
useStateWithPrev('0');
|
|
69
69
|
|
|
70
70
|
const updatePosition = React.useCallback(() => {
|
|
71
71
|
const el = rootRef.current;
|
|
@@ -78,7 +78,7 @@ function useSkeletonPosition(rootRef: React.MutableRefObject<HTMLElement | null>
|
|
|
78
78
|
if (prevSkeletonGradientLeft !== gradientValue) {
|
|
79
79
|
setSkeletonGradientLeft(gradientValue);
|
|
80
80
|
}
|
|
81
|
-
}, [document, prevSkeletonGradientLeft, rootRef]);
|
|
81
|
+
}, [document, prevSkeletonGradientLeft, rootRef, setSkeletonGradientLeft]);
|
|
82
82
|
|
|
83
83
|
React.useEffect(updatePosition, [updatePosition]);
|
|
84
84
|
useGlobalEventListener(window, 'resize', updatePosition);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { classNames } from '@vkontakte/vkjs';
|
|
3
|
-
import {
|
|
3
|
+
import { resolveSpacingSize, type SpacingSizeProp } from '../../lib/spacings/sizes';
|
|
4
4
|
import type { HTMLAttributesWithRootRef } from '../../types';
|
|
5
5
|
import { RootComponent } from '../RootComponent/RootComponent';
|
|
6
6
|
import styles from './Spacing.module.css';
|
|
@@ -10,10 +10,12 @@ export const CUSTOM_CSS_TOKEN_FOR_USER_GAP = '--vkui_internal--spacing_size';
|
|
|
10
10
|
export interface SpacingProps extends HTMLAttributesWithRootRef<HTMLDivElement> {
|
|
11
11
|
/**
|
|
12
12
|
* Высота спэйсинга
|
|
13
|
+
*
|
|
14
|
+
* Принимает значения дизайн-системы, числовые значения и css-переменные
|
|
13
15
|
*/
|
|
14
16
|
size?: SpacingSizeProp;
|
|
15
17
|
/**
|
|
16
|
-
* @
|
|
18
|
+
* @deprecated 7.0.0
|
|
17
19
|
*
|
|
18
20
|
* Свойство устарело и будет удалено в v8.
|
|
19
21
|
*/
|
|
@@ -23,17 +25,22 @@ export interface SpacingProps extends HTMLAttributesWithRootRef<HTMLDivElement>
|
|
|
23
25
|
* @see https://vkcom.github.io/VKUI/#/Spacing
|
|
24
26
|
*/
|
|
25
27
|
export const Spacing = ({ size = 'm', style, ...restProps }: SpacingProps): React.ReactNode => {
|
|
28
|
+
const [spacingSizeClassName, spacingSizeStyle] = resolveSpacingSize(
|
|
29
|
+
CUSTOM_CSS_TOKEN_FOR_USER_GAP,
|
|
30
|
+
size,
|
|
31
|
+
);
|
|
26
32
|
return (
|
|
27
33
|
<RootComponent
|
|
28
34
|
{...restProps}
|
|
29
|
-
style={
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
style={
|
|
36
|
+
spacingSizeStyle
|
|
37
|
+
? {
|
|
38
|
+
...spacingSizeStyle,
|
|
39
|
+
...style,
|
|
40
|
+
}
|
|
41
|
+
: style
|
|
42
|
+
}
|
|
43
|
+
baseClassName={classNames(styles.host, spacingSizeClassName)}
|
|
37
44
|
/>
|
|
38
45
|
);
|
|
39
46
|
};
|
|
@@ -5,7 +5,6 @@ import { classNames } from '@vkontakte/vkjs';
|
|
|
5
5
|
import { useAdaptivity } from '../../hooks/useAdaptivity';
|
|
6
6
|
import { useExternRef } from '../../hooks/useExternRef';
|
|
7
7
|
import { useMediaQueries } from '../../hooks/useMediaQueries';
|
|
8
|
-
import { useObjectMemo } from '../../hooks/useObjectMemo';
|
|
9
8
|
import { ViewWidth, viewWidthToClassName } from '../../lib/adaptivity';
|
|
10
9
|
import { matchMediaListAddListener, matchMediaListRemoveListener } from '../../lib/matchMedia';
|
|
11
10
|
import type { HTMLAttributesWithRootRef } from '../../types';
|
|
@@ -89,10 +88,13 @@ export const SplitCol = (props: SplitColProps): React.ReactNode => {
|
|
|
89
88
|
const { viewWidth } = useAdaptivity();
|
|
90
89
|
const animate = useTransitionAnimate(animateProp);
|
|
91
90
|
|
|
92
|
-
const contextValue =
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
const contextValue = React.useMemo(
|
|
92
|
+
() => ({
|
|
93
|
+
colRef: baseRef,
|
|
94
|
+
animate,
|
|
95
|
+
}),
|
|
96
|
+
[animate, baseRef],
|
|
97
|
+
);
|
|
96
98
|
|
|
97
99
|
return (
|
|
98
100
|
<RootComponent
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { classNames } from '@vkontakte/vkjs';
|
|
5
|
+
import { useExternRef } from '../../hooks/useExternRef';
|
|
5
6
|
import { usePlatform } from '../../hooks/usePlatform';
|
|
6
7
|
import type { HasRef, HTMLAttributesWithRootRef } from '../../types';
|
|
7
|
-
import {
|
|
8
|
+
import { AppRootContext } from '../AppRoot/AppRootContext';
|
|
8
9
|
import styles from './SplitLayout.module.css';
|
|
9
10
|
|
|
10
11
|
export interface SplitLayoutProps
|
|
@@ -12,10 +13,18 @@ export interface SplitLayoutProps
|
|
|
12
13
|
HasRef<HTMLDivElement> {
|
|
13
14
|
/**
|
|
14
15
|
* Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.
|
|
16
|
+
*
|
|
17
|
+
* @deprecated будет удалёно в **VKUI v8**
|
|
18
|
+
* Начиная с **VKUI v7** компоненты можно располагать в любом
|
|
19
|
+
* месте приложения в пределах `AppRoot`
|
|
15
20
|
*/
|
|
16
21
|
popout?: React.ReactNode;
|
|
17
22
|
/**
|
|
18
23
|
* Свойство для отрисовки `ModalRoot`.
|
|
24
|
+
*
|
|
25
|
+
* @deprecated будет удалёно в **VKUI v8**
|
|
26
|
+
* Начиная с **VKUI v7** `ModalRoot` можно располагать в любом
|
|
27
|
+
* месте приложения в пределах `AppRoot`
|
|
19
28
|
*/
|
|
20
29
|
modal?: React.ReactNode;
|
|
21
30
|
header?: React.ReactNode;
|
|
@@ -29,25 +38,24 @@ export interface SplitLayoutProps
|
|
|
29
38
|
* @see https://vkcom.github.io/VKUI/#/SplitLayout
|
|
30
39
|
*/
|
|
31
40
|
export const SplitLayout = ({
|
|
32
|
-
popout,
|
|
33
|
-
modal,
|
|
34
41
|
header,
|
|
35
42
|
children,
|
|
36
43
|
getRootRef,
|
|
37
44
|
getRef,
|
|
38
45
|
className,
|
|
39
46
|
center,
|
|
47
|
+
modal,
|
|
48
|
+
popout,
|
|
40
49
|
...restProps
|
|
41
50
|
}: SplitLayoutProps): React.ReactNode => {
|
|
42
51
|
const platform = usePlatform();
|
|
43
52
|
|
|
53
|
+
const { popoutModalRoot } = React.useContext(AppRootContext);
|
|
54
|
+
|
|
55
|
+
const rootRef = useExternRef<HTMLDivElement>(popoutModalRoot, getRootRef);
|
|
56
|
+
|
|
44
57
|
return (
|
|
45
|
-
<
|
|
46
|
-
className={classNames(styles.host, platform === 'ios' && styles.ios)}
|
|
47
|
-
popout={popout}
|
|
48
|
-
modal={modal}
|
|
49
|
-
getRootRef={getRootRef}
|
|
50
|
-
>
|
|
58
|
+
<div className={classNames(styles.host, platform === 'ios' && styles.ios)} ref={rootRef}>
|
|
51
59
|
{header}
|
|
52
60
|
<div
|
|
53
61
|
{...restProps}
|
|
@@ -60,7 +68,9 @@ export const SplitLayout = ({
|
|
|
60
68
|
)}
|
|
61
69
|
>
|
|
62
70
|
{children}
|
|
71
|
+
{modal}
|
|
72
|
+
{popout}
|
|
63
73
|
</div>
|
|
64
|
-
</
|
|
74
|
+
</div>
|
|
65
75
|
);
|
|
66
76
|
};
|