UNPKG

@oddbird/popover-polyfill

Version:
42 lines (36 loc) 1.7 kB
import type { PopoverPolyfillOptions, PopoverShowPopoverOptions, PopoverTogglePopoverOptions, PopoverToggleTargetElementInvoker, } from './shared-types.js'; declare global { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent) */ interface ToggleEvent extends Event { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/newState) */ readonly newState: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/oldState) */ readonly oldState: string; } interface HTMLElement { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover) */ popover: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidePopover) */ hidePopover(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/showPopover) */ showPopover(options?: PopoverShowPopoverOptions): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/togglePopover) */ togglePopover(force?: boolean): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/togglePopover) */ togglePopover(options?: PopoverTogglePopoverOptions): boolean; } /* eslint-disable @typescript-eslint/no-empty-object-type */ interface HTMLButtonElement extends PopoverToggleTargetElementInvoker {} interface HTMLInputElement extends PopoverToggleTargetElementInvoker {} /* eslint-enable @typescript-eslint/no-empty-object-type */ interface Window { ToggleEvent: ToggleEvent; POPOVER_POLYFILL_OPTIONS?: PopoverPolyfillOptions; } } export * from './popover.js';