@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
102 lines • 9.36 kB
JavaScript
/**
* 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