import type { CommonProps } from '@skbkontur/react-ui/internal/CommonWrapper'; import React from 'react'; import { SideMenuAvatar } from '../SideMenuAvatar/SideMenuAvatar.js'; import { SideMenuBody } from '../SideMenuBody/SideMenuBody.js'; import { SideMenuDivider } from '../SideMenuDivider/SideMenuDivider.js'; import { SideMenuDropdown } from '../SideMenuDropdown/SideMenuDropdown.js'; import { SideMenuFooter } from '../SideMenuFooter/SideMenuFooter.js'; import { SideMenuHeader } from '../SideMenuHeader/SideMenuHeader.js'; import { SideMenuItem } from '../SideMenuItem/SideMenuItem.js'; import { SideMenuLink } from '../SideMenuLink/SideMenuLink.js'; import { SideMenuNotifications } from '../SideMenuNotifications/SideMenuNotifications.js'; import { SideMenuOrganisations } from '../SideMenuOrganisations/SideMenuOrganisations.js'; import { SideMenuSubItem } from '../SideMenuSubItem/SideMenuSubItem.js'; import { SideMenuSubItemHeader } from '../SideMenuSubItemHeader/SideMenuSubItemHeader.js'; import { SideMenuSubLink } from '../SideMenuSubLink/SideMenuSubLink.js'; export type showScrollBarType = 'always' | 'scroll' | 'hover' | 'never'; export interface SideMenuProps extends CommonProps { children?: React.ReactNode; size?: 'small' | 'large'; /** * Проп для отображения подменю в отдельной колонке */ isSeparatedMenu?: boolean; /** * Проп для закрепленного состояния (работает только на широких экранах) */ isPinned?: boolean; /** * Коллбэк для закрепленного состояния (работает только на широких экранах) */ onPinnedValueChange?: (isPinned: boolean) => void; /** * Заблокировать возможность сворачивания меню до иконок на широких экранах */ disableCollapsing?: boolean; activeItem?: string; onActiveItemChange?: (value: string) => void; desktopMediaQuery?: string; narrowDesktopMediaQuery?: string; tabletMediaQuery?: string; mobileMediaQuery?: string; /** * Показывать скроллбар */ showScrollBar?: showScrollBarType; /** * Открывает и закрывает меню * * Примечание: при заданном пропе `isOpen` автоматическое открытие/закрытие меню не работает */ isOpen?: boolean; /** * Действие при открытии меню */ onOpen?: () => void; /** * Действие при закрытии меню */ onClose?: () => void; } interface SubComponents { Body: typeof SideMenuBody; Footer: typeof SideMenuFooter; Header: typeof SideMenuHeader; Item: typeof SideMenuItem; SubItem: typeof SideMenuSubItem; SubItemHeader: typeof SideMenuSubItemHeader; Avatar: typeof SideMenuAvatar; Organisations: typeof SideMenuOrganisations; Notifications: typeof SideMenuNotifications; Divider: typeof SideMenuDivider; Dropdown: typeof SideMenuDropdown; Link: typeof SideMenuLink; SubLink: typeof SideMenuSubLink; __KONTUR_REACT_UI__: string; } export declare const transitionDuration = 300; export declare const burgerTransitionDuration: number; export declare const SideMenu: React.ForwardRefExoticComponent> & SubComponents; export {};