@vkontakte/vkui 4.34.2 → 4.35.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/.browserslistrc +5 -0
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +237 -211
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
- package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
- package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +46 -5
- package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/.cache/ts/src/components/Popper/Popper.d.ts +18 -1
- package/.cache/ts/src/components/PopperArrow/PopperArrow.d.ts +8 -0
- package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +7 -2
- package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +5 -1
- package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -0
- package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +8 -1
- package/.cache/ts/src/components/Tabs/Tabs.d.ts +13 -2
- package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +22 -1
- package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +5 -1
- package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +18 -1
- package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +3 -3
- package/.cache/ts/src/components/View/View.d.ts +2 -18
- package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
- package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +5 -1
- package/.cache/ts/src/tokenized/index.d.ts +26 -0
- package/.eslintrc.json +14 -4
- package/dist/cjs/components/CardScroll/CardScroll.js +3 -1
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +7 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cjs/components/CustomSelect/CustomSelect.js +477 -554
- package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.js +147 -26
- package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/components/Epic/Epic.js +1 -6
- package/dist/cjs/components/Epic/Epic.js.map +1 -1
- package/dist/cjs/components/FocusTrap/FocusTrap.js +9 -10
- package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -7
- package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cjs/components/Popper/Popper.js +11 -19
- package/dist/cjs/components/Popper/Popper.js.map +1 -1
- package/dist/cjs/components/PopperArrow/PopperArrow.js +40 -0
- package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -0
- package/dist/cjs/components/RichTooltip/RichTooltip.js +6 -15
- package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cjs/components/SimpleCell/SimpleCell.js +20 -31
- package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cjs/components/Snackbar/Snackbar.js +7 -11
- package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/SplitCol/SplitCol.js +7 -1
- package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cjs/components/SplitLayout/SplitLayout.js +5 -8
- package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cjs/components/Tabbar/Tabbar.js +15 -14
- package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -10
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js +23 -5
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/TabsItem/TabsItem.js +39 -22
- package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cjs/components/TextTooltip/TextTooltip.js +6 -9
- package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +94 -71
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/Typography/Headline/Headline.js +11 -2
- package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cjs/components/View/View.js +388 -453
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/components/WriteBar/WriteBar.js +12 -5
- package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -8
- package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cjs/hooks/useOrientationChange.js +2 -1
- package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
- package/dist/cjs/tokenized/index.js +104 -0
- package/dist/cjs/tokenized/index.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.js +3 -1
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.js +3 -0
- package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +473 -580
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +46 -5
- package/dist/components/Dropdown/Dropdown.js +137 -27
- package/dist/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/components/Epic/Epic.js +1 -4
- package/dist/components/Epic/Epic.js.map +1 -1
- package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/dist/components/FocusTrap/FocusTrap.js +9 -9
- package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/components/HorizontalCell/HorizontalCell.js +3 -5
- package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/dist/components/Popper/Popper.d.ts +18 -1
- package/dist/components/Popper/Popper.js +10 -19
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/PopperArrow/PopperArrow.d.ts +8 -0
- package/dist/components/PopperArrow/PopperArrow.js +27 -0
- package/dist/components/PopperArrow/PopperArrow.js.map +1 -0
- package/dist/components/RichTooltip/RichTooltip.d.ts +7 -2
- package/dist/components/RichTooltip/RichTooltip.js +5 -10
- package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +18 -28
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +5 -1
- package/dist/components/Snackbar/Snackbar.js +8 -11
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/SplitCol/SplitCol.d.ts +1 -0
- package/dist/components/SplitCol/SplitCol.js +3 -0
- package/dist/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +4 -7
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/Tabbar/Tabbar.d.ts +8 -1
- package/dist/components/Tabbar/Tabbar.js +15 -14
- package/dist/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +7 -9
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +13 -2
- package/dist/components/Tabs/Tabs.js +23 -5
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts +22 -1
- package/dist/components/TabsItem/TabsItem.js +40 -21
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/TextTooltip/TextTooltip.d.ts +5 -1
- package/dist/components/TextTooltip/TextTooltip.js +5 -7
- package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +18 -1
- package/dist/components/Tooltip/Tooltip.js +89 -68
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Typography/Headline/Headline.d.ts +3 -3
- package/dist/components/Typography/Headline/Headline.js +10 -2
- package/dist/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/components/View/View.d.ts +2 -18
- package/dist/components/View/View.js +384 -462
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +5 -1
- package/dist/components/WriteBar/WriteBar.js +10 -5
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -6
- package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/components.css +143 -127
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.css +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +1 -1
- package/dist/cssm/components/Alert/Alert.css +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
- package/dist/cssm/components/Avatar/Avatar.css +3 -5
- package/dist/cssm/components/Badge/Badge.css +3 -3
- package/dist/cssm/components/Banner/Banner.css +5 -5
- package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -1
- package/dist/cssm/components/Button/Button.css +53 -35
- package/dist/cssm/components/Calendar/Calendar.css +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
- package/dist/cssm/components/Card/Card.css +5 -6
- package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +3 -1
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.css +3 -3
- package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
- package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
- package/dist/cssm/components/CellButton/CellButton.css +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
- package/dist/cssm/components/Chip/Chip.css +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +3 -0
- package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
- package/dist/cssm/components/Counter/Counter.css +31 -31
- package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +473 -580
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -3
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -3
- package/dist/cssm/components/DateInput/DateInput.css +1 -1
- package/dist/cssm/components/DatePicker/DatePicker.css +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
- package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
- package/dist/cssm/components/Dropdown/Dropdown.d.ts +46 -5
- package/dist/cssm/components/Dropdown/Dropdown.js +137 -27
- package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/cssm/components/Epic/Epic.css +1 -1
- package/dist/cssm/components/Epic/Epic.js +1 -4
- package/dist/cssm/components/Epic/Epic.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
- package/dist/cssm/components/FocusTrap/FocusTrap.js +9 -9
- package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
- package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
- package/dist/cssm/components/Footer/Footer.css +1 -1
- package/dist/cssm/components/FormField/FormField.css +9 -9
- package/dist/cssm/components/FormItem/FormItem.css +1 -1
- package/dist/cssm/components/FormLayout/FormLayout.css +1 -1
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
- package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
- package/dist/cssm/components/Gradient/Gradient.css +1 -1
- package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
- package/dist/cssm/components/Group/Group.css +1 -1
- package/dist/cssm/components/Header/Header.css +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -5
- package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +3 -3
- package/dist/cssm/components/IconButton/IconButton.css +1 -1
- package/dist/cssm/components/InfoRow/InfoRow.css +1 -1
- package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
- package/dist/cssm/components/Input/Input.css +1 -1
- package/dist/cssm/components/InputLike/InputLike.css +1 -1
- package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
- package/dist/cssm/components/Link/Link.css +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -3
- package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.css +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
- package/dist/cssm/components/Pagination/Pagination.css +1 -1
- package/dist/cssm/components/Panel/Panel.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
- package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
- package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
- package/dist/cssm/components/Placeholder/Placeholder.css +3 -3
- package/dist/cssm/components/PopoutRoot/PopoutRoot.css +1 -1
- package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
- package/dist/cssm/components/Popper/Popper.css +1 -1
- package/dist/cssm/components/Popper/Popper.d.ts +18 -1
- package/dist/cssm/components/Popper/Popper.js +10 -19
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/PopperArrow/PopperArrow.css +1 -0
- package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +8 -0
- package/dist/cssm/components/PopperArrow/PopperArrow.js +28 -0
- package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -0
- package/dist/cssm/components/Progress/Progress.css +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.css +1 -1
- package/dist/cssm/components/PullToRefresh/PullToRefresh.css +3 -3
- package/dist/cssm/components/Radio/Radio.css +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
- package/dist/cssm/components/Removable/Removable.css +1 -1
- package/dist/cssm/components/RichCell/RichCell.css +3 -3
- package/dist/cssm/components/RichTooltip/RichTooltip.css +3 -1
- package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +7 -2
- package/dist/cssm/components/RichTooltip/RichTooltip.js +5 -10
- package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
- package/dist/cssm/components/Root/Root.css +1 -1
- package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
- package/dist/cssm/components/Search/Search.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
- package/dist/cssm/components/Select/Select.css +1 -1
- package/dist/cssm/components/Separator/Separator.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.js +18 -28
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.css +1 -1
- package/dist/cssm/components/Slider/Slider.css +3 -3
- package/dist/cssm/components/SliderSwitch/SliderSwitch.css +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.d.ts +5 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +8 -11
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/Spacing/Spacing.css +1 -1
- package/dist/cssm/components/Spinner/Spinner.css +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.css +1 -1
- package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -0
- package/dist/cssm/components/SplitCol/SplitCol.js +3 -0
- package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +4 -7
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
- package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
- package/dist/cssm/components/Switch/Switch.css +3 -3
- package/dist/cssm/components/Tabbar/Tabbar.css +5 -3
- package/dist/cssm/components/Tabbar/Tabbar.d.ts +8 -1
- package/dist/cssm/components/Tabbar/Tabbar.js +15 -14
- package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -9
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/Tabs/Tabs.css +1 -1
- package/dist/cssm/components/Tabs/Tabs.d.ts +13 -2
- package/dist/cssm/components/Tabs/Tabs.js +23 -5
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.css +5 -1
- package/dist/cssm/components/TabsItem/TabsItem.d.ts +22 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +40 -21
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tappable/Tappable.css +5 -5
- package/dist/cssm/components/TextTooltip/TextTooltip.css +1 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +5 -1
- package/dist/cssm/components/TextTooltip/TextTooltip.js +5 -7
- package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.css +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.css +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.d.ts +18 -1
- package/dist/cssm/components/Tooltip/Tooltip.js +89 -68
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.css +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
- package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -3
- package/dist/cssm/components/Typography/Headline/Headline.js +10 -2
- package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
- package/dist/cssm/components/Typography/Text/Text.css +1 -1
- package/dist/cssm/components/Typography/Title/Title.css +1 -1
- package/dist/cssm/components/UsersStack/UsersStack.css +5 -5
- package/dist/cssm/components/View/View.css +1 -1
- package/dist/cssm/components/View/View.d.ts +2 -18
- package/dist/cssm/components/View/View.js +384 -462
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/ViewIOS.css +1 -1
- package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
- package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.css +3 -1
- package/dist/cssm/components/WriteBar/WriteBar.d.ts +5 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +10 -5
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.css +1 -1
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -6
- package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
- package/dist/cssm/fonts/fonts.css +1 -1
- package/dist/cssm/hooks/useOrientationChange.js +2 -1
- package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
- package/dist/cssm/lib/calendar.d.ts +2 -2
- package/dist/cssm/styles/animations.css +1 -1
- package/dist/cssm/styles/bright_light.css +1 -1
- package/dist/cssm/styles/common.css +1 -1
- package/dist/cssm/styles/components.css +143 -127
- package/dist/cssm/styles/constants.css +3 -10
- package/dist/cssm/styles/space_gray.css +1 -1
- package/dist/cssm/styles/themes.css +1 -16
- package/dist/cssm/styles/unstable.css +3 -1
- package/dist/cssm/styles/vkcom_dark.css +1 -6
- package/dist/cssm/styles/vkcom_light.css +1 -11
- package/dist/cssm/tokenized/index.d.ts +26 -0
- package/dist/cssm/tokenized/index.js +13 -0
- package/dist/cssm/tokenized/index.js.map +1 -1
- package/dist/default_scheme.css +1 -1
- package/dist/default_scheme.css.map +1 -1
- package/dist/fonts.css +1 -1
- package/dist/fonts.css.map +1 -1
- package/dist/hooks/useOrientationChange.js +2 -1
- package/dist/hooks/useOrientationChange.js.map +1 -1
- package/dist/lib/calendar.d.ts +2 -2
- package/dist/tokenized/index.d.ts +26 -0
- package/dist/tokenized/index.js +13 -0
- package/dist/tokenized/index.js.map +1 -1
- package/dist/unstable.css +3 -1
- package/dist/unstable.css.map +1 -1
- package/dist/vkui.css +144 -143
- package/dist/vkui.css.map +1 -1
- package/package.json +6 -5
- package/src/components/Badge/Badge.css +0 -5
- package/src/components/CardScroll/CardScroll.tsx +1 -1
- package/src/components/Cell/Cell.css +3 -2
- package/src/components/ChipsInput/ChipsInput.css +2 -0
- package/src/components/ConfigProvider/ConfigProviderContext.tsx +2 -0
- package/src/components/Counter/Counter.css +30 -0
- package/src/components/CustomScrollView/CustomScrollView.css +10 -5
- package/src/components/CustomSelect/CustomSelect.tsx +543 -574
- package/src/components/Dropdown/Dropdown.css +12 -0
- package/src/components/Dropdown/Dropdown.tsx +174 -20
- package/src/components/Dropdown/Readme.md +1 -0
- package/src/components/Epic/Epic.tsx +1 -4
- package/src/components/FixedLayout/Readme.md +103 -109
- package/src/components/FocusTrap/FocusTrap.tsx +10 -10
- package/src/components/Group/Group.css +1 -1
- package/src/components/HorizontalCell/HorizontalCell.css +25 -43
- package/src/components/HorizontalCell/HorizontalCell.tsx +3 -9
- package/src/components/HorizontalScroll/HorizontalScroll.css +23 -0
- package/src/components/Input/Input.css +2 -0
- package/src/components/MiniInfoCell/MiniInfoCell.css +13 -3
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
- package/src/components/Popper/Popper.css +0 -35
- package/src/components/Popper/Popper.tsx +29 -23
- package/src/components/PopperArrow/PopperArrow.css +34 -0
- package/src/components/PopperArrow/PopperArrow.tsx +40 -0
- package/src/components/RichTooltip/RichTooltip.css +44 -4
- package/src/components/RichTooltip/RichTooltip.tsx +9 -11
- package/src/components/SimpleCell/Readme.md +115 -129
- package/src/components/SimpleCell/SimpleCell.css +30 -68
- package/src/components/SimpleCell/SimpleCell.tsx +21 -25
- package/src/components/Snackbar/Readme.md +95 -123
- package/src/components/Snackbar/Snackbar.css +18 -27
- package/src/components/Snackbar/Snackbar.tsx +17 -11
- package/src/components/SplitCol/SplitCol.tsx +2 -0
- package/src/components/SplitLayout/SplitLayout.css +3 -7
- package/src/components/SplitLayout/SplitLayout.tsx +9 -6
- package/src/components/Tabbar/Tabbar.css +4 -1
- package/src/components/Tabbar/Tabbar.tsx +23 -12
- package/src/components/TabbarItem/TabbarItem.css +7 -5
- package/src/components/TabbarItem/TabbarItem.tsx +13 -7
- package/src/components/Tabs/Readme.md +191 -251
- package/src/components/Tabs/Tabs.css +27 -80
- package/src/components/Tabs/Tabs.tsx +45 -7
- package/src/components/TabsItem/Readme.md +1 -0
- package/src/components/TabsItem/TabsItem.css +191 -106
- package/src/components/TabsItem/TabsItem.tsx +72 -20
- package/src/components/TextTooltip/TextTooltip.css +41 -11
- package/src/components/TextTooltip/TextTooltip.tsx +9 -13
- package/src/components/Textarea/Textarea.css +2 -0
- package/src/components/Tooltip/Readme.md +128 -101
- package/src/components/Tooltip/Tooltip.css +29 -40
- package/src/components/Tooltip/Tooltip.tsx +98 -66
- package/src/components/Typography/Headline/Headline.tsx +15 -1
- package/src/components/View/Readme.md +2 -0
- package/src/components/View/View.tsx +451 -514
- package/src/components/WriteBar/WriteBar.css +27 -33
- package/src/components/WriteBar/WriteBar.tsx +16 -5
- package/src/components/WriteBarIcon/WriteBarIcon.css +6 -19
- package/src/components/WriteBarIcon/WriteBarIcon.tsx +6 -6
- package/src/hooks/useOrientationChange.ts +1 -0
- package/src/styles/components.css +1 -0
- package/src/styles/constants.css +8 -0
- package/src/tokenized/index.ts +39 -0
- package/tsconfig.json +1 -1
- package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +0 -21
- package/dist/cjs/components/ClickPopper/ClickPopper.js +0 -96
- package/dist/cjs/components/ClickPopper/ClickPopper.js.map +0 -1
- package/dist/components/ClickPopper/ClickPopper.d.ts +0 -21
- package/dist/components/ClickPopper/ClickPopper.js +0 -71
- package/dist/components/ClickPopper/ClickPopper.js.map +0 -1
- package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +0 -21
- package/dist/cssm/components/ClickPopper/ClickPopper.js +0 -71
- package/dist/cssm/components/ClickPopper/ClickPopper.js.map +0 -1
- package/src/components/ClickPopper/ClickPopper.tsx +0 -86
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSearch{
|
|
1
|
+
.vkuiSearch{font-family:-apple-system,system-ui,Helvetica Neue,Roboto,sans-serif;font-family:var(--font-common);font-weight:400;line-height:normal;overflow:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.vkuiSearch__in{position:relative}.vkuiSearch__width{color:transparent;height:36px;height:var(--search_default_height);white-space:nowrap;width:10000px}.vkuiSearch__control{align-items:center;border-radius:10px;display:flex;height:100%;justify-content:flex-start;left:0;position:absolute;top:0;width:calc(100% - 1px)}.vkuiSearch__input{-webkit-appearance:none;background-color:initial;border:none;border-radius:10px;box-sizing:border-box;flex-grow:1;font-size:17px;height:36px;height:var(--search_default_height);margin:0;max-width:100%;min-width:0;padding:0 22px 0 36px;position:relative;z-index:2}.vkuiSearch__input::-webkit-search-cancel-button,.vkuiSearch__input::-webkit-search-decoration,.vkuiSearch__input::-webkit-search-results-button,.vkuiSearch__input::-webkit-search-results-decoration{display:none}.vkuiSearch--has-after .vkuiSearch__input{border-radius:10px 0 0 10px}.vkuiSearch--has-icon .vkuiSearch__input,.vkuiSearch--has-icon .vkuiSearch__placeholder,.vkuiSearch--has-value .vkuiSearch__input,.vkuiSearch--has-value .vkuiSearch__placeholder{padding-right:40px}.vkuiSearch--has-icon.vkuiSearch--has-value .vkuiSearch__input,.vkuiSearch--has-icon.vkuiSearch--has-value .vkuiSearch__placeholder{padding-right:80px}.vkuiSearch__after-width{flex-shrink:0;font-size:17px;line-height:36px;line-height:var(--search_default_height);padding-right:4px}.vkuiSearch__after-width,.vkuiSearch__placeholder{cursor:text;height:36px;height:var(--search_default_height);padding-left:12px;pointer-events:none}.vkuiSearch__placeholder{box-sizing:border-box;display:flex;font-size:0;left:0;padding-right:22px;position:absolute;text-align:left;width:100%;z-index:1}.vkuiSearch__placeholder-in{align-items:center;display:flex;flex-grow:1;height:36px;height:var(--search_default_height);max-width:100%;overflow:hidden}.vkuiSearch__placeholder-text{margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vkuiSearch--has-value .vkuiSearch__placeholder-text{opacity:0}.vkuiSearch__icons{color:#818c99;color:var(--search_bar_field_tint,var(--vkui--color_icon_secondary));position:absolute;right:100%;top:0}.vkuiSearch__icon,.vkuiSearch__icons{align-items:center;display:flex;justify-content:center}.vkuiSearch__icon{cursor:pointer;height:36px;height:var(--search_default_height);width:40px}.vkuiSearch__after{cursor:default;left:100%;line-height:36px;line-height:var(--search_default_height);position:absolute;top:0;-webkit-transform:translate(0);transform:translate(0);transition:-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1);transition:transform .3s cubic-bezier(.36,.66,.04,1),-webkit-transform .3s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing);transition:transform .3s var(--ios-easing),-webkit-transform .3s var(--ios-easing);z-index:2}.vkuiSearch--focused .vkuiSearch__after,.vkuiSearch--has-value .vkuiSearch__after{-webkit-transform:translate(-100%);transform:translate(-100%)}.vkuiSearch__after:before{content:"";display:block;height:100%;pointer-events:none;position:absolute;right:calc(100% - 1px);width:10px}.vkuiSearch__after-in{cursor:pointer;font-size:17px;padding-left:12px;padding-right:4px;position:relative;z-index:2}.vkuiSearch__after:after{border-radius:0 10px 10px 0;content:"";cursor:text;display:block;height:100%;pointer-events:none;position:absolute;right:100%;top:0;width:10px}.vkuiGroup--plain .vkuiSearch{padding-top:4px}.vkuiSearch{background:#fff;background:var(--search_bar_background)}.vkuiSearch__control{background-color:#ebedf0;background-color:var(--search_bar_field_background)}.vkuiSearch__input{color:#000;color:var(--text_primary)}.vkuiSearch__placeholder{color:#818c99;color:var(--search_bar_field_tint,var(--vkui--color_icon_medium))}.vkuiSearch__after-width{background:#ebedf0;background:var(--search_bar_field_background);color:#ebedf0;color:var(--search_bar_field_background)}.vkuiSearch__after{background:#fff;background:var(--search_bar_background);color:#2688eb;color:var(--accent)}.vkuiSearch__after:after{background-color:#ebedf0;background-color:var(--search_bar_field_background)}.vkuiSearch__after:before{background-color:#fff;background-color:var(--search_bar_background)}.vkuiPanelHeader .vkuiSearch{background:#fff;background:var(--header_background)}.vkuiPanelHeader .vkuiSearch__control{background-color:#ebedf0;background-color:var(--header_search_field_background)}.vkuiPanelHeader .vkuiSearch__input{color:#000;color:var(--text_primary)}.vkuiPanelHeader .vkuiSearch__placeholder{color:#818c99;color:var(--header_search_field_tint)}.vkuiPanelHeader .vkuiSearch__after-width{background:#ebedf0;background:var(--header_search_field_background);color:#ebedf0;color:var(--header_search_field_background)}.vkuiPanelHeader .vkuiSearch__after{background:#fff;background:var(--header_background);color:#2688eb;color:var(--header_tint)}.vkuiPanelHeader .vkuiSearch__after:after{background-color:#ebedf0;background-color:var(--header_search_field_background)}.vkuiPanelHeader .vkuiSearch__after:before{background-color:#fff;background-color:var(--header_background)}.vkuiSearch--ios{padding:8px 12px}.vkuiSearch--android{padding:8px 16px}.vkuiPanelHeader--vkcom .vkuiSearch,.vkuiSearch--vkcom{background:transparent}.vkuiSearch--vkcom .vkuiSearch__in{padding-bottom:6px;padding-top:6px}.vkuiSearch--vkcom .vkuiSearch__input{font-size:15px;line-height:20px;padding-left:40px}.vkuiSearch--vkcom .vkuiSearch__placeholder{color:#99a2ad;color:var(--vkui--color_icon_secondary,#99a2ad);padding-left:16px}.vkuiSearch--vkcom .vkuiSearch__icons{color:#818c99;color:var(--search_bar_field_tint,var(--vkui--color_icon_medium));right:calc(100% + 8px);top:4px}.vkuiSearch--vkcom.vkuiSearch--has-value .vkuiSearch__input{padding-right:56px}.vkuiSearch--vkcom.vkuiSearch--has-icon.vkuiSearch--has-value .vkuiSearch__input{padding-right:92px}.vkuiSearch--vkcom .vkuiSearch__icon{height:40px;opacity:.8;width:40px}.vkuiSearch--vkcom .vkuiSearch__icon:hover{background-color:rgba(0,0,0,.04);background-color:var(--background_hover);border-radius:50%}.vkuiSearch--vkcom .vkuiSearch__control{background-color:initial}.vkuiPanelHeader--vkcom .vkuiSearch__separator{display:none}.vkuiSearch--vkcom .vkuiSearch__separator{color:#e1e3e6;color:var(--input_border)}.vkuiGroup--card .vkuiSearch--vkcom{margin:0 -8px}.vkuiGroup--card .vkuiSearch--vkcom:first-child{margin-top:-8px}.vkuiGroup--card .vkuiSearch--vkcom:not(:last-child){margin-bottom:8px}.vkuiGroup--card .vkuiSearch--vkcom .vkuiSearch__placeholder{padding-left:20px}.vkuiGroup--card .vkuiSearch--vkcom .vkuiSearch__input{padding-left:44px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSegmentedControl{
|
|
1
|
+
.vkuiSegmentedControl{background-color:#f5f5f5;background-color:var(--vkui--color_background_secondary,#f5f5f5);border-radius:8px;border-radius:var(--vkui--size_border_radius--regular,8px);box-sizing:border-box;height:30px;padding:2px}.vkuiSegmentedControl--l{height:36px}.vkuiSegmentedControl__in{border-radius:inherit;display:flex;height:100%;position:relative;transition:all .1s ease-out;width:100%}.vkuiSegmentedControl__slider{background-color:#fff;background-color:var(--vkui--color_segmented_control,#fff);border-radius:inherit;bottom:0;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.08),0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04);box-shadow:inset 0 0 0 .5px var(--vkui--color_image_border_alpha,rgba(0,0,0,.08)),0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04);left:0;position:absolute;top:0;-webkit-transform-origin:0 0;transform-origin:0 0;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.vkuiSegmentedControl__option{display:block;flex:1;margin:0;padding:0;position:relative;z-index:1}.vkuiSegmentedControl--sizeY-regular{height:36px}.vkuiSegmentedControl--sizeY-regular.vkuiSegmentedControl--l{height:44px}
|
package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSegmentedControlOption{
|
|
1
|
+
.vkuiSegmentedControlOption{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:inherit;box-sizing:border-box;color:#000;color:var(--vkui--color_text_primary,#000);cursor:pointer;height:100%;transition:color .1s ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vkuiSegmentedControlOption .vkuiIcon{color:#2c2d2e;color:var(--vkui--color_icon_primary,#2c2d2e)}.vkuiSegmentedControlOption:not(.vkuiSegmentedControlOption--checked):hover{opacity:.5}.vkuiSegmentedControlOption__content{align-content:center;align-items:center;border-radius:inherit;display:flex;height:100%;justify-content:center;width:100%}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSelect{
|
|
1
|
+
.vkuiSelect{box-sizing:border-box;cursor:pointer;position:relative}.vkuiSelect__el{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;display:block;font-size:16px;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:3}.vkuiSelect__container{box-sizing:border-box;color:#000;color:var(--text_primary,var(--vkui--color_text_primary));flex-grow:1;flex-shrink:1;overflow:hidden;padding-left:12px;padding-right:12px;position:relative;z-index:2}.vkuiSelect--hasBefore .vkuiSelect__container{padding-left:0}.vkuiSelect--hasAfter .vkuiSelect__container{padding-right:0}.vkuiSelect--multiline .vkuiSelect__container{padding-bottom:12px;padding-top:12px}.vkuiSelect--sizeY-compact.vkuiSelect--multiline .vkuiSelect__container{padding-bottom:8px;padding-top:8px}.vkuiSelect__title{display:block}.vkuiSelect:not(.vkuiSelect--multiline) .vkuiSelect__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vkuiSelect--empty .vkuiSelect__title{color:#818c99;color:var(--field_text_placeholder,var(--vkui--color_text_secondary))}.vkuiSelect--align-right .vkuiSelect__title{text-align:right}.vkuiSelect--align-center .vkuiSelect__title{text-align:center}.vkuiCalendarHeader__picker .vkuiSelect__container{padding-right:4px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSeparator{color:#d7d8d9;color:var(--separator_common,
|
|
1
|
+
.vkuiSeparator{color:#d7d8d9;color:var(--separator_common,var(--vkui--color_separator_primary))}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.vkuiSeparator{color:#d7d8d9;color:var(--separator_common,var(--vkui--color_separator_primary2x))}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.vkuiSeparator{color:#d7d8d9;color:var(--separator_common,var(--vkui--color_separator_primary3x))}}.vkuiSeparator__in:not(.vkuiSeparator__in--expanded){background:currentColor;height:1px;height:var(--thin-border);-webkit-transform-origin:center top;transform-origin:center top}.vkuiSeparator__in--expanded{background:transparent;height:16px}.vkuiSeparator--padded .vkuiSeparator__in{margin-left:16px;margin-left:var(--vkui--size_base_padding_horizontal--regular,16px);margin-right:16px;margin-right:var(--vkui--size_base_padding_horizontal--regular,16px)}.vkuiModalPage--sizeX-regular .vkuiSeparator--padded{padding-left:8px;padding-right:8px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSimpleCell{
|
|
1
|
+
.vkuiSimpleCell{align-items:center;color:#000;color:var(--text_primary,var(--vkui--color_text_primary));display:flex;min-height:48px;padding-left:16px;padding-left:var(--vkui--size_base_padding_horizontal--regular,16px);padding-right:16px;padding-right:var(--vkui--size_base_padding_horizontal--regular,16px);text-decoration:none;white-space:nowrap}.vkuiSimpleCell--mult{white-space:normal}.vkuiSimpleCell--mult .vkuiSimpleCell__children{text-overflow:clip}.vkuiSimpleCell__main{flex-grow:1;max-width:100%;min-width:0;overflow:hidden}.vkuiSimpleCell>.vkuiIcon{color:#2688eb;color:var(--accent,var(--vkui--color_icon_accent));flex-shrink:0;padding-bottom:10px;padding-right:12px;padding-top:10px}.vkuiSimpleCell>.vkuiIcon--28{padding-right:16px}.vkuiSimpleCell__text{overflow:hidden;text-overflow:ellipsis}.vkuiSimpleCell__subtitle{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary))}.vkuiSimpleCell .vkuiSimpleCell__content{align-content:flex-start;align-items:center;display:flex;justify-content:space-between;max-width:100%}.vkuiSimpleCell:not(.vkuiSimpleCell--mult) .vkuiSimpleCell__content{justify-content:flex-start}.vkuiSimpleCell__children{color:inherit;display:block;overflow:hidden;text-overflow:ellipsis}.vkuiSimpleCell--mult .vkuiSimpleCell__children,.vkuiSimpleCell--mult .vkuiSimpleCell__subtitle{flex:1 1 auto}.vkuiSimpleCell__badge{color:#5c9ce6;color:var(--blue_200,var(--vkui--color_icon_accent));display:inline-block;flex-grow:0;flex-shrink:0}.vkuiSimpleCell__content>:not(:last-child){margin-right:4px}.vkuiSimpleCell__indicator{color:#818c99;color:var(--text_secondary,var(--vkui--color_text_secondary));min-width:0;overflow:hidden;padding-left:4px;text-overflow:ellipsis;white-space:nowrap}.vkuiSimpleCell__after{align-items:center;color:#2688eb;color:var(--accent,var(--vkui--color_icon_accent));display:flex;flex-shrink:0}.vkuiSimpleCell__after>.vkuiIcon{padding-left:8px}.vkuiSimpleCell__after>.vkuiIcon:last-child{padding-right:2px}.vkuiSimpleCell__after .vkuiIconButton:last-child{margin-right:-12px}.vkuiSimpleCell--ios .vkuiSimpleCell__indicator,.vkuiSimpleCell--ios .vkuiSimpleCell__main{padding-bottom:11px;padding-top:9px}.vkuiSimpleCell--ios>.vkuiIcon--28{padding-left:4px}.vkuiSimpleCell--ios .vkuiSimpleCell__after .vkuiIcon--chevron_24{color:#b8c1cc;color:var(--icon_tertiary,var(--vkui--color_icon_tertiary));padding-left:12px;padding-right:4px}.vkuiSimpleCell--ios .vkuiSimpleCell__after .vkuiIconButton:last-child{margin-right:-9px}.vkuiSimpleCell--android .vkuiSimpleCell__indicator,.vkuiSimpleCell--android .vkuiSimpleCell__main,.vkuiSimpleCell--vkcom .vkuiSimpleCell__indicator,.vkuiSimpleCell--vkcom .vkuiSimpleCell__main{padding-bottom:10px;padding-top:11px}.vkuiSimpleCell--sizeY-compact{min-height:44px}.vkuiSimpleCell--sizeY-compact .vkuiSimpleCell__indicator,.vkuiSimpleCell--sizeY-compact .vkuiSimpleCell__main{padding-bottom:10px;padding-top:10px}.vkuiFormItem>.vkuiSimpleCell{margin:0 -16px;margin:0 calc(var(--vkui--size_base_padding_horizontal--regular,16px)*-1)}.vkuiSimpleCell__main>:not(:first-child){margin-top:2px}
|
|
@@ -6,37 +6,27 @@ import { classNames } from "../../lib/classNames";
|
|
|
6
6
|
import { getClassName } from "../../helpers/getClassName";
|
|
7
7
|
import { Tappable } from "../Tappable/Tappable";
|
|
8
8
|
import { Icon24Chevron } from "@vkontakte/icons";
|
|
9
|
-
import {
|
|
9
|
+
import { IOS } from "../../lib/platform";
|
|
10
10
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
11
11
|
import { hasReactNode } from "../../lib/utils";
|
|
12
12
|
import { useAdaptivity } from "../../hooks/useAdaptivity";
|
|
13
13
|
import { withAdaptivity, SizeType } from "../../hoc/withAdaptivity";
|
|
14
|
-
import { Title } from "../Typography/Title/Title";
|
|
15
|
-
import { Text } from "../Typography/Text/Text";
|
|
16
|
-
import { Subhead } from "../Typography/Subhead/Subhead";
|
|
17
14
|
import { Headline } from "../Typography/Headline/Headline";
|
|
15
|
+
import { Footnote } from "../Typography/Footnote/Footnote";
|
|
16
|
+
import { Caption } from "../Typography/Caption/Caption";
|
|
18
17
|
import "./SimpleCell.css";
|
|
19
18
|
|
|
20
19
|
var SimpleCellTypography = function SimpleCellTypography(props) {
|
|
21
20
|
var _useAdaptivity = useAdaptivity(),
|
|
22
21
|
sizeY = _useAdaptivity.sizeY;
|
|
23
22
|
|
|
24
|
-
var platform = usePlatform();
|
|
25
|
-
|
|
26
23
|
if (sizeY === SizeType.COMPACT) {
|
|
27
|
-
return createScopedElement(
|
|
28
|
-
|
|
29
|
-
return createScopedElement(Headline, _extends({
|
|
30
|
-
Component: "span",
|
|
31
|
-
weight: "3"
|
|
32
|
-
}, props));
|
|
33
|
-
} else {
|
|
34
|
-
return createScopedElement(Title, _extends({
|
|
35
|
-
Component: "span",
|
|
36
|
-
level: "3",
|
|
37
|
-
weight: "3"
|
|
24
|
+
return createScopedElement(Caption, _extends({
|
|
25
|
+
level: "2"
|
|
38
26
|
}, props));
|
|
39
27
|
}
|
|
28
|
+
|
|
29
|
+
return createScopedElement(Footnote, props);
|
|
40
30
|
};
|
|
41
31
|
|
|
42
32
|
var SimpleCellComponent = function SimpleCellComponent(_ref) {
|
|
@@ -54,24 +44,24 @@ var SimpleCellComponent = function SimpleCellComponent(_ref) {
|
|
|
54
44
|
var platform = usePlatform();
|
|
55
45
|
var hasAfter = hasReactNode(after) || expandable && platform === IOS;
|
|
56
46
|
return createScopedElement(Tappable, _extends({}, restProps, {
|
|
57
|
-
|
|
58
|
-
vkuiClass: classNames(getClassName("SimpleCell", platform), {
|
|
59
|
-
"SimpleCell--exp": expandable,
|
|
60
|
-
"SimpleCell--mult": multiline
|
|
61
|
-
}, "SimpleCell--sizeY-".concat(sizeY))
|
|
47
|
+
vkuiClass: classNames(getClassName("SimpleCell", platform), expandable && "SimpleCell--exp", multiline && "SimpleCell--mult", "SimpleCell--sizeY-".concat(sizeY))
|
|
62
48
|
}), before, createScopedElement("div", {
|
|
63
49
|
vkuiClass: "SimpleCell__main"
|
|
64
50
|
}, createScopedElement("div", {
|
|
65
51
|
vkuiClass: "SimpleCell__content"
|
|
66
|
-
}, createScopedElement(
|
|
67
|
-
|
|
52
|
+
}, createScopedElement(Headline, {
|
|
53
|
+
Component: "span",
|
|
54
|
+
vkuiClass: "SimpleCell__children",
|
|
55
|
+
weight: "3"
|
|
68
56
|
}, children), hasReactNode(badge) && createScopedElement("span", {
|
|
69
57
|
vkuiClass: "SimpleCell__badge"
|
|
70
|
-
}, badge)), description && createScopedElement(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
58
|
+
}, badge)), description && createScopedElement("div", {
|
|
59
|
+
vkuiClass: "SimpleCell__content"
|
|
60
|
+
}, createScopedElement(SimpleCellTypography, {
|
|
61
|
+
vkuiClass: "SimpleCell__text SimpleCell__subtitle"
|
|
62
|
+
}, description))), hasReactNode(indicator) && createScopedElement(Headline, {
|
|
74
63
|
Component: "span",
|
|
64
|
+
weight: "3",
|
|
75
65
|
vkuiClass: "SimpleCell__indicator"
|
|
76
66
|
}, indicator), hasAfter && createScopedElement("div", {
|
|
77
67
|
vkuiClass: "SimpleCell__after"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SimpleCell/SimpleCell.tsx"],"names":["classNames","getClassName","Tappable","Icon24Chevron","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SimpleCell/SimpleCell.tsx"],"names":["classNames","getClassName","Tappable","Icon24Chevron","IOS","usePlatform","hasReactNode","useAdaptivity","withAdaptivity","SizeType","Headline","Footnote","Caption","SimpleCellTypography","props","sizeY","COMPACT","SimpleCellComponent","badge","before","indicator","children","after","description","expandable","multiline","restProps","platform","hasAfter","SimpleCell","displayName"],"mappings":";;;;AAEA,SAASA,UAAT;AACA,SAASC,YAAT;AACA,SAAwBC,QAAxB;AACA,SAASC,aAAT,QAA8B,kBAA9B;AACA,SAASC,GAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,SAASC,aAAT;AACA,SAASC,cAAT,EAAyBC,QAAzB;AACA,SAASC,QAAT;AACA,SAASC,QAAT;AACA,SAASC,OAAT;AACA;;AAuCA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAsC;AACjE,uBAAkBP,aAAa,EAA/B;AAAA,MAAQQ,KAAR,kBAAQA,KAAR;;AAEA,MAAIA,KAAK,KAAKN,QAAQ,CAACO,OAAvB,EAAgC;AAC9B,WAAO,oBAAC,OAAD;AAAS,MAAA,KAAK,EAAC;AAAf,OAAuBF,KAAvB,EAAP;AACD;;AAED,SAAO,oBAAC,QAAD,EAAcA,KAAd,CAAP;AACD,CARD;;AAUA,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAsB,OAWL;AAAA,MAVrBC,KAUqB,QAVrBA,KAUqB;AAAA,MATrBC,MASqB,QATrBA,MASqB;AAAA,MARrBC,SAQqB,QARrBA,SAQqB;AAAA,MAPrBC,QAOqB,QAPrBA,QAOqB;AAAA,MANrBC,KAMqB,QANrBA,KAMqB;AAAA,MALrBC,WAKqB,QALrBA,WAKqB;AAAA,MAJrBC,UAIqB,QAJrBA,UAIqB;AAAA,MAHrBC,SAGqB,QAHrBA,SAGqB;AAAA,MAFrBV,KAEqB,QAFrBA,KAEqB;AAAA,MADlBW,SACkB;;AACrB,MAAMC,QAAQ,GAAGtB,WAAW,EAA5B;AACA,MAAMuB,QAAQ,GAAGtB,YAAY,CAACgB,KAAD,CAAZ,IAAwBE,UAAU,IAAIG,QAAQ,KAAKvB,GAApE;AAEA,SACE,oBAAC,QAAD,eACMsB,SADN;AAEE,IAAA,SAAS,EAAE1B,UAAU,CACnBC,YAAY,CAAC,YAAD,EAAe0B,QAAf,CADO,EAEnBH,UAAU,IAAI,iBAFK,EAGnBC,SAAS,IAAI,kBAHM,8BAIEV,KAJF;AAFvB,MASGI,MATH,EAUE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,QAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,SAAS,EAAC,sBAFZ;AAGE,IAAA,MAAM,EAAC;AAHT,KAKGE,QALH,CADF,EAQGf,YAAY,CAACY,KAAD,CAAZ,IACC;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAqCA,KAArC,CATJ,CADF,EAaGK,WAAW,IACV;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,oBAAD;AAAsB,IAAA,SAAS,EAAC;AAAhC,KACGA,WADH,CADF,CAdJ,CAVF,EA+BGjB,YAAY,CAACc,SAAD,CAAZ,IACC,oBAAC,QAAD;AAAU,IAAA,SAAS,EAAC,MAApB;AAA2B,IAAA,MAAM,EAAC,GAAlC;AAAsC,IAAA,SAAS,EAAC;AAAhD,KACGA,SADH,CAhCJ,EAoCGQ,QAAQ,IACP;AAAK,IAAA,SAAS,EAAC;AAAf,KACGN,KADH,EAEGE,UAAU,IAAIG,QAAQ,KAAKvB,GAA3B,IAAkC,oBAAC,aAAD,OAFrC,CArCJ,CADF;AA6CD,CA5DD;AA8DA;AACA;AACA;;;AACA,OAAO,IAAMyB,UAAU,GAAGrB,cAAc,CAACS,mBAAD,EAAsB;AAAEF,EAAAA,KAAK,EAAE;AAAT,CAAtB,CAAjC;AAEPc,UAAU,CAACC,WAAX,GAAyB,YAAzB","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { TappableProps, Tappable } from \"../Tappable/Tappable\";\nimport { Icon24Chevron } from \"@vkontakte/icons\";\nimport { IOS } from \"../../lib/platform\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { withAdaptivity, SizeType } from \"../../hoc/withAdaptivity\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { Footnote } from \"../Typography/Footnote/Footnote\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport \"./SimpleCell.css\";\n\nexport interface SimpleCellOwnProps extends HasComponent {\n /**\n * Иконка 28 или `<Avatar size={28|32|40|48|72} />`\n */\n before?: React.ReactNode;\n /**\n * Иконка 12 или `<Badge />`. Добавится справа от текста `children`.\n */\n badge?: React.ReactNode;\n /**\n * Контейнер для текста справа от `children`.\n */\n indicator?: React.ReactNode;\n /**\n * Иконка 24|28 или `<Switch />`. Располагается справа от `indicator`.\n */\n after?: React.ReactNode;\n /**\n * Контейнер для текста под `children`.\n */\n description?: React.ReactNode;\n /**\n * Убирает анимацию нажатия\n */\n disabled?: boolean;\n /**\n * В iOS добавляет chevron справа. Передавать `true`, если предполагается переход при клике по ячейке.\n */\n expandable?: boolean;\n multiline?: boolean;\n}\n\nexport interface SimpleCellProps extends SimpleCellOwnProps, TappableProps {}\n\ntype SimpleCellTypographyProps = React.HTMLAttributes<HTMLDivElement> &\n HasComponent;\n\nconst SimpleCellTypography = (props: SimpleCellTypographyProps) => {\n const { sizeY } = useAdaptivity();\n\n if (sizeY === SizeType.COMPACT) {\n return <Caption level=\"2\" {...props} />;\n }\n\n return <Footnote {...props} />;\n};\n\nconst SimpleCellComponent = ({\n badge,\n before,\n indicator,\n children,\n after,\n description,\n expandable,\n multiline,\n sizeY,\n ...restProps\n}: SimpleCellProps) => {\n const platform = usePlatform();\n const hasAfter = hasReactNode(after) || (expandable && platform === IOS);\n\n return (\n <Tappable\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"SimpleCell\", platform),\n expandable && \"SimpleCell--exp\",\n multiline && \"SimpleCell--mult\",\n `SimpleCell--sizeY-${sizeY}`\n )}\n >\n {before}\n <div vkuiClass=\"SimpleCell__main\">\n <div vkuiClass=\"SimpleCell__content\">\n <Headline\n Component=\"span\"\n vkuiClass=\"SimpleCell__children\"\n weight=\"3\"\n >\n {children}\n </Headline>\n {hasReactNode(badge) && (\n <span vkuiClass=\"SimpleCell__badge\">{badge}</span>\n )}\n </div>\n {description && (\n <div vkuiClass=\"SimpleCell__content\">\n <SimpleCellTypography vkuiClass=\"SimpleCell__text SimpleCell__subtitle\">\n {description}\n </SimpleCellTypography>\n </div>\n )}\n </div>\n {hasReactNode(indicator) && (\n <Headline Component=\"span\" weight=\"3\" vkuiClass=\"SimpleCell__indicator\">\n {indicator}\n </Headline>\n )}\n {hasAfter && (\n <div vkuiClass=\"SimpleCell__after\">\n {after}\n {expandable && platform === IOS && <Icon24Chevron />}\n </div>\n )}\n </Tappable>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SimpleCell\n */\nexport const SimpleCell = withAdaptivity(SimpleCellComponent, { sizeY: true });\n\nSimpleCell.displayName = \"SimpleCell\";\n"],"file":"SimpleCell.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSimpleCheckbox{display:block;margin:-10px;padding:10px;width:24px
|
|
1
|
+
.vkuiSimpleCheckbox{border-radius:50%;display:block;height:24px;margin:-10px;padding:10px;width:24px}.vkuiSimpleCheckbox__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute}.vkuiSimpleCheckbox__container{align-items:flex-start;display:flex;justify-content:flex-start}.vkuiSimpleCheckbox__icon{border-radius:4px;box-sizing:border-box;display:flex;flex-shrink:0;margin:0}.vkuiSimpleCheckbox__icon--indeterminate,.vkuiSimpleCheckbox__icon--on{color:#2688eb;color:var(--accent);display:none}.vkuiSimpleCheckbox__icon--off{color:#b8c1cc;color:var(--icon_tertiary)}.vkuiSimpleCheckbox__input:checked~.vkuiSimpleCheckbox__container .vkuiSimpleCheckbox__icon--on{display:flex}.vkuiSimpleCheckbox__input:checked~.vkuiSimpleCheckbox__container .vkuiSimpleCheckbox__icon--off,.vkuiSimpleCheckbox__input:indeterminate~.vkuiSimpleCheckbox__container .vkuiSimpleCheckbox__icon--indeterminate{display:none}.vkuiSimpleCheckbox__input:indeterminate~.vkuiSimpleCheckbox__container .vkuiSimpleCheckbox__icon--indeterminate{display:flex}.vkuiSimpleCheckbox__input:indeterminate~.vkuiSimpleCheckbox__container .vkuiSimpleCheckbox__icon--off,.vkuiSimpleCheckbox__input:indeterminate~.vkuiSimpleCheckbox__container .vkuiSimpleCheckbox__icon--on{display:none}.vkuiSimpleCheckbox__input[disabled]~.vkuiSimpleCheckbox__container{opacity:.6}.vkuiSimpleCheckbox--android.vkuiSimpleCheckbox--sizeY-compact,.vkuiSimpleCheckbox--ios.vkuiSimpleCheckbox--sizeY-compact{height:20px;margin:-8px;padding:8px;width:20px}.vkuiSimpleCheckbox--vkcom{border-radius:4px;height:22px;margin:0;padding:0;width:22px}.vkuiSimpleCheckbox--vkcom .vkuiSimpleCheckbox__activeShadow,.vkuiSimpleCheckbox--vkcom .vkuiSimpleCheckbox__hoverShadow{border-radius:inherit;bottom:0;height:16px;left:0;margin:3px;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:inherit;width:16px}.vkuiSimpleCheckbox--vkcom.vkuiSimpleCheckbox--active .vkuiSimpleCheckbox__activeShadow{background-color:rgba(0,0,0,.08);background-color:var(--background_highlighted)}.vkuiSimpleCheckbox--vkcom.vkuiSimpleCheckbox--hover .vkuiSimpleCheckbox__hoverShadow{background-color:rgba(0,0,0,.04);background-color:var(--background_hover)}.vkuiSimpleCheckbox--vkcom .vkuiSimpleCheckbox__icon{border-radius:3px;border-width:1px;padding:1px}.vkuiSimpleCheckbox--vkcom .vkuiSimpleCheckbox__input[disabled]~.vkuiSimpleCheckbox__container{opacity:.4}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.vkuiSlider{
|
|
2
|
-
var(--vkui--color_track_background)
|
|
3
|
-
);content:"";
|
|
1
|
+
.vkuiSlider{height:28px;padding:0 14px;position:relative;z-index:0}.vkuiSlider:before{background-color:rgba(0,28,61,.08);background-color:var(
|
|
2
|
+
--placeholder_icon_background,var(--vkui--color_track_background)
|
|
3
|
+
);border-radius:1px;content:"";height:2px;left:0;position:absolute;top:13px;width:100%;z-index:-1}.vkuiSlider__in{height:100%;position:relative}.vkuiSlider__dragger{height:0;left:0;position:absolute;top:13px;width:0}.vkuiSlider__dragger:before{background:#2688eb;background:var(--accent,var(--vkui--color_background_accent));border-radius:1px;content:"";height:2px;left:-14px;position:absolute;top:0;width:calc(100% + 28px)}.vkuiSlider__thumb{background:#fff;background:var(--vkui--color_background_contrast,#fff);border:.5px solid rgba(0,0,0,.12);border:.5px solid var(--vkui--color_separator_primary_alpha,rgba(0,0,0,.12));border-radius:14px;box-shadow:0 0 2px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.08);box-shadow:var(--vkui--elevation3,0 0 2px rgba(0,0,0,.08),0 4px 16px rgba(0,0,0,.08));height:28px;position:absolute;top:-13px;transition:-webkit-transform .1s ease;transition:transform .1s ease;transition:transform .1s ease,-webkit-transform .1s ease;width:28px}.vkuiSlider__thumb--start{left:-14px}.vkuiSlider__thumb--end{right:-14px}.vkuiSlider--disabled{opacity:.64;opacity:var(--vkui--opacity_disable_accessibility,.64)}.vkuiSlider--sizeY-compact{height:24px;padding:0 12px}.vkuiSlider--sizeY-compact .vkuiSlider__dragger,.vkuiSlider--sizeY-compact:before{top:11px}.vkuiSlider--sizeY-compact .vkuiSlider__dragger:before{left:-12px;width:calc(100% + 24px)}.vkuiSlider--sizeY-compact .vkuiSlider__thumb{height:24px;top:-11px;width:24px}.vkuiSlider--sizeY-compact .vkuiSlider__thumb--start{left:-12px}.vkuiSlider--sizeY-compact .vkuiSlider__thumb--end{right:-12px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSliderSwitch{
|
|
1
|
+
.vkuiSliderSwitch{background-color:#f2f3f5;background-color:var(--field_background);border-radius:8px;box-sizing:border-box;display:flex;height:44px;position:relative;transition:all .1s ease-out;width:100%}.vkuiSliderSwitch__button{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;background:transparent;border:0;box-sizing:border-box;color:#6d7885;color:var(--text_subhead);cursor:pointer;display:flex;height:100%;justify-content:center;margin:0;padding:0;transition:color .1s ease-out;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:50%;z-index:1}.vkuiSliderSwitch__button--focus{box-shadow:inset 0 0 0 1px #2688eb;box-shadow:inset 0 0 0 1px var(--accent)}.vkuiSliderSwitch__button--ios{border-radius:10px}.vkuiSliderSwitch__button--android,.vkuiSliderSwitch__button--vkcom{border-radius:8px}.vkuiSliderSwitch__button--hover{color:#99a2ad;color:var(--text_tertiary)}.vkuiSliderSwitch__border{background-color:#b8c1cc;background-color:var(--toolbar_attach_background_from);height:28px;left:50%;opacity:.5;position:absolute;top:8px;width:1px}.vkuiSliderSwitch__button--active{color:#000;color:var(--text_primary);transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.vkuiSliderSwitch__button--activeHover{color:#000;color:var(--header_alternate_tab_active_text)}.vkuiSliderSwitch__slider{border-radius:6px;height:40px;left:0;margin:2px;position:absolute;top:0;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s;width:calc(50% - 4px)}.vkuiSliderSwitch--firstActive{margin-left:2px}.vkuiSliderSwitch--firstActive,.vkuiSliderSwitch--secondActive{background-color:#fff;background-color:var(--background_content)}.vkuiSliderSwitch--secondActive{-webkit-transform:translateX(calc(100% + 4px));transform:translateX(calc(100% + 4px))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSnackbar{
|
|
1
|
+
.vkuiSnackbar{bottom:0;left:auto;padding-bottom:0;padding-bottom:var(--safe-area-inset-bottom);padding-left:0;padding-left:var(--safe-area-inset-left);padding-right:0;padding-right:var(--safe-area-inset-right);position:fixed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;z-index:101}.vkuiEpic .vkuiSnackbar{padding-bottom:48px;padding-bottom:calc(var(--tabbar_height) + var(--safe-area-inset-bottom))}.vkuiSnackbar__body,.vkuiSnackbar__in{transition:-webkit-transform .32s cubic-bezier(.4,0,.2,1);transition:transform .32s cubic-bezier(.4,0,.2,1);transition:transform .32s cubic-bezier(.4,0,.2,1),-webkit-transform .32s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .32s var(--android-easing);transition:transform .32s var(--android-easing);transition:transform .32s var(--android-easing),-webkit-transform .32s var(--android-easing)}.vkuiSnackbar__in{-webkit-animation:vkui-animation-snackbar-intro-vertical .34s cubic-bezier(.4,0,.2,1);animation:vkui-animation-snackbar-intro-vertical .34s cubic-bezier(.4,0,.2,1);-webkit-animation:vkui-animation-snackbar-intro-vertical .34s var(--android-easing);animation:vkui-animation-snackbar-intro-vertical .34s var(--android-easing);padding:8px}.vkuiSnackbar--closing .vkuiSnackbar__in{-webkit-transform:translate3d(0,140%,0);transform:translate3d(0,140%,0)}.vkuiSnackbar__body{align-items:center;background:#fff;background:var(--modal_card_background,var(--vkui--color_background_modal));border-radius:8px;border-radius:var(--vkui--size_border_radius--regular,8px);box-shadow:0 0 8px rgba(0,0,0,.12),0 16px 16px rgba(0,0,0,.16);box-shadow:var(--vkui--elevation4,0 0 8px rgba(0,0,0,.12),0 16px 16px rgba(0,0,0,.16));box-sizing:border-box;display:flex;min-height:56px;padding:12px 16px}.vkuiSnackbar--dark .vkuiSnackbar__body{background:#2d2d2e;background:var(--vkui--color_background_contrast_inverse,#2d2d2e)}.vkuiSnackbar__before{margin-left:-4px;margin-right:12px}.vkuiSnackbar__after{margin-left:12px;margin-right:-4px}.vkuiSnackbar__content{align-items:center;display:flex;flex:1;overflow:hidden}.vkuiSnackbar--l-vertical .vkuiSnackbar__content{align-items:flex-start;flex-direction:column}.vkuiSnackbar__content-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#000;color:var(--text_primary,var(--vkui--color_text_primary));display:-webkit-box;flex:1;overflow:hidden;width:100%}.vkuiSnackbar--dark .vkuiSnackbar__content-text{color:#fff;color:var(--vkui--color_text_contrast,#fff)}.vkuiSnackbar--l-horizontal .vkuiSnackbar__action{margin-right:-12px;margin-right:calc(var(--vkui--size_button_tertiary_small_padding_horizontal--regular,12px)*-1);position:relative}.vkuiSnackbar--l-vertical .vkuiSnackbar__action{margin-bottom:-6px;margin-left:-12px;margin-left:calc(var(--vkui--size_button_tertiary_small_padding_horizontal--regular,12px)*-1)}.vkuiModalRoot .vkuiSnackbar{padding-bottom:0;padding-bottom:var(--safe-area-inset-bottom)}.vkuiSnackbar--ios .vkuiSnackbar__body,.vkuiSnackbar--ios .vkuiSnackbar__in{transition:-webkit-transform .4s cubic-bezier(.36,.66,.04,1);transition:transform .4s cubic-bezier(.36,.66,.04,1);transition:transform .4s cubic-bezier(.36,.66,.04,1),-webkit-transform .4s cubic-bezier(.36,.66,.04,1);transition:-webkit-transform .4s var(--ios-easing);transition:transform .4s var(--ios-easing);transition:transform .4s var(--ios-easing),-webkit-transform .4s var(--ios-easing)}.vkuiSnackbar--ios .vkuiSnackbar__in{-webkit-animation:vkui-animation-snackbar-intro-vertical .34s cubic-bezier(.36,.66,.04,1);animation:vkui-animation-snackbar-intro-vertical .34s cubic-bezier(.36,.66,.04,1);-webkit-animation:vkui-animation-snackbar-intro-vertical .34s var(--ios-easing);animation:vkui-animation-snackbar-intro-vertical .34s var(--ios-easing)}.vkuiSnackbar--desktop{bottom:0;left:0;max-width:328px}.vkuiSnackbar--desktop .vkuiSnackbar__in{-webkit-animation-name:vkui-animation-snackbar-intro-horizontal;animation-name:vkui-animation-snackbar-intro-horizontal;padding:12px}.vkuiSnackbar--desktop.vkuiSnackbar--closing .vkuiSnackbar__in{-webkit-transform:translate3d(-140%,0,0);transform:translate3d(-140%,0,0)}.vkuiSnackbar--touched .vkuiSnackbar__body{transition:none}@-webkit-keyframes vkui-animation-snackbar-intro-vertical{0%{-webkit-transform:translate3d(0,140%,0);transform:translate3d(0,140%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes vkui-animation-snackbar-intro-vertical{0%{-webkit-transform:translate3d(0,140%,0);transform:translate3d(0,140%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes vkui-animation-snackbar-intro-horizontal{0%{-webkit-transform:translate3d(-140%,0,0);transform:translate3d(-140%,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes vkui-animation-snackbar-intro-horizontal{0%{-webkit-transform:translate3d(-140%,0,0);transform:translate3d(-140%,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}
|
|
@@ -31,8 +31,12 @@ export interface SnackbarProps extends React.HTMLAttributes<HTMLElement>, HasPla
|
|
|
31
31
|
* Обработчик закрытия уведомления
|
|
32
32
|
*/
|
|
33
33
|
onClose: () => void;
|
|
34
|
+
/**
|
|
35
|
+
* Задает стиль снекбара
|
|
36
|
+
*/
|
|
37
|
+
mode?: "default" | "dark";
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
36
40
|
* @see https://vkcom.github.io/VKUI/#/Snackbar
|
|
37
41
|
*/
|
|
38
|
-
export declare const Snackbar: React.FC<Pick<SnackbarProps & AdaptivityContextInterface, "platform" | "hidden" | "dir" | "slot" | "style" | "title" | "color" | "layout" | "after" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "action" | "duration" | "onClose" | "before" | "onActionClick"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
|
|
42
|
+
export declare const Snackbar: React.FC<Pick<SnackbarProps & AdaptivityContextInterface, "platform" | "hidden" | "dir" | "slot" | "style" | "title" | "color" | "layout" | "after" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "mode" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "action" | "duration" | "onClose" | "before" | "onActionClick"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["children", "layout", "action", "before", "after", "viewWidth", "duration", "onActionClick", "onClose"];
|
|
4
|
+
var _excluded = ["children", "layout", "action", "before", "after", "viewWidth", "duration", "onActionClick", "onClose", "mode"];
|
|
5
5
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { Touch } from "../Touch/Touch";
|
|
8
8
|
import { classNames } from "../../lib/classNames";
|
|
9
|
-
import {
|
|
10
|
-
import { ANDROID, VKCOM } from "../../lib/platform";
|
|
9
|
+
import { ANDROID, IOS, VKCOM } from "../../lib/platform";
|
|
11
10
|
import { rubber } from "../../lib/touch";
|
|
12
11
|
import { withAdaptivity, ViewWidth } from "../../hoc/withAdaptivity";
|
|
13
|
-
import {
|
|
12
|
+
import { Paragraph } from "../Typography/Paragraph/Paragraph";
|
|
14
13
|
import { Button } from "../Button/Button";
|
|
15
14
|
import { AppRootPortal } from "../AppRoot/AppRootPortal";
|
|
16
15
|
import { useWaitTransitionFinish } from "../../hooks/useWaitTransitionFinish";
|
|
@@ -30,6 +29,8 @@ var SnackbarComponent = function SnackbarComponent(_ref) {
|
|
|
30
29
|
duration = _ref$duration === void 0 ? 4000 : _ref$duration,
|
|
31
30
|
onActionClick = _ref.onActionClick,
|
|
32
31
|
onClose = _ref.onClose,
|
|
32
|
+
_ref$mode = _ref.mode,
|
|
33
|
+
mode = _ref$mode === void 0 ? "default" : _ref$mode,
|
|
33
34
|
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
34
35
|
|
|
35
36
|
var platform = usePlatform();
|
|
@@ -141,12 +142,7 @@ var SnackbarComponent = function SnackbarComponent(_ref) {
|
|
|
141
142
|
}, [closeTimeout]);
|
|
142
143
|
var resolvedLayout = after || isDesktop ? "vertical" : layout;
|
|
143
144
|
return createScopedElement(AppRootPortal, null, createScopedElement("div", _extends({}, restProps, {
|
|
144
|
-
|
|
145
|
-
vkuiClass: classNames(getClassName("Snackbar", platform), "Snackbar--l-".concat(resolvedLayout), {
|
|
146
|
-
"Snackbar--closing": closing,
|
|
147
|
-
"Snackbar--touched": touched,
|
|
148
|
-
"Snackbar--desktop": isDesktop
|
|
149
|
-
})
|
|
145
|
+
vkuiClass: classNames("Snackbar", platform === IOS && "Snackbar--ios", "Snackbar--l-".concat(resolvedLayout), "Snackbar--".concat(mode), closing && "Snackbar--closing", touched && "Snackbar--touched", isDesktop && "Snackbar--desktop")
|
|
150
146
|
}), createScopedElement(Touch, {
|
|
151
147
|
vkuiClass: "Snackbar__in",
|
|
152
148
|
getRootRef: innerElRef,
|
|
@@ -160,12 +156,13 @@ var SnackbarComponent = function SnackbarComponent(_ref) {
|
|
|
160
156
|
vkuiClass: "Snackbar__before"
|
|
161
157
|
}, before), createScopedElement("div", {
|
|
162
158
|
vkuiClass: "Snackbar__content"
|
|
163
|
-
}, createScopedElement(
|
|
159
|
+
}, createScopedElement(Paragraph, {
|
|
164
160
|
vkuiClass: "Snackbar__content-text"
|
|
165
161
|
}, children), action && createScopedElement(Button, {
|
|
166
162
|
align: "left",
|
|
167
163
|
hasHover: false,
|
|
168
164
|
mode: "tertiary",
|
|
165
|
+
appearance: mode === "dark" ? "overlay" : "accent",
|
|
169
166
|
size: "s",
|
|
170
167
|
vkuiClass: "Snackbar__action",
|
|
171
168
|
onClick: handleActionClick
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Snackbar/Snackbar.tsx"],"names":["React","Touch","classNames","getClassName","ANDROID","VKCOM","rubber","withAdaptivity","ViewWidth","Text","Button","AppRootPortal","useWaitTransitionFinish","usePlatform","useTimeout","SnackbarComponent","children","layout","action","before","after","viewWidth","duration","onActionClick","onClose","restProps","platform","waitTransitionFinish","useState","closing","setClosing","touched","setTouched","shiftXPercentRef","useRef","shiftXCurrentRef","bodyElRef","innerElRef","animationFrameRef","isDesktop","SMALL_TABLET","transitionFinishDurationFallback","close","current","handleActionClick","e","closeTimeout","setBodyTransform","percent","cancelAnimationFrame","requestAnimationFrame","style","transform","onTouchStart","clear","onTouchMoveX","event","shiftX","originalEvent","preventDefault","offsetWidth","onTouchEnd","callback","shiftXCurrent","expectTranslateY","set","useEffect","resolvedLayout","displayName","Snackbar"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasPlatform } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { rubber } from \"../../lib/touch\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { Button } from \"../Button/Button\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { useWaitTransitionFinish } from \"../../hooks/useWaitTransitionFinish\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Snackbar.css\";\n\nexport interface SnackbarProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n /**\n * Название кнопки действия в уведомлении\n */\n action?: React.ReactNode;\n\n /**\n * Будет вызвано при клике на кнопку действия\n */\n onActionClick?: (e: React.MouseEvent) => void;\n\n /**\n * Цветная иконка 24x24 пикселя\n */\n before?: React.ReactNode;\n /**\n * Контент в правой части, может быть `<Avatar size={32} />`\n */\n after?: React.ReactNode;\n /**\n * Варианты расположения кнопки\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Время в миллисекундах, через которое плашка скроется\n */\n duration?: number;\n /**\n * Обработчик закрытия уведомления\n */\n onClose: () => void;\n}\n\nconst SnackbarComponent = ({\n children,\n layout = \"horizontal\",\n action,\n before,\n after,\n viewWidth,\n duration = 4000,\n onActionClick,\n onClose,\n ...restProps\n}: SnackbarProps & AdaptivityContextInterface) => {\n const platform = usePlatform();\n\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n const [touched, setTouched] = React.useState(false);\n\n const shiftXPercentRef = React.useRef<number>(0);\n const shiftXCurrentRef = React.useRef<number>(0);\n\n const bodyElRef = React.useRef<HTMLDivElement | null>(null);\n const innerElRef = React.useRef<HTMLDivElement | null>(null);\n\n const animationFrameRef = React.useRef<ReturnType<\n typeof requestAnimationFrame\n > | null>(null);\n\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const transitionFinishDurationFallback =\n platform === ANDROID || platform === VKCOM ? 400 : 320;\n\n const close = () => {\n setClosing(true);\n waitTransitionFinish(\n innerElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n };\n\n const handleActionClick: React.MouseEventHandler<HTMLElement> = (e) => {\n close();\n\n if (action && typeof onActionClick === \"function\") {\n onActionClick(e);\n }\n };\n\n const closeTimeout = useTimeout(close, duration);\n\n const setBodyTransform = (percent: number) => {\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n animationFrameRef.current = requestAnimationFrame(() => {\n if (bodyElRef.current) {\n bodyElRef.current.style.transform = `translate3d(${percent}%, 0, 0)`;\n }\n });\n };\n\n const onTouchStart = closeTimeout.clear;\n\n const onTouchMoveX = (event: TouchEvent) => {\n const { shiftX, originalEvent } = event;\n originalEvent.preventDefault();\n\n if (!touched) {\n setTouched(true);\n }\n\n shiftXPercentRef.current =\n (shiftX / (bodyElRef.current?.offsetWidth ?? 0)) * 100;\n shiftXCurrentRef.current = rubber(\n shiftXPercentRef.current,\n 72,\n 1.2,\n platform === ANDROID || platform === VKCOM\n );\n\n setBodyTransform(shiftXCurrentRef.current);\n };\n\n const onTouchEnd = (e: TouchEvent) => {\n let callback: VoidFunction | undefined;\n\n if (touched) {\n let shiftXCurrent = shiftXCurrentRef.current;\n const expectTranslateY = (shiftXCurrent / e.duration) * 240 * 0.6;\n shiftXCurrent = shiftXCurrent + expectTranslateY;\n\n if (isDesktop && shiftXCurrent <= -50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n setBodyTransform(-120);\n } else if (!isDesktop && shiftXCurrent >= 50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n setBodyTransform(120);\n } else {\n callback = () => {\n closeTimeout.set();\n setBodyTransform(0);\n };\n }\n } else {\n closeTimeout.set();\n }\n\n setTouched(false);\n callback && requestAnimationFrame(callback);\n };\n\n React.useEffect(() => closeTimeout.set(), [closeTimeout]);\n\n const resolvedLayout = after || isDesktop ? \"vertical\" : layout;\n\n return (\n <AppRootPortal>\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"Snackbar\", platform),\n `Snackbar--l-${resolvedLayout}`,\n {\n \"Snackbar--closing\": closing,\n \"Snackbar--touched\": touched,\n \"Snackbar--desktop\": isDesktop,\n }\n )}\n >\n <Touch\n vkuiClass=\"Snackbar__in\"\n getRootRef={innerElRef}\n onStart={onTouchStart}\n onMoveX={onTouchMoveX}\n onEnd={onTouchEnd}\n >\n <div vkuiClass=\"Snackbar__body\" ref={bodyElRef}>\n {before && <div vkuiClass=\"Snackbar__before\">{before}</div>}\n\n <div vkuiClass=\"Snackbar__content\">\n <Text vkuiClass=\"Snackbar__content-text\">{children}</Text>\n\n {action && (\n <Button\n align=\"left\"\n hasHover={false}\n mode=\"tertiary\"\n size=\"s\"\n vkuiClass=\"Snackbar__action\"\n onClick={handleActionClick}\n >\n {action}\n </Button>\n )}\n </div>\n\n {after && <div vkuiClass=\"Snackbar__after\">{after}</div>}\n </div>\n </Touch>\n </div>\n </AppRootPortal>\n );\n};\n\nSnackbarComponent.displayName = \"Snackbar\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Snackbar\n */\nexport const Snackbar = withAdaptivity(SnackbarComponent, {\n viewWidth: true,\n});\n"],"file":"Snackbar.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Snackbar/Snackbar.tsx"],"names":["React","Touch","classNames","ANDROID","IOS","VKCOM","rubber","withAdaptivity","ViewWidth","Paragraph","Button","AppRootPortal","useWaitTransitionFinish","usePlatform","useTimeout","SnackbarComponent","children","layout","action","before","after","viewWidth","duration","onActionClick","onClose","mode","restProps","platform","waitTransitionFinish","useState","closing","setClosing","touched","setTouched","shiftXPercentRef","useRef","shiftXCurrentRef","bodyElRef","innerElRef","animationFrameRef","isDesktop","SMALL_TABLET","transitionFinishDurationFallback","close","current","handleActionClick","e","closeTimeout","setBodyTransform","percent","cancelAnimationFrame","requestAnimationFrame","style","transform","onTouchStart","clear","onTouchMoveX","event","shiftX","originalEvent","preventDefault","offsetWidth","onTouchEnd","callback","shiftXCurrent","expectTranslateY","set","useEffect","resolvedLayout","displayName","Snackbar"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { classNames } from \"../../lib/classNames\";\nimport { HasPlatform } from \"../../types\";\nimport { ANDROID, IOS, VKCOM } from \"../../lib/platform\";\nimport { rubber } from \"../../lib/touch\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { Paragraph } from \"../Typography/Paragraph/Paragraph\";\nimport { Button } from \"../Button/Button\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { useWaitTransitionFinish } from \"../../hooks/useWaitTransitionFinish\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Snackbar.css\";\n\nexport interface SnackbarProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n /**\n * Название кнопки действия в уведомлении\n */\n action?: React.ReactNode;\n\n /**\n * Будет вызвано при клике на кнопку действия\n */\n onActionClick?: (e: React.MouseEvent) => void;\n\n /**\n * Цветная иконка 24x24 пикселя\n */\n before?: React.ReactNode;\n /**\n * Контент в правой части, может быть `<Avatar size={32} />`\n */\n after?: React.ReactNode;\n /**\n * Варианты расположения кнопки\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Время в миллисекундах, через которое плашка скроется\n */\n duration?: number;\n /**\n * Обработчик закрытия уведомления\n */\n onClose: () => void;\n /**\n * Задает стиль снекбара\n */\n mode?: \"default\" | \"dark\";\n}\n\nconst SnackbarComponent = ({\n children,\n layout = \"horizontal\",\n action,\n before,\n after,\n viewWidth,\n duration = 4000,\n onActionClick,\n onClose,\n mode = \"default\",\n ...restProps\n}: SnackbarProps & AdaptivityContextInterface) => {\n const platform = usePlatform();\n\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n const [touched, setTouched] = React.useState(false);\n\n const shiftXPercentRef = React.useRef<number>(0);\n const shiftXCurrentRef = React.useRef<number>(0);\n\n const bodyElRef = React.useRef<HTMLDivElement | null>(null);\n const innerElRef = React.useRef<HTMLDivElement | null>(null);\n\n const animationFrameRef = React.useRef<ReturnType<\n typeof requestAnimationFrame\n > | null>(null);\n\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n const transitionFinishDurationFallback =\n platform === ANDROID || platform === VKCOM ? 400 : 320;\n\n const close = () => {\n setClosing(true);\n waitTransitionFinish(\n innerElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n };\n\n const handleActionClick: React.MouseEventHandler<HTMLElement> = (e) => {\n close();\n\n if (action && typeof onActionClick === \"function\") {\n onActionClick(e);\n }\n };\n\n const closeTimeout = useTimeout(close, duration);\n\n const setBodyTransform = (percent: number) => {\n if (animationFrameRef.current !== null) {\n cancelAnimationFrame(animationFrameRef.current);\n }\n animationFrameRef.current = requestAnimationFrame(() => {\n if (bodyElRef.current) {\n bodyElRef.current.style.transform = `translate3d(${percent}%, 0, 0)`;\n }\n });\n };\n\n const onTouchStart = closeTimeout.clear;\n\n const onTouchMoveX = (event: TouchEvent) => {\n const { shiftX, originalEvent } = event;\n originalEvent.preventDefault();\n\n if (!touched) {\n setTouched(true);\n }\n\n shiftXPercentRef.current =\n (shiftX / (bodyElRef.current?.offsetWidth ?? 0)) * 100;\n shiftXCurrentRef.current = rubber(\n shiftXPercentRef.current,\n 72,\n 1.2,\n platform === ANDROID || platform === VKCOM\n );\n\n setBodyTransform(shiftXCurrentRef.current);\n };\n\n const onTouchEnd = (e: TouchEvent) => {\n let callback: VoidFunction | undefined;\n\n if (touched) {\n let shiftXCurrent = shiftXCurrentRef.current;\n const expectTranslateY = (shiftXCurrent / e.duration) * 240 * 0.6;\n shiftXCurrent = shiftXCurrent + expectTranslateY;\n\n if (isDesktop && shiftXCurrent <= -50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n setBodyTransform(-120);\n } else if (!isDesktop && shiftXCurrent >= 50) {\n closeTimeout.clear();\n waitTransitionFinish(\n bodyElRef.current,\n () => {\n onClose();\n },\n transitionFinishDurationFallback\n );\n setBodyTransform(120);\n } else {\n callback = () => {\n closeTimeout.set();\n setBodyTransform(0);\n };\n }\n } else {\n closeTimeout.set();\n }\n\n setTouched(false);\n callback && requestAnimationFrame(callback);\n };\n\n React.useEffect(() => closeTimeout.set(), [closeTimeout]);\n\n const resolvedLayout = after || isDesktop ? \"vertical\" : layout;\n\n return (\n <AppRootPortal>\n <div\n {...restProps}\n vkuiClass={classNames(\n \"Snackbar\",\n platform === IOS && \"Snackbar--ios\",\n `Snackbar--l-${resolvedLayout}`,\n `Snackbar--${mode}`,\n closing && \"Snackbar--closing\",\n touched && \"Snackbar--touched\",\n isDesktop && \"Snackbar--desktop\"\n )}\n >\n <Touch\n vkuiClass=\"Snackbar__in\"\n getRootRef={innerElRef}\n onStart={onTouchStart}\n onMoveX={onTouchMoveX}\n onEnd={onTouchEnd}\n >\n <div vkuiClass=\"Snackbar__body\" ref={bodyElRef}>\n {before && <div vkuiClass=\"Snackbar__before\">{before}</div>}\n\n <div vkuiClass=\"Snackbar__content\">\n <Paragraph vkuiClass=\"Snackbar__content-text\">\n {children}\n </Paragraph>\n\n {action && (\n <Button\n align=\"left\"\n hasHover={false}\n mode=\"tertiary\"\n appearance={mode === \"dark\" ? \"overlay\" : \"accent\"}\n size=\"s\"\n vkuiClass=\"Snackbar__action\"\n onClick={handleActionClick}\n >\n {action}\n </Button>\n )}\n </div>\n\n {after && <div vkuiClass=\"Snackbar__after\">{after}</div>}\n </div>\n </Touch>\n </div>\n </AppRootPortal>\n );\n};\n\nSnackbarComponent.displayName = \"Snackbar\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Snackbar\n */\nexport const Snackbar = withAdaptivity(SnackbarComponent, {\n viewWidth: true,\n});\n"],"file":"Snackbar.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSpacing{color:#d7d8d9;color:var(--separator_common,
|
|
1
|
+
.vkuiSpacing{box-sizing:border-box;color:#d7d8d9;color:var(--separator_common,var(--vkui--color_separator_primary));display:flex;flex-flow:column;justify-content:center;position:relative}.vkuiSpacing--separator{padding-left:16px;padding-left:var(--vkui--size_base_padding_horizontal--regular,16px);padding-right:16px;padding-right:var(--vkui--size_base_padding_horizontal--regular,16px)}.vkuiSpacing--separator-center{justify-content:center}.vkuiSpacing--separator-bottom{flex-direction:column-reverse}.vkuiSpacing--separator:after{background:currentColor;content:"";display:block;height:1px;-webkit-transform-origin:center top;transform-origin:center top}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.vkuiSpacing--separator:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:3dppx){.vkuiSpacing--separator:after{-webkit-transform:scaleY(.32);transform:scaleY(.32)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSpinner{
|
|
1
|
+
.vkuiSpinner{align-items:center;color:#99a2ad;color:var(--icon_outline_secondary,var(--vkui--color_icon_medium));display:flex;height:100%;justify-content:center;width:100%}.vkuiSpinner__self{-webkit-animation:vkui-rotator .7s linear infinite;animation:vkui-rotator .7s linear infinite;-webkit-animation:vkui-rotator var(--duration) linear infinite;animation:vkui-rotator var(--duration) linear infinite;-webkit-transform-origin:center;transform-origin:center}.vkuiSpinner__self svg{-webkit-transform:scale(1);transform:scale(1)}.vkuiButton .vkuiSpinner,.vkuiPanelHeader .vkuiSpinner{color:currentColor}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSplitCol{
|
|
1
|
+
.vkuiSplitCol{flex-grow:1;flex-shrink:1;height:100%;position:relative;width:1px}.vkuiSplitCol--spaced{margin:0 16px;margin:0 var(--vkui--size_split_col_padding_horizontal--regular,16px)}.vkuiSplitCol--fixed{flex-grow:1;flex-shrink:1;height:100%;width:1px}.vkuiSplitCol__fixedInner{height:inherit;max-width:inherit;min-width:inherit;overflow:hidden;position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);width:inherit}
|
|
@@ -5,6 +5,7 @@ export interface SplitColContextProps {
|
|
|
5
5
|
animate: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare const SplitColContext: React.Context<SplitColContextProps>;
|
|
8
|
+
export declare const useSplitCol: () => SplitColContextProps;
|
|
8
9
|
export interface SplitColProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
9
10
|
width?: number | string;
|
|
10
11
|
maxWidth?: number | string;
|
|
@@ -12,6 +12,9 @@ export var SplitColContext = /*#__PURE__*/React.createContext({
|
|
|
12
12
|
colRef: null,
|
|
13
13
|
animate: true
|
|
14
14
|
});
|
|
15
|
+
export var useSplitCol = function useSplitCol() {
|
|
16
|
+
return React.useContext(SplitColContext);
|
|
17
|
+
};
|
|
15
18
|
|
|
16
19
|
/**
|
|
17
20
|
* @see https://vkcom.github.io/VKUI/#/SplitCol
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SplitCol/SplitCol.tsx"],"names":["React","useScrollLockEffect","classNames","noop","SplitColContext","createContext","colRef","animate","SplitCol","children","width","maxWidth","minWidth","spaced","fixed","style","restProps","baseRef","useRef","fixedInnerRef","contextValue","useMemo","fixedInner","current","top","offsetTop"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,mBAAT;AACA,SAASC,UAAT;AACA,SAASC,IAAT;AACA;AAOA,OAAO,IAAMC,eAAe,gBAAGJ,KAAK,CAACK,aAAN,CAA0C;AACvEC,EAAAA,MAAM,EAAE,IAD+D;AAEvEC,EAAAA,OAAO,EAAE;AAF8D,CAA1C,CAAxB;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SplitCol/SplitCol.tsx"],"names":["React","useScrollLockEffect","classNames","noop","SplitColContext","createContext","colRef","animate","useSplitCol","useContext","SplitCol","children","width","maxWidth","minWidth","spaced","fixed","style","restProps","baseRef","useRef","fixedInnerRef","contextValue","useMemo","fixedInner","current","top","offsetTop"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,mBAAT;AACA,SAASC,UAAT;AACA,SAASC,IAAT;AACA;AAOA,OAAO,IAAMC,eAAe,gBAAGJ,KAAK,CAACK,aAAN,CAA0C;AACvEC,EAAAA,MAAM,EAAE,IAD+D;AAEvEC,EAAAA,OAAO,EAAE;AAF8D,CAA1C,CAAxB;AAKP,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAMR,KAAK,CAACS,UAAN,CAAiBL,eAAjB,CAAN;AAAA,CAApB;;AAiBP;AACA;AACA;AACA,OAAO,IAAMM,QAAQ,GAAG,SAAXA,QAAW,OAUH;AAAA,MATnBC,QASmB,QATnBA,QASmB;AAAA,MARnBC,KAQmB,QARnBA,KAQmB;AAAA,MAPnBC,QAOmB,QAPnBA,QAOmB;AAAA,MANnBC,QAMmB,QANnBA,QAMmB;AAAA,MALnBC,MAKmB,QALnBA,MAKmB;AAAA,0BAJnBR,OAImB;AAAA,MAJnBA,OAImB,6BAJT,KAIS;AAAA,MAHnBS,KAGmB,QAHnBA,KAGmB;AAAA,MAFnBC,KAEmB,QAFnBA,KAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,OAAO,GAAGnB,KAAK,CAACoB,MAAN,CAA6B,IAA7B,CAAhB;AAEA,MAAMC,aAAa,GAAGrB,KAAK,CAACoB,MAAN,CAA6B,IAA7B,CAAtB;AAEA,MAAME,YAAY,GAAGtB,KAAK,CAACuB,OAAN,CAAc,YAAM;AACvC,WAAO;AACLjB,MAAAA,MAAM,EAAEa,OADH;AAELZ,MAAAA,OAAO,EAAPA;AAFK,KAAP;AAID,GALoB,EAKlB,CAACY,OAAD,EAAUZ,OAAV,CALkB,CAArB;AAOAN,EAAAA,mBAAmB,CAAC,YAAM;AACxB,QAAMuB,UAAU,GAAGH,aAAa,CAACI,OAAjC;;AACA,QAAI,CAACD,UAAL,EAAiB;AACf,aAAOrB,IAAP;AACD;;AAEDqB,IAAAA,UAAU,CAACP,KAAX,CAAiBS,GAAjB,aAA0BF,UAAU,CAACG,SAArC;AAEA,WAAO,YAAM;AACXH,MAAAA,UAAU,CAACP,KAAX,CAAiBS,GAAjB,GAAuB,EAAvB;AACD,KAFD;AAGD,GAXkB,EAWhB,CAACL,aAAa,CAACI,OAAf,CAXgB,CAAnB;AAaA,SACE,wCACMP,SADN;AAEE,IAAA,KAAK,kCACAD,KADA;AAEHL,MAAAA,KAAK,EAAEA,KAFJ;AAGHC,MAAAA,QAAQ,EAAEA,QAHP;AAIHC,MAAAA,QAAQ,EAAEA;AAJP,MAFP;AAQE,IAAA,GAAG,EAAEK,OARP;AASE,IAAA,SAAS,EAAEjB,UAAU,CACnB,UADmB,EAEnBa,MAAM,IAAI,kBAFS,EAGnBC,KAAK,IAAI,iBAHU;AATvB,MAeE,oBAAC,eAAD,CAAiB,QAAjB;AAA0B,IAAA,KAAK,EAAEM;AAAjC,KACGN,KAAK,GACJ;AAAK,IAAA,GAAG,EAAEK,aAAV;AAAyB,IAAA,SAAS,EAAC;AAAnC,KACGV,QADH,CADI,GAKJA,QANJ,CAfF,CADF;AA2BD,CA9DM","sourcesContent":["import * as React from \"react\";\nimport { useScrollLockEffect } from \"../AppRoot/ScrollContext\";\nimport { classNames } from \"../../lib/classNames\";\nimport { noop } from \"../../lib/utils\";\nimport \"./SplitCol.css\";\n\nexport interface SplitColContextProps {\n colRef: React.RefObject<HTMLDivElement> | null;\n animate: boolean;\n}\n\nexport const SplitColContext = React.createContext<SplitColContextProps>({\n colRef: null,\n animate: true,\n});\n\nexport const useSplitCol = () => React.useContext(SplitColContext);\n\nexport interface SplitColProps extends React.HTMLAttributes<HTMLDivElement> {\n width?: number | string;\n maxWidth?: number | string;\n minWidth?: number | string;\n /**\n * Если false, то переходы между Panel происходят без анимации\n */\n animate?: boolean;\n /**\n * Если true, то добавляются боковые отступы фиксированной величины\n */\n spaced?: boolean;\n fixed?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/SplitCol\n */\nexport const SplitCol = ({\n children,\n width,\n maxWidth,\n minWidth,\n spaced,\n animate = false,\n fixed,\n style,\n ...restProps\n}: SplitColProps) => {\n const baseRef = React.useRef<HTMLDivElement>(null);\n\n const fixedInnerRef = React.useRef<HTMLDivElement>(null);\n\n const contextValue = React.useMemo(() => {\n return {\n colRef: baseRef,\n animate,\n };\n }, [baseRef, animate]);\n\n useScrollLockEffect(() => {\n const fixedInner = fixedInnerRef.current;\n if (!fixedInner) {\n return noop;\n }\n\n fixedInner.style.top = `${fixedInner.offsetTop}px`;\n\n return () => {\n fixedInner.style.top = \"\";\n };\n }, [fixedInnerRef.current]);\n\n return (\n <div\n {...restProps}\n style={{\n ...style,\n width: width,\n maxWidth: maxWidth,\n minWidth: minWidth,\n }}\n ref={baseRef}\n vkuiClass={classNames(\n \"SplitCol\",\n spaced && \"SplitCol--spaced\",\n fixed && \"SplitCol--fixed\"\n )}\n >\n <SplitColContext.Provider value={contextValue}>\n {fixed ? (\n <div ref={fixedInnerRef} vkuiClass=\"SplitCol__fixedInner\">\n {children}\n </div>\n ) : (\n children\n )}\n </SplitColContext.Provider>\n </div>\n );\n};\n"],"file":"SplitCol.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiSplitLayout{
|
|
1
|
+
.vkuiSplitLayout{font-family:-apple-system,system-ui,Helvetica Neue,Roboto,sans-serif;font-family:var(--font-common);height:100%;position:relative;width:100%}.vkuiSplitLayout__inner{display:flex;height:100%;width:100%}.vkuiSplitLayout__inner--header{margin-top:-56px;margin-top:calc((var(--panelheader_height) + var(--safe-area-inset-top))*-1);position:relative;z-index:11}.vkuiSplitLayout--ios .vkuiSplitLayout__inner--header{margin-top:-52px;margin-top:calc((var(--panelheader_height_ios) + var(--safe-area-inset-top))*-1)}.vkuiSplitLayout__popout{z-index:100}.vkuiSplitLayout__modal,.vkuiSplitLayout__popout{height:100%;left:0;position:fixed;top:0;width:100%}.vkuiSplitLayout__modal{z-index:99}.vkuiSplitLayout__modal:empty{display:none}
|
|
@@ -2,8 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
var _excluded = ["popout", "modal", "header", "children", "getRootRef", "getRef"];
|
|
4
4
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
5
|
-
import { getClassName } from "../../helpers/getClassName";
|
|
6
5
|
import { classNames } from "../../lib/classNames";
|
|
6
|
+
import { IOS } from "../../lib/platform";
|
|
7
7
|
import { PopoutRoot } from "../PopoutRoot/PopoutRoot";
|
|
8
8
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
9
9
|
import "./SplitLayout.css";
|
|
@@ -22,16 +22,13 @@ export var SplitLayout = function SplitLayout(_ref) {
|
|
|
22
22
|
|
|
23
23
|
var platform = usePlatform();
|
|
24
24
|
return createScopedElement(PopoutRoot, {
|
|
25
|
-
vkuiClass:
|
|
25
|
+
vkuiClass: classNames("SplitLayout", platform === IOS && "SplitLayout--ios"),
|
|
26
26
|
popout: popout,
|
|
27
27
|
modal: modal,
|
|
28
28
|
getRootRef: getRootRef
|
|
29
29
|
}, header, createScopedElement("div", _extends({}, restProps, {
|
|
30
|
-
ref: getRef
|
|
31
|
-
,
|
|
32
|
-
vkuiClass: classNames("SplitLayout__inner", {
|
|
33
|
-
"SplitLayout__inner--header": !!header
|
|
34
|
-
})
|
|
30
|
+
ref: getRef,
|
|
31
|
+
vkuiClass: classNames("SplitLayout__inner", !!header && "SplitLayout__inner--header")
|
|
35
32
|
}), children));
|
|
36
33
|
};
|
|
37
34
|
//# sourceMappingURL=SplitLayout.js.map
|