UNPKG

mithril-materialized

Version:
60 lines (59 loc) 2.08 kB
import { FactoryComponent, Attributes } from 'mithril'; export interface TooltipOptions { /** Delay before tooltip appears on hover */ enterDelay?: number; /** Delay before tooltip disappears after hover ends */ exitDelay?: number; /** HTML content for the tooltip */ html?: string | null; /** Margin from element */ margin?: number; /** Animation in duration */ inDuration?: number; /** Animation out duration */ outDuration?: number; /** Position of tooltip */ position?: 'top' | 'bottom' | 'left' | 'right'; /** Movement during transition */ transitionMovement?: number; } export declare class Tooltip { el: HTMLElement; tooltipEl: HTMLElement; options: Required<TooltipOptions>; private state; private static defaults; private _handleMouseEnterBound; private _handleMouseLeaveBound; private _handleFocusBound; private _handleBlurBound; constructor(el: HTMLElement, options?: TooltipOptions); static getInstance(el: HTMLElement): Tooltip | undefined; destroy(): void; _appendTooltipEl(): void; _updateTooltipContent(): void; _setupEventHandlers(): void; _removeEventHandlers(): void; open(isManual?: boolean): void; close(): void; _setExitDelayTimeout(): void; _setEnterDelayTimeout(isManual: boolean): void; _positionTooltip(): void; _repositionWithinScreen(x: number, y: number, width: number, height: number): { x: number; y: number; }; _animateIn(): void; _animateOut(): void; _handleMouseEnter(): void; _handleMouseLeave(): void; _handleFocus(): void; _handleBlur(): void; _getAttributeOptions(): Partial<TooltipOptions>; } export interface TooltipComponentAttrs extends Attributes, TooltipOptions { /** Element selector or reference to attach tooltip to */ targetSelector?: string; } export declare const TooltipComponent: FactoryComponent<TooltipComponentAttrs>; export declare const initTooltips: (selector?: string, options?: TooltipOptions) => Tooltip[];