import * as React from 'react'; import { type FloatingComponentProps, type VirtualElement } from '../../lib/floating'; import type { HTMLAttributesWithRootRef } from '../../types'; import { type FloatingArrowProps as FloatingArrowPropsPrivate } from '../FloatingArrow/FloatingArrow'; export type FloatingArrowProps = Omit; type AllowedFloatingComponentProps = Pick; export interface PopperCommonProps extends AllowedFloatingComponentProps, Omit, keyof AllowedFloatingComponentProps> { /** * Позволяет набросить на стрелку пользовательские атрибуты. */ arrowProps?: FloatingArrowProps; /** * Пользовательская 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']; /** * Подписывается на изменение геометрии `targetRef`, чтобы пересчитать свою позицию. */ autoUpdateOnTargetResize?: boolean; /** * Пытаться обновлять позицию всплывающего элемента каждый фрейм. */ autoUpdateOnAnimationFrame?: boolean; } export interface PopperProps extends PopperCommonProps { /** * Ref на якорный элемент. */ targetRef: React.RefObject | VirtualElement; } /** * @see https://vkui.io/components/popper */ export declare const Popper: ({ placement: placementProp, sameWidth, hideWhenReferenceHidden, offsetByMainAxis, offsetByCrossAxis, arrow, arrowHeight, arrowPadding, customMiddlewares, disableFlipMiddleware, disableShiftMiddleware, flipMiddlewareFallbackAxisSideDirection, overflowPadding, autoUpdateOnTargetResize, autoUpdateOnAnimationFrame, strategy: strategyProp, arrowProps, ArrowIcon, targetRef, getRootRef, children, usePortal, onPlacementChange, onReferenceHiddenChange, zIndex, style, ...restProps }: PopperProps) => React.ReactNode; export {}; //# sourceMappingURL=Popper.d.ts.map