UNPKG

@clr/angular

Version:

Angular components for Clarity

43 lines 4.98 kB
/* * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved. * This software is released under MIT license. * The full license information can be found in LICENSE in the root directory of this project. */ import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../../../utils/popover/providers/popover-toggle.service"; export class TooltipMouseService { constructor(toggleService) { this.toggleService = toggleService; } onMouseEnterTrigger() { this.mouseOverTrigger = true; this.toggleService.open = true; } onMouseLeaveTrigger() { this.mouseOverTrigger = false; this.hideIfMouseOut(); } onMouseEnterContent() { this.mouseOverContent = true; } onMouseLeaveContent() { this.mouseOverContent = false; this.hideIfMouseOut(); } hideIfMouseOut() { // A zero timeout is used so that the code has a chance to update // the `mouseOverContent` property after the user moves the mouse from the trigger to the content. setTimeout(() => { if (!this.mouseOverTrigger && !this.mouseOverContent) { this.toggleService.open = false; } }, 0); } } TooltipMouseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TooltipMouseService, deps: [{ token: i1.ClrPopoverToggleService }], target: i0.ɵɵFactoryTarget.Injectable }); TooltipMouseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TooltipMouseService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TooltipMouseService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.ClrPopoverToggleService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1tb3VzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvcG9wb3Zlci90b29sdGlwL3Byb3ZpZGVycy90b29sdGlwLW1vdXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQTZCLGFBQXNDO1FBQXRDLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtJQUFHLENBQUM7SUFFdkUsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsaUVBQWlFO1FBQ2pFLGtHQUFrRztRQUNsRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO2FBQ2pDO1FBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7Z0hBakNVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2xyUG9wb3ZlclRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy9wb3BvdmVyL3Byb3ZpZGVycy9wb3BvdmVyLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBNb3VzZVNlcnZpY2Uge1xuICBwcml2YXRlIG1vdXNlT3ZlclRyaWdnZXI6IGJvb2xlYW47XG4gIHByaXZhdGUgbW91c2VPdmVyQ29udGVudDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRvZ2dsZVNlcnZpY2U6IENsclBvcG92ZXJUb2dnbGVTZXJ2aWNlKSB7fVxuXG4gIG9uTW91c2VFbnRlclRyaWdnZXIoKSB7XG4gICAgdGhpcy5tb3VzZU92ZXJUcmlnZ2VyID0gdHJ1ZTtcbiAgICB0aGlzLnRvZ2dsZVNlcnZpY2Uub3BlbiA9IHRydWU7XG4gIH1cblxuICBvbk1vdXNlTGVhdmVUcmlnZ2VyKCkge1xuICAgIHRoaXMubW91c2VPdmVyVHJpZ2dlciA9IGZhbHNlO1xuICAgIHRoaXMuaGlkZUlmTW91c2VPdXQoKTtcbiAgfVxuXG4gIG9uTW91c2VFbnRlckNvbnRlbnQoKSB7XG4gICAgdGhpcy5tb3VzZU92ZXJDb250ZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIG9uTW91c2VMZWF2ZUNvbnRlbnQoKSB7XG4gICAgdGhpcy5tb3VzZU92ZXJDb250ZW50ID0gZmFsc2U7XG4gICAgdGhpcy5oaWRlSWZNb3VzZU91dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBoaWRlSWZNb3VzZU91dCgpIHtcbiAgICAvLyBBIHplcm8gdGltZW91dCBpcyB1c2VkIHNvIHRoYXQgdGhlIGNvZGUgaGFzIGEgY2hhbmNlIHRvIHVwZGF0ZVxuICAgIC8vIHRoZSBgbW91c2VPdmVyQ29udGVudGAgcHJvcGVydHkgYWZ0ZXIgdGhlIHVzZXIgbW92ZXMgdGhlIG1vdXNlIGZyb20gdGhlIHRyaWdnZXIgdG8gdGhlIGNvbnRlbnQuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubW91c2VPdmVyVHJpZ2dlciAmJiAhdGhpcy5tb3VzZU92ZXJDb250ZW50KSB7XG4gICAgICAgIHRoaXMudG9nZ2xlU2VydmljZS5vcGVuID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cbn1cbiJdfQ==