import * as lit_html from 'lit-html'; import * as lit from 'lit'; import { LitElement } from 'lit'; declare const placement: readonly ["auto", "auto-start", "auto-end", "top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end", "right", "right-start", "right-end", "left", "left-start", "left-end"]; declare enum EnumPlacement { AUTO = "auto", AUTO_START = "auto-start", AUTO_END = "auto-end", TOP = "top", TOP_START = "top-start", TOP_END = "top-end", BOTTOM = "bottom", BOTTOM_START = "bottom-start", BOTTOM_END = "bottom-end", RIGHT = "right", RIGHT_START = "right-start", RIGHT_END = "right-end", LEFT = "left", LEFT_START = "left-start", LEFT_END = "left-end" } type TypePlacement = typeof placement[number]; declare const fireEvents: readonly ["click", "hover"]; declare enum EnumFireEvents { CLICK = "click", HOVER = "hover" } type TypeFireEvents = typeof fireEvents[number]; declare const effects: readonly ["none", "fade", "scale", "slide", "fall", "flip-horizontal", "flip-vertical", "sign", "super-scaled"]; declare enum EnumEffects { NONE = "none", FADE = "fade", SCALE = "scale", SLIDE = "slide", FALL = "fall", FLIP_HORIZONTAL = "flip-horizontal", FLIP_VERTICAL = "flip-vertical", SIGN = "sign", SUPER_SCALED = "super-scaled" } type TypeEffects = typeof effects[number]; declare const strategy: readonly ["fixed", "absolute"]; declare enum EnumStrategy { FIXED = "fixed", ABSOLUTE = "absolute" } type TypeStrategy = typeof strategy[number]; /** * @since 2.0.0 * @status stable * * @tagname kemet-popper * @summary A wrapper component for the popper.js lib. * * @event kemet-opened - Fires when the popper opens * @event kemet-closed - Fires when the popper closes * * @slot trigger - Controls opening and closing the popover. * @slot content - The contents of the popover. * * @csspart trigger - Contains the trigger for the popover. * @csspart content - Contains the content for the popover. * * @cssproperty --kemet-popper-padding - The padding in the content slot. * @cssproperty --kemet-popper-border-color - The border color of the content. * @cssproperty --kemet-popper-background-color - The background color of the content. * * @prop {TypePlacement} placement - The position of the popper over the trigger. * @prop {boolean} opened - Determines if the Popper is opened or closed * @prop {TypeFireOn} fireOn - Activate the Popper on Click or Hover * @prop {TypeStrategy} strategy - Sets the strategy option in Popper's api * @prop {number} skidding - Sets an offset to the Popper from the trigger * @prop {number} distance - Sets spacing between the Popper and the trigger * */ declare class KemetPopper extends LitElement { static styles: lit.CSSResult[]; placement: TypePlacement; opened: boolean; fireOn: TypeFireEvents; strategy: TypeStrategy; skidding: number; distance: number; /** @internal */ popperInstance: { setOptions: (arg0: { placement: TypePlacement; strategy: TypeStrategy; modifiers: { name: string; options: { offset: number[]; }; }[]; }) => void; }; /** @internal */ triggerElement: HTMLElement; /** @internal */ contentElement: HTMLElement; /** @internal */ focusableElements: NodeListOf; constructor(); firstUpdated(): void; updated(prevProps: Map): void; render(): lit_html.TemplateResult<1>; refresh(): void; makePopper(): void; toggle(event: MouseEvent | KeyboardEvent): void; handleKeyUp(event: KeyboardEvent): void; handleFocusableDown(event: KeyboardEvent): void; } declare global { interface HTMLElementTagNameMap { 'kemet-popper': KemetPopper; } } export { EnumEffects, EnumFireEvents, EnumPlacement, EnumStrategy, type TypeEffects, type TypeFireEvents, type TypePlacement, type TypeStrategy, KemetPopper as default, effects, fireEvents, placement, strategy };