UNPKG

@visa/nova-angular

Version:

Visa Product Design System Nova Angular library

102 lines 9.32 kB
/** * © 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 { Directive, HostBinding, Input, signal } from '@angular/core'; import * as i0 from "@angular/core"; export class AccordionPanelDirective { constructor() { this._expanded = false; this._subtle = signal(false); this._class = ''; this._native = false; } /** * Provides custom class(es) for custom styling. * @default .v-accordion-panel */ get class() { return [this._class, 'v-accordion-panel'].join(' '); } set class(value) { this._class = value; } get hostClass() { return this.class; } get hostId() { return this.id; } /** @ignore @TODO deprecate? */ get native() { return this._native; } set native(value) { this._native = value; } get hostAriaHidden() { return this._native ? null : !this._expanded; } get hostBackground() { if (this._subtle()) { return 'transparent'; } } get hostGap() { if (this._subtle()) { return '0px'; } } get hostForeground() { if (this._subtle()) { return '32px'; } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccordionPanelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: AccordionPanelDirective, isStandalone: true, selector: "[v-accordion-panel]", inputs: { class: "class", id: "id", native: "native" }, host: { properties: { "class": "this.hostClass", "attr.id": "this.hostId", "attr.aria-hidden": "this.hostAriaHidden", "style.--v-accordion-panel-background-color": "this.hostBackground", "style.--v-accordion-panel-border-size": "this.hostGap", "style.--v-accordion-panel-padding-inline": "this.hostForeground" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccordionPanelDirective, decorators: [{ type: Directive, args: [{ standalone: true, // tslint:disable-next-line:directive-selector selector: '[v-accordion-panel]' }] }], propDecorators: { class: [{ type: Input }], hostClass: [{ type: HostBinding, args: ['class'] }], id: [{ type: Input }], hostId: [{ type: HostBinding, args: ['attr.id'] }], native: [{ type: Input }], hostAriaHidden: [{ type: HostBinding, args: ['attr.aria-hidden'] }], hostBackground: [{ type: HostBinding, args: ['style.--v-accordion-panel-background-color'] }], hostGap: [{ type: HostBinding, args: ['style.--v-accordion-panel-border-size'] }], hostForeground: [{ type: HostBinding, args: ['style.--v-accordion-panel-padding-inline'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbm92YS1saWIvc3JjL2xpYi9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0lBZUk7QUFDSixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU90RSxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBT0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBYXhCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUEwQnBCLFlBQU8sR0FBWSxLQUFLLENBQUM7S0EwQjFCO0lBL0RDOzs7T0FHRztJQUNILElBQ0ksS0FBSztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVNELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsK0JBQStCO0lBQy9CLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQ0ksY0FBYztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ25CLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7K0dBbkVVLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQiw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzhCQVdLLEtBQUs7c0JBRFIsS0FBSztnQkFTRixTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTztnQkFXcEIsRUFBRTtzQkFERCxLQUFLO2dCQUdGLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxTQUFTO2dCQU9sQixNQUFNO3NCQURULEtBQUs7Z0JBU0YsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsNENBQTRDO2dCQVFyRCxPQUFPO3NCQURWLFdBQVc7dUJBQUMsdUNBQXVDO2dCQVFoRCxjQUFjO3NCQURqQixXQUFXO3VCQUFDLDBDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogICAgICAgICAgICAgIMKpIDIwMjUgVmlzYVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKlxuICoqL1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1t2LWFjY29yZGlvbi1wYW5lbF0nXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvblBhbmVsRGlyZWN0aXZlIHtcbiAgX2luZGV4OiBudW1iZXI7XG4gIF9leHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBfc3VidGxlID0gc2lnbmFsKGZhbHNlKTtcblxuICAvKipcbiAgICogUHJvdmlkZXMgY3VzdG9tIGNsYXNzJiM0MDtlcyYjNDE7IGZvciBjdXN0b20gc3R5bGluZy5cbiAgICogQGRlZmF1bHQgLnYtYWNjb3JkaW9uLXBhbmVsXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgY2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW3RoaXMuX2NsYXNzLCAndi1hY2NvcmRpb24tcGFuZWwnXS5qb2luKCcgJyk7XG4gIH1cbiAgc2V0IGNsYXNzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jbGFzcyA9IHZhbHVlO1xuICB9XG4gIF9jbGFzczogc3RyaW5nID0gJyc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2xhc3M7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gaWQuXG4gICAqIEBkZWZhdWx0IHRoaXMudXVpZFNlcnZpY2UuZ2V0VVVJRCgndi1hY2NvcmRpb24tcGFuZWwtJylcbiAgICogQGJ1aWx0aW4gdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgaWQ6IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgZ2V0IGhvc3RJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgQFRPRE8gZGVwcmVjYXRlPyAqL1xuICBASW5wdXQoKVxuICBnZXQgbmF0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9uYXRpdmU7XG4gIH1cbiAgc2V0IG5hdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX25hdGl2ZSA9IHZhbHVlO1xuICB9XG4gIF9uYXRpdmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgZ2V0IGhvc3RBcmlhSGlkZGVuKCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbmF0aXZlID8gbnVsbCA6ICF0aGlzLl9leHBhbmRlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS12LWFjY29yZGlvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yJylcbiAgZ2V0IGhvc3RCYWNrZ3JvdW5kKCk6IHN0cmluZyB8IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdWJ0bGUoKSkge1xuICAgICAgcmV0dXJuICd0cmFuc3BhcmVudCc7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLXYtYWNjb3JkaW9uLXBhbmVsLWJvcmRlci1zaXplJylcbiAgZ2V0IGhvc3RHYXAoKTogc3RyaW5nIHwgdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N1YnRsZSgpKSB7XG4gICAgICByZXR1cm4gJzBweCc7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLXYtYWNjb3JkaW9uLXBhbmVsLXBhZGRpbmctaW5saW5lJylcbiAgZ2V0IGhvc3RGb3JlZ3JvdW5kKCk6IHN0cmluZyB8IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdWJ0bGUoKSkge1xuICAgICAgcmV0dXJuICczMnB4JztcbiAgICB9XG4gIH1cbn1cbiJdfQ==