@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"sourcesContent":["import * as React from 'react';\nimport { isFunction, noop } from '@vkontakte/vkjs';\nimport { getNavId } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { ModalsState, ModalsStateEntry, ModalType } from './types';\n\ninterface ModalTransitionState {\n activeModal?: string | null;\n enteringModal?: string | null;\n exitingModal?: string | null;\n\n history?: string[];\n isBack?: boolean | null;\n}\n\nexport interface ModalTransitionProps extends ModalTransitionState {\n onEnter: VoidFunction;\n onEntered: (id: string | null) => void;\n onExit: VoidFunction;\n onExited: (id: string | null) => void;\n getModalState: (id: string) => ModalsStateEntry;\n delayEnter: boolean;\n}\n\nfunction getModals(children: React.ReactNode | React.ReactNode[]) {\n return React.Children.toArray(children) as React.ReactElement[];\n}\n\nconst warn = warnOnce('ModalRoot');\n\nexport function modalTransitionReducer(\n state: ModalTransitionState,\n action: {\n type: 'setActive' | 'entered' | 'exited' | 'inited';\n id: string | null;\n },\n): ModalTransitionState {\n if (action.type === 'setActive' && action.id !== state.activeModal) {\n const nextModal = action.id;\n // preserve exiting modal if switching mid-transition\n const prevModal = state.exitingModal || state.activeModal;\n let history = state.history ? [...state.history] : [];\n const isBack = Boolean(nextModal && history.includes(nextModal));\n\n if (nextModal === null) {\n history = [];\n } else if (isBack) {\n history = history.splice(0, history.indexOf(nextModal) + 1);\n } else {\n history.push(nextModal);\n }\n\n return {\n activeModal: nextModal,\n // not entering yet\n enteringModal: null,\n exitingModal: prevModal,\n history,\n isBack,\n };\n }\n if (action.type === 'entered' && action.id === state.enteringModal) {\n return { ...state, enteringModal: null };\n }\n if (action.type === 'exited' && action.id === state.exitingModal) {\n return { ...state, exitingModal: null };\n }\n if (action.type === 'inited' && action.id === state.activeModal) {\n return { ...state, enteringModal: action.id };\n }\n return state;\n}\n\n/**\n * Реализует переход модалок. При смене activeModal m1 -> m2:\n * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода\n * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода\n * одновременный переход между ModalPage:\n * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2\n * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации\n * ИЛИ дожидаемся скрытия ModalCard\n * 3b. activeModal: m2, exitingModal: null, enteringModal: m2\n * 4b. enteringModal переходит в null после завершения анимации\n * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен\n */\nexport function useModalManager(\n activeModal: string | null | undefined,\n children: React.ReactNode | React.ReactNode[],\n onOpen: (id: string) => void = noop,\n onOpened: (id: string) => void = noop,\n onClose: (id: string) => void = noop,\n onClosed: (id: string) => void = noop,\n initModal: (state: ModalsStateEntry) => void = noop,\n): ModalTransitionProps {\n const modalsState = React.useRef<ModalsState>({}).current;\n getModals(children).forEach((Modal) => {\n const modalProps = Modal.props;\n const id = getNavId(modalProps, warn);\n const state: ModalsStateEntry = (id !== undefined && modalsState[id]) || {\n id: id ?? null,\n };\n\n state.onOpen = Modal.props.onOpen;\n state.onOpened = Modal.props.onOpened;\n state.onClose = Modal.props.onClose;\n state.onClosed = Modal.props.onClosed;\n state.dynamicContentHeight = !!modalProps.dynamicContentHeight;\n // ModalPage props\n if (typeof modalProps.settlingHeight === 'number') {\n state.settlingHeight = modalProps.settlingHeight;\n }\n\n if (state.id !== null) {\n modalsState[state.id] = state;\n }\n });\n\n const isMissing = activeModal && !modalsState[activeModal];\n const safeActiveModal = isMissing ? null : activeModal;\n const [transitionState, dispatchTransition] = React.useReducer(modalTransitionReducer, {\n activeModal: safeActiveModal,\n enteringModal: null,\n exitingModal: null,\n history: safeActiveModal ? [safeActiveModal] : [],\n isBack: false,\n });\n\n // Map props to state, render activeModal for init\n useIsomorphicLayoutEffect(() => {\n // ignore non-existent activeModal\n if (process.env.NODE_ENV === 'development' && isMissing) {\n warn(`Переход невозможен - модальное окно (страница) ${activeModal} не существует`, 'error');\n }\n dispatchTransition({ type: 'setActive', id: safeActiveModal ?? null });\n }, [activeModal]);\n\n // Init activeModal & set enteringModal\n useIsomorphicLayoutEffect(() => {\n if (transitionState.activeModal) {\n initModal(modalsState[transitionState.activeModal]);\n dispatchTransition({ type: 'inited', id: transitionState.activeModal });\n }\n }, [transitionState.activeModal]);\n\n const isCard = (id: string | null | undefined) =>\n id != null && modalsState[id]?.type === ModalType.CARD;\n const onEntered = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onOpened)) {\n modalState.onOpened();\n } else if (isFunction(onOpened)) {\n onOpened(id);\n }\n }\n\n dispatchTransition({ type: 'entered', id });\n },\n [modalsState, onOpened],\n );\n const onExited = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onClosed)) {\n modalState.onClosed();\n } else if (isFunction(onClosed)) {\n onClosed(id);\n }\n }\n\n dispatchTransition({ type: 'exited', id });\n },\n [modalsState, onClosed],\n );\n const delayEnter = Boolean(\n transitionState.exitingModal && (isCard(activeModal) || isCard(transitionState.exitingModal)),\n );\n const getModalState = React.useCallback((id: string) => modalsState[id], [modalsState]);\n\n function onEnter() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onOpen)) {\n modalState.onOpen();\n } else if (isFunction(onOpen)) {\n onOpen(modalState.id);\n }\n }\n }\n\n function onExit() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onClose)) {\n modalState.onClose();\n } else if (isFunction(onClose)) {\n onClose(modalState.id);\n }\n }\n }\n\n return {\n onEnter,\n onEntered,\n onExit,\n onExited,\n ...transitionState,\n delayEnter,\n getModalState,\n };\n}\n\nexport function withModalManager(initModal: (a: ModalsStateEntry) => void = noop) {\n return function <Props extends ModalTransitionProps>(\n Wrapped: React.ComponentType<Props>,\n ): React.ComponentType<\n Omit<Props, keyof ModalTransitionProps> & {\n activeModal?: string | null;\n children?: React.ReactNode;\n }\n > {\n return function WithModalManager(props) {\n const transitionManager = useModalManager(\n props.activeModal,\n props.children,\n (props as any).onOpen,\n (props as any).onOpened,\n (props as any).onClose,\n (props as any).onClosed,\n initModal,\n );\n return <Wrapped {...(props as any)} {...transitionManager} />;\n };\n };\n}\n"],"names":["React","isFunction","noop","getNavId","useIsomorphicLayoutEffect","warnOnce","ModalType","getModals","children","Children","toArray","warn","modalTransitionReducer","state","action","type","id","activeModal","nextModal","prevModal","exitingModal","history","isBack","Boolean","includes","splice","indexOf","push","enteringModal","useModalManager","onOpen","onOpened","onClose","onClosed","initModal","modalsState","useRef","current","forEach","Modal","modalProps","props","undefined","dynamicContentHeight","settlingHeight","isMissing","safeActiveModal","transitionState","dispatchTransition","useReducer","process","env","NODE_ENV","isCard","CARD","onEntered","useCallback","modalState","onExited","delayEnter","getModalState","onEnter","onExit","withModalManager","Wrapped","WithModalManager","transitionManager"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ModalRoot/useModalManager.tsx"],"sourcesContent":["import * as React from 'react';\nimport { isFunction, noop } from '@vkontakte/vkjs';\nimport { getNavId } from '../../lib/getNavId';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { HasChildren } from '../../types';\nimport { ModalsState, ModalsStateEntry, ModalType } from './types';\n\ninterface ModalTransitionState {\n activeModal?: string | null;\n enteringModal?: string | null;\n exitingModal?: string | null;\n history?: string[];\n isBack?: boolean | null;\n}\n\nexport interface ModalTransitionProps extends ModalTransitionState {\n onEnter: VoidFunction;\n onEntered: (id: string | null) => void;\n onExit: VoidFunction;\n onExited: (id: string | null) => void;\n getModalState: (id: string | undefined | null) => ModalsStateEntry | undefined;\n delayEnter: boolean;\n}\n\nfunction getModals(children: React.ReactNode | React.ReactNode[]) {\n return React.Children.toArray(children) as React.ReactElement[];\n}\n\nconst warn = warnOnce('ModalRoot');\n\nexport function modalTransitionReducer(\n state: ModalTransitionState,\n action: {\n type: 'setActive' | 'entered' | 'exited' | 'inited';\n id: string | null;\n },\n): ModalTransitionState {\n if (action.type === 'setActive' && action.id !== state.activeModal) {\n const nextModal = action.id;\n // preserve exiting modal if switching mid-transition\n const prevModal = state.exitingModal || state.activeModal;\n let history = state.history ? [...state.history] : [];\n const isBack = Boolean(nextModal && history.includes(nextModal));\n\n if (nextModal === null) {\n history = [];\n } else if (isBack) {\n history = history.splice(0, history.indexOf(nextModal) + 1);\n } else {\n history.push(nextModal);\n }\n\n return {\n activeModal: nextModal,\n // not entering yet\n enteringModal: null,\n exitingModal: prevModal,\n history,\n isBack,\n };\n }\n if (action.type === 'entered' && action.id === state.enteringModal) {\n return { ...state, enteringModal: null };\n }\n if (action.type === 'exited' && action.id === state.exitingModal) {\n return { ...state, exitingModal: null };\n }\n if (action.type === 'inited' && action.id === state.activeModal) {\n return { ...state, enteringModal: action.id };\n }\n return state;\n}\n\n/**\n * Реализует переход модалок. При смене activeModal m1 -> m2:\n * 1. activeModal: m1, exitingModal: null, enteringModal: null, триггер перехода\n * 2. activeModal: m2, exitingModal: m1, enteringModal: null, рендерим m2 чтобы прошел init, начинаем анимацию выхода\n * одновременный переход между ModalPage:\n * 3a. activeModal: m2, exitingModal: m1, enteringModal: m2\n * 4a. exitingModal и enteringModal переходят в null в порядке завершения анимации\n * ИЛИ дожидаемся скрытия ModalCard\n * 3b. activeModal: m2, exitingModal: null, enteringModal: m2\n * 4b. enteringModal переходит в null после завершения анимации\n * 5. activeModal: m2, exitingModal: null, enteringModal: null, переход закончен\n */\nexport function useModalManager(\n activeModal: string | null | undefined,\n children: React.ReactNode | React.ReactNode[],\n onOpen: (id: string) => void = noop,\n onOpened: (id: string) => void = noop,\n onClose: (id: string) => void = noop,\n onClosed: (id: string) => void = noop,\n initModal: (state: ModalsStateEntry) => void = noop,\n): ModalTransitionProps {\n const modalsState = React.useRef<ModalsState>({}).current;\n getModals(children).forEach((Modal) => {\n const modalProps = Modal.props;\n const id = getNavId(modalProps, warn);\n const state: ModalsStateEntry = (id !== undefined && modalsState[id]) || {\n id: id ?? null,\n };\n\n state.onOpen = Modal.props.onOpen;\n state.onOpened = Modal.props.onOpened;\n state.onClose = Modal.props.onClose;\n state.onClosed = Modal.props.onClosed;\n state.dynamicContentHeight = !!modalProps.dynamicContentHeight;\n // ModalPage props\n if (typeof modalProps.settlingHeight === 'number') {\n state.settlingHeight = modalProps.settlingHeight;\n }\n\n if (state.id !== null) {\n modalsState[state.id] = state;\n }\n });\n\n const isMissing = activeModal && !modalsState[activeModal];\n const safeActiveModal = isMissing ? null : activeModal;\n const [transitionState, dispatchTransition] = React.useReducer(modalTransitionReducer, {\n activeModal: safeActiveModal,\n enteringModal: null,\n exitingModal: null,\n history: safeActiveModal ? [safeActiveModal] : [],\n isBack: false,\n });\n\n // Map props to state, render activeModal for init\n useIsomorphicLayoutEffect(() => {\n // ignore non-existent activeModal\n if (process.env.NODE_ENV === 'development' && isMissing) {\n warn(`Переход невозможен - модальное окно (страница) ${activeModal} не существует`, 'error');\n }\n dispatchTransition({ type: 'setActive', id: safeActiveModal ?? null });\n }, [activeModal]);\n\n // Init activeModal & set enteringModal\n useIsomorphicLayoutEffect(() => {\n if (transitionState.activeModal) {\n initModal(modalsState[transitionState.activeModal]);\n dispatchTransition({ type: 'inited', id: transitionState.activeModal });\n }\n }, [transitionState.activeModal]);\n\n const isCard = (id: string | null | undefined) =>\n id != null && modalsState[id]?.type === ModalType.CARD;\n const onEntered = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onOpened)) {\n modalState.onOpened();\n } else if (isFunction(onOpened)) {\n onOpened(id);\n }\n }\n\n dispatchTransition({ type: 'entered', id });\n },\n [modalsState, onOpened],\n );\n const onExited = React.useCallback(\n (id: string | null) => {\n if (id) {\n const modalState = modalsState[id];\n\n if (isFunction(modalState.onClosed)) {\n modalState.onClosed();\n } else if (isFunction(onClosed)) {\n onClosed(id);\n }\n }\n\n dispatchTransition({ type: 'exited', id });\n },\n [modalsState, onClosed],\n );\n const delayEnter = Boolean(\n transitionState.exitingModal && (isCard(activeModal) || isCard(transitionState.exitingModal)),\n );\n const getModalState = React.useCallback(\n (id: string | undefined | null) => (id ? modalsState[id] : undefined),\n [modalsState],\n );\n\n function onEnter() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onOpen)) {\n modalState.onOpen();\n } else if (isFunction(onOpen) && modalState.id) {\n onOpen(modalState.id);\n }\n }\n }\n\n function onExit() {\n const modalState = transitionState.activeModal && modalsState[transitionState.activeModal];\n if (modalState) {\n if (isFunction(modalState.onClose)) {\n modalState.onClose();\n } else if (isFunction(onClose) && modalState.id) {\n onClose(modalState.id);\n }\n }\n }\n\n return {\n onEnter,\n onEntered,\n onExit,\n onExited,\n ...transitionState,\n delayEnter,\n getModalState,\n };\n}\n\ntype WithModalManager<Props extends ModalTransitionProps> = HasChildren &\n Omit<Props, keyof ModalTransitionProps> & {\n activeModal?: string | null;\n };\n\nexport function withModalManager(initModal: (a: ModalsStateEntry) => void = noop) {\n return function <Props extends ModalTransitionProps>(\n Wrapped: React.ComponentType<Props>,\n ): React.ComponentType<WithModalManager<Props>> {\n return function WithModalManager(props) {\n const transitionManager = useModalManager(\n props.activeModal,\n props.children,\n (props as any).onOpen,\n (props as any).onOpened,\n (props as any).onClose,\n (props as any).onClosed,\n initModal,\n );\n return <Wrapped {...(props as any)} {...transitionManager} />;\n };\n };\n}\n"],"names":["React","isFunction","noop","getNavId","useIsomorphicLayoutEffect","warnOnce","ModalType","getModals","children","Children","toArray","warn","modalTransitionReducer","state","action","type","id","activeModal","nextModal","prevModal","exitingModal","history","isBack","Boolean","includes","splice","indexOf","push","enteringModal","useModalManager","onOpen","onOpened","onClose","onClosed","initModal","modalsState","useRef","current","forEach","Modal","modalProps","props","undefined","dynamicContentHeight","settlingHeight","isMissing","safeActiveModal","transitionState","dispatchTransition","useReducer","process","env","NODE_ENV","isCard","CARD","onEntered","useCallback","modalState","onExited","delayEnter","getModalState","onEnter","onExit","withModalManager","Wrapped","WithModalManager","transitionManager"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,QAAQ,QAAQ,qBAAqB;AAC9C,SAASC,yBAAyB,QAAQ,sCAAsC;AAChF,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAAwCC,SAAS,QAAQ,UAAU;AAmBnE,SAASC,UAAUC,QAA6C,EAAE;IAChE,OAAOR,MAAMS,QAAQ,CAACC,OAAO,CAACF;AAChC;AAEA,MAAMG,OAAON,SAAS;AAEtB,OAAO,SAASO,uBACdC,KAA2B,EAC3BC,MAGC,EACqB;IACtB,IAAIA,OAAOC,IAAI,KAAK,eAAeD,OAAOE,EAAE,KAAKH,MAAMI,WAAW,EAAE;QAClE,MAAMC,YAAYJ,OAAOE,EAAE;QAC3B,qDAAqD;QACrD,MAAMG,YAAYN,MAAMO,YAAY,IAAIP,MAAMI,WAAW;QACzD,IAAII,UAAUR,MAAMQ,OAAO,GAAG;eAAIR,MAAMQ,OAAO;SAAC,GAAG,EAAE;QACrD,MAAMC,SAASC,QAAQL,aAAaG,QAAQG,QAAQ,CAACN;QAErD,IAAIA,cAAc,IAAI,EAAE;YACtBG,UAAU,EAAE;QACd,OAAO,IAAIC,QAAQ;YACjBD,UAAUA,QAAQI,MAAM,CAAC,GAAGJ,QAAQK,OAAO,CAACR,aAAa;QAC3D,OAAO;YACLG,QAAQM,IAAI,CAACT;QACf,CAAC;QAED,OAAO;YACLD,aAAaC;YACb,mBAAmB;YACnBU,eAAe,IAAI;YACnBR,cAAcD;YACdE;YACAC;QACF;IACF,CAAC;IACD,IAAIR,OAAOC,IAAI,KAAK,aAAaD,OAAOE,EAAE,KAAKH,MAAMe,aAAa,EAAE;QAClE,OAAO;YAAE,GAAGf,KAAK;YAAEe,eAAe,IAAI;QAAC;IACzC,CAAC;IACD,IAAId,OAAOC,IAAI,KAAK,YAAYD,OAAOE,EAAE,KAAKH,MAAMO,YAAY,EAAE;QAChE,OAAO;YAAE,GAAGP,KAAK;YAAEO,cAAc,IAAI;QAAC;IACxC,CAAC;IACD,IAAIN,OAAOC,IAAI,KAAK,YAAYD,OAAOE,EAAE,KAAKH,MAAMI,WAAW,EAAE;QAC/D,OAAO;YAAE,GAAGJ,KAAK;YAAEe,eAAed,OAAOE,EAAE;QAAC;IAC9C,CAAC;IACD,OAAOH;AACT,CAAC;AAED;;;;;;;;;;;CAWC,GACD,OAAO,SAASgB,gBACdZ,WAAsC,EACtCT,QAA6C,EAC7CsB,SAA+B5B,IAAI,EACnC6B,WAAiC7B,IAAI,EACrC8B,UAAgC9B,IAAI,EACpC+B,WAAiC/B,IAAI,EACrCgC,YAA+ChC,IAAI,EAC7B;IACtB,MAAMiC,cAAcnC,MAAMoC,MAAM,CAAc,CAAC,GAAGC,OAAO;IACzD9B,UAAUC,UAAU8B,OAAO,CAAC,CAACC,QAAU;QACrC,MAAMC,aAAaD,MAAME,KAAK;QAC9B,MAAMzB,KAAKb,SAASqC,YAAY7B;QAChC,MAAME,QAA0B,AAACG,OAAO0B,aAAaP,WAAW,CAACnB,GAAG,IAAK;YACvEA,IAAIA,MAAM,IAAI;QAChB;QAEAH,MAAMiB,MAAM,GAAGS,MAAME,KAAK,CAACX,MAAM;QACjCjB,MAAMkB,QAAQ,GAAGQ,MAAME,KAAK,CAACV,QAAQ;QACrClB,MAAMmB,OAAO,GAAGO,MAAME,KAAK,CAACT,OAAO;QACnCnB,MAAMoB,QAAQ,GAAGM,MAAME,KAAK,CAACR,QAAQ;QACrCpB,MAAM8B,oBAAoB,GAAG,CAAC,CAACH,WAAWG,oBAAoB;QAC9D,kBAAkB;QAClB,IAAI,OAAOH,WAAWI,cAAc,KAAK,UAAU;YACjD/B,MAAM+B,cAAc,GAAGJ,WAAWI,cAAc;QAClD,CAAC;QAED,IAAI/B,MAAMG,EAAE,KAAK,IAAI,EAAE;YACrBmB,WAAW,CAACtB,MAAMG,EAAE,CAAC,GAAGH;QAC1B,CAAC;IACH;IAEA,MAAMgC,YAAY5B,eAAe,CAACkB,WAAW,CAAClB,YAAY;IAC1D,MAAM6B,kBAAkBD,YAAY,IAAI,GAAG5B,WAAW;IACtD,MAAM,CAAC8B,iBAAiBC,mBAAmB,GAAGhD,MAAMiD,UAAU,CAACrC,wBAAwB;QACrFK,aAAa6B;QACblB,eAAe,IAAI;QACnBR,cAAc,IAAI;QAClBC,SAASyB,kBAAkB;YAACA;SAAgB,GAAG,EAAE;QACjDxB,QAAQ,KAAK;IACf;IAEA,kDAAkD;IAClDlB,0BAA0B,IAAM;QAC9B,kCAAkC;QAClC,IAAI8C,QAAQC,GAAG,CAACC,QAAQ,KAAK,iBAAiBP,WAAW;YACvDlC,KAAK,CAAC,+CAA+C,EAAEM,YAAY,cAAc,CAAC,EAAE;QACtF,CAAC;QACD+B,mBAAmB;YAAEjC,MAAM;YAAaC,IAAI8B,mBAAmB,IAAI;QAAC;IACtE,GAAG;QAAC7B;KAAY;IAEhB,uCAAuC;IACvCb,0BAA0B,IAAM;QAC9B,IAAI2C,gBAAgB9B,WAAW,EAAE;YAC/BiB,UAAUC,WAAW,CAACY,gBAAgB9B,WAAW,CAAC;YAClD+B,mBAAmB;gBAAEjC,MAAM;gBAAUC,IAAI+B,gBAAgB9B,WAAW;YAAC;QACvE,CAAC;IACH,GAAG;QAAC8B,gBAAgB9B,WAAW;KAAC;IAEhC,MAAMoC,SAAS,CAACrC,KACdA,MAAM,IAAI,IAAImB,WAAW,CAACnB,GAAG,EAAED,SAAST,UAAUgD,IAAI;IACxD,MAAMC,YAAYvD,MAAMwD,WAAW,CACjC,CAACxC,KAAsB;QACrB,IAAIA,IAAI;YACN,MAAMyC,aAAatB,WAAW,CAACnB,GAAG;YAElC,IAAIf,WAAWwD,WAAW1B,QAAQ,GAAG;gBACnC0B,WAAW1B,QAAQ;YACrB,OAAO,IAAI9B,WAAW8B,WAAW;gBAC/BA,SAASf;YACX,CAAC;QACH,CAAC;QAEDgC,mBAAmB;YAAEjC,MAAM;YAAWC;QAAG;IAC3C,GACA;QAACmB;QAAaJ;KAAS;IAEzB,MAAM2B,WAAW1D,MAAMwD,WAAW,CAChC,CAACxC,KAAsB;QACrB,IAAIA,IAAI;YACN,MAAMyC,aAAatB,WAAW,CAACnB,GAAG;YAElC,IAAIf,WAAWwD,WAAWxB,QAAQ,GAAG;gBACnCwB,WAAWxB,QAAQ;YACrB,OAAO,IAAIhC,WAAWgC,WAAW;gBAC/BA,SAASjB;YACX,CAAC;QACH,CAAC;QAEDgC,mBAAmB;YAAEjC,MAAM;YAAUC;QAAG;IAC1C,GACA;QAACmB;QAAaF;KAAS;IAEzB,MAAM0B,aAAapC,QACjBwB,gBAAgB3B,YAAY,IAAKiC,CAAAA,OAAOpC,gBAAgBoC,OAAON,gBAAgB3B,YAAY,CAAA;IAE7F,MAAMwC,gBAAgB5D,MAAMwD,WAAW,CACrC,CAACxC,KAAmCA,KAAKmB,WAAW,CAACnB,GAAG,GAAG0B,SAAS,EACpE;QAACP;KAAY;IAGf,SAAS0B,UAAU;QACjB,MAAMJ,aAAaV,gBAAgB9B,WAAW,IAAIkB,WAAW,CAACY,gBAAgB9B,WAAW,CAAC;QAC1F,IAAIwC,YAAY;YACd,IAAIxD,WAAWwD,WAAW3B,MAAM,GAAG;gBACjC2B,WAAW3B,MAAM;YACnB,OAAO,IAAI7B,WAAW6B,WAAW2B,WAAWzC,EAAE,EAAE;gBAC9Cc,OAAO2B,WAAWzC,EAAE;YACtB,CAAC;QACH,CAAC;IACH;IAEA,SAAS8C,SAAS;QAChB,MAAML,aAAaV,gBAAgB9B,WAAW,IAAIkB,WAAW,CAACY,gBAAgB9B,WAAW,CAAC;QAC1F,IAAIwC,YAAY;YACd,IAAIxD,WAAWwD,WAAWzB,OAAO,GAAG;gBAClCyB,WAAWzB,OAAO;YACpB,OAAO,IAAI/B,WAAW+B,YAAYyB,WAAWzC,EAAE,EAAE;gBAC/CgB,QAAQyB,WAAWzC,EAAE;YACvB,CAAC;QACH,CAAC;IACH;IAEA,OAAO;QACL6C;QACAN;QACAO;QACAJ;QACA,GAAGX,eAAe;QAClBY;QACAC;IACF;AACF,CAAC;AAOD,OAAO,SAASG,iBAAiB7B,YAA2ChC,IAAI,EAAE;IAChF,OAAO,SACL8D,OAAmC,EACW;QAC9C,OAAO,SAASC,iBAAiBxB,KAAK,EAAE;YACtC,MAAMyB,oBAAoBrC,gBACxBY,MAAMxB,WAAW,EACjBwB,MAAMjC,QAAQ,EACd,AAACiC,MAAcX,MAAM,EACrB,AAACW,MAAcV,QAAQ,EACvB,AAACU,MAAcT,OAAO,EACtB,AAACS,MAAcR,QAAQ,EACvBC;YAEF,qBAAO,oBAAC8B;gBAAS,GAAIvB,KAAK;gBAAW,GAAGyB,iBAAiB;;QAC3D;IACF;AACF,CAAC"}
|
|
@@ -2,10 +2,14 @@ import * as React from 'react';
|
|
|
2
2
|
import { HasAlign, HasRef, HasRootRef } from '../../types';
|
|
3
3
|
import { FormFieldProps } from '../FormField/FormField';
|
|
4
4
|
import type { SelectType } from '../Select/Select';
|
|
5
|
-
export interface NativeSelectProps extends React.SelectHTMLAttributes<HTMLSelectElement>, HasRef<HTMLSelectElement>, HasRootRef<HTMLLabelElement>, HasAlign, Pick<FormFieldProps, 'status'> {
|
|
5
|
+
export interface NativeSelectProps extends React.SelectHTMLAttributes<HTMLSelectElement>, HasRef<HTMLSelectElement>, HasRootRef<HTMLLabelElement>, HasAlign, Pick<FormFieldProps, 'before' | 'status'> {
|
|
6
6
|
placeholder?: string;
|
|
7
7
|
multiline?: boolean;
|
|
8
8
|
selectType?: SelectType;
|
|
9
|
+
/**
|
|
10
|
+
* Иконка раскрывающегося списка
|
|
11
|
+
*/
|
|
12
|
+
icon?: React.ReactNode;
|
|
9
13
|
}
|
|
10
14
|
export interface SelectState {
|
|
11
15
|
value?: React.SelectHTMLAttributes<HTMLSelectElement>['value'];
|
|
@@ -15,5 +19,5 @@ export interface SelectState {
|
|
|
15
19
|
/**
|
|
16
20
|
* @see https://vkcom.github.io/VKUI/#/NativeSelect
|
|
17
21
|
*/
|
|
18
|
-
declare const NativeSelect: ({ style, defaultValue, align, placeholder, children, className, getRef, getRootRef, disabled, multiline, selectType, status, onChange: onChangeProp, value: valueProp, ...restProps }: NativeSelectProps) => JSX.Element;
|
|
22
|
+
declare const NativeSelect: ({ style, defaultValue, align, placeholder, children, className, getRef, getRootRef, disabled, multiline, selectType, status, icon, before, onChange: onChangeProp, value: valueProp, ...restProps }: NativeSelectProps) => JSX.Element;
|
|
19
23
|
export { NativeSelect };
|
|
@@ -15,7 +15,7 @@ const sizeYClassNames = {
|
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
17
|
* @see https://vkcom.github.io/VKUI/#/NativeSelect
|
|
18
|
-
*/ const NativeSelect = ({ style , defaultValue ='' , align , placeholder , children , className , getRef , getRootRef , disabled , multiline , selectType ='default' , status , onChange: onChangeProp , value: valueProp , ...restProps })=>{
|
|
18
|
+
*/ const NativeSelect = ({ style , defaultValue ='' , align , placeholder , children , className , getRef , getRootRef , disabled , multiline , selectType ='default' , status , icon =/*#__PURE__*/ React.createElement(DropdownIcon, null) , before , onChange: onChangeProp , value: valueProp , ...restProps })=>{
|
|
19
19
|
const [title, setTitle] = React.useState('');
|
|
20
20
|
const [empty, setEmpty] = React.useState(false);
|
|
21
21
|
const [value, onChange] = useEnsuredControl({
|
|
@@ -38,11 +38,12 @@ const sizeYClassNames = {
|
|
|
38
38
|
]);
|
|
39
39
|
return /*#__PURE__*/ React.createElement(FormField, {
|
|
40
40
|
Component: "label",
|
|
41
|
-
className: classNames(styles['Select'], 'vkuiInternalNativeSelect',
|
|
41
|
+
className: classNames(styles['Select'], 'vkuiInternalNativeSelect', before && styles['Select--hasBefore'], empty && styles['Select--empty'], multiline && styles['Select--multiline'], align === 'center' && styles['Select--align-center'], align === 'right' && styles['Select--align-right'], sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY], className),
|
|
42
42
|
style: style,
|
|
43
43
|
getRootRef: getRootRef,
|
|
44
44
|
disabled: disabled,
|
|
45
|
-
|
|
45
|
+
before: before,
|
|
46
|
+
after: icon,
|
|
46
47
|
status: status
|
|
47
48
|
}, /*#__PURE__*/ React.createElement("select", {
|
|
48
49
|
...restProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport styles from '../Select/Select.module.css';\n\nconst sizeYClassNames = {\n none: styles['Select--sizeY-none'],\n [SizeType.COMPACT]: styles['Select--sizeY-compact'],\n};\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n Pick<FormFieldProps, 'status'> {\n placeholder?: string;\n multiline?: boolean;\n selectType?: SelectType;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>['value'];\n title?: string;\n notSelected?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/NativeSelect\n */\nconst NativeSelect = ({\n style,\n defaultValue = '',\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n multiline,\n selectType = 'default',\n status,\n onChange: onChangeProp,\n value: valueProp,\n ...restProps\n}: NativeSelectProps) => {\n const [title, setTitle] = React.useState('');\n const [empty, setEmpty] = React.useState(false);\n const [value, onChange] = useEnsuredControl({\n defaultValue,\n disabled,\n onChange: onChangeProp,\n value: valueProp,\n });\n const selectRef = useExternRef(getRef);\n const { sizeY = 'none' } = useAdaptivity();\n\n useIsomorphicLayoutEffect(() => {\n const selectedOption = selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setEmpty(selectedOption.value === '' && placeholder != null);\n }\n }, [value, children]);\n\n return (\n <FormField\n Component=\"label\"\n className={classNames(\n styles['Select'],\n 'vkuiInternalNativeSelect',\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/NativeSelect/NativeSelect.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useEnsuredControl } from '../../hooks/useEnsuredControl';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasAlign, HasRef, HasRootRef } from '../../types';\nimport { DropdownIcon } from '../DropdownIcon/DropdownIcon';\nimport { FormField, FormFieldProps } from '../FormField/FormField';\nimport type { SelectType } from '../Select/Select';\nimport { SelectTypography } from '../SelectTypography/SelectTypography';\nimport styles from '../Select/Select.module.css';\n\nconst sizeYClassNames = {\n none: styles['Select--sizeY-none'],\n [SizeType.COMPACT]: styles['Select--sizeY-compact'],\n};\n\nexport interface NativeSelectProps\n extends React.SelectHTMLAttributes<HTMLSelectElement>,\n HasRef<HTMLSelectElement>,\n HasRootRef<HTMLLabelElement>,\n HasAlign,\n Pick<FormFieldProps, 'before' | 'status'> {\n placeholder?: string;\n multiline?: boolean;\n selectType?: SelectType;\n /**\n * Иконка раскрывающегося списка\n */\n icon?: React.ReactNode;\n}\n\nexport interface SelectState {\n value?: React.SelectHTMLAttributes<HTMLSelectElement>['value'];\n title?: string;\n notSelected?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/NativeSelect\n */\nconst NativeSelect = ({\n style,\n defaultValue = '',\n align,\n placeholder,\n children,\n className,\n getRef,\n getRootRef,\n disabled,\n multiline,\n selectType = 'default',\n status,\n icon = <DropdownIcon />,\n before,\n onChange: onChangeProp,\n value: valueProp,\n ...restProps\n}: NativeSelectProps) => {\n const [title, setTitle] = React.useState('');\n const [empty, setEmpty] = React.useState(false);\n const [value, onChange] = useEnsuredControl({\n defaultValue,\n disabled,\n onChange: onChangeProp,\n value: valueProp,\n });\n const selectRef = useExternRef(getRef);\n const { sizeY = 'none' } = useAdaptivity();\n\n useIsomorphicLayoutEffect(() => {\n const selectedOption = selectRef.current?.options[selectRef.current.selectedIndex];\n if (selectedOption) {\n setTitle(selectedOption.text);\n setEmpty(selectedOption.value === '' && placeholder != null);\n }\n }, [value, children]);\n\n return (\n <FormField\n Component=\"label\"\n className={classNames(\n styles['Select'],\n 'vkuiInternalNativeSelect',\n before && styles['Select--hasBefore'],\n empty && styles['Select--empty'],\n multiline && styles['Select--multiline'],\n align === 'center' && styles['Select--align-center'],\n align === 'right' && styles['Select--align-right'],\n sizeY !== SizeType.REGULAR && sizeYClassNames[sizeY],\n className,\n )}\n style={style}\n getRootRef={getRootRef}\n disabled={disabled}\n before={before}\n after={icon}\n status={status}\n >\n <select\n {...restProps}\n disabled={disabled}\n className={styles['Select__el']}\n onChange={onChange}\n value={value}\n ref={selectRef}\n >\n {placeholder && <option value=\"\">{placeholder}</option>}\n {children}\n </select>\n <div className={styles['Select__container']}>\n <SelectTypography className={styles['Select__title']} selectType={selectType}>\n {title}\n </SelectTypography>\n </div>\n </FormField>\n );\n};\n\nexport { NativeSelect };\n"],"names":["React","classNames","useAdaptivity","useEnsuredControl","useExternRef","SizeType","useIsomorphicLayoutEffect","DropdownIcon","FormField","SelectTypography","styles","sizeYClassNames","none","COMPACT","NativeSelect","style","defaultValue","align","placeholder","children","className","getRef","getRootRef","disabled","multiline","selectType","status","icon","before","onChange","onChangeProp","value","valueProp","restProps","title","setTitle","useState","empty","setEmpty","selectRef","sizeY","selectedOption","current","options","selectedIndex","text","Component","REGULAR","after","select","ref","option","div"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,yBAAyB,QAAQ,sCAAsC;AAEhF,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,SAAS,QAAwB,yBAAyB;AAEnE,SAASC,gBAAgB,QAAQ,uCAAuC;AACxE,OAAOC,YAAY,8BAA8B;AAEjD,MAAMC,kBAAkB;IACtBC,MAAMF,MAAM,CAAC,qBAAqB;IAClC,CAACL,SAASQ,OAAO,CAAC,EAAEH,MAAM,CAAC,wBAAwB;AACrD;AAuBA;;CAEC,GACD,MAAMI,eAAe,CAAC,EACpBC,MAAK,EACLC,cAAe,GAAE,EACjBC,MAAK,EACLC,YAAW,EACXC,SAAQ,EACRC,UAAS,EACTC,OAAM,EACNC,WAAU,EACVC,SAAQ,EACRC,UAAS,EACTC,YAAa,UAAS,EACtBC,OAAM,EACNC,oBAAO,oBAACpB,oBAAe,EACvBqB,OAAM,EACNC,UAAUC,aAAY,EACtBC,OAAOC,UAAS,EAChB,GAAGC,WACe,GAAK;IACvB,MAAM,CAACC,OAAOC,SAAS,GAAGnC,MAAMoC,QAAQ,CAAC;IACzC,MAAM,CAACC,OAAOC,SAAS,GAAGtC,MAAMoC,QAAQ,CAAC,KAAK;IAC9C,MAAM,CAACL,OAAOF,SAAS,GAAG1B,kBAAkB;QAC1Ca;QACAO;QACAM,UAAUC;QACVC,OAAOC;IACT;IACA,MAAMO,YAAYnC,aAAaiB;IAC/B,MAAM,EAAEmB,OAAQ,OAAM,EAAE,GAAGtC;IAE3BI,0BAA0B,IAAM;QAC9B,MAAMmC,iBAAiBF,UAAUG,OAAO,EAAEC,OAAO,CAACJ,UAAUG,OAAO,CAACE,aAAa,CAAC;QAClF,IAAIH,gBAAgB;YAClBN,SAASM,eAAeI,IAAI;YAC5BP,SAASG,eAAeV,KAAK,KAAK,MAAMb,eAAe,IAAI;QAC7D,CAAC;IACH,GAAG;QAACa;QAAOZ;KAAS;IAEpB,qBACE,oBAACX;QACCsC,WAAU;QACV1B,WAAWnB,WACTS,MAAM,CAAC,SAAS,EAChB,4BACAkB,UAAUlB,MAAM,CAAC,oBAAoB,EACrC2B,SAAS3B,MAAM,CAAC,gBAAgB,EAChCc,aAAad,MAAM,CAAC,oBAAoB,EACxCO,UAAU,YAAYP,MAAM,CAAC,uBAAuB,EACpDO,UAAU,WAAWP,MAAM,CAAC,sBAAsB,EAClD8B,UAAUnC,SAAS0C,OAAO,IAAIpC,eAAe,CAAC6B,MAAM,EACpDpB;QAEFL,OAAOA;QACPO,YAAYA;QACZC,UAAUA;QACVK,QAAQA;QACRoB,OAAOrB;QACPD,QAAQA;qBAER,oBAACuB;QACE,GAAGhB,SAAS;QACbV,UAAUA;QACVH,WAAWV,MAAM,CAAC,aAAa;QAC/BmB,UAAUA;QACVE,OAAOA;QACPmB,KAAKX;OAEJrB,6BAAe,oBAACiC;QAAOpB,OAAM;OAAIb,cACjCC,yBAEH,oBAACiC;QAAIhC,WAAWV,MAAM,CAAC,oBAAoB;qBACzC,oBAACD;QAAiBW,WAAWV,MAAM,CAAC,gBAAgB;QAAEe,YAAYA;OAC/DS;AAKX;AAEA,SAASpB,YAAY,GAAG"}
|
|
@@ -1 +1,83 @@
|
|
|
1
|
-
.
|
|
1
|
+
.Pagination {
|
|
2
|
+
}
|
|
3
|
+
|
|
4
|
+
.Pagination__list {
|
|
5
|
+
display: flex;
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
list-style-type: none;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.Pagination__prevButtonContainer {
|
|
12
|
+
margin-right: 8px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.Pagination__nextButtonContainer {
|
|
16
|
+
margin-left: 8px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* Page styles */
|
|
20
|
+
|
|
21
|
+
.Pagination__page {
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
padding-right: 8px;
|
|
24
|
+
padding-left: 8px;
|
|
25
|
+
width: 100%;
|
|
26
|
+
min-width: 40px;
|
|
27
|
+
border-radius: var(--vkui--size_border_radius--regular);
|
|
28
|
+
text-align: center;
|
|
29
|
+
color: var(--vkui--color_text_secondary);
|
|
30
|
+
-webkit-user-select: none;
|
|
31
|
+
-moz-user-select: none;
|
|
32
|
+
-ms-user-select: none;
|
|
33
|
+
user-select: none;
|
|
34
|
+
font-family: var(--vkui--font_family_base);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.Pagination__page--state-hover {
|
|
38
|
+
background-color: var(--vkui--color_transparent--hover);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.Pagination__page--state-active,
|
|
42
|
+
.Pagination__page--current {
|
|
43
|
+
color: var(--vkui--color_text_primary);
|
|
44
|
+
background-color: var(--vkui--color_transparent--active);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.Pagination__page--disabled {
|
|
48
|
+
opacity: var(--vkui--opacity_disable);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.Pagination__page--sizeY-compact {
|
|
52
|
+
font-size: var(--vkui--font_text--font_size--compact);
|
|
53
|
+
line-height: var(--vkui--size_button_large_height--compact);
|
|
54
|
+
height: var(--vkui--size_button_large_height--compact);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@media (pointer: fine) and (min-width: 768px),(max-height: 414.9px) {
|
|
58
|
+
.Pagination__page--sizeY-none {
|
|
59
|
+
font-size: var(--vkui--font_text--font_size--compact);
|
|
60
|
+
line-height: var(--vkui--size_button_large_height--compact);
|
|
61
|
+
height: var(--vkui--size_button_large_height--compact);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.Pagination__page--sizeY-regular {
|
|
66
|
+
font-size: var(--vkui--font_text--font_size--regular);
|
|
67
|
+
line-height: var(--vkui--size_button_large_height--regular);
|
|
68
|
+
height: var(--vkui--size_button_large_height--regular);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@media (pointer: coarse) and (min-height: 415px),(pointer: none) and (min-height: 415px),(max-width: 767.9px) and (min-height: 415px) {
|
|
72
|
+
.Pagination__page--sizeY-none {
|
|
73
|
+
font-size: var(--vkui--font_text--font_size--regular);
|
|
74
|
+
line-height: var(--vkui--size_button_large_height--regular);
|
|
75
|
+
height: var(--vkui--size_button_large_height--regular);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.Pagination__page--type-ellipsis {
|
|
80
|
+
min-width: 16px;
|
|
81
|
+
padding-right: 0;
|
|
82
|
+
padding-left: 0;
|
|
83
|
+
}
|
|
@@ -20,10 +20,10 @@ const sizeXClassNames = {
|
|
|
20
20
|
return /*#__PURE__*/ React.createElement("div", {
|
|
21
21
|
...restProps,
|
|
22
22
|
ref: getRootRef,
|
|
23
|
-
className: classNames(styles['Panel'], sizeXClassNames[sizeX], centered &&
|
|
23
|
+
className: classNames(styles['Panel'], sizeXClassNames[sizeX], centered && 'vkuiInternalPanel--centered', className)
|
|
24
24
|
}, /*#__PURE__*/ React.createElement(Touch, {
|
|
25
25
|
Component: TooltipContainer,
|
|
26
|
-
className: styles['Panel__in']
|
|
26
|
+
className: classNames(styles['Panel__in'], 'vkuiInternalPanel__in')
|
|
27
27
|
}, platform === Platform.IOS && /*#__PURE__*/ React.createElement("div", {
|
|
28
28
|
className: "vkuiInternalPanel__fade"
|
|
29
29
|
}), /*#__PURE__*/ React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Panel/Panel.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { Touch } from '../Touch/Touch';\nimport styles from './Panel.module.css';\n\nconst sizeXClassNames = {\n none: styles['Panel--sizeX-none'],\n [SizeType.COMPACT]: styles['Panel--sizeX-compact'],\n [SizeType.REGULAR]: styles['Panel--sizeX-regular'],\n};\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n NavIdProps {\n centered?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Panel\n */\nexport const Panel = ({\n centered = false,\n children,\n getRootRef,\n nav,\n className,\n ...restProps\n}: PanelProps) => {\n const platform = usePlatform();\n const { sizeX = 'none' } = useAdaptivity();\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Panel'],\n sizeXClassNames[sizeX],\n centered &&
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Panel/Panel.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { NavIdProps } from '../../lib/getNavId';\nimport { Platform } from '../../lib/platform';\nimport { HasRootRef } from '../../types';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { Touch } from '../Touch/Touch';\nimport styles from './Panel.module.css';\n\nconst sizeXClassNames = {\n none: styles['Panel--sizeX-none'],\n [SizeType.COMPACT]: styles['Panel--sizeX-compact'],\n [SizeType.REGULAR]: styles['Panel--sizeX-regular'],\n};\n\nexport interface PanelProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n NavIdProps {\n centered?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Panel\n */\nexport const Panel = ({\n centered = false,\n children,\n getRootRef,\n nav,\n className,\n ...restProps\n}: PanelProps) => {\n const platform = usePlatform();\n const { sizeX = 'none' } = useAdaptivity();\n\n return (\n <div\n {...restProps}\n ref={getRootRef}\n className={classNames(\n styles['Panel'],\n sizeXClassNames[sizeX],\n centered && 'vkuiInternalPanel--centered',\n className,\n )}\n >\n <Touch\n Component={TooltipContainer}\n className={classNames(styles['Panel__in'], 'vkuiInternalPanel__in')}\n >\n {platform === Platform.IOS && <div className=\"vkuiInternalPanel__fade\" />}\n <div className={styles['Panel__in-before']} />\n {centered ? <div className={styles['Panel__centered']}>{children}</div> : children}\n <div className={styles['Panel__in-after']} />\n </Touch>\n </div>\n );\n};\n"],"names":["React","classNames","useAdaptivity","usePlatform","SizeType","Platform","TooltipContainer","Touch","styles","sizeXClassNames","none","COMPACT","REGULAR","Panel","centered","children","getRootRef","nav","className","restProps","platform","sizeX","div","ref","Component","IOS"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,QAAQ,QAAQ,uBAAuB;AAEhD,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,KAAK,QAAQ,iBAAiB;AACvC,OAAOC,YAAY,qBAAqB;AAExC,MAAMC,kBAAkB;IACtBC,MAAMF,MAAM,CAAC,oBAAoB;IACjC,CAACJ,SAASO,OAAO,CAAC,EAAEH,MAAM,CAAC,uBAAuB;IAClD,CAACJ,SAASQ,OAAO,CAAC,EAAEJ,MAAM,CAAC,uBAAuB;AACpD;AASA;;CAEC,GACD,OAAO,MAAMK,QAAQ,CAAC,EACpBC,UAAW,KAAK,CAAA,EAChBC,SAAQ,EACRC,WAAU,EACVC,IAAG,EACHC,UAAS,EACT,GAAGC,WACQ,GAAK;IAChB,MAAMC,WAAWjB;IACjB,MAAM,EAAEkB,OAAQ,OAAM,EAAE,GAAGnB;IAE3B,qBACE,oBAACoB;QACE,GAAGH,SAAS;QACbI,KAAKP;QACLE,WAAWjB,WACTO,MAAM,CAAC,QAAQ,EACfC,eAAe,CAACY,MAAM,EACtBP,YAAY,+BACZI;qBAGF,oBAACX;QACCiB,WAAWlB;QACXY,WAAWjB,WAAWO,MAAM,CAAC,YAAY,EAAE;OAE1CY,aAAaf,SAASoB,GAAG,kBAAI,oBAACH;QAAIJ,WAAU;sBAC7C,oBAACI;QAAIJ,WAAWV,MAAM,CAAC,mBAAmB;QACzCM,yBAAW,oBAACQ;QAAIJ,WAAWV,MAAM,CAAC,kBAAkB;OAAGO,YAAkBA,QAAQ,gBAClF,oBAACO;QAAIJ,WAAWV,MAAM,CAAC,kBAAkB;;AAIjD,EAAE"}
|
|
@@ -1 +1,177 @@
|
|
|
1
|
-
.
|
|
1
|
+
.Panel {
|
|
2
|
+
position: relative;
|
|
3
|
+
width: 100%;
|
|
4
|
+
height: 100%;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.Panel::before {
|
|
8
|
+
position: absolute;
|
|
9
|
+
width: 100%;
|
|
10
|
+
height: 100%;
|
|
11
|
+
left: 0;
|
|
12
|
+
top: 0;
|
|
13
|
+
content: '';
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.Panel__in {
|
|
17
|
+
position: relative;
|
|
18
|
+
box-sizing: border-box;
|
|
19
|
+
width: 100%;
|
|
20
|
+
min-height: 100%;
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.Panel__centered {
|
|
26
|
+
display: flex;
|
|
27
|
+
flex: 1 0;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
box-sizing: border-box;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.Panel__centered :global(.vkuiInternalPanelHeader--vis) + * {
|
|
35
|
+
margin-top: var(--vkui--size_panel_header_height--regular);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.Panel__centered :global(.vkuiInternalPanelHeader--ios):global(.vkuiInternalPanelHeader--vis) + * {
|
|
39
|
+
margin-top: var(--vkui--size_panel_header_height--regular);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.Panel--sizeX-compact .Panel__centered :global(.vkuiInternalPanelHeader--sep) + * {
|
|
43
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 5px);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@media (max-width: 767.9px) {
|
|
47
|
+
.Panel--sizeX-none .Panel__centered :global(.vkuiInternalPanelHeader--sep) + * {
|
|
48
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 5px);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.Panel--sizeX-compact
|
|
53
|
+
.Panel__centered
|
|
54
|
+
:global(.vkuiInternalPanelHeader--ios):global(.vkuiInternalPanelHeader--sep)
|
|
55
|
+
+ * {
|
|
56
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 5px);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@media (max-width: 767.9px) {
|
|
60
|
+
.Panel--sizeX-none
|
|
61
|
+
.Panel__centered
|
|
62
|
+
:global(.vkuiInternalPanelHeader--ios):global(.vkuiInternalPanelHeader--sep)
|
|
63
|
+
+ * {
|
|
64
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 5px);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.Panel--sizeX-compact
|
|
69
|
+
.Panel__centered
|
|
70
|
+
:global(.vkuiInternalPanelHeader--vkcom):global(.vkuiInternalPanelHeader--sep)
|
|
71
|
+
+ * {
|
|
72
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 5px);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@media (max-width: 767.9px) {
|
|
76
|
+
.Panel--sizeX-none
|
|
77
|
+
.Panel__centered
|
|
78
|
+
:global(.vkuiInternalPanelHeader--vkcom):global(.vkuiInternalPanelHeader--sep)
|
|
79
|
+
+ * {
|
|
80
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 5px);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.Panel--sizeX-regular .Panel__centered :global(.vkuiInternalPanelHeader--sep) + * {
|
|
85
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 16px);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@media (min-width: 768px) {
|
|
89
|
+
.Panel--sizeX-none .Panel__centered :global(.vkuiInternalPanelHeader--sep) + * {
|
|
90
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 16px);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.Panel--sizeX-regular
|
|
95
|
+
.Panel__centered
|
|
96
|
+
:global(.vkuiInternalPanelHeader--ios):global(.vkuiInternalPanelHeader--sep)
|
|
97
|
+
+ * {
|
|
98
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 16px);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@media (min-width: 768px) {
|
|
102
|
+
.Panel--sizeX-none
|
|
103
|
+
.Panel__centered
|
|
104
|
+
:global(.vkuiInternalPanelHeader--ios):global(.vkuiInternalPanelHeader--sep)
|
|
105
|
+
+ * {
|
|
106
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 16px);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.Panel--sizeX-regular
|
|
111
|
+
.Panel__centered
|
|
112
|
+
:global(.vkuiInternalPanelHeader--vkcom):global(.vkuiInternalPanelHeader--sep)
|
|
113
|
+
+ * {
|
|
114
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 16px);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
@media (min-width: 768px) {
|
|
118
|
+
.Panel--sizeX-none
|
|
119
|
+
.Panel__centered
|
|
120
|
+
:global(.vkuiInternalPanelHeader--vkcom):global(.vkuiInternalPanelHeader--sep)
|
|
121
|
+
+ * {
|
|
122
|
+
margin-top: calc(var(--vkui--size_panel_header_height--regular) + 16px);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* CMP:
|
|
128
|
+
* View
|
|
129
|
+
*/
|
|
130
|
+
|
|
131
|
+
:global(.vkuiInternalView--ios) .Panel__in {
|
|
132
|
+
padding-bottom: var(--vkui_internal--safe_area_inset_bottom);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
:global(.vkuiInternalView--ios) .Panel__in {
|
|
136
|
+
padding: 0 var(--vkui_internal--safe_area_inset_right)
|
|
137
|
+
var(--vkui_internal--safe_area_inset_bottom) var(--vkui_internal--safe_area_inset_left);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* CMP:
|
|
142
|
+
* Epic
|
|
143
|
+
*/
|
|
144
|
+
|
|
145
|
+
:global(.vkuiInternalEpic--hasTabbar) .Panel__in {
|
|
146
|
+
padding-bottom: var(--vkui_internal--tabbar_height);
|
|
147
|
+
padding-bottom: calc(
|
|
148
|
+
var(--vkui_internal--safe_area_inset_bottom) + var(--vkui_internal--tabbar_height)
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.Panel__in-before {
|
|
153
|
+
height: 1px;
|
|
154
|
+
margin-bottom: -1px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.Panel__in-after {
|
|
158
|
+
height: 1px;
|
|
159
|
+
margin-top: -1px;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.Panel .Panel__in,
|
|
163
|
+
.Panel::before {
|
|
164
|
+
background-color: var(--vkui--color_background_content);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.Panel.Panel--sizeX-regular .Panel__in,
|
|
168
|
+
.Panel.Panel--sizeX-regular::before {
|
|
169
|
+
background-color: transparent;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
@media (min-width: 768px) {
|
|
173
|
+
.Panel--sizeX-none .Panel__in,
|
|
174
|
+
.Panel--sizeX-none::before {
|
|
175
|
+
background-color: transparent;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { HasRef, HasRootRef } from '../../types';
|
|
2
|
+
import { HasComponent, HasRef, HasRootRef } from '../../types';
|
|
3
3
|
export interface PanelHeaderProps extends React.HTMLAttributes<HTMLDivElement>, HasRef<HTMLDivElement>, HasRootRef<HTMLDivElement> {
|
|
4
4
|
before?: React.ReactNode;
|
|
5
5
|
after?: React.ReactNode;
|
|
@@ -15,7 +15,16 @@ export interface PanelHeaderProps extends React.HTMLAttributes<HTMLDivElement>,
|
|
|
15
15
|
*/
|
|
16
16
|
fixed?: boolean;
|
|
17
17
|
}
|
|
18
|
+
interface PanelHeaderContentProps extends React.HTMLAttributes<HTMLElement>, HasComponent {
|
|
19
|
+
}
|
|
18
20
|
/**
|
|
19
21
|
* @see https://vkcom.github.io/VKUI/#/PanelHeader
|
|
20
22
|
*/
|
|
21
|
-
export declare const PanelHeader:
|
|
23
|
+
export declare const PanelHeader: {
|
|
24
|
+
({ before, children, after, separator, visor, transparent, shadow, getRef, getRootRef, fixed, className, ...restProps }: PanelHeaderProps): JSX.Element;
|
|
25
|
+
Content: {
|
|
26
|
+
({ children, Component, id }: PanelHeaderContentProps): JSX.Element;
|
|
27
|
+
displayName: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
@@ -15,13 +15,25 @@ import { Text } from '../Typography/Text/Text';
|
|
|
15
15
|
import styles from './PanelHeader.module.css';
|
|
16
16
|
const platformClassNames = {
|
|
17
17
|
ios: classNames(styles['PanelHeader--ios'], 'vkuiInternalPanelHeader--ios'),
|
|
18
|
-
android: styles['PanelHeader--android'],
|
|
18
|
+
android: classNames(styles['PanelHeader--android'], 'vkuiInternalPanelHeader--android'),
|
|
19
19
|
vkcom: classNames(styles['PanelHeader--vkcom'], 'vkuiInternalPanelHeader--vkcom')
|
|
20
20
|
};
|
|
21
21
|
const sizeXClassNames = {
|
|
22
22
|
none: styles['PanelHeader--sizeX-none'],
|
|
23
23
|
regular: styles['PanelHeader--sizeX-regular']
|
|
24
24
|
};
|
|
25
|
+
const PanelHeaderContent = ({ children , Component ='span' , id })=>{
|
|
26
|
+
const platform = usePlatform();
|
|
27
|
+
return platform === Platform.VKCOM ? /*#__PURE__*/ React.createElement(Text, {
|
|
28
|
+
weight: "2",
|
|
29
|
+
Component: Component,
|
|
30
|
+
id: id
|
|
31
|
+
}, children) : /*#__PURE__*/ React.createElement(Component, {
|
|
32
|
+
className: styles['PanelHeader__content-in'],
|
|
33
|
+
id: id
|
|
34
|
+
}, children);
|
|
35
|
+
};
|
|
36
|
+
PanelHeaderContent.displayName = 'PanelHeaderContent';
|
|
25
37
|
const PanelHeaderIn = ({ before , after , separator , children })=>{
|
|
26
38
|
const { webviewType } = useConfigProvider();
|
|
27
39
|
const { isInsideModal } = React.useContext(ModalRootContext);
|
|
@@ -33,11 +45,7 @@ const PanelHeaderIn = ({ before , after , separator , children })=>{
|
|
|
33
45
|
className: classNames(styles['PanelHeader__before'], 'vkuiInternalPanelHeader__before')
|
|
34
46
|
}, before), /*#__PURE__*/ React.createElement("div", {
|
|
35
47
|
className: styles['PanelHeader__content']
|
|
36
|
-
},
|
|
37
|
-
weight: "2"
|
|
38
|
-
}, children) : /*#__PURE__*/ React.createElement("span", {
|
|
39
|
-
className: styles['PanelHeader__content-in']
|
|
40
|
-
}, children)), /*#__PURE__*/ React.createElement("div", {
|
|
48
|
+
}, /*#__PURE__*/ React.isValidElement(children) && children.type.displayName === PanelHeaderContent.displayName ? children : /*#__PURE__*/ React.createElement(PanelHeaderContent, null, children)), /*#__PURE__*/ React.createElement("div", {
|
|
41
49
|
className: classNames(styles['PanelHeader__after'], 'vkuiInternalPanelHeader__after')
|
|
42
50
|
}, (webviewType === WebviewType.INTERNAL || isInsideModal) && after)), separator && platform === Platform.VKCOM && /*#__PURE__*/ React.createElement(Separator, {
|
|
43
51
|
className: styles['PanelHeader__separator'],
|
|
@@ -58,7 +66,7 @@ const PanelHeaderIn = ({ before , after , separator , children })=>{
|
|
|
58
66
|
className: classNames(styles['PanelHeader'], 'vkuiInternalPanelHeader', platformClassNames.hasOwnProperty(platform) ? platformClassNames[platform] : platformClassNames.android, transparent && styles['PanelHeader--trnsp'], shadow && styles['PanelHeader--shadow'], visor && classNames(styles['PanelHeader--vis'], 'vkuiInternalPanelHeader--vis'), separator && visor && classNames(styles['PanelHeader--sep'], 'vkuiInternalPanelHeader--sep'), webviewType === WebviewType.VKAPPS && !isInsideModal && styles['PanelHeader--vkapps'], !before && styles['PanelHeader--no-before'], !after && styles['PanelHeader--no-after'], isFixed && styles['PanelHeader--fixed'], sizeX !== SizeType.COMPACT && sizeXClassNames[sizeX], className),
|
|
59
67
|
ref: isFixed ? getRootRef : getRef
|
|
60
68
|
}, isFixed ? /*#__PURE__*/ React.createElement(FixedLayout, {
|
|
61
|
-
className: styles['PanelHeader__fixed'],
|
|
69
|
+
className: classNames(styles['PanelHeader__fixed'], 'vkuiInternalPanelHeader__fixed'),
|
|
62
70
|
vertical: "top",
|
|
63
71
|
getRootRef: getRef
|
|
64
72
|
}, /*#__PURE__*/ React.createElement(PanelHeaderIn, {
|
|
@@ -76,5 +84,6 @@ const PanelHeaderIn = ({ before , after , separator , children })=>{
|
|
|
76
84
|
size: 16
|
|
77
85
|
})));
|
|
78
86
|
};
|
|
87
|
+
PanelHeader.Content = PanelHeaderContent;
|
|
79
88
|
|
|
80
89
|
//# sourceMappingURL=PanelHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { HasRef, HasRootRef } from '../../types';\nimport { useConfigProvider, WebviewType } from '../ConfigProvider/ConfigProviderContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { ModalRootContext } from '../ModalRoot/ModalRootContext';\nimport { Separator } from '../Separator/Separator';\nimport { Spacing } from '../Spacing/Spacing';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './PanelHeader.module.css';\n\nconst platformClassNames = {\n ios: classNames(styles['PanelHeader--ios'], 'vkuiInternalPanelHeader--ios'),\n android: styles['PanelHeader--android'],\n vkcom: classNames(styles['PanelHeader--vkcom'], 'vkuiInternalPanelHeader--vkcom'),\n};\n\nconst sizeXClassNames = {\n none: styles['PanelHeader--sizeX-none'],\n regular: styles['PanelHeader--sizeX-regular'],\n};\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n before?: React.ReactNode;\n after?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn = ({ before, after, separator, children }: PanelHeaderProps) => {\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed className={styles['PanelHeader__in']}>\n <div\n className={classNames(styles['PanelHeader__before'], 'vkuiInternalPanelHeader__before')}\n >\n {before}\n </div>\n <div className={styles['PanelHeader__content']}>\n {platform === Platform.VKCOM ? (\n <Text weight=\"2\">{children}</Text>\n ) : (\n <span className={styles['PanelHeader__content-in']}>{children}</span>\n )}\n </div>\n <div className={classNames(styles['PanelHeader__after'], 'vkuiInternalPanelHeader__after')}>\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && after}\n </div>\n </TooltipContainer>\n {separator && platform === Platform.VKCOM && (\n <Separator className={styles['PanelHeader__separator']} wide />\n )}\n </React.Fragment>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = ({\n before,\n children,\n after,\n separator = true,\n visor = true,\n transparent = false,\n shadow,\n getRef,\n getRootRef,\n fixed,\n className,\n ...restProps\n}: PanelHeaderProps) => {\n const platform = usePlatform();\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const { sizeX = 'none' } = useAdaptivity();\n const { sizeX: adaptiveSizeX } = useAdaptivityConditionalRender();\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['PanelHeader'],\n 'vkuiInternalPanelHeader',\n platformClassNames.hasOwnProperty(platform)\n ? platformClassNames[platform]\n : platformClassNames.android,\n transparent && styles['PanelHeader--trnsp'],\n shadow && styles['PanelHeader--shadow'],\n visor && classNames(styles['PanelHeader--vis'], 'vkuiInternalPanelHeader--vis'),\n separator &&\n visor &&\n classNames(styles['PanelHeader--sep'], 'vkuiInternalPanelHeader--sep'),\n webviewType === WebviewType.VKAPPS && !isInsideModal && styles['PanelHeader--vkapps'],\n !before && styles['PanelHeader--no-before'],\n !after && styles['PanelHeader--no-after'],\n isFixed && styles['PanelHeader--fixed'],\n sizeX !== SizeType.COMPACT && sizeXClassNames[sizeX],\n className,\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout className={styles['PanelHeader__fixed']} vertical=\"top\" getRootRef={getRef}>\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n </FixedLayout>\n ) : (\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n )}\n {separator && visor && platform !== Platform.VKCOM && (\n <React.Fragment>\n {adaptiveSizeX.compact && <Separator className={adaptiveSizeX.compact.className} />}\n {adaptiveSizeX.regular && (\n <Spacing className={adaptiveSizeX.regular.className} size={16} />\n )}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"names":["React","classNames","useAdaptivity","useAdaptivityConditionalRender","usePlatform","SizeType","Platform","useConfigProvider","WebviewType","FixedLayout","ModalRootContext","Separator","Spacing","TooltipContainer","Text","styles","platformClassNames","ios","android","vkcom","sizeXClassNames","none","regular","PanelHeaderIn","before","after","separator","children","webviewType","isInsideModal","useContext","platform","Fragment","fixed","className","div","VKCOM","weight","span","INTERNAL","wide","PanelHeader","visor","transparent","shadow","getRef","getRootRef","restProps","sizeX","adaptiveSizeX","isFixed","undefined","hasOwnProperty","VKAPPS","COMPACT","ref","vertical","compact","size"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { HasComponent, HasRef, HasRootRef } from '../../types';\nimport { useConfigProvider, WebviewType } from '../ConfigProvider/ConfigProviderContext';\nimport { FixedLayout } from '../FixedLayout/FixedLayout';\nimport { ModalRootContext } from '../ModalRoot/ModalRootContext';\nimport { Separator } from '../Separator/Separator';\nimport { Spacing } from '../Spacing/Spacing';\nimport { TooltipContainer } from '../Tooltip/TooltipContainer';\nimport { Text } from '../Typography/Text/Text';\nimport styles from './PanelHeader.module.css';\n\nconst platformClassNames = {\n ios: classNames(styles['PanelHeader--ios'], 'vkuiInternalPanelHeader--ios'),\n android: classNames(styles['PanelHeader--android'], 'vkuiInternalPanelHeader--android'),\n vkcom: classNames(styles['PanelHeader--vkcom'], 'vkuiInternalPanelHeader--vkcom'),\n};\n\nconst sizeXClassNames = {\n none: styles['PanelHeader--sizeX-none'],\n regular: styles['PanelHeader--sizeX-regular'],\n};\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n before?: React.ReactNode;\n after?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\ninterface PanelHeaderContentProps extends React.HTMLAttributes<HTMLElement>, HasComponent {}\n\nconst PanelHeaderContent = ({ children, Component = 'span', id }: PanelHeaderContentProps) => {\n const platform = usePlatform();\n\n return platform === Platform.VKCOM ? (\n <Text weight=\"2\" Component={Component} id={id}>\n {children}\n </Text>\n ) : (\n <Component className={styles['PanelHeader__content-in']} id={id}>\n {children}\n </Component>\n );\n};\n\nPanelHeaderContent.displayName = 'PanelHeaderContent';\n\nconst PanelHeaderIn = ({ before, after, separator, children }: PanelHeaderProps) => {\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed className={styles['PanelHeader__in']}>\n <div\n className={classNames(styles['PanelHeader__before'], 'vkuiInternalPanelHeader__before')}\n >\n {before}\n </div>\n <div className={styles['PanelHeader__content']}>\n {/* Поддерживаем обратную совместимость для подкомпонентного подхода */}\n {React.isValidElement(children) &&\n (children as JSX.Element).type.displayName === PanelHeaderContent.displayName ? (\n children\n ) : (\n <PanelHeaderContent>{children}</PanelHeaderContent>\n )}\n </div>\n <div className={classNames(styles['PanelHeader__after'], 'vkuiInternalPanelHeader__after')}>\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && after}\n </div>\n </TooltipContainer>\n {separator && platform === Platform.VKCOM && (\n <Separator className={styles['PanelHeader__separator']} wide />\n )}\n </React.Fragment>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/PanelHeader\n */\nexport const PanelHeader = ({\n before,\n children,\n after,\n separator = true,\n visor = true,\n transparent = false,\n shadow,\n getRef,\n getRootRef,\n fixed,\n className,\n ...restProps\n}: PanelHeaderProps) => {\n const platform = usePlatform();\n const { webviewType } = useConfigProvider();\n const { isInsideModal } = React.useContext(ModalRootContext);\n const { sizeX = 'none' } = useAdaptivity();\n const { sizeX: adaptiveSizeX } = useAdaptivityConditionalRender();\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n return (\n <div\n {...restProps}\n className={classNames(\n styles['PanelHeader'],\n 'vkuiInternalPanelHeader',\n platformClassNames.hasOwnProperty(platform)\n ? platformClassNames[platform]\n : platformClassNames.android,\n transparent && styles['PanelHeader--trnsp'],\n shadow && styles['PanelHeader--shadow'],\n visor && classNames(styles['PanelHeader--vis'], 'vkuiInternalPanelHeader--vis'),\n separator &&\n visor &&\n classNames(styles['PanelHeader--sep'], 'vkuiInternalPanelHeader--sep'),\n webviewType === WebviewType.VKAPPS && !isInsideModal && styles['PanelHeader--vkapps'],\n !before && styles['PanelHeader--no-before'],\n !after && styles['PanelHeader--no-after'],\n isFixed && styles['PanelHeader--fixed'],\n sizeX !== SizeType.COMPACT && sizeXClassNames[sizeX],\n className,\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout\n className={classNames(styles['PanelHeader__fixed'], 'vkuiInternalPanelHeader__fixed')}\n vertical=\"top\"\n getRootRef={getRef}\n >\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n </FixedLayout>\n ) : (\n <PanelHeaderIn before={before} after={after} separator={separator}>\n {children}\n </PanelHeaderIn>\n )}\n {separator && visor && platform !== Platform.VKCOM && (\n <React.Fragment>\n {adaptiveSizeX.compact && <Separator className={adaptiveSizeX.compact.className} />}\n {adaptiveSizeX.regular && (\n <Spacing className={adaptiveSizeX.regular.className} size={16} />\n )}\n </React.Fragment>\n )}\n </div>\n );\n};\n\nPanelHeader.Content = PanelHeaderContent;\n"],"names":["React","classNames","useAdaptivity","useAdaptivityConditionalRender","usePlatform","SizeType","Platform","useConfigProvider","WebviewType","FixedLayout","ModalRootContext","Separator","Spacing","TooltipContainer","Text","styles","platformClassNames","ios","android","vkcom","sizeXClassNames","none","regular","PanelHeaderContent","children","Component","id","platform","VKCOM","weight","className","displayName","PanelHeaderIn","before","after","separator","webviewType","isInsideModal","useContext","Fragment","fixed","div","isValidElement","type","INTERNAL","wide","PanelHeader","visor","transparent","shadow","getRef","getRootRef","restProps","sizeX","adaptiveSizeX","isFixed","undefined","hasOwnProperty","VKAPPS","COMPACT","ref","vertical","compact","size","Content"],"mappings":"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"}
|