@vkontakte/vkui 5.3.1 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Accordion/Accordion.d.ts +2 -2
- package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
- package/dist/cjs/components/Accordion/AccordionSummary.d.ts +1 -1
- package/dist/cjs/components/Accordion/AccordionSummary.js.map +1 -1
- package/dist/cjs/components/ActionSheet/types.d.ts +1 -1
- package/dist/cjs/components/ActionSheet/types.js.map +1 -1
- package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +14 -0
- package/dist/cjs/components/{WriteBarIcon/WriteBarIconRenderer.js → AdaptiveIconRenderer/AdaptiveIconRenderer.js} +4 -4
- package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -0
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +3 -3
- package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cjs/components/AppRoot/ScrollContext.d.ts +2 -2
- package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cjs/components/Button/Button.d.ts +1 -0
- package/dist/cjs/components/Button/Button.js +3 -3
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/Card/Card.js +1 -3
- package/dist/cjs/components/Card/Card.js.map +1 -1
- package/dist/cjs/components/CardGrid/CardGrid.js +4 -4
- package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +4 -2
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js +10 -6
- package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.d.ts +2 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +12 -8
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +4 -0
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js +3 -2
- package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cjs/components/Counter/Counter.js +3 -5
- package/dist/cjs/components/Counter/Counter.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +3 -0
- package/dist/cjs/components/CustomSelect/CustomSelect.js +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/Epic/ScrollSaver.d.ts +3 -3
- package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cjs/components/File/File.js +4 -3
- package/dist/cjs/components/File/File.js.map +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.js +1 -1
- package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +4 -2
- package/dist/cjs/components/FocusVisible/FocusVisible.js +4 -3
- package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
- package/dist/cjs/components/FormField/FormField.js +10 -1
- package/dist/cjs/components/FormField/FormField.js.map +1 -1
- package/dist/cjs/components/FormItem/FormItem.d.ts +3 -1
- package/dist/cjs/components/FormItem/FormItem.js +2 -1
- package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
- package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cjs/components/Group/Group.d.ts +5 -3
- package/dist/cjs/components/Group/Group.js +2 -2
- package/dist/cjs/components/Group/Group.js.map +1 -1
- package/dist/cjs/components/Header/Header.js +20 -16
- package/dist/cjs/components/Header/Header.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +4 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +6 -2
- package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.d.ts +3 -3
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/LocaleProvider/LocaleProvider.d.ts +2 -2
- package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.js +19 -3
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPageContext.d.ts +5 -0
- package/dist/cjs/components/{Typography/types.js → ModalPage/ModalPageContext.js} +8 -1
- package/dist/cjs/components/ModalPage/ModalPageContext.js.map +1 -0
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +6 -1
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +2 -27
- package/dist/cjs/components/ModalRoot/ModalRoot.js +13 -22
- package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +145 -219
- package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cjs/components/ModalRoot/types.d.ts +28 -0
- package/dist/cjs/components/ModalRoot/types.js.map +1 -1
- package/dist/cjs/components/ModalRoot/useModalManager.d.ts +6 -5
- 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 +6 -2
- package/dist/cjs/components/NativeSelect/NativeSelect.js +6 -3
- package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cjs/components/Panel/Panel.js +2 -2
- package/dist/cjs/components/Panel/Panel.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +11 -2
- package/dist/cjs/components/PanelHeader/PanelHeader.js +17 -7
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
- package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cjs/components/PlatformProvider/PlatformProvider.d.ts +1 -1
- package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cjs/components/Popover/Popover.d.ts +3 -2
- package/dist/cjs/components/Popover/Popover.js +5 -3
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +3 -4
- package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cjs/components/Radio/Radio.d.ts +2 -1
- package/dist/cjs/components/Radio/Radio.js +14 -8
- package/dist/cjs/components/Radio/Radio.js.map +1 -1
- package/dist/cjs/components/Removable/Removable.d.ts +7 -2
- package/dist/cjs/components/Removable/Removable.js +4 -3
- package/dist/cjs/components/Removable/Removable.js.map +1 -1
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/Search/Search.d.ts +3 -1
- package/dist/cjs/components/Search/Search.js +42 -57
- package/dist/cjs/components/Search/Search.js.map +1 -1
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +8 -4
- package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js +1 -1
- package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cjs/components/SelectTypography/SelectTypography.d.ts +2 -3
- package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cjs/components/Separator/Separator.js +2 -4
- package/dist/cjs/components/Separator/Separator.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js +8 -5
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/Spacing/Spacing.d.ts +2 -2
- package/dist/cjs/components/Spacing/Spacing.js +0 -1
- package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.js +1 -0
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +1 -3
- package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cjs/components/Switch/Switch.d.ts +4 -5
- package/dist/cjs/components/Switch/Switch.js +12 -8
- package/dist/cjs/components/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/Tabbar/Tabbar.js +2 -4
- package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tappable/Tappable.d.ts +2 -3
- package/dist/cjs/components/Tappable/Tappable.js +1 -0
- package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
- package/dist/cjs/components/Typography/Caption/Caption.d.ts +2 -2
- package/dist/cjs/components/Typography/Caption/Caption.js +10 -13
- package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +2 -2
- package/dist/cjs/components/Typography/Footnote/Footnote.js +10 -13
- package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/cjs/components/Typography/Headline/Headline.d.ts +3 -4
- package/dist/cjs/components/Typography/Headline/Headline.js +9 -12
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +3 -5
- package/dist/cjs/components/Typography/Paragraph/Paragraph.js +8 -13
- package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +2 -2
- package/dist/cjs/components/Typography/Subhead/Subhead.js +9 -12
- package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cjs/components/Typography/Text/Text.d.ts +3 -5
- package/dist/cjs/components/Typography/Text/Text.js +8 -13
- package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
- package/dist/cjs/components/Typography/Title/Title.d.ts +2 -2
- package/dist/cjs/components/Typography/Title/Title.js +10 -13
- package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
- package/dist/cjs/components/Typography/Typography.d.ts +16 -0
- package/dist/cjs/components/Typography/Typography.js +35 -0
- package/dist/cjs/components/Typography/Typography.js.map +1 -0
- package/dist/cjs/components/UsersStack/UsersStack.d.ts +2 -2
- package/dist/cjs/components/UsersStack/UsersStack.js +2 -1
- package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cjs/components/View/View.js +1 -1
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/View/ViewInfinite.js +1 -1
- package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js +29 -0
- package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js +5 -0
- package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +2 -2
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/helpers/getPlatformClassName.js +1 -1
- package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
- package/dist/cjs/hooks/useFocusWithin.d.ts +2 -0
- package/dist/cjs/hooks/useFocusWithin.js +38 -0
- package/dist/cjs/hooks/useFocusWithin.js.map +1 -0
- package/dist/cjs/hooks/useId.js +1 -1
- package/dist/cjs/hooks/useId.js.map +1 -1
- package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +1 -1
- package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/utils.js +2 -2
- package/dist/cjs/lib/utils.js.map +1 -1
- package/dist/components/Accordion/Accordion.d.ts +2 -2
- package/dist/components/Accordion/Accordion.js +2 -2
- package/dist/components/Accordion/Accordion.js.map +1 -1
- package/dist/components/Accordion/AccordionSummary.d.ts +1 -1
- package/dist/components/Accordion/AccordionSummary.js +1 -1
- package/dist/components/Accordion/AccordionSummary.js.map +1 -1
- package/dist/components/ActionSheet/types.d.ts +1 -1
- package/dist/components/ActionSheet/types.js.map +1 -1
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +14 -0
- package/dist/components/{WriteBarIcon/WriteBarIconRenderer.js → AdaptiveIconRenderer/AdaptiveIconRenderer.js} +5 -2
- package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -0
- package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRootPortal.d.ts +3 -3
- package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/components/AppRoot/ScrollContext.d.ts +2 -2
- package/dist/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -0
- package/dist/components/Button/Button.js +3 -3
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Card/Card.js +1 -3
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/CardGrid/CardGrid.js +4 -4
- package/dist/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +4 -2
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js +10 -6
- package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +2 -1
- package/dist/components/Checkbox/Checkbox.js +12 -8
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -0
- package/dist/components/ChipsSelect/ChipsSelect.js +3 -2
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/Counter/Counter.js +4 -6
- package/dist/components/Counter/Counter.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +3 -0
- package/dist/components/CustomSelect/CustomSelect.js +1 -1
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/Epic/ScrollSaver.d.ts +3 -3
- package/dist/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/components/File/File.js +4 -3
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/FixedLayout/FixedLayout.js +1 -1
- package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/components/FocusVisible/FocusVisible.d.ts +4 -2
- package/dist/components/FocusVisible/FocusVisible.js +4 -3
- package/dist/components/FocusVisible/FocusVisible.js.map +1 -1
- package/dist/components/FormField/FormField.js +10 -1
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormItem/FormItem.d.ts +3 -1
- package/dist/components/FormItem/FormItem.js +2 -1
- package/dist/components/FormItem/FormItem.js.map +1 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
- package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/components/Group/Group.d.ts +5 -3
- package/dist/components/Group/Group.js +5 -3
- package/dist/components/Group/Group.js.map +1 -1
- package/dist/components/Header/Header.js +20 -16
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +4 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +6 -2
- package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +3 -3
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/LocaleProvider/LocaleProvider.d.ts +2 -2
- package/dist/components/LocaleProvider/LocaleProvider.js +2 -2
- package/dist/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/components/ModalPage/ModalPage.js +19 -3
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPage/ModalPageContext.d.ts +5 -0
- package/dist/components/ModalPage/ModalPageContext.js +4 -0
- package/dist/components/ModalPage/ModalPageContext.js.map +1 -0
- package/dist/components/ModalPageHeader/ModalPageHeader.js +6 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts +2 -27
- package/dist/components/ModalRoot/ModalRoot.js +13 -22
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
- package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
- package/dist/components/ModalRoot/ModalRootDesktop.js +149 -223
- package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/components/ModalRoot/types.d.ts +28 -0
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.d.ts +6 -5
- package/dist/components/ModalRoot/useModalManager.js +3 -3
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +6 -2
- package/dist/components/NativeSelect/NativeSelect.js +6 -3
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Panel/Panel.js +2 -2
- package/dist/components/Panel/Panel.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.d.ts +11 -2
- package/dist/components/PanelHeader/PanelHeader.js +17 -7
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
- package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.d.ts +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +3 -2
- package/dist/components/Popover/Popover.js +5 -3
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +1 -0
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/PullToRefresh/PullToRefresh.d.ts +3 -4
- package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +2 -1
- package/dist/components/Radio/Radio.js +14 -8
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Removable/Removable.d.ts +7 -2
- package/dist/components/Removable/Removable.js +4 -3
- package/dist/components/Removable/Removable.js.map +1 -1
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/Search/Search.d.ts +3 -1
- package/dist/components/Search/Search.js +42 -57
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +8 -4
- package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js +1 -1
- package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/components/SelectTypography/SelectTypography.d.ts +2 -3
- package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/components/Separator/Separator.js +2 -4
- package/dist/components/Separator/Separator.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +8 -5
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/Spacing/Spacing.d.ts +2 -2
- package/dist/components/Spacing/Spacing.js +0 -1
- package/dist/components/Spacing/Spacing.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.js +1 -0
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -3
- package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +4 -5
- package/dist/components/Switch/Switch.js +12 -8
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.js +2 -4
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +1 -1
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tappable/Tappable.d.ts +2 -3
- package/dist/components/Tappable/Tappable.js +1 -0
- package/dist/components/Tappable/Tappable.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +2 -2
- package/dist/components/Typography/Caption/Caption.js +10 -13
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Footnote/Footnote.d.ts +2 -2
- package/dist/components/Typography/Footnote/Footnote.js +10 -13
- package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts +3 -4
- package/dist/components/Typography/Headline/Headline.js +9 -12
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/Typography/Paragraph/Paragraph.d.ts +3 -5
- package/dist/components/Typography/Paragraph/Paragraph.js +8 -13
- package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/components/Typography/Subhead/Subhead.d.ts +2 -2
- package/dist/components/Typography/Subhead/Subhead.js +9 -12
- package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/components/Typography/Text/Text.d.ts +3 -5
- package/dist/components/Typography/Text/Text.js +8 -13
- package/dist/components/Typography/Text/Text.js.map +1 -1
- package/dist/components/Typography/Title/Title.d.ts +2 -2
- package/dist/components/Typography/Title/Title.js +10 -13
- package/dist/components/Typography/Title/Title.js.map +1 -1
- package/dist/components/Typography/Typography.d.ts +16 -0
- package/dist/components/Typography/Typography.js +24 -0
- package/dist/components/Typography/Typography.js.map +1 -0
- package/dist/components/UsersStack/UsersStack.d.ts +2 -2
- package/dist/components/UsersStack/UsersStack.js +2 -1
- package/dist/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/components/View/View.js +1 -1
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.js +1 -1
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js +25 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +9 -4
- package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +2 -2
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +138 -138
- package/dist/components.css.map +1 -1
- package/dist/components.js.tmp +3804 -3697
- package/dist/cssm/components/Accordion/Accordion.d.ts +2 -2
- package/dist/cssm/components/Accordion/Accordion.js +2 -2
- package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
- package/dist/cssm/components/Accordion/Accordion.module.css +13 -1
- package/dist/cssm/components/Accordion/AccordionSummary.d.ts +1 -1
- package/dist/cssm/components/Accordion/AccordionSummary.js +1 -1
- package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.module.css +115 -1
- package/dist/cssm/components/ActionSheet/types.d.ts +1 -1
- package/dist/cssm/components/ActionSheet/types.js.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.module.css +241 -1
- package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.d.ts +14 -0
- package/dist/cssm/components/{WriteBarIcon/WriteBarIconRenderer.js → AdaptiveIconRenderer/AdaptiveIconRenderer.js} +5 -2
- package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -0
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +4 -4
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.module.css +287 -1
- package/dist/cssm/components/AppRoot/AppRoot.module.css +23 -1
- package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +3 -3
- package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
- package/dist/cssm/components/AppRoot/ScrollContext.d.ts +2 -2
- package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
- package/dist/cssm/components/Avatar/Avatar.module.css +55 -1
- package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.module.css +29 -1
- package/dist/cssm/components/Badge/Badge.module.css +27 -1
- package/dist/cssm/components/Banner/Banner.module.css +167 -1
- package/dist/cssm/components/BaseGallery/BaseGallery.module.css +82 -1
- package/dist/cssm/components/Button/Button.d.ts +1 -0
- package/dist/cssm/components/Button/Button.js +3 -2
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/Button/Button.module.css +676 -1
- package/dist/cssm/components/ButtonGroup/ButtonGroup.module.css +77 -1
- package/dist/cssm/components/Calendar/Calendar.module.css +30 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.module.css +84 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.module.css +31 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.module.css +41 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.module.css +26 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.module.css +19 -1
- package/dist/cssm/components/Card/Card.js +1 -3
- package/dist/cssm/components/Card/Card.js.map +1 -1
- package/dist/cssm/components/Card/Card.module.css +131 -3
- package/dist/cssm/components/CardGrid/CardGrid.js +4 -4
- package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
- package/dist/cssm/components/CardGrid/CardGrid.module.css +59 -1
- package/dist/cssm/components/CardScroll/CardScroll.module.css +64 -1
- package/dist/cssm/components/Cell/Cell.module.css +63 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +4 -2
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +7 -5
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.module.css +13 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.module.css +4 -1
- package/dist/cssm/components/CellButton/CellButton.module.css +57 -1
- package/dist/cssm/components/Checkbox/Checkbox.d.ts +2 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +10 -7
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.module.css +172 -1
- package/dist/cssm/components/Chip/Chip.module.css +67 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.module.css +3 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.module.css +115 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -0
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +2 -2
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.module.css +27 -1
- package/dist/cssm/components/ContentCard/ContentCard.module.css +31 -1
- package/dist/cssm/components/Counter/Counter.js +4 -6
- package/dist/cssm/components/Counter/Counter.js.map +1 -1
- package/dist/cssm/components/Counter/Counter.module.css +72 -3
- package/dist/cssm/components/CustomScrollView/CustomScrollView.module.css +86 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +3 -0
- package/dist/cssm/components/CustomSelect/CustomSelect.js +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.module.css +58 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.module.css +43 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.module.css +81 -1
- package/dist/cssm/components/DateInput/DateInput.module.css +30 -1
- package/dist/cssm/components/DatePicker/DatePicker.module.css +30 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.module.css +26 -1
- package/dist/cssm/components/Div/Div.module.css +4 -1
- package/dist/cssm/components/Epic/Epic.module.css +4 -1
- package/dist/cssm/components/Epic/ScrollSaver.d.ts +3 -3
- package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
- package/dist/cssm/components/File/File.js +4 -3
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.module.css +58 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.d.ts +4 -2
- package/dist/cssm/components/FocusVisible/FocusVisible.js +4 -3
- package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.module.css +104 -1
- package/dist/cssm/components/Footer/Footer.module.css +9 -1
- package/dist/cssm/components/FormField/FormField.js +10 -1
- package/dist/cssm/components/FormField/FormField.js.map +1 -1
- package/dist/cssm/components/FormField/FormField.module.css +211 -1
- package/dist/cssm/components/FormItem/FormItem.d.ts +3 -1
- package/dist/cssm/components/FormItem/FormItem.js +2 -1
- package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
- package/dist/cssm/components/FormItem/FormItem.module.css +104 -1
- package/dist/cssm/components/FormLayout/FormLayout.module.css +18 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +3 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.module.css +61 -1
- package/dist/cssm/components/FormStatus/FormStatus.module.css +3 -1
- package/dist/cssm/components/Gradient/Gradient.module.css +23 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.module.css +37 -1
- package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.module.css +9 -1
- package/dist/cssm/components/Group/Group.d.ts +5 -3
- package/dist/cssm/components/Group/Group.js +5 -3
- package/dist/cssm/components/Group/Group.js.map +1 -1
- package/dist/cssm/components/Group/Group.module.css +166 -1
- package/dist/cssm/components/Header/Header.js +23 -18
- package/dist/cssm/components/Header/Header.js.map +1 -1
- package/dist/cssm/components/Header/Header.module.css +207 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +79 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +5 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.module.css +59 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +2 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +5 -2
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.module.css +67 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +1 -1
- package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.d.ts +3 -3
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/IconButton/IconButton.module.css +152 -1
- package/dist/cssm/components/Image/ImageBadge/ImageBadge.module.css +10 -1
- package/dist/cssm/components/ImageBase/ImageBase.module.css +131 -1
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.module.css +28 -1
- package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.module.css +36 -1
- package/dist/cssm/components/InfoRow/InfoRow.module.css +17 -1
- package/dist/cssm/components/Input/Input.module.css +101 -1
- package/dist/cssm/components/InputLike/InputLike.module.css +31 -1
- package/dist/cssm/components/Link/Link.module.css +43 -1
- package/dist/cssm/components/List/List.module.css +3 -1
- package/dist/cssm/components/LocaleProvider/LocaleProvider.d.ts +2 -2
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js +2 -2
- package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +78 -1
- package/dist/cssm/components/ModalCard/ModalCard.module.css +62 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +102 -1
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.module.css +38 -1
- package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +17 -3
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.module.css +151 -1
- package/dist/cssm/components/ModalPage/ModalPageContext.d.ts +5 -0
- package/dist/cssm/components/ModalPage/ModalPageContext.js +4 -0
- package/dist/cssm/components/ModalPage/ModalPageContext.js.map +1 -0
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +6 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.module.css +18 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +2 -27
- package/dist/cssm/components/ModalRoot/ModalRoot.js +12 -18
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.module.css +65 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +2 -21
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +3 -28
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +106 -125
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
- package/dist/cssm/components/ModalRoot/types.d.ts +28 -0
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.d.ts +6 -5
- 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 +6 -2
- package/dist/cssm/components/NativeSelect/NativeSelect.js +4 -3
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.module.css +83 -1
- package/dist/cssm/components/Panel/Panel.js +2 -2
- package/dist/cssm/components/Panel/Panel.js.map +1 -1
- package/dist/cssm/components/Panel/Panel.module.css +177 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +11 -2
- package/dist/cssm/components/PanelHeader/PanelHeader.js +16 -7
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.module.css +321 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.module.css +111 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.module.css +96 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.module.css +169 -1
- package/dist/cssm/components/Placeholder/Placeholder.module.css +41 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.d.ts +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
- package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.module.css +32 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.module.css +96 -1
- package/dist/cssm/components/Popover/Popover.d.ts +3 -2
- package/dist/cssm/components/Popover/Popover.js +3 -2
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.module.css +28 -1
- package/dist/cssm/components/Popper/Popper.module.css +16 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.module.css +23 -1
- package/dist/cssm/components/Progress/Progress.module.css +12 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -0
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.module.css +39 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.d.ts +3 -4
- package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.module.css +101 -1
- package/dist/cssm/components/Radio/Radio.d.ts +2 -1
- package/dist/cssm/components/Radio/Radio.js +11 -7
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.module.css +140 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.module.css +13 -1
- package/dist/cssm/components/Removable/Removable.d.ts +7 -2
- package/dist/cssm/components/Removable/Removable.js +2 -2
- package/dist/cssm/components/Removable/Removable.js.map +1 -1
- package/dist/cssm/components/Removable/Removable.module.css +153 -1
- package/dist/cssm/components/RichCell/RichCell.module.css +144 -1
- package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.module.css +11 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.module.css +57 -1
- package/dist/cssm/components/Root/Root.js +4 -4
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/Root/Root.module.css +136 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.module.css +66 -1
- package/dist/cssm/components/Search/Search.d.ts +3 -1
- package/dist/cssm/components/Search/Search.js +38 -54
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/Search/Search.module.css +156 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.module.css +64 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +5 -3
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +7 -4
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.module.css +52 -1
- package/dist/cssm/components/Select/Select.module.css +87 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js +1 -1
- package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.d.ts +2 -3
- package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
- package/dist/cssm/components/SelectTypography/SelectTypography.module.css +30 -1
- package/dist/cssm/components/Separator/Separator.js +2 -4
- package/dist/cssm/components/Separator/Separator.js.map +1 -1
- package/dist/cssm/components/Separator/Separator.module.css +48 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +8 -5
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.module.css +223 -1
- package/dist/cssm/components/Slider/Slider.module.css +134 -1
- package/dist/cssm/components/Snackbar/Snackbar.module.css +165 -1
- package/dist/cssm/components/Spacing/Spacing.d.ts +2 -2
- package/dist/cssm/components/Spacing/Spacing.js +0 -1
- package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.module.css +4 -1
- package/dist/cssm/components/Spinner/Spinner.module.css +36 -1
- package/dist/cssm/components/SplitCol/SplitCol.js +1 -0
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.module.css +51 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.module.css +29 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.module.css +16 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -3
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.module.css +166 -1
- package/dist/cssm/components/Switch/Switch.d.ts +4 -5
- package/dist/cssm/components/Switch/Switch.js +11 -8
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.module.css +200 -1
- package/dist/cssm/components/Tabbar/Tabbar.js +2 -4
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/Tabbar/Tabbar.module.css +34 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.module.css +118 -1
- package/dist/cssm/components/Tabs/Tabs.module.css +62 -1
- package/dist/cssm/components/TabsItem/TabsItem.module.css +229 -1
- package/dist/cssm/components/Tappable/Tappable.d.ts +2 -3
- package/dist/cssm/components/Tappable/Tappable.js +1 -0
- package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.module.css +142 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.module.css +58 -1
- package/dist/cssm/components/Textarea/Textarea.module.css +87 -1
- package/dist/cssm/components/Tooltip/Tooltip.module.css +57 -1
- package/dist/cssm/components/Typography/Caption/Caption.d.ts +2 -2
- package/dist/cssm/components/Typography/Caption/Caption.js +9 -10
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.module.css +45 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.d.ts +2 -2
- package/dist/cssm/components/Typography/Footnote/Footnote.js +7 -10
- package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.module.css +14 -1
- package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -4
- package/dist/cssm/components/Typography/Headline/Headline.js +9 -10
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.module.css +48 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +3 -5
- package/dist/cssm/components/Typography/Paragraph/Paragraph.js +8 -10
- package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.module.css +6 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +2 -2
- package/dist/cssm/components/Typography/Subhead/Subhead.js +8 -9
- package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.module.css +18 -1
- package/dist/cssm/components/Typography/Text/Text.d.ts +3 -5
- package/dist/cssm/components/Typography/Text/Text.js +8 -10
- package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
- package/dist/cssm/components/Typography/Text/Text.module.css +29 -1
- package/dist/cssm/components/Typography/Title/Title.d.ts +2 -2
- package/dist/cssm/components/Typography/Title/Title.js +9 -10
- package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
- package/dist/cssm/components/Typography/Title/Title.module.css +20 -1
- package/dist/cssm/components/Typography/Typography.d.ts +16 -0
- package/dist/cssm/components/Typography/Typography.js +14 -0
- package/dist/cssm/components/Typography/Typography.js.map +1 -0
- package/dist/cssm/components/Typography/Typography.module.css +18 -0
- package/dist/cssm/components/UsersStack/UsersStack.d.ts +2 -2
- package/dist/cssm/components/UsersStack/UsersStack.js +2 -1
- package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.module.css +77 -1
- package/dist/cssm/components/View/View.js +6 -7
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/View.module.css +228 -1
- package/dist/cssm/components/View/ViewInfinite.js +6 -7
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.d.ts +14 -0
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +19 -0
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -0
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.module.css +10 -0
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +4 -4
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +9 -4
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.module.css +10 -1
- package/dist/cssm/components/WriteBar/WriteBar.module.css +119 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +2 -2
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.module.css +66 -1
- package/dist/cssm/helpers/getPlatformClassName.js +1 -1
- package/dist/cssm/helpers/getPlatformClassName.js.map +1 -1
- package/dist/cssm/hooks/useFocusWithin.d.ts +2 -0
- package/dist/cssm/hooks/useFocusWithin.js +26 -0
- package/dist/cssm/hooks/useFocusWithin.js.map +1 -0
- package/dist/cssm/hooks/useId.js +1 -1
- package/dist/cssm/hooks/useId.js.map +1 -1
- package/dist/cssm/hooks/useWaitTransitionFinish.d.ts +1 -1
- package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/cssm/index.d.ts +4 -2
- package/dist/cssm/index.js +2 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/utils.js +2 -2
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/styles/adaptivity.module.css +87 -1
- package/dist/cssm/styles/common.css +36 -1
- package/dist/cssm/styles/constants.css +86 -1
- package/dist/cssm/styles/themes.css +1039 -1
- package/dist/helpers/getPlatformClassName.js +1 -1
- package/dist/helpers/getPlatformClassName.js.map +1 -1
- package/dist/hooks/useFocusWithin.d.ts +2 -0
- package/dist/hooks/useFocusWithin.js +27 -0
- package/dist/hooks/useFocusWithin.js.map +1 -0
- package/dist/hooks/useId.js +1 -1
- package/dist/hooks/useId.js.map +1 -1
- package/dist/hooks/useWaitTransitionFinish.d.ts +1 -1
- package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/utils.js +2 -2
- package/dist/lib/utils.js.map +1 -1
- package/dist/vkui.css +139 -139
- package/dist/vkui.css.map +1 -1
- package/dist/vkui.js.tmp +3804 -3697
- package/package.json +24 -17
- package/dist/cjs/components/Typography/types.d.ts +0 -11
- package/dist/cjs/components/Typography/types.js.map +0 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
- package/dist/cjs/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
- package/dist/components/Typography/types.d.ts +0 -11
- package/dist/components/Typography/types.js +0 -3
- package/dist/components/Typography/types.js.map +0 -1
- package/dist/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
- package/dist/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
- package/dist/cssm/components/Typography/types.d.ts +0 -11
- package/dist/cssm/components/Typography/types.js +0 -3
- package/dist/cssm/components/Typography/types.js.map +0 -1
- package/dist/cssm/components/View/ViewIOS.module.css +0 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.d.ts +0 -10
- package/dist/cssm/components/WriteBarIcon/WriteBarIconRenderer.js.map +0 -1
- package/dist/cssm/styles/animations.css +0 -1
|
@@ -4,6 +4,7 @@ import _object_without_properties from "@swc/helpers/src/_object_without_propert
|
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { classNames } from "@vkontakte/vkjs";
|
|
6
6
|
import { useAdaptivityWithJSMediaQueries } from "../../hooks/useAdaptivityWithJSMediaQueries";
|
|
7
|
+
import { useId } from "../../hooks/useId";
|
|
7
8
|
import { useOrientationChange } from "../../hooks/useOrientationChange";
|
|
8
9
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
9
10
|
import { SizeType } from "../../lib/adaptivity";
|
|
@@ -14,6 +15,7 @@ import { warnOnce } from "../../lib/warnOnce";
|
|
|
14
15
|
import { ModalDismissButton } from "../ModalDismissButton/ModalDismissButton";
|
|
15
16
|
import { ModalRootContext, useModalRegistry } from "../ModalRoot/ModalRootContext";
|
|
16
17
|
import { ModalType } from "../ModalRoot/types";
|
|
18
|
+
import { ModalPageContext } from "./ModalPageContext";
|
|
17
19
|
var sizeClassName = {
|
|
18
20
|
s: "vkuiModalPage--size-s",
|
|
19
21
|
m: "vkuiModalPage--size-m",
|
|
@@ -23,7 +25,7 @@ var warn = warnOnce("ModalPage");
|
|
|
23
25
|
/**
|
|
24
26
|
* @see https://vkcom.github.io/VKUI/#/ModalPage
|
|
25
27
|
*/ export var ModalPage = function(_param) {
|
|
26
|
-
var children = _param.children, header = _param.header, tmp = _param.size, sizeProp = tmp === void 0 ? "s" : tmp, onOpen = _param.onOpen, onOpened = _param.onOpened, onClose = _param.onClose, onClosed = _param.onClosed, settlingHeight = _param.settlingHeight, dynamicContentHeight = _param.dynamicContentHeight, getModalContentRef = _param.getModalContentRef, nav = _param.nav,
|
|
28
|
+
var children = _param.children, header = _param.header, tmp = _param.size, sizeProp = tmp === void 0 ? "s" : tmp, onOpen = _param.onOpen, onOpened = _param.onOpened, onClose = _param.onClose, onClosed = _param.onClosed, settlingHeight = _param.settlingHeight, dynamicContentHeight = _param.dynamicContentHeight, getModalContentRef = _param.getModalContentRef, nav = _param.nav, idProp = _param.id, _param_hideCloseButton = _param.hideCloseButton, hideCloseButton = _param_hideCloseButton === void 0 ? false : _param_hideCloseButton, className = _param.className, restProps = _object_without_properties(_param, [
|
|
27
29
|
"children",
|
|
28
30
|
"header",
|
|
29
31
|
"size",
|
|
@@ -39,6 +41,8 @@ var warn = warnOnce("ModalPage");
|
|
|
39
41
|
"hideCloseButton",
|
|
40
42
|
"className"
|
|
41
43
|
]);
|
|
44
|
+
var generatingId = useId();
|
|
45
|
+
var id = idProp || generatingId;
|
|
42
46
|
var updateModalHeight = React.useContext(ModalRootContext).updateModalHeight;
|
|
43
47
|
var platform = usePlatform();
|
|
44
48
|
var orientation = useOrientationChange();
|
|
@@ -55,7 +59,19 @@ var warn = warnOnce("ModalPage");
|
|
|
55
59
|
nav: nav,
|
|
56
60
|
id: id
|
|
57
61
|
}, warn), ModalType.PAGE).refs;
|
|
58
|
-
|
|
62
|
+
var contextValue = React.useMemo(function() {
|
|
63
|
+
return {
|
|
64
|
+
labelId: "".concat(id, "-label")
|
|
65
|
+
};
|
|
66
|
+
}, [
|
|
67
|
+
id
|
|
68
|
+
]);
|
|
69
|
+
return /*#__PURE__*/ React.createElement(ModalPageContext.Provider, {
|
|
70
|
+
value: contextValue
|
|
71
|
+
}, /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({}, restProps), {
|
|
72
|
+
role: "dialog",
|
|
73
|
+
"aria-modal": "true",
|
|
74
|
+
"aria-labelledby": contextValue.labelId,
|
|
59
75
|
id: id,
|
|
60
76
|
className: classNames("vkuiModalPage", platform === Platform.IOS && "vkuiModalPage--ios", isDesktop && "vkuiModalPage--desktop", sizeX === SizeType.REGULAR && "vkuiInternalModalPage--sizeX-regular", typeof size === "string" && sizeClassName[size], className)
|
|
61
77
|
}), /*#__PURE__*/ React.createElement("div", {
|
|
@@ -78,7 +94,7 @@ var warn = warnOnce("ModalPage");
|
|
|
78
94
|
className: "vkuiModalPage__content-in"
|
|
79
95
|
}, children))), isCloseButtonShown && /*#__PURE__*/ React.createElement(ModalDismissButton, {
|
|
80
96
|
onClick: onClose || modalContext.onClose
|
|
81
|
-
}))));
|
|
97
|
+
})))));
|
|
82
98
|
};
|
|
83
99
|
|
|
84
100
|
//# sourceMappingURL=ModalPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ModalPage/ModalPage.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useOrientationChange } from '../../hooks/useOrientationChange';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { multiRef } from '../../lib/utils';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { ModalDismissButton } from '../ModalDismissButton/ModalDismissButton';\nimport { ModalRootContext, useModalRegistry } from '../ModalRoot/ModalRootContext';\nimport { ModalType } from '../ModalRoot/types';\nimport styles from './ModalPage.module.css';\n\nconst sizeClassName = {\n s: styles['ModalPage--size-s'],\n m: styles['ModalPage--size-m'],\n l: styles['ModalPage--size-l'],\n};\n\nexport interface ModalPageProps extends React.HTMLAttributes<HTMLDivElement>, NavIdProps {\n /**\n * Шапка модальной страницы, `<ModalPageHeader />`\n */\n header?: React.ReactNode;\n /**\n * Задаёт контенту максимальную ширину для десктопной версии.\n */\n size?: 's' | 'm' | 'l' | number;\n /**\n * Будет вызвано при начале открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Будет вызвано при окончательном открытии модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Будет вызвано при начале закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Будет вызвано при окончательном закрытии модалки.\n */\n onClosed?: VoidFunction;\n /**\n * Процент, на который изначально будет открыта модальная страница. При `settlingHeight={100}` модальная страница раскрывается на всю высоту.\n */\n settlingHeight?: number;\n /**\n * Если высота контента в модальной странице может поменяться, нужно установить это свойство\n */\n dynamicContentHeight?: boolean;\n getModalContentRef?: React.Ref<HTMLDivElement>;\n /**\n * Скрывает кнопку закрытия (актуально для iOS, т.к. можно отрисовать кнопку закрытия внутри модалки)\n */\n hideCloseButton?: boolean;\n}\n\nconst warn = warnOnce('ModalPage');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalPage\n */\nexport const ModalPage = ({\n children,\n header,\n size: sizeProp = 's',\n onOpen,\n onOpened,\n onClose,\n onClosed,\n settlingHeight, // 75\n dynamicContentHeight,\n getModalContentRef,\n nav,\n id,\n hideCloseButton = false,\n className,\n ...restProps\n}: ModalPageProps) => {\n const { updateModalHeight } = React.useContext(ModalRootContext);\n\n const platform = usePlatform();\n const orientation = useOrientationChange();\n const { sizeX, isDesktop } = useAdaptivityWithJSMediaQueries();\n\n React.useEffect(updateModalHeight, [children, orientation, updateModalHeight]);\n\n const isCloseButtonShown = !hideCloseButton && isDesktop;\n const size = isDesktop ? sizeProp : 's';\n\n const modalContext = React.useContext(ModalRootContext);\n const { refs } = useModalRegistry(getNavId({ nav, id }, warn), ModalType.PAGE);\n\n return (\n <div\n
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ModalPage/ModalPage.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useId } from '../../hooks/useId';\nimport { useOrientationChange } from '../../hooks/useOrientationChange';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { getNavId, NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { multiRef } from '../../lib/utils';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { ModalDismissButton } from '../ModalDismissButton/ModalDismissButton';\nimport { ModalRootContext, useModalRegistry } from '../ModalRoot/ModalRootContext';\nimport { ModalType } from '../ModalRoot/types';\nimport { ModalPageContext } from './ModalPageContext';\nimport styles from './ModalPage.module.css';\n\nconst sizeClassName = {\n s: styles['ModalPage--size-s'],\n m: styles['ModalPage--size-m'],\n l: styles['ModalPage--size-l'],\n};\n\nexport interface ModalPageProps extends React.HTMLAttributes<HTMLDivElement>, NavIdProps {\n /**\n * Шапка модальной страницы, `<ModalPageHeader />`\n */\n header?: React.ReactNode;\n /**\n * Задаёт контенту максимальную ширину для десктопной версии.\n */\n size?: 's' | 'm' | 'l' | number;\n /**\n * Будет вызвано при начале открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Будет вызвано при окончательном открытии модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Будет вызвано при начале закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Будет вызвано при окончательном закрытии модалки.\n */\n onClosed?: VoidFunction;\n /**\n * Процент, на который изначально будет открыта модальная страница. При `settlingHeight={100}` модальная страница раскрывается на всю высоту.\n */\n settlingHeight?: number;\n /**\n * Если высота контента в модальной странице может поменяться, нужно установить это свойство\n */\n dynamicContentHeight?: boolean;\n getModalContentRef?: React.Ref<HTMLDivElement>;\n /**\n * Скрывает кнопку закрытия (актуально для iOS, т.к. можно отрисовать кнопку закрытия внутри модалки)\n */\n hideCloseButton?: boolean;\n}\n\nconst warn = warnOnce('ModalPage');\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalPage\n */\nexport const ModalPage = ({\n children,\n header,\n size: sizeProp = 's',\n onOpen,\n onOpened,\n onClose,\n onClosed,\n settlingHeight, // 75\n dynamicContentHeight,\n getModalContentRef,\n nav,\n id: idProp,\n hideCloseButton = false,\n className,\n ...restProps\n}: ModalPageProps) => {\n const generatingId = useId();\n const id = idProp || generatingId;\n\n const { updateModalHeight } = React.useContext(ModalRootContext);\n\n const platform = usePlatform();\n const orientation = useOrientationChange();\n const { sizeX, isDesktop } = useAdaptivityWithJSMediaQueries();\n\n React.useEffect(updateModalHeight, [children, orientation, updateModalHeight]);\n\n const isCloseButtonShown = !hideCloseButton && isDesktop;\n const size = isDesktop ? sizeProp : 's';\n\n const modalContext = React.useContext(ModalRootContext);\n const { refs } = useModalRegistry(getNavId({ nav, id }, warn), ModalType.PAGE);\n\n const contextValue = React.useMemo(() => ({ labelId: `${id}-label` }), [id]);\n\n return (\n <ModalPageContext.Provider value={contextValue}>\n <div\n {...restProps}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={contextValue.labelId}\n id={id}\n className={classNames(\n styles['ModalPage'],\n platform === Platform.IOS && styles['ModalPage--ios'],\n isDesktop && styles['ModalPage--desktop'],\n sizeX === SizeType.REGULAR && 'vkuiInternalModalPage--sizeX-regular',\n typeof size === 'string' && sizeClassName[size],\n className,\n )}\n >\n <div\n className={styles['ModalPage__in-wrap']}\n style={{\n maxWidth: typeof size === 'number' ? size : undefined,\n }}\n ref={refs.innerElement}\n >\n <div className={styles['ModalPage__in']}>\n <div className={styles['ModalPage__header']} ref={refs.headerElement}>\n {header}\n </div>\n\n <div className={styles['ModalPage__content-wrap']}>\n <div\n className={styles['ModalPage__content']}\n ref={multiRef<HTMLDivElement>(refs.contentElement, getModalContentRef)}\n >\n <div className={styles['ModalPage__content-in']}>{children}</div>\n </div>\n </div>\n {isCloseButtonShown && <ModalDismissButton onClick={onClose || modalContext.onClose} />}\n </div>\n </div>\n </div>\n </ModalPageContext.Provider>\n );\n};\n"],"names":["React","classNames","useAdaptivityWithJSMediaQueries","useId","useOrientationChange","usePlatform","SizeType","getNavId","Platform","multiRef","warnOnce","ModalDismissButton","ModalRootContext","useModalRegistry","ModalType","ModalPageContext","sizeClassName","s","m","l","warn","ModalPage","children","header","sizeProp","size","onOpen","onOpened","onClose","onClosed","settlingHeight","dynamicContentHeight","getModalContentRef","nav","id","idProp","hideCloseButton","className","restProps","generatingId","updateModalHeight","useContext","platform","orientation","sizeX","isDesktop","useEffect","isCloseButtonShown","modalContext","refs","PAGE","contextValue","useMemo","labelId","Provider","value","div","role","aria-modal","aria-labelledby","IOS","REGULAR","style","maxWidth","undefined","ref","innerElement","headerElement","contentElement","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ModalPage/ModalPageContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport interface ModalPageContextInterface {\n labelId?: string;\n}\n\nexport const ModalPageContext = React.createContext<ModalPageContextInterface>({});\n"],"names":["React","ModalPageContext","createContext"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAM/B,OAAO,IAAMC,iCAAmBD,MAAME,aAAa,CAA4B,CAAC,GAAG"}
|
|
@@ -6,6 +6,7 @@ import { classNames } from "@vkontakte/vkjs";
|
|
|
6
6
|
import { useAdaptivityWithJSMediaQueries } from "../../hooks/useAdaptivityWithJSMediaQueries";
|
|
7
7
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
8
8
|
import { Platform } from "../../lib/platform";
|
|
9
|
+
import { ModalPageContext } from "../ModalPage/ModalPageContext";
|
|
9
10
|
import { PanelHeader } from "../PanelHeader/PanelHeader";
|
|
10
11
|
import { Separator } from "../Separator/Separator";
|
|
11
12
|
/**
|
|
@@ -20,6 +21,7 @@ import { Separator } from "../Separator/Separator";
|
|
|
20
21
|
var platform = usePlatform();
|
|
21
22
|
var hasSeparator = separator && platform === Platform.VKCOM;
|
|
22
23
|
var isDesktop = useAdaptivityWithJSMediaQueries().isDesktop;
|
|
24
|
+
var labelId = React.useContext(ModalPageContext).labelId;
|
|
23
25
|
return /*#__PURE__*/ React.createElement("div", {
|
|
24
26
|
className: classNames("vkuiModalPageHeader", platform !== Platform.VKCOM && "vkuiModalPageHeader--withGaps", isDesktop && "vkuiModalPageHeader--desktop"),
|
|
25
27
|
ref: getRef
|
|
@@ -29,7 +31,10 @@ import { Separator } from "../Separator/Separator";
|
|
|
29
31
|
fixed: false,
|
|
30
32
|
separator: false,
|
|
31
33
|
transparent: true
|
|
32
|
-
}),
|
|
34
|
+
}), /*#__PURE__*/ React.createElement(PanelHeader.Content, {
|
|
35
|
+
Component: "h2",
|
|
36
|
+
id: labelId
|
|
37
|
+
}, children)), hasSeparator && /*#__PURE__*/ React.createElement(Separator, {
|
|
33
38
|
wide: true
|
|
34
39
|
}));
|
|
35
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ModalPageHeader/ModalPageHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef } from '../../types';\nimport { PanelHeader, PanelHeaderProps } from '../PanelHeader/PanelHeader';\nimport { Separator } from '../Separator/Separator';\nimport styles from './ModalPageHeader.module.css';\n\nexport interface ModalPageHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<PanelHeaderProps, 'fixed' | 'shadow'>,\n HasRef<HTMLDivElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalPageHeader\n */\nexport const ModalPageHeader = ({\n children,\n separator = true,\n getRef,\n className,\n ...restProps\n}: ModalPageHeaderProps) => {\n const platform = usePlatform();\n const hasSeparator = separator && platform === Platform.VKCOM;\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n return (\n <div\n className={classNames(\n styles['ModalPageHeader'],\n platform !== Platform.VKCOM && styles['ModalPageHeader--withGaps'],\n isDesktop && styles['ModalPageHeader--desktop'],\n )}\n ref={getRef}\n >\n <PanelHeader\n className={classNames('vkuiInternalModalPageHeader__in', className)}\n {...restProps}\n fixed={false}\n separator={false}\n transparent\n >\n {children}\n </PanelHeader>\n {hasSeparator && <Separator wide />}\n </div>\n );\n};\n"],"names":["React","classNames","useAdaptivityWithJSMediaQueries","usePlatform","Platform","PanelHeader","Separator","ModalPageHeader","children","separator","getRef","className","restProps","platform","hasSeparator","VKCOM","isDesktop","div","ref","fixed","transparent","wide"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,+BAA+B,QAAQ,8CAA8C;AAC9F,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,WAAW,QAA0B,6BAA6B;AAC3E,SAASC,SAAS,QAAQ,yBAAyB;AAQnD;;CAEC,GACD,OAAO,IAAMC,kBAAkB,iBAMH;QAL1BC,kBAAAA,oCACAC,WAAAA,0CAAY,IAAI,qBAChBC,gBAAAA,QACAC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAME,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ModalPageHeader/ModalPageHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { Platform } from '../../lib/platform';\nimport { HasRef } from '../../types';\nimport { ModalPageContext } from '../ModalPage/ModalPageContext';\nimport { PanelHeader, PanelHeaderProps } from '../PanelHeader/PanelHeader';\nimport { Separator } from '../Separator/Separator';\nimport styles from './ModalPageHeader.module.css';\n\nexport interface ModalPageHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<PanelHeaderProps, 'fixed' | 'shadow'>,\n HasRef<HTMLDivElement> {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalPageHeader\n */\nexport const ModalPageHeader = ({\n children,\n separator = true,\n getRef,\n className,\n ...restProps\n}: ModalPageHeaderProps) => {\n const platform = usePlatform();\n const hasSeparator = separator && platform === Platform.VKCOM;\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n const { labelId } = React.useContext(ModalPageContext);\n\n return (\n <div\n className={classNames(\n styles['ModalPageHeader'],\n platform !== Platform.VKCOM && styles['ModalPageHeader--withGaps'],\n isDesktop && styles['ModalPageHeader--desktop'],\n )}\n ref={getRef}\n >\n <PanelHeader\n className={classNames('vkuiInternalModalPageHeader__in', className)}\n {...restProps}\n fixed={false}\n separator={false}\n transparent\n >\n <PanelHeader.Content Component=\"h2\" id={labelId}>\n {children}\n </PanelHeader.Content>\n </PanelHeader>\n {hasSeparator && <Separator wide />}\n </div>\n );\n};\n"],"names":["React","classNames","useAdaptivityWithJSMediaQueries","usePlatform","Platform","ModalPageContext","PanelHeader","Separator","ModalPageHeader","children","separator","getRef","className","restProps","platform","hasSeparator","VKCOM","isDesktop","labelId","useContext","div","ref","fixed","transparent","Content","Component","id","wide"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,+BAA+B,QAAQ,8CAA8C;AAC9F,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,WAAW,QAA0B,6BAA6B;AAC3E,SAASC,SAAS,QAAQ,yBAAyB;AAQnD;;CAEC,GACD,OAAO,IAAMC,kBAAkB,iBAMH;QAL1BC,kBAAAA,oCACAC,WAAAA,0CAAY,IAAI,qBAChBC,gBAAAA,QACAC,mBAAAA,WACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWX;IACjB,IAAMY,eAAeL,aAAaI,aAAaV,SAASY,KAAK;IAC7D,IAAM,AAAEC,YAAcf,kCAAde;IACR,IAAM,AAAEC,UAAYlB,MAAMmB,UAAU,CAACd,kBAA7Ba;IAER,qBACE,oBAACE;QACCR,WAAWX,kCAETa,aAAaV,SAASY,KAAK,qCAC3BC;QAEFI,KAAKV;qBAEL,oBAACL;QACCM,WAAWX,WAAW,mCAAmCW;OACrDC;QACJS,OAAO,KAAK;QACZZ,WAAW,KAAK;QAChBa,aAAAA,IAAW;sBAEX,oBAACjB,YAAYkB,OAAO;QAACC,WAAU;QAAKC,IAAIR;OACrCT,YAGJM,8BAAgB,oBAACR;QAAUoB,MAAAA,IAAI;;AAGtC,EAAE"}
|
|
@@ -1,28 +1,3 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export interface ModalRootProps extends HasPlatform {
|
|
5
|
-
activeModal?: string | null;
|
|
6
|
-
/**
|
|
7
|
-
* Будет вызвано при начале открытия активной модалки с её id
|
|
8
|
-
*/
|
|
9
|
-
onOpen?(modalId: string): void;
|
|
10
|
-
/**
|
|
11
|
-
* Будет вызвано при окончательном открытии активной модалки с её id
|
|
12
|
-
*/
|
|
13
|
-
onOpened?(modalId: string): void;
|
|
14
|
-
/**
|
|
15
|
-
* Будет вызвано при начале закрытия активной модалки с её id
|
|
16
|
-
*/
|
|
17
|
-
onClose?(modalId: string): void;
|
|
18
|
-
/**
|
|
19
|
-
* Будет вызвано при окончательном закрытии активной модалки с её id
|
|
20
|
-
*/
|
|
21
|
-
onClosed?(modalId: string): void;
|
|
22
|
-
/**
|
|
23
|
-
* @ignore
|
|
24
|
-
*/
|
|
25
|
-
configProvider?: ConfigProviderContextInterface;
|
|
26
|
-
children?: React.ReactNode;
|
|
27
|
-
}
|
|
28
|
-
export declare const ModalRootTouch: React.FC<Omit<ModalRootProps, "platform">>;
|
|
2
|
+
import { ModalRootWithDOMProps } from './types';
|
|
3
|
+
export declare const ModalRootTouch: React.FC<Omit<ModalRootWithDOMProps, "platform">>;
|
|
@@ -64,11 +64,11 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
64
64
|
return false;
|
|
65
65
|
});
|
|
66
66
|
_define_property(_assert_this_initialized(_this), "updateModalTranslate", function() {
|
|
67
|
-
var modalState = _this.getModalState(_this.props.activeModal);
|
|
67
|
+
var modalState = _this.props.getModalState(_this.props.activeModal);
|
|
68
68
|
modalState && _this.animateTranslate(modalState, modalState.translateY);
|
|
69
69
|
});
|
|
70
70
|
_define_property(_assert_this_initialized(_this), "updateModalHeight", function() {
|
|
71
|
-
var modalState = _this.getModalState(_this.props.activeModal);
|
|
71
|
+
var modalState = _this.props.getModalState(_this.props.activeModal);
|
|
72
72
|
if (modalState && modalState.type === ModalType.PAGE && modalState.dynamicContentHeight) {
|
|
73
73
|
if (_this.props.enteringModal) {
|
|
74
74
|
_this.waitTransitionFinish(modalState, function() {
|
|
@@ -87,7 +87,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
87
87
|
if (_this.props.exitingModal) {
|
|
88
88
|
return;
|
|
89
89
|
}
|
|
90
|
-
var modalState = _this.getModalState(_this.props.activeModal);
|
|
90
|
+
var modalState = _this.props.getModalState(_this.props.activeModal);
|
|
91
91
|
if (!modalState) {
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
@@ -99,7 +99,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
99
99
|
}
|
|
100
100
|
});
|
|
101
101
|
_define_property(_assert_this_initialized(_this), "onTouchEnd", function(e) {
|
|
102
|
-
var modalState = _this.getModalState(_this.props.activeModal);
|
|
102
|
+
var modalState = _this.props.getModalState(_this.props.activeModal);
|
|
103
103
|
if ((modalState === null || modalState === void 0 ? void 0 : modalState.type) === ModalType.PAGE) {
|
|
104
104
|
return _this.onPageTouchEnd(e, modalState);
|
|
105
105
|
}
|
|
@@ -114,7 +114,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
114
114
|
if (!activeModal) {
|
|
115
115
|
return;
|
|
116
116
|
}
|
|
117
|
-
var modalState = _this.getModalState(activeModal);
|
|
117
|
+
var modalState = _this.props.getModalState(activeModal);
|
|
118
118
|
if ((modalState === null || modalState === void 0 ? void 0 : modalState.type) === ModalType.PAGE && (modalState === null || modalState === void 0 ? void 0 : (_modalState_contentElement = modalState.contentElement) === null || _modalState_contentElement === void 0 ? void 0 : _modalState_contentElement.contains(target))) {
|
|
119
119
|
modalState.contentScrolled = true;
|
|
120
120
|
if (modalState.contentScrollStopTimeout) {
|
|
@@ -132,14 +132,14 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
132
132
|
dragging: false
|
|
133
133
|
};
|
|
134
134
|
_this.maskElementRef = /*#__PURE__*/ React.createRef();
|
|
135
|
-
var
|
|
135
|
+
var _this_props_getModalState;
|
|
136
136
|
_this.modalRootContext = {
|
|
137
137
|
updateModalHeight: _this.updateModalHeight,
|
|
138
138
|
registerModal: function(_param) {
|
|
139
139
|
var id = _param.id, data = _object_without_properties(_param, [
|
|
140
140
|
"id"
|
|
141
141
|
]);
|
|
142
|
-
return Object.assign((
|
|
142
|
+
return Object.assign((_this_props_getModalState = _this.props.getModalState(id)) !== null && _this_props_getModalState !== void 0 ? _this_props_getModalState : {}, data);
|
|
143
143
|
},
|
|
144
144
|
onClose: function() {
|
|
145
145
|
return _this.props.onExit();
|
|
@@ -168,15 +168,6 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
168
168
|
return this.props.window;
|
|
169
169
|
}
|
|
170
170
|
},
|
|
171
|
-
{
|
|
172
|
-
key: "getModalState",
|
|
173
|
-
value: function getModalState(id) {
|
|
174
|
-
if (!id) {
|
|
175
|
-
return undefined;
|
|
176
|
-
}
|
|
177
|
-
return this.props.getModalState(id);
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
171
|
{
|
|
181
172
|
key: "getModals",
|
|
182
173
|
value: function getModals() {
|
|
@@ -211,7 +202,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
211
202
|
// transition phase 3: animate entering modal
|
|
212
203
|
if (this.props.enteringModal && this.props.enteringModal !== prevProps.enteringModal) {
|
|
213
204
|
var enteringModal = this.props.enteringModal;
|
|
214
|
-
var enteringState = this.getModalState(enteringModal);
|
|
205
|
+
var enteringState = this.props.getModalState(enteringModal);
|
|
215
206
|
this.props.onEnter();
|
|
216
207
|
this.waitTransitionFinish(enteringState, function() {
|
|
217
208
|
if (enteringState === null || enteringState === void 0 ? void 0 : enteringState.innerElement) {
|
|
@@ -260,7 +251,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
260
251
|
{
|
|
261
252
|
key: "checkPageContentHeight",
|
|
262
253
|
value: function checkPageContentHeight() {
|
|
263
|
-
var modalState = this.getModalState(this.props.activeModal);
|
|
254
|
+
var modalState = this.props.getModalState(this.props.activeModal);
|
|
264
255
|
if ((modalState === null || modalState === void 0 ? void 0 : modalState.type) === ModalType.PAGE && (modalState === null || modalState === void 0 ? void 0 : modalState.modalElement)) {
|
|
265
256
|
var prevModalState = _object_spread({}, modalState);
|
|
266
257
|
initPageModal(modalState);
|
|
@@ -287,12 +278,12 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
287
278
|
this.setState({
|
|
288
279
|
touchDown: false
|
|
289
280
|
});
|
|
290
|
-
var prevModalState = this.getModalState(id);
|
|
281
|
+
var prevModalState = this.props.getModalState(id);
|
|
291
282
|
if (!prevModalState) {
|
|
292
283
|
id && warn("closeActiveModal: модальное окно (страница) ".concat(id, " не существует"), "error");
|
|
293
284
|
return;
|
|
294
285
|
}
|
|
295
|
-
var nextModalState = this.getModalState(this.props.activeModal);
|
|
286
|
+
var nextModalState = this.props.getModalState(this.props.activeModal);
|
|
296
287
|
var nextIsPage = !!nextModalState && nextModalState.type === ModalType.PAGE;
|
|
297
288
|
var prevIsPage = !!prevModalState && prevModalState.type === ModalType.PAGE;
|
|
298
289
|
this.waitTransitionFinish(prevModalState, function() {
|
|
@@ -558,7 +549,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
558
549
|
ref: this.viewportRef
|
|
559
550
|
}, this.getModals().map(function(Modal) {
|
|
560
551
|
var modalId = getNavId(Modal.props, warn);
|
|
561
|
-
var _modalState = _this.getModalState(modalId);
|
|
552
|
+
var _modalState = _this.props.getModalState(modalId);
|
|
562
553
|
if (modalId !== activeModal && modalId !== exitingModal || !_modalState) {
|
|
563
554
|
return null;
|
|
564
555
|
}
|
|
@@ -568,7 +559,7 @@ var ModalRootTouchComponent = /*#__PURE__*/ function(_React_Component) {
|
|
|
568
559
|
return /*#__PURE__*/ React.createElement(FocusTrap, {
|
|
569
560
|
key: key,
|
|
570
561
|
getRootRef: function(e) {
|
|
571
|
-
var modalState = _this.getModalState(modalId);
|
|
562
|
+
var modalState = _this.props.getModalState(modalId);
|
|
572
563
|
if (modalState) {
|
|
573
564
|
modalState.modalElement = e;
|
|
574
565
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ModalRoot/ModalRoot.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 { setTransformStyle } from '../../lib/styles';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { rubber } from '../../lib/touch';\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 { Touch, TouchEvent } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport { MODAL_PAGE_DEFAULT_PERCENT_HEIGHT } from './constants';\nimport { ModalsStateEntry, ModalType, TranslateRange } from './types';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nfunction numberInRange(number: number, range: TranslateRange | undefined) {\n if (!range) {\n return false;\n }\n return number >= range[0] && number <= range[1];\n}\n\nfunction rangeTranslate(number: number) {\n return clamp(number, 0, 98);\n}\n\nexport interface ModalRootProps extends HasPlatform {\n activeModal?: string | null;\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 /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n children?: React.ReactNode;\n}\n\ninterface ModalRootState {\n touchDown?: boolean;\n dragging?: boolean;\n}\n\nclass ModalRootTouchComponent extends React.Component<\n ModalRootProps & DOMProps & ModalTransitionProps,\n ModalRootState\n> {\n constructor(props: ModalRootProps & ModalTransitionProps) {\n super(props);\n this.state = {\n touchDown: false,\n dragging: false,\n };\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: this.updateModalHeight,\n registerModal: ({ id, ...data }) => Object.assign(this.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n\n this.frameIds = {};\n }\n\n private documentScrolling = false;\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private readonly viewportRef = React.createRef<HTMLDivElement>();\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private readonly frameIds: {\n [index: string]: number;\n };\n private restoreFocusTo: HTMLElement | undefined | null = undefined;\n\n get timeout(): number {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n getModalState(id: string | undefined | null) {\n if (!id) {\n return undefined;\n }\n return this.props.getModalState(id);\n }\n\n getModals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n componentDidMount() {\n // Отслеживаем изменение размеров viewport (Необходимо для iOS)\n if (this.props.platform === Platform.IOS) {\n this.window?.addEventListener('resize', this.updateModalTranslate, false);\n }\n }\n\n componentWillUnmount() {\n this.toggleDocumentScrolling(true);\n this.window!.removeEventListener('resize', this.updateModalTranslate, false);\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 const { enteringModal } = this.props;\n const enteringState = this.getModalState(enteringModal);\n this.props.onEnter();\n this.waitTransitionFinish(enteringState, () => {\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transitionDelay = '';\n }\n this.props.onEntered(enteringModal);\n });\n\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transitionDelay = this.props.delayEnter\n ? `${this.timeout}ms`\n : '';\n this.animateTranslate(enteringState, enteringState.translateY);\n }\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = this.document!.activeElement as HTMLElement;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = null;\n }\n\n this.toggleDocumentScrolling(!this.props.activeModal && !this.props.exitingModal);\n }\n\n /* Отключает скролл документа */\n toggleDocumentScrolling(enabled: boolean) {\n if (this.documentScrolling === enabled) {\n return;\n }\n this.documentScrolling = enabled;\n\n if (enabled) {\n // Здесь нужен последний аргумент с такими же параметрами, потому что\n // некоторые браузеры на странных вендорах типа Meizu не удаляют обработчик.\n // https://github.com/VKCOM/VKUI/issues/444\n this.window!.removeEventListener('touchmove', this.preventTouch, {\n // @ts-expect-error: TS2769 В интерфейсе EventListenerOptions нет поля passive\n passive: false,\n });\n } else {\n this.window!.addEventListener('touchmove', this.preventTouch, {\n passive: false,\n });\n }\n }\n\n preventTouch = (event: any) => {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault) {\n event.preventDefault();\n }\n return false;\n };\n\n updateModalTranslate = () => {\n const modalState = this.getModalState(this.props.activeModal);\n modalState && this.animateTranslate(modalState, modalState.translateY);\n };\n\n checkPageContentHeight() {\n const modalState = this.getModalState(this.props.activeModal);\n\n if (modalState?.type === ModalType.PAGE && modalState?.modalElement) {\n const prevModalState = { ...modalState };\n initPageModal(modalState);\n const currentModalState = { ...modalState };\n\n let needAnimate = false;\n\n if (prevModalState.expandable === currentModalState.expandable) {\n if (prevModalState.translateYFrom !== currentModalState.translateYFrom) {\n needAnimate = true;\n }\n } else {\n needAnimate = true;\n }\n\n if (needAnimate) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n }\n }\n\n updateModalHeight = () => {\n const modalState = this.getModalState(this.props.activeModal);\n\n if (modalState && modalState.type === ModalType.PAGE && modalState.dynamicContentHeight) {\n if (this.props.enteringModal) {\n this.waitTransitionFinish(modalState, () => {\n requestAnimationFrame(() => this.checkPageContentHeight());\n });\n } else {\n requestAnimationFrame(() => this.checkPageContentHeight());\n }\n }\n };\n\n closeModal(id: string) {\n // Сбрасываем состояния, которые могут помешать закрытию модального окна\n this.setState({ touchDown: false });\n\n const prevModalState = this.getModalState(id);\n\n if (!prevModalState) {\n id && warn(`closeActiveModal: модальное окно (страница) ${id} не существует`, 'error');\n return;\n }\n\n const nextModalState = this.getModalState(this.props.activeModal);\n const nextIsPage = !!nextModalState && nextModalState.type === ModalType.PAGE;\n\n const prevIsPage = !!prevModalState && prevModalState.type === ModalType.PAGE;\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n const exitTranslate =\n prevIsPage &&\n nextIsPage &&\n (prevModalState.translateY ?? 0) <= (nextModalState?.translateYFrom ?? 0) &&\n !this.props.isBack\n ? (nextModalState?.translateYFrom ?? 0) + 10\n : 100;\n this.animateTranslate(prevModalState, exitTranslate);\n\n if (!nextModalState) {\n // NOTE: was only for clean exit\n this.setMaskOpacity(prevModalState, 0);\n }\n }\n\n onTouchMove = (e: TouchEvent) => {\n if (this.props.exitingModal) {\n return;\n }\n const modalState = this.getModalState(this.props.activeModal);\n if (!modalState) {\n return;\n }\n\n if (modalState.type === ModalType.PAGE) {\n return this.onPageTouchMove(e, modalState);\n }\n\n if (modalState.type === ModalType.CARD) {\n return this.onCardTouchMove(e, modalState);\n }\n };\n\n onPageTouchMove(event: TouchEvent, modalState: ModalsStateEntry) {\n const { shiftY, originalEvent } = event;\n const target = originalEvent.target as HTMLElement;\n\n if (!event.isY) {\n if (this.viewportRef.current?.contains(target)) {\n originalEvent.preventDefault();\n }\n return;\n }\n\n if (!modalState.innerElement?.contains(target)) {\n return originalEvent.preventDefault();\n }\n\n originalEvent.stopPropagation();\n\n const { expandable, contentScrolled, collapsed, expanded } = modalState;\n\n if (!this.state.touchDown) {\n modalState.touchStartContentScrollTop = modalState.contentElement?.scrollTop ?? 0;\n this.setState({ touchDown: true });\n }\n\n if (contentScrolled) {\n return;\n }\n\n if (modalState.touchMovePositive === null) {\n modalState.touchMovePositive = shiftY > 0;\n }\n\n if (\n !modalState.expandable ||\n collapsed ||\n (expanded && modalState.touchMovePositive && modalState.touchStartContentScrollTop === 0) ||\n modalState.headerElement?.contains(target)\n ) {\n originalEvent.preventDefault();\n\n if ((!expandable && shiftY < 0) || !this.window) {\n return;\n }\n\n !this.state.dragging && this.setState({ dragging: true });\n\n const shiftYPercent = (shiftY / this.window.innerHeight) * 100;\n const shiftYCurrent = rubber(shiftYPercent, 72, 0.8, this.props.platform !== Platform.IOS);\n\n modalState.touchShiftYPercent = shiftYPercent;\n modalState.translateYCurrent = rangeTranslate((modalState.translateY ?? 0) + shiftYCurrent);\n\n this.animateTranslate(modalState, modalState.translateYCurrent);\n this.setMaskOpacity(modalState);\n }\n }\n\n onCardTouchMove(event: TouchEvent, modalState: ModalsStateEntry) {\n const { originalEvent, shiftY } = event;\n const target = originalEvent.target as HTMLElement;\n if (modalState.innerElement?.contains(target)) {\n if (!this.state.touchDown) {\n this.setState({ touchDown: true, dragging: true });\n }\n\n const shiftYPercent = (shiftY / modalState.innerElement.offsetHeight) * 100;\n const shiftYCurrent = rubber(shiftYPercent, 72, 1.2, this.props.platform !== Platform.IOS);\n\n modalState.touchShiftYPercent = shiftYPercent;\n modalState.translateYCurrent = Math.max(0, (modalState.translateY ?? 0) + shiftYCurrent);\n\n this.animateTranslate(modalState, modalState.translateYCurrent);\n this.setMaskOpacity(modalState);\n }\n }\n\n onTouchEnd = (e: TouchEvent) => {\n const modalState = this.getModalState(this.props.activeModal);\n\n if (modalState?.type === ModalType.PAGE) {\n return this.onPageTouchEnd(e, modalState);\n }\n\n if (modalState?.type === ModalType.CARD) {\n return this.onCardTouchEnd(e, modalState);\n }\n };\n\n onPageTouchEnd(event: TouchEvent, modalState: ModalsStateEntry) {\n const { startY, shiftY } = event;\n\n modalState.contentScrolled = false;\n modalState.touchMovePositive = null;\n\n let setStateCallback;\n\n if (this.state.dragging && this.window) {\n const shiftYEndPercent = ((startY + shiftY) / this.window.innerHeight) * 100;\n\n let translateY = modalState.translateYCurrent ?? 0;\n const expectTranslateY =\n (translateY / event.duration) *\n 240 *\n 0.6 *\n ((modalState.touchShiftYPercent ?? 0) < 0 ? -1 : 1);\n translateY = rangeTranslate(translateY + expectTranslateY);\n\n if (modalState.settlingHeight !== 100) {\n if (numberInRange(translateY, modalState.expandedRange)) {\n translateY = modalState.expandedRange?.[0] ?? 0;\n } else if (numberInRange(translateY, modalState.collapsedRange)) {\n translateY = modalState.translateYFrom ?? 0;\n } else if (numberInRange(translateY, modalState.hiddenRange)) {\n translateY = 100;\n } else {\n translateY = modalState.translateYFrom ?? 0;\n }\n } else {\n if (numberInRange(translateY, [0, 25])) {\n translateY = 0;\n } else {\n translateY = 100;\n }\n }\n\n if (translateY !== 100 && shiftYEndPercent >= 75) {\n translateY = 100;\n }\n\n modalState.translateY = translateY;\n modalState.translateYCurrent = translateY;\n modalState.collapsed = translateY > 0 && translateY < shiftYEndPercent;\n modalState.expanded = translateY === 0;\n modalState.hidden = translateY === 100;\n\n if (modalState.hidden) {\n this.props.onExit();\n }\n\n setStateCallback = () => {\n if (!modalState.hidden) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n\n this.setMaskOpacity(modalState);\n };\n }\n\n this.setState(\n {\n touchDown: false,\n dragging: false,\n },\n setStateCallback,\n );\n }\n\n onCardTouchEnd({ duration }: TouchEvent, modalState: ModalsStateEntry) {\n let setStateCallback;\n\n if (this.state.dragging) {\n let translateY = modalState.translateYCurrent ?? 0;\n\n const expectTranslateY =\n (translateY / duration) * 240 * 0.6 * ((modalState.touchShiftYPercent ?? 0) < 0 ? -1 : 1);\n translateY = Math.max(0, translateY + expectTranslateY);\n\n if (translateY >= 30) {\n translateY = 100;\n } else {\n translateY = 0;\n }\n\n modalState.translateY = translateY;\n modalState.hidden = translateY === 100;\n\n if (modalState.hidden) {\n this.props.onExit();\n }\n\n setStateCallback = () => {\n if (!modalState.hidden) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n\n this.setMaskOpacity(modalState);\n };\n }\n\n this.setState(\n {\n touchDown: false,\n dragging: false,\n },\n setStateCallback,\n );\n }\n\n onScroll = (e: React.SyntheticEvent) => {\n const activeModal = this.props.activeModal;\n\n const target = e.target as HTMLElement;\n\n if (!activeModal) {\n return;\n }\n const modalState = this.getModalState(activeModal);\n if (modalState?.type === ModalType.PAGE && modalState?.contentElement?.contains(target)) {\n modalState.contentScrolled = true;\n\n if (modalState.contentScrollStopTimeout) {\n clearTimeout(modalState.contentScrollStopTimeout);\n }\n\n modalState.contentScrollStopTimeout = setTimeout(() => {\n if (modalState.contentScrolled) {\n modalState.contentScrolled = false;\n }\n }, 250);\n }\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 * Анимирует сдвиг модалки\n *\n * @param {ModalsStateEntry} modalState\n * @param {number} percent Процент сдвига: 0 – полностью открыта, 100 – полностью закрыта\n */\n animateTranslate(modalState: ModalsStateEntry, percent: number | undefined) {\n const frameId = `animateTranslateFrame${modalState.id}`;\n\n cancelAnimationFrame(this.frameIds[frameId]);\n\n this.frameIds[frameId] = requestAnimationFrame(() => {\n setTransformStyle(modalState.innerElement, `translate3d(0, ${percent}%, 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 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 { activeModal, exitingModal, enteringModal } = this.props;\n const { touchDown, dragging } = this.state;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <ModalRootContext.Provider value={this.modalRootContext}>\n <Touch\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n touchDown &&\n classNames(styles['ModalRoot--touched'], 'vkuiInternalModalRoot--touched'),\n !!(enteringModal || exitingModal) &&\n classNames(styles['ModalRoot--switching'], 'vkuiInternalModalRoot--switching'),\n )}\n onMove={this.onTouchMove}\n onEnd={this.onTouchEnd}\n onScroll={this.onScroll}\n >\n <div\n className={styles['ModalRoot__mask']}\n onClick={this.props.onExit}\n ref={this.maskElementRef}\n />\n <div className={styles['ModalRoot__viewport']} ref={this.viewportRef}>\n {this.getModals().map((Modal) => {\n const modalId = getNavId(Modal.props, warn);\n const _modalState = this.getModalState(modalId);\n if ((modalId !== activeModal && modalId !== exitingModal) || !_modalState) {\n return null;\n }\n const modalState = { ..._modalState };\n\n const isPage = modalState.type === ModalType.PAGE;\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n key={key}\n getRootRef={(e) => {\n const modalState = this.getModalState(modalId);\n if (modalState) {\n modalState.modalElement = e;\n }\n }}\n onClose={this.props.onExit}\n timeout={this.timeout}\n className={classNames(\n styles['ModalRoot__modal'],\n\n dragging && 'vkuiInternalModalRoot__modal--dragging',\n\n isPage && modalState.expandable && 'vkuiInternalModalRoot__modal--expandable',\n isPage && modalState.collapsed && 'vkuiInternalModalRoot__modal--collapsed',\n )}\n restoreFocus={false}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </Touch>\n </ModalRootContext.Provider>\n </TouchRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootTouch = withContext(\n withPlatform(withDOM<ModalRootProps>(withModalManager(initModal)(ModalRootTouchComponent))),\n ConfigProviderContext,\n 'configProvider',\n);\n\n/**\n * Инициализирует модалку перед анимацией открытия\n */\nfunction initModal(modalState: ModalsStateEntry) {\n switch (modalState.type) {\n case ModalType.PAGE:\n modalState.settlingHeight = modalState.settlingHeight || MODAL_PAGE_DEFAULT_PERCENT_HEIGHT;\n return initPageModal(modalState);\n case ModalType.CARD:\n return initCardModal(modalState);\n default:\n process.env.NODE_ENV === 'development' &&\n warn(`initActiveModal: modalState.type=\"${modalState.type}\" не поддерживается`, 'error');\n }\n}\n\nfunction initPageModal(modalState: ModalsStateEntry) {\n const { contentElement } = modalState;\n const contentHeight = (contentElement?.firstElementChild as HTMLElement).offsetHeight;\n\n let prevTranslateY = modalState.translateY;\n\n modalState.expandable =\n contentHeight > (contentElement?.clientHeight ?? 0) || modalState.settlingHeight === 100;\n\n let collapsed = false;\n let expanded = false;\n let translateYFrom;\n let translateY;\n let expandedRange: TranslateRange;\n let collapsedRange: TranslateRange;\n let hiddenRange: TranslateRange;\n\n if (modalState.expandable) {\n translateYFrom = 100 - (modalState.settlingHeight ?? 0);\n\n const shiftHalf = translateYFrom / 2;\n const visiblePart = 100 - translateYFrom;\n\n expandedRange = [0, shiftHalf];\n collapsedRange = [shiftHalf, translateYFrom + visiblePart / 4];\n hiddenRange = [translateYFrom + visiblePart / 4, 100];\n\n collapsed = translateYFrom > 0;\n expanded = translateYFrom <= 0;\n translateY = translateYFrom;\n } else {\n const headerHeight = modalState.headerElement?.offsetHeight ?? 0;\n const height = contentHeight + headerHeight;\n\n translateYFrom =\n 100 - (height / (modalState.innerElement?.parentElement?.offsetHeight ?? 0)) * 100;\n translateY = translateYFrom;\n\n expandedRange = [translateY, translateY + 25];\n collapsedRange = [translateY + 25, translateY + 25];\n hiddenRange = [translateY + 25, translateY + 100];\n }\n\n // Если модалка может открываться на весь экран, и новый сдвиг больше предыдущего, то откроем её на весь экран\n if (\n (modalState.expandable && translateY > (prevTranslateY ?? 100)) ||\n modalState.settlingHeight === 100\n ) {\n translateY = 0;\n }\n\n // Если модалка уже раскрыта обновляем состояния\n if (translateY === 0) {\n expanded = true;\n collapsed = false;\n }\n\n modalState.expandedRange = expandedRange;\n modalState.collapsedRange = collapsedRange;\n modalState.hiddenRange = hiddenRange;\n modalState.translateY = translateY;\n modalState.translateYFrom = translateYFrom;\n modalState.collapsed = collapsed;\n modalState.expanded = expanded;\n}\n\nfunction initCardModal(modalState: ModalsStateEntry) {\n modalState.translateY = 0;\n}\n"],"names":["React","classNames","clamp","withContext","withPlatform","withDOM","getNavId","Platform","setTransformStyle","transitionEvent","rubber","warnOnce","ConfigProviderContext","WebviewType","FocusTrap","Touch","TouchRootContext","ModalRootContext","MODAL_PAGE_DEFAULT_PERCENT_HEIGHT","ModalType","withModalManager","warn","numberInRange","number","range","rangeTranslate","ModalRootTouchComponent","props","documentScrolling","maskElementRef","viewportRef","createRef","maskAnimationFrame","undefined","modalRootContext","frameIds","restoreFocusTo","preventTouch","event","originalEvent","preventDefault","updateModalTranslate","modalState","getModalState","activeModal","animateTranslate","translateY","updateModalHeight","type","PAGE","dynamicContentHeight","enteringModal","waitTransitionFinish","requestAnimationFrame","checkPageContentHeight","onTouchMove","e","exitingModal","onPageTouchMove","CARD","onCardTouchMove","onTouchEnd","onPageTouchEnd","onCardTouchEnd","onScroll","target","contentElement","contains","contentScrolled","contentScrollStopTimeout","clearTimeout","setTimeout","state","touchDown","dragging","registerModal","Object","id","data","assign","onClose","onExit","isInsideModal","timeout","platform","IOS","document","window","getModals","Children","toArray","children","componentDidMount","addEventListener","componentWillUnmount","toggleDocumentScrolling","removeEventListener","componentDidUpdate","prevProps","closeModal","enteringState","onEnter","innerElement","style","transitionDelay","onEntered","delayEnter","activeElement","focus","enabled","passive","modalElement","prevModalState","initPageModal","currentModalState","needAnimate","expandable","translateYFrom","setState","nextModalState","nextIsPage","prevIsPage","onExited","exitTranslate","isBack","setMaskOpacity","shiftY","isY","current","stopPropagation","collapsed","expanded","touchStartContentScrollTop","scrollTop","touchMovePositive","headerElement","shiftYPercent","innerHeight","shiftYCurrent","touchShiftYPercent","translateYCurrent","offsetHeight","Math","max","startY","setStateCallback","shiftYEndPercent","expectTranslateY","duration","settlingHeight","expandedRange","collapsedRange","hiddenRange","hidden","eventHandler","supported","onceHandler","name","percent","frameId","cancelAnimationFrame","forceOpacity","history","opacity","toString","render","Provider","value","className","configProvider","webviewType","VKAPPS","onMove","onEnd","div","onClick","ref","map","Modal","modalId","_modalState","isPage","key","getRootRef","restoreFocus","Component","ModalRootTouch","initModal","initCardModal","process","env","NODE_ENV","contentHeight","firstElementChild","prevTranslateY","clientHeight","shiftHalf","visiblePart","headerHeight","height","parentElement"],"mappings":";;;;;;;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,WAAW,QAAQ,wBAAwB;AACpD,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAAmBC,OAAO,QAAQ,gBAAgB;AAClD,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,eAAe,QAAQ,0BAA0B;AAC1D,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SACEC,qBAAqB,EAErBC,WAAW,QACN,0CAA0C;AACjD,SAASC,SAAS,QAAQ,yBAAyB;AACnD,SAASC,KAAK,QAAoB,iBAAiB;AACnD,OAAOC,sBAAsB,wBAAwB;AACrD,SAASC,gBAAgB,QAAmC,qBAAqB;AACjF,SAASC,iCAAiC,QAAQ,cAAc;AAChE,SAA2BC,SAAS,QAAwB,UAAU;AACtE,SAA+BC,gBAAgB,QAAQ,oBAAoB;AAG3E,IAAMC,OAAOV,SAAS;AAEtB,SAASW,cAAcC,MAAc,EAAEC,KAAiC,EAAE;IACxE,IAAI,CAACA,OAAO;QACV,OAAO,KAAK;IACd,CAAC;IACD,OAAOD,UAAUC,KAAK,CAAC,EAAE,IAAID,UAAUC,KAAK,CAAC,EAAE;AACjD;AAEA,SAASC,eAAeF,MAAc,EAAE;IACtC,OAAOrB,MAAMqB,QAAQ,GAAG;AAC1B;AAqCA,IAAA,AAAMG,wCAokBH,AApkBH;;cAAMA;+BAAAA;aAAAA,wBAIQC,KAA4C;gCAJpDD;;kCAKIC;QAkBR,kDAAQC,qBAAoB,KAAK;QACjC,kDAAiBC,kBAAjB,KAAA;QACA,kDAAiBC,6BAAc9B,MAAM+B,SAAS;QAC9C,kDAAQC,sBAAyCC;QACjD,kDAAiBC,oBAAjB,KAAA;QACA,kDAAiBC,YAAjB,KAAA;QAGA,kDAAQC,kBAAiDH;QAiGzDI,kDAAAA,gBAAe,SAACC,OAAe;YAC7B,IAAI,CAACA,OAAO;gBACV,OAAO,KAAK;YACd,CAAC;YACD,MAAOA,MAAMC,aAAa,CAAE;gBAC1BD,QAAQA,MAAMC,aAAa;YAC7B;YACA,IAAID,MAAME,cAAc,EAAE;gBACxBF,MAAME,cAAc;YACtB,CAAC;YACD,OAAO,KAAK;QACd;QAEAC,kDAAAA,wBAAuB,WAAM;YAC3B,IAAMC,aAAa,MAAKC,aAAa,CAAC,MAAKhB,KAAK,CAACiB,WAAW;YAC5DF,cAAc,MAAKG,gBAAgB,CAACH,YAAYA,WAAWI,UAAU;QACvE;QA0BAC,kDAAAA,qBAAoB,WAAM;YACxB,IAAML,aAAa,MAAKC,aAAa,CAAC,MAAKhB,KAAK,CAACiB,WAAW;YAE5D,IAAIF,cAAcA,WAAWM,IAAI,KAAK7B,UAAU8B,IAAI,IAAIP,WAAWQ,oBAAoB,EAAE;gBACvF,IAAI,MAAKvB,KAAK,CAACwB,aAAa,EAAE;oBAC5B,MAAKC,oBAAoB,CAACV,YAAY,WAAM;wBAC1CW,sBAAsB;mCAAM,MAAKC,sBAAsB;;oBACzD;gBACF,OAAO;oBACLD,sBAAsB;+BAAM,MAAKC,sBAAsB;;gBACzD,CAAC;YACH,CAAC;QACH;QAiCAC,kDAAAA,eAAc,SAACC,GAAkB;YAC/B,IAAI,MAAK7B,KAAK,CAAC8B,YAAY,EAAE;gBAC3B;YACF,CAAC;YACD,IAAMf,aAAa,MAAKC,aAAa,CAAC,MAAKhB,KAAK,CAACiB,WAAW;YAC5D,IAAI,CAACF,YAAY;gBACf;YACF,CAAC;YAED,IAAIA,WAAWM,IAAI,KAAK7B,UAAU8B,IAAI,EAAE;gBACtC,OAAO,MAAKS,eAAe,CAACF,GAAGd;YACjC,CAAC;YAED,IAAIA,WAAWM,IAAI,KAAK7B,UAAUwC,IAAI,EAAE;gBACtC,OAAO,MAAKC,eAAe,CAACJ,GAAGd;YACjC,CAAC;QACH;QA8EAmB,kDAAAA,cAAa,SAACL,GAAkB;YAC9B,IAAMd,aAAa,MAAKC,aAAa,CAAC,MAAKhB,KAAK,CAACiB,WAAW;YAE5D,IAAIF,CAAAA,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYM,IAAI,AAAD,MAAM7B,UAAU8B,IAAI,EAAE;gBACvC,OAAO,MAAKa,cAAc,CAACN,GAAGd;YAChC,CAAC;YAED,IAAIA,CAAAA,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYM,IAAI,AAAD,MAAM7B,UAAUwC,IAAI,EAAE;gBACvC,OAAO,MAAKI,cAAc,CAACP,GAAGd;YAChC,CAAC;QACH;QAgHAsB,kDAAAA,YAAW,SAACR,GAA4B;gBASKd;YAR3C,IAAME,cAAc,MAAKjB,KAAK,CAACiB,WAAW;YAE1C,IAAMqB,SAAST,EAAES,MAAM;YAEvB,IAAI,CAACrB,aAAa;gBAChB;YACF,CAAC;YACD,IAAMF,aAAa,MAAKC,aAAa,CAACC;YACtC,IAAIF,CAAAA,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYM,IAAI,AAAD,MAAM7B,UAAU8B,IAAI,KAAIP,uBAAAA,wBAAAA,KAAAA,IAAAA,CAAAA,6BAAAA,WAAYwB,cAAc,cAA1BxB,wCAAAA,KAAAA,IAAAA,2BAA4ByB,SAASF,UAAS;gBACvFvB,WAAW0B,eAAe,GAAG,IAAI;gBAEjC,IAAI1B,WAAW2B,wBAAwB,EAAE;oBACvCC,aAAa5B,WAAW2B,wBAAwB;gBAClD,CAAC;gBAED3B,WAAW2B,wBAAwB,GAAGE,WAAW,WAAM;oBACrD,IAAI7B,WAAW0B,eAAe,EAAE;wBAC9B1B,WAAW0B,eAAe,GAAG,KAAK;oBACpC,CAAC;gBACH,GAAG;YACL,CAAC;QACH;QA/bE,MAAKI,KAAK,GAAG;YACXC,WAAW,KAAK;YAChBC,UAAU,KAAK;QACjB;QAEA,MAAK7C,cAAc,iBAAG7B,MAAM+B,SAAS;YAIe;QAFpD,MAAKG,gBAAgB,GAAG;YACtBa,mBAAmB,MAAKA,iBAAiB;YACzC4B,eAAe,iBAAqBC;oBAAlBC,YAAAA,IAAOC;oBAAPD;;uBAAkBD,OAAOG,MAAM,CAAC,CAAA,sBAAA,MAAKpC,aAAa,CAACkC,iBAAnB,iCAAA,sBAA0B,CAAC,CAAC,EAAEC;YAAI;YACpFE,SAAS;uBAAM,MAAKrD,KAAK,CAACsD,MAAM;;YAChCC,eAAe,IAAI;QACrB;QAEA,MAAK/C,QAAQ,GAAG,CAAC;;;kBApBfT;;YAiCAyD,KAAAA;iBAAJ,eAAsB;gBACpB,OAAO,IAAI,CAACxD,KAAK,CAACyD,QAAQ,KAAK7E,SAAS8E,GAAG,GAAG,MAAM,GAAG;YACzD;;;YAEIC,KAAAA;iBAAJ,eAAe;gBACb,OAAO,IAAI,CAAC3D,KAAK,CAAC2D,QAAQ;YAC5B;;;YAEIC,KAAAA;iBAAJ,eAAa;gBACX,OAAO,IAAI,CAAC5D,KAAK,CAAC4D,MAAM;YAC1B;;;YAEA5C,KAAAA;mBAAAA,SAAAA,cAAckC,EAA6B,EAAE;gBAC3C,IAAI,CAACA,IAAI;oBACP,OAAO5C;gBACT,CAAC;gBACD,OAAO,IAAI,CAACN,KAAK,CAACgB,aAAa,CAACkC;YAClC;;;YAEAW,KAAAA;mBAAAA,SAAAA,YAAY;gBACV,OAAOxF,MAAMyF,QAAQ,CAACC,OAAO,CAAC,IAAI,CAAC/D,KAAK,CAACgE,QAAQ;YACnD;;;YAEAC,KAAAA;mBAAAA,SAAAA,oBAAoB;gBAClB,+DAA+D;gBAC/D,IAAI,IAAI,CAACjE,KAAK,CAACyD,QAAQ,KAAK7E,SAAS8E,GAAG,EAAE;wBACxC;oBAAA,CAAA,eAAA,IAAI,CAACE,MAAM,cAAX,0BAAA,KAAA,IAAA,aAAaM,iBAAiB,UAAU,IAAI,CAACpD,oBAAoB,EAAE,KAAK;gBAC1E,CAAC;YACH;;;YAEAqD,KAAAA;mBAAAA,SAAAA,uBAAuB;gBACrB,IAAI,CAACC,uBAAuB,CAAC,IAAI;gBACjC,IAAI,CAACR,MAAM,CAAES,mBAAmB,CAAC,UAAU,IAAI,CAACvD,oBAAoB,EAAE,KAAK;YAC7E;;;YAEAwD,KAAAA;mBAAAA,SAAAA,mBAAmBC,SAAgD,EAAE;;gBACnE,4CAA4C;gBAC5C,IAAI,IAAI,CAACvE,KAAK,CAAC8B,YAAY,IAAI,IAAI,CAAC9B,KAAK,CAAC8B,YAAY,KAAKyC,UAAUzC,YAAY,EAAE;oBACjF,IAAI,CAAC0C,UAAU,CAAC,IAAI,CAACxE,KAAK,CAAC8B,YAAY;gBACzC,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,IAAI,CAAC9B,KAAK,CAACwB,aAAa,IAAI,IAAI,CAACxB,KAAK,CAACwB,aAAa,KAAK+C,UAAU/C,aAAa,EAAE;oBACpF,IAAM,AAAEA,gBAAkB,IAAI,CAACxB,KAAK,CAA5BwB;oBACR,IAAMiD,gBAAgB,IAAI,CAACzD,aAAa,CAACQ;oBACzC,IAAI,CAACxB,KAAK,CAAC0E,OAAO;oBAClB,IAAI,CAACjD,oBAAoB,CAACgD,eAAe,WAAM;wBAC7C,IAAIA,0BAAAA,2BAAAA,KAAAA,IAAAA,cAAeE,YAAY,EAAE;4BAC/BF,cAAcE,YAAY,CAACC,KAAK,CAACC,eAAe,GAAG;wBACrD,CAAC;wBACD,MAAK7E,KAAK,CAAC8E,SAAS,CAACtD;oBACvB;oBAEA,IAAIiD,0BAAAA,2BAAAA,KAAAA,IAAAA,cAAeE,YAAY,EAAE;wBAC/BF,cAAcE,YAAY,CAACC,KAAK,CAACC,eAAe,GAAG,IAAI,CAAC7E,KAAK,CAAC+E,UAAU,GACpE,AAAC,GAAe,OAAb,IAAI,CAACvB,OAAO,EAAC,QAChB,EAAE;wBACN,IAAI,CAACtC,gBAAgB,CAACuD,eAAeA,cAActD,UAAU;oBAC/D,CAAC;gBACH,CAAC;gBAED,oBAAoB;gBACpB,IAAI,IAAI,CAACnB,KAAK,CAACiB,WAAW,IAAI,CAACsD,UAAUtD,WAAW,EAAE;oBACpD,IAAI,CAACR,cAAc,GAAG,IAAI,CAACkD,QAAQ,CAAEqB,aAAa;gBACpD,CAAC;gBACD,IAAI,CAAC,IAAI,CAAChF,KAAK,CAACiB,WAAW,IAAI,CAAC,IAAI,CAACjB,KAAK,CAAC8B,YAAY,IAAI,IAAI,CAACrB,cAAc,EAAE;oBAC9E,IAAI,CAACA,cAAc,CAACwE,KAAK;oBACzB,IAAI,CAACxE,cAAc,GAAG,IAAI;gBAC5B,CAAC;gBAED,IAAI,CAAC2D,uBAAuB,CAAC,CAAC,IAAI,CAACpE,KAAK,CAACiB,WAAW,IAAI,CAAC,IAAI,CAACjB,KAAK,CAAC8B,YAAY;YAClF;;;YAEA,8BAA8B,GAC9BsC,KAAAA;mBAAAA,SAAAA,wBAAwBc,OAAgB,EAAE;gBACxC,IAAI,IAAI,CAACjF,iBAAiB,KAAKiF,SAAS;oBACtC;gBACF,CAAC;gBACD,IAAI,CAACjF,iBAAiB,GAAGiF;gBAEzB,IAAIA,SAAS;oBACX,qEAAqE;oBACrE,4EAA4E;oBAC5E,2CAA2C;oBAC3C,IAAI,CAACtB,MAAM,CAAES,mBAAmB,CAAC,aAAa,IAAI,CAAC3D,YAAY,EAAE;wBAC/D,8EAA8E;wBAC9EyE,SAAS,KAAK;oBAChB;gBACF,OAAO;oBACL,IAAI,CAACvB,MAAM,CAAEM,gBAAgB,CAAC,aAAa,IAAI,CAACxD,YAAY,EAAE;wBAC5DyE,SAAS,KAAK;oBAChB;gBACF,CAAC;YACH;;;YAoBAxD,KAAAA;mBAAAA,SAAAA,yBAAyB;gBACvB,IAAMZ,aAAa,IAAI,CAACC,aAAa,CAAC,IAAI,CAAChB,KAAK,CAACiB,WAAW;gBAE5D,IAAIF,CAAAA,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYM,IAAI,AAAD,MAAM7B,UAAU8B,IAAI,IAAIP,CAAAA,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYqE,YAAY,AAAD,GAAG;oBACnE,IAAMC,iBAAiB,mBAAKtE;oBAC5BuE,cAAcvE;oBACd,IAAMwE,oBAAoB,mBAAKxE;oBAE/B,IAAIyE,cAAc,KAAK;oBAEvB,IAAIH,eAAeI,UAAU,KAAKF,kBAAkBE,UAAU,EAAE;wBAC9D,IAAIJ,eAAeK,cAAc,KAAKH,kBAAkBG,cAAc,EAAE;4BACtEF,cAAc,IAAI;wBACpB,CAAC;oBACH,OAAO;wBACLA,cAAc,IAAI;oBACpB,CAAC;oBAED,IAAIA,aAAa;wBACf,IAAI,CAACtE,gBAAgB,CAACH,YAAYA,WAAWI,UAAU;oBACzD,CAAC;gBACH,CAAC;YACH;;;YAgBAqD,KAAAA;mBAAAA,SAAAA,WAAWtB,EAAU,EAAE;;gBACrB,wEAAwE;gBACxE,IAAI,CAACyC,QAAQ,CAAC;oBAAE7C,WAAW,KAAK;gBAAC;gBAEjC,IAAMuC,iBAAiB,IAAI,CAACrE,aAAa,CAACkC;gBAE1C,IAAI,CAACmC,gBAAgB;oBACnBnC,MAAMxD,KAAK,AAAC,+CAAiD,OAAHwD,IAAG,mBAAiB;oBAC9E;gBACF,CAAC;gBAED,IAAM0C,iBAAiB,IAAI,CAAC5E,aAAa,CAAC,IAAI,CAAChB,KAAK,CAACiB,WAAW;gBAChE,IAAM4E,aAAa,CAAC,CAACD,kBAAkBA,eAAevE,IAAI,KAAK7B,UAAU8B,IAAI;gBAE7E,IAAMwE,aAAa,CAAC,CAACT,kBAAkBA,eAAehE,IAAI,KAAK7B,UAAU8B,IAAI;gBAC7E,IAAI,CAACG,oBAAoB,CAAC4D,gBAAgB;2BAAM,MAAKrF,KAAK,CAAC+F,QAAQ,CAAC7C;;oBAIjEmC,4BAAoCO,gCAEhCA;gBALP,IAAMI,gBACJF,cACAD,cACA,AAACR,CAAAA,CAAAA,6BAAAA,eAAelE,UAAU,cAAzBkE,wCAAAA,6BAA6B,CAAC,AAAD,KAAOO,CAAAA,CAAAA,iCAAAA,2BAAAA,4BAAAA,KAAAA,IAAAA,eAAgBF,cAAc,cAA9BE,4CAAAA,iCAAkC,CAAC,AAAD,KACvE,CAAC,IAAI,CAAC5F,KAAK,CAACiG,MAAM,GACd,AAACL,CAAAA,CAAAA,kCAAAA,2BAAAA,4BAAAA,KAAAA,IAAAA,eAAgBF,cAAc,cAA9BE,6CAAAA,kCAAkC,CAAC,AAAD,IAAK,KACxC,GAAG;gBACT,IAAI,CAAC1E,gBAAgB,CAACmE,gBAAgBW;gBAEtC,IAAI,CAACJ,gBAAgB;oBACnB,gCAAgC;oBAChC,IAAI,CAACM,cAAc,CAACb,gBAAgB;gBACtC,CAAC;YACH;;;YAoBAtD,KAAAA;mBAAAA,SAAAA,gBAAgBpB,KAAiB,EAAEI,UAA4B,EAAE;oBAW1DA,0BAyBHA;gBAnCF,IAAQoF,SAA0BxF,MAA1BwF,QAAQvF,gBAAkBD,MAAlBC;gBAChB,IAAM0B,SAAS1B,cAAc0B,MAAM;gBAEnC,IAAI,CAAC3B,MAAMyF,GAAG,EAAE;wBACV;oBAAJ,IAAI,CAAA,4BAAA,IAAI,CAACjG,WAAW,CAACkG,OAAO,cAAxB,uCAAA,KAAA,IAAA,0BAA0B7D,SAASF,SAAS;wBAC9C1B,cAAcC,cAAc;oBAC9B,CAAC;oBACD;gBACF,CAAC;gBAED,IAAI,EAACE,CAAAA,2BAAAA,WAAW4D,YAAY,cAAvB5D,sCAAAA,KAAAA,IAAAA,yBAAyByB,SAASF,UAAS;oBAC9C,OAAO1B,cAAcC,cAAc;gBACrC,CAAC;gBAEDD,cAAc0F,eAAe;gBAE7B,IAAQb,aAAqD1E,WAArD0E,YAAYhD,kBAAyC1B,WAAzC0B,iBAAiB8D,YAAwBxF,WAAxBwF,WAAWC,WAAazF,WAAbyF;gBAEhD,IAAI,CAAC,IAAI,CAAC3D,KAAK,CAACC,SAAS,EAAE;wBACe/B;wBAAAA;oBAAxCA,WAAW0F,0BAA0B,GAAG1F,CAAAA,uCAAAA,CAAAA,6BAAAA,WAAWwB,cAAc,cAAzBxB,wCAAAA,KAAAA,IAAAA,2BAA2B2F,SAAS,cAApC3F,kDAAAA,uCAAwC,CAAC;oBACjF,IAAI,CAAC4E,QAAQ,CAAC;wBAAE7C,WAAW,IAAI;oBAAC;gBAClC,CAAC;gBAED,IAAIL,iBAAiB;oBACnB;gBACF,CAAC;gBAED,IAAI1B,WAAW4F,iBAAiB,KAAK,IAAI,EAAE;oBACzC5F,WAAW4F,iBAAiB,GAAGR,SAAS;gBAC1C,CAAC;gBAED,IACE,CAACpF,WAAW0E,UAAU,IACtBc,aACCC,YAAYzF,WAAW4F,iBAAiB,IAAI5F,WAAW0F,0BAA0B,KAAK,MACvF1F,CAAAA,4BAAAA,WAAW6F,aAAa,cAAxB7F,uCAAAA,KAAAA,IAAAA,0BAA0ByB,SAASF,UACnC;oBACA1B,cAAcC,cAAc;oBAE5B,IAAI,AAAC,CAAC4E,cAAcU,SAAS,KAAM,CAAC,IAAI,CAACvC,MAAM,EAAE;wBAC/C;oBACF,CAAC;oBAED,CAAC,IAAI,CAACf,KAAK,CAACE,QAAQ,IAAI,IAAI,CAAC4C,QAAQ,CAAC;wBAAE5C,UAAU,IAAI;oBAAC;oBAEvD,IAAM8D,gBAAgB,AAACV,SAAS,IAAI,CAACvC,MAAM,CAACkD,WAAW,GAAI;oBAC3D,IAAMC,gBAAgBhI,OAAO8H,eAAe,IAAI,KAAK,IAAI,CAAC7G,KAAK,CAACyD,QAAQ,KAAK7E,SAAS8E,GAAG;oBAEzF3C,WAAWiG,kBAAkB,GAAGH;wBACe9F;oBAA/CA,WAAWkG,iBAAiB,GAAGnH,eAAe,AAACiB,CAAAA,CAAAA,yBAAAA,WAAWI,UAAU,cAArBJ,oCAAAA,yBAAyB,CAAC,AAAD,IAAKgG;oBAE7E,IAAI,CAAC7F,gBAAgB,CAACH,YAAYA,WAAWkG,iBAAiB;oBAC9D,IAAI,CAACf,cAAc,CAACnF;gBACtB,CAAC;YACH;;;YAEAkB,KAAAA;mBAAAA,SAAAA,gBAAgBtB,KAAiB,EAAEI,UAA4B,EAAE;oBAG3DA;gBAFJ,IAAQH,gBAA0BD,MAA1BC,eAAeuF,SAAWxF,MAAXwF;gBACvB,IAAM7D,SAAS1B,cAAc0B,MAAM;gBACnC,IAAIvB,CAAAA,2BAAAA,WAAW4D,YAAY,cAAvB5D,sCAAAA,KAAAA,IAAAA,yBAAyByB,SAASF,SAAS;oBAC7C,IAAI,CAAC,IAAI,CAACO,KAAK,CAACC,SAAS,EAAE;wBACzB,IAAI,CAAC6C,QAAQ,CAAC;4BAAE7C,WAAW,IAAI;4BAAEC,UAAU,IAAI;wBAAC;oBAClD,CAAC;oBAED,IAAM8D,gBAAgB,AAACV,SAASpF,WAAW4D,YAAY,CAACuC,YAAY,GAAI;oBACxE,IAAMH,gBAAgBhI,OAAO8H,eAAe,IAAI,KAAK,IAAI,CAAC7G,KAAK,CAACyD,QAAQ,KAAK7E,SAAS8E,GAAG;oBAEzF3C,WAAWiG,kBAAkB,GAAGH;wBACY9F;oBAA5CA,WAAWkG,iBAAiB,GAAGE,KAAKC,GAAG,CAAC,GAAG,AAACrG,CAAAA,CAAAA,yBAAAA,WAAWI,UAAU,cAArBJ,oCAAAA,yBAAyB,CAAC,AAAD,IAAKgG;oBAE1E,IAAI,CAAC7F,gBAAgB,CAACH,YAAYA,WAAWkG,iBAAiB;oBAC9D,IAAI,CAACf,cAAc,CAACnF;gBACtB,CAAC;YACH;;;YAcAoB,KAAAA;mBAAAA,SAAAA,eAAexB,KAAiB,EAAEI,UAA4B,EAAE;;gBAC9D,IAAQsG,SAAmB1G,MAAnB0G,QAAQlB,SAAWxF,MAAXwF;gBAEhBpF,WAAW0B,eAAe,GAAG,KAAK;gBAClC1B,WAAW4F,iBAAiB,GAAG,IAAI;gBAEnC,IAAIW;gBAEJ,IAAI,IAAI,CAACzE,KAAK,CAACE,QAAQ,IAAI,IAAI,CAACa,MAAM,EAAE;oBACtC,IAAM2D,mBAAmB,AAAEF,CAAAA,SAASlB,MAAK,IAAK,IAAI,CAACvC,MAAM,CAACkD,WAAW,GAAI;wBAExD/F;oBAAjB,IAAII,aAAaJ,CAAAA,gCAAAA,WAAWkG,iBAAiB,cAA5BlG,2CAAAA,gCAAgC,CAAC;wBAK9CA;oBAJJ,IAAMyG,mBACJ,AAACrG,aAAaR,MAAM8G,QAAQ,GAC5B,MACA,MACC,CAAA,AAAC1G,CAAAA,CAAAA,iCAAAA,WAAWiG,kBAAkB,cAA7BjG,4CAAAA,iCAAiC,CAAC,AAAD,IAAK,IAAI,CAAC,IAAI,CAAC,AAAD;oBACnDI,aAAarB,eAAeqB,aAAaqG;oBAEzC,IAAIzG,WAAW2G,cAAc,KAAK,KAAK;wBACrC,IAAI/H,cAAcwB,YAAYJ,WAAW4G,aAAa,GAAG;gCAC1C5G;gCAAAA;4BAAbI,aAAaJ,CAAAA,6BAAAA,CAAAA,4BAAAA,WAAW4G,aAAa,cAAxB5G,uCAAAA,KAAAA,IAAAA,yBAA0B,CAAC,EAAE,cAA7BA,wCAAAA,6BAAiC,CAAC;wBACjD,OAAO,IAAIpB,cAAcwB,YAAYJ,WAAW6G,cAAc,GAAG;gCAClD7G;4BAAbI,aAAaJ,CAAAA,6BAAAA,WAAW2E,cAAc,cAAzB3E,wCAAAA,6BAA6B,CAAC;wBAC7C,OAAO,IAAIpB,cAAcwB,YAAYJ,WAAW8G,WAAW,GAAG;4BAC5D1G,aAAa;wBACf,OAAO;gCACQJ;4BAAbI,aAAaJ,CAAAA,8BAAAA,WAAW2E,cAAc,cAAzB3E,yCAAAA,8BAA6B,CAAC;wBAC7C,CAAC;oBACH,OAAO;wBACL,IAAIpB,cAAcwB,YAAY;4BAAC;4BAAG;yBAAG,GAAG;4BACtCA,aAAa;wBACf,OAAO;4BACLA,aAAa;wBACf,CAAC;oBACH,CAAC;oBAED,IAAIA,eAAe,OAAOoG,oBAAoB,IAAI;wBAChDpG,aAAa;oBACf,CAAC;oBAEDJ,WAAWI,UAAU,GAAGA;oBACxBJ,WAAWkG,iBAAiB,GAAG9F;oBAC/BJ,WAAWwF,SAAS,GAAGpF,aAAa,KAAKA,aAAaoG;oBACtDxG,WAAWyF,QAAQ,GAAGrF,eAAe;oBACrCJ,WAAW+G,MAAM,GAAG3G,eAAe;oBAEnC,IAAIJ,WAAW+G,MAAM,EAAE;wBACrB,IAAI,CAAC9H,KAAK,CAACsD,MAAM;oBACnB,CAAC;oBAEDgE,mBAAmB,WAAM;wBACvB,IAAI,CAACvG,WAAW+G,MAAM,EAAE;4BACtB,MAAK5G,gBAAgB,CAACH,YAAYA,WAAWI,UAAU;wBACzD,CAAC;wBAED,MAAK+E,cAAc,CAACnF;oBACtB;gBACF,CAAC;gBAED,IAAI,CAAC4E,QAAQ,CACX;oBACE7C,WAAW,KAAK;oBAChBC,UAAU,KAAK;gBACjB,GACAuE;YAEJ;;;YAEAlF,KAAAA;mBAAAA,SAAAA,eAAe,KAAwB,EAAErB,UAA4B,EAAE;oBAAxD,AAAE0G,WAAF,MAAEA;;gBACf,IAAIH;gBAEJ,IAAI,IAAI,CAACzE,KAAK,CAACE,QAAQ,EAAE;wBACNhC;oBAAjB,IAAII,aAAaJ,CAAAA,gCAAAA,WAAWkG,iBAAiB,cAA5BlG,2CAAAA,gCAAgC,CAAC;wBAGRA;oBAD1C,IAAMyG,mBACJ,AAACrG,aAAasG,WAAY,MAAM,MAAO,CAAA,AAAC1G,CAAAA,CAAAA,iCAAAA,WAAWiG,kBAAkB,cAA7BjG,4CAAAA,iCAAiC,CAAC,AAAD,IAAK,IAAI,CAAC,IAAI,CAAC,AAAD;oBACzFI,aAAagG,KAAKC,GAAG,CAAC,GAAGjG,aAAaqG;oBAEtC,IAAIrG,cAAc,IAAI;wBACpBA,aAAa;oBACf,OAAO;wBACLA,aAAa;oBACf,CAAC;oBAEDJ,WAAWI,UAAU,GAAGA;oBACxBJ,WAAW+G,MAAM,GAAG3G,eAAe;oBAEnC,IAAIJ,WAAW+G,MAAM,EAAE;wBACrB,IAAI,CAAC9H,KAAK,CAACsD,MAAM;oBACnB,CAAC;oBAEDgE,mBAAmB,WAAM;wBACvB,IAAI,CAACvG,WAAW+G,MAAM,EAAE;4BACtB,MAAK5G,gBAAgB,CAACH,YAAYA,WAAWI,UAAU;wBACzD,CAAC;wBAED,MAAK+E,cAAc,CAACnF;oBACtB;gBACF,CAAC;gBAED,IAAI,CAAC4E,QAAQ,CACX;oBACE7C,WAAW,KAAK;oBAChBC,UAAU,KAAK;gBACjB,GACAuE;YAEJ;;;YA0BA7F,KAAAA;mBAAAA,SAAAA,qBAAqBV,UAAwC,EAAEgH,YAAwB,EAAE;gBACvF,IAAIjJ,gBAAgBkJ,SAAS,EAAE;wBAM7BjH;oBALA,IAAMkH,cAAc,WAAM;4BACxBlH;wBAAAA,uBAAAA,wBAAAA,KAAAA,IAAAA,CAAAA,2BAAAA,WAAY4D,YAAY,cAAxB5D,sCAAAA,KAAAA,IAAAA,yBAA0BsD,oBAAoBvF,gBAAgBoJ,IAAI,EAAYD;wBAC9EF;oBACF;oBAEAhH,uBAAAA,wBAAAA,KAAAA,IAAAA,CAAAA,2BAAAA,WAAY4D,YAAY,cAAxB5D,sCAAAA,KAAAA,IAAAA,yBAA0BmD,iBAAiBpF,gBAAgBoJ,IAAI,EAAYD;gBAC7E,OAAO;oBACLrF,WAAWmF,cAAc,IAAI,CAACvE,OAAO;gBACvC,CAAC;YACH;;;YAEA;;;;;GAKC,GACDtC,KAAAA;mBAAAA,SAAAA,iBAAiBH,UAA4B,EAAEoH,OAA2B,EAAE;gBAC1E,IAAMC,UAAU,AAAC,wBAAqC,OAAdrH,WAAWmC,EAAE;gBAErDmF,qBAAqB,IAAI,CAAC7H,QAAQ,CAAC4H,QAAQ;gBAE3C,IAAI,CAAC5H,QAAQ,CAAC4H,QAAQ,GAAG1G,sBAAsB,WAAM;oBACnD7C,kBAAkBkC,WAAW4D,YAAY,EAAE,AAAC,kBAAyB,OAARwD,SAAQ;gBACvE;YACF;;;YAEA,0DAA0D,GAC1DjC,KAAAA;mBAAAA,SAAAA,eAAenF,UAA4B,EAAsC;oBAApCuH,eAAAA,iEAA8B,IAAI;;oBAChD;gBAA7B,IAAIA,iBAAiB,IAAI,IAAI,CAAA,CAAA,sBAAA,IAAI,CAACtI,KAAK,CAACuI,OAAO,cAAlB,iCAAA,KAAA,IAAA,mBAAoB,CAAC,EAAE,AAAD,MAAMxH,WAAWmC,EAAE,EAAE;oBACtE;gBACF,CAAC;gBACD,IAAI,IAAI,CAAC7C,kBAAkB,EAAE;oBAC3BgI,qBAAqB,IAAI,CAAChI,kBAAkB;gBAC9C,CAAC;gBACD,IAAI,CAACA,kBAAkB,GAAGqB,sBAAsB,WAAM;oBACpD,IAAI,MAAKxB,cAAc,CAACmG,OAAO,EAAE;wBAC/B,6BAAkDtF,WAA1CI,YAAAA,iDAAa,4DAA6BJ,WAA1BkG,mBAAAA,+DAAoB;wBAE5C,IAAMuB,UACJF,iBAAiB,IAAI,GACjB,IAAI,AAACrB,CAAAA,oBAAoB9F,UAAS,IAAM,CAAA,MAAMA,UAAS,KAAM,IAC7DmH,YAAY;wBAClB,MAAKpI,cAAc,CAACmG,OAAO,CAACzB,KAAK,CAAC4D,OAAO,GAAGjK,MAAMiK,SAAS,GAAG,KAAKC,QAAQ;oBAC7E,CAAC;gBACH;YACF;;;YAEAC,KAAAA;mBAAAA,SAAAA,SAAS;;oBAcG;gBAbV,IAAqD,cAAA,IAAI,CAAC1I,KAAK,EAAvDiB,cAA6C,YAA7CA,aAAaa,eAAgC,YAAhCA,cAAcN,gBAAkB,YAAlBA;gBACnC,IAAgC,cAAA,IAAI,CAACqB,KAAK,EAAlCC,YAAwB,YAAxBA,WAAWC,WAAa,YAAbA;gBAEnB,IAAI,CAAC9B,eAAe,CAACa,cAAc;oBACjC,OAAO,IAAI;gBACb,CAAC;gBAED,qBACE,oBAACzC,iBAAiBsJ,QAAQ;oBAACC,OAAO,IAAI;iCACpC,oBAACtJ,iBAAiBqJ,QAAQ;oBAACC,OAAO,IAAI,CAACrI,gBAAgB;iCACrD,oBAACnB;oBACCyJ,WAAWvK,4BAET,CAAA,CAAA,6BAAA,IAAI,CAAC0B,KAAK,CAAC8I,cAAc,cAAzB,wCAAA,KAAA,IAAA,2BAA2BC,WAAW,AAAD,MAAM7J,YAAY8J,MAAM,6BAE7DlG,aACExE,qCAAyC,mCAC3C,CAAC,CAAEkD,CAAAA,iBAAiBM,YAAW,KAC7BxD,uCAA2C;oBAE/C2K,QAAQ,IAAI,CAACrH,WAAW;oBACxBsH,OAAO,IAAI,CAAChH,UAAU;oBACtBG,UAAU,IAAI,CAACA,QAAQ;iCAEvB,oBAAC8G;oBACCN,SAAS;oBACTO,SAAS,IAAI,CAACpJ,KAAK,CAACsD,MAAM;oBAC1B+F,KAAK,IAAI,CAACnJ,cAAc;kCAE1B,oBAACiJ;oBAAIN,SAAS;oBAAiCQ,KAAK,IAAI,CAAClJ,WAAW;mBACjE,IAAI,CAAC0D,SAAS,GAAGyF,GAAG,CAAC,SAACC,OAAU;oBAC/B,IAAMC,UAAU7K,SAAS4K,MAAMvJ,KAAK,EAAEN;oBACtC,IAAM+J,cAAc,MAAKzI,aAAa,CAACwI;oBACvC,IAAI,AAACA,YAAYvI,eAAeuI,YAAY1H,gBAAiB,CAAC2H,aAAa;wBACzE,OAAO,IAAI;oBACb,CAAC;oBACD,IAAM1I,aAAa,mBAAK0I;oBAExB,IAAMC,SAAS3I,WAAWM,IAAI,KAAK7B,UAAU8B,IAAI;oBACjD,IAAMqI,MAAM,AAAC,SAAgB,OAARH;oBAErB,qBACE,oBAACrK;wBACCwK,KAAKA;wBACLC,YAAY,SAAC/H,GAAM;4BACjB,IAAMd,aAAa,MAAKC,aAAa,CAACwI;4BACtC,IAAIzI,YAAY;gCACdA,WAAWqE,YAAY,GAAGvD;4BAC5B,CAAC;wBACH;wBACAwB,SAAS,MAAKrD,KAAK,CAACsD,MAAM;wBAC1BE,SAAS,MAAKA,OAAO;wBACrBqF,WAAWvK,mCAGTyE,YAAY,0CAEZ2G,UAAU3I,WAAW0E,UAAU,IAAI,4CACnCiE,UAAU3I,WAAWwF,SAAS,IAAI;wBAEpCsD,cAAc,KAAK;uBAElBN;gBAGP;YAMZ;;;WAjkBIxJ;EAAgC1B,MAAMyL,SAAS;AAokBrD,OAAO,IAAMC,iBAAiBvL,YAC5BC,aAAaC,QAAwBe,iBAAiBuK,WAAWjK,4BACjEd,uBACA,kBACA;AAEF;;CAEC,GACD,SAAS+K,UAAUjJ,UAA4B,EAAE;IAC/C,OAAQA,WAAWM,IAAI;QACrB,KAAK7B,UAAU8B,IAAI;YACjBP,WAAW2G,cAAc,GAAG3G,WAAW2G,cAAc,IAAInI;YACzD,OAAO+F,cAAcvE;QACvB,KAAKvB,UAAUwC,IAAI;YACjB,OAAOiI,cAAclJ;QACvB;YACEmJ,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBACvB1K,KAAK,AAAC,qCAAoD,OAAhBqB,WAAWM,IAAI,EAAC,wBAAsB;IACtF;AACF;AAEA,SAASiE,cAAcvE,UAA4B,EAAE;IACnD,IAAM,AAAEwB,iBAAmBxB,WAAnBwB;IACR,IAAM8H,gBAAgB,CAAC9H,2BAAAA,4BAAAA,KAAAA,IAAAA,eAAgB+H,iBAAiB,AAAe,EAAEpD,YAAY;IAErF,IAAIqD,iBAAiBxJ,WAAWI,UAAU;QAGvBoB;IADnBxB,WAAW0E,UAAU,GACnB4E,gBAAiB9H,CAAAA,CAAAA,+BAAAA,2BAAAA,4BAAAA,KAAAA,IAAAA,eAAgBiI,YAAY,cAA5BjI,0CAAAA,+BAAgC,CAAC,AAAD,KAAMxB,WAAW2G,cAAc,KAAK;IAEvF,IAAInB,YAAY,KAAK;IACrB,IAAIC,WAAW,KAAK;IACpB,IAAId;IACJ,IAAIvE;IACJ,IAAIwG;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAI9G,WAAW0E,UAAU,EAAE;YACD1E;QAAxB2E,iBAAiB,MAAO3E,CAAAA,CAAAA,6BAAAA,WAAW2G,cAAc,cAAzB3G,wCAAAA,6BAA6B,CAAC,AAAD;QAErD,IAAM0J,YAAY/E,iBAAiB;QACnC,IAAMgF,cAAc,MAAMhF;QAE1BiC,gBAAgB;YAAC;YAAG8C;SAAU;QAC9B7C,iBAAiB;YAAC6C;YAAW/E,iBAAiBgF,cAAc;SAAE;QAC9D7C,cAAc;YAACnC,iBAAiBgF,cAAc;YAAG;SAAI;QAErDnE,YAAYb,iBAAiB;QAC7Bc,WAAWd,kBAAkB;QAC7BvE,aAAauE;IACf,OAAO;YACgB3E,2BAIFA;YAJEA;QAArB,IAAM4J,eAAe5J,CAAAA,yCAAAA,CAAAA,4BAAAA,WAAW6F,aAAa,cAAxB7F,uCAAAA,KAAAA,IAAAA,0BAA0BmG,YAAY,cAAtCnG,oDAAAA,yCAA0C,CAAC;QAChE,IAAM6J,SAASP,gBAAgBM;YAGZ5J;QADnB2E,iBACE,MAAM,AAACkF,SAAU7J,CAAAA,CAAAA,sDAAAA,CAAAA,2BAAAA,WAAW4D,YAAY,cAAvB5D,sCAAAA,KAAAA,IAAAA,0CAAAA,yBAAyB8J,+EAAzB9J,KAAAA,2CAAwCmG,YAAF,cAAtCnG,iEAAAA,sDAAwD,CAAC,AAAD,IAAM;QACjFI,aAAauE;QAEbiC,gBAAgB;YAACxG;YAAYA,aAAa;SAAG;QAC7CyG,iBAAiB;YAACzG,aAAa;YAAIA,aAAa;SAAG;QACnD0G,cAAc;YAAC1G,aAAa;YAAIA,aAAa;SAAI;IACnD,CAAC;IAED,8GAA8G;IAC9G,IACE,AAACJ,WAAW0E,UAAU,IAAItE,aAAcoJ,CAAAA,2BAAAA,4BAAAA,iBAAkB,GAAG,AAAD,KAC5DxJ,WAAW2G,cAAc,KAAK,KAC9B;QACAvG,aAAa;IACf,CAAC;IAED,gDAAgD;IAChD,IAAIA,eAAe,GAAG;QACpBqF,WAAW,IAAI;QACfD,YAAY,KAAK;IACnB,CAAC;IAEDxF,WAAW4G,aAAa,GAAGA;IAC3B5G,WAAW6G,cAAc,GAAGA;IAC5B7G,WAAW8G,WAAW,GAAGA;IACzB9G,WAAWI,UAAU,GAAGA;IACxBJ,WAAW2E,cAAc,GAAGA;IAC5B3E,WAAWwF,SAAS,GAAGA;IACvBxF,WAAWyF,QAAQ,GAAGA;AACxB;AAEA,SAASyD,cAAclJ,UAA4B,EAAE;IACnDA,WAAWI,UAAU,GAAG;AAC1B"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ModalRoot/ModalRoot.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 { setTransformStyle } from '../../lib/styles';\nimport { transitionEvent } from '../../lib/supportEvents';\nimport { rubber } from '../../lib/touch';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { ConfigProviderContext, WebviewType } from '../ConfigProvider/ConfigProviderContext';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { Touch, TouchEvent } from '../Touch/Touch';\nimport TouchRootContext from '../Touch/TouchContext';\nimport { ModalRootContext, ModalRootContextInterface } from './ModalRootContext';\nimport { MODAL_PAGE_DEFAULT_PERCENT_HEIGHT } from './constants';\nimport { ModalRootWithDOMProps, ModalsStateEntry, ModalType, TranslateRange } from './types';\nimport { ModalTransitionProps, withModalManager } from './useModalManager';\nimport styles from './ModalRoot.module.css';\n\nconst warn = warnOnce('ModalRoot');\n\nfunction numberInRange(number: number, range: TranslateRange | undefined) {\n if (!range) {\n return false;\n }\n return number >= range[0] && number <= range[1];\n}\n\nfunction rangeTranslate(number: number) {\n return clamp(number, 0, 98);\n}\n\ninterface ModalRootState {\n touchDown?: boolean;\n dragging?: boolean;\n}\n\nclass ModalRootTouchComponent extends React.Component<\n ModalRootWithDOMProps & DOMProps & ModalTransitionProps,\n ModalRootState\n> {\n constructor(props: ModalRootWithDOMProps & ModalTransitionProps) {\n super(props);\n this.state = {\n touchDown: false,\n dragging: false,\n };\n\n this.maskElementRef = React.createRef();\n\n this.modalRootContext = {\n updateModalHeight: this.updateModalHeight,\n registerModal: ({ id, ...data }) => Object.assign(this.props.getModalState(id) ?? {}, data),\n onClose: () => this.props.onExit(),\n isInsideModal: true,\n };\n\n this.frameIds = {};\n }\n\n private documentScrolling = false;\n private readonly maskElementRef: React.RefObject<HTMLDivElement>;\n private readonly viewportRef = React.createRef<HTMLDivElement>();\n private maskAnimationFrame: number | undefined = undefined;\n private readonly modalRootContext: ModalRootContextInterface;\n private readonly frameIds: {\n [index: string]: number;\n };\n private restoreFocusTo: HTMLElement | undefined | null = undefined;\n\n get timeout(): number {\n return this.props.platform === Platform.IOS ? 400 : 320;\n }\n\n get document(): Document {\n return this.props.document as Document;\n }\n\n get window(): Window {\n return this.props.window as Window;\n }\n\n getModals() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n componentDidMount() {\n // Отслеживаем изменение размеров viewport (Необходимо для iOS)\n if (this.props.platform === Platform.IOS) {\n this.window?.addEventListener('resize', this.updateModalTranslate, false);\n }\n }\n\n componentWillUnmount() {\n this.toggleDocumentScrolling(true);\n this.window.removeEventListener('resize', this.updateModalTranslate, false);\n }\n\n componentDidUpdate(prevProps: ModalRootWithDOMProps & 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 const { enteringModal } = this.props;\n const enteringState = this.props.getModalState(enteringModal);\n this.props.onEnter();\n this.waitTransitionFinish(enteringState, () => {\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transitionDelay = '';\n }\n this.props.onEntered(enteringModal);\n });\n\n if (enteringState?.innerElement) {\n enteringState.innerElement.style.transitionDelay = this.props.delayEnter\n ? `${this.timeout}ms`\n : '';\n this.animateTranslate(enteringState, enteringState.translateY);\n }\n }\n\n // focus restoration\n if (this.props.activeModal && !prevProps.activeModal) {\n this.restoreFocusTo = this.document.activeElement as HTMLElement;\n }\n if (!this.props.activeModal && !this.props.exitingModal && this.restoreFocusTo) {\n this.restoreFocusTo.focus();\n this.restoreFocusTo = null;\n }\n\n this.toggleDocumentScrolling(!this.props.activeModal && !this.props.exitingModal);\n }\n\n /* Отключает скролл документа */\n toggleDocumentScrolling(enabled: boolean) {\n if (this.documentScrolling === enabled) {\n return;\n }\n this.documentScrolling = enabled;\n\n if (enabled) {\n // Здесь нужен последний аргумент с такими же параметрами, потому что\n // некоторые браузеры на странных вендорах типа Meizu не удаляют обработчик.\n // https://github.com/VKCOM/VKUI/issues/444\n this.window.removeEventListener('touchmove', this.preventTouch, {\n // @ts-expect-error: TS2769 В интерфейсе EventListenerOptions нет поля passive\n passive: false,\n });\n } else {\n this.window.addEventListener('touchmove', this.preventTouch, {\n passive: false,\n });\n }\n }\n\n preventTouch = (event: any) => {\n if (!event) {\n return false;\n }\n while (event.originalEvent) {\n event = event.originalEvent;\n }\n if (event.preventDefault) {\n event.preventDefault();\n }\n return false;\n };\n\n updateModalTranslate = () => {\n const modalState = this.props.getModalState(this.props.activeModal);\n modalState && this.animateTranslate(modalState, modalState.translateY);\n };\n\n checkPageContentHeight() {\n const modalState = this.props.getModalState(this.props.activeModal);\n\n if (modalState?.type === ModalType.PAGE && modalState?.modalElement) {\n const prevModalState = { ...modalState };\n initPageModal(modalState);\n const currentModalState = { ...modalState };\n\n let needAnimate = false;\n\n if (prevModalState.expandable === currentModalState.expandable) {\n if (prevModalState.translateYFrom !== currentModalState.translateYFrom) {\n needAnimate = true;\n }\n } else {\n needAnimate = true;\n }\n\n if (needAnimate) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n }\n }\n\n updateModalHeight = () => {\n const modalState = this.props.getModalState(this.props.activeModal);\n\n if (modalState && modalState.type === ModalType.PAGE && modalState.dynamicContentHeight) {\n if (this.props.enteringModal) {\n this.waitTransitionFinish(modalState, () => {\n requestAnimationFrame(() => this.checkPageContentHeight());\n });\n } else {\n requestAnimationFrame(() => this.checkPageContentHeight());\n }\n }\n };\n\n closeModal(id: string) {\n // Сбрасываем состояния, которые могут помешать закрытию модального окна\n this.setState({ touchDown: false });\n\n const prevModalState = this.props.getModalState(id);\n\n if (!prevModalState) {\n id && warn(`closeActiveModal: модальное окно (страница) ${id} не существует`, 'error');\n return;\n }\n\n const nextModalState = this.props.getModalState(this.props.activeModal);\n const nextIsPage = !!nextModalState && nextModalState.type === ModalType.PAGE;\n\n const prevIsPage = !!prevModalState && prevModalState.type === ModalType.PAGE;\n this.waitTransitionFinish(prevModalState, () => this.props.onExited(id));\n const exitTranslate =\n prevIsPage &&\n nextIsPage &&\n (prevModalState.translateY ?? 0) <= (nextModalState?.translateYFrom ?? 0) &&\n !this.props.isBack\n ? (nextModalState?.translateYFrom ?? 0) + 10\n : 100;\n this.animateTranslate(prevModalState, exitTranslate);\n\n if (!nextModalState) {\n // NOTE: was only for clean exit\n this.setMaskOpacity(prevModalState, 0);\n }\n }\n\n onTouchMove = (e: TouchEvent) => {\n if (this.props.exitingModal) {\n return;\n }\n const modalState = this.props.getModalState(this.props.activeModal);\n if (!modalState) {\n return;\n }\n\n if (modalState.type === ModalType.PAGE) {\n return this.onPageTouchMove(e, modalState);\n }\n\n if (modalState.type === ModalType.CARD) {\n return this.onCardTouchMove(e, modalState);\n }\n };\n\n onPageTouchMove(event: TouchEvent, modalState: ModalsStateEntry) {\n const { shiftY, originalEvent } = event;\n const target = originalEvent.target as HTMLElement;\n\n if (!event.isY) {\n if (this.viewportRef.current?.contains(target)) {\n originalEvent.preventDefault();\n }\n return;\n }\n\n if (!modalState.innerElement?.contains(target)) {\n return originalEvent.preventDefault();\n }\n\n originalEvent.stopPropagation();\n\n const { expandable, contentScrolled, collapsed, expanded } = modalState;\n\n if (!this.state.touchDown) {\n modalState.touchStartContentScrollTop = modalState.contentElement?.scrollTop ?? 0;\n this.setState({ touchDown: true });\n }\n\n if (contentScrolled) {\n return;\n }\n\n if (modalState.touchMovePositive === null) {\n modalState.touchMovePositive = shiftY > 0;\n }\n\n if (\n !modalState.expandable ||\n collapsed ||\n (expanded && modalState.touchMovePositive && modalState.touchStartContentScrollTop === 0) ||\n modalState.headerElement?.contains(target)\n ) {\n originalEvent.preventDefault();\n\n if ((!expandable && shiftY < 0) || !this.window) {\n return;\n }\n\n !this.state.dragging && this.setState({ dragging: true });\n\n const shiftYPercent = (shiftY / this.window.innerHeight) * 100;\n const shiftYCurrent = rubber(shiftYPercent, 72, 0.8, this.props.platform !== Platform.IOS);\n\n modalState.touchShiftYPercent = shiftYPercent;\n modalState.translateYCurrent = rangeTranslate((modalState.translateY ?? 0) + shiftYCurrent);\n\n this.animateTranslate(modalState, modalState.translateYCurrent);\n this.setMaskOpacity(modalState);\n }\n }\n\n onCardTouchMove(event: TouchEvent, modalState: ModalsStateEntry) {\n const { originalEvent, shiftY } = event;\n const target = originalEvent.target as HTMLElement;\n if (modalState.innerElement?.contains(target)) {\n if (!this.state.touchDown) {\n this.setState({ touchDown: true, dragging: true });\n }\n\n const shiftYPercent = (shiftY / modalState.innerElement.offsetHeight) * 100;\n const shiftYCurrent = rubber(shiftYPercent, 72, 1.2, this.props.platform !== Platform.IOS);\n\n modalState.touchShiftYPercent = shiftYPercent;\n modalState.translateYCurrent = Math.max(0, (modalState.translateY ?? 0) + shiftYCurrent);\n\n this.animateTranslate(modalState, modalState.translateYCurrent);\n this.setMaskOpacity(modalState);\n }\n }\n\n onTouchEnd = (e: TouchEvent) => {\n const modalState = this.props.getModalState(this.props.activeModal);\n\n if (modalState?.type === ModalType.PAGE) {\n return this.onPageTouchEnd(e, modalState);\n }\n\n if (modalState?.type === ModalType.CARD) {\n return this.onCardTouchEnd(e, modalState);\n }\n };\n\n onPageTouchEnd(event: TouchEvent, modalState: ModalsStateEntry) {\n const { startY, shiftY } = event;\n\n modalState.contentScrolled = false;\n modalState.touchMovePositive = null;\n\n let setStateCallback;\n\n if (this.state.dragging && this.window) {\n const shiftYEndPercent = ((startY + shiftY) / this.window.innerHeight) * 100;\n\n let translateY = modalState.translateYCurrent ?? 0;\n const expectTranslateY =\n (translateY / event.duration) *\n 240 *\n 0.6 *\n ((modalState.touchShiftYPercent ?? 0) < 0 ? -1 : 1);\n translateY = rangeTranslate(translateY + expectTranslateY);\n\n if (modalState.settlingHeight !== 100) {\n if (numberInRange(translateY, modalState.expandedRange)) {\n translateY = modalState.expandedRange?.[0] ?? 0;\n } else if (numberInRange(translateY, modalState.collapsedRange)) {\n translateY = modalState.translateYFrom ?? 0;\n } else if (numberInRange(translateY, modalState.hiddenRange)) {\n translateY = 100;\n } else {\n translateY = modalState.translateYFrom ?? 0;\n }\n } else {\n if (numberInRange(translateY, [0, 25])) {\n translateY = 0;\n } else {\n translateY = 100;\n }\n }\n\n if (translateY !== 100 && shiftYEndPercent >= 75) {\n translateY = 100;\n }\n\n modalState.translateY = translateY;\n modalState.translateYCurrent = translateY;\n modalState.collapsed = translateY > 0 && translateY < shiftYEndPercent;\n modalState.expanded = translateY === 0;\n modalState.hidden = translateY === 100;\n\n if (modalState.hidden) {\n this.props.onExit();\n }\n\n setStateCallback = () => {\n if (!modalState.hidden) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n\n this.setMaskOpacity(modalState);\n };\n }\n\n this.setState(\n {\n touchDown: false,\n dragging: false,\n },\n setStateCallback,\n );\n }\n\n onCardTouchEnd({ duration }: TouchEvent, modalState: ModalsStateEntry) {\n let setStateCallback;\n\n if (this.state.dragging) {\n let translateY = modalState.translateYCurrent ?? 0;\n\n const expectTranslateY =\n (translateY / duration) * 240 * 0.6 * ((modalState.touchShiftYPercent ?? 0) < 0 ? -1 : 1);\n translateY = Math.max(0, translateY + expectTranslateY);\n\n if (translateY >= 30) {\n translateY = 100;\n } else {\n translateY = 0;\n }\n\n modalState.translateY = translateY;\n modalState.hidden = translateY === 100;\n\n if (modalState.hidden) {\n this.props.onExit();\n }\n\n setStateCallback = () => {\n if (!modalState.hidden) {\n this.animateTranslate(modalState, modalState.translateY);\n }\n\n this.setMaskOpacity(modalState);\n };\n }\n\n this.setState(\n {\n touchDown: false,\n dragging: false,\n },\n setStateCallback,\n );\n }\n\n onScroll = (e: React.SyntheticEvent) => {\n const activeModal = this.props.activeModal;\n\n const target = e.target as HTMLElement;\n\n if (!activeModal) {\n return;\n }\n const modalState = this.props.getModalState(activeModal);\n if (modalState?.type === ModalType.PAGE && modalState?.contentElement?.contains(target)) {\n modalState.contentScrolled = true;\n\n if (modalState.contentScrollStopTimeout) {\n clearTimeout(modalState.contentScrollStopTimeout);\n }\n\n modalState.contentScrollStopTimeout = setTimeout(() => {\n if (modalState.contentScrolled) {\n modalState.contentScrolled = false;\n }\n }, 250);\n }\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 * Анимирует сдвиг модалки\n *\n * @param {ModalsStateEntry} modalState\n * @param {number} percent Процент сдвига: 0 – полностью открыта, 100 – полностью закрыта\n */\n animateTranslate(modalState: ModalsStateEntry, percent: number | undefined) {\n const frameId = `animateTranslateFrame${modalState.id}`;\n\n cancelAnimationFrame(this.frameIds[frameId]);\n\n this.frameIds[frameId] = requestAnimationFrame(() => {\n setTransformStyle(modalState.innerElement, `translate3d(0, ${percent}%, 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 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 { activeModal, exitingModal, enteringModal } = this.props;\n const { touchDown, dragging } = this.state;\n\n if (!activeModal && !exitingModal) {\n return null;\n }\n\n return (\n <TouchRootContext.Provider value={true}>\n <ModalRootContext.Provider value={this.modalRootContext}>\n <Touch\n className={classNames(\n styles['ModalRoot'],\n this.props.configProvider?.webviewType === WebviewType.VKAPPS &&\n styles['ModalRoot--vkapps'],\n touchDown &&\n classNames(styles['ModalRoot--touched'], 'vkuiInternalModalRoot--touched'),\n !!(enteringModal || exitingModal) &&\n classNames(styles['ModalRoot--switching'], 'vkuiInternalModalRoot--switching'),\n )}\n onMove={this.onTouchMove}\n onEnd={this.onTouchEnd}\n onScroll={this.onScroll}\n >\n <div\n className={styles['ModalRoot__mask']}\n onClick={this.props.onExit}\n ref={this.maskElementRef}\n />\n <div className={styles['ModalRoot__viewport']} ref={this.viewportRef}>\n {this.getModals().map((Modal) => {\n const modalId = getNavId(Modal.props, warn);\n const _modalState = this.props.getModalState(modalId);\n if ((modalId !== activeModal && modalId !== exitingModal) || !_modalState) {\n return null;\n }\n const modalState = { ..._modalState };\n\n const isPage = modalState.type === ModalType.PAGE;\n const key = `modal-${modalId}`;\n\n return (\n <FocusTrap\n key={key}\n getRootRef={(e) => {\n const modalState = this.props.getModalState(modalId);\n if (modalState) {\n modalState.modalElement = e;\n }\n }}\n onClose={this.props.onExit}\n timeout={this.timeout}\n className={classNames(\n styles['ModalRoot__modal'],\n\n dragging && 'vkuiInternalModalRoot__modal--dragging',\n\n isPage && modalState.expandable && 'vkuiInternalModalRoot__modal--expandable',\n isPage && modalState.collapsed && 'vkuiInternalModalRoot__modal--collapsed',\n )}\n restoreFocus={false}\n >\n {Modal}\n </FocusTrap>\n );\n })}\n </div>\n </Touch>\n </ModalRootContext.Provider>\n </TouchRootContext.Provider>\n );\n }\n}\n\nexport const ModalRootTouch = withContext(\n withPlatform(\n withDOM<ModalRootWithDOMProps>(withModalManager(initModal)(ModalRootTouchComponent)),\n ),\n ConfigProviderContext,\n 'configProvider',\n);\n\n/**\n * Инициализирует модалку перед анимацией открытия\n */\nfunction initModal(modalState: ModalsStateEntry) {\n switch (modalState.type) {\n case ModalType.PAGE:\n modalState.settlingHeight = modalState.settlingHeight || MODAL_PAGE_DEFAULT_PERCENT_HEIGHT;\n return initPageModal(modalState);\n case ModalType.CARD:\n return initCardModal(modalState);\n default:\n process.env.NODE_ENV === 'development' &&\n warn(`initActiveModal: modalState.type=\"${modalState.type}\" не поддерживается`, 'error');\n }\n}\n\nfunction initPageModal(modalState: ModalsStateEntry) {\n const { contentElement } = modalState;\n const contentHeight = (contentElement?.firstElementChild as HTMLElement).offsetHeight;\n\n let prevTranslateY = modalState.translateY;\n\n modalState.expandable =\n contentHeight > (contentElement?.clientHeight ?? 0) || modalState.settlingHeight === 100;\n\n let collapsed = false;\n let expanded = false;\n let translateYFrom;\n let translateY;\n let expandedRange: TranslateRange;\n let collapsedRange: TranslateRange;\n let hiddenRange: TranslateRange;\n\n if (modalState.expandable) {\n translateYFrom = 100 - (modalState.settlingHeight ?? 0);\n\n const shiftHalf = translateYFrom / 2;\n const visiblePart = 100 - translateYFrom;\n\n expandedRange = [0, shiftHalf];\n collapsedRange = [shiftHalf, translateYFrom + visiblePart / 4];\n hiddenRange = [translateYFrom + visiblePart / 4, 100];\n\n collapsed = translateYFrom > 0;\n expanded = translateYFrom <= 0;\n translateY = translateYFrom;\n } else {\n const headerHeight = modalState.headerElement?.offsetHeight ?? 0;\n const height = contentHeight + headerHeight;\n\n translateYFrom =\n 100 - (height / (modalState.innerElement?.parentElement?.offsetHeight ?? 0)) * 100;\n translateY = translateYFrom;\n\n expandedRange = [translateY, translateY + 25];\n collapsedRange = [translateY + 25, translateY + 25];\n hiddenRange = [translateY + 25, translateY + 100];\n }\n\n // Если модалка может открываться на весь экран, и новый сдвиг больше предыдущего, то откроем её на весь экран\n if (\n (modalState.expandable && translateY > (prevTranslateY ?? 100)) ||\n modalState.settlingHeight === 100\n ) {\n translateY = 0;\n }\n\n // Если модалка уже раскрыта обновляем состояния\n if (translateY === 0) {\n expanded = true;\n collapsed = false;\n }\n\n modalState.expandedRange = expandedRange;\n modalState.collapsedRange = collapsedRange;\n modalState.hiddenRange = hiddenRange;\n modalState.translateY = translateY;\n modalState.translateYFrom = translateYFrom;\n modalState.collapsed = collapsed;\n modalState.expanded = expanded;\n}\n\nfunction initCardModal(modalState: ModalsStateEntry) {\n modalState.translateY = 0;\n}\n"],"names":["React","classNames","clamp","withContext","withPlatform","withDOM","getNavId","Platform","setTransformStyle","transitionEvent","rubber","warnOnce","ConfigProviderContext","WebviewType","FocusTrap","Touch","TouchRootContext","ModalRootContext","MODAL_PAGE_DEFAULT_PERCENT_HEIGHT","ModalType","withModalManager","warn","numberInRange","number","range","rangeTranslate","ModalRootTouchComponent","props","documentScrolling","maskElementRef","viewportRef","createRef","maskAnimationFrame","undefined","modalRootContext","frameIds","restoreFocusTo","preventTouch","event","originalEvent","preventDefault","updateModalTranslate","modalState","getModalState","activeModal","animateTranslate","translateY","updateModalHeight","type","PAGE","dynamicContentHeight","enteringModal","waitTransitionFinish","requestAnimationFrame","checkPageContentHeight","onTouchMove","e","exitingModal","onPageTouchMove","CARD","onCardTouchMove","onTouchEnd","onPageTouchEnd","onCardTouchEnd","onScroll","target","contentElement","contains","contentScrolled","contentScrollStopTimeout","clearTimeout","setTimeout","state","touchDown","dragging","registerModal","Object","id","data","assign","onClose","onExit","isInsideModal","timeout","platform","IOS","document","window","getModals","Children","toArray","children","componentDidMount","addEventListener","componentWillUnmount","toggleDocumentScrolling","removeEventListener","componentDidUpdate","prevProps","closeModal","enteringState","onEnter","innerElement","style","transitionDelay","onEntered","delayEnter","activeElement","focus","enabled","passive","modalElement","prevModalState","initPageModal","currentModalState","needAnimate","expandable","translateYFrom","setState","nextModalState","nextIsPage","prevIsPage","onExited","exitTranslate","isBack","setMaskOpacity","shiftY","isY","current","stopPropagation","collapsed","expanded","touchStartContentScrollTop","scrollTop","touchMovePositive","headerElement","shiftYPercent","innerHeight","shiftYCurrent","touchShiftYPercent","translateYCurrent","offsetHeight","Math","max","startY","setStateCallback","shiftYEndPercent","expectTranslateY","duration","settlingHeight","expandedRange","collapsedRange","hiddenRange","hidden","eventHandler","supported","onceHandler","name","percent","frameId","cancelAnimationFrame","forceOpacity","history","opacity","toString","render","Provider","value","className","configProvider","webviewType","VKAPPS","onMove","onEnd","div","onClick","ref","map","Modal","modalId","_modalState","isPage","key","getRootRef","restoreFocus","Component","ModalRootTouch","initModal","initCardModal","process","env","NODE_ENV","contentHeight","firstElementChild","prevTranslateY","clientHeight","shiftHalf","visiblePart","headerHeight","height","parentElement"],"mappings":"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"}
|
|
@@ -1,24 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
activeModal?: string | null;
|
|
4
|
-
/**
|
|
5
|
-
* Будет вызвано при начале открытия активной модалки с её id
|
|
6
|
-
*/
|
|
7
|
-
onOpen?(modalId: string): void;
|
|
8
|
-
/**
|
|
9
|
-
* Будет вызвано при окончательном открытии активной модалки с её id
|
|
10
|
-
*/
|
|
11
|
-
onOpened?(modalId: string): void;
|
|
12
|
-
/**
|
|
13
|
-
* Будет вызвано при начале закрытия активной модалки с её id
|
|
14
|
-
*/
|
|
15
|
-
onClose?(modalId: string): void;
|
|
16
|
-
/**
|
|
17
|
-
* Будет вызвано при окончательном закрытии активной модалки с её id
|
|
18
|
-
*/
|
|
19
|
-
onClosed?(modalId: string): void;
|
|
20
|
-
children?: React.ReactNode;
|
|
21
|
-
}
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ModalRootProps } from './types';
|
|
22
3
|
/**
|
|
23
4
|
* @see https://vkcom.github.io/VKUI/#/ModalRoot
|
|
24
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ModalRoot/ModalRootAdaptive.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { ModalRootTouch } from './ModalRoot';\nimport { ModalRootDesktop } from './ModalRootDesktop';\
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ModalRoot/ModalRootAdaptive.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { ModalRootTouch } from './ModalRoot';\nimport { ModalRootDesktop } from './ModalRootDesktop';\nimport { ModalRootProps } from './types';\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ModalRoot\n */\nexport const ModalRoot = (props: ModalRootProps) => {\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n useScrollLock(!!props.activeModal);\n\n const RootComponent = isDesktop ? ModalRootDesktop : ModalRootTouch;\n\n return <RootComponent {...props} />;\n};\n"],"names":["React","useAdaptivityWithJSMediaQueries","useScrollLock","ModalRootTouch","ModalRootDesktop","ModalRoot","props","isDesktop","activeModal","RootComponent"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,+BAA+B,QAAQ,8CAA8C;AAC9F,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,gBAAgB,QAAQ,qBAAqB;AAGtD;;CAEC,GACD,OAAO,IAAMC,YAAY,SAACC,OAA0B;IAClD,IAAM,AAAEC,YAAcN,kCAAdM;IAERL,cAAc,CAAC,CAACI,MAAME,WAAW;IAEjC,IAAMC,gBAAgBF,YAAYH,mBAAmBD,cAAc;IAEnE,qBAAO,oBAACM,eAAkBH;AAC5B,EAAE"}
|