UNPKG

@visa/nova-angular

Version:

Visa Product Design System Nova Angular library

88 lines 8.1 kB
/** * Copyright (c) 2025 Visa, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **/ import { ContentChild, Directive, ElementRef, HostBinding, Input } from '@angular/core'; import { TooltipArrowDirective } from '../arrow/arrow.directive'; import * as i0 from "@angular/core"; export class TooltipDirective { get hostClasses() { return this.class; } get hostId() { return this.id; } /** * Sets custom display when tooltip is visible. Initial display is set to none to hide tooltip. * @builtin true */ get display() { return this._display; } set display(value) { this._display = value; } get hostInitialDisplay() { return 'none'; } get hostZIndex() { return '700'; } get hostRole() { return 'tooltip'; } constructor(el) { this.el = el; /** * Provides custom class(es) for custom styling. * @default .v-tooltip.v-surface */ this.class = 'v-tooltip v-surface'; // override the standard class attr with a new one. } // ElementRef needed for floating-ui-container static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: TooltipDirective, isStandalone: true, selector: "[v-tooltip], ", inputs: { class: "class", id: "id", display: "display" }, host: { properties: { "class": "this.hostClasses", "attr.id": "this.hostId", "style.display": "this.hostInitialDisplay", "style.z-index": "this.hostZIndex", "attr.role": "this.hostRole" } }, queries: [{ propertyName: "arrow", first: true, predicate: TooltipArrowDirective, descendants: true }], ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, decorators: [{ type: Directive, args: [{ standalone: true, selector: '[v-tooltip], ' }] }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { arrow: [{ type: ContentChild, args: [TooltipArrowDirective] }], class: [{ type: Input }], hostClasses: [{ type: HostBinding, args: ['class'] }], id: [{ type: Input }], hostId: [{ type: HostBinding, args: ['attr.id'] }], display: [{ type: Input }], hostInitialDisplay: [{ type: HostBinding, args: ['style.display'] }], hostZIndex: [{ type: HostBinding, args: ['style.z-index'] }], hostRole: [{ type: HostBinding, args: ['attr.role'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25vdmEtbGliL3NyYy9saWIvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0lBZUk7QUFDSixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQU9ELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNJLGtCQUFrQjtRQUNwQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1osT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBL0NqQzs7O1dBR0c7UUFDTSxVQUFLLEdBQVcscUJBQXFCLENBQUMsQ0FBQyxtREFBbUQ7SUEyQy9ELENBQUMsQ0FBQyw4Q0FBOEM7K0dBakR6RSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixxV0FDYixxQkFBcUI7OzRGQUR4QixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjsrRUFFc0MsS0FBSztzQkFBekMsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSzFCLEtBQUs7c0JBQWIsS0FBSztnQkFFRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFTcEIsRUFBRTtzQkFERCxLQUFLO2dCQUdGLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxTQUFTO2dCQVVsQixPQUFPO3NCQURWLEtBQUs7Z0JBU0Ysa0JBQWtCO3NCQURyQixXQUFXO3VCQUFDLGVBQWU7Z0JBTXhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxlQUFlO2dCQU14QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAyNSBWaXNhLCBJbmMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKiovXG5pbXBvcnQgeyBDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb29sdGlwQXJyb3dEaXJlY3RpdmUgfSBmcm9tICcuLi9hcnJvdy9hcnJvdy5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbdi10b29sdGlwXSwgJ1xufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIHtcbiAgQENvbnRlbnRDaGlsZChUb29sdGlwQXJyb3dEaXJlY3RpdmUpIGFycm93OiBUb29sdGlwQXJyb3dEaXJlY3RpdmU7XG4gIC8qKlxuICAgKiBQcm92aWRlcyBjdXN0b20gY2xhc3MmIzQwO2VzJiM0MTsgZm9yIGN1c3RvbSBzdHlsaW5nLlxuICAgKiBAZGVmYXVsdCAudi10b29sdGlwLnYtc3VyZmFjZVxuICAgKi9cbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZyA9ICd2LXRvb2x0aXAgdi1zdXJmYWNlJzsgLy8gb3ZlcnJpZGUgdGhlIHN0YW5kYXJkIGNsYXNzIGF0dHIgd2l0aCBhIG5ldyBvbmUuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jbGFzcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGN1c3RvbSBJRC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGlkOiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gIGdldCBob3N0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGN1c3RvbSBkaXNwbGF5IHdoZW4gdG9vbHRpcCBpcyB2aXNpYmxlLiBJbml0aWFsIGRpc3BsYXkgaXMgc2V0IHRvIG5vbmUgdG8gaGlkZSB0b29sdGlwLlxuICAgKiBAYnVpbHRpbiB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzcGxheSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5O1xuICB9XG4gIHNldCBkaXNwbGF5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kaXNwbGF5ID0gdmFsdWU7XG4gIH1cbiAgX2Rpc3BsYXk6IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgZ2V0IGhvc3RJbml0aWFsRGlzcGxheSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnbm9uZSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnotaW5kZXgnKVxuICBnZXQgaG9zdFpJbmRleCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnNzAwJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgZ2V0IGhvc3RSb2xlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd0b29sdGlwJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge30gLy8gRWxlbWVudFJlZiBuZWVkZWQgZm9yIGZsb2F0aW5nLXVpLWNvbnRhaW5lclxufVxuIl19