SheetXL - v0.8.0-beta.9+sites.210.e2d420901
    Preparing search index...

    Interface FloatPopperProps

    interface FloatPopperProps {
        anchorEl?: FloatPopperAnchor;
        anchorPosition?: FloatPopperPosition;
        boundary?: () => FloatPopperRect;
        children?: ReactNode;
        container?: Element;
        followAnchor?: boolean;
        label?: string;
        offsets?: number[] | FloatPopperOffsets;
        onClose?: () => void;
        onClosing?: () => void;
        onMount?: (element: HTMLDivElement, instance: FloatPopperInstance) => void;
        onOpen?: () => void;
        onOpening?: () => void;
        open: boolean;
        placement?: Placement;
        ref?: Ref<FloatPopperRef>;
        resizeOnOverflow?: boolean;
        shift?: boolean | { padding?: number };
        strategy?: Strategy;
        themeFrom?: "anchor" | "provider";
        transition?: boolean;
        zIndex?: string | number;
    }

    Hierarchy

    • Omit<React.HTMLAttributes<HTMLDivElement>, "children">
      • FloatPopperProps
    Index

    The element (or virtual element) the popper is positioned against.

    anchorPosition?: FloatPopperPosition

    Explicit position. Takes precedence over anchorEl.

    boundary?: () => FloatPopperRect

    Where the popper may live: a live client rect, read on every reposition, that flip (and size, when it resizes) collide against instead of the document — so a popup can be held inside a region (a grid's data area) rather than the page. Floating UI still intersects it with the browser viewport, so the popper never leaves the screen either.

    none — the document
    
    children?: ReactNode
    container?: Element

    The portal container.

    the fullscreen-aware root (useFullscreenPortal)

    followAnchor?: boolean

    Poll the anchor's position every animation frame while open (Floating UI autoUpdate({ animationFrame: true })). Needed when the anchor is a VIRTUAL element that MOVES with no scroll/resize event to observe — e.g. a caret-following formula hint whose rect changes as the caret moves by click or arrow. Off by default: the per-frame poll has a cost, so only anchors that track a moving point should enable it (a normal element/point anchor repositions fine on scroll/resize alone).

    A virtual anchor that exposes its own contextElement (the element it moves WITH — a grid range anchor names its pane) does not need this: that element's scroll / resize / layout-shift triggers are observed normally.

    false
    
    label?: string
    offsets?: number[] | FloatPopperOffsets

    [skidding, distance] offset (popper.js convention, preserved for compatibility): skidding shifts along the anchor edge, distance pushes away from it. Or the per-axis object form (FloatPopperOffsets) when the alignment axis matters.

    [0, 2]
    
    onClose?: () => void
    onClosing?: () => void
    onMount?: (element: HTMLDivElement, instance: FloatPopperInstance) => void
    onOpen?: () => void
    onOpening?: () => void
    open: boolean

    Whether the popper should be shown (drives the enter/exit transition).

    placement?: Placement
    'bottom-start'
    
    ref?: Ref<FloatPopperRef>
    resizeOnOverflow?: boolean

    If the panel can resize on overflow. Otherwise it will try to fit.

    true
    
    shift?: boolean | { padding?: number }

    Slide the popper back inside the boundary along the alignment axis when it would overflow (Floating UI shift), keeping padding px from the edge. Off by default: for a panel larger than the viewport it clamps to the boundary origin instead of staying anchored (add a limitShift limiter before turning it on for such panels).

    false
    
    strategy?: Strategy

    Floating UI positioning strategy. 'fixed' positions in client space — for a virtual anchor that reports client rects and must not be offset by a positioned ancestor of the container.

    'absolute'
    
    themeFrom?: "anchor" | "provider"

    Whose theme the popper carries across the portal (THEMING-DESIGN §7):

    • 'provider' — the nearest FloatProvider's theme scope: the app's surface and mode, so a menu opened from a light grid in a dark app opens dark, following the app. When no provider supplies a theme, the anchor's is copied instead.
    • 'anchor' — the anchor element's own data-sxl-theme-* (for a virtual anchor, its contextElement's), kept live: a label that belongs to the grid themes with the grid, even where the grid's mode differs from the app's. The provider's scope classes still apply.
    'provider'
    
    transition?: boolean

    The enter transition (the grow-in). false renders the content positioned on its first frame, with no transition wrapper — for a label that must track a gesture, not open like a menu.

    true
    
    zIndex?: string | number

    The stacking band. A number, or a z-index expression from zIndexVar.

    zIndexVar('popup')