@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
88 lines • 8.06 kB
JavaScript
/**
* © 2025 Visa
*
* 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25vdmEtbGliL3NyYy9saWIvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0lBZUk7QUFDSixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQU9ELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNJLGtCQUFrQjtRQUNwQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1osT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBL0NqQzs7O1dBR0c7UUFDTSxVQUFLLEdBQVcscUJBQXFCLENBQUMsQ0FBQyxtREFBbUQ7SUEyQy9ELENBQUMsQ0FBQyw4Q0FBOEM7K0dBakR6RSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixxV0FDYixxQkFBcUI7OzRGQUR4QixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjsrRUFFc0MsS0FBSztzQkFBekMsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSzFCLEtBQUs7c0JBQWIsS0FBSztnQkFFRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFTcEIsRUFBRTtzQkFERCxLQUFLO2dCQUdGLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxTQUFTO2dCQVVsQixPQUFPO3NCQURWLEtBQUs7Z0JBU0Ysa0JBQWtCO3NCQURyQixXQUFXO3VCQUFDLGVBQWU7Z0JBTXhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxlQUFlO2dCQU14QixRQUFRO3NCQURYLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogICAgICAgICAgICAgIMKpIDIwMjUgVmlzYVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICoqL1xuaW1wb3J0IHsgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbHRpcEFycm93RGlyZWN0aXZlIH0gZnJvbSAnLi4vYXJyb3cvYXJyb3cuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW3YtdG9vbHRpcF0sICdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSB7XG4gIEBDb250ZW50Q2hpbGQoVG9vbHRpcEFycm93RGlyZWN0aXZlKSBhcnJvdzogVG9vbHRpcEFycm93RGlyZWN0aXZlO1xuICAvKipcbiAgICogUHJvdmlkZXMgY3VzdG9tIGNsYXNzJiM0MDtlcyYjNDE7IGZvciBjdXN0b20gc3R5bGluZy5cbiAgICogQGRlZmF1bHQgLnYtdG9vbHRpcC52LXN1cmZhY2VcbiAgICovXG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAndi10b29sdGlwIHYtc3VyZmFjZSc7IC8vIG92ZXJyaWRlIHRoZSBzdGFuZGFyZCBjbGFzcyBhdHRyIHdpdGggYSBuZXcgb25lLlxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2xhc3M7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gSUQuXG4gICAqL1xuICBASW5wdXQoKVxuICBpZDogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICBnZXQgaG9zdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gZGlzcGxheSB3aGVuIHRvb2x0aXAgaXMgdmlzaWJsZS4gSW5pdGlhbCBkaXNwbGF5IGlzIHNldCB0byBub25lIHRvIGhpZGUgdG9vbHRpcC5cbiAgICogQGJ1aWx0aW4gdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGRpc3BsYXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzcGxheTtcbiAgfVxuICBzZXQgZGlzcGxheSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGlzcGxheSA9IHZhbHVlO1xuICB9XG4gIF9kaXNwbGF5OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gIGdldCBob3N0SW5pdGlhbERpc3BsYXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ25vbmUnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS56LWluZGV4JylcbiAgZ2V0IGhvc3RaSW5kZXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJzcwMCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIGdldCBob3N0Um9sZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAndG9vbHRpcCc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHt9IC8vIEVsZW1lbnRSZWYgbmVlZGVkIGZvciBmbG9hdGluZy11aS1jb250YWluZXJcbn1cbiJdfQ==