UNPKG

@visa/nova-angular

Version:

Visa Product Design System Nova Angular library

102 lines 9.36 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 { 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbm92YS1saWIvc3JjL2xpYi9hY2NvcmRpb24tcGFuZWwvYWNjb3JkaW9uLXBhbmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0lBZUk7QUFDSixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU90RSxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBT0UsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixZQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBYXhCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUEwQnBCLFlBQU8sR0FBWSxLQUFLLENBQUM7S0EwQjFCO0lBL0RDOzs7T0FHRztJQUNILElBQ0ksS0FBSztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVNELElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsK0JBQStCO0lBQy9CLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQ0ksY0FBYztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ25CLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFDSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7K0dBbkVVLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQiw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzhCQVdLLEtBQUs7c0JBRFIsS0FBSztnQkFTRixTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTztnQkFXcEIsRUFBRTtzQkFERCxLQUFLO2dCQUdGLE1BQU07c0JBRFQsV0FBVzt1QkFBQyxTQUFTO2dCQU9sQixNQUFNO3NCQURULEtBQUs7Z0JBU0YsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsNENBQTRDO2dCQVFyRCxPQUFPO3NCQURWLFdBQVc7dUJBQUMsdUNBQXVDO2dCQVFoRCxjQUFjO3NCQURqQixXQUFXO3VCQUFDLDBDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAyNSBWaXNhLCBJbmMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKiovXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW3YtYWNjb3JkaW9uLXBhbmVsXSdcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uUGFuZWxEaXJlY3RpdmUge1xuICBfaW5kZXg6IG51bWJlcjtcbiAgX2V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gIF9zdWJ0bGUgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBjdXN0b20gY2xhc3MmIzQwO2VzJiM0MTsgZm9yIGN1c3RvbSBzdHlsaW5nLlxuICAgKiBAZGVmYXVsdCAudi1hY2NvcmRpb24tcGFuZWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5fY2xhc3MsICd2LWFjY29yZGlvbi1wYW5lbCddLmpvaW4oJyAnKTtcbiAgfVxuICBzZXQgY2xhc3ModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NsYXNzID0gdmFsdWU7XG4gIH1cbiAgX2NsYXNzOiBzdHJpbmcgPSAnJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jbGFzcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGN1c3RvbSBpZC5cbiAgICogQGRlZmF1bHQgdGhpcy51dWlkU2VydmljZS5nZXRVVUlEKCd2LWFjY29yZGlvbi1wYW5lbC0nKVxuICAgKiBAYnVpbHRpbiB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBpZDogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICBnZXQgaG9zdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQ7XG4gIH1cblxuICAvKiogQGlnbm9yZSBAVE9ETyBkZXByZWNhdGU/ICovXG4gIEBJbnB1dCgpXG4gIGdldCBuYXRpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX25hdGl2ZTtcbiAgfVxuICBzZXQgbmF0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbmF0aXZlID0gdmFsdWU7XG4gIH1cbiAgX25hdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgaG9zdEFyaWFIaWRkZW4oKTogYm9vbGVhbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9uYXRpdmUgPyBudWxsIDogIXRoaXMuX2V4cGFuZGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLXYtYWNjb3JkaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3InKVxuICBnZXQgaG9zdEJhY2tncm91bmQoKTogc3RyaW5nIHwgdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N1YnRsZSgpKSB7XG4gICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JztcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tdi1hY2NvcmRpb24tcGFuZWwtYm9yZGVyLXNpemUnKVxuICBnZXQgaG9zdEdhcCgpOiBzdHJpbmcgfCB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3VidGxlKCkpIHtcbiAgICAgIHJldHVybiAnMHB4JztcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tdi1hY2NvcmRpb24tcGFuZWwtcGFkZGluZy1pbmxpbmUnKVxuICBnZXQgaG9zdEZvcmVncm91bmQoKTogc3RyaW5nIHwgdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N1YnRsZSgpKSB7XG4gICAgICByZXR1cm4gJzMycHgnO1xuICAgIH1cbiAgfVxufVxuIl19