UNPKG

@loke/ui

Version:
48 lines (47 loc) 2.73 kB
import { Arrow as ArrowPrimitive } from "@loke/ui/arrow"; import { Primitive } from "@loke/ui/primitive"; import type { Measurable } from "@loke/ui/rect"; import { type ComponentPropsWithoutRef, type FC, type ReactNode, type RefObject } from "react"; declare const SIDE_OPTIONS: readonly ["top", "right", "bottom", "left"]; declare const ALIGN_OPTIONS: readonly ["start", "center", "end"]; type Side = (typeof SIDE_OPTIONS)[number]; type Align = (typeof ALIGN_OPTIONS)[number]; declare const createPopperScope: import("@loke/ui/context").CreateScope; interface PopperProps { children?: ReactNode; } declare const Popper: FC<PopperProps>; type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>; interface PopperAnchorProps extends PrimitiveDivProps { virtualRef?: RefObject<Measurable>; } declare const PopperAnchor: import("react").ForwardRefExoticComponent<PopperAnchorProps & import("react").RefAttributes<HTMLDivElement>>; type Boundary = Element | null; interface PopperContentProps extends PrimitiveDivProps { align?: Align; alignOffset?: number; arrowPadding?: number; avoidCollisions?: boolean; collisionBoundary?: Boundary | Boundary[]; collisionPadding?: number | Partial<Record<Side, number>>; hideWhenDetached?: boolean; onPlaced?: () => void; side?: Side; sideOffset?: number; sticky?: "partial" | "always"; updatePositionStrategy?: "optimized" | "always"; } declare const PopperContent: import("react").ForwardRefExoticComponent<PopperContentProps & import("react").RefAttributes<HTMLDivElement>>; type ArrowProps = ComponentPropsWithoutRef<typeof ArrowPrimitive>; type PopperArrowProps = ArrowProps; declare const PopperArrow: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").SVGProps<SVGSVGElement> & { asChild?: boolean; }, "ref"> & import("react").RefAttributes<SVGSVGElement>, "ref"> & import("react").RefAttributes<SVGSVGElement>>; declare const Root: FC<PopperProps>; declare const Anchor: import("react").ForwardRefExoticComponent<PopperAnchorProps & import("react").RefAttributes<HTMLDivElement>>; declare const Content: import("react").ForwardRefExoticComponent<PopperContentProps & import("react").RefAttributes<HTMLDivElement>>; declare const Arrow: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").SVGProps<SVGSVGElement> & { asChild?: boolean; }, "ref"> & import("react").RefAttributes<SVGSVGElement>, "ref"> & import("react").RefAttributes<SVGSVGElement>>; export { createPopperScope, Popper, PopperAnchor, PopperContent, PopperArrow, Root, Anchor, Content, Arrow, SIDE_OPTIONS, ALIGN_OPTIONS, }; export type { PopperProps, PopperAnchorProps, PopperContentProps, PopperArrowProps, };