UNPKG

ionic-adv-tooltip

Version:

Ionic Advanced Tooltip: rich, media-friendly tooltip/popover for Ionic Angular (templates, videos, component previews).

109 lines (103 loc) 7.08 kB
import * as i0 from '@angular/core'; import { OnDestroy, TemplateRef, Type, ElementRef, NgZone, AfterViewInit, ViewContainerRef, Injector } from '@angular/core'; import * as i1 from '@angular/common'; import * as i2 from '@ionic/angular'; import { PopoverController } from '@ionic/angular'; declare class IonicAdvTooltip { static ɵfac: i0.ɵɵFactoryDeclaration<IonicAdvTooltip, never>; static ɵcmp: i0.ɵɵComponentDeclaration<IonicAdvTooltip, "lib-ionic-adv-tooltip", never, {}, {}, never, never, true, never>; } type TooltipSide = 'auto' | 'top' | 'bottom' | 'left' | 'right'; type TooltipAlign = 'start' | 'center' | 'end'; type IatEnter = 'fade' | 'scale' | 'up' | 'right' | 'pop'; type IatExit = 'fade' | 'scale' | 'down' | 'left' | 'shrink'; declare class AdvTooltipDirective implements OnDestroy { private popoverCtrl; private host; private zone; /** Rich content via ng-template */ template?: TemplateRef<any>; /** Plain text content */ text?: string; /** Optional: render a live Angular component inside the tooltip */ iatEnableComponent: boolean; iatComponent?: Type<any> | null; iatComponentInputs?: Record<string, any> | null; /** Interactive tooltip (clickable) vs hover/focus preview (pointer-events: none) */ iatInteractive: boolean; /** Timings (ms) */ iatOpenDelay: number; iatCloseDelay: number; iatAutoHideMs: number; /** Legacy sizing (kept): forwarded to component maxWidth binding */ iatMaxWidth: number; /** Positioning */ iatDirection: TooltipSide; iatAlign: TooltipAlign; iatPopoverBg?: string; iatPopoverWidth?: number | string; iatPopoverMinWidth?: number | string; iatPopoverMaxWidth?: number | string; iatPopoverHeight?: number | string; iatPopoverMinHeight?: number | string; iatPopoverMaxHeight?: number | string; /** NEW: Animations */ iatEnter?: IatEnter; iatExit?: IatExit; iatAnimDurationMs?: number; iatAnimEasing?: string; set appTooltipAlias(tpl: TemplateRef<any> | null); set appTooltipTextAlias(txt: string | null); set appTooltipDelay(v: number | null); set appTooltipCloseDelay(v: number | null); set appTooltipAutoHideMs(v: number | null); set appTooltipMaxWidth(v: number | null); set appTooltipDirection(v: TooltipSide); set appTooltipAlign(v: TooltipAlign); private popover?; private openTimer?; private closeTimer?; constructor(popoverCtrl: PopoverController, host: ElementRef<HTMLElement>, zone: NgZone); ngOnDestroy(): void; onMouseEnter(ev: MouseEvent): void; onMouseLeave(): void; onFocus(): void; onBlur(): void; onTouchStart(ev: TouchEvent): void; onClick(): void; onWindowScroll(): void; onWindowResize(): void; private queueOpen; private queueClose; private clearTimers; private toCss; private present; private dismiss; static ɵfac: i0.ɵɵFactoryDeclaration<AdvTooltipDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<AdvTooltipDirective, "[iatTooltip],[iatTooltipText],[appTooltip],[appTooltipText],[iatEnableComponent],[iatComponent]", never, { "template": { "alias": "iatTooltip"; "required": false; }; "text": { "alias": "iatTooltipText"; "required": false; }; "iatEnableComponent": { "alias": "iatEnableComponent"; "required": false; }; "iatComponent": { "alias": "iatComponent"; "required": false; }; "iatComponentInputs": { "alias": "iatComponentInputs"; "required": false; }; "iatInteractive": { "alias": "iatInteractive"; "required": false; }; "iatOpenDelay": { "alias": "iatOpenDelay"; "required": false; }; "iatCloseDelay": { "alias": "iatCloseDelay"; "required": false; }; "iatAutoHideMs": { "alias": "iatAutoHideMs"; "required": false; }; "iatMaxWidth": { "alias": "iatMaxWidth"; "required": false; }; "iatDirection": { "alias": "iatDirection"; "required": false; }; "iatAlign": { "alias": "iatAlign"; "required": false; }; "iatPopoverBg": { "alias": "iatPopoverBg"; "required": false; }; "iatPopoverWidth": { "alias": "iatPopoverWidth"; "required": false; }; "iatPopoverMinWidth": { "alias": "iatPopoverMinWidth"; "required": false; }; "iatPopoverMaxWidth": { "alias": "iatPopoverMaxWidth"; "required": false; }; "iatPopoverHeight": { "alias": "iatPopoverHeight"; "required": false; }; "iatPopoverMinHeight": { "alias": "iatPopoverMinHeight"; "required": false; }; "iatPopoverMaxHeight": { "alias": "iatPopoverMaxHeight"; "required": false; }; "iatEnter": { "alias": "iatEnter"; "required": false; }; "iatExit": { "alias": "iatExit"; "required": false; }; "iatAnimDurationMs": { "alias": "iatAnimDurationMs"; "required": false; }; "iatAnimEasing": { "alias": "iatAnimEasing"; "required": false; }; "appTooltipAlias": { "alias": "appTooltip"; "required": false; }; "appTooltipTextAlias": { "alias": "appTooltipText"; "required": false; }; "appTooltipDelay": { "alias": "appTooltipDelay"; "required": false; }; "appTooltipCloseDelay": { "alias": "appTooltipCloseDelay"; "required": false; }; "appTooltipAutoHideMs": { "alias": "appTooltipAutoHideMs"; "required": false; }; "appTooltipMaxWidth": { "alias": "appTooltipMaxWidth"; "required": false; }; "appTooltipDirection": { "alias": "appTooltipDirection"; "required": false; }; "appTooltipAlign": { "alias": "appTooltipAlign"; "required": false; }; }, {}, never, never, true, never>; } declare class AdvTooltipPopoverComponent implements AfterViewInit { private injector; /** Template content (rich HTML) */ template?: TemplateRef<any>; /** Plain text fallback */ text?: string; /** Max width in px (kept for backward compatibility with existing demos) */ maxWidth: number; /** Optional: live component preview */ componentType?: Type<any>; componentInputs?: Record<string, any>; /** Optional: background override coming from directive (CSS color string) */ bg?: string; hostVcr?: ViewContainerRef; constructor(injector: Injector); ngAfterViewInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration<AdvTooltipPopoverComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<AdvTooltipPopoverComponent, "iat-popover", never, { "template": { "alias": "template"; "required": false; }; "text": { "alias": "text"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "componentType": { "alias": "componentType"; "required": false; }; "componentInputs": { "alias": "componentInputs"; "required": false; }; "bg": { "alias": "bg"; "required": false; }; }, {}, never, never, true, never>; } declare class IonicAdvancedTooltipModule { static ɵfac: i0.ɵɵFactoryDeclaration<IonicAdvancedTooltipModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<IonicAdvancedTooltipModule, never, [typeof i1.CommonModule, typeof i2.IonicModule, typeof AdvTooltipDirective, typeof AdvTooltipPopoverComponent], [typeof AdvTooltipDirective]>; static ɵinj: i0.ɵɵInjectorDeclaration<IonicAdvancedTooltipModule>; } export { AdvTooltipDirective, IonicAdvTooltip, IonicAdvancedTooltipModule };