357 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			357 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { AlignedPlacement } from '@floating-ui/core';
 | |
| import { Alignment } from '@floating-ui/core';
 | |
| import type { ArrowOptions as ArrowOptions_2 } from '@floating-ui/core';
 | |
| import type { AutoPlacementOptions as AutoPlacementOptions_2 } from '@floating-ui/core';
 | |
| import { Axis } from '@floating-ui/core';
 | |
| import { ClientRectObject } from '@floating-ui/core';
 | |
| import type { ComputePositionConfig as ComputePositionConfig_2 } from '@floating-ui/core';
 | |
| import { ComputePositionReturn } from '@floating-ui/core';
 | |
| import { Coords } from '@floating-ui/core';
 | |
| import type { DetectOverflowOptions as DetectOverflowOptions_2 } from '@floating-ui/core';
 | |
| import { Dimensions } from '@floating-ui/core';
 | |
| import { ElementContext } from '@floating-ui/core';
 | |
| import { ElementRects } from '@floating-ui/core';
 | |
| import type { FlipOptions as FlipOptions_2 } from '@floating-ui/core';
 | |
| import { getOverflowAncestors } from '@floating-ui/utils/dom';
 | |
| import type { HideOptions as HideOptions_2 } from '@floating-ui/core';
 | |
| import { InlineOptions } from '@floating-ui/core';
 | |
| import { Length } from '@floating-ui/core';
 | |
| import { LimitShiftOptions } from '@floating-ui/core';
 | |
| import type { Middleware as Middleware_2 } from '@floating-ui/core';
 | |
| import { MiddlewareData } from '@floating-ui/core';
 | |
| import { MiddlewareReturn } from '@floating-ui/core';
 | |
| import type { MiddlewareState as MiddlewareState_2 } from '@floating-ui/core';
 | |
| import { Padding } from '@floating-ui/core';
 | |
| import { Placement } from '@floating-ui/core';
 | |
| import { Rect } from '@floating-ui/core';
 | |
| import { RootBoundary } from '@floating-ui/core';
 | |
| import type { ShiftOptions as ShiftOptions_2 } from '@floating-ui/core';
 | |
| import { Side } from '@floating-ui/core';
 | |
| import { SideObject } from '@floating-ui/core';
 | |
| import type { SizeOptions as SizeOptions_2 } from '@floating-ui/core';
 | |
| import { Strategy } from '@floating-ui/core';
 | |
| 
 | |
| export { AlignedPlacement }
 | |
| 
 | |
| export { Alignment }
 | |
| 
 | |
| /**
 | |
|  * Provides data to position an inner element of the floating element so that it
 | |
|  * appears centered to the reference element.
 | |
|  * @see https://floating-ui.com/docs/arrow
 | |
|  */
 | |
| export declare const arrow: (options: ArrowOptions | Derivable<ArrowOptions>) => Middleware;
 | |
| 
 | |
| export declare type ArrowOptions = Prettify<Omit<ArrowOptions_2, 'element'> & {
 | |
|     element: Element;
 | |
| }>;
 | |
| 
 | |
| /**
 | |
|  * Optimizes the visibility of the floating element by choosing the placement
 | |
|  * that has the most space available automatically, without needing to specify a
 | |
|  * preferred placement. Alternative to `flip`.
 | |
|  * @see https://floating-ui.com/docs/autoPlacement
 | |
|  */
 | |
| export declare const autoPlacement: (options?: AutoPlacementOptions | Derivable<AutoPlacementOptions>) => Middleware;
 | |
| 
 | |
| export declare type AutoPlacementOptions = Prettify<Omit<AutoPlacementOptions_2, 'boundary'> & DetectOverflowOptions>;
 | |
| 
 | |
| /**
 | |
|  * Automatically updates the position of the floating element when necessary.
 | |
|  * Should only be called when the floating element is mounted on the DOM or
 | |
|  * visible on the screen.
 | |
|  * @returns cleanup function that should be invoked when the floating element is
 | |
|  * removed from the DOM or hidden from the screen.
 | |
|  * @see https://floating-ui.com/docs/autoUpdate
 | |
|  */
 | |
| export declare function autoUpdate(reference: ReferenceElement, floating: FloatingElement, update: () => void, options?: AutoUpdateOptions): () => void;
 | |
| 
 | |
| export declare interface AutoUpdateOptions {
 | |
|     /**
 | |
|      * Whether to update the position when an overflow ancestor is scrolled.
 | |
|      * @default true
 | |
|      */
 | |
|     ancestorScroll?: boolean;
 | |
|     /**
 | |
|      * Whether to update the position when an overflow ancestor is resized. This
 | |
|      * uses the native `resize` event.
 | |
|      * @default true
 | |
|      */
 | |
|     ancestorResize?: boolean;
 | |
|     /**
 | |
|      * Whether to update the position when either the reference or floating
 | |
|      * elements resized. This uses a `ResizeObserver`.
 | |
|      * @default true
 | |
|      */
 | |
|     elementResize?: boolean;
 | |
|     /**
 | |
|      * Whether to update the position when the reference relocated on the screen
 | |
|      * due to layout shift.
 | |
|      * @default true
 | |
|      */
 | |
|     layoutShift?: boolean;
 | |
|     /**
 | |
|      * Whether to update on every animation frame if necessary. Only use if you
 | |
|      * need to update the position in response to an animation using transforms.
 | |
|      * @default false
 | |
|      */
 | |
|     animationFrame?: boolean;
 | |
| }
 | |
| 
 | |
| export { Axis }
 | |
| 
 | |
| /**
 | |
|  * The clipping boundary area of the floating element.
 | |
|  */
 | |
| export declare type Boundary = 'clippingAncestors' | Element | Array<Element> | Rect;
 | |
| 
 | |
| export { ClientRectObject }
 | |
| 
 | |
| /**
 | |
|  * Computes the `x` and `y` coordinates that will place the floating element
 | |
|  * next to a given reference element.
 | |
|  */
 | |
| export declare const computePosition: (reference: ReferenceElement, floating: FloatingElement, options?: Partial<ComputePositionConfig>) => Promise<ComputePositionReturn>;
 | |
| 
 | |
| export declare type ComputePositionConfig = Prettify<Omit<ComputePositionConfig_2, 'middleware' | 'platform'> & {
 | |
|     /**
 | |
|      * Array of middleware objects to modify the positioning or provide data for
 | |
|      * rendering.
 | |
|      */
 | |
|     middleware?: Array<Middleware | null | undefined | false>;
 | |
|     /**
 | |
|      * Custom or extended platform object.
 | |
|      */
 | |
|     platform?: Platform;
 | |
| }>;
 | |
| 
 | |
| export { ComputePositionReturn }
 | |
| 
 | |
| export { Coords }
 | |
| 
 | |
| export declare type Derivable<T> = (state: MiddlewareState) => T;
 | |
| 
 | |
| /**
 | |
|  * Resolves with an object of overflow side offsets that determine how much the
 | |
|  * element is overflowing a given clipping boundary on each side.
 | |
|  * - positive = overflowing the boundary by that number of pixels
 | |
|  * - negative = how many pixels left before it will overflow
 | |
|  * - 0 = lies flush with the boundary
 | |
|  * @see https://floating-ui.com/docs/detectOverflow
 | |
|  */
 | |
| export declare const detectOverflow: (state: MiddlewareState, options?: DetectOverflowOptions | Derivable<DetectOverflowOptions>) => Promise<SideObject>;
 | |
| 
 | |
| export declare type DetectOverflowOptions = Prettify<Omit<DetectOverflowOptions_2, 'boundary'> & {
 | |
|     boundary?: Boundary;
 | |
| }>;
 | |
| 
 | |
| export { Dimensions }
 | |
| 
 | |
| export { ElementContext }
 | |
| 
 | |
| export { ElementRects }
 | |
| 
 | |
| export declare interface Elements {
 | |
|     reference: ReferenceElement;
 | |
|     floating: FloatingElement;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Optimizes the visibility of the floating element by flipping the `placement`
 | |
|  * in order to keep it in view when the preferred placement(s) will overflow the
 | |
|  * clipping boundary. Alternative to `autoPlacement`.
 | |
|  * @see https://floating-ui.com/docs/flip
 | |
|  */
 | |
| export declare const flip: (options?: FlipOptions | Derivable<FlipOptions>) => Middleware;
 | |
| 
 | |
| export declare type FlipOptions = Prettify<Omit<FlipOptions_2, 'boundary'> & DetectOverflowOptions>;
 | |
| 
 | |
| export declare type FloatingElement = HTMLElement;
 | |
| 
 | |
| export { getOverflowAncestors }
 | |
| 
 | |
| /**
 | |
|  * Provides data to hide the floating element in applicable situations, such as
 | |
|  * when it is not in the same clipping context as the reference element.
 | |
|  * @see https://floating-ui.com/docs/hide
 | |
|  */
 | |
| export declare const hide: (options?: HideOptions | Derivable<HideOptions>) => Middleware;
 | |
| 
 | |
| export declare type HideOptions = Prettify<Omit<HideOptions_2, 'boundary'> & DetectOverflowOptions>;
 | |
| 
 | |
| /**
 | |
|  * Provides improved positioning for inline reference elements that can span
 | |
|  * over multiple lines, such as hyperlinks or range selections.
 | |
|  * @see https://floating-ui.com/docs/inline
 | |
|  */
 | |
| export declare const inline: (options?: InlineOptions | Derivable<InlineOptions>) => Middleware;
 | |
| 
 | |
| export { InlineOptions }
 | |
| 
 | |
| export { Length }
 | |
| 
 | |
| /**
 | |
|  * Built-in `limiter` that will stop `shift()` at a certain point.
 | |
|  */
 | |
| export declare const limitShift: (options?: LimitShiftOptions | Derivable<LimitShiftOptions>) => {
 | |
|     options: any;
 | |
|     fn: (state: MiddlewareState) => Coords;
 | |
| };
 | |
| 
 | |
| export { LimitShiftOptions }
 | |
| 
 | |
| export declare type Middleware = Prettify<Omit<Middleware_2, 'fn'> & {
 | |
|     fn(state: MiddlewareState): Promisable<MiddlewareReturn>;
 | |
| }>;
 | |
| 
 | |
| /**
 | |
|  * @deprecated use `MiddlewareState` instead.
 | |
|  */
 | |
| export declare type MiddlewareArguments = MiddlewareState;
 | |
| 
 | |
| export { MiddlewareData }
 | |
| 
 | |
| export { MiddlewareReturn }
 | |
| 
 | |
| export declare type MiddlewareState = Prettify<Omit<MiddlewareState_2, 'elements'> & {
 | |
|     elements: Elements;
 | |
| }>;
 | |
| 
 | |
| export declare interface NodeScroll {
 | |
|     scrollLeft: number;
 | |
|     scrollTop: number;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Modifies the placement by translating the floating element along the
 | |
|  * specified axes.
 | |
|  * A number (shorthand for `mainAxis` or distance), or an axes configuration
 | |
|  * object may be passed.
 | |
|  * @see https://floating-ui.com/docs/offset
 | |
|  */
 | |
| export declare const offset: (options?: OffsetOptions) => Middleware;
 | |
| 
 | |
| export declare type OffsetOptions = OffsetValue | Derivable<OffsetValue>;
 | |
| 
 | |
| declare type OffsetValue = number | {
 | |
|     /**
 | |
|      * The axis that runs along the side of the floating element. Represents
 | |
|      * the distance (gutter or margin) between the reference and floating
 | |
|      * element.
 | |
|      * @default 0
 | |
|      */
 | |
|     mainAxis?: number;
 | |
|     /**
 | |
|      * The axis that runs along the alignment of the floating element.
 | |
|      * Represents the skidding between the reference and floating element.
 | |
|      * @default 0
 | |
|      */
 | |
|     crossAxis?: number;
 | |
|     /**
 | |
|      * The same axis as `crossAxis` but applies only to aligned placements
 | |
|      * and inverts the `end` alignment. When set to a number, it overrides the
 | |
|      * `crossAxis` value.
 | |
|      *
 | |
|      * A positive number will move the floating element in the direction of
 | |
|      * the opposite edge to the one that is aligned, while a negative number
 | |
|      * the reverse.
 | |
|      * @default null
 | |
|      */
 | |
|     alignmentAxis?: number | null;
 | |
| };
 | |
| 
 | |
| export { Padding }
 | |
| 
 | |
| export { Placement }
 | |
| 
 | |
| export declare interface Platform {
 | |
|     getElementRects: (args: {
 | |
|         reference: ReferenceElement;
 | |
|         floating: FloatingElement;
 | |
|         strategy: Strategy;
 | |
|     }) => Promisable<ElementRects>;
 | |
|     getClippingRect: (args: {
 | |
|         element: Element;
 | |
|         boundary: Boundary;
 | |
|         rootBoundary: RootBoundary;
 | |
|         strategy: Strategy;
 | |
|     }) => Promisable<Rect>;
 | |
|     getDimensions: (element: Element) => Promisable<Dimensions>;
 | |
|     convertOffsetParentRelativeRectToViewportRelativeRect: (args: {
 | |
|         elements?: Elements;
 | |
|         rect: Rect;
 | |
|         offsetParent: Element;
 | |
|         strategy: Strategy;
 | |
|     }) => Promisable<Rect>;
 | |
|     getOffsetParent: (element: Element, polyfill?: (element: HTMLElement) => Element | null) => Promisable<Element | Window>;
 | |
|     isElement: (value: unknown) => Promisable<boolean>;
 | |
|     getDocumentElement: (element: Element) => Promisable<HTMLElement>;
 | |
|     getClientRects: (element: Element) => Promisable<Array<ClientRectObject>>;
 | |
|     isRTL: (element: Element) => Promisable<boolean>;
 | |
|     getScale: (element: HTMLElement) => Promisable<{
 | |
|         x: number;
 | |
|         y: number;
 | |
|     }>;
 | |
| }
 | |
| 
 | |
| export declare const platform: Platform;
 | |
| 
 | |
| declare type Prettify<T> = {
 | |
|     [K in keyof T]: T[K];
 | |
| } & {};
 | |
| 
 | |
| declare type Promisable<T> = T | Promise<T>;
 | |
| 
 | |
| export { Rect }
 | |
| 
 | |
| export declare type ReferenceElement = Element | VirtualElement;
 | |
| 
 | |
| export { RootBoundary }
 | |
| 
 | |
| /**
 | |
|  * Optimizes the visibility of the floating element by shifting it in order to
 | |
|  * keep it in view when it will overflow the clipping boundary.
 | |
|  * @see https://floating-ui.com/docs/shift
 | |
|  */
 | |
| export declare const shift: (options?: ShiftOptions | Derivable<ShiftOptions>) => Middleware;
 | |
| 
 | |
| export declare type ShiftOptions = Prettify<Omit<ShiftOptions_2, 'boundary'> & DetectOverflowOptions>;
 | |
| 
 | |
| export { Side }
 | |
| 
 | |
| export { SideObject }
 | |
| 
 | |
| /**
 | |
|  * Provides data that allows you to change the size of the floating element —
 | |
|  * for instance, prevent it from overflowing the clipping boundary or match the
 | |
|  * width of the reference element.
 | |
|  * @see https://floating-ui.com/docs/size
 | |
|  */
 | |
| export declare const size: (options?: SizeOptions | Derivable<SizeOptions>) => Middleware;
 | |
| 
 | |
| export declare type SizeOptions = Prettify<Omit<SizeOptions_2, 'apply' | 'boundary'> & DetectOverflowOptions & {
 | |
|     /**
 | |
|      * Function that is called to perform style mutations to the floating element
 | |
|      * to change its size.
 | |
|      * @default undefined
 | |
|      */
 | |
|     apply?(args: MiddlewareState & {
 | |
|         availableWidth: number;
 | |
|         availableHeight: number;
 | |
|     }): Promisable<void>;
 | |
| }>;
 | |
| 
 | |
| export { Strategy }
 | |
| 
 | |
| /**
 | |
|  * Custom positioning reference element.
 | |
|  * @see https://floating-ui.com/docs/virtual-elements
 | |
|  */
 | |
| export declare interface VirtualElement {
 | |
|     getBoundingClientRect(): ClientRectObject;
 | |
|     getClientRects?(): Array<ClientRectObject> | DOMRectList;
 | |
|     contextElement?: Element;
 | |
| }
 | |
| 
 | |
| export { }
 |