UNPKG

@hummingbirdui/hummingbird

Version:

An open-source system designed for rapid development, without sacrificing the granular control of utility-first CSS.

63 lines (62 loc) 2.51 kB
import * as Popper from '@popperjs/core'; type PopoverPlacement = 'auto' | 'top' | 'bottom' | 'left' | 'right'; type Offset = [number, number]; type OffsetFunction = () => Offset; type PopperConfigFunction = (defaultBsPopperConfig: Popper.Options) => Partial<Popper.Options>; type SetContentFunction = () => string | Element | (() => string | Element | null) | null; export interface TooltipOptions { animation: boolean; container: string | Element | false; delay: number | { show: number; hide: number; }; html: boolean; placement: PopoverPlacement | (() => PopoverPlacement); selector: string | false; template: string; title: string | Element | ((this: HTMLElement) => string | Element); trigger: 'click' | 'hover' | 'focus' | 'manual' | 'click hover' | 'click focus' | 'hover focus' | 'click hover focus'; offset: Offset | string | OffsetFunction; fallbackPlacements: string[]; boundary: Popper.Boundary; customClass: string | (() => string); sanitize: boolean; allowList: Record<keyof HTMLElementTagNameMap | '*', Array<string | RegExp>>; sanitizeFn: (() => void) | null; popperConfig: Partial<Popper.Options> | PopperConfigFunction | null; } export interface TooltipInstance { show(): void; hide(): void; toggle(event?: any): void; enable(): void; disable(): void; toggleEnabled(): void; update(): void; setContent(content?: Record<string, string | Element | SetContentFunction | null>): void; dispose(): void; } declare enum TooltipEvents { SHOW = "show.bs.tooltip", SHOWN = "shown.bs.tooltip", HIDE = "hide.bs.tooltip", HIDDEN = "hidden.bs.tooltip", INSERTED = "inserted.bs.tooltip" } export interface TooltipClass { readonly VERSION: string; readonly DATA_KEY: string; readonly EVENT_KEY: string; new (element: Element | string, options?: Partial<TooltipOptions>): TooltipInstance; getInstance(element: Element | string): TooltipInstance | null; getOrCreateInstance(element: Element | string, config?: Partial<TooltipOptions>): TooltipInstance; Default: TooltipOptions; NAME: 'tooltip'; Event: Record<'CLICK' | 'FOCUSIN' | 'FOCUSOUT' | 'HIDDEN' | 'HIDE' | 'INSERTED' | 'MOUSEENTER' | 'MOUSELEAVE' | 'SHOW' | 'SHOWN', string>; DefaultType: Record<keyof TooltipOptions, string>; SetContentFunction: SetContentFunction; Events: typeof TooltipEvents; } declare const Tooltip: TooltipClass; export default Tooltip;