@alyle/ui
Version:
Minimal Design, a set of components for Angular
74 lines (73 loc) • 3.59 kB
TypeScript
import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, TemplateRef, OnInit, Renderer2, InjectionToken } from '@angular/core';
import { LyFocusState, LyOverlay, LyTheme2, Placement, ThemeVariables, XPosition, YPosition, StyleCollection, LyClasses, StyleTemplate, ThemeRef } from '@alyle/ui';
import { ScrollDispatcher } from '@angular/cdk/scrolling';
import { Platform } from '@angular/cdk/platform';
import { NumberInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
export interface LyTooltipDefaultOptions {
/** Default delay when the tooltip is shown. */
showDelay: number;
/** Default delay when the tooltip is hidden. */
hideDelay: number;
/** Default delay when hiding the tooltip on a touch device. */
touchendHideDelay: number;
}
export declare const LY_TOOLTIP_DEFAULT_OPTIONS: InjectionToken<LyTooltipDefaultOptions>;
/** Possible positions for a tooltip. */
export type LyTooltipPosition = 'left' | 'right' | 'above' | 'below' | 'before' | 'after';
export interface LyTooltipTheme {
/** Styles for Tooltip Component */
root?: StyleCollection<((classes: LyClasses<typeof STYLES>) => StyleTemplate)> | ((classes: LyClasses<typeof STYLES>) => StyleTemplate);
}
export interface LyTooltipVariables {
tooltip?: LyTooltipTheme;
}
export declare const STYLES: (theme: ThemeVariables & LyTooltipVariables, ref: ThemeRef) => {
$priority: number;
root: () => StyleTemplate;
};
export declare class LyTooltip implements OnInit, OnDestroy {
private _theme;
private _overlay;
private _el;
private _renderer;
private _cd;
private _focusState;
private _defaults;
private _platform;
/** @docs-private */
readonly classes: LyClasses<(theme: ThemeVariables & LyTooltipVariables, ref: ThemeRef) => {
$priority: number;
root: () => StyleTemplate;
}>;
private _tooltip;
private _tooltipOverlay;
private _listeners;
private _scrollSub;
private _scrollVal;
private _showTimeoutId;
private _hideTimeoutId;
set tooltip(val: string | TemplateRef<any> | null);
get tooltip(): string | TemplateRef<any> | null;
get showDelay(): number;
set showDelay(value: NumberInput);
private _showDelay;
get hideDelay(): number;
set hideDelay(value: NumberInput);
private _hideDelay;
placement: Placement;
xPosition: `${XPosition}`;
yPosition: `${YPosition}`;
constructor(_theme: LyTheme2, _overlay: LyOverlay, _el: ElementRef, _renderer: Renderer2, _cd: ChangeDetectorRef, _focusState: LyFocusState, _defaults: LyTooltipDefaultOptions, ngZone: NgZone, scroll: ScrollDispatcher, _platform: Platform);
ngOnInit(): void;
ngOnDestroy(): void;
show(delay?: number): void;
hide(delay?: number): void;
toggle(): void;
private _markForCheck;
private _updatePosition;
private _addListeners;
private _platformSupportsMouseEvents;
static ɵfac: i0.ɵɵFactoryDeclaration<LyTooltip, [null, null, null, null, null, null, { optional: true; }, null, null, null]>;
static ɵdir: i0.ɵɵDirectiveDeclaration<LyTooltip, "[lyTooltip]", ["lyTooltip"], { "tooltip": { "alias": "lyTooltip"; "required": false; }; "showDelay": { "alias": "lyTooltipShowDelay"; "required": false; }; "hideDelay": { "alias": "lyTooltipHideDelay"; "required": false; }; "placement": { "alias": "lyTooltipPlacement"; "required": false; }; "xPosition": { "alias": "lyTooltipXPosition"; "required": false; }; "yPosition": { "alias": "lyTooltipYPosition"; "required": false; }; }, {}, never, never, false, never>;
}