import * as React from 'react'; import type { HasDataAttribute, HasRootRef, HTMLAttributesWithRootRef } from '../../types'; import { Basic, type BasicProps } from './subcomponents/Basic/Basic'; import type { SnackbarPlacement } from './types'; export type { BasicProps as SnackbarBasicProps }; export type SnackbarCloseReason = 'swipe' | 'timeout' | 'click-action' | 'escape-key' | 'manual'; export interface SnackbarProps extends Omit, 'role'>, BasicProps { /** * Свойства, которые можно прокинуть внутрь компонента: * - `root`: свойства для прокидывания в корень компонента; * - `action`: свойства для прокидывания в кнопку действия. */ slotProps?: { root?: (Omit, 'children'> & HasRootRef & HasDataAttribute) | undefined; action?: (React.HTMLAttributes & HasRootRef & HasDataAttribute) | undefined; } | undefined; /** * Задаёт расположение компонента. * * > Note: в мобильном режиме: * > - `"top-start"`/`"top-end"` перебивается на `"top"`, чтобы поведение было схожим с нативными * > уведомлениями; * > - `"bottom"` перебивается на `"bottom-start"`, чтобы избежать вызова системных * > функций, таких как **Pull To Refresh** и **Режим управления одной рукой**. * > - `"bottom-start"`/`"bottom-end"` закрываются смахиванием в любое из направлений * > по горизонтальной оси. */ placement?: SnackbarPlacement | undefined; /** * Название кнопки действия в уведомлении * Не может использоваться одновременно с `subtitle`. */ action?: React.ReactNode | undefined; /** * Будет вызвано при нажатии на кнопку действия. */ onActionClick?: ((event: React.MouseEvent) => void) | undefined; /** * Время в миллисекундах, через которое плашка скроется. */ duration?: number | null | undefined; /** * Обработчик закрытия уведомления. */ onClose?: ((reason: SnackbarCloseReason) => void) | undefined; /** * Обработчик закрытия уведомления, срабатывающий после окончания анимации. */ onClosed: () => void; /** * Величина отступа снизу. Используется для позиционирования элемента в случае, когда нежелательно, чтобы Snackbar при появлении перекрывал важные элементы интерфейса. */ offsetY?: React.CSSProperties['bottom'] | undefined; /** * Для контролируемого управления состоянием открытия снекбара. */ open?: boolean | undefined; } /** * @see https://vkui.io/components/snackbar */ export declare const Snackbar: React.FC & { Basic: typeof Basic; }; //# sourceMappingURL=Snackbar.d.ts.map