import * as React from 'react'; import { type FloatingComponentProps, type FloatingContentRenderProp, type OnShownChange } from '../../lib/floating'; import type { HTMLAttributesWithRootRef } from '../../types'; import { type FloatingArrowProps as FloatingArrowPropsPrivate } from '../FloatingArrow/FloatingArrow'; import type { FocusTrapProps } from '../FocusTrap/FocusTrap'; /** * @alias * @public */ export type PopoverArrowProps = Omit; /** * @alias * @public */ export type PopoverOnShownChange = OnShownChange; /** * @alias * @public */ export type PopoverContentRenderProp = FloatingContentRenderProp; type AllowedFloatingComponentProps = Pick; /** * @public */ export interface PopoverProps extends Omit, Omit, keyof FloatingComponentProps> { /** * Отключает у всплывающего элемента стилизацию по умолчанию. * * У `content`: * - _background_ * - _border-radius_ * - _box-shadow_. * * У `arrow`: * - _color_. * * Используется в случае, если необходимо стилизовать по своему. Для `arrow` _color_ можно * определить через в `arrowProps.iconClassName` или `arrowProps.iconStyle`. */ noStyling?: boolean; /** * Позволяет набросить на стрелку пользовательские атрибуты. */ arrowProps?: PopoverArrowProps; /** * Пользовательская SVG иконка. * * Требования: * * 1. Иконка по умолчанию должна быть направлена вверх (a.k.a `IconUp`). * 2. Чтобы избежать проблемы с пространством между стрелкой и контентом на некоторых экранах, * растяните кривую по высоте на `1px` и увеличьте на этот размер `height` и `viewBox` SVG. * (смотри https://github.com/VKCOM/VKUI/pull/4496). * 3. Передайте высоту иконки в параметр `arrowHeight`. В значении высоты можно исключить хак с `1px` из п.2. * 4. Убедитесь, что компонент принимает все валидные для SVG параметры. * 5. Убедитесь, что SVG и её элементы наследует цвет через `fill="currentColor"`. */ ArrowIcon?: FloatingArrowPropsPrivate['Icon']; /** * Используется для того, чтобы не удалять всплывающий элемент из DOM дерева при скрытии. */ keepMounted?: boolean; /** * Управление автоматическим фокусом при открытии всплывающего элемента. */ autoFocus?: FocusTrapProps['autoFocus']; } /** * @see https://vkui.io/components/popover */ export declare const Popover: ({ children, ...restProps }: PopoverProps) => React.ReactNode; export {}; //# sourceMappingURL=Popover.d.ts.map