svelte-popperjs
Version:
Popper for Svelte with actions, no wrapper components required!
13 lines (12 loc) • 810 B
TypeScript
import type { Readable } from 'svelte/store';
import { Instance, OptionsGeneric, Modifier, type VirtualElement } from '@popperjs/core';
export type { VirtualElement } from '@popperjs/core';
export declare type PopperOptions<TModifier> = Partial<OptionsGeneric<TModifier>> | undefined;
export declare type ReferenceAction = (node: Element | VirtualElement | Readable<VirtualElement>) => {
destroy?(): void;
};
export declare type ContentAction<TModifier> = (node: HTMLElement, popperOptions?: PopperOptions<TModifier>) => {
update(popperOptions: PopperOptions<TModifier>): void;
destroy(): void;
};
export declare function createPopperActions<TModifier extends Partial<Modifier<any, any>>>(initOptions?: PopperOptions<TModifier>): [ReferenceAction, ContentAction<TModifier>, () => Instance | null];