import { ImpulseElement } from '@ambiki/impulse'; import { FlipOptions, OffsetOptions, Placement, ShiftOptions, Strategy } from '@floating-ui/dom'; export default class FloatingPanelElement extends ImpulseElement { /** * Activates the positioning logic of the floating panel. */ active: boolean; /** * If the trigger lives outside the floating panel, you can set the trigger element's id. */ triggerId: string; /** * One of 'absolute' or 'fixed'. * https://floating-ui.com/docs/computeposition#strategy */ strategy: Strategy; /** * The initial position of the panel. This placement can be changed to keep the panel within the viewport. * https://floating-ui.com/docs/computePosition#placement */ placement: Placement; /** * https://floating-ui.com/docs/offset */ offsetOptions: OffsetOptions; /** * https://floating-ui.com/docs/flip */ flipOptions: FlipOptions; /** * https://floating-ui.com/docs/shift */ shiftOptions: ShiftOptions; /** * Makes the panel's height and width similar to that of the trigger element. */ sync?: 'width' | 'height' | 'both'; trigger?: HTMLElement; panel: HTMLElement; arrow?: HTMLElement; private cleanup?; connected(): void; disconnected(): void; activeChanged(value: boolean): void; /** * We want to restart the placement logic when the trigger id changes. */ triggerIdChanged(): Promise; start(): void; stop(): Promise; position(): Promise; private get triggerElement(); private setCurrentPlacement; } declare global { interface Window { FloatingPanelElement: typeof FloatingPanelElement; } interface HTMLElementTagNameMap { 'twc-floating-panel': FloatingPanelElement; } } //# sourceMappingURL=index.d.ts.map