/**
 *              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.
 *
 **/
{"version":3,"file":"visa-nova-angular.mjs","sources":["../../../../libs/nova-lib/src/lib/nova-lib.constants.ts","../../../../libs/nova-lib/src/lib/_utilities/angular-specific-directives/base-interactive.directive.ts","../../../../libs/nova-lib/src/lib/dropdown-item/dropdown-item.directive.ts","../../../../libs/nova-lib/src/lib/_utilities/services/uuid.service.ts","../../../../libs/nova-lib/src/lib/_utilities/services/app-stable-check.service.ts","../../../../libs/nova-lib/src/lib/badge/badge.directive.ts","../../../../libs/nova-lib/src/lib/icon-toggle-default/icon-toggle-default.directive.ts","../../../../libs/nova-lib/src/lib/icon-toggle-rotated/icon-toggle-rotated.directive.ts","../../../../libs/nova-lib/src/lib/icon-toggle/icon-toggle.component.ts","../../../../libs/nova-lib/src/lib/icon-toggle/icon-toggle.component.html","../../../../libs/nova-lib/src/lib/icon/icon.constants.ts","../../../../libs/nova-lib/src/lib/icon/icon.component.ts","../../../../libs/nova-lib/src/lib/icon/icon.component.html","../../../../libs/nova-lib/src/lib/icon-toggle/icon-toggle.directive.ts","../../../../libs/nova-lib/src/lib/button/button.constants.ts","../../../../libs/nova-lib/src/lib/button/button.directive.ts","../../../../libs/nova-lib/src/lib/checkbox/checkbox.directive.ts","../../../../libs/nova-lib/src/lib/radio/radio.directive.ts","../../../../libs/nova-lib/src/lib/toggle-control/toggle-control.service.ts","../../../../libs/nova-lib/src/lib/listbox-item/listbox-item.component.ts","../../../../libs/nova-lib/src/lib/listbox-item/listbox-item.component.html","../../../../libs/nova-lib/src/lib/button-stacked/button-stacked.directive.ts","../../../../libs/nova-lib/src/lib/floating-ui-trigger/floating-ui-trigger.directive.ts","../../../../libs/nova-lib/src/lib/tab-item/tab-item.directive.ts","../../../../libs/nova-lib/src/lib/nova-lib.service.ts","../../../../libs/nova-lib/src/lib/_utilities/angular-specific-directives/add-arrow-keys.directive.ts","../../../../libs/nova-lib/src/lib/_utilities/angular-specific-directives/opens-in-new-tab.directive.ts","../../../../libs/nova-lib/src/lib/accordion-heading/accordion-heading.directive.ts","../../../../libs/nova-lib/src/lib/accordion-button-heading/accordion-button-heading.directive.ts","../../../../libs/nova-lib/src/lib/accordion-panel/accordion-panel.directive.ts","../../../../libs/nova-lib/src/lib/accordion-item/accordion-item.directive.ts","../../../../libs/nova-lib/src/lib/flex/flex.directive.ts","../../../../libs/nova-lib/src/lib/wizard-step/wizard-step.directive.ts","../../../../libs/nova-lib/src/lib/wizard/wizard.directive.ts","../../../../libs/nova-lib/src/lib/accordion/accordion.service.ts","../../../../libs/nova-lib/src/lib/accordion/accordion.directive.ts","../../../../libs/nova-lib/src/lib/alternate/alternate.directive.ts","../../../../libs/nova-lib/src/lib/anchor-link-menu-header/anchor-link-menu-header.directive.ts","../../../../libs/nova-lib/src/lib/anchor-link-menu/anchor-link-menu.directive.ts","../../../../libs/nova-lib/src/lib/arrow/arrow.directive.ts","../../../../libs/nova-lib/src/lib/avatar-role-img/avatar-role-img.directive.ts","../../../../libs/nova-lib/src/lib/avatar/avatar.directive.ts","../../../../libs/nova-lib/src/lib/banner/banner.directive.ts","../../../../libs/nova-lib/src/lib/link/link.directive.ts","../../../../libs/nova-lib/src/lib/breadcrumbs/breadcrumbs.directive.ts","../../../../libs/nova-lib/src/lib/breakpoints/breakpoints.directive.ts","../../../../libs/nova-lib/src/lib/button-as-disabled-a-tag/button-as-disabled-a-tag.directive.ts","../../../../libs/nova-lib/src/lib/button-disabled/button-disabled.directive.ts","../../../../libs/nova-lib/src/lib/button-icon/button-icon.directive.ts","../../../../libs/nova-lib/src/lib/checkbox-panel/checkbox-panel.directive.ts","../../../../libs/nova-lib/src/lib/chip/chip.directive.ts","../../../../libs/nova-lib/src/lib/label/label.directive.ts","../../../../libs/nova-lib/src/lib/circular-progress/circular-progress.component.ts","../../../../libs/nova-lib/src/lib/circular-progress/circular-progress.component.html","../../../../libs/nova-lib/src/lib/disclosure-tab-item/disclosure-tab-item.directive.ts","../../../../libs/nova-lib/src/lib/dropdown-list/dropdown-list.directive.ts","../../../../libs/nova-lib/src/lib/dropdown-menu/dropdown-menu.directive.ts","../../../../libs/nova-lib/src/lib/floating-ui-element/floating-ui-element.directive.ts","../../../../libs/nova-lib/src/lib/floating-ui/floating-ui.constants.ts","../../../../libs/nova-lib/src/lib/floating-ui/floating-ui.service.ts","../../../../libs/nova-lib/src/lib/listbox/listbox.service.ts","../../../../libs/nova-lib/src/lib/listbox/listbox.directive.ts","../../../../libs/nova-lib/src/lib/tooltip/tooltip.directive.ts","../../../../libs/nova-lib/src/lib/floating-ui-container/floating-ui-container.directive.ts","../../../../libs/nova-lib/src/lib/input-message/input-message.directive.ts","../../../../libs/nova-lib/src/lib/input/input.directive.ts","../../../../libs/nova-lib/src/lib/select/select.directive.ts","../../../../libs/nova-lib/src/lib/input-container/input-container.component.ts","../../../../libs/nova-lib/src/lib/input-container/input-container.component.html","../../../../libs/nova-lib/src/lib/listbox-container/listbox-container.directive.ts","../../../../libs/nova-lib/src/lib/combobox/combobox.constants.ts","../../../../libs/nova-lib/src/lib/combobox/combobox.directive.ts","../../../../libs/nova-lib/src/lib/content-card-body/content-card-body.directive.ts","../../../../libs/nova-lib/src/lib/content-card-image/content-card-image.directive.ts","../../../../libs/nova-lib/src/lib/content-card-subtitle/content-card-subtitle.directive.ts","../../../../libs/nova-lib/src/lib/content-card-title-link/content-card-title-link.directive.ts","../../../../libs/nova-lib/src/lib/content-card-title/content-card-title.directive.ts","../../../../libs/nova-lib/src/lib/content-card/content-card.directive.ts","../../../../libs/nova-lib/src/lib/message/message.constants.ts","../../../../libs/nova-lib/src/lib/dialog/dialog.component.ts","../../../../libs/nova-lib/src/lib/dialog/dialog.component.html","../../../../libs/nova-lib/src/lib/dialog-header/dialog-header.directive.ts","../../../../libs/nova-lib/src/lib/dialog-text/dialog-text.directive.ts","../../../../libs/nova-lib/src/lib/divider/divider.constants.ts","../../../../libs/nova-lib/src/lib/divider/divider.directive.ts","../../../../libs/nova-lib/src/lib/dual-icons/dual-icons.directive.ts","../../../../libs/nova-lib/src/lib/elevation/elevation.directive.ts","../../../../libs/nova-lib/src/lib/flag/flag.directive.ts","../../../../libs/nova-lib/src/lib/footer/footer.directive.ts","../../../../libs/nova-lib/src/lib/linear-progress/linear-progress.directive.ts","../../../../libs/nova-lib/src/lib/margin/margin.directive.ts","../../../../libs/nova-lib/src/lib/message-content/message-content.directive.ts","../../../../libs/nova-lib/src/lib/message-icon/message-icon.directive.ts","../../../../libs/nova-lib/src/lib/message/message.directive.ts","../../../../libs/nova-lib/src/lib/tab-list/tab-list.directive.ts","../../../../libs/nova-lib/src/lib/nav/nav.directive.ts","../../../../libs/nova-lib/src/lib/padding/padding.directive.ts","../../../../libs/nova-lib/src/lib/pagination-overflow/pagination-overflow.directive.ts","../../../../libs/nova-lib/src/lib/pagination/pagination.service.ts","../../../../libs/nova-lib/src/lib/pagination/pagination.directive.ts","../../../../libs/nova-lib/src/lib/panel-body/panel-body.directive.ts","../../../../libs/nova-lib/src/lib/panel-content/panel-content.directive.ts","../../../../libs/nova-lib/src/lib/panel-toggle-button/panel-toggle-button.directive.ts","../../../../libs/nova-lib/src/lib/panel/panel.component.ts","../../../../libs/nova-lib/src/lib/panel/panel.component.html","../../../../libs/nova-lib/src/lib/radio-group/radio-group.directive.ts","../../../../libs/nova-lib/src/lib/screenreader-only/screenreader-only.directive.ts","../../../../libs/nova-lib/src/lib/section-message/section-message.directive.ts","../../../../libs/nova-lib/src/lib/skip-to-content/skip-to-content.component.ts","../../../../libs/nova-lib/src/lib/surface/surface.directive.ts","../../../../libs/nova-lib/src/lib/switch-label/switch-label.directive.ts","../../../../libs/nova-lib/src/lib/switch/switch.directive.ts","../../../../libs/nova-lib/src/lib/table-wrapper/table-wrapper.directive.ts","../../../../libs/nova-lib/src/lib/table/table.constants.ts","../../../../libs/nova-lib/src/lib/table/table.directive.ts","../../../../libs/nova-lib/src/lib/tbody/tbody.directive.ts","../../../../libs/nova-lib/src/lib/td/td.directive.ts","../../../../libs/nova-lib/src/lib/th/th.directive.ts","../../../../libs/nova-lib/src/lib/toggle-button/toggle-button.directive.ts","../../../../libs/nova-lib/src/lib/toggle-container/toggle-container.directive.ts","../../../../libs/nova-lib/src/lib/toggle/toggle.directive.ts","../../../../libs/nova-lib/src/lib/tr/tr.directive.ts","../../../../libs/nova-lib/src/lib/typography-color/typography-color.directive.ts","../../../../libs/nova-lib/src/lib/typography/typography.directive.ts","../../../../libs/nova-lib/src/lib/visa-logo/visa-logo.component.ts","../../../../libs/nova-lib/src/lib/visa-logo/visa-logo.component.html","../../../../libs/nova-lib/src/lib/nova-lib.module.ts","../../../../libs/nova-lib/src/lib/visa-logo/visa-logo.constants.ts","../../../../libs/nova-lib/src/lib/combobox/combobox.service.ts","../../../../libs/nova-lib/src/lib/id-generator/id-generator.service.ts","../../../../libs/nova-lib/src/lib/pagination-control/pagination.control.ts","../../../../libs/nova-lib/src/index.ts","../../../../libs/nova-lib/src/visa-nova-angular.ts"],"sourcesContent":["/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport const A_LOWERCASE_KEY = 'a';\nexport const DOWN_ARROW_KEY = 'ArrowDown';\nexport const END_KEY = 'End';\nexport const ESCAPE_KEY = 'Escape';\nexport const HOME_KEY = 'Home';\nexport const LEFT_ARROW_KEY = 'ArrowLeft';\nexport const PAGE_DOWN_KEY = 'PageDown';\nexport const PAGE_UP_KEY = 'PageUp';\nexport const RIGHT_ARROW_KEY = 'ArrowRight';\nexport const SPACE_KEY = ' ';\nexport const SPACE_CODE = 'Space';\nexport const TAB_KEY = 'Tab';\nexport const UP_ARROW_KEY = 'ArrowUp';\nexport const ALT_KEY = 'Alt';\nexport const SHIFT_KEY = 'Shift';\nexport const ENTER_KEY = 'Enter';\nexport const BACKSPACE_KEY = 'Backspace';\nexport const DELETE_KEY = 'Delete';\nexport const CTRL_KEY = 'Control';\nexport const META_KEY = 'Meta'; // command key on macs\n// Internet Explorer (tested on release 9 and 11) and Firefox 36 and earlier use \"Del\" instead of \"Delete\" for the Del key.\n// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values\nexport const DEL_KEY = 'Del';\n\nexport const SpacingProperties = {\n  INHERIT: 'inherit',\n  NORMAL: 'normal',\n  AUTO: 'auto'\n} as const;\nexport type SpacingProperties = (typeof SpacingProperties)[keyof typeof SpacingProperties];\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, EventEmitter, HostListener, OnDestroy, Output } from '@angular/core';\n\n@Directive({\n  selector: '[v-interactive]',\n  standalone: true\n})\nexport class BaseInteractiveDirective implements OnDestroy {\n  listeners: any[] = [];\n\n  constructor(public el: ElementRef) {}\n\n  ngOnDestroy(): void {\n    this.listeners = [];\n  }\n\n  /**\n   * Emits event when host interactive element is blurred.\n   */\n  @Output() blurred = new EventEmitter<any>();\n\n  @HostListener('blur', ['$event'])\n  hostBlur(event: Event) {\n    this.blurred.emit(event);\n  }\n\n  /**\n   * Emits event when host interactive element is focused.\n   */\n  @Output() focused = new EventEmitter<any>();\n\n  @HostListener('focus', ['$event'])\n  hostFocus(event: Event) {\n    this.focused.emit(event);\n  }\n\n  /**\n   * Emits event when host interactive element is clicked.\n   */\n  @Output() clicked = new EventEmitter<any>();\n\n  @HostListener('click', ['$event'])\n  hostClick(event: Event) {\n    this.clicked.emit(event);\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { BaseInteractiveDirective } from '../_utilities/angular-specific-directives/base-interactive.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-dropdown-item]'\n})\nexport class DropdownItemDirective extends BaseInteractiveDirective {\n  buttonItem: boolean = false;\n\n  cssClasses = '';\n  constructor(override el: ElementRef) {\n    super(el);\n    this.cssClasses = 'v-listbox-item v-dropdown-item';\n    if (this.el.nativeElement.tagName.toLowerCase() === 'button') {\n      this.buttonItem = true;\n      this.cssClasses = 'v-listbox-item v-dropdown-item v-button v-button-tertiary v-justify-content-start';\n    }\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-listbox-item.v-dropdown-item\n   * @default .v-listbox-item.v-dropdown-item.v-button.v-button-tertiary.v-justify-content-start when the host element is a button.\n   */\n  @Input() class = ''; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string | '' | null {\n    return [this.class, this.cssClasses].join(' ');\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Injectable } from '@angular/core';\n\n/**\n * This unique ID generator service is primarily used internally by the library but can be leveraged directly for custom implementations.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class UUIDService {\n  /**\n   * Object to store generated IDs.\n   */\n  private UUIDs: any = {};\n\n  /** @ignore */\n  private _getRandomId() {\n    return (\n      Math.floor(Math.random() * 10).toString() +\n      Math.floor(Math.random() * 10).toString() +\n      Math.floor(Math.random() * 10).toString() +\n      Math.floor(Math.random() * 10).toString() +\n      Math.floor(Math.random() * 10).toString() +\n      Math.floor(Math.random() * 10).toString()\n    );\n  }\n\n  /**\n   * The getUUID method generates a random ID. <br>\n   * Works in tandem with <code>checkUUID</code> until a unique ID is generated.\n   * @param name Optional string to start the ID.\n   * @returns string\n   */\n  getUUID(prefix?: string): string {\n    prefix = prefix ? prefix : '';\n    const uuid = '' + prefix + this._getRandomId();\n    return this.checkUUID(uuid, prefix);\n  }\n\n  /**\n   * The checkUUID method verifies that the ID has not already been generated by the getUUID method. <br>\n   * Works in tandem with <code>getUUID</code> until a unique ID is generated.\n   * @param uuid ID to check.\n   * @param name Optional string to start the ID.\n   * @returns uuid\n   */\n  checkUUID(uuid: string, prefix?: string): string {\n    if (this.UUIDs[uuid]) {\n      return this.getUUID(prefix);\n    }\n    this.UUIDs[uuid] = 1;\n    return uuid;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { ApplicationRef, Injectable, Inject, PLATFORM_ID, signal, WritableSignal } from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\n/**\n * This service is used internally by the library and can optionally be used directly. <br />\n * It’s required for SSR integration but not necessary for functions behind Angular's renderer.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class AppReadyService {\n  /**\n   * Signal to indicate if the application is stable.\n   */\n  appStable: WritableSignal<boolean> = signal(false);\n  /** @ignore */\n  _browserAndDomReady = false;\n\n  constructor(\n    private appRef: ApplicationRef,\n    @Inject(DOCUMENT) private document: Document,\n    @Inject(PLATFORM_ID) private platformId: object\n  ) {\n    this.appRef.isStable.subscribe((isStable) => {\n      this.appStable.set(isStable);\n    });\n  }\n\n  /**\n   * The checkDocumentExists method checks and returns the document object if applicable.\n   */\n  checkDocumentExists(): Document | boolean {\n    if (this.document) {\n      return this.document;\n    } else return false;\n  }\n\n  /**\n   * The checkIsPlatformBrowser method checks if the platform is a browser (as opposed to server).\n   * @returns boolean\n   */\n  checkIsPlatformBrowser(): boolean {\n    return isPlatformBrowser(this.platformId);\n  }\n\n  /**\n   * The isBrowserAndDomAvailable method checks for both the document and the browser platform.\n   * @returns boolean\n   */\n  isBrowserAndDomAvailable(): boolean {\n    if (this._browserAndDomReady) return true; // prevent calling the functions every time\n    this._browserAndDomReady = this.checkDocumentExists() && this.checkIsPlatformBrowser();\n    return this._browserAndDomReady;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { UUIDService } from '../_utilities/services/uuid.service';\n\nexport const BadgeType = {\n  DEFAULT: 'default',\n  NEUTRAL: 'neutral',\n  CRITICAL: 'critical',\n  NEGATIVE: 'negative',\n  STABLE: 'stable',\n  WARNING: 'warning',\n  SUBTLE: 'subtle',\n  NUMBER: 'number',\n  ACTIVE: 'active'\n} as const;\n\nexport type BadgeType = (typeof BadgeType)[keyof typeof BadgeType];\n@Directive({\n  standalone: true,\n  selector: '[v-badge]'\n})\nexport class BadgeDirective {\n  /**\n   * Sets badge type.\n   * @default 'default' | BadgeType.DEFAULT\n   * @options 'default' | BadgeType.DEFAULT | <br> 'neutral' | BadgeType.NEUTRAL | <br> 'critical' | BadgeType.CRITICAL | <br> 'stable' | BadgeType.STABLE | <br> 'warning' | BadgeType.WARNING | <br> 'subtle' | BadgeType.SUBTLE | <br> 'number' | BadgeType.NUMBER\n   */\n  @Input()\n  get badgeType(): BadgeType {\n    return this._badgeType;\n  }\n  set badgeType(value: BadgeType) {\n    this._badgeType = value;\n  }\n  _badgeType: BadgeType = BadgeType.DEFAULT;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-badge\n   */\n  @Input()\n  get class(): string {\n    return [\n      this._class,\n      this.badgeType && this.badgeType != 'default'\n        ? this.badgeType === BadgeType.NEGATIVE\n          ? 'v-badge-critical'\n          : `v-badge-${this.badgeType}`\n        : '',\n      this.number ? 'v-badge-number' : '',\n      this.noBackground ? 'v-badge-clear' : '',\n      this.icon ? 'v-badge-icon' : ''\n    ].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = 'v-badge';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-badge-')\n   * @builtin true\n   */\n  @Input()\n  id: string = this.uuidService.getUUID('v-badge-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  constructor(private uuidService: UUIDService) {}\n\n  /**\n   * Sets badge to number variant when true. <br />\n   * Using this flag rather than <code>badgeType=\"number\"</code> allows for number badges with other badge types.\n   * @default false\n   */\n  @Input()\n  get number(): boolean {\n    return this._number;\n  }\n  set number(value: BooleanInput) {\n    this._number = coerceBooleanProperty(value);\n  }\n  _number: boolean = false;\n\n  /**\n   * Whether or not badge contains an icon.\n   * @default false\n   */\n  @Input()\n  get icon(): boolean {\n    return this._icon;\n  }\n  set icon(value: BooleanInput) {\n    this._icon = coerceBooleanProperty(value);\n  }\n  _icon: boolean = false;\n\n  /**\n   * Removes background color from badge when true.\n   */\n  @Input()\n  get noBackground(): boolean {\n    return this._noBackground;\n  }\n  set noBackground(value: BooleanInput) {\n    this._noBackground = coerceBooleanProperty(value);\n  }\n  _noBackground: boolean = false;\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-toggle-default-template]'\n})\nexport class IconToggleDefaultTemplateDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class].join(' ');\n  }\n\n  constructor(public el: ElementRef) {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-toggle-rotated-template]'\n})\nexport class IconToggleRotatedTemplateDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class].join(' ');\n  }\n\n  constructor(public el: ElementRef) {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { CommonModule } from '@angular/common';\nimport { Component, ContentChild, ElementRef, HostBinding, Input } from '@angular/core';\nimport { IconToggleDefaultTemplateDirective } from '../icon-toggle-default/icon-toggle-default.directive';\nimport { IconToggleRotatedTemplateDirective } from '../icon-toggle-rotated/icon-toggle-rotated.directive';\n\n@Component({\n  standalone: true,\n  imports: [CommonModule],\n  selector: 'v-icon-visa-toggle',\n  templateUrl: './icon-toggle.component.html'\n})\nexport class IconToggleComponent {\n  @ContentChild(IconToggleDefaultTemplateDirective) defaultTemplate: IconToggleDefaultTemplateDirective;\n  @ContentChild(IconToggleRotatedTemplateDirective) rotatedTemplate: IconToggleRotatedTemplateDirective;\n  _floatingUIToggle: boolean = false;\n  _selectToggle: boolean = false;\n  _accordionToggle: boolean = false;\n\n  constructor(public el: ElementRef) {} // used for tabs\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-accordion-toggle-icon\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-icon', 'v-icon-tiny', this._accordionToggle ? 'v-accordion-toggle-icon' : ''].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Shows the rotated template when true and the default template when false.\n   * @default false\n   **/\n  @Input()\n  get rotated(): boolean {\n    return this._rotated;\n  }\n  set rotated(value: boolean) {\n    this._rotated = value;\n  }\n  _rotated: boolean = false;\n\n  /** @ignore */\n  @HostBinding('style.align-items')\n  @HostBinding('style.justify-content')\n  @Input()\n  alignment: string = 'center';\n\n  // don't allow this component to be styled with colors\n  // \"pass\" the colors to the child svg\n  /** @ignore */\n  @HostBinding('style.--v-icon-primary')\n  @HostBinding('style.--v-icon-secondary')\n  @Input()\n  color: string = 'inherit';\n\n  /** @ignore */\n  @HostBinding('style.pointer-events')\n  @Input()\n  pointerEvents: string = 'none';\n}\n","<!--\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n -->\n<ng-container *ngIf=\"!rotated; else rotatedTemplate\">\n  <ng-content select=\"[v-toggle-default-template]\"></ng-content>\n</ng-container>\n\n<ng-template #rotatedTemplate>\n  <ng-content select=\"[v-toggle-rotated-template]\"></ng-content>\n</ng-template>\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport const IconSize = {\n  TINY: 'tiny',\n  LOW: 'low',\n  HIGH: 'high'\n} as const\n\nexport type IconSize = (typeof IconSize)[keyof typeof IconSize];\n\nexport const IconLibrary = {\n  VISA: 'visa',\n  GENERIC: 'generic',\n} as const\n\nexport type IconLibrary = (typeof IconLibrary)[keyof typeof IconLibrary];\n\nexport const IconToggle = {\n  EXPANDED: 'chevron-up',\n  COLLAPSED: 'chevron-down',\n} as const\n\nexport type IconToggle = (typeof IconToggle)[keyof typeof IconToggle];","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { IconLibrary, IconSize } from './icon.constants';\n\n/**\n * <code>IconComponent</code> is intended <i>only</i> for use with icons used with an icon sprite. <br />\n * <strong>Standalone icons from @visa/nova-icons-angular is recommended over using the <code>IconComponent</code>.</strong>. <br />\n * Icon component for displaying icons from VPDS' [Icon Library](https://design.visa.com/icons). <br />\n */\n@Component({\n  standalone: true,\n  imports: [CommonModule],\n  selector: '[v-icon]',\n  templateUrl: './icon.component.html'\n})\nexport class IconComponent implements OnInit {\n  _computedSize: number = 24;\n  _iconRef: string;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-icon.v-icon-&lt;iconSize&gt;.v-icon-&lt;library&gt;\n   */\n  @Input()\n  get class(): string {\n    return [\n      this._class,\n      'v-icon',\n      'v-icon-' + this.iconSize,\n      'v-icon-' + this.library,\n      this.isBadgeEllipse ? 'v-badge-ellipse' : '',\n      this.rtl ? 'v-icon-rtl' : ''\n    ].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Flips icon from right to left when true and <code>dir=\"rtl\" is present on a parent element.\n   * @default false\n   */\n  @Input()\n  get rtl(): boolean {\n    return this._rtl;\n  }\n  set rtl(value: BooleanInput) {\n    this._rtl = coerceBooleanProperty(value);\n  }\n  _rtl: boolean = false;\n\n  /**\n   * Sets icon resolution/size.\n   * @default 'tiny' / IconSize.TINY\n   * @options 'tiny' | IconSize.TINY | <br> 'low' | IconSize.LOW | <br> 'high' | IconSize.HIGH\n   */\n  // default of tiny chosen because it is the default for majority of buttons\n  @Input()\n  get iconSize(): IconSize {\n    return this._iconSize;\n  }\n  set iconSize(value: IconSize) {\n    this._iconSize = value;\n    this.setIcon();\n  }\n  _iconSize: IconSize = IconSize.TINY;\n\n  /**\n   * Tells icon which library to reference.\n   * @default 'visa' / IconLibrary.VISA\n   * @options 'visa' | IconLibrary.VISA | <br> 'generic' | IconLibrary.GENERIC\n   */\n  @Input()\n  get library(): IconLibrary {\n    return this._library;\n  }\n  set library(value: IconLibrary) {\n    this._library = value;\n  }\n  _library: IconLibrary = IconLibrary.VISA;\n\n  /**\n   * Name of icon to display. <br />\n   * Should refer to an icon in VPDS' [Icon Library](https://design.visa.com/icons).\n   */\n  @Input()\n  get icon(): string {\n    return this._icon;\n  }\n  set icon(value: string) {\n    this._icon = value;\n    this.setIcon();\n  }\n  _icon: string;\n\n  /**\n   * Sets icon to badge-ellipse variant when true. <br />\n   * Intended for use in badges with an indicator.\n   * @default false\n   */\n  @Input()\n  get isBadgeEllipse(): boolean {\n    return this._isBadgeEllipse;\n  }\n  set isBadgeEllipse(value: BooleanInput) {\n    this._isBadgeEllipse = coerceBooleanProperty(value);\n  }\n  _isBadgeEllipse: boolean = false;\n\n  @HostBinding('style.--v-icon-primary')\n  @HostBinding('style.--v-icon-secondary')\n  get hostStyleFill(): string | void {\n    if (this.isBadgeEllipse) {\n      return 'var(--v-badge-ellipse-color)';\n    }\n  }\n\n  @HostBinding('style.--v-icon-height')\n  get hostStyleIconHeight(): string | void {\n    if (this.isBadgeEllipse) {\n      return `var(--size-scalable-${this.customHeight})`;\n    }\n  }\n\n  @HostBinding('style.--v-icon-width')\n  get hostStyleIconWidth(): string | void {\n    if (this.isBadgeEllipse) {\n      return `var(--size-scalable-${this.customWidth})`;\n    }\n  }\n\n  /**\n   * Set CSS variable <code>--v-icon-height</code> which customizes icon height.\n   * @default '--size-scalable-8'\n   */\n  @Input()\n  get customHeight(): string {\n    return this._customHeight;\n  }\n  set customHeight(value: string) {\n    this._customHeight = value;\n  }\n  _customHeight: string = '8';\n\n  /**\n   * Set CSS variable <code>--v-icon-width</code> which customizes icon width.\n   * @default '--size-scalable-8'\n   */\n  @Input()\n  get customWidth(): string {\n    return this._customWidth;\n  }\n  set customWidth(value: string) {\n    this._customWidth = value;\n  }\n  _customWidth: string = '8';\n\n  /**\n   * Name of <strong>custom</strong> icon reference. <br />\n   * Should refer to an icon within an icon sprite in your application. <br />\n   * The href will reference the string provided directly. No library or iconSize will be added.\n   */\n  @Input()\n  get customIcon(): string {\n    return this._customIcon;\n  }\n  set customIcon(value: string) {\n    this._customIcon = value;\n    this.setIcon();\n  }\n  _customIcon: string;\n\n  @HostBinding('attr.viewBox')\n  get hostViewBox() {\n    return `0 0 ${this._computedSize} ${this._computedSize}`;\n  }\n\n  @HostBinding('attr.height')\n  get hostHeight() {\n    return `${this._computedSize}`;\n  }\n\n  @HostBinding('attr.width')\n  get hostWidth() {\n    return `${this._computedSize}`;\n  }\n\n  @HostBinding('attr.focusable')\n  get hostFocusable() {\n    return 'false';\n  }\n\n  @HostBinding('attr.aria-hidden')\n  get hostAriaHidden() {\n    return 'true';\n  }\n\n  constructor() {}\n\n  ngOnInit(): void {\n    this.setIcon();\n  }\n\n  setIcon() {\n    this._computedSize = this.iconSize === IconSize.LOW ? 24 : this.iconSize === IconSize.HIGH ? 48 : 16;\n    this._iconRef = this.customIcon\n      ? this.customIcon\n      : this.icon\n        ? `${this.library}-${this.icon}-${this.iconSize}`\n        : '';\n  }\n}\n","<!--\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n -->\n<svg:use *ngIf=\"_iconRef\" [attr.href]=\"'#' + _iconRef\" [attr.xlink:href]=\"'#' + _iconRef\"></svg:use>\n<svg:circle *ngIf=\"isBadgeEllipse\" cx=\"8\" cy=\"8\" r=\"8\" style=\"fill: var(--v-badge-ellipse-color)\"></svg:circle>\n<ng-content></ng-content>\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input, OnInit } from '@angular/core';\nimport { IconComponent } from '../icon/icon.component';\nimport { IconToggle } from '../icon/icon.constants';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-icon-toggle]'\n})\nexport class IconToggleDirective implements OnInit {\n  _expanded: boolean = false;\n  _iconSet: boolean = false;\n  _expandedSet: boolean = false;\n  _collapsedSet: boolean = false;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-accordion-toggle-icon\n   */\n  @Input()\n  get class(): string {\n    return [this._class].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Icon to show when item is expanded / shown. <br>\n   * Will render this icon when no <code>icon</code> or <code>customIcon</code> is provided to <code>v-icon</code>. <br>\n   * Should refer to an icon in VPDS' [Icon Library](https://design.visa.com/icons).\n   * @default 'chevron-down' / IconToggle.EXPANDED <br>\n   * @builtin true\n   */\n  @Input()\n  get expandedIcon(): string {\n    return this._expandedIcon;\n  }\n  set expandedIcon(value: string) {\n    this._expandedIcon = value;\n    this._expandedSet = true;\n  }\n  _expandedIcon: string = IconToggle.EXPANDED;\n\n  /**\n   * Icon to show when item is collapsed / hidden. <br>\n   * Will render this icon when no <code>icon</code> or <code>customIcon</code> is provided to <code>v-icon</code>. <br>\n   * Should refer to an icon in VPDS' [Icon Library](https://design.visa.com/icons).\n   * @default 'chevron-right' / IconToggle.COLLAPSED <br>\n   * @builtin true\n   */\n  @Input()\n  get collapsedIcon(): string {\n    return this._collapsedIcon;\n  }\n  set collapsedIcon(value: string) {\n    this._collapsedIcon = value;\n    this._collapsedSet = true;\n  }\n  _collapsedIcon: string = IconToggle.COLLAPSED;\n\n  constructor(public icon: IconComponent) {} // used in floating-ui or accordion service\n\n  ngOnInit(): void {\n    if (this.icon && (this.icon.icon || this.icon.customIcon)) {\n      this._iconSet = true;\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport const ButtonSize = {\n  SMALL: 'small',\n  MEDIUM: 'medium',\n  LARGE: 'large'\n} as const\n\nexport type ButtonSize = (typeof ButtonSize)[keyof typeof ButtonSize];\n\n\nexport const ButtonColor = {\n  PRIMARY: 'primary',\n  SECONDARY: 'secondary',\n  TERTIARY: 'tertiary'\n} as const\n\nexport type ButtonColor = (typeof ButtonColor)[keyof typeof ButtonColor];","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, NumberInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ContentChild,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Output,\n  QueryList\n} from '@angular/core';\nimport { BaseInteractiveDirective } from '../_utilities/angular-specific-directives/base-interactive.directive';\nimport { BadgeDirective } from '../badge/badge.directive';\nimport { IconToggleComponent } from '../icon-toggle/icon-toggle.component';\nimport { IconToggleDirective } from '../icon-toggle/icon-toggle.directive';\nimport { IconComponent } from '../icon/icon.component';\nimport { ButtonColor, ButtonSize } from './button.constants';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-button], [v-button-icon], [v-button-stacked], [v-panel-toggle]'\n})\nexport class ButtonDirective extends BaseInteractiveDirective implements AfterContentInit {\n  @ContentChild(BadgeDirective) badge: BadgeDirective;\n  _roleSetByUser = false; // prevents parent component from overriding if role if role is given directly by user\n  _buttonColorSetByUser = false; // prevents parent component from overriding if buttonColor if buttonColor is given directly by user\n  _buttonSizeSetByUser = false; // prevents parent component from overriding if buttonSize if buttonSize is given directly by user\n\n  /**\n   * Sets custom id.\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Sets custom type.\n   * @default 'button'\n   */\n  @Input()\n  type: string = 'button';\n  @HostBinding('attr.type')\n  get hostType(): string {\n    return this.type;\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-button.v-button-&lt;buttonColor&gt;.v-button-&lt;buttonSize&gt;\n   */\n  @Input()\n  get class(): string {\n    return [\n      this._class,\n      'v-button',\n      this.buttonColor !== ButtonColor.PRIMARY ? 'v-button-' + this.buttonColor : '',\n      this.buttonSize !== ButtonSize.MEDIUM ? 'v-button-' + this.buttonSize : '',\n      this.subtle ? 'v-button-subtle' : '',\n      this.destructive ? 'v-button-destructive' : ''\n    ].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets button size.\n   * @default 'medium' / ButtonSize.MEDIUM\n   * @options 'small' | ButtonSize.SMALL | <br> 'medium' | ButtonSize.MEDIUM | <br> 'large' | ButtonSize.LARGE\n   */\n  @Input()\n  get buttonSize(): ButtonSize {\n    return this._buttonSize;\n  }\n  set buttonSize(value: ButtonSize) {\n    this._buttonSize = value;\n    this._buttonSizeSetByUser = true;\n  }\n  _buttonSize: ButtonSize = ButtonSize.MEDIUM;\n\n  /**\n   * Sets button color scheme.\n   * @default 'primary' / ButtonColor.PRIMARY\n   * @options 'primary' | ButtonSize.PRIMARY | <br> 'secondary' | ButtonSize.SECONDARY | <br> 'tertiary' | ButtonSize.TERTIARY\n   */\n  @Input()\n  get buttonColor(): ButtonColor {\n    return this._buttonColor;\n  }\n  set buttonColor(value: ButtonColor) {\n    this._buttonColor = value;\n    this._buttonColorSetByUser = true;\n  }\n  _buttonColor: ButtonColor = ButtonColor.PRIMARY;\n\n  /**\n   * Sets button to subtle variant when true.\n   * @default false\n   */\n  @Input()\n  get subtle(): boolean {\n    return this._subtle;\n  }\n  set subtle(value: BooleanInput) {\n    this._subtle = coerceBooleanProperty(value);\n  }\n  _subtle: boolean = false;\n\n  /**\n   * Sets button to destructive variant when true.\n   * @default false\n   */\n  @Input()\n  get destructive(): boolean {\n    return this._destructive;\n  }\n  set destructive(value: BooleanInput) {\n    this._destructive = coerceBooleanProperty(value);\n  }\n  _destructive: boolean = false;\n\n  /**\n   * Disables button when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    this.disabledChange.emit(this.disabled);\n  }\n  _disabled: boolean = false;\n\n  /**\n   * Emits a boolean value indicating the new disabled state when the disabled state changes.\n   */\n  @Output() readonly disabledChange = new EventEmitter<boolean>();\n\n  /**\n   * Aria attribute pointing to id of descriptive element. <br />\n   * If the button has a badge, the <code>aria-describedby</code> will be set to the badge's id by default.\n   * @default false\n   */\n  @Input('aria-describedby')\n  get ariaDescribedby(): string | null {\n    return this._ariaDescribedby;\n  }\n  set ariaDescribedby(value) {\n    this._ariaDescribedby = value;\n  }\n  _ariaDescribedby: string | null = null;\n\n  @HostBinding('attr.aria-describedby')\n  get hostAriaDescribedby(): string | void {\n    if (this.ariaDescribedby !== null) {\n      return this.ariaDescribedby;\n    }\n  }\n\n  constructor(el: ElementRef) {\n    super(el);\n  } // used in accordion service\n\n  ngAfterContentInit(): void {\n    if (this.badge) {\n      this.ariaDescribedby = this.badge.id;\n    }\n  }\n\n  /** Below items needed for tab */\n  @ContentChildren(IconComponent) icons: QueryList<IconComponent>;\n  _roleSetByTab: boolean = false;\n  _isInNavOrNested: boolean = false;\n  /**\n   * Sets role of button. <br />\n   * If no custom role is set, role may be set by a parent component (nav, tabs, etc.).\n   * @builtin true\n   */\n  @Input()\n  get role(): string | null {\n    return this._role;\n  }\n  set role(value: string | null) {\n    this._role = value;\n    this._roleSetByUser = true;\n  }\n  _role: string | null;\n  @HostBinding('attr.role')\n  get hostRole(): string | void | null {\n    if (this.role || this.role === null) return this.role;\n  }\n\n  /**\n   * Aria attribute relaying whether button is selected. <br />\n   * <code>aria-current</code> and <code>aria-selected</code> should not be used together.\n   * @default null\n   * @builtin true\n   */\n  @Input('aria-selected')\n  get ariaSelected(): boolean | null {\n    return this._ariaSelected;\n  }\n  set ariaSelected(value: BooleanInput) {\n    this._ariaSelected = coerceBooleanProperty(value);\n  }\n  _ariaSelected: boolean | null = null;\n\n  @HostBinding('attr.aria-selected')\n  get hostAriaSelected(): string | void {\n    if (this.ariaSelected !== null && !this._isInNavOrNested) {\n      return this.ariaSelected.toString();\n    }\n  }\n\n  /**\n   * Aria attribute relaying whether button is selected. <br />\n   * <code>aria-current</code> and <code>aria-selected</code> should not be used together.\n   * @default null\n   * @builtin true\n   */\n  @Input('aria-current')\n  get ariaCurrent(): boolean | string | null {\n    return this._ariaCurrent;\n  }\n  set ariaCurrent(value: BooleanInput) {\n    if (value === 'page') {\n      this._ariaCurrent = value;\n    } else this._ariaCurrent = coerceBooleanProperty(value);\n  }\n  _ariaCurrent: boolean | string | null = null;\n\n  @HostBinding('attr.aria-current')\n  get hostAriaCurrent(): string | void {\n    if (this.ariaCurrent !== null) {\n      return this.ariaCurrent.toString();\n    }\n  }\n\n  /**\n   * Aria attribute relaying whether button is expanded.\n   * @default null\n   * @builtin true\n   */\n  @Input('aria-expanded')\n  get ariaExpanded(): boolean | null {\n    return this._ariaExpanded;\n  }\n  set ariaExpanded(value: BooleanInput) {\n    this._ariaExpanded = coerceBooleanProperty(value);\n  }\n  _ariaExpanded: boolean | null = null;\n  @HostBinding('attr.aria-expanded')\n  get hostAriaExpanded(): string | void {\n    if (this.ariaExpanded !== null) {\n      return this.ariaExpanded.toString();\n    }\n  }\n\n  /**\n   * Sets aria disabled state for accessibility purposes. <br />\n   * When true, indicates that the button is disabled and not interactive.\n   * @default false\n   */\n  @Input('aria-disabled')\n  get ariaDisabled(): boolean {\n    return this._ariaDisabled;\n  }\n  set ariaDisabled(value: BooleanInput) {\n    this._ariaDisabled = coerceBooleanProperty(value);\n  }\n  _ariaDisabled: boolean = false;\n\n  /** Below needed for Accordion */\n  @ContentChild(IconToggleDirective) toggleIcon: IconToggleDirective;\n  @ContentChild(IconToggleComponent) toggleIconComponent: IconToggleComponent;\n\n  /**\n   * Aria attribute relaying what element the button controls.\n   * @default null\n   * @default '&lt;accordion-panel-id&gt;' when button is used within Accordion.\n   * @default '&lt;panel-content-id&gt;' when button is used within Panel.\n   * @builtin true\n   */\n  @Input('aria-controls')\n  get ariaControls(): string | null {\n    return this._ariaControls;\n  }\n  set ariaControls(value) {\n    this._ariaControls = value;\n  }\n  _ariaControls: string | null = null;\n\n  @HostBinding('attr.aria-controls')\n  get hostAriaControls(): string | void {\n    if (this.ariaControls !== null) {\n      return this.ariaControls;\n    }\n  }\n\n  /** Below needed for combobox */\n  _inCombobox = false;\n\n  /**\n   * Sets button to combobox toggle button when true.\n   * @default false\n   * @default true when button is used within combobox and no custom value is given.\n   * @builtin true\n   */\n  @Input('aria-haspopup')\n  get ariaHaspopup(): boolean | null {\n    return this._ariaHaspopup;\n  }\n  set ariaHaspopup(value: BooleanInput) {\n    this._ariaHaspopup = coerceBooleanProperty(value);\n  }\n  _ariaHaspopup: boolean | null;\n  @HostBinding('attr.aria-haspopup')\n  get hostAriaHaspopup(): string | void {\n    if (!this.ariaHaspopup && this._inCombobox) {\n      return 'true';\n    } else if (this.ariaHaspopup) {\n      return this.ariaHaspopup.toString();\n    }\n  }\n\n  /**\n   * Sets button's tabIndex.\n   * @default null\n   * @default -1 when button is used within combobox and no custom value is given.\n   * @builtin true\n   */\n  @Input()\n  get tabindex(): number | null {\n    return this._tabindex;\n  }\n  set tabindex(value: NumberInput) {\n    this._tabindex = coerceNumberProperty(value);\n  }\n  _tabindex: number | null;\n  @HostBinding('attr.tabindex')\n  get hostTabindex(): string | void {\n    if (!this.tabindex && (this._inCombobox || this.ariaDisabled)) {\n      return '-1';\n    } else if (this.tabindex) {\n      return this.tabindex.toString();\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { BaseInteractiveDirective } from '../_utilities/angular-specific-directives/base-interactive.directive';\nimport { UUIDService } from '../_utilities/services/uuid.service';\n\n@Directive({\n  standalone: true,\n  selector: '[v-checkbox]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => CheckboxDirective),\n      multi: true\n    }\n  ]\n})\nexport class CheckboxDirective extends BaseInteractiveDirective implements ControlValueAccessor {\n  _disabledEmitter = new EventEmitter<any>();\n  _invalidEmitter = new EventEmitter<any>();\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-checkbox\n   */\n  @Input() class: string = 'v-checkbox';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return this.class;\n  }\n\n  @HostBinding('type')\n  get hostType() {\n    return 'checkbox';\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-checkbox-')\n   * @builtin true\n   */\n  @Input() id: string = this.uuidService.getUUID('v-checkbox-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Sets checkbox to disabled when true\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    this._disabledEmitter.emit();\n  }\n  _disabled: boolean = false;\n  @HostBinding('attr.disabled')\n  get hostDisabled() {\n    return this.disabled ? 'disabled' : null;\n  }\n\n  /** Fires when a formControl's disabled state updates  */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  /**\n   * Marks checkbox as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n    this._invalidEmitter.emit();\n  }\n  _invalid: boolean = false;\n  @HostBinding('attr.aria-invalid')\n  get hostAriaInvalid() {\n    return this.invalid;\n  }\n\n  /**\n   * Sets checkbox to indeterminate when true.\n   * @default false\n   */\n  @Input()\n  get indeterminate(): boolean {\n    return this._indeterminate;\n  }\n  set indeterminate(value: BooleanInput) {\n    this._indeterminate = coerceBooleanProperty(value);\n    this.el.nativeElement.indeterminate = this._indeterminate;\n  }\n  _indeterminate: boolean = false;\n\n  /**\n   * Marks checkbox as required when true.\n   * @default false\n   */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n  }\n  _required: boolean = false;\n  @HostBinding('attr.required')\n  get hostRequired() {\n    return this.required ? 'required' : null;\n  }\n\n  /**\n   * Sets checked state of component.\n   * @default false\n   */\n  @Input()\n  get checked(): boolean {\n    return this._checked;\n  }\n  set checked(value: BooleanInput) {\n    this._checked = coerceBooleanProperty(value);\n    if (\n      this.appReadyService.isBrowserAndDomAvailable() &&\n      this.el?.nativeElement &&\n      this.el.nativeElement.checked !== this.checked\n    ) {\n      this.el.nativeElement.checked = this.checked;\n    }\n  }\n  _checked: boolean = false;\n  @HostBinding('attr.checked')\n  @HostBinding('checked')\n  get hostAttrChecked() {\n    return this.checked ? 'checked' : null;\n  }\n\n  /**\n   * Value of checkbox input.\n   */\n  @Input('value') checkboxValue: string | number;\n  @HostBinding('attr.value')\n  @HostBinding('value')\n  get hostValue() {\n    return this.checkboxValue;\n  }\n\n  val: string | number | null = '';\n  set value(value: string | number) {\n    this.val = value;\n    this.el.nativeElement.checked = value;\n    this.checked = value.toString();\n\n    this.onChange(value);\n  }\n\n  @HostListener('change', ['$event'])\n  handleChange(event: Event) {\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.onChange(this.el.nativeElement.checked);\n      this.checked = this.el.nativeElement.checked;\n    }\n  }\n  @HostListener('focus', ['$event'])\n  handleFocus(event: Event) {\n    this.onTouched(event);\n  }\n\n  @HostListener('blur', ['$event'])\n  handleBlur(event: Event) {}\n\n  constructor(\n    el: ElementRef,\n    private uuidService: UUIDService,\n    private appReadyService: AppReadyService\n  ) {\n    super(el);\n  }\n\n  onChange = (_: any) => {};\n\n  onTouched = (_: any) => {};\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: string | number): void {\n    this.val = value ? value : null;\n    this.checked = value ? value.toString() : null;\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.el.nativeElement.checked = value ? value : null;\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { BaseInteractiveDirective } from '../_utilities/angular-specific-directives/base-interactive.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-radio]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RadioDirective),\n      multi: true\n    }\n  ]\n})\nexport class RadioDirective extends BaseInteractiveDirective implements ControlValueAccessor {\n  _disabledEmitter = new EventEmitter<any>();\n  _invalidEmitter = new EventEmitter<any>();\n  /**\n   * Value of radio input.\n   */\n  @Input('value') radioValue: string | number;\n  @HostBinding('attr.value')\n  @HostBinding('value')\n  get hostValue() {\n    return this.radioValue;\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-radio-')\n   * @builtin true\n   */\n  @Input() id: string = this.uuidService.getUUID('v-radio-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  // @TODO: could avoid this by extending RadioControlValueAccessor?\n  /**\n   * @ignore\n   */\n  @Input('formControlName') formName: string;\n  /**\n   * @ignore\n   */\n  @Input() name: string;\n  @HostBinding('name')\n  get hostName(): string | void {\n    if (this.name || this.formName) {\n      return this.name || this.formName;\n    }\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-radio\n   */\n  @Input() class: string = ''; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-radio'].join(' ');\n  }\n\n  @HostBinding('type')\n  get hostType() {\n    return 'radio';\n  }\n\n  /**\n   * Sets radio as disabled when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    this._disabledEmitter.emit();\n  }\n  _disabled: boolean = false;\n  @HostBinding('attr.disabled')\n  get hostDisabled() {\n    return this.disabled ? 'disabled' : null;\n  }\n  /** Fires when a formControl's disabled state updates.  */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  /**\n   * Marks radio as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n    this._invalidEmitter.emit();\n  }\n  _invalid: boolean = false;\n  @HostBinding('attr.aria-invalid')\n  get hostAriaInvalid() {\n    return this.invalid;\n  }\n\n  /**\n   * Marks component as required when true.\n   * @default false\n   */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n  }\n  _required: boolean = false;\n  @HostBinding('attr.required')\n  get hostRequired() {\n    return this.required ? 'required' : null;\n  }\n\n  /**\n   * Sets checked state of component.\n   * @default false\n   */\n  @Input()\n  get checked(): boolean {\n    return this._checked;\n  }\n  set checked(value: BooleanInput) {\n    this._checked = coerceBooleanProperty(value);\n  }\n  _checked: boolean = false;\n  // @HostBinding('attr.checked')\n  // @HostBinding('checked')\n  // get hostChecked() {\n  //   return this.checked ? 'checked' : null;\n  // }\n\n  // prevent toggle from adding extra scroll\n  _isToggle: boolean;\n  @HostBinding('style.position')\n  get hostStyle() {\n    return this._isToggle ? 'fixed' : 'unset';\n  }\n\n  val: string | number | null = '';\n  set value(value: string | number) {\n    this.val = value;\n\n    this.onChange(value);\n  }\n\n  @HostListener('change', ['$event'])\n  handleChange(event: Event) {\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.onChange(this.radioValue);\n      this.checked = this.el.nativeElement.checked;\n    }\n  }\n\n  @HostListener('focus', ['$event'])\n  handleFocus(event: Event) {\n    this.onTouched('');\n  }\n\n  @HostListener('blur', ['$event'])\n  handleBlur(event: Event) {}\n\n  constructor(\n    el: ElementRef,\n    private uuidService: UUIDService,\n    private appReadyService: AppReadyService\n  ) {\n    super(el);\n  }\n\n  onChange = (_: string | number) => {};\n\n  onTouched = (_: string | number) => {};\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: string | number): void {\n    this.val = value;\n    this.checked = this.radioValue === value;\n\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.el.nativeElement.checked = this.checked;\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Injectable } from '@angular/core';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { CheckboxDirective } from '../checkbox/checkbox.directive';\nimport { RadioDirective } from '../radio/radio.directive';\n\n/**\n * Service to toggle checkbox or radio programmatically.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class ToggleControlService {\n  constructor(private appReadyService: AppReadyService) {}\n\n  /**\n   * Toggles checkbox or radio programmatically.\n   * @param control Checkbox or Radio item to toggle.\n   * @param event Event to check if target is the control.\n   */\n  toggleControl(control: RadioDirective | CheckboxDirective, event: Event) {\n    // check that browser is available before manipulating/checking DOM elements\n    if (this.appReadyService.isBrowserAndDomAvailable() && control) {\n      if (control.el.nativeElement.contains(event.target)) {\n        return;\n      } else {\n        control.el.nativeElement.click();\n      }\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, NumberInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  Component,\n  ContentChild,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  Output\n} from '@angular/core';\nimport { BaseInteractiveDirective } from '../_utilities/angular-specific-directives/base-interactive.directive';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { CheckboxDirective } from '../checkbox/checkbox.directive';\nimport { END_KEY, ENTER_KEY, HOME_KEY, SPACE_KEY } from '../nova-lib.constants';\nimport { RadioDirective } from '../radio/radio.directive';\nimport { ToggleControlService } from '../toggle-control/toggle-control.service';\n@Component({\n  standalone: true,\n  imports: [CommonModule],\n  selector: '[v-listbox-item] ',\n  templateUrl: './listbox-item.component.html'\n})\nexport class ListboxItemComponent extends BaseInteractiveDirective implements AfterContentInit {\n  @ContentChild(RadioDirective) radio: RadioDirective;\n  @ContentChild(CheckboxDirective) checkbox: CheckboxDirective;\n  _isRoleOptionVariant = false;\n  _multi = false;\n  _disabledEmitter = new EventEmitter<boolean>();\n  _invalidEmitter = new EventEmitter<boolean>();\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-listbox-item\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-listbox-item', this.highlighted ? 'v-listbox-item-highlighted' : ''].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Marks item as selected when true.\n   * @default false\n   */\n  @Input()\n  get active(): boolean {\n    return this._active;\n  }\n  set active(value: BooleanInput) {\n    const changed = this._active !== coerceBooleanProperty(value);\n    this._active = coerceBooleanProperty(value);\n    if (changed) this.itemChanged.emit(this._active);\n  }\n  _active: boolean = false;\n\n  /**\n   * Marks item as highlighted when true. Occurs natively with :focus-visible.\n   * @default false\n   * @builtin true\n   */\n  @Input()\n  get highlighted(): boolean {\n    return this._highlighted;\n  }\n  set highlighted(value: BooleanInput) {\n    this._highlighted = coerceBooleanProperty(value);\n  }\n  _highlighted: boolean = false;\n\n  // index of item within listbox, supplied by listbox directive\n  /** @ignore */\n  @Input()\n  get index(): number {\n    return this._index;\n  }\n  set index(value: NumberInput) {\n    this._index = coerceNumberProperty(value);\n  }\n  _index: number;\n\n  /**\n   * Sets custom role.\n   * @default 'option' if no child radio or checkbox is present.\n   * @default not present if child radio or checkbox is present.\n   * @builtin true\n   */\n  @Input() role: string;\n  @HostBinding('attr.role')\n  get hostRole(): string {\n    if (this._isRoleOptionVariant && !this.role) {\n      this.role = 'option';\n    }\n    return this.role;\n  }\n\n  /**\n   * Value of listbox item. <br />\n   * A value <strong>must</strong> be present on every list item if it does not have a child radio or checkbox.\n   */\n  @Input()\n  get value(): string | number {\n    return this._value;\n  }\n  set value(value: string | number) {\n    this._value = value;\n  }\n  _value: string | number;\n  @HostBinding('attr.value')\n  get hostValue(): string | number | void {\n    if (this._isRoleOptionVariant) {\n      return this.value;\n    }\n  }\n\n  /**\n   * Sets list item with <strong>no child radio or checkbox</strong> as disabled. <br />\n   * If using a child radio or checkbox, set <code>disabled</code> directly on those components.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    if (!this._isRoleOptionVariant) this._disabledEmitter.emit(this.disabled);\n  }\n  _disabled: boolean = false;\n  @HostBinding('attr.disabled')\n  get hostDisabled(): null {\n    return null;\n  }\n  @HostBinding('attr.aria-disabled')\n  get hostAriaDisabled(): string | null | void {\n    if (this._isRoleOptionVariant) {\n      return this.disabled ? 'true' : null;\n    }\n  }\n\n  /**\n   * Sets list item with <strong>no child radio or checkbox</strong> as invalid. <br />\n   * If using a child radio or checkbox, set <code>invalid</code> directly on those components.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n    if (!this._isRoleOptionVariant) this._invalidEmitter.emit(this.invalid);\n  }\n  _invalid: boolean = false;\n  @HostBinding('attr.invalid')\n  get hostInvalid(): string | null | void {\n    if (this._isRoleOptionVariant) {\n      return this.invalid ? 'invalid' : null;\n    }\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-listbox-item-')\n   * @builtin true\n   */\n  @Input()\n  id: string = this.uuidService.getUUID('v-listbox-item-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  @HostBinding('attr.aria-selected')\n  get hostAriaSelected(): boolean | void {\n    if (this._isRoleOptionVariant) {\n      return this.active;\n    }\n  }\n\n  /**\n   * Emits active state of item when toggled.\n   */\n  @Output() itemChanged = new EventEmitter<boolean>();\n\n  /**\n   * Emits when this item is focused.\n   */\n  @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter();\n\n  @HostListener('focus', ['$event'])\n  handleFocus(event: FocusEvent) {\n    this.onFocus.emit(event);\n  }\n\n  constructor(\n    el: ElementRef,\n    private uuidService: UUIDService,\n    private toggleControlService: ToggleControlService\n  ) {\n    super(el);\n  }\n\n  ngAfterContentInit(): void {\n    if (!this.radio && !this.checkbox) {\n      this._isRoleOptionVariant = true;\n    } else {\n      const child = this.radio ? this.radio : this.checkbox ? this.checkbox : null;\n      if (child) {\n        // the following is needed to apply the correct classes at the listbox-container level\n        this.invalid = child.invalid;\n        this.disabled = child.disabled;\n        child._disabledEmitter.subscribe(() => {\n          this.disabled = child.disabled;\n        });\n        child._invalidEmitter.subscribe(() => {\n          this.invalid = child.invalid;\n        });\n      }\n    }\n  }\n\n  @HostListener('click', ['$event'])\n  onClick(event: Event) {\n    if (!this._isRoleOptionVariant) {\n      this.toggleControlService.toggleControl(this.radio || this.checkbox, event);\n    }\n    this.selectItem();\n  }\n\n  @HostListener('keyup', ['$event'])\n  handleKeyup(event: KeyboardEvent) {\n    if (!this._isRoleOptionVariant) return;\n    if (event.key === ENTER_KEY || event.key === SPACE_KEY) {\n      event.preventDefault(); // prevent scrolling\n      this.clicked.emit();\n      if (!event.shiftKey) this.selectItem();\n    }\n  }\n\n  @HostListener('keydown', ['$event'])\n  handleKeyDown(event: KeyboardEvent) {\n    if (!this._isRoleOptionVariant) return;\n    if (event.key === ENTER_KEY || event.key === SPACE_KEY || event.key === HOME_KEY || event.key === END_KEY) {\n      event.preventDefault(); // prevent scrolling\n    }\n  }\n\n  selectItem() {\n    if (this._multi) {\n      this.active = !this.active;\n    } else {\n      this.active = true;\n    }\n  }\n}\n","<!--\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n -->\n<span\n  *ngIf=\"_isRoleOptionVariant\"\n  [ngClass]=\"{\n    'v-flex-shrink-0': true,\n    'v-checkbox': _multi,\n    'v-radio': !_multi\n  }\"\n></span>\n<ng-content></ng-content>\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-button-stacked]'\n})\nexport class ButtonStackedDirective {\n  constructor(readonly el: ElementRef) {} // used in tab\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-button-stacked\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-button-stacked'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-floating-ui-trigger]'\n})\nexport class FloatingUITriggerDirective {\n  // the following are determined by floating-ui-container and used to set correct aria roles\n  _triggersTooltip = false;\n  _triggersDropdownMenu = false;\n  _isShown = false;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-dropdown\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-dropdown'].join(' ');\n  }\n\n  @HostBinding('attr.aria-expanded')\n  get hostAriaExpanded(): boolean | null | void {\n    if (this._triggersDropdownMenu) {\n      return this._isShown;\n    }\n  }\n\n  _floatingElemID: string;\n  @HostBinding('attr.aria-describedby')\n  get hostDescribedby(): string | void {\n    if (this._triggersTooltip) {\n      return this._floatingElemID;\n    }\n  }\n\n  @HostBinding('attr.aria-controls')\n  get hostAriaControls(): string | void {\n    if (this._triggersDropdownMenu) {\n      return this._floatingElemID;\n    }\n  }\n\n  constructor(public el: ElementRef) {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterContentInit, ContentChild, Directive, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { ButtonStackedDirective } from '../button-stacked/button-stacked.directive';\nimport { ButtonColor, ButtonSize } from '../button/button.constants';\nimport { ButtonDirective } from '../button/button.directive';\nimport { FloatingUITriggerDirective } from '../floating-ui-trigger/floating-ui-trigger.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-tab-item]'\n})\nexport class TabItemDirective implements AfterContentInit {\n  @ContentChild(ButtonDirective) button: ButtonDirective;\n  @ContentChild(ButtonStackedDirective) stackedButton: ButtonStackedDirective;\n  @ContentChild(FloatingUITriggerDirective) trigger: FloatingUITriggerDirective;\n  _roleSetByUser: boolean = false; // prevents parent component from overriding if role if role is given directly by user\n  _roleSetByTab: boolean = false; // prevents parent component from overriding if role is only set by TabItemDirective (allowing nav to override)\n  _sizeSetByTab: boolean = false; // prevents parent component from overriding if size is only set by TabItemDirective (allowing nav to override)\n  _nestedTab: boolean = false; // aria is different when nested tabs are present\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-tab\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-tab'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    const internalClass = [this.class, 'v-tab', this.sectionTitle ? 'v-tab-section-title' : ''].join(' ');\n    return internalClass;\n  }\n\n  /**\n   * Sets role of tab item. <br />\n   * If no custom role is set, role may be set by a parent component (nav, tabs, etc.).\n   * @builtin true\n   */\n  @Input()\n  get role(): string | null {\n    return this._role;\n  }\n  set role(value: string | null) {\n    this._role = value;\n    this._roleSetByUser = true;\n  }\n  _role: string | null;\n  @HostBinding('attr.role')\n  get hostRole(): string | null {\n    return this.role;\n  }\n\n  /**\n   * Marks tab as active when true. <br />\n   * Not to be used with navigational tabs. To set a navigational tab as active, view [Angular's tutorial on identifying the active route](https://angular.dev/guide/routing/router-tutorial#identify-the-active-route).\n   * @default false\n   */\n  @Input()\n  get active(): boolean {\n    return this._active;\n  }\n  set active(value: BooleanInput) {\n    this._active = coerceBooleanProperty(value);\n    if (this.active) this.tabActive.emit(true);\n    if (this.button && !this.disclosureTab && !this.trigger && !this.button._isInNavOrNested) {\n      if (this._nestedTab) {\n        this.button.ariaCurrent = this._active ? 'page' : null;\n      } else {\n        this.button.ariaSelected = this._active;\n      }\n    }\n  }\n  _active: boolean = false;\n\n  /**\n   * Marks the tab as a disclosure item when true. <br />\n   * This item cannot be active and should expand and collapse when pressed.\n   * @default false\n   */\n  @Input()\n  get disclosureTab(): boolean {\n    return this._disclosureTab;\n  }\n  set disclosureTab(value: BooleanInput) {\n    this._disclosureTab = coerceBooleanProperty(value);\n  }\n  _disclosureTab: boolean = false;\n\n  /**\n   * Marks the tab as a section title when true. <br />\n   * This item titles a subset of tabs and is not interactive.\n   * @default false\n   */\n  @Input()\n  get sectionTitle(): boolean {\n    return this._sectionTitle;\n  }\n  set sectionTitle(value: BooleanInput) {\n    this._sectionTitle = coerceBooleanProperty(value);\n  }\n  _sectionTitle: boolean = false;\n\n  /**\n   * Emits true when this tab is set to active.\n   */\n  @Output() tabActive = new EventEmitter<boolean>();\n\n  /**\n   * Emits true when this tab's child button is clicked.\n   */\n  @Output() clicked = new EventEmitter<boolean>();\n\n  constructor(private appReady: AppReadyService) {}\n\n  ngAfterContentInit(): void {\n    if (this.button) {\n      if (!this._roleSetByUser) {\n        this.role = this.trigger || this.disclosureTab ? null : 'none';\n        this._roleSetByTab = true;\n      }\n\n      this.button.buttonColor = this.button._buttonColorSetByUser ? this.button.buttonColor : ButtonColor.TERTIARY;\n      if (this.appReady.isBrowserAndDomAvailable()) {\n        if (this.stackedButton && this.stackedButton.el.nativeElement === this.button.el.nativeElement) return;\n        if (!this.button._buttonSizeSetByUser) {\n          this.button.buttonSize = ButtonSize.LARGE;\n          this._sizeSetByTab = true;\n        }\n      }\n\n      if (this.button.toggleIconComponent) {\n        this.button.toggleIconComponent.class = [this.button.toggleIconComponent.class, 'v-tab-suffix'].join(' ');\n        if (this.button.toggleIconComponent.defaultTemplate)\n          this.button.toggleIconComponent.defaultTemplate.class = [\n            this.button.toggleIconComponent.defaultTemplate.class,\n            'v-tab-suffix'\n          ].join(' ');\n        if (this.button.toggleIconComponent.rotatedTemplate)\n          this.button.toggleIconComponent.rotatedTemplate.class = [\n            this.button.toggleIconComponent.rotatedTemplate.class,\n            'v-tab-suffix'\n          ].join(' ');\n      } else if (this.button.icons.length > 0) {\n        this.button.icons.last.class = [this.button.icons.last.class, 'v-tab-suffix'].join(' ');\n      }\n\n      this.button.clicked.subscribe(() => {\n        if (this.button._isInNavOrNested || this.disclosureTab || this.button.toggleIcon || this.trigger) return;\n        this.clicked.emit(true);\n      });\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { EventEmitter, inject, Injectable, Output, QueryList, Renderer2, RendererFactory2 } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { UUIDService } from '../lib/_utilities/services/uuid.service';\nimport { filter } from 'rxjs';\nimport { SafeSubscriber } from 'rxjs/internal/Subscriber';\nimport { AppReadyService } from './_utilities/services/app-stable-check.service';\nimport { ButtonDirective } from './button/button.directive';\nimport { CheckboxDirective } from './checkbox/checkbox.directive';\nimport { LinkDirective } from './link/link.directive';\nimport { ListboxItemComponent } from './listbox-item/listbox-item.component';\nimport { DOWN_ARROW_KEY, LEFT_ARROW_KEY, RIGHT_ARROW_KEY, TAB_KEY, UP_ARROW_KEY } from './nova-lib.constants';\nimport { TabItemDirective } from './tab-item/tab-item.directive';\n\n/**\n * This service manages navigation states within the application, ensuring smooth transitions and a consistent user experience. <br />\n * It’s primarily used internally by the library but can also be leveraged directly for custom implementations.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class NovaLibService {\n  constructor(\n    private router: Router,\n    private rendererFactory: RendererFactory2,\n    private appReadyService: AppReadyService\n  ) {\n    this.renderer = rendererFactory.createRenderer(null, null);\n  }\n\n  /** @ignore */\n  private _idService = inject(UUIDService);\n\n  /** @ignore */\n  private renderer: Renderer2;\n  /**\n   * The getUUID generates a random ID.\n   * @deprecated Please use the equivalent method from our unique ID generator instead.\n   * @param name Optional string to start the ID.\n   * @returns string\n   */\n  getUUID(name?: string): string {\n    return this._idService.getUUID(name);\n  }\n\n  /**\n   * The check UUID method verifies that the given ID has not already been generated by the getUUID method. <br />\n   * @deprecated Please use the equivalent method from our unique ID generator instead.\n   * @param uuid String ID to check.\n   * @param name Optional string to start the ID.\n   * @returns uuid\n   */\n  checkUUID(uuid: string, name?: string): string {\n    return this._idService.checkUUID(uuid, name);\n  }\n\n  /**\n   * Emits new url on initial page load and page navigation; use alongside <code>getCurrentRoute</code>.\n   */\n  @Output() routeChange = new EventEmitter<string>();\n\n  /**\n   * The getCurrentRoute method can be used to retrieve the current route or to get updated URLs when routes change by subscribing to the <code>routeChange</code> event.\n   * @returns router.url as string\n   */\n  getCurrentRoute(): string {\n    this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {\n      this.routeChange.emit(this.router.url);\n    });\n    return this.router.url;\n  }\n\n  /**\n   * The addArrowKeyNavigation method adds arrow key navigation to an array of elements of type <code>ButtonDirective</code>, <code>ListboxItemComponent</code>, <code>or CheckboxDirective</code>.\n   * @param itemsArray Array of items to add arrow key navigation to.\n   * @param arrowDirections Optionally specify which arrow key directions to use for navigation.\n   * @param removeTabNavigation Optionally remove tab navigation from an array you're adding arrow navigation to.\n   */\n  addArrowKeyNavigation(\n    itemsArray: ButtonDirective[] | ListboxItemComponent[] | CheckboxDirective[],\n    removeTabNavigation: boolean = false,\n    arrowDirections: 'both' | 'horizontal' | 'vertical' = 'both'\n  ) {\n    if (!itemsArray || !itemsArray.length) return;\n    itemsArray.forEach((item: ButtonDirective | ListboxItemComponent | CheckboxDirective, index: number) => {\n      if (!item.el || !item.el.nativeElement) return;\n\n      item.listeners.push(\n        // for each button, add an event listener for arrow \"keydown\"\n        this.renderer.listen(item.el.nativeElement, 'keydown', (event) => {\n          // right and down arrow keys should go to next focusable item\n          if (\n            (event.key === DOWN_ARROW_KEY && arrowDirections !== 'horizontal') ||\n            (event.key === RIGHT_ARROW_KEY && arrowDirections !== 'vertical')\n          ) {\n            event.preventDefault();\n            const focusableIndex = this.nextEnabledItem(itemsArray, index);\n            if (focusableIndex > -1) itemsArray[focusableIndex].el.nativeElement.focus();\n          } else if (\n            (event.key === UP_ARROW_KEY && arrowDirections !== 'horizontal') ||\n            (event.key === LEFT_ARROW_KEY && arrowDirections !== 'vertical')\n          ) {\n            // left and up arrow keys should go to previous focusable item\n            event.preventDefault();\n            const focusableIndex = this.previousEnabledItem(itemsArray, index);\n            if (focusableIndex > -1) itemsArray[focusableIndex].el.nativeElement.focus();\n          }\n        })\n      );\n    });\n\n    if (removeTabNavigation) this.removeTabNavigation(itemsArray);\n  }\n\n  /**\n   * The removeTabNavigation method removes tab navigation for an array of elements of type ButtonDirective, ListboxItemComponent, or CheckboxDirective. <br />\n   * When this functionality is added, it will disable tabbing between these specified elements.\n   * @param itemsArray Array of items to remove tab navigation from.\n   */\n  removeTabNavigation(itemsArray: ButtonDirective[] | ListboxItemComponent[] | CheckboxDirective[]) {\n    if (!itemsArray || !itemsArray.length) return;\n    this.findStartingFocus(itemsArray);\n\n    itemsArray.forEach((item: ButtonDirective | ListboxItemComponent | CheckboxDirective, index: number) => {\n      if (!item.el || !item.el.nativeElement) return;\n\n      item.listeners.push(\n        this.renderer.listen(item.el.nativeElement, 'keydown', (event) => {\n          // as you loop through the items with arrow keys, tabIndex must be updated so that only the item with focus has tabIndex = 0\n          if (event.key === DOWN_ARROW_KEY || event.key === RIGHT_ARROW_KEY) {\n            event.preventDefault(); // prevent scrolling\n            const focusableIndex = this.nextEnabledItem(itemsArray, index);\n            if (focusableIndex > -1) {\n              this.renderer.setAttribute(item.el.nativeElement, 'tabIndex', '-1');\n              this.renderer.setAttribute(itemsArray[focusableIndex].el.nativeElement, 'tabIndex', '0');\n            }\n          } else if (event.key === UP_ARROW_KEY || event.key === LEFT_ARROW_KEY) {\n            event.preventDefault(); // prevent scrolling\n            const focusableIndex = this.previousEnabledItem(itemsArray, index);\n            if (focusableIndex > -1) {\n              this.renderer.setAttribute(item.el.nativeElement, 'tabIndex', '-1');\n              this.renderer.setAttribute(itemsArray[focusableIndex].el.nativeElement, 'tabIndex', '0');\n            }\n          } else if (event.key === TAB_KEY) {\n            // if you tab out of the array, reset the starting index\n            this.findStartingFocus(itemsArray);\n          }\n        })\n      );\n    });\n  }\n\n  /**\n   * This method resets navigation behaviors for an array of elements of type <code>ButtonDirective</code>, <code>ListboxItemComponent</code>, or <code>CheckboxDirective</code>. <br />\n   * It removes any tabindex or event listeners added by <code>addArrowKeyNavigation</code> or <code>removeTabNavigation</code>.\n   * @param itemsArray Array of items to reset navigation behaviors for.\n   */\n  resetNavigationBehaviors(itemsArray: ButtonDirective[] | ListboxItemComponent[] | CheckboxDirective[]) {\n    if (!itemsArray || !itemsArray.length) return;\n    itemsArray.forEach((item: ButtonDirective | ListboxItemComponent | CheckboxDirective, index: number) => {\n      if (!item.el || !item.el.nativeElement) return;\n      this.renderer.removeAttribute(item.el.nativeElement, 'tabIndex');\n      item.listeners.forEach((listener) => {\n        if (listener instanceof SafeSubscriber) {\n          // unsubscribe from subscription\n          listener.unsubscribe();\n        } else {\n          // remove event listener (if used with renderer.listen)\n          listener();\n        }\n      });\n      item.listeners = [];\n    });\n  }\n\n  /**\n   * The findStartingFocus method finds the item to start navigation on. <br />\n   * The starting focusable item is either the first item or the currently selected item.\n   * @param itemsArray Array of items to find starting focus for.\n   */\n  findStartingFocus(itemsArray: ButtonDirective[] | ListboxItemComponent[] | CheckboxDirective[]) {\n    if (!itemsArray || !itemsArray.length) return;\n    // item.ariaSelected = button, item.active = listboxItem, item.checked = checkbox\n    let selectedItemIndex = itemsArray.findIndex(\n      (item: ButtonDirective | ListboxItemComponent | CheckboxDirective) =>\n        ((item instanceof ButtonDirective && item.ariaSelected) ||\n          (item instanceof ListboxItemComponent && item.active) ||\n          (item instanceof CheckboxDirective && item.checked)) === true\n    );\n    if (selectedItemIndex === -1) selectedItemIndex = this.nextEnabledItem(itemsArray);\n    itemsArray.forEach((item: ButtonDirective | ListboxItemComponent | CheckboxDirective, index: number) => {\n      if (!item.el || !item.el.nativeElement) return;\n      // if an item is the first / selected item, allow tab focus\n      if (index === selectedItemIndex) {\n        this.renderer.setAttribute(item.el.nativeElement, 'tabIndex', '0');\n      } else {\n        // otherwise remove tab focus ability\n        this.renderer.setAttribute(item.el.nativeElement, 'tabIndex', '-1');\n      }\n    });\n  }\n\n  /**\n   * The nextEnabledItem method finds the next item in the array that is not disabled. <br />\n   * When this functionality is added, it will automatically skip over disabled items to locate the next enabled one.\n   * @param items Array of items to search for next enabled item.\n   * @param currentIndex Index to start searching from.\n   * @returns Index of next item that is not disabled.\n   */\n  nextEnabledItem(\n    items: ButtonDirective[] | ListboxItemComponent[] | CheckboxDirective[],\n    currentIndex?: number\n  ): number {\n    if (!items || !items.length) return -1;\n    let index = currentIndex || currentIndex === 0 ? currentIndex + 1 : 0;\n    let count = 0;\n    while (count < items.length && index !== currentIndex) {\n      if (index >= items.length) {\n        index = 0;\n      }\n      if (!items[index].disabled) {\n        return index;\n      }\n      index++;\n      count++;\n    }\n    return index;\n  }\n\n  /**\n   * The lastEnabledItem method retrieves the last item in an array that is not disabled.\n   * @param items Array of items to search for last enabled item.\n   * @returns Index of most last item that is not disabled.\n   */\n  lastEnabledItem(items: ButtonDirective[] | ListboxItemComponent[] | CheckboxDirective[]): number {\n    if (!items || !items.length) return -1;\n    let count = items.length - 1;\n    while (count >= 0) {\n      if (items[count].disabled !== true) return count;\n      count--;\n    }\n    return count;\n  }\n\n  /**\n   * The firstEnabledItem methods retrieves the first item in array that is not disabled.\n   * @param items Array of items to search for first enabled item.\n   * @returns Index of first item that is not disabled.\n   */\n  firstEnabledItem(items: ButtonDirective[] | ListboxItemComponent[] | CheckboxDirective[]): number {\n    if (!items || !items.length) return -1;\n    let count = 0;\n    while (count < items.length) {\n      if (items[count].disabled !== true) return count;\n      count++;\n    }\n    return count;\n  }\n\n  /**\n   * The previousEnabledItem method finds the previous item in the array that is not disabled. <br />\n   * When this functionality is added, it will automatically skip over disabled items to locate the previous enabled one.\n   * @param items Array of items to search for previous enabled item.\n   * @param currentIndex Index to start reverse searching from.\n   * @returns Index of first previous item that is not disabled.\n   */\n  previousEnabledItem(\n    items: ButtonDirective[] | ListboxItemComponent[] | CheckboxDirective[],\n    currentIndex?: number\n  ): number {\n    if (!items || !items.length) return -1;\n    let index = currentIndex || currentIndex === 0 ? currentIndex - 1 : items.length - 1;\n    let count = 0;\n    while (count < items.length && index !== currentIndex) {\n      if (index === -1) {\n        index = items.length - 1;\n      }\n      if (!items[index].disabled) {\n        return index;\n      }\n      index--;\n      count++;\n    }\n    return index;\n  }\n\n  /**\n   * The addAutomaticActivation method enables automatic tab activation for the specified tab or listbox list. <br />\n   * When this functionality is added, focusing on an item will also select and activate it.\n   * @param items Array of items to add automatic activation to.\n   */\n  addAutomaticActivation(items: TabItemDirective[] | ListboxItemComponent[]) {\n    if (!items || !items.length) return;\n    items.forEach((item: ListboxItemComponent | TabItemDirective, index: number) => {\n      if (item instanceof TabItemDirective && item.button?.el?.nativeElement) {\n        // tab button\n        this.renderer.listen(item.button.el.nativeElement, 'focus', (event) => {\n          this.selectItem(items, index);\n        });\n      } else if (item instanceof ListboxItemComponent && item._isRoleOptionVariant) {\n        // standard list item\n        this.renderer.listen(item.el.nativeElement, 'focus', (event) => {\n          this.selectItem(items, index);\n        });\n      }\n    });\n  }\n\n  /** @ignore */\n  _currentLink: HTMLElement | null;\n  /**\n   * The setAriaCurrent method sets the aria-current=\"true\" attribute on the element with the specified ID.\n   * @param id ID of element to set aria-current=\"true\" on.\n   */\n  setAriaCurrent(id: string) {\n    if (this._currentLink) {\n      this.renderer.setAttribute(this._currentLink, 'aria-current', 'false');\n    }\n    const doc = this.appReadyService.checkDocumentExists();\n    if (doc) {\n      this._currentLink = document.getElementById(id);\n      if (!this._currentLink) {\n        console.warn('NovaLibService: setAriaCurrent could not find element with id: ' + id);\n        return;\n      }\n      this.renderer.setAttribute(this._currentLink, 'aria-current', 'true');\n    }\n  }\n\n  /**\n   * The handleAriaCurrent method handles the aria-current value on click for a list of links.\n   * @param links List of links to add aria-current functionality to.\n   */\n  handleAriaCurrent(links: LinkDirective[] | QueryList<LinkDirective>) {\n    links.forEach((link) => {\n      this.renderer.listen(link.el.nativeElement, 'click', () => {\n        this.renderer.setAttribute(link.el.nativeElement, 'aria-current', 'true');\n        links.forEach((item) => {\n          if (item === link) return;\n          this.renderer.setAttribute(item.el.nativeElement, 'aria-current', 'false');\n        });\n      });\n    });\n  }\n\n  /**\n   * The selectItems method selects items from start_index to end_index in a list of tab or listbox items. By default, it selects all items if no indices are specified.\n   * @param items Array of listbox items that you want to manipulate.\n   * @param start Index of the first item you want to manipulate.\n   * @param end Index of the last item you want to manipulate.\n   * @param prop The property name you want to set to true (ie. active, highlighted, etc.). Defaults to 'active'.\n   */\n  selectItems(\n    items: TabItemDirective[] | ListboxItemComponent[],\n    start: number = 0,\n    end: number = items.length - 1,\n    prop: keyof TabItemDirective | keyof ListboxItemComponent = 'active'\n  ) {\n    if (!items || !items.length) return;\n    if (start < 0 || end >= items.length || start > end) return;\n    for (let i = start; i <= end; i++) {\n      const item = items[i];\n      if (item instanceof TabItemDirective) {\n        if (item.button && !item.button.disabled) (item.button as any)[prop] = true;\n      } else if (item instanceof ListboxItemComponent) {\n        if (!item.disabled) (item as any)[prop] = true;\n      }\n    }\n  }\n\n  /**\n   * The selectItem method selects an item from a list of tab or listbox items.\n   * @param items List of items that contains the item you want to manipulate.\n   * @param index Index of the item you want to manipulate.\n   * @param prop The property name you want to set to true (ie. active, highlighted, etc.). Defaults to 'active'.\n   */\n  selectItem(\n    items: TabItemDirective[] | ListboxItemComponent[],\n    index: number,\n    prop: keyof TabItemDirective | keyof ListboxItemComponent = 'active'\n  ) {\n    if (!items || !items.length) return;\n    if (items[index]) {\n      (items[index] as any)[prop] = true;\n    }\n  }\n\n  /**\n   * The deselectItems method deselect items out of a list of tab or listbox items.\n   * @param items List of items that contains the items you want to manipulate.\n   * @param index Optional index of the item you want to manipulate.\n   * @param prop The property name you want to set to false (ie. active, highlighted, etc.). Defaults to 'active'.\n   */\n  deselectItems(\n    items: TabItemDirective[] | ListboxItemComponent[],\n    index?: number,\n    prop: keyof TabItemDirective | keyof ListboxItemComponent = 'active'\n  ) {\n    if (!items || !items.length) return;\n    items.forEach((item: TabItemDirective | ListboxItemComponent, i: number) => {\n      if ((index || index === 0) && i === index) return;\n      (item as any)[prop] = false;\n    });\n  }\n\n  /**\n   * The deselectItem method deselects a specific item from a list of tab or listbox items.\n   * @param items List of items that contains the items you want to manipulate.\n   * @param index Index of the item you want to manipulate.\n   * @param prop The property name you want to set to false (ie. active, highlighted, etc.). Defaults to 'active'.\n   */\n  deselectItem(items: ListboxItemComponent[], index: number, prop: keyof ListboxItemComponent = 'active') {\n    if (!items || !items.length) return;\n    (items[index] as any)[prop] = false;\n  }\n\n  /**\n   * The detectAllItemsSelected method checks whether all items in a given list of tab or listbox items are selected.\n   * @param items List of items that contains the items you want to check.\n   * @returns true if all items are selected, false if not.\n   */\n  detectAllItemsSelected(items: ListboxItemComponent[]) {\n    if (!items || !items.length) return;\n    let unSelectedItems = 0;\n    items.forEach((item) => {\n      if (!(item as any).active && !item.disabled) unSelectedItems++;\n    });\n    return unSelectedItems == 0;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { ContentChildren, Directive, QueryList, Renderer2, RendererFactory2 } from '@angular/core';\nimport { DropdownItemDirective } from '../../dropdown-item/dropdown-item.directive';\nimport { DOWN_ARROW_KEY, ESCAPE_KEY, LEFT_ARROW_KEY, RIGHT_ARROW_KEY, UP_ARROW_KEY } from '../../nova-lib.constants';\nimport { NovaLibService } from '../../nova-lib.service';\n\n@Directive({\n  standalone: true,\n  selector: '[vAddArrowKeys]'\n})\nexport class AddArrowKeysDirective {\n  removeTabNavigation: boolean = false;\n  constructor(\n    private novaLibService: NovaLibService,\n    private rendererFactory: RendererFactory2\n  ) {\n    this.renderer = rendererFactory.createRenderer(null, null);\n  }\n  private renderer: Renderer2;\n  @ContentChildren(DropdownItemDirective, { descendants: true }) items: QueryList<DropdownItemDirective>;\n  itemsArray: DropdownItemDirective[] = [];\n\n  ngAfterContentInit() {\n    this.itemsArray = this.items.toArray();\n    this.itemsArray = this.itemsArray.filter((item) => !item.el.nativeElement.disabled);\n\n    if (this.itemsArray?.length > 0) {\n      this.itemsArray.forEach((item: DropdownItemDirective, index: number) => {\n        if (!item.el || !item.el.nativeElement) return;\n        item.listeners.push(\n          // for each button, add an event listener for arrow \"keydown\"\n          this.renderer.listen(item.el.nativeElement, 'keydown', (event) => {\n            if (event.key === ESCAPE_KEY) {\n              return;\n            }\n            // right and down arrow keys should go to next focusable item\n            if (event.key === DOWN_ARROW_KEY || event.key === RIGHT_ARROW_KEY) {\n              event.preventDefault();\n              const nextItem = index + 1 < this.itemsArray.length ? this.itemsArray[index + 1] : this.itemsArray[0];\n              nextItem.el.nativeElement.focus();\n            } else if (event.key === UP_ARROW_KEY || event.key === LEFT_ARROW_KEY) {\n              // left and up arrow keys should go to previous focusable item\n              event.preventDefault();\n              const nextItem = index !== 0 ? this.itemsArray[index - 1] : this.itemsArray[this.itemsArray.length - 1];\n              nextItem.el.nativeElement.focus();\n            }\n          })\n        );\n      });\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[vOpensInNewTab], '\n})\nexport class OpensInNewTabDirective {\n  constructor(private el: ElementRef) {}\n\n  /**\n   * Allows user to set custom rel attribute.\n   * @default 'noopener noreferrer'\n   * @builtin true\n   */\n  @Input()\n  get rel(): string {\n    return this._rel;\n  }\n  set rel(value: string) {\n    this._rel = value;\n  }\n  _rel: string;\n\n  /**\n   * Allows user to set custom target attribute.\n   * @default '_blank'\n   * @builtin true\n   */\n  @Input()\n  get target(): string {\n    return this._target;\n  }\n  set target(value: string) {\n    this._target = value;\n  }\n  _target: string;\n\n  /**\n   * Allows user to set custom aria-label attribute.\n   * @default '&lt;inner-text-of-link&gt; (opens in new tab)'\n   */\n  @Input('aria-label')\n  get ariaLabel(): string {\n    return this._ariaLabel;\n  }\n  set ariaLabel(value: string) {\n    this._ariaLabel = value;\n  }\n  _ariaLabel: string;\n\n  @HostBinding('attr.rel')\n  get attrRel(): string | null {\n    return this._rel ? this._rel : 'noopener noreferrer';\n  }\n  @HostBinding('attr.target')\n  get attrTarget(): string | null {\n    return this._target ? this._target : '_blank';\n  }\n  @HostBinding('attr.aria-label')\n  get attrAriaLabel(): string | null {\n    return this._ariaLabel ? this._ariaLabel : `${this.el.nativeElement.innerText.trim()} (opens in new tab)`;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ContentChildren,\n  Directive,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Optional,\n  Output,\n  QueryList,\n  signal\n} from '@angular/core';\nimport { ButtonColor, ButtonSize } from '../button/button.constants';\nimport { ButtonDirective } from '../button/button.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-accordion-heading]'\n})\nexport class AccordionHeadingDirective implements AfterContentInit {\n  @ContentChildren(ButtonDirective) buttons: QueryList<ButtonDirective>;\n  _subtle = signal(false);\n  _index: number;\n  _buttonHeading: ButtonDirective;\n\n  constructor(@Optional() public hostButton?: ButtonDirective) {}\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-accordion-heading\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-accordion-heading'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets expanded state of accordion heading. <br />\n   * <strong>This property is overriden when used with details/summary version of accordion. Instead, refer to the native <code>open</code> property of the details element.</strong>\n   * @default false\n   */\n  @Input()\n  get expanded(): boolean {\n    return this._expanded;\n  }\n  set expanded(value: BooleanInput) {\n    this._expanded = coerceBooleanProperty(value);\n    this.toggled.emit(this._index);\n  }\n  _expanded: boolean = false;\n\n  /**\n   * Emits item index when accordion item is toggled (collapsed and expanded).\n   */\n  @Output() toggled = new EventEmitter<number>();\n\n  @HostBinding('style.--v-button-default-background')\n  @HostBinding('style.--v-accordion-background')\n  get hostBackground(): string | void {\n    if (this._subtle()) {\n      return 'transparent';\n    }\n  }\n\n  @HostBinding('style.--v-button-default-gap')\n  @HostBinding('style.--v-accordion-items-gap')\n  get hostGap(): string | void {\n    if (this._subtle()) {\n      return '2px';\n    }\n  }\n\n  @HostBinding('style.--v-accordion-foreground-initial')\n  get hostForeground(): string | void {\n    // only apply subtle foreground color if the button is not disabled\n    if (this._subtle() && !(this.hostButton?.disabled || this.hostButton?.ariaDisabled)) {\n      return 'var(--palette-default-active)';\n    }\n  }\n\n  ngAfterContentInit(): void {\n    // children buttons\n    if (this.buttons) {\n      this.buttons.toArray().forEach((button) => {\n        if (button.toggleIcon || button.toggleIconComponent) {\n          this._buttonHeading = button;\n        }\n      });\n    }\n\n    // [v-button][v-accordion-heading] instance\n    if (this.hostButton) {\n      if (!this.hostButton._buttonSizeSetByUser) {\n        this.hostButton.buttonSize = ButtonSize.LARGE;\n        this.hostButton._buttonSizeSetByUser = false;\n      }\n      if (!this.hostButton._buttonColorSetByUser) {\n        this.hostButton.buttonColor = ButtonColor.SECONDARY;\n        this.hostButton._buttonColorSetByUser = false;\n      }\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { AfterContentInit, Directive } from '@angular/core';\nimport { AccordionHeadingDirective } from '../accordion-heading/accordion-heading.directive';\nimport { ButtonColor, ButtonSize } from '../button/button.constants';\nimport { ButtonDirective } from '../button/button.directive';\n\n/**\n * Directive to be used in conjunction with accordion-heading to provide a button to control the accordion item.\n * @deprecated\n * @deprecationMessage Use the accordion-heading directive instead.\n */\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-accordion-heading][v-button], [v-accordion-toggle-button]'\n})\nexport class AccordionButtonHeadingDirective implements AfterContentInit {\n  constructor(\n    public accordionHeading: AccordionHeadingDirective,\n    public button?: ButtonDirective\n  ) {}\n\n  ngAfterContentInit(): void {\n    if (!this.accordionHeading && this.button) {\n      if (!this.button._buttonSizeSetByUser) {\n        this.button.buttonSize = ButtonSize.LARGE;\n        this.button._buttonSizeSetByUser = false;\n      }\n      if (!this.button._buttonColorSetByUser) {\n        this.button.buttonColor = ButtonColor.SECONDARY;\n        this.button._buttonColorSetByUser = false;\n      }\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input, signal } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-accordion-panel]'\n})\nexport class AccordionPanelDirective {\n  _index: number;\n  _expanded: boolean = false;\n  _subtle = signal(false);\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-accordion-panel\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-accordion-panel'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets custom id.\n   * @default this.uuidService.getUUID('v-accordion-panel-')\n   * @builtin true\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /** @ignore @TODO deprecate? */\n  @Input()\n  get native(): boolean {\n    return this._native;\n  }\n  set native(value: boolean) {\n    this._native = value;\n  }\n  _native: boolean = false;\n  @HostBinding('attr.aria-hidden')\n  get hostAriaHidden(): boolean | null {\n    return this._native ? null : !this._expanded;\n  }\n\n  @HostBinding('style.--v-accordion-panel-background-color')\n  get hostBackground(): string | void {\n    if (this._subtle()) {\n      return 'transparent';\n    }\n  }\n\n  @HostBinding('style.--v-accordion-panel-border-size')\n  get hostGap(): string | void {\n    if (this._subtle()) {\n      return '0px';\n    }\n  }\n\n  @HostBinding('style.--v-accordion-panel-padding-inline')\n  get hostForeground(): string | void {\n    if (this._subtle()) {\n      return '32px';\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ContentChild,\n  Directive,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  Output\n} from '@angular/core';\nimport { AccordionHeadingDirective } from '../accordion-heading/accordion-heading.directive';\nimport { AccordionPanelDirective } from '../accordion-panel/accordion-panel.directive';\nimport { IconToggleComponent } from '../icon-toggle/icon-toggle.component';\nimport { IconToggleDirective } from '../icon-toggle/icon-toggle.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: 'details[v-accordion-item]'\n})\nexport class AccordionDetailsDirective implements AfterContentInit {\n  @ContentChild(AccordionPanelDirective) panel: AccordionPanelDirective;\n  @ContentChild(AccordionHeadingDirective) heading: AccordionHeadingDirective;\n  @ContentChild(IconToggleDirective) toggleIcon: IconToggleDirective;\n  @ContentChild(IconToggleComponent) toggleIconComponent: IconToggleComponent;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-accordion\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-accordion'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /** @ignore native details/summary prop */\n  @Input('open')\n  get expanded(): boolean | null {\n    return this._expanded;\n  }\n  set expanded(value: BooleanInput | null) {\n    this._expanded = coerceBooleanProperty(value);\n    if (this.expanded !== null) this.toggled.emit(this.expanded);\n  }\n  _expanded: boolean | null = false;\n  @HostBinding('open')\n  get hostOpen(): boolean | void {\n    if (this.expanded !== null) return this.expanded;\n  }\n\n  /**\n   * Sets custom id.\n   * @builtin true\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /** @ignore */\n  @Input()\n  get name(): string {\n    return this._name;\n  }\n  set name(value: string) {\n    this._name = value;\n  }\n  _name: string = '';\n  @HostBinding('attr.name')\n  get hostName(): string {\n    return this.name;\n  }\n\n  @HostBinding('attr.tabindex')\n  get hostTabIndex(): string | void {\n    if (this.heading?.hostButton?.disabled) {\n      return '-1';\n    }\n  }\n\n  constructor() {}\n\n  /**\n   * Emits expanded state of item when toggled.\n   */\n  @Output() toggled = new EventEmitter<boolean>();\n\n  @HostListener('toggle', ['$event'])\n  toggle(event: { newState: string }) {\n    // should be of type ToggleEvent but Angular 16 doesn't recognize ToggleEvent\n    this.expanded = event.newState === 'open';\n    if (this.toggleIconComponent) this.toggleIconComponent.rotated = this.expanded;\n    if (this.toggleIcon)\n      this.toggleIcon.icon.icon = this.expanded ? this.toggleIcon.expandedIcon : this.toggleIcon.collapsedIcon;\n    this.toggled.emit(this.expanded);\n  }\n\n  ngAfterContentInit(): void {\n    if (this.panel) this.panel._native = true;\n\n    if (this.heading) {\n      if (this.heading.expanded && !this.expanded) this.expanded = true;\n      this.heading.toggled.subscribe(() => {\n        this.expanded = this.heading.expanded;\n      });\n    }\n\n    if (this.toggleIcon) {\n      this.toggleIcon.class = [this.toggleIcon.class, 'v-accordion-toggle-icon'].join(' ');\n      if (!this.toggleIcon._iconSet) {\n        if (!this.toggleIcon._expandedSet) this.toggleIcon.expandedIcon = 'chevron-down';\n        if (!this.toggleIcon._collapsedSet) this.toggleIcon.collapsedIcon = 'chevron-right';\n      }\n    } else if (this.toggleIconComponent) {\n      this.toggleIconComponent._accordionToggle = true;\n      if (this.toggleIconComponent.rotatedTemplate) {\n        this.toggleIconComponent.rotatedTemplate.class = 'v-accordion-toggle-icon';\n      }\n      if (this.toggleIconComponent.defaultTemplate) {\n        this.toggleIconComponent.defaultTemplate.class = 'v-accordion-toggle-icon';\n      }\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { coerceBooleanProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { SpacingProperties } from '../nova-lib.constants';\n\n@Directive({\n  standalone: true,\n  selector: `[vFlex], [vFlexInline], [vGap], [vFlexGrow], [vFlexGrow0], \n  [vFlexShrink], [vFlexShrink0], [vFlexBasis], [vAlignSelfStart], [vAlignSelfEnd], \n  [vAlignSelfCenter], [vAlignSelfStretch], [vAlignSelfAuto], [vAlignSelfBaseline],`\n})\nexport class FlexDirective {\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.vFlex ? (this.vFlexCol ? 'v-flex' : 'v-flex v-flex-row') : null,\n      this.vFlexInline ? 'v-flex-inline' : null,\n      this.vFlexCol ? 'v-flex-col' : null,\n      this.vFlexColReverse ? 'v-flex-col-reverse' : null,\n      this.vFlexRow ? 'v-flex-row' : null,\n      this.vFlexRowReverse ? 'v-flex-row-reverse' : null,\n      this.vFlexWrap ? 'v-flex-wrap' : null,\n      this.vFlexWrapReverse ? 'v-flex-wrap-reverse' : null,\n      this.vFlexNoWrap ? 'v-flex-nowrap' : null,\n      this.vFlexGrow ? 'v-flex-grow' : null,\n      this.vFlexGrow0 ? 'v-flex-grow-0' : null,\n      this.vFlexShrink ? 'v-flex-shrink' : null,\n      this.vFlexShrink0 ? 'v-flex-shrink-0' : null,\n      this.vAlignContentCenter ? 'v-align-content-center' : null,\n      this.vAlignContentStart ? 'v-align-content-start' : null,\n      this.vAlignContentEnd ? 'v-align-content-end' : null,\n      this.vAlignContentBetween ? 'v-align-content-between' : null,\n      this.vAlignContentAround ? 'v-align-content-around' : null,\n      this.vAlignContentEvenly ? 'v-align-content-evenly' : null,\n      this.vAlignItemsStart ? 'v-align-items-start' : null,\n      this.vAlignItemsEnd ? 'v-align-items-end' : null,\n      this.vAlignItemsCenter ? 'v-align-items-center' : null,\n      this.vAlignItemsBaseline ? 'v-align-items-baseline' : null,\n      this.vAlignItemsStretch ? 'v-align-items-stretch' : null,\n      this.vAlignSelfStart ? 'v-align-self-start' : null,\n      this.vAlignSelfEnd ? 'v-align-self-end' : null,\n      this.vAlignSelfCenter ? 'v-align-self-center' : null,\n      this.vAlignSelfBaseline ? 'v-align-self-baseline' : null,\n      this.vAlignSelfStretch ? 'v-align-self-stretch' : null,\n      this.vAlignSelfAuto ? 'v-align-self-auto' : null,\n      this.vJustifyContentStart ? 'v-justify-content-start' : null,\n      this.vJustifyContentEnd ? 'v-justify-content-end' : null,\n      this.vJustifyContentCenter ? 'v-justify-content-center' : null,\n      this.vJustifyContentBetween ? 'v-justify-content-between' : null,\n      this.vJustifyContentAround ? 'v-justify-content-around' : null,\n      this.vJustifyContentEvenly ? 'v-justify-content-evenly' : null,\n      this.vGap ? `v-flex v-gap-${this.vGap}` : null, // vGap=\"4\"\n      this.vColGap ? `v-col-gap-${this.vColGap}` : null, // vGap=\"4\"\n      this.vRowGap ? `v-row-gap-${this.vRowGap}` : null // vGap=\"4\"\n    ].join(' ');\n  }\n\n  /**\n   * Sets property <code>display: flex</code>. <br>\n   * This property is also a selector and can be used by itself on a flex element.\n   */\n  @Input()\n  get vFlex(): boolean {\n    return this._vFlex;\n  }\n  set vFlex(value: BooleanInput) {\n    this._vFlex = coerceBooleanProperty(value);\n  }\n  _vFlex: boolean;\n\n  /**\n   * Sets property <code>display: inline-flex</code>. <br>\n   * This property is also a selector and can be used by itself on a flex element.\n   */\n  @Input()\n  get vFlexInline(): boolean {\n    return this._vFlexInline;\n  }\n  set vFlexInline(value: BooleanInput) {\n    this._vFlexInline = coerceBooleanProperty(value);\n  }\n  _vFlexInline: boolean;\n\n  /**\n   * Sets property <code>flex-direction: column</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vFlexCol(): boolean {\n    return this._vFlexCol;\n  }\n  set vFlexCol(value: BooleanInput) {\n    this._vFlexCol = coerceBooleanProperty(value);\n  }\n  _vFlexCol: boolean;\n\n  /**\n   * Sets property <code>flex-direction: column-reverse</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vFlexColReverse(): boolean {\n    return this._vFlexColReverse;\n  }\n  set vFlexColReverse(value: BooleanInput) {\n    this._vFlexColReverse = coerceBooleanProperty(value);\n  }\n  _vFlexColReverse: boolean;\n\n  /**\n   * Sets property <code>flex-direction: row</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vFlexRow(): boolean {\n    return this._vFlexRow;\n  }\n  set vFlexRow(value: BooleanInput) {\n    this._vFlexRow = coerceBooleanProperty(value);\n  }\n  _vFlexRow: boolean;\n\n  /**\n   * Sets property <code>flex-direction: row-reverse</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vFlexRowReverse(): boolean {\n    return this._vFlexRowReverse;\n  }\n  set vFlexRowReverse(value: BooleanInput) {\n    this._vFlexRowReverse = coerceBooleanProperty(value);\n  }\n  _vFlexRowReverse: boolean;\n\n  /**\n   * Sets property <code>flex-wrap: wrap</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vFlexWrap(): boolean {\n    return this._vFlexWrap;\n  }\n  set vFlexWrap(value: BooleanInput) {\n    this._vFlexWrap = coerceBooleanProperty(value);\n  }\n  _vFlexWrap: boolean;\n\n  /**\n   * Sets property <code>flex-wrap: wrap-reverse</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vFlexWrapReverse(): boolean {\n    return this._vFlexWrapReverse;\n  }\n  set vFlexWrapReverse(value: BooleanInput) {\n    this._vFlexWrapReverse = coerceBooleanProperty(value);\n  }\n  _vFlexWrapReverse: boolean;\n\n  /**\n   * Sets property <code>flex-wrap: no-wrap</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vFlexNoWrap(): boolean {\n    return this._vFlexNoWrap;\n  }\n  set vFlexNoWrap(value: BooleanInput) {\n    this._vFlexNoWrap = coerceBooleanProperty(value);\n  }\n  _vFlexNoWrap: boolean;\n\n  /**\n   * Sets property <code>flex-basis: &lt;value&gt;</code>. <br>\n   * Accepts a string that should be in the form of a percentage or CSS unit. <br />\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vFlexBasis(): string {\n    return this._vFlexBasis;\n  }\n  set vFlexBasis(value) {\n    this._vFlexBasis = value;\n  }\n  _vFlexBasis: string;\n  @HostBinding('style.flex-basis')\n  get hostFlexBasis(): string | null {\n    return this.vFlexBasis ? this.vFlexBasis : null;\n  }\n\n  /**\n   * Sets property <code>flex-grow: 1</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vFlexGrow(): boolean {\n    return this._vFlexGrow;\n  }\n  set vFlexGrow(value: BooleanInput) {\n    this._vFlexGrow = coerceBooleanProperty(value);\n  }\n  _vFlexGrow: boolean;\n\n  /**\n   * Sets property <code>flex-grow: 0</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vFlexGrow0(): boolean {\n    return this._vFlexGrow0;\n  }\n  set vFlexGrow0(value: BooleanInput) {\n    this._vFlexGrow0 = coerceBooleanProperty(value);\n  }\n  _vFlexGrow0: boolean;\n\n  /**\n   * Sets property <code>flex-shrink: 1</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vFlexShrink(): boolean {\n    return this._vFlexShrink;\n  }\n  set vFlexShrink(value: BooleanInput) {\n    this._vFlexShrink = coerceBooleanProperty(value);\n  }\n  _vFlexShrink: boolean;\n\n  /**\n   * Sets property <code>flex-shrink: 0</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vFlexShrink0(): boolean {\n    return this._vFlexShrink0;\n  }\n  set vFlexShrink0(value: BooleanInput) {\n    this._vFlexShrink0 = coerceBooleanProperty(value);\n  }\n  _vFlexShrink0: boolean;\n\n  /**\n   * Sets property <code>align-content: center</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignContentCenter(): boolean {\n    return this._vAlignContentCenter;\n  }\n  set vAlignContentCenter(value: BooleanInput) {\n    this._vAlignContentCenter = coerceBooleanProperty(value);\n  }\n  _vAlignContentCenter: boolean;\n\n  /**\n   * Sets property <code>align-content: start</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignContentStart(): boolean {\n    return this._vAlignContentStart;\n  }\n  set vAlignContentStart(value: BooleanInput) {\n    this._vAlignContentStart = coerceBooleanProperty(value);\n  }\n  _vAlignContentStart: boolean;\n\n  /**\n   * Sets property <code>align-content: end</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignContentEnd(): boolean {\n    return this._vAlignContentEnd;\n  }\n  set vAlignContentEnd(value: BooleanInput) {\n    this._vAlignContentEnd = coerceBooleanProperty(value);\n  }\n  _vAlignContentEnd: boolean;\n\n  /**\n   * Sets property <code>align-content: space-between</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignContentBetween(): boolean {\n    return this._vAlignContentBetween;\n  }\n  set vAlignContentBetween(value: BooleanInput) {\n    this._vAlignContentBetween = coerceBooleanProperty(value);\n  }\n  _vAlignContentBetween: boolean;\n\n  /**\n   * Sets property <code>align-content: space-around</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignContentAround(): boolean {\n    return this._vAlignContentAround;\n  }\n  set vAlignContentAround(value: BooleanInput) {\n    this._vAlignContentAround = coerceBooleanProperty(value);\n  }\n  _vAlignContentAround: boolean;\n\n  /**\n   * Sets property <code>align-content: space-evenly</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignContentEvenly(): boolean {\n    return this._vAlignContentEvenly;\n  }\n  set vAlignContentEvenly(value: BooleanInput) {\n    this._vAlignContentEvenly = coerceBooleanProperty(value);\n  }\n  _vAlignContentEvenly: boolean;\n\n  /**\n   * Sets property <code>align-content: center</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignItemsCenter(): boolean {\n    return this._vAlignItemsCenter;\n  }\n  set vAlignItemsCenter(value: BooleanInput) {\n    this._vAlignItemsCenter = coerceBooleanProperty(value);\n  }\n  _vAlignItemsCenter: boolean;\n\n  /**\n   * Sets property <code>align-content: start</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignItemsStart(): boolean {\n    return this._vAlignItemsStart;\n  }\n  set vAlignItemsStart(value: BooleanInput) {\n    this._vAlignItemsStart = coerceBooleanProperty(value);\n  }\n  _vAlignItemsStart: boolean;\n\n  /**\n   * Sets property <code>align-content: end</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignItemsEnd(): boolean {\n    return this._vAlignItemsEnd;\n  }\n  set vAlignItemsEnd(value: BooleanInput) {\n    this._vAlignItemsEnd = coerceBooleanProperty(value);\n  }\n  _vAlignItemsEnd: boolean;\n\n  /**\n   * Sets property <code>align-items: baseline</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignItemsBaseline(): boolean {\n    return this._vAlignItemsBaseline;\n  }\n  set vAlignItemsBaseline(value: BooleanInput) {\n    this._vAlignItemsBaseline = coerceBooleanProperty(value);\n  }\n  _vAlignItemsBaseline: boolean;\n\n  /**\n   * Sets property <code>align-items: stretch</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vAlignItemsStretch(): boolean {\n    return this._vAlignItemsStretch;\n  }\n  set vAlignItemsStretch(value: BooleanInput) {\n    this._vAlignItemsStretch = coerceBooleanProperty(value);\n  }\n  _vAlignItemsStretch: boolean;\n\n  /**\n   * Sets property <code>align-self: center</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vAlignSelfCenter(): boolean {\n    return this._vAlignSelfCenter;\n  }\n  set vAlignSelfCenter(value: BooleanInput) {\n    this._vAlignSelfCenter = coerceBooleanProperty(value);\n  }\n  _vAlignSelfCenter: boolean;\n\n  /**\n   * Sets property <code>align-self: start</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vAlignSelfStart(): boolean {\n    return this._vAlignSelfStart;\n  }\n  set vAlignSelfStart(value: BooleanInput) {\n    this._vAlignSelfStart = coerceBooleanProperty(value);\n  }\n  _vAlignSelfStart: boolean;\n\n  /**\n   * Sets property <code>align-self: end</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vAlignSelfEnd(): boolean {\n    return this._vAlignSelfEnd;\n  }\n  set vAlignSelfEnd(value: BooleanInput) {\n    this._vAlignSelfEnd = coerceBooleanProperty(value);\n  }\n  _vAlignSelfEnd: boolean;\n\n  /**\n   * Sets property <code>align-self: baseline</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vAlignSelfBaseline(): boolean {\n    return this._vAlignSelfBaseline;\n  }\n  set vAlignSelfBaseline(value: BooleanInput) {\n    this._vAlignSelfBaseline = coerceBooleanProperty(value);\n  }\n  _vAlignSelfBaseline: boolean;\n\n  /**\n   * Sets property <code>align-self: stretch</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vAlignSelfStretch(): boolean {\n    return this._vAlignSelfStretch;\n  }\n  set vAlignSelfStretch(value: BooleanInput) {\n    this._vAlignSelfStretch = coerceBooleanProperty(value);\n  }\n  _vAlignSelfStretch: boolean;\n\n  /**\n   * Sets property <code>align-self: auto</code>. <br>\n   * This property is also a selector and can be used by itself on the <i>child</i> of a flex element.\n   */\n  @Input()\n  get vAlignSelfAuto(): boolean {\n    return this._vAlignSelfAuto;\n  }\n  set vAlignSelfAuto(value: BooleanInput) {\n    this._vAlignSelfAuto = coerceBooleanProperty(value);\n  }\n  _vAlignSelfAuto: boolean;\n\n  /**\n   * Sets property <code>justify-content: center</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vJustifyContentCenter(): boolean {\n    return this._vJustifyContentCenter;\n  }\n  set vJustifyContentCenter(value: BooleanInput) {\n    this._vJustifyContentCenter = coerceBooleanProperty(value);\n  }\n  _vJustifyContentCenter: boolean;\n\n  /**\n   * Sets property <code>justify-content: start</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vJustifyContentStart(): boolean {\n    return this._vJustifyContentStart;\n  }\n  set vJustifyContentStart(value: BooleanInput) {\n    this._vJustifyContentStart = coerceBooleanProperty(value);\n  }\n  _vJustifyContentStart: boolean;\n\n  /**\n   * Sets property <code>justify-content: end</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vJustifyContentEnd(): boolean {\n    return this._vJustifyContentEnd;\n  }\n  set vJustifyContentEnd(value: BooleanInput) {\n    this._vJustifyContentEnd = coerceBooleanProperty(value);\n  }\n  _vJustifyContentEnd: boolean;\n\n  /**\n   * Sets property <code>justify-content: space-between</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vJustifyContentBetween(): boolean {\n    return this._vJustifyContentBetween;\n  }\n  set vJustifyContentBetween(value: BooleanInput) {\n    this._vJustifyContentBetween = coerceBooleanProperty(value);\n  }\n  _vJustifyContentBetween: boolean;\n\n  /**\n   * Sets property <code>justify-content: space-around</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vJustifyContentAround(): boolean {\n    return this._vJustifyContentAround;\n  }\n  set vJustifyContentAround(value: BooleanInput) {\n    this._vJustifyContentAround = coerceBooleanProperty(value);\n  }\n  _vJustifyContentAround: boolean;\n\n  /**\n   * Sets property <code>justify-content: space-evenly</code>. <br>\n   * This property should be used alongside a FlexDirective selector (see selectors above).\n   */\n  @Input()\n  get vJustifyContentEvenly(): boolean {\n    return this._vJustifyContentEvenly;\n  }\n  set vJustifyContentEvenly(value: BooleanInput) {\n    this._vJustifyContentEvenly = coerceBooleanProperty(value);\n  }\n  _vJustifyContentEvenly: boolean;\n\n  /**\n   * Sets property <code>gap</code>. <br>Accepts gap: 0 - 48 and SpacingProperties.\n   */\n  @Input()\n  get vGap(): number | SpacingProperties | NumberInput {\n    return this._vGap;\n  }\n  set vGap(value) {\n    this._vGap = value;\n  }\n  _vGap: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets property <code>column-gap</code>. <br>Accepts gap: 0 - 48 and SpacingProperties.\n   */\n  @Input()\n  get vColGap(): number | SpacingProperties | NumberInput {\n    return this._vColGap;\n  }\n  set vColGap(value) {\n    this._vColGap = value;\n  }\n  _vColGap: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets property <code>row-gap</code>. <br>Accepts gap: 0 - 48 and SpacingProperties.\n   */\n  @Input()\n  get vRowGap(): number | SpacingProperties | NumberInput {\n    return this._vRowGap;\n  }\n  set vRowGap(value) {\n    this._vRowGap = value;\n  }\n  _vRowGap: number | SpacingProperties | NumberInput;\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  Directive,\n  Input,\n  HostBinding,\n  Optional,\n  AfterContentInit,\n  ContentChild,\n  ContentChildren,\n  QueryList,\n  ChangeDetectorRef\n} from '@angular/core';\nimport { AccordionDetailsDirective } from '../accordion-item/accordion-item.directive';\nimport { ButtonDirective } from '../button/button.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-wizard-step] '\n})\nexport class WizardStepDirective implements AfterContentInit {\n  @ContentChildren(ButtonDirective) buttons: QueryList<ButtonDirective>;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-wizard-step\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-wizard-step'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  constructor(\n    @Optional() private accordion: AccordionDetailsDirective,\n    private cdRef: ChangeDetectorRef\n  ) {}\n\n  /**\n   * Marks the step as current step when true.\n   * @default false\n   */\n  @Input()\n  get active(): boolean {\n    return this._active;\n  }\n  set active(value: BooleanInput) {\n    this._active = coerceBooleanProperty(value);\n  }\n  _active: boolean = false;\n  @HostBinding('attr.aria-current')\n  get hostAriaCurrent(): string | void {\n    if (this.active) {\n      return 'step';\n    }\n  }\n\n  /**\n   * Marks the step as completed when true.\n   * @default false\n   */\n  @Input()\n  get complete(): boolean {\n    return this._complete;\n  }\n  set complete(value: BooleanInput) {\n    this._complete = coerceBooleanProperty(value);\n  }\n  _complete: boolean = false;\n\n  /**\n   * Marks the step as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n  }\n  _invalid: boolean = false;\n\n  ngAfterContentInit(): void {\n    if (this.accordion) {\n      this.active = this.accordion.expanded;\n\n      this.accordion.toggled.subscribe((expanded) => {\n        this.active = expanded;\n      });\n    }\n\n    if (this.buttons) {\n      this.buttons.forEach((button) => (button.class = [button.class, 'v-wizard-step'].join(' ')));\n\n      this.buttons.changes.subscribe(() => {\n        this.buttons.forEach((button) => (button.class = [button.class, 'v-wizard-step'].join(' ')));\n        this.cdRef.detectChanges();\n      });\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterContentInit, ContentChildren, Directive, HostBinding, Input, QueryList } from '@angular/core';\nimport { WizardStepDirective } from '../wizard-step/wizard-step.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-wizard]'\n})\nexport class WizardDirective implements AfterContentInit {\n  @ContentChildren(WizardStepDirective) steps: QueryList<WizardStepDirective>;\n  _activeIndex: number = 0;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-wizard\n   */\n  @Input()\n  get class(): string {\n    return [\n      this._class,\n      'v-wizard',\n      this.vertical ? 'v-wizard-vertical' : '',\n      this.compact ? 'v-wizard-compact' : ''\n    ].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  constructor() {}\n\n  /**\n   * Sets wizard to vertical orientation when true.\n   * @default false\n   */\n  @Input()\n  get vertical(): boolean {\n    return this._vertical;\n  }\n  set vertical(value: BooleanInput) {\n    this._vertical = coerceBooleanProperty(value);\n  }\n  _vertical: boolean = false;\n\n  /**\n   * Sets wizard to compact variant when true.\n   * @default false\n   */\n  @Input()\n  get compact(): boolean {\n    return this._compact;\n  }\n  set compact(value: BooleanInput) {\n    this._compact = coerceBooleanProperty(value);\n  }\n  _compact: boolean = false;\n\n  /**\n   * Sets the aria-live attribute for the wizard. <br />\n   * This attribute is used to inform assistive technologies, like screen readers, about updates to wizard.\n   * @default 'polite'\n   */\n  @Input('aria-live')\n  get ariaLive(): string {\n    return this._ariaLive;\n  }\n  set ariaLive(value: string) {\n    this._ariaLive = value;\n  }\n  _ariaLive: string = 'polite';\n\n  ngAfterContentInit(): void {\n    this._activeIndex = this.steps.toArray().findIndex((step) => step.active);\n    if (this._activeIndex > 0) {\n      this.steps.toArray().forEach((step, index) => {\n        if (index < this._activeIndex) {\n          step.complete = true;\n        }\n      });\n    }\n  }\n\n  @HostBinding('attr.aria-live')\n  get hostAriaLive(): string {\n    return this.ariaLive;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Injectable } from '@angular/core';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { AccordionHeadingDirective } from '../accordion-heading/accordion-heading.directive';\nimport { AccordionPanelDirective } from '../accordion-panel/accordion-panel.directive';\nimport { ButtonDirective } from '../button/button.directive';\nimport { AccordionDirective } from './accordion.directive';\n\n/**\n * AccordionService is an internal service used to create accordion behavior and is used within the accordion component.\n */\n@Injectable()\nexport class AccordionService {\n  constructor(private uuidService: UUIDService) {}\n\n  /** @ignore */\n  accordion: AccordionDirective;\n  /** @ignore */\n  items: { heading: AccordionHeadingDirective; button: ButtonDirective; panel: AccordionPanelDirective }[] = [];\n  /** @ignore */\n  headings: AccordionHeadingDirective[];\n  /** @ignore */\n  panels: AccordionPanelDirective[];\n\n  /**\n   * The setUpAccordion method sets up the accordion by pairing accordion headings with their respective panels and having them reflect the same expanded state.\n   * @param accordion Accordion to set up.\n   * @returns void\n   */\n  setUpAccordion(accordion: AccordionDirective) {\n    this.items = []; // reset items array\n    // provide service with necessary Directives\n    this.accordion = accordion;\n    this.headings = accordion.headings.toArray();\n    this.panels = accordion.panels.toArray();\n\n    // return or warn for edge cases of no or mismatched headings + panels\n    if (this.headings.length === 0 || this.panels.length === 0) return;\n    if (this.headings.length !== this.panels.length) {\n      console.warn(`\n        The number of accordion headings and panels are not equal. \n        Behavior may be off as a result. \n        Please ensure each heading has a matching panel.\n      `);\n    }\n\n    this.headings.forEach((heading, index) => {\n      // set index at heading level.\n      heading._index = index;\n\n      /**\n       * Each item requires a controlling button\n       * This will either be an [v-button][v-accordion-heading] or a child button of an accordion-heading\n       */\n      let buttonHeading: ButtonDirective | undefined = heading.hostButton\n        ? heading.hostButton\n        : heading._buttonHeading\n          ? heading._buttonHeading\n          : undefined;\n\n      // create array of items with each controlling button and respective panel\n      if (this.panels[index] && buttonHeading) {\n        this.items.push({ heading: heading, button: buttonHeading, panel: this.panels[index] });\n\n        this.setUpPanel(index, heading.expanded);\n        this.setUpButton(buttonHeading, index, heading.expanded);\n      }\n    });\n  }\n\n  /**\n   * The setUpPanel method configures a panel with index, expanded state, and assigns an id if not provided.\n   * @param index Index of panel to set up.\n   * @param expanded Expanded state of panel's associated accordion item.\n   */\n  setUpPanel(index: number, expanded: boolean) {\n    // aligns panel index and expanded to associated heading\n    this.panels[index]._index = index;\n    this.panels[index]._expanded = expanded;\n    this.panels[index].id = this.panels[index].id\n      ? this.panels[index].id\n      : this.uuidService.getUUID('v-accordion-panel-');\n  }\n\n  /**\n   * The setUpButton method configures a button with id, aria-controls, aria-expanded attributes, and the appropriate toggle icon.\n   * @param buttonHeading Button to set up.\n   * @param index Index of button to set up.\n   * @param expanded Expanded state of button's associated accordion item.\n   */\n  setUpButton(buttonHeading: ButtonDirective, index: number, expanded: boolean) {\n    // sets up controlling button's aria properties\n    buttonHeading.id = buttonHeading.id ? buttonHeading.id : this.uuidService.getUUID('v-accordion-button-');\n    buttonHeading.ariaControls = this.panels[index].id;\n    buttonHeading.ariaExpanded = expanded;\n    if (buttonHeading.toggleIcon) {\n      buttonHeading.toggleIcon.class = [buttonHeading.toggleIcon.class, 'v-accordion-toggle-icon'].join(' ');\n      if (!buttonHeading.toggleIcon._iconSet) {\n        if (!buttonHeading.toggleIcon._expandedSet) buttonHeading.toggleIcon.expandedIcon = 'chevron-down';\n        if (!buttonHeading.toggleIcon._collapsedSet) buttonHeading.toggleIcon.collapsedIcon = 'chevron-right';\n        buttonHeading.toggleIcon.icon.icon = expanded\n          ? buttonHeading.toggleIcon.expandedIcon\n          : buttonHeading.toggleIcon.collapsedIcon;\n      }\n    } else if (buttonHeading.toggleIconComponent) {\n      buttonHeading.toggleIconComponent._accordionToggle = true;\n      buttonHeading.toggleIconComponent.rotated = expanded;\n    }\n  }\n\n  /**\n   * The toggleItem method reverses the current state of the accordion. If collapsed, it expands; if expanded, it collapses. If it was collapsed, the function will expand. If it was expanded, the function will collapse.\n   * @param index Index of accordion item to toggle.\n   */\n  toggleItem(index: number) {\n    this.items[index]['heading'].expanded = !this.items[index]['heading'].expanded;\n  }\n\n  /**\n   * The expandItem method expands the accordion by showing panel content, setting the button’s aria-expanded to true, and changing the toggle icon to expandedIcon.\n   * @param index Index of accordion item to expand.\n   */\n  expandItem(index: number) {\n    if (this.items[index]) {\n      this.items[index]['panel']._expanded = true;\n      this.items[index]['button'].ariaExpanded = true;\n      if (this.items[index]['button'].toggleIcon && !this.items[index]['button'].toggleIcon._iconSet) {\n        this.items[index]['button'].toggleIcon.icon.icon = this.items[index]['button'].toggleIcon.expandedIcon;\n      } else if (this.items[index]['button'].toggleIconComponent) {\n        this.items[index]['button'].toggleIconComponent.rotated = true;\n      }\n    }\n  }\n\n  /**\n   * The collapseItem method collapses the accordion by hiding panel content, setting the button’s aria-expanded to false, and changing the toggle icon to collapsedIcon.\n   * @param index Index of accordion item to collapse.\n   */\n  collapseItem(index: number) {\n    if (this.items[index]) {\n      this.items[index]['panel']._expanded = false;\n      this.items[index]['button'].ariaExpanded = false;\n      if (this.items[index]['button'].toggleIcon && !this.items[index]['button'].toggleIcon._iconSet) {\n        this.items[index]['button'].toggleIcon.icon.icon = this.items[index]['button'].toggleIcon.collapsedIcon;\n      } else if (this.items[index]['button'].toggleIconComponent) {\n        this.items[index]['button'].toggleIconComponent.rotated = false;\n      }\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Optional,\n  Output,\n  QueryList\n} from '@angular/core';\nimport { FlexDirective } from '../flex/flex.directive';\nimport { AccordionHeadingDirective } from '../accordion-heading/accordion-heading.directive';\nimport { AccordionDetailsDirective } from '../accordion-item/accordion-item.directive';\nimport { AccordionPanelDirective } from '../accordion-panel/accordion-panel.directive';\nimport { ButtonColor } from '../button/button.constants';\nimport { ButtonDirective } from '../button/button.directive';\nimport { WizardDirective } from '../wizard/wizard.directive';\nimport { AccordionService } from './accordion.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\n\n@Directive({\n  standalone: true,\n  selector: '[v-accordion]',\n  providers: [AccordionService]\n})\nexport class AccordionDirective implements AfterContentInit {\n  @ContentChildren(AccordionHeadingDirective, { descendants: true })\n  headings: QueryList<AccordionHeadingDirective>;\n  @ContentChildren(AccordionPanelDirective, { descendants: true })\n  panels: QueryList<AccordionPanelDirective>;\n  buttonClickedSubscriptions: any[] = [];\n  @ContentChildren(AccordionDetailsDirective, { descendants: true })\n  accordionItems: QueryList<AccordionDetailsDirective>;\n  _removeDefaultFlex: boolean | undefined = false;\n  _removeDefaultGap: boolean | undefined | null | any = false;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-accordion\n   */\n  @Input()\n  get class(): string {\n    return [\n      this._class,\n      this.accordionItems.length <= 0 && !this.wizard ? 'v-accordion' : '',\n      !this._removeDefaultFlex && this.accordionItems.length > 0 ? 'v-flex v-flex-col' : '',\n      !this._removeDefaultGap && this.accordionItems.length > 0 ? 'v-gap-6' : ''\n    ].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Allows multiple accordion items to be expanded when true.\n   * @default false\n   */\n  @Input()\n  get multiselect(): boolean {\n    return this._multiselect;\n  }\n  set multiselect(value: BooleanInput) {\n    this._multiselect = coerceBooleanProperty(value);\n  }\n  _multiselect: boolean = false;\n\n  /**\n   * Applies subtle accordion styling when true.\n   * @default false\n   */\n  @Input()\n  get subtle(): boolean {\n    return this._subtle;\n  }\n  set subtle(value: BooleanInput) {\n    this._subtle = coerceBooleanProperty(value);\n    this.setAsSubtle();\n  }\n  _subtle: boolean = false;\n\n  /**\n   * Emits indexes of expanded items when an accordion item is toggled.\n   */\n  @Output() itemsChanged = new EventEmitter<number[]>();\n\n  /** variable that maintains the array of indexes of expanded items */\n  itemsExpanded: Array<number> = [];\n\n  constructor(\n    private accordionService: AccordionService,\n    private cdRef: ChangeDetectorRef,\n    private uuidService: UUIDService,\n    @Optional() private flex?: FlexDirective,\n    @Optional() private wizard?: WizardDirective\n  ) {}\n\n  ngAfterContentInit(): void {\n    if (!this.accordionItems.length) this.accordionService.setUpAccordion(this);\n    this.cdRef.detectChanges(); // detect changes made to component within setUpAccordion\n    this.setAsSubtle();\n\n    // remove default flex and gap if user has set their own\n    this._removeDefaultFlex = this.flex && this.flex.vFlexRow;\n    this._removeDefaultGap = this.flex && this.flex.vGap;\n\n    if (this.accordionItems) {\n      if (this.accordionItems.length > 0) {\n        this.setUpAccordionItems();\n      }\n      this.accordionItems.changes.subscribe(() => {\n        this.setUpAccordionItems();\n      });\n    }\n\n    if (this.headings) {\n      // custom accessible markup\n      this.setUpHeadings();\n\n      this.headings.changes.subscribe(() => {\n        this.accordionItemsChanged();\n      });\n    }\n\n    if (this.panels) {\n      this.panels.changes.subscribe(() => {\n        this.accordionItemsChanged();\n      });\n    }\n  }\n\n  setUpAccordionItems() {\n    const singleSelectName = this.uuidService.getUUID('accordion-details-');\n    // detail/summary markup\n    this.accordionItems.toArray().forEach((item, index) => {\n      if (item.expanded) this.itemsExpanded.push(index);\n      if (!this.multiselect && item.heading.hostButton) {\n        item.name = singleSelectName;\n        // a new item is clicked in a non-multiselect\n        item.heading.hostButton.clicked.subscribe(() => {\n          if (item.expanded) {\n            // clear all expanded items if an expanded item is clicked (it's closing)\n            this.itemsExpanded = [];\n            return;\n          }\n          this.itemsExpanded = [index];\n        });\n      } else if (this.multiselect) {\n        item.toggled.subscribe((expanded) => {\n          this.handleToggle(index, expanded, true);\n        });\n      }\n    });\n  }\n\n  setUpHeadings() {\n    // prioritize the accordion items (native details/summary behavior) if they are present\n    if (this.accordionItems.length > 0) return;\n    // loop through the headings\n    this.headings.toArray().forEach((heading) => {\n      // subscribe to clicks and programmatic toggles\n      if (heading.hostButton) {\n        this.buttonSubscribe(heading.hostButton, heading._index);\n      } else if (heading._buttonHeading) {\n        this.buttonSubscribe(heading._buttonHeading, heading._index);\n      }\n      if (heading.expanded) this.itemsExpanded.push(heading._index);\n\n      // subscribe to changes in heading.expanded\n      heading.toggled.subscribe((index) => {\n        this.handleToggle(index, heading.expanded, false);\n      });\n    });\n  }\n\n  setAsSubtle() {\n    if (this.headings) {\n      this.headings.toArray().forEach((heading) => {\n        heading._subtle.set(this.subtle);\n        if (this.subtle) {\n          const button = heading._buttonHeading || heading.hostButton;\n          if (!button._buttonColorSetByUser) button.buttonColor = ButtonColor.TERTIARY;\n        }\n      });\n    }\n    if (this.panels) {\n      this.panels.toArray().forEach((panel) => {\n        panel._subtle.set(this.subtle);\n      });\n    }\n  }\n\n  buttonSubscribe(button: ButtonDirective, index: number) {\n    this.buttonClickedSubscriptions[index] = button.clicked.subscribe(() => {\n      this.accordionService.toggleItem(index);\n    });\n  }\n\n  accordionItemsChanged() {\n    // when accordion items change we need to recreate the accordion and service\n    if (this.headings.length !== this.panels.length) return; // accordion hasn't been fully changed yet, waiting on matching heading or panel\n\n    // reset\n    this.buttonClickedSubscriptions.forEach((subscription) => {\n      subscription.unsubscribe();\n    });\n    this.buttonClickedSubscriptions = [];\n    this.accordionService.setUpAccordion(this);\n    this.setAsSubtle();\n    if (this.headings) this.setUpHeadings();\n    this.cdRef.detectChanges();\n  }\n\n  handleToggle(index: number, expanded: boolean, isDetails: boolean) {\n    const _prevItemsExpanded = this.itemsExpanded;\n    if (expanded) {\n      if (!isDetails) this.accordionService.expandItem(index);\n      if (!this.multiselect) {\n        const prevExpanded = this.itemsExpanded[0];\n        const arr = this.accordionItems.length > 0 ? this.accordionItems.toArray() : this.headings.toArray();\n        if (prevExpanded >= 0 && prevExpanded !== index) arr[prevExpanded].expanded = false;\n        this.itemsExpanded = [index];\n      } else if (!this.itemsExpanded.includes(index)) this.itemsExpanded.push(index);\n    } else {\n      if (!isDetails) this.accordionService.collapseItem(index);\n      this.itemsExpanded.filter((item) => item !== index);\n    }\n    if (this.itemsExpanded !== _prevItemsExpanded) this.itemsChanged.emit(this.itemsExpanded);\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding } from '@angular/core';\n\n/**\n * Directive to add alternate surface class, <code>class=\"v-alternate\"</code>, to the host element.\n */\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[vAlternate]'\n})\nexport class AlternateDirective {\n  @HostBinding('class')\n  get hostClass(): string {\n    return 'v-alternate';\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { UUIDService } from '../_utilities/services/uuid.service';\n\n@Directive({\n  standalone: true,\n  selector: '[v-anchor-link-menu-header]'\n})\nexport class AnchorLinkMenuHeaderDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-anchor-link-menu-header\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    return [this.class, 'v-anchor-link-menu-header'].join(' ');\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-anchor-link-menu-')\n   * @builtin true\n   */\n  @Input() id: string = this.uuidService.getUUID('v-anchor-link-menu-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  constructor(private uuidService: UUIDService) {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { ContentChild, Directive, HostBinding, Input } from '@angular/core';\nimport { AnchorLinkMenuHeaderDirective } from '../anchor-link-menu-header/anchor-link-menu-header.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-anchor-link-menu]'\n})\nexport class AnchorLinkMenuDirective {\n  @ContentChild(AnchorLinkMenuHeaderDirective) almHeader: AnchorLinkMenuHeaderDirective;\n\n  constructor() {}\n  /**\n   * Aria attribute to provide a label for the anchor link menu.\n   * @default null\n   */\n  @Input('aria-label') label: string | null;\n  @HostBinding('attr.aria-label')\n  get hostLabel(): string | null {\n    return this.label ? this.label : null;\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-anchor-link-menu\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    return [this.class, 'v-anchor-link-menu'].join(' ');\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, Input, HostBinding, ElementRef } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-tooltip-arrow], '\n})\nexport class TooltipArrowDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @class .v-tooltip-arrow\n   */\n  @Input() class: string = 'v-tooltip-arrow'; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets the background color to the same variable as the tooltip itself.\n   */\n  @HostBinding('style.background-color')\n  get hostBackground(): string {\n    return 'var(--v-surface-background)';\n  }\n\n  @HostBinding('style.position')\n  get hostPosition(): string {\n    return 'absolute';\n  }\n\n  /**\n   * This ensures the arrow is behind the tooltip content.\n   */\n  @HostBinding('style.z-index')\n  get hostZIndex(): string {\n    return '-1';\n  }\n\n  /**\n   * Sets custom size *in pixels* for the arrow.\n   * @default 8\n   */\n  @Input() customSize: number = 8;\n  @HostBinding('style.inline-size')\n  get hostWidth(): string {\n    return this.customSize + 'px';\n  }\n\n  @HostBinding('style.block-size')\n  get hostHeight(): string {\n    return this.customSize + 'px';\n  }\n\n  @HostBinding('style.transform')\n  get hostTransform(): string {\n    return 'rotate(45deg)';\n  }\n\n  constructor(public el: ElementRef) {} // ElementRef needed for floating-ui-container\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * This directive sets the role of an element to \"img\" when the element is not an \\<img\\> tag.\n */\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-avatar]:not(img)'\n})\nexport class AvatarRoleImgDirective {\n  /**\n   * Provides custom role.\n   * @default 'img' when **not** on an <code>&lt;img&gt;</code> element.\n   * @builtin true\n   */\n  @Input()\n  get role(): string {\n    return this._role;\n  }\n  set role(value: string) {\n    this._role = value;\n  }\n  _role: string = 'img';\n  @HostBinding('role')\n  get hostRole(): string {\n    return this.role;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-avatar]'\n})\nexport class AvatarDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-avatar\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-avatar', this.small ? 'v-avatar-small' : ''].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets avatar to small variant when true.\n   * @default false\n   */\n  @Input()\n  get small(): boolean {\n    return this._small;\n  }\n  set small(value: BooleanInput) {\n    this._small = coerceBooleanProperty(value);\n  }\n  _small: boolean = false;\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-banner]'\n})\nexport class BannerDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-banner\n   */\n  @Input() class = ''; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-banner'].join(' ');\n  }\n\n  /**\n   * Provides sticky styling for global banners. <br />\n   * When true, the following CSS rules are applied - <code>position: sticky; top: 0; z-index: 888;</code>.\n   * @default false\n   */\n  @Input()\n  get isGlobal(): boolean {\n    return this._isGlobal;\n  }\n  set isGlobal(value: BooleanInput) {\n    this._isGlobal = coerceBooleanProperty(value);\n  }\n  _isGlobal: boolean = false;\n\n  @HostBinding('style')\n  get hostStyle(): string {\n    return this.isGlobal ? 'position: sticky; top: 0; z-index: 888;' : '';\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-link]'\n})\nexport class LinkDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-link\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-link', this.noUnderline ? 'v-link-no-underline' : ''].join(' ');\n  }\n\n  /**\n   * Disables link when true. <br />\n   * Adds <code>role=\"link\"</code> and <code>aria-disabled=\"true\"</code> when true for a11y.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  _disabled: boolean;\n\n  /**\n   * Removes underline on link when true.\n   * @default false\n   */\n  @Input()\n  get noUnderline(): boolean {\n    return this._noUnderline;\n  }\n  set noUnderline(value: BooleanInput) {\n    this._noUnderline = coerceBooleanProperty(value);\n  }\n  _noUnderline: boolean;\n\n  @HostBinding('attr.aria-disabled')\n  get attrDisabled(): string | null {\n    return this.disabled ? 'true' : null;\n  }\n\n  @HostBinding('attr.role')\n  get attrRole(): string | null {\n    return this.disabled ? 'link' : null;\n  }\n  constructor(public el: ElementRef) {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentChildren, Directive, HostBinding, Input, QueryList } from '@angular/core';\nimport { LinkDirective } from '../link/link.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-breadcrumbs]'\n})\nexport class BreadcrumbsDirective {\n  @ContentChildren(LinkDirective, { descendants: true }) links: QueryList<LinkDirective>;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-breadcrumbs\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-breadcrumbs', this.hasInlineSeparator ? 'v-breadcrumbs-custom' : ''].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Replaces the default '<code>/</code>' separator with the string provided.\n   * @default false\n   */\n  @Input()\n  get separator(): string {\n    return this._separator;\n  }\n  set separator(value) {\n    this._separator = value;\n  }\n  _separator: string;\n  @HostBinding('style.--v-breadcrumbs-pseudo-separator')\n  get breadcrumbsSeparator(): string | void {\n    if (this.separator) {\n      return \"'\" + this.separator + \"'\";\n    }\n  }\n\n  /**\n   * Removes separator inserted by CSS and allows you to provide your own separator within the markup.\n   * @default false\n   */\n  @Input()\n  get hasInlineSeparator(): boolean {\n    return this._hasInlineSeparator;\n  }\n  set hasInlineSeparator(value: BooleanInput) {\n    this._hasInlineSeparator = coerceBooleanProperty(value);\n  }\n  _hasInlineSeparator: boolean = false;\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\nexport const BreakpointType = {\n  XS: 'xs',\n  SM: 'sm',\n  MD: 'md',\n  LG: 'lg',\n  XL: 'xl',\n  XXL: 'xxl',\n  MOBILE: 'mobile',\n  DESKTOP: 'desktop'\n} as const;\n\nexport type BreakpointType = (typeof BreakpointType)[keyof typeof BreakpointType];\n\n@Directive({\n  standalone: true,\n  selector: '[vContainerHide], [vMediaHide], [vHide], '\n})\nexport class BreakpointsDirective {\n  @HostBinding('class')\n  get hostClasses(): string {\n    const containerClasses = this.getClasses('container');\n    const mediaClasses = this.getClasses('media');\n    return [\n      this.vHide ? 'v-hide' : null,\n      this.vContainerHide && !(this.vContainerHide instanceof Array) ? `v-${this.vContainerHide}-container-hide` : null,\n      this.vMediaHide && !(this.vMediaHide instanceof Array) ? `v-${this.vMediaHide}-media-hide` : null,\n      containerClasses && containerClasses.length > 0 ? containerClasses : null,\n      mediaClasses && mediaClasses.length > 0 ? mediaClasses : null\n    ].join(' ');\n  }\n\n  /**\n   * Hides element when true.\n   */\n  @Input()\n  get vHide(): boolean {\n    return this._vHide;\n  }\n  set vHide(value: BooleanInput) {\n    this._vHide = coerceBooleanProperty(value);\n  }\n  _vHide: boolean;\n\n  /**\n   * Hides element when within given _container_ breakpoint.\n   */\n  @Input()\n  get vContainerHide(): BreakpointType | BreakpointType[] | null {\n    return this._vContainerHide;\n  }\n  set vContainerHide(value) {\n    this._vContainerHide = value;\n  }\n  _vContainerHide: BreakpointType | BreakpointType[] | null;\n\n  /**\n   * Hides element when within given _media_ breakpoint.\n   */\n  @Input()\n  get vMediaHide(): BreakpointType | BreakpointType[] | null {\n    return this._vMediaHide;\n  }\n  set vMediaHide(value) {\n    this._vMediaHide = value;\n  }\n  _vMediaHide: BreakpointType | BreakpointType[] | null;\n\n  getClasses(type: 'container' | 'media'): string | void {\n    let classes: string[] = [];\n    if (type === 'container' && this.vContainerHide instanceof Array) {\n      this.vContainerHide.forEach((bp) => classes.push(`v-${bp}-container-hide`));\n    } else if (type === 'media' && this.vMediaHide instanceof Array) {\n      this.vMediaHide.forEach((bp) => classes.push(`v-${bp}-media-hide`));\n    }\n    if (classes.length > 0) return classes.join(' ');\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding } from '@angular/core';\nimport { ButtonDirective } from '../button/button.directive';\n\n/**\n * This directive sets the role and aria-disabled attributes on \\<a\\> tags when disabled. Disabled \\<a\\> tags do not natively accept the disabled attribute, so this directive adds <code>role=\"link\"</code> and <code>aria-disabled=\"true\"</code>. Additionally, disabled \\<a\\> tags must not have an href attribute. For disabling \\<button\\> tags, <code>visit ButtonDisabledDirective</code>.\n */\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: 'a[v-button], a[v-button-icon], a[v-button-stacked], a[v-panel-toggle]'\n})\nexport class ButtonAsDisabledATagDirective {\n  constructor(private buttonHost: ButtonDirective) {}\n  @HostBinding('attr.role')\n  get hostDisabledRole(): string | void {\n    if (this.buttonHost?.disabled) return 'link';\n  }\n\n  @HostBinding('attr.aria-disabled')\n  get hostAriaDisabledRole(): string | void {\n    if (this.buttonHost?.disabled) return 'true';\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding } from '@angular/core';\nimport { ButtonDirective } from '../button/button.directive';\n\n/**\n * This directive sets the <code>disabled</code> attribute on \\<button\\> tags when they are disabled. <br>\n * Note: The <code>disabled</code> attribute is not valid for \\<a\\> tags. <br>\n * For disabling \\<a\\> tags, visit <code>ButtonAsDisabledATagDirective</code>.\n */\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-button]:not(a), [v-button-icon]:not(a), [v-button-stacked]:not(a), [v-panel-toggle]:not(a)'\n})\nexport class ButtonDisabledDirective {\n  constructor(private buttonHost: ButtonDirective) {}\n  @HostBinding('attr.aria-disabled')\n  get hostAriaDisabled(): string | void {\n    if (this.buttonHost?.disabled || this.buttonHost?.ariaDisabled) return 'true';\n  }\n  @HostBinding('disabled')\n  @HostBinding('attr.disabled')\n  get hostDisabled(): string | void {\n    if (this.buttonHost?.disabled) return 'disabled';\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-button-icon]'\n})\nexport class ButtonIconDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-button-icon\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-button-icon'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { ContentChild, Directive, HostBinding, HostListener, Input } from '@angular/core';\nimport { CheckboxDirective } from '../checkbox/checkbox.directive';\nimport { RadioDirective } from '../radio/radio.directive';\nimport { ToggleControlService } from '../toggle-control/toggle-control.service';\n\n@Directive({\n  standalone: true,\n  selector: '[v-checkbox-panel], [v-radio-panel]'\n})\nexport class CheckboxPanelDirective {\n  @ContentChild(CheckboxDirective) checkbox: CheckboxDirective;\n  @ContentChild(RadioDirective) radio: RadioDirective;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-action.v-action-secondary.v-checkbox-panel\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    this.class = ['v-action', 'v-action-secondary', 'v-checkbox-panel'].join(' ');\n\n    return this.class;\n  }\n\n  constructor(private toggleControlService: ToggleControlService) {}\n\n  @HostListener('click', ['$event'])\n  handleClick(event: Event) {\n    this.toggleControlService.toggleControl(this.checkbox || this.radio, event);\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ContentChild, Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { CheckboxDirective } from '../checkbox/checkbox.directive';\nimport { ButtonDirective } from '../button/button.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-chip]'\n})\nexport class ChipDirective {\n  @ContentChild(CheckboxDirective) checkbox: CheckboxDirective;\n  @ContentChild(ButtonDirective) button: ButtonDirective;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-button\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-chip', this.compact ? 'v-chip-compact' : '', this.checkbox ? 'v-chip-selection' : ''].join(\n      ' '\n    );\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets chip to compact variant when true.\n   * @default false\n   */\n  @Input()\n  get compact(): boolean {\n    return this._compact;\n  }\n  set compact(value: BooleanInput) {\n    this._compact = coerceBooleanProperty(value);\n  }\n  _compact: boolean = false;\n\n  constructor(readonly el: ElementRef) {} // used in floating-ui-container\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, Input, HostBinding, ElementRef, HostListener } from '@angular/core';\nimport { UUIDService } from '../_utilities/services/uuid.service';\n\n@Directive({\n  standalone: true,\n  selector: '[v-label]'\n})\nexport class LabelDirective {\n  /**\n   * Attribute set to the id of the element it's labeling. <br />\n   * This property is set by default for radio and checkbox components when used within <code>v-input-container</code> as directed.\n   */\n  @Input()\n  get for(): string {\n    return this._for;\n  }\n  set for(value: string) {\n    this._for = value;\n  }\n  private _for: string;\n\n  @HostBinding('attr.for')\n  get labelFor(): string {\n    return this._for;\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-label-')\n   * @builtin true\n   */\n  @Input() id: string = this.uuidService.getUUID('v-label-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-label - when <code>progressLabel</code> is false and not used within a Circular Progress component.\n   * @default .v-progress-label when <code>progressLabel</code> is true or when used within a Circular Progress component.\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    this.class = [this.progressLabel ? 'v-progress-label' : 'v-label'].join(' ');\n    return this.class;\n  }\n\n  /**\n   * Swaps <code>v-label</code> class for <code>v-progress-label</code> when true. <br />\n   * Intended for use when label is describing a progress component. <br />\n   * Automatically set to true when used within a Circular Progress component.\n   * @default false\n   */\n  @Input()\n  get progressLabel(): boolean {\n    return this._progressLabel;\n  }\n  set progressLabel(value: BooleanInput) {\n    this._progressLabel = coerceBooleanProperty(value);\n  }\n  private _progressLabel: boolean = false;\n\n  constructor(\n    public el: ElementRef,\n    private uuidService: UUIDService\n  ) {} // needed for vdsChip styling\n\n  @HostListener('click', ['$event'])\n  onClick(event: Event) {\n    // stops click event for firing for label **and** input.\n    // event will still fire for input\n    event.stopPropagation();\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  AfterViewInit,\n  Component,\n  computed,\n  ContentChild,\n  ElementRef,\n  HostBinding,\n  Input,\n  signal,\n  ViewChild\n} from '@angular/core';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { LabelDirective } from '../label/label.directive';\n\n@Component({\n  standalone: true,\n  imports: [CommonModule],\n  selector: '[v-progress-circular], [v-circular-progress]',\n  templateUrl: './circular-progress.component.html'\n})\nexport class CircularProgressComponent implements AfterContentInit, AfterViewInit {\n  _percentageSignal = signal(this.percentage);\n  _initialSize = signal(0); // circumference\n  _dashOffset = computed(() => {\n    if (this._initialSize() > 0) {\n      return this._initialSize() - this._initialSize() * (this._percentageSignal() * 0.01);\n    } else return 0;\n  });\n\n  @ViewChild('progressBar', { static: false }) progressBar: ElementRef;\n  @ContentChild(LabelDirective) label: LabelDirective;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-progress.v-progress-circular\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.class,\n      'v-progress',\n      'v-progress-circular',\n      this.determinate ? '' : 'v-progress-indeterminate',\n      this.small ? 'v-progress-circular-small' : '',\n      this.determinate && this.percentage === 100 ? 'v-progress-complete' : '',\n      this.invalid ? 'v-progress-error' : ''\n    ].join(' ');\n  }\n\n  /**\n   * Sets progress to determinate when true.\n   * @default false\n   */\n  @Input()\n  get determinate(): boolean {\n    return this._determinate;\n  }\n  set determinate(value: BooleanInput) {\n    this._determinate = coerceBooleanProperty(value);\n  }\n  _determinate: boolean = false;\n\n  /**\n   * Sets progress to invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n  }\n  _invalid: boolean = false;\n\n  /**\n   * Sets custom role.\n   * @default 'progressbar' when determinate\n   * @default null when indeterminate\n   * @builtin true\n   */\n  @Input() role: string | void | null = null;\n  @HostBinding('attr.role')\n  get hostRole(): string | void | null {\n    // If role is set, use it\n    if (this.role) {\n      return this.role;\n    }\n    if (this._determinate) {\n      return 'progressbar';\n    }\n    return null;\n  }\n\n  /**\n   * Sets the percentage for a <code>determinate</code> circular progress.\n   * @default 0\n   */\n  @Input()\n  get percentage(): number {\n    return this._percentage;\n  }\n  set percentage(value: NumberInput) {\n    this._percentage = coerceNumberProperty(value);\n    this._percentageSignal.set(coerceNumberProperty(value));\n  }\n  _percentage: number = 0;\n\n  /**\n   * Sets progress to small variant when true.\n   * @default false\n   */\n  @Input()\n  get small(): boolean {\n    return this._small;\n  }\n  set small(value: BooleanInput) {\n    this._small = coerceBooleanProperty(value);\n  }\n  _small: boolean = false;\n\n  /**\n   * Aria attribute pointing to id of labelling element.\n   * @default &lt;child-label-id&gt;\n   * @builtin true\n   */\n  @Input('aria-labelledby') ariaLabelledby: string;\n  @HostBinding('attr.aria-labelledby')\n  get hostAriaLabelledby(): string {\n    return this.ariaLabelledby;\n  }\n\n  constructor(private appReadyService: AppReadyService) {}\n\n  ngAfterContentInit(): void {\n    if (this.label) {\n      this.label.progressLabel = true;\n\n      if (!this.ariaLabelledby && this.label.id) {\n        this.ariaLabelledby = this.label.id;\n      }\n    }\n  }\n\n  ngAfterViewInit(): void {\n    if (this.progressBar) {\n      let radius: number; // default in case isPlatformBrowser fails\n      // best guess of radius if radius is not available\n      // by default, small size is 24\n      // by default, regular size is 48\n      const defaultSize = this.small ? 48 : 72;\n      setTimeout(() => {\n        // .getPropertyValue('r') not working outside of setTimeout\n        if (this.appReadyService.checkIsPlatformBrowser()) {\n          radius = parseInt(window.getComputedStyle(this.progressBar.nativeElement).getPropertyValue('r'));\n        }\n        // by default, radius is half of the default size minus 4 - the stroke width\n        radius = isNaN(radius) ? (defaultSize - 4) / 2 : radius;\n        this._initialSize.set(2 * Math.PI * radius);\n      }, 0);\n    }\n  }\n}\n","<!--\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n -->\n<svg\n  class=\"v-progress-circular-track\"\n  [ngClass]=\"{\n  'v-progress-complete': determinate && percentage === 100,\n}\"\n>\n  <circle class=\"v-progress-circular-background\">\n  </circle>\n  <circle\n    class=\"v-progress-circular-bar\"\n    [style.stroke-dasharray]=\"determinate ? _initialSize() : null\"\n    [style.stroke-dashoffset]=\"determinate ? _dashOffset() : null\"\n    #progressBar\n  >\n  </circle>\n</svg>\n<ng-content></ng-content>","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterContentInit, ContentChild, Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { ButtonDirective } from '../button/button.directive';\n\n/**\n * Directive for creating a disclosure tab item. This directive is used in conjunction with the `v-tab-item` directive. <br />\n * It is used to create a tab item that can be expanded or collapsed. This item cannot be set as active.\n */\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-tab-item][disclosureTab]'\n})\nexport class TabItemDisclosureDirective implements AfterContentInit {\n  @ContentChild(ButtonDirective) button: ButtonDirective;\n\n  /**\n   * Sets expanded state of disclosure tab item.\n   * @default false\n   */\n  @Input()\n  get expanded(): boolean {\n    return this._expanded;\n  }\n  set expanded(value: BooleanInput) {\n    this._expanded = coerceBooleanProperty(value);\n  }\n  _expanded: boolean = false;\n\n  /**\n   * Emits expanded state when the child button is clicked.\n   */\n  @Output() disclosureTabToggled = new EventEmitter<boolean>();\n\n  constructor() {}\n\n  ngAfterContentInit(): void {\n    if (this.button) {\n      this.button.ariaExpanded = this.expanded;\n\n      if (this.button.toggleIconComponent) {\n        if (this.button.toggleIconComponent.rotatedTemplate) this.button.toggleIconComponent.rotated = this.expanded;\n      }\n\n      this.button.clicked.subscribe((event) => {\n        this.expanded = !this.expanded;\n        this.button.ariaExpanded = this.expanded;\n        if (this.button.toggleIconComponent) this.button.toggleIconComponent.rotated = this.expanded;\n        this.disclosureTabToggled.emit(this.expanded);\n      });\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { BaseInteractiveDirective } from '../_utilities/angular-specific-directives/base-interactive.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-dropdown-list]'\n})\nexport class DropdownListDirective extends BaseInteractiveDirective {\n  buttonItem: boolean = false;\n\n  constructor(override el: ElementRef) {\n    super(el);\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input() class = ''; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string | '' | null {\n    return [this.class, 'v-listbox'].join(' ');\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, Input, HostBinding, ElementRef } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-menu], [v-dropdown-menu]'\n})\nexport class DropdownMenuDirective {\n  // the following is determined by floating-ui-container and used to set aria attributes\n  _isShown = false;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-surface.v-dropdown-menu\n   */\n  @Input() class: string = 'v-surface v-dropdown-menu'; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return this.class;\n  }\n\n  @HostBinding('attr.aria-hidden')\n  get hostAriaHidden(): boolean | null | void {\n    return !this._isShown;\n  }\n\n  @HostBinding('style.inline-size')\n  get hostInlineSize(): string {\n    return '180px';\n  }\n\n  @HostBinding('style.max-inline-size')\n  get hostMaxInlineSize(): string {\n    return '100%';\n  }\n\n  // this is an angular-specific override. Spacing between dropdown-menu and button/trigger\n  // is handled within floating-ui.service\n  @HostBinding('style.--v-dropdown-menu-surface-margin-block-start')\n  get hostMarginBlockStart(): string {\n    return '0';\n  }\n\n  /**\n   * Provides custom z-index to control stacking order.\n   * @default 200;\n   */\n  @Input() zIndex: number = 200;\n  @HostBinding('style.z-index')\n  get hostZIndex(): string {\n    return this.zIndex.toString();\n  }\n\n  /**\n   * Sets custom ID.\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  constructor(public el: ElementRef) {} // ElementRef needed for floating-ui-container\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-floating-ui-element]'\n})\nexport class FloatingUIElementDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class].join(' ');\n  }\n\n  @HostBinding('style.inline-size')\n  get hostInlineSize(): string {\n    return '100%';\n  }\n\n  @HostBinding('style.z-index')\n  get hostZIndex(): string {\n    return '200';\n  }\n\n  /**\n   * Sets custom ID.\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  constructor(public el: ElementRef) {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport const FloatingUIPlacements = {\n  TOP: 'top',\n  TOP_START: 'top-start',\n  TOP_END: 'top-end',\n  RIGHT: 'right',\n  RIGHT_START: 'right-start',\n  RIGHT_END: 'right-end',\n  BOTTOM: 'bottom',\n  BOTTOM_START: 'bottom-start',\n  BOTTOM_END: 'bottom-end',\n  LEFT: 'left',\n  LEFT_START: 'left-start',\n  LEFT_END: 'left-end'\n} as const;\nexport type FloatingUIPlacements = (typeof FloatingUIPlacements)[keyof typeof FloatingUIPlacements];\n\nexport const FloatingUIVisibility = {\n  SHOW: 'show',\n  HIDE: 'hide'\n} as const;\nexport type FloatingUIVisibility = (typeof FloatingUIVisibility)[keyof typeof FloatingUIVisibility];\n\nexport type UIEventVisibilityPair =\n  | [UIEvent, FloatingUIVisibility?][]\n  | ((UIEvent | 'show')[] | (UIEvent | 'hide')[])[];\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { ElementRef, EventEmitter, Injectable, Output, Renderer2, RendererFactory2, signal } from '@angular/core';\nimport { arrow, autoUpdate, computePosition, ComputePositionReturn, flip, offset, shift } from '@floating-ui/dom';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { TooltipArrowDirective } from '../arrow/arrow.directive';\nimport { FloatingUIPlacements, FloatingUIVisibility, UIEventVisibilityPair } from './floating-ui.constants';\n\n/**\n * This internal service is used by Combobox, Dropdown Menu, and Tooltip components. <br />\n * It can be used with generic FloatingUIContainer, FloatingUIElementDirective, and FloatingUITriggerDirective to create your own custom floating-ui. <br />\n * If you are using any of the components mentioned, you will typically not need to use this service directly. <br />\n * Derived from [Floating UI documentation](https://floating-ui.com/).\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class FloatingUIService {\n  constructor(\n    private rendererFactory: RendererFactory2,\n    private uuidService: UUIDService,\n    private appReadyService: AppReadyService\n  ) {\n    this.renderer = rendererFactory.createRenderer(null, null);\n  }\n  /** @ignore */\n  private renderer: Renderer2;\n  /** @ignore */\n  trigger: Element;\n  /** @ignore */\n  floatingUI: ElementRef;\n  /** @ignore */\n  arrow: TooltipArrowDirective;\n  /** @ignore */\n  eventArray: UIEventVisibilityPair;\n  /** @ignore */\n  offset: number;\n  /** @ignore */\n  offsetDefault = 2;\n  /** @ignore */\n  comboboxMiddleware: any = [offset(0), flip(), shift()];\n  /** @ignore */\n  middlewareDefault: any = [offset(this.offsetDefault), flip(), shift()];\n  /** @ignore */\n  middleware: any = this.middlewareDefault;\n  /** @ignore */\n  placement: FloatingUIPlacements = FloatingUIPlacements.BOTTOM;\n  /** @ignore */\n  isShown = signal(false);\n\n  /**\n   * Displays property of the floating UI element.\n   * @default 'flex'\n   */\n  display = 'flex';\n\n  /**\n   * Time in milliseconds to wait before hiding the floating UI element when the trigger is hovered over.\n   * @default A factor of the offset middleware option if provided, otherwise 50.\n   */\n  hideOnHoverTimeout: number;\n\n  /**\n   * Emits true when this floating UI element is shown and false when hidden.\n   */\n  @Output() isShownEmitter = new EventEmitter();\n\n  /**\n   * The setUpFloatingUI method is required to initialize the floating element and its trigger. <br />\n   * Called by default with FloatingUIContainer or ComboboxDirective.\n   * @param referenceEl References element that will trigger floating UI.\n   * @param floatingEl References floating UI element.\n   * @param eventArray Array of events for the reference/trigger element to listen for. <br> i.e. <code>[new UIEvent('focus'), FloatingUIVisibility.SHOW]</code> <br> tells the element to show the floating UI when the triggering element is focused.\n   */\n  setUpfloatingUI(referenceEl: ElementRef | HTMLElement, floatingEl: ElementRef, eventArray: UIEventVisibilityPair) {\n    this.trigger = this.nativeElement(referenceEl);\n    this.floatingUI = floatingEl;\n\n    this.renderer.setStyle(this.floatingUI.nativeElement, 'top', '0');\n    this.renderer.setStyle(this.floatingUI.nativeElement, 'left', '0');\n    this.renderer.setStyle(this.floatingUI.nativeElement, 'display', 'none');\n\n    if (eventArray) {\n      this.setUpTrigger(eventArray);\n    } else {\n      console.error('No events provided to trigger the Floating UI.');\n    }\n  }\n\n  /**\n   * The nativeElement method returns the Element type of the reference element.\n   * @param element Element to be converted to Element type.\n   * @returns Element\n   */\n  nativeElement(element: ElementRef<any> | HTMLElement): Element {\n    if (element instanceof ElementRef) {\n      return element.nativeElement;\n    }\n    return element;\n  }\n\n  /**\n   * The customizeFloatingUI method allows you to provide custom placement and middleware options to the Floating UI service.\n   * @param placement Optional. See <code>FloatingUIPlacements</code> enum.\n   * @param middleware Optional. Visit the official Floating UI documentation for more on [middleware options](https://floating-ui.com/docs/computePosition#middleware).\n   * @param display Optional. Sets CSS display property for the floating UI element.\n   * @param tooltipArrow Optional. Directive reference to the arrow element. See TooltipArrowDirective.\n   */\n  customizeFloatingUI(\n    placement?: FloatingUIPlacements,\n    middleware?: any,\n    display?: string,\n    tooltipArrow?: TooltipArrowDirective\n  ) {\n    if (placement) {\n      this.placement = placement;\n    }\n    if (middleware) {\n      this.middleware = middleware;\n      // save a custom offset\n      const customOffset = (this.middleware.find((m: any) => m['name'] === 'offset') as any) || 2;\n      this.offset = customOffset.options;\n    }\n    if (display) {\n      this.display = display;\n    }\n\n    if (tooltipArrow) {\n      this.arrow = tooltipArrow;\n      // update the offset to factor in the arrow size if no custom offset was placed\n      const floatingOffset = Math.ceil(Math.sqrt(2 * this.arrow.customSize ** 2) / 2);\n      this.offset = this.offset ? floatingOffset + this.offset : floatingOffset + this.offsetDefault;\n      this.middleware.push(arrow({ element: this.arrow.el.nativeElement }));\n      const offsetIndex = this.middleware.findIndex((func: any) => func.name === 'offset');\n\n      // START GENAI@CHATGPT4\n      if (offsetIndex !== -1) {\n        // Replace the old offset function with the new one\n        this.middleware = [\n          ...this.middleware.slice(0, offsetIndex),\n          offset(this.offset),\n          ...this.middleware.slice(offsetIndex + 1)\n        ];\n      } else {\n        // If no old offset function is found, just add the new one\n        this.middleware = [...this.middleware, offset(this.offset)];\n      }\n      // END GENAI@CHATGPT4\n    }\n  }\n\n  /**\n   * The positionFloatingUI method positions the Floating UI based on the given placement and middleware. <br />\n   * For more details on the internal function, refer to Floating UI's [compute position documentation](https://floating-ui.com/docs/computePosition).\n   * @param trigger The triggering element.\n   * @param floatingUI The element that will \"float\" when triggered.\n   * @param placement Reference FloatingUIPlacements.\n   * @param middleware Visit the official Floating UI documentation for more on [middleware options](https://floating-ui.com/docs/computePosition#middleware).\n   */\n  positionFloatingUI(\n    trigger: Element = this.trigger,\n    floatingUI: HTMLElement = this.floatingUI.nativeElement,\n    placement: FloatingUIPlacements = this.placement\n  ) {\n    autoUpdate(trigger, floatingUI, () => {\n      computePosition(trigger, floatingUI, {\n        placement: placement,\n        middleware: this.middleware\n      }).then(({ x, y, middlewareData, placement }: ComputePositionReturn) => {\n        floatingUI.style.left = `${x}px`;\n        floatingUI.style.top = `${y}px`;\n\n        if (middlewareData.arrow) {\n          // see: https://codesandbox.io/s/mystifying-kare-ee3hmh?file=/src/index.js\n          if (this.arrow) {\n            const { x, y } = middlewareData.arrow;\n\n            this.renderer.setStyle(this.arrow.el.nativeElement, 'left', x != null ? `${x}px` : '');\n            this.renderer.setStyle(this.arrow.el.nativeElement, 'top', y != null ? `${y}px` : '');\n            this.renderer.setStyle(this.arrow.el.nativeElement, 'right', '');\n            this.renderer.setStyle(this.arrow.el.nativeElement, 'bottom', '');\n\n            const side = placement.split('-')[0];\n            const staticSide = {\n              top: 'bottom',\n              bottom: 'top',\n              left: 'right',\n              right: 'left'\n            }[side];\n\n            if (staticSide) {\n              this.renderer.setStyle(\n                this.arrow.el.nativeElement,\n                staticSide,\n                -(this.arrow.el.nativeElement.offsetWidth / 2) + 'px'\n              );\n            }\n          }\n        }\n      });\n    });\n  }\n\n  /**\n   * The showFloatingUI method displays the Floating UI element.\n   */\n  showfloatingUI() {\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      const triggerDisabled = this.trigger.getAttribute('disabled');\n      if (triggerDisabled) return;\n    }\n    this.positionFloatingUI();\n    this.isShown.set(true);\n    this.isShownEmitter.emit(this.isShown());\n    this.renderer.setStyle(this.floatingUI.nativeElement, 'display', this.display);\n  }\n\n  /**\n   * The hideFloatingUI method hides the Floating UI element.\n   */\n  hidefloatingUI() {\n    this.renderer.setStyle(this.floatingUI.nativeElement, 'display', 'none');\n    this.isShown.set(false);\n    this.isShownEmitter.emit(this.isShown());\n  }\n\n  /**\n   * The toggleFloatingUI method toggles the visibility of the Floating UI element.\n   */\n  toggleFloatingUI() {\n    if (this.isShown()) {\n      this.hidefloatingUI();\n    } else {\n      this.showfloatingUI();\n    }\n  }\n\n  /**\n   * The closeOnClickOut method closes the menu when a click occurs outside of the menu and the triggering element.\n   * @param event Document click event.\n   */\n  closeOnClickOut(event: Event) {\n    // listen for document click and close menu if click is outside of component\n    if (this.isShown()) {\n      const target = event.target as HTMLInputElement;\n      if (!this.floatingUI.nativeElement.contains(event.target) && !this.trigger.contains(target)) {\n        this.hidefloatingUI();\n      }\n    }\n  }\n\n  /**\n   * The addCloseActions method adds default close actions to the Floating UI component. These actions include closing the menu when the escape key is pressed or when clicking outside of the floating element.\n   */\n  addCloseActions() {\n    const document = this.appReadyService.checkDocumentExists();\n    // close menu on escape key press or clicking outside of menu\n    if (document) {\n      this.renderer.listen(document, 'click', this.closeOnClickOut.bind(this));\n      this.renderer.listen(document, 'keydown.esc', this.hidefloatingUI.bind(this));\n    }\n  }\n\n  /**\n   * The setUpTrigger method configures the triggering element by setting up the events to listen for and the actions to take when those events are triggered.\n   * @param eventArray Array of events for the reference/trigger element to listen for.<br> i.e. <code>[new UIEvent('focus'), FloatingUIVisibility.SHOW]</code> <br> tells the element to show the floating UI when the triggering element is focused.\n   */\n  setUpTrigger(eventArray: UIEventVisibilityPair) {\n    // add default actions to close menu\n    this.addCloseActions();\n    eventArray.forEach((pair) => {\n      /**\n       * if a custom eventArray is **not** typed as UIEventVisibilityPair[],<br />\n       * Typescript will type the array as ((UIEvent | \"show\")[] | (UIEvent | \"hide\")[])[] <br />\n       * because the passed arrays have different types, the type of the array is inferred as a union of the types of the passed arrays. <br />\n       * The following code ensures the correct types are assigned to the event and listener variables.\n       */\n      const event: UIEvent | undefined | FloatingUIVisibility = pair.find((e) => e instanceof UIEvent);\n      const listener: FloatingUIVisibility | undefined | UIEvent = pair.find(\n        (e) => e === FloatingUIVisibility.SHOW || e === FloatingUIVisibility.HIDE\n      );\n      if (event instanceof UIEvent) {\n        if (event.type === 'click') {\n          this.renderer.listen(this.trigger, event.type, this.toggleFloatingUI.bind(this));\n        } else if (event.type === 'mouseleave' && listener && listener === FloatingUIVisibility.HIDE) {\n          this.keepOnHover();\n        } else if (listener && listener === FloatingUIVisibility.SHOW) {\n          this.renderer.listen(this.trigger, event.type, this.showfloatingUI.bind(this));\n        } else if (listener && listener === FloatingUIVisibility.HIDE) {\n          this.renderer.listen(this.trigger, event.type, this.hidefloatingUI.bind(this));\n        }\n      }\n    });\n  }\n\n  // for keepOnHover\n  /** @ignore */\n  onTooltip = false;\n  /** @ignore */\n  onTrigger = false;\n\n  /**\n   * The keepOnHover method keeps the floating element visible when hovering over the trigger or the floating element.\n   */\n  keepOnHover() {\n    let offset = this.middleware.find((m: any) => m['name'] === 'offset') as any;\n    offset = this.hideOnHoverTimeout ? this.hideOnHoverTimeout : offset['options'] ? offset['options'] * 20 : 50;\n    this.renderer.listen(this.trigger, 'mouseleave', () => {\n      setTimeout(() => {\n        this.onTrigger = false;\n        if (!this.onTooltip) {\n          this.hidefloatingUI();\n        }\n      }, offset);\n    });\n    this.renderer.listen(this.trigger, 'mouseenter', () => {\n      this.onTrigger = true;\n    });\n\n    this.renderer.listen(this.floatingUI.nativeElement, 'mouseenter', () => {\n      this.onTooltip = true;\n    });\n    this.renderer.listen(this.floatingUI.nativeElement, 'mouseleave', () => {\n      setTimeout(() => {\n        this.onTooltip = false;\n        if (!this.onTrigger) {\n          this.hidefloatingUI();\n        }\n      }, offset);\n    });\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Injectable, Renderer2, RendererFactory2 } from '@angular/core';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { ListboxItemComponent } from '../listbox-item/listbox-item.component';\nimport {\n  DOWN_ARROW_KEY,\n  END_KEY,\n  ENTER_KEY,\n  HOME_KEY,\n  SPACE_CODE,\n  SPACE_KEY,\n  TAB_KEY,\n  UP_ARROW_KEY\n} from '../nova-lib.constants';\nimport { NovaLibService } from '../nova-lib.service';\nimport { ListboxDirective } from './listbox.directive';\n\n/**\n * Service used to create listbox behavior. Some functions are used within listbox component, others are optional additions.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class ListboxService {\n  constructor(\n    private rendererFactory: RendererFactory2,\n    private novaLibService: NovaLibService,\n    private appReadyService: AppReadyService\n  ) {\n    this.renderer = rendererFactory.createRenderer(null, null);\n  }\n  /** @ignore */\n  private renderer: Renderer2;\n  /** @ignore */\n  listbox: ListboxDirective;\n\n  /**\n   * The setUpListbox method configures the listbox with the expected keyboard behaviors and sets the aria-activedescendant attribute. <br>\n   * This method is called by default within <code>ListboxDirective</code>.\n   * @param listbox Listbox to set up.\n   */\n  setUpListbox(listbox: ListboxDirective) {\n    this.listbox = listbox;\n    this.listenForActiveIndex(listbox);\n    this.novaLibService.addArrowKeyNavigation(listbox.listItems.toArray(), true);\n    this.addShortcuts(listbox);\n  }\n\n  /**\n   * The listenForActiveIndex method sets the <code>aria-activedescendant</code> attribute of the listbox to the ID of the active listbox item and is called by default within <code>setUpListbox</code>.\n   * @param listbox Listbox to listen to for active index.\n   */\n  listenForActiveIndex(listbox: ListboxDirective) {\n    listbox.listItems.forEach((item) => {\n      this.renderer.listen(item.el.nativeElement, 'focus', (event) => {\n        listbox.ariaActiveDescendant.set(item.id);\n      });\n    });\n  }\n\n  /**\n   * The scrollItemIntoView method scrolls given item to top of listbox. <br>\n   * It’s called by default in <code>ListBoxDirective</code> unless <code>customScrollControl</code> is present. <br>\n   * This method can also call to scroll to a custom index. By default it will scroll to the first active item, but you can provide a specific item if desired.\n   * @param listbox Listbox to scroll.\n   * @param indexToScrollTo Optional specific index to scroll to top (othwerwise, scrolls to first active item).\n   */\n  scrollItemIntoView(listbox: ListboxDirective, indexToScrollTo?: number): void {\n    const targetItem: ListboxItemComponent | undefined =\n      indexToScrollTo || indexToScrollTo === 0\n        ? listbox.listItems.toArray()[indexToScrollTo]\n        : listbox.multiselect\n          ? listbox.listItems\n              .toArray()\n              .reverse()\n              .find((item) => item.active)\n          : listbox.listItems.toArray().find((item) => item.active);\n\n    if (targetItem && this.appReadyService.isBrowserAndDomAvailable()) {\n      if (!listbox._listboxScrollStylesSet) {\n        // gather variable information\n        listbox._listboxHeight = listbox.el.nativeElement.offsetHeight;\n        listbox._listboxItemHeight = listbox.listItems.toArray()[0].el.nativeElement.offsetHeight;\n        listbox._listboxGap = parseInt(window.getComputedStyle(listbox.el.nativeElement).gap, 10);\n        listbox._listboxGap = isNaN(listbox._listboxGap) ? 4 : listbox._listboxGap;\n      }\n\n      let amountScrolledAlready = listbox.el.nativeElement.scrollTop;\n      // determine distance between top of listbox and active item\n      this.renderer.setStyle(listbox.el.nativeElement, 'position', 'relative'); // set position to relative to allow for correct offsetTop of item\n      const fullItemDistanceFromTop = targetItem.el.nativeElement.offsetTop + listbox._listboxItemHeight;\n\n      // if item is in the top view of the listbox..\n      if (fullItemDistanceFromTop < listbox._listboxHeight) {\n        if (!amountScrolledAlready) {\n          return; // do nothing, item is in view (user hasn't scrolled)\n        } else {\n          // scroll to top of listbox (where item is)\n          listbox.el.nativeElement.scrollTo(0, 0);\n        }\n      } else if (\n        /**\n         * Do nothing if the item is between the amount already scrolled and the bottom of the listbox\n         * ie it is in view and the user has scrolled\n         */\n        amountScrolledAlready &&\n        fullItemDistanceFromTop < listbox._listboxHeight + amountScrolledAlready &&\n        fullItemDistanceFromTop > amountScrolledAlready\n      ) {\n        return;\n      } else {\n        // either scroll to top of listbox or scroll item to top\n        listbox.el.nativeElement.scrollBy({\n          top: fullItemDistanceFromTop - listbox._listboxGap - amountScrolledAlready - listbox._listboxItemHeight\n        });\n      }\n    }\n  }\n\n  /**\n   * Select all items between currently focused item and closest selected item.\n   * @param items List of items that contains the items you want to select.\n   * @param index Index of the focused item.\n   */\n  selectFromCloserSelectedToFocused(items: ListboxItemComponent[], index: number) {\n    let [left, right] = [index, index];\n    while (left !== 0 || right !== items.length - 1) {\n      if (items[left]['active'] || items[right]['active']) break;\n      if (left !== 0) left--;\n      if (right !== items.length - 1) right++;\n    }\n    this.novaLibService.selectItems(items, items[left]['active'] ? left : index, items[left]['active'] ? index : right);\n  }\n\n  /* ======= KEYBOARD SHORTCUTS ======= */\n\n  /**\n   * The addShortcuts method adds keyboard shortcuts to the listbox and is called by default within <code>setUpListbox</code>.\n   * @param listbox Listbox to add shortcuts to.\n   */\n  addShortcuts(listbox: ListboxDirective) {\n    this.renderer.listen(listbox.el.nativeElement, 'keydown', (event) => {\n      this.handleKeyDown(event, listbox);\n    });\n    this.renderer.listen(listbox.el.nativeElement, 'keyup', (event) => {\n      this.handleKeyUp(event, listbox);\n    });\n  }\n\n  /**\n   * The handleKeyup method handles item selection on keyup events for the listbox and is called by default within <code>addShortcuts</code>.\n   * @param event Keyup event\n   * @param listbox Listbox to handle keyup event for.\n   */\n  handleKeyUp(event: KeyboardEvent, listbox: ListboxDirective) {\n    if (!listbox._isRoleListboxVariant) return;\n    if (event.key === ENTER_KEY || event.key === SPACE_KEY || event.key === HOME_KEY || event.key === END_KEY) {\n      event.preventDefault(); // prevent scrolling\n      if (event.key === SPACE_KEY) {\n        listbox._recentSelectedIndex = listbox._highlightIndex;\n      }\n    }\n  }\n\n  /**\n   * The handleKeydown handles keydown events for the listbox and is called by default within <code>addShortcuts</code>.\n   * @param event Keydown event\n   * @param listbox Listbox to handle keyup event for.\n   */\n  handleKeyDown(event: KeyboardEvent, listbox: ListboxDirective) {\n    if (!listbox._isRoleListboxVariant) return;\n    listbox._isHotkeyEvent = true;\n    if (event.key !== TAB_KEY) {\n      event.preventDefault();\n    }\n\n    /**\n     * Meta + Shift + Home or End\n     * Select the focused option and all options up/down to the first option\n     * &\n     * Home or End\n     * Move the focus to the first/last listbox option\n     */\n    if (event.key === HOME_KEY || event.key === END_KEY) this.updateFocusItem(event, listbox);\n\n    /**\n     * A-Z OR a-z\n     * Typing a character will move the focus to the next item with a name that starts with that character\n     * Typing in rapid succession moves the focus to the next item with a name that reflectes the set of characters just typed\n     */\n    if (\n      !event.metaKey &&\n      event.key.length === 1 &&\n      ((event.key >= 'a' && event.key <= 'z') ||\n        (event.key >= 'A' && event.key <= 'Z') ||\n        (event.key >= '0' && event.key <= '9'))\n    )\n      this.searchKeyword(event, listbox);\n\n    /**\n     * Shift + ↑/↓\n     * Move the focus to and toggle the selected state of the next/previous option\n     */\n    if (event.key === UP_ARROW_KEY || event.key === DOWN_ARROW_KEY) this.toggleSelectedState(event, listbox);\n\n    /**\n     * Meta + A\n     * Select all or deselect all items\n     */\n    if (event.metaKey && (event.key === 'A' || event.key === 'a') && listbox.multiselect) this.selectAll(listbox);\n\n    /**\n     * Shift + Space\n     * Select contiguous items from the most recently selected item to ths focused item\n     */\n    if (event.code === SPACE_CODE && event.shiftKey === true) this.selectContiguousItems(listbox);\n    listbox._isHotkeyEvent = false;\n  }\n\n  /**\n   * The updateFocusItem method  is activated by Meta + Shift + Home/End and selects all items between the focused item and the first or last item, then sets focus to the first or last item. <br>\n   * This method is called by default within <code>handleKeyDown</code>.\n   * @param event Keyboard event\n   * @param listbox Listbox to update focus item for.\n   */\n  updateFocusItem(event: KeyboardEvent, listbox: ListboxDirective) {\n    const listItemsArray = listbox.listItems.toArray();\n    if (event.metaKey && event.shiftKey && listbox.multiselect) {\n      listItemsArray.forEach((item, i) => {\n        if (listbox._highlightIndex !== null && item.disabled !== true) {\n          if (event.key === HOME_KEY) listbox._highlightIndex >= i ? (item.active = true) : (item.active = false);\n          if (event.key === END_KEY) listbox._highlightIndex <= i ? (item.active = true) : (item.active = false);\n        }\n      });\n    }\n    listbox._highlightIndex =\n      event.key === HOME_KEY\n        ? this.novaLibService.firstEnabledItem(listItemsArray)\n        : this.novaLibService.lastEnabledItem(listItemsArray);\n    listbox.updateValueFromItems();\n    listItemsArray[listbox._highlightIndex].el.nativeElement.focus();\n  }\n\n  /**\n   * The searchKeyword method  handles keys A-Z, a-z, and 0-9, moving the focus to the next item with a name starting with the typed character. <br>\n   * In the case of rapid succession, it moves the focus to the next item whose name matches the sequence of characters typed. <br />\n   * This method is called by default within <code>handleKeyDown</code>.\n   * @param event Keyboard event\n   * @param listbox Listbox to search for items in.\n   */\n  searchKeyword(event: KeyboardEvent, listbox: ListboxDirective) {\n    const listItemsArray = listbox.listItems.toArray();\n    listbox._keyword = listbox._keyword + event.key.toLowerCase();\n    clearTimeout(listbox._timeoutId);\n    const bounce = window.setTimeout(() => {\n      if (listbox._keyword !== '') {\n        listbox._keyword = '';\n      }\n    }, 1000);\n    listbox._timeoutId = bounce;\n    const selectedIndex = listItemsArray.findIndex((item) =>\n      item.el.nativeElement.innerText?.toLowerCase().includes(listbox._keyword)\n    );\n\n    if (selectedIndex >= 0 && !listItemsArray[selectedIndex].disabled) {\n      listItemsArray[selectedIndex].el.nativeElement.focus();\n      listbox._highlightIndex = selectedIndex;\n    }\n  }\n\n  /**\n   * The selectAll method is activated by the Meta + A keys and selects or deselects all items in the listbox. <br>\n   * This method is called by default within <code>handleKeyDown</code>.\n   * @param listbox Listbox to select all items in.\n   */\n  selectAll(listbox: ListboxDirective) {\n    if (listbox.multiselect) {\n      const listItemsArray = listbox.listItems.toArray();\n      this.novaLibService.detectAllItemsSelected(listItemsArray)\n        ? this.novaLibService.deselectItems(listItemsArray)\n        : this.novaLibService.selectItems(listItemsArray);\n    }\n  }\n\n  /**\n   * The selectFromCloserSelectedToFocused method selects all items between the currently focused item and the closest selected item. <br>\n   * This method is called by default within <code>handleKeyDown</code>.\n   * @param index Index of the focused item.\n   */\n  selectContiguousItems(listbox: ListboxDirective) {\n    if (listbox._highlightIndex !== null && listbox._recentSelectedIndex !== null) {\n      const listItemsArray = listbox.listItems.toArray();\n      const isRecentLarger = listbox._recentSelectedIndex > listbox._highlightIndex;\n      this.novaLibService.selectItems(\n        listItemsArray,\n        isRecentLarger ? listbox._highlightIndex : listbox._recentSelectedIndex,\n        isRecentLarger ? listbox._recentSelectedIndex : listbox._highlightIndex\n      );\n      listbox.updateValueFromItems();\n    }\n  }\n\n  /**\n   * The toggleSelectedState method is activated by Shift + ↑/↓ and moves the focus to, and toggles the selected state of, the next or previous option. <br>\n   * This method is called by default within <code>handleKeyDown</code>.\n   * @param event Keyboard event\n   * @param listbox Listbox to toggle selected state for.\n   */\n  toggleSelectedState(event: KeyboardEvent, listbox: ListboxDirective) {\n    const listItemsArray = listbox.listItems.toArray();\n    if (event.shiftKey === true && listbox.multiselect && listbox._highlightIndex !== null) {\n      if (listItemsArray[listbox._highlightIndex].active) {\n        this.novaLibService.deselectItem(listItemsArray, listbox._highlightIndex);\n      } else {\n        this.novaLibService.selectItem(listItemsArray, listbox._highlightIndex);\n        listbox._recentSelectedIndex = listbox._highlightIndex;\n      }\n      listbox.updateValueFromItems();\n    }\n    listbox._highlightIndex =\n      event.key === UP_ARROW_KEY\n        ? this.novaLibService.previousEnabledItem(listItemsArray, listbox._highlightIndex!)\n        : this.novaLibService.nextEnabledItem(listItemsArray, listbox._highlightIndex!);\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, NumberInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  Output,\n  QueryList,\n  WritableSignal,\n  forwardRef,\n  signal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { ListboxItemComponent } from '../listbox-item/listbox-item.component';\nimport { NovaLibService } from '../nova-lib.service';\nimport { ListboxService } from './listbox.service';\n\n@Directive({\n  standalone: true,\n  selector: '[v-listbox] ',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ListboxDirective),\n      multi: true\n    }\n  ]\n})\nexport class ListboxDirective implements ControlValueAccessor, AfterContentInit {\n  @ContentChildren(ListboxItemComponent) listItems: QueryList<ListboxItemComponent>;\n  _isRoleListboxVariant = signal(false);\n  _childrenDisabled = false;\n  _childrenInvalid = false;\n  _internalValue: (string | number)[] | string | number | null;\n  _inCombobox = false;\n\n  // used in service\n  _listboxHeight: number;\n  _listboxItemHeight: number;\n  _listboxGap: number;\n  _listboxScrollStylesSet: boolean = false;\n\n  _keyword: String = '';\n  _highlightIndex: number | null = null;\n  _isHotkeyEvent: Boolean = false;\n  _recentSelectedIndex: number | null = null;\n  _timeoutId: number = 0;\n  ariaActiveDescendant: WritableSignal<string | null> = signal(null);\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-listbox\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-listbox', this.containHeight ? 'v-listbox-scroll' : ''].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-listbox-')\n   * @builtin true\n   */\n  @Input()\n  id: string = this.uuidService.getUUID('v-listbox-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Sets listbox to multiselect variant when true.\n   * @default false\n   */\n  @Input()\n  get multiselect(): boolean {\n    return this._multiselect;\n  }\n  set multiselect(value: BooleanInput) {\n    this._multiselect = coerceBooleanProperty(value);\n  }\n  _multiselect: boolean = false;\n\n  /**\n   * Sets component and any ListboxItemComponent children as disabled when true. <br>\n   * Will automatically become true if all children are disabled.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    if (this.listItems && this.disabled !== this._childrenDisabled) this.setChildrenDisabled();\n    this.informState();\n  }\n  _disabled: boolean = false;\n  /** Fires when a formControl's disabled state updates  */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    if (this.listItems && this.disabled !== this._childrenDisabled) this.setChildrenDisabled();\n    this.informState();\n  }\n\n  /**\n   * Sets component and any ListboxItemComponent children as invalid when true. <br>\n   * Will automatically become true if any child is invalid.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n    if (this.listItems && this.invalid !== this._childrenInvalid) this.setChildrenInvalid();\n    this.informState();\n  }\n  _invalid: boolean = false;\n\n  /**\n   * Marks component as required when true.\n   * @default false\n   */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n    this.informState();\n  }\n  _required: boolean = false;\n\n  /**\n   * Sets custom role.\n   * @default 'group' if no child list item contains a child radio or checkbox.\n   * @default not present if any child list item contains a child radio or checkbox.\n   * @builtin true\n   */\n  @Input() role: string;\n  @HostBinding('attr.role')\n  get hostRole(): string {\n    if (this._isRoleListboxVariant() && !this.role) {\n      this.role = 'group';\n    }\n    return this.role;\n  }\n\n  /**\n   * Sets CSS variable <code>--v-listbox-block-size-scroll</code>. <br />\n   * If true, the default 180px will be the listbox's <code>max-block-size</code>. <br />\n   * If set to a number or string representing a number (ie <code>[containHeight]=\"250\"</code>), the variable will be set to that amount of pixels.\n   */\n  @Input()\n  get containHeight(): NumberInput | BooleanInput {\n    return this._containHeight;\n  }\n  set containHeight(value: NumberInput | BooleanInput) {\n    if (value && value !== true) {\n      this._containHeight = value;\n    } else {\n      this._containHeight = coerceBooleanProperty(value);\n    }\n  }\n  _containHeight: NumberInput | BooleanInput;\n  @HostBinding('style.--v-listbox-block-size-scroll')\n  get scrollHeight(): NumberInput | void | boolean {\n    if (this.containHeight && this.containHeight !== true) {\n      return parseInt(this.containHeight.toString()) + 'px'; // allows \"250\" or \"250px\" for example\n    }\n  }\n\n  /**\n   * Value of listbox.\n   */\n  @Input()\n  get value() {\n    return this._value;\n  }\n  set value(value: (string | number)[] | string | number | null) {\n    this.setValue(value);\n  }\n\n  // keep val for backwards compatibility\n  get val() {\n    return this._value;\n  }\n  set val(value: (string | number)[] | string | number | null) {\n    this.setValue(value);\n  }\n\n  setValue(value: (string | number)[] | string | number | null) {\n    this._value = value;\n\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.el.nativeElement.value = value;\n    }\n\n    if (this.listItems && this._internalValue !== value) {\n      if (Array.isArray(value)) {\n        // multiselect\n        this.listItems\n          .filter((item) => value?.includes(item.value))\n          .forEach((item) => {\n            item.active = true;\n          });\n      } else if (value) {\n        // single select\n        const selectedItem = this.listItems.find((item) => item.value === value);\n        if (selectedItem) selectedItem.active = true;\n      }\n      this._internalValue = value;\n    }\n    if (!value || (this.multiselect && Array.isArray(value) && value.length === 0)) {\n      // reset items\n      this.resetListbox();\n    }\n    this.valueUpdated.emit(this.value);\n    this.onChange(value);\n  }\n  _value: string | number | (string | number)[] | null;\n\n  /**\n   * Overrides default scroll control behavior. <br />\n   * By default the listbox will scroll to the last selected item.\n   * @default false\n   */\n  @Input()\n  get customScrollControl(): boolean {\n    return this._customScrollControl;\n  }\n  set customScrollControl(value: BooleanInput) {\n    this._customScrollControl = coerceBooleanProperty(value);\n  }\n  _customScrollControl: boolean = false;\n\n  /**\n   * Emits disabled, invalid, and required state of input when updated.\n   */\n  @Output() communicateState = new EventEmitter<any>();\n\n  /**\n   * Emits new listbox value.\n   */\n  @Output() valueUpdated = new EventEmitter<any>();\n\n  constructor(\n    private uuidService: UUIDService,\n    private novaLibService: NovaLibService,\n    private listboxService: ListboxService,\n    private cdRef: ChangeDetectorRef,\n    public el: ElementRef,\n    private appReadyService: AppReadyService\n  ) {}\n\n  @HostListener('focus', ['$event'])\n  handleFocus(event: Event) {\n    this.onTouched(event);\n  }\n  @HostListener('blur', ['$event'])\n  handleBlur(event: Event) {}\n\n  ngAfterContentInit(): void {\n    if (this.listItems) {\n      this.setUpListbox();\n      this.listItems.changes.subscribe(() => {\n        this.setUpListbox();\n      });\n    }\n  }\n\n  setUpListbox() {\n    if (this.disabled) {\n      // if listbox disabled is true, disable all items\n      this.setChildrenDisabled();\n    } else if (\n      // if all items are disabled, set listbox disabled to true\n      this.listItems.length > 0 &&\n      this.listItems.toArray().length === this.listItems.toArray().filter((item) => item.disabled).length\n    ) {\n      this._childrenDisabled = true;\n      this.disabled = true;\n    } else {\n      this._childrenDisabled = false;\n      this.disabled = false;\n    }\n    if (this.invalid) {\n      // if listbox invalid is true, set children as invalid\n      this.setChildrenInvalid();\n    } else if (this.listItems.find((item) => item.invalid)) {\n      // if any item is invalid, set invalid class\n      this._childrenInvalid = true;\n      this.invalid = true;\n    } else {\n      this._childrenInvalid = false;\n      this.invalid = false;\n    }\n    this._invalid = this.listItems.find((item) => item.invalid) ? true : false;\n\n    this.addListItemSubscriptions();\n    this.setInitialValue();\n\n    // if standard listbox and not in combobox, add arrow key navigation\n    if (this._isRoleListboxVariant() && !this._inCombobox) {\n      this.listboxService.setUpListbox(this);\n    }\n\n    if (!this.customScrollControl) {\n      setTimeout(() => {\n        this.listboxService.scrollItemIntoView(this);\n      }, 500); // on initial load, extra time is needed for getComputedStyle\n    }\n  }\n\n  setInitialValue() {\n    if (\n      /**\n       * If value is an array, make sure the array is not empty\n       * If value is not an array, make sure value exists.\n       * This check ensures the function isn't called when value = []\n       */\n      (this.multiselect && Array.isArray(this.value) && this.value.length > 0) ||\n      (!this.multiselect && this.value)\n    ) {\n      this.updateItemsFromValue();\n    } else {\n      // if no value is given, find any active items and set value to those\n      this.updateValueFromItems();\n    }\n    this.cdRef.detectChanges();\n  }\n\n  addListItemSubscriptions() {\n    this.listItems.forEach((item, index) => {\n      item.onFocus.subscribe((event: FocusEvent) => {\n        if (this._highlightIndex === null)\n          this._highlightIndex = this.novaLibService.firstEnabledItem(this.listItems.toArray());\n      });\n      // subscribe to changes in disabled and invalid\n      item._disabledEmitter.subscribe(() => {\n        // if ALL children are disabled, entire listbox is disabled\n        if (this.listItems.toArray().length === this.listItems.filter((item) => item.disabled).length) {\n          this._childrenDisabled = true;\n          this.disabled = true;\n        } else {\n          this._childrenDisabled = false;\n          this.disabled = false;\n        }\n      });\n      item._invalidEmitter.subscribe(() => {\n        // if ANY child is invalid, listbox shows as invalid\n        if (this.listItems.find((item) => item.invalid)) {\n          this._childrenInvalid = true;\n          this.invalid = true;\n        } else {\n          this._childrenInvalid = false;\n          this.invalid = false;\n        }\n      });\n      // if standard listbox, add role=\"listbox\" and change underlying class to radio or checkbox accordingly\n      if (item._isRoleOptionVariant) {\n        if (!this._isRoleListboxVariant()) this._isRoleListboxVariant.set(true);\n        item._multi = this.multiselect;\n        item.index = index;\n        // subscribe to when item is selected or clicked\n        item.itemChanged.subscribe((isSelected) => {\n          if (index !== item.index) return; // subscription is still being triggered for old rendered item\n          this.novaLibService.deselectItems(this.listItems.toArray(), index, 'highlighted');\n\n          if (!this.multiselect && isSelected) {\n            this.novaLibService.deselectItems(this.listItems.toArray(), index);\n            this.updateValueFromItems();\n          } else if (this.multiselect) {\n            // not calling update value because we need to maintain order\n            if (isSelected) {\n              if (Array.isArray(this.value)) {\n                if (!this.value.includes(item.value)) this.value = [...this.value, item.value];\n              } else {\n                this.value = [item.value];\n              }\n            } else {\n              if (Array.isArray(this.value)) {\n                this.value = this.value.filter((val) => val !== item.value);\n              } else {\n                this.value = [];\n              }\n            }\n            // set aria-activedescendant to first value\n            this.ariaActiveDescendant.set(this.listItems.find((item) => item.active)?.id || null);\n          }\n\n          // Update highlight index if indexes do not match and click event is not triggered by hot key\n          // Used for click event\n          if (this._highlightIndex !== index && !this._isHotkeyEvent) {\n            this._highlightIndex = index;\n            // item.highlighted = true;\n            this._recentSelectedIndex = item.index;\n          }\n        });\n        this.cdRef.detectChanges();\n      }\n    });\n  }\n\n  // value is given, update items so active items reflect listbox value\n  updateItemsFromValue() {\n    if (this.multiselect && Array.isArray(this.value) && this.value.length > 0) {\n      // if value is an array, select all items that match the value\n      this.listItems\n        .filter((item) => (this.value as (string | number)[]).includes(item.value))\n        .forEach((item) => {\n          item.active = true;\n        });\n    } else if (!this.multiselect && this.value) {\n      // if item is string, select item that matches the value\n      this.listItems\n        .filter((item) => this.value === item.value)\n        .forEach((item) => {\n          item.active = true;\n        });\n    }\n\n    // set aria-activedescendant to first value\n    this.ariaActiveDescendant.set(this.listItems.find((item) => item.active)?.id || null);\n  }\n\n  // no value is given, update value so it reflects active items\n  updateValueFromItems() {\n    // if multiselect, return value in array\n    if (this.multiselect) {\n      this.value = this.listItems.filter((item) => item.active).map((item) => item.value);\n    } else {\n      // if single select, return single value\n      this.value = this.listItems.find((item) => item.active)?.value || null;\n    }\n\n    // set aria-activedescendant to first value\n    this.ariaActiveDescendant.set(this.listItems.find((item) => item.active)?.id || null);\n  }\n\n  setChildrenDisabled() {\n    this.listItems.forEach((item) =>\n      item.checkbox\n        ? (item.checkbox.disabled = this.disabled)\n        : item.radio\n          ? (item.radio.disabled = this.disabled)\n          : (item.disabled = this.disabled)\n    );\n    this._childrenDisabled = this.listItems.toArray().length === this.listItems.filter((item) => item.disabled).length;\n  }\n\n  setChildrenInvalid() {\n    this.listItems.forEach((item) =>\n      item.checkbox\n        ? (item.checkbox.invalid = this.invalid)\n        : item.radio\n          ? (item.radio.invalid = this.invalid)\n          : (item.invalid = this.invalid)\n    );\n    this._childrenInvalid = this.listItems.some((item) => item.invalid);\n  }\n\n  onChange = (_: any) => {};\n\n  onTouched = (_: any) => {};\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: any): void {\n    this.value = value;\n  }\n\n  resetListbox() {\n    if (this.listItems?.find((item) => item.active)) {\n      // reset items\n      this.novaLibService.deselectItems(this.listItems.toArray());\n    }\n    this.ariaActiveDescendant.set(null);\n  }\n\n  informState() {\n    this.communicateState.emit({\n      disabled: this.disabled,\n      invalid: this.invalid,\n      required: this.required\n    });\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { ContentChild, Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { TooltipArrowDirective } from '../arrow/arrow.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-tooltip], '\n})\nexport class TooltipDirective {\n  @ContentChild(TooltipArrowDirective) arrow: TooltipArrowDirective;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-tooltip.v-surface\n   */\n  @Input() class: string = 'v-tooltip v-surface'; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets custom ID.\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Sets custom display when tooltip is visible. Initial display is set to none to hide tooltip.\n   * @builtin true\n   */\n  @Input()\n  get display(): string {\n    return this._display;\n  }\n  set display(value: string) {\n    this._display = value;\n  }\n  _display: string;\n  @HostBinding('style.display')\n  get hostInitialDisplay(): string {\n    return 'none';\n  }\n\n  @HostBinding('style.z-index')\n  get hostZIndex(): string {\n    return '700';\n  }\n\n  @HostBinding('attr.role')\n  get hostRole(): string {\n    return 'tooltip';\n  }\n\n  constructor(public el: ElementRef) {} // ElementRef needed for floating-ui-container\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ContentChild,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  Output,\n  QueryList,\n  Renderer2\n} from '@angular/core';\nimport { Middleware } from '@floating-ui/dom';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { AccordionHeadingDirective } from '../accordion-heading/accordion-heading.directive';\nimport { ButtonDirective } from '../button/button.directive';\nimport { TabItemDisclosureDirective } from '../disclosure-tab-item/disclosure-tab-item.directive';\nimport { DropdownItemDirective } from '../dropdown-item/dropdown-item.directive';\nimport { DropdownListDirective } from '../dropdown-list/dropdown-list.directive';\nimport { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\nimport { FloatingUIElementDirective } from '../floating-ui-element/floating-ui-element.directive';\nimport { FloatingUITriggerDirective } from '../floating-ui-trigger/floating-ui-trigger.directive';\nimport {\n  FloatingUIPlacements,\n  FloatingUIVisibility,\n  UIEventVisibilityPair\n} from '../floating-ui/floating-ui.constants';\nimport { FloatingUIService } from '../floating-ui/floating-ui.service';\nimport { IconToggleComponent } from '../icon-toggle/icon-toggle.component';\nimport { IconToggleDirective } from '../icon-toggle/icon-toggle.directive';\nimport { ListboxItemComponent } from '../listbox-item/listbox-item.component';\nimport { ListboxDirective } from '../listbox/listbox.directive';\nimport { NovaLibService } from '../nova-lib.service';\nimport { TooltipDirective } from '../tooltip/tooltip.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-floating-ui-container], [v-combobox]',\n  providers: [FloatingUIService]\n})\nexport class FloatingUIContainer implements AfterContentInit {\n  @ContentChildren(FloatingUIContainer, { descendants: true }) containers: QueryList<FloatingUIContainer>;\n  @ContentChildren(TabItemDisclosureDirective, { descendants: true })\n  disclosureTabs: QueryList<TabItemDisclosureDirective>;\n  @ContentChild(DropdownMenuDirective) menu: DropdownMenuDirective;\n  @ContentChild(TooltipDirective) tooltip: TooltipDirective;\n  @ContentChild(FloatingUIElementDirective)\n  genericDropdown: FloatingUIElementDirective;\n  @ContentChild(FloatingUITriggerDirective) trigger: FloatingUITriggerDirective;\n  @ContentChild(IconToggleDirective) toggleIcon: IconToggleDirective;\n  @ContentChild(IconToggleComponent) toggleIconComponent: IconToggleComponent;\n  @ContentChild(ListboxDirective) listbox: ListboxDirective;\n  @ContentChildren(ButtonDirective, { descendants: true }) buttons: QueryList<ButtonDirective>;\n  @ContentChildren(DropdownListDirective, { descendants: true }) dropdownItems: QueryList<DropdownItemDirective>;\n  @ContentChildren(AccordionHeadingDirective, { descendants: true }) accordionHeadings: QueryList<AccordionHeadingDirective>;\n\n  _isCombobox: boolean = false;\n  dropdownMenuShown: boolean;\n  _tooltipDefaultEvents: UIEventVisibilityPair = [\n    [new UIEvent('mouseenter'), FloatingUIVisibility.SHOW],\n    [new UIEvent('mouseleave'), FloatingUIVisibility.HIDE],\n    [new UIEvent('focus'), FloatingUIVisibility.SHOW],\n    [new UIEvent('blur'), FloatingUIVisibility.HIDE]\n  ];\n  _dropdownMenuDefaultEvents: UIEventVisibilityPair = [[new UIEvent('click')]];\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input()\n  public get class(): string {\n    return this._class;\n  }\n  public set class(value: string) {\n    this._class = value;\n  }\n  _class: string = ''; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return this.class;\n  }\n\n  /** @ignore */\n  @Input()\n  get isShown(): boolean {\n    return this._isShown;\n  }\n  set isShown(value: BooleanInput) {\n    this._isShown = coerceBooleanProperty(value);\n  }\n  _isShown: boolean = false;\n\n  /**\n   * Placement of floating content relevant to triggering element.\n   * @default FloatingUIPlacements.BOTTOM_START\n   * @see 'FloatingUIPlacements'.\n   */\n  @Input()\n  get placement(): FloatingUIPlacements {\n    return this._placement;\n  }\n  set placement(value: FloatingUIPlacements) {\n    this._placement = value;\n  }\n  _placement: FloatingUIPlacements = FloatingUIPlacements.BOTTOM_START;\n\n  /**\n   * Middleware for FloatingUIService.\n   * @default [ offset(2), flip(), shift() ] for tooltip <br />\n   * @default [ offset(0), flip(), shift() ] for combobox <br />\n   * @see [Floating UI](https://floating-ui.com/docs/middleware) for options.\n   */\n  @Input()\n  get middleware(): Middleware[] {\n    return this._middleware;\n  }\n  set middleware(value: Middleware[]) {\n    this._middleware = value;\n  }\n  _middleware: Middleware[];\n\n  /**\n   * Events array for FloatingUIService. <br />\n   * This array specifies whether to show or hide the floating element on a given UIEvent. <br />\n   * This should be an array of [UIEvent, FloatingUIVisibility].\n   * @default [ [new UIEvent('mouseenter'), FloatingUIVisibility.SHOW], <br /> [new UIEvent('mouseleave'), FloatingUIVisibility.HIDE], <br /> [new UIEvent('focus'), FloatingUIVisibility.SHOW], <br /> [new UIEvent('blur'), FloatingUIVisibility.HIDE] <br />] for tooltip\n   * @default [ [new UIEvent('click')] ] for dropdown-menu and floating-ui-element\n   * @default [] Ie. events are removed for combobox.\n   */\n  @Input()\n  get eventsArray(): UIEventVisibilityPair {\n    return this._eventsArray;\n  }\n  set eventsArray(value: UIEventVisibilityPair) {\n    this._eventsArray = value;\n  }\n  _eventsArray: UIEventVisibilityPair;\n\n  /**\n   * Closes the menu on item is click/select when true. <br>\n   * If <code>multiselect</code> is set to <code>true</code>, it will not take effect.<br>\n   * @default true\n   */\n  @Input()\n  get closeOnClick(): boolean {\n    return this._closeOnClick;\n  }\n  set closeOnClick(value: BooleanInput) {\n    this._closeOnClick = coerceBooleanProperty(value);\n  }\n  _closeOnClick: boolean = true;\n\n  /**\n   * Emits whether or not the floating UI element is visible.\n   */\n  @Output() floatingUIToggled = new EventEmitter<boolean>();\n\n  // this is an angular-specific override. Spacing between dropdown-menu and button/trigger\n  // is handled within floating-ui.service\n  @HostBinding('style.--v-dropdown-menu-surface-margin-block-start')\n  get hostMarginBlockStart(): string {\n    return '0';\n  }\n\n  constructor(\n    public el: ElementRef,\n    public floatingUIService: FloatingUIService,\n    private uuidService: UUIDService,\n    public novaLibService: NovaLibService,\n    private renderer: Renderer2,\n    private appReadyService: AppReadyService\n  ) { }\n\n  @HostListener('document:click', ['$event'])\n  clickOut(event: Event) {\n    // listen for document click and close menu if click is outside of component\n    if (\n      this.appReadyService.isBrowserAndDomAvailable() &&\n      this.isShown &&\n      !this.el.nativeElement.contains(event.target)\n    ) {\n      this.floatingUIService.hidefloatingUI();\n    }\n  }\n\n  _tabPressed = false;\n  @HostListener('document:keydown', ['$event'])\n  tab(event: KeyboardEvent) {\n    if (event.key === 'Tab') {\n      // used in focusout function\n      this._tabPressed = true;\n    }\n  }\n\n  @HostListener('focusout', ['$event'])\n  focusout(event: FocusEvent) {\n    if (this._tabPressed) {\n      // if focus out is a result of tabbing out of this component, hide the floating UI\n      if (event.relatedTarget && !this.el.nativeElement.contains(event.relatedTarget)) {\n        this.floatingUIService.hidefloatingUI();\n      }\n      this._tabPressed = false;\n    }\n  }\n\n  ngAfterContentInit(): void {\n    let floatingElem: DropdownMenuDirective | TooltipDirective | FloatingUIElementDirective | null = null;\n    let _toggleIcon: IconToggleDirective;\n    let _toggleIconComponent: IconToggleComponent;\n    const toggleInChildContainer =\n      this.containers.some((container) => container.toggleIcon === this.toggleIcon) ||\n      this.disclosureTabs.some((tab) => tab.button.toggleIcon === this.toggleIcon) ||\n      this.accordionHeadings.some(\n        (heading) =>\n          heading.hostButton?.toggleIcon === this.toggleIcon || heading._buttonHeading?.toggleIcon === this.toggleIcon\n      );\n    const toggleComponentInChildContainer =\n      this.containers.some((container) => container.toggleIconComponent === this.toggleIconComponent) ||\n      this.disclosureTabs.some((tab) => tab.button.toggleIconComponent === this.toggleIconComponent) ||\n      this.accordionHeadings.some(\n        (heading) =>\n          heading.hostButton?.toggleIconComponent === this.toggleIconComponent ||\n          heading._buttonHeading?.toggleIconComponent === this.toggleIconComponent\n      );\n\n    if (this.toggleIcon && !toggleInChildContainer) {\n      _toggleIcon = this.toggleIcon;\n      _toggleIcon.icon.icon = this.isShown ? _toggleIcon.expandedIcon : _toggleIcon.collapsedIcon;\n    } else if (this.toggleIconComponent && !toggleComponentInChildContainer) {\n      _toggleIconComponent = this.toggleIconComponent;\n      _toggleIconComponent._floatingUIToggle = true;\n      _toggleIconComponent.rotated = this.isShown;\n    }\n\n    const tooltipInChildContainer = this.containers.some((container) => container.tooltip === this.tooltip);\n    const menuInChildContainer = this.containers.some((container) => container.menu === this.menu);\n    const dropdownInChildContainer = this.containers.some(\n      (container) => container.genericDropdown === this.genericDropdown\n    );\n\n    if (this.menu && !menuInChildContainer) {\n      floatingElem = this.menu;\n      this.renderer.setStyle(this.menu.el.nativeElement, 'position', 'absolute');\n      this.trigger._triggersDropdownMenu = true;\n      floatingElem.id = this.menu.id ? this.menu.id : this.uuidService.getUUID('v-floating-');\n      this.menu._isShown = this.isShown;\n      this.eventsArray = this.eventsArray ? this.eventsArray : this._dropdownMenuDefaultEvents;\n      this.setUpListItems();\n    } else if (this.tooltip && !tooltipInChildContainer) {\n      floatingElem = this.tooltip;\n      this.trigger._triggersTooltip = true;\n      this.eventsArray = this.eventsArray ? this.eventsArray : this._tooltipDefaultEvents;\n    } else if (this.genericDropdown && !dropdownInChildContainer) {\n      floatingElem = this.genericDropdown;\n      this.renderer.setStyle(this.genericDropdown.el.nativeElement, 'position', 'absolute');\n      this.eventsArray = this.eventsArray ? this.eventsArray : this._dropdownMenuDefaultEvents;\n      this.setUpListItems();\n    }\n\n    if (this.trigger?.el && floatingElem?.el) {\n      floatingElem.id = floatingElem.id ? floatingElem.id : this.uuidService.getUUID('v-floating-');\n      this.trigger._floatingElemID = floatingElem.id;\n      if (this.tooltip?.arrow) {\n        this.floatingUIService.customizeFloatingUI(\n          this.placement,\n          this.middleware,\n          this.tooltip.display || 'block',\n          this.tooltip.arrow\n        );\n      } else {\n        if (!this.middleware && this._isCombobox) {\n          this.middleware = this.floatingUIService.comboboxMiddleware;\n        }\n        this.floatingUIService.customizeFloatingUI(this.placement, this.middleware);\n      }\n      this.floatingUIService.setUpfloatingUI(this.trigger.el, floatingElem.el, this.eventsArray);\n    }\n\n    this.floatingUIService.isShownEmitter.subscribe((isShown) => {\n      if (this.trigger) this.trigger._isShown = isShown;\n      if (this.menu) this.menu._isShown = isShown;\n\n      if (this.accordionHeadings.length === 0) {\n        if (_toggleIcon) {\n          _toggleIcon.icon.icon = isShown ? _toggleIcon.expandedIcon : _toggleIcon.collapsedIcon;\n        } else if (_toggleIconComponent) {\n          _toggleIconComponent.rotated = isShown;\n        }\n      }\n      this.isShown = isShown;\n      this.floatingUIToggled.emit(isShown);\n    });\n  }\n\n  setUpListItems() {\n    const isMultiSelect = this.listbox?.multiselect ? true : false;\n    if (this.closeOnClick && !isMultiSelect) {\n      if (this.menu) {\n        // this is for v-dropdown-menu\n        let children;\n        if (this.dropdownItems.length > 0) {\n          // using dropdownItems\n          children = this.dropdownItems.length > 0 ? this.dropdownItems : null;\n          if (children) {\n            children.forEach((item) => {\n              if (!item.el.nativeElement.disabled) {\n                this.renderer.listen(item.el.nativeElement, 'click', (event) => {\n                  this.floatingUIService.hidefloatingUI();\n                });\n              }\n            });\n          }\n        } else {\n          // not using dropdownItems, gather all children, for buttons, disregard the triggering button\n          children =\n            this.buttons.length > 1 ? this.buttons : this.listbox?.listItems.length > 0 ? this.listbox.listItems : null;\n\n          if (children) {\n            children.forEach((child: ButtonDirective | ListboxItemComponent) => {\n              // don't call for the trigger button\n              if (child.el.nativeElement === this.trigger?.el.nativeElement) return;\n              child.clicked.subscribe(() => {\n                this.floatingUIService.hidefloatingUI();\n              });\n            });\n          }\n        }\n      } else if (this.listbox) {\n        // this is for v-combobox\n        this.listItemClose();\n        this.listbox.listItems.changes.subscribe(() => {\n          this.listItemClose();\n        });\n      }\n    }\n  }\n\n  listItemClose() {\n    this.listbox.listItems.forEach((item) => {\n      item.clicked.subscribe(() => {\n        this.floatingUIService.hidefloatingUI();\n      });\n    });\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, Input, HostBinding } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-input-message] '\n})\nexport class InputMessageDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-input-message\n   */\n  @Input() class: string = 'v-input-message';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return this.class;\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  HostListener,\n  Input,\n  Output,\n  forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { SPACE_KEY } from '../nova-lib.constants';\nimport { BaseInteractiveDirective } from '../_utilities/angular-specific-directives/base-interactive.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-input]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => InputDirective),\n      multi: true\n    }\n  ]\n})\nexport class InputDirective extends BaseInteractiveDirective implements ControlValueAccessor {\n  _inCombobox = false;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-input\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-input', this.otp ? 'v-input-otp' : '', this.noResize ? 'v-input-resize-none' : ''].join(\n      ' '\n    );\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-input-')\n   * @builtin true\n   */\n  @Input()\n  id: string = this.uuidService.getUUID('v-input-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Sets custom role.\n   * @default null\n   * @default 'combobox' when input is used within combobox and no custom role is provided.\n   * @builtin true\n   */\n  @Input()\n  get role(): string {\n    return this._role;\n  }\n  set role(value: string) {\n    this._role = value;\n  }\n  _role: string;\n  @HostBinding('attr.role')\n  get hostRole(): string {\n    return this.role;\n  }\n\n  /**\n   * Sets input as readonly when true.\n   * @default false\n   */\n  @Input()\n  get readonly(): boolean {\n    return this._readonly;\n  }\n  set readonly(value: BooleanInput) {\n    this._readonly = coerceBooleanProperty(value);\n    this.informState();\n  }\n  _readonly: boolean = false;\n  @HostBinding('readonly')\n  get hostReadonly() {\n    return this.readonly ? 'readonly' : null;\n  }\n\n  /**\n   * Sets component as disabled when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    this.informState();\n  }\n  _disabled: boolean = false;\n  @HostBinding('disabled')\n  get hostDisabled() {\n    return this.disabled ? 'disabled' : null;\n  }\n  /** Fires when a formControl's disabled state updates  */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n  /**\n   * Marks component as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n    this.informState();\n  }\n  _invalid: boolean = false;\n  @HostBinding('attr.aria-invalid')\n  get ariaInvalid() {\n    return this.invalid;\n  }\n\n  /**\n   * Marks component as required when true.\n   * @default false\n   */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n    this.informState();\n  }\n  _required: boolean = false;\n\n  /**\n   * Sets input to one-time-passcode (OTP) variant when true.\n   * @default false\n   */\n  @Input()\n  get otp(): boolean {\n    return this._otp;\n  }\n  set otp(value: BooleanInput) {\n    this._otp = coerceBooleanProperty(value);\n  }\n  _otp: boolean = false;\n\n  /**\n   * Removes resize from textarea when true.\n   * @default false\n   */\n  @Input()\n  get noResize(): boolean {\n    return this._noResize;\n  }\n  set noResize(value: BooleanInput) {\n    this._noResize = coerceBooleanProperty(value);\n  }\n  _noResize: boolean = false;\n\n  /** Below needed for combobox */\n\n  /**\n   * Aria attribute relaying whether input is expanded.\n   * @default null\n   * @builtin true\n   */\n  @Input('aria-expanded')\n  get ariaExpanded(): boolean | null {\n    return this._ariaExpanded;\n  }\n  set ariaExpanded(value: BooleanInput) {\n    this._ariaExpanded = coerceBooleanProperty(value);\n  }\n  _ariaExpanded: boolean | null = null;\n  @HostBinding('attr.aria-expanded')\n  get hostAriaExpanded(): string | void {\n    if (this.ariaExpanded !== null) {\n      return this.ariaExpanded.toString();\n    }\n  }\n\n  /**\n   * Aria attribute relaying autocomplete type.\n   * @default null\n   * @default 'list' when input is used within combobox and no custom value is provided.\n   * @builtin true\n   */\n  @Input('aria-autocomplete')\n  get ariaAutocomplete(): string {\n    return this._ariaAutocomplete;\n  }\n  set ariaAutocomplete(value) {\n    this._ariaAutocomplete = value;\n  }\n  _ariaAutocomplete: string;\n  @HostBinding('attr.aria-autocomplete')\n  get hostAriaAutocomplete(): string | void {\n    if (this.ariaAutocomplete) {\n      return this.ariaAutocomplete;\n    } else if (this._inCombobox) {\n      return 'list';\n    }\n  }\n\n  /**\n   * Sets input aria-haspopup attribute.\n   * @default null\n   * @default 'listbox' when input is used within combobox and no custom value is given.\n   * @builtin true\n   */\n  @Input('aria-haspopup')\n  get ariaHaspopup(): boolean | null {\n    return this._ariaHaspopup;\n  }\n  set ariaHaspopup(value: BooleanInput) {\n    this._ariaHaspopup = coerceBooleanProperty(value);\n  }\n  _ariaHaspopup: boolean | null;\n  @HostBinding('attr.aria-haspopup')\n  get hostAriaHaspopup(): string | void {\n    if (this.ariaHaspopup) {\n      return this.ariaHaspopup.toString();\n    } else if (this._inCombobox) {\n      return 'listbox';\n    }\n  }\n\n  /**\n   * Sets input aria-owns attribute.\n   * @default null\n   * @default '&lt;listbox-container-id&gt;' when input is used within combobox and no custom value is given.\n   * @builtin true\n   */\n  @Input('aria-owns')\n  get ariaOwns(): string {\n    return this._ariaOwns;\n  }\n  set ariaOwns(value) {\n    this._ariaOwns = value;\n  }\n  _ariaOwns: string;\n  @HostBinding('attr.aria-owns')\n  get hostAriaOwns(): string | void {\n    if (this.ariaOwns) {\n      return this.ariaOwns;\n    }\n  }\n\n  /**\n   * Aria attribute relaying what element the input controls.\n   * @default null\n   * @default '&lt;listbox-id&gt;' when input is used within combobox and combobox menu is open.\n   * @builtin true\n   */\n  @Input('aria-controls')\n  get ariaControls(): string | null {\n    return this._ariaControls;\n  }\n  set ariaControls(value) {\n    this._ariaControls = value;\n  }\n  _ariaControls: string | null;\n  @HostBinding('attr.aria-controls')\n  get hostAriaControls(): string | void {\n    if (this.ariaControls) {\n      return this.ariaControls;\n    }\n  }\n\n  /**\n   * Aria attribute relaying what active element the input refers to.\n   * @default null\n   * @default '&lt;listbox-item-id&gt;' when input is used within combobox and an option is highlighted or active.\n   * @builtin true\n   */\n  @Input('aria-activedescendant')\n  get ariaActiveDescendant(): string | null {\n    return this._ariaActiveDescendant;\n  }\n  set ariaActiveDescendant(value) {\n    this._ariaActiveDescendant = value;\n  }\n  _ariaActiveDescendant: string | null;\n  @HostBinding('attr.aria-activedescendant')\n  get hostAriaActiveDescendant(): string | void {\n    if (this.ariaActiveDescendant) {\n      return this.ariaActiveDescendant;\n    }\n  }\n\n  /**\n   * Value of input.\n   */\n  @Input()\n  get value() {\n    return this._value;\n  }\n  set value(value: string) {\n    // if (!value) return;\n    this._value = value;\n\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      if (this.el.nativeElement.value !== value) {\n        this.el.nativeElement.value = value;\n      }\n    }\n\n    this.onChange(value);\n  }\n\n  // keep val for backwards compatibility\n  get val() {\n    return this._value;\n  }\n  set val(value: string) {\n    // if (!value) return;\n    this._value = value;\n\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.el.nativeElement.value = value;\n    }\n\n    this.onChange(value);\n  }\n  _value: string;\n\n  /**\n   * Emits value when the input event is triggered or backspace key is pressed.\n   */\n  @Output() inputEvent = new EventEmitter<any>();\n\n  /**\n   * Emits readonly, disabled, invalid, and required state of input when any of these states change.\n   */\n  @Output() communicateState = new EventEmitter<any>();\n\n  @HostListener('input', ['$event'])\n  handleInput(event: Event) {\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.writeValue(this.el.nativeElement.value);\n      this.inputEvent.emit(this.el.nativeElement.value);\n    }\n  }\n\n  @HostListener('focus', ['$event'])\n  handleFocus(event: Event) {\n    this.onTouched(event);\n    this.focused.emit();\n  }\n\n  @HostListener('blur', ['$event'])\n  handleBlur(event: Event) {}\n\n  @HostListener('keydown', ['$event'])\n  handleReadonlySpace(event: KeyboardEvent) {\n    // this resolves a bug where date/time/color menus were still opening when readonly and pressing space\n    if (this.readonly && event.key === SPACE_KEY) {\n      event.preventDefault();\n    }\n  }\n\n  constructor(\n    el: ElementRef,\n    private uuidService: UUIDService,\n    private appReadyService: AppReadyService\n  ) {\n    super(el);\n  }\n\n  onChange = (_: any) => {};\n\n  onTouched = (_: any) => {};\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: string): void {\n    this.value = value;\n    this.onChange(this.value);\n  }\n\n  informState() {\n    this.communicateState.emit({\n      readonly: this.readonly,\n      disabled: this.disabled,\n      invalid: this.invalid,\n      required: this.required\n    });\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Host,\n  HostBinding,\n  HostListener,\n  Input,\n  OnInit,\n  Optional,\n  Output\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\n\n@Directive({\n  standalone: true,\n  selector: '[v-select]'\n  // providers: [\n  //   {\n  //     provide: NG_VALUE_ACCESSOR,\n  //     useExisting: forwardRef(() => SelectDirective),\n  //     multi: true,\n  //   }\n  // ]\n})\nexport class SelectDirective implements ControlValueAccessor, OnInit {\n  /**\n   * Sets custom id.\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-input\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-input'].join(' ');\n  }\n\n  /**\n   * Sets select as disabled when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    this.informState();\n  }\n  _disabled: boolean = false;\n  @HostBinding('disabled')\n  get hostDisabled() {\n    return this.disabled ? 'disabled' : null;\n  }\n  /** Fires when a formControl's disabled state updates.  */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  setDisabledStateInit(isDisabled: boolean): void {\n    this._disabled = coerceBooleanProperty(isDisabled);\n    this.informState();\n  }\n\n  /**\n   * Marks select as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n    this.informState();\n  }\n  _invalid: boolean = false;\n  @HostBinding('attr.aria-invalid')\n  get ariaInvalid() {\n    return this.invalid;\n  }\n\n  /**\n   * Marks select as required when true.\n   * @default false\n   */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n    this.informState();\n  }\n  _required: boolean = false;\n\n  /**\n   * Emits disabled, invalid, and required state of select when changed.\n   */\n  @Output() communicateState = new EventEmitter<any>();\n\n  /**\n   * Value of select.\n   */\n  @Input()\n  get value(): any {\n    return this._value;\n  }\n  set value(value: any) {\n    this._value = value;\n\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.el.nativeElement.value = this.value;\n    }\n\n    this.onChange(value);\n  }\n\n  // keep val for backwards compatibility\n  get val(): any {\n    return this._value;\n  }\n  set val(value: any) {\n    if (!value) return;\n    this._value = value;\n\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.el.nativeElement.value = this.value;\n    }\n\n    this.onChange(value);\n  }\n  _value: any;\n\n  @HostListener('change', ['$event'])\n  handleChange(event: Event) {\n    const target = event.target as HTMLInputElement;\n    this.writeValue(target.value);\n  }\n\n  @HostListener('focus', ['$event'])\n  handleFocus(event: Event) {\n    this.onTouched(event);\n  }\n\n  @HostListener('blur', ['$event'])\n  handleBlur(event: Event) {}\n\n  constructor(\n    public el: ElementRef,\n    private appReadyService: AppReadyService,\n    @Optional() @Host() public control: NgControl\n  ) {}\n\n  onChange = (_: any) => {};\n\n  onTouched = (_: any) => {};\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: any): void {\n    this.value = value;\n  }\n\n  informState() {\n    this.communicateState.emit({\n      disabled: this.disabled,\n      invalid: this.invalid,\n      required: this.required\n    });\n  }\n\n  ngOnInit() {\n    if (this.control?.disabled) {\n      this.setDisabledStateInit(this.control?.disabled);\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  Component,\n  ContentChild,\n  ContentChildren,\n  HostBinding,\n  Input,\n  QueryList\n} from '@angular/core';\nimport { ButtonDirective } from '../button/button.directive';\nimport { CheckboxDirective } from '../checkbox/checkbox.directive';\nimport { IconToggleComponent } from '../icon-toggle/icon-toggle.component';\nimport { InputMessageDirective } from '../input-message/input-message.directive';\nimport { InputDirective } from '../input/input.directive';\nimport { LabelDirective } from '../label/label.directive';\nimport { RadioDirective } from '../radio/radio.directive';\nimport { SelectDirective } from '../select/select.directive';\n\n@Component({\n  standalone: true,\n  imports: [CommonModule, IconToggleComponent],\n  selector: '[v-input-container]',\n  templateUrl: './input-container.component.html'\n})\nexport class InputContainerComponent implements AfterContentInit {\n  @ContentChild(SelectDirective) select: SelectDirective;\n  @ContentChildren(ButtonDirective) buttons: QueryList<ButtonDirective>;\n  @ContentChild(InputDirective) input: InputDirective;\n  @ContentChild(InputMessageDirective) message: InputMessageDirective;\n  @ContentChild(CheckboxDirective) checkbox: CheckboxDirective;\n  @ContentChild(RadioDirective) radio: RadioDirective;\n  @ContentChild(LabelDirective) label: LabelDirective;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-input-container\n   * @default .v-surface if contains input or select directive.\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    this.class = ['v-input-container', this.input || this.select ? 'v-surface' : ''].join(' ');\n    return this.class;\n  }\n\n  /**\n   * Removes the default toggle icon when true, allowing you to provide your own. <br>\n   * After the closing <code>select</code> tag, provide your custom icon inside a <code>&lt;div class=&#8220;v-input-control&#8221;&gt;</code>.\n   * @default false\n   */\n  @Input()\n  get useCustomIcon(): boolean {\n    return this._useCustomIcon;\n  }\n  set useCustomIcon(value: BooleanInput) {\n    this._useCustomIcon = coerceBooleanProperty(value);\n  }\n  _useCustomIcon: boolean;\n\n  constructor() {}\n\n  ngAfterContentInit(): void {\n    if (this.buttons.length > 0 && (this.input || this.select)) {\n      const directive = this.input ? this.input : this.select;\n\n      // disabled child buttons if input or select is disabled or readonly\n      // must call out input readonly specifically since this is not a shared prop with select\n      if (directive.disabled || (this.input && this.input.readonly)) {\n        this.setButtonDisabledState(true);\n      }\n\n      // disabled or enable buttons as appropriate depending on input/select readonly and disabled state\n      directive.communicateState.subscribe((state) => {\n        if (state.disabled || state.readonly) {\n          this.setButtonDisabledState(true);\n        } else {\n          this.setButtonDisabledState(false);\n        }\n      });\n    }\n    if (this.label) {\n      if (this.checkbox?.id) {\n        this.label.for = this.checkbox.id;\n      } else if (this.radio?.id) {\n        this.label.for = this.radio.id;\n      }\n    }\n  }\n\n  setButtonDisabledState(isDisabled: boolean) {\n    this.buttons.forEach((button) => {\n      button.disabled = isDisabled;\n    });\n  }\n}\n","<!--\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n -->\n<ng-content></ng-content>\n<ng-container *ngIf=\"select && !useCustomIcon\">\n  <div class=\"v-input-control\">\n    <ng-content select=\"v-icon-visa-toggle\"></ng-content>\n    <ng-content select=\"[v-icon-visa-chevron-down-tiny]\"></ng-content>\n    <ng-content select=\"[v-icon-visa-chevron-up-tiny]\"></ng-content>\n    <ng-content select=\"[v-icon][icon='chevron-down']\"></ng-content>\n    <ng-content select=\"[v-icon][icon='chevron-up']\"></ng-content>\n  </div>\n</ng-container>\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { AfterContentInit, computed, ContentChild, Directive, HostBinding, Input, Signal, signal } from '@angular/core';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { ListboxDirective } from '../listbox/listbox.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-listbox-container] '\n})\nexport class ListboxContainerDirective implements AfterContentInit {\n  @ContentChild(ListboxDirective) listbox: ListboxDirective;\n  _disabled = false;\n  _invalid = false;\n  _isRoleListboxVariant: Signal<boolean | null> = signal(null);\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-listbox-container\n   */\n  @Input()\n  get class(): string {\n    return [\n      this._class,\n      'v-listbox-container',\n      this._invalid ? 'v-listbox-error' : '',\n      this._disabled ? 'v-listbox-disabled' : ''\n    ].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets custom role.\n   * @default 'listbox' if no child list item contains a child radio or checkbox.\n   * @default not present if child list item contains a child radio or checkbox.\n   * @builtin true\n   */\n  @Input() role: string;\n  @HostBinding('attr.role')\n  get hostRole(): string {\n    if (this._isRoleListboxVariant() && !this.role) {\n      this.role = 'listbox';\n    }\n    return this.role;\n  }\n\n  _multiselect = false;\n  @HostBinding('attr.aria-multiselectable')\n  get hostAriaMultiselectable(): string | void {\n    if (this._multiselect && this._isRoleListboxVariant()) {\n      return 'true';\n    }\n  }\n\n  @HostBinding('attr.aria-invalid')\n  get hostAriaInvalid(): string | null {\n    return this._invalid ? 'true' : null;\n  }\n\n  _required: boolean = false;\n  @HostBinding('attr.aria-required')\n  get hostAriaRequired(): string | null {\n    return this._required ? 'true' : null;\n  }\n\n  _inCombobox = false;\n  /**\n   * Aria attribute relaying what active element the listbox container refers to.\n   * @builtin true\n   */\n  @Input('aria-activedescendant') ariaActiveDescendant: Signal<string | null> = signal(null);\n  @HostBinding('attr.aria-activedescendant')\n  get hostAriaActiveDescendant(): string | null | void {\n    if (this.ariaActiveDescendant() && !this._inCombobox) {\n      return this.ariaActiveDescendant();\n    }\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-listbox-container-')\n   * @builtin true\n   */\n  @Input()\n  id: string = this.uuidService.getUUID('v-listbox-container-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  constructor(private uuidService: UUIDService) {}\n\n  ngAfterContentInit(): void {\n    if (this.listbox) {\n      this._multiselect = this.listbox.multiselect;\n      this._required = this.listbox.required;\n      this._disabled = this.listbox.disabled;\n      this._invalid = this.listbox.invalid;\n      this._inCombobox = this.listbox._inCombobox;\n      // update invalid and disabled classes based on listbox\n      this.listbox.communicateState.subscribe((state) => {\n        this._disabled = state.disabled;\n        this._invalid = state.invalid;\n      });\n\n      this._isRoleListboxVariant = computed(() => this.listbox?._isRoleListboxVariant());\n      this.ariaActiveDescendant = computed(() => this.listbox?.ariaActiveDescendant());\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport const ComboboxFilterType = {\n  SELECTION: 'selection',\n  INPUT: 'input',\n  RESET: 'reset'\n} as const\n\nexport type ComboboxFilterType = (typeof ComboboxFilterType)[keyof typeof ComboboxFilterType];","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ContentChild,\n  ContentChildren,\n  Directive,\n  EventEmitter,\n  forwardRef,\n  HostBinding,\n  HostListener,\n  Input,\n  OnInit,\n  Output,\n  QueryList,\n  Renderer2\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { FloatingUIContainer } from '../floating-ui-container/floating-ui-container.directive';\nimport { InputContainerComponent } from '../input-container/input-container.component';\nimport { InputDirective } from '../input/input.directive';\nimport { LabelDirective } from '../label/label.directive';\nimport { ListboxContainerDirective } from '../listbox-container/listbox-container.directive';\nimport { ListboxItemComponent } from '../listbox-item/listbox-item.component';\nimport { ListboxDirective } from '../listbox/listbox.directive';\nimport { ListboxService } from '../listbox/listbox.service';\nimport {\n  BACKSPACE_KEY,\n  DOWN_ARROW_KEY,\n  ENTER_KEY,\n  LEFT_ARROW_KEY,\n  RIGHT_ARROW_KEY,\n  TAB_KEY,\n  UP_ARROW_KEY\n} from '../nova-lib.constants';\nimport { NovaLibService } from '../nova-lib.service';\nimport { ComboboxFilterType } from './combobox.constants';\nimport { ButtonDirective } from '../button/button.directive';\nimport { ChipDirective } from '../chip/chip.directive';\n\nenum STATE {\n  READONLY = 'readonly',\n  DISABLED = 'disabled',\n  INVALID = 'invalid',\n  REQUIRED = 'required'\n}\n\n@Directive({\n  standalone: true,\n  selector: '[v-combobox]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ComboboxDirective),\n      multi: true\n    }\n  ]\n})\nexport class ComboboxDirective implements ControlValueAccessor, OnInit, AfterContentInit {\n  @ContentChild(InputContainerComponent)\n  inputContainer: InputContainerComponent;\n  @ContentChild(InputDirective) input: InputDirective;\n  @ContentChild(ListboxContainerDirective) listboxContainer: ListboxContainerDirective;\n  @ContentChild(ListboxDirective) listbox: ListboxDirective;\n  @ContentChild(LabelDirective) label: LabelDirective;\n  @ContentChildren(ButtonDirective, { descendants: true })\n  interactiveChildren: QueryList<ButtonDirective>;\n  @ContentChildren(ChipDirective, { descendants: true }) chips: QueryList<ChipDirective>;\n  _highlightedIndex: number | null = null;\n  _activeIndex: number | null = null;\n  _lastHighlightedOnClose: number | null; //stores last highlighted index before nulling highlightedIndex when menu is closed\n  initialListItems: ListboxItemComponent[];\n  currentListItems: QueryList<ListboxItemComponent>;\n  listboxSubscription: Subscription;\n  // used in service only to store previously active item of type ListboxItemComponent or of type of array passed with custom filter\n  _prevActiveItem: ListboxItemComponent | any;\n  private _fromInput = false;\n  private _inputFocused = false;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-combobox\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-combobox'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Removes appended screenreader readonly text when true. <br>\n   * By default &#40;when <code>removeReadonlyText=\"false\"</code>&#41;, if a combobox is readonly, a span element with text '&#40;readonly&#41;' will be appended to the label element for screenreader support.\n   * @default false\n   */\n  @Input()\n  get removeReadonlyText(): boolean {\n    return this._removeReadonlyText;\n  }\n  set removeReadonlyText(value: BooleanInput) {\n    this._removeReadonlyText = coerceBooleanProperty(value);\n  }\n  _removeReadonlyText: boolean = false;\n\n  /**\n   * Temporary prop to opt into new **multiselect** behavior. <br>\n   * Will be deprecated and defaulted to in the next breaking change release.\n   */\n  @Input()\n  get EXPERIMENTAL_ADA_OPT_IN(): boolean {\n    return this._EXPERIMENTAL_ADA_OPT_IN;\n  }\n  set EXPERIMENTAL_ADA_OPT_IN(value: BooleanInput) {\n    this._EXPERIMENTAL_ADA_OPT_IN = coerceBooleanProperty(value);\n  }\n  _EXPERIMENTAL_ADA_OPT_IN: boolean = false;\n\n  /**\n   * Sets component as readonly when true.\n   * @default false\n   */\n  @Input()\n  get readonly(): boolean {\n    return this._readonly;\n  }\n  set readonly(value: BooleanInput) {\n    this._readonly = coerceBooleanProperty(value);\n    if (!this.removeReadonlyText) this.appendReadonlyText();\n    this.updateChildrenStates(STATE.READONLY);\n  }\n  _readonly: boolean = false;\n\n  /**\n   * Sets component as disabled when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    this.updateChildrenStates(STATE.DISABLED);\n  }\n  _disabled: boolean = false;\n  @HostBinding('attr.disabled')\n  get hostDisabled() {\n    return this.disabled ? 'disabled' : null;\n  }\n  /** Fires when a formControl's disabled state updates  */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  /**\n   * Marks component as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n    this.updateChildrenStates(STATE.INVALID);\n  }\n  _invalid: boolean = false;\n  @HostBinding('attr.aria-invalid')\n  get ariaInvalid() {\n    return this.invalid;\n  }\n\n  /**\n   * Marks component as required when true.\n   * @default false\n   */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n    this.updateChildrenStates(STATE.REQUIRED);\n  }\n  _required: boolean = false;\n\n  /**\n   * Value of combobox.\n   */\n  @Input()\n  get value() {\n    return this._value;\n  }\n  set value(value: any) {\n    this.updateValue(value);\n  }\n\n  // keep val for backwards compatibility\n  get val() {\n    return this._value;\n  }\n  set val(value: any) {\n    this.updateValue(value);\n  }\n  _value: { label: string; value: string } | null | '' = null;\n\n  updateValue(value: any) {\n    this._value = value;\n    if (this.input && this.listbox) {\n      if (\n        value &&\n        !this._fromInput &&\n        ((value['label'] && this.input.value !== value['label']) ||\n          (value['value'] && this.listbox.value !== value['value']))\n      ) {\n        const selectIndex = this.getList()?.findIndex((item) => item.value === value['value']);\n        if (selectIndex != -1) {\n          this.selectItem(selectIndex);\n        } else {\n          // deselect also reset aria active descendant\n          if (this._activeIndex) {\n            this.novaLibService.deselectItem(this.getList(), this._activeIndex!, 'active');\n            this._activeIndex = null;\n            if (this.input) this.input.ariaActiveDescendant = null;\n            if (this.listbox) this.listbox.ariaActiveDescendant.set(null);\n          }\n        }\n      } else if (!value) {\n        this.clearCombobox();\n      }\n    }\n\n    this.onChange(value);\n  }\n\n  /**\n   * Emits value of selected item(s).\n   */\n  @Output() itemSelected = new EventEmitter<string | number | (string | number)[] | null>();\n\n  /**\n   * Emitted when a listbox item is selected, when an input value is entered, and when the combobox is reset. <br />\n   * Subscribe to provide your own filter function when this event is emitted. <br />\n   * Emits { type: 'selection' | 'input' | 'reset'; listbox: string; input: string } where type is the type of filter event, listbox is the value of the selected item(s), and input is the value of the input.\n   */\n  @Output() filter = new EventEmitter<{\n    type: ComboboxFilterType;\n    listbox: string | number | (string | number)[] | null;\n    input: string;\n  }>();\n\n  /**\n   * Emits the filtered array of ListboxItemComponents when the list is filtered by ComboboxService.\n   */\n  @Output() filteredListEmitter: EventEmitter<ListboxItemComponent[]> = new EventEmitter<ListboxItemComponent[]>();\n\n  constructor(\n    public novaLibService: NovaLibService,\n    private listboxService: ListboxService,\n    private appReadyService: AppReadyService,\n    private renderer: Renderer2,\n    private UUIDService: UUIDService,\n    public floatingContainer?: FloatingUIContainer\n  ) {}\n\n  @HostListener('focus', ['$event'])\n  handleFocus(event: Event) {\n    this.onTouched(event);\n  }\n\n  ngOnInit(): void {\n    if (this.floatingContainer) {\n      this.floatingContainer._isCombobox = true;\n      if (!this.floatingContainer.eventsArray) {\n        this.floatingContainer.eventsArray = [];\n      }\n    }\n  }\n\n  ngAfterContentInit(): void {\n    if (this.input) {\n      this.setUpInput();\n    }\n    if (this.listbox) {\n      if (!this.listbox.multiselect) {\n        this.listbox.value = '';\n      }\n      this.initialListItems = this.listbox.listItems.toArray();\n      this.currentListItems = this.listbox.listItems;\n      this.setUpListItems();\n\n      this.listbox.listItems.changes.subscribe(() => {\n        if (!this.listbox.multiselect) {\n          // remove previous subscription\n          this.listboxSubscription.unsubscribe();\n          this.setUpListItems();\n        }\n      });\n    }\n\n    if (this.inputContainer?.buttons.length > 0 && this.floatingContainer) {\n      // last button should be toggle button\n      this.inputContainer.buttons.last._inCombobox = true;\n      this.inputContainer.buttons.last.clicked.subscribe(() => {\n        this.input?.el.nativeElement.focus();\n        this.floatingContainer?.floatingUIService.toggleFloatingUI();\n      });\n    }\n\n    if (this.floatingContainer) {\n      this.setUpFloatingContainer();\n    }\n\n    if (this.chips) {\n      this.chips.changes.subscribe(() => {\n        if (this.chips.length === 0 && this.appReadyService.isBrowserAndDomAvailable()) {\n          this.input?.el.nativeElement.focus();\n        }\n      });\n    }\n\n    this.setState();\n  }\n\n  setUpInput() {\n    this.input._inCombobox = true;\n    this.input.role = this.input.role ? this.input.role : 'combobox';\n    this.input.inputEvent.subscribe((val) => {\n      this.filter.emit({ type: ComboboxFilterType.INPUT, listbox: this.listbox?.value || [], input: this.input.value });\n      this._fromInput = true;\n\n      // if the listbox has a value (probably only multiselect..), retain that value\n      if (\n        (!this.listbox?.multiselect && this.listbox.value) ||\n        (this.listbox?.multiselect && Array.isArray(this.listbox.value) && this.listbox.value.length > 0)\n      ) {\n        this.writeValue({ label: this.input.value, value: this.listbox.value });\n      } else {\n        //otherwise pass the input value to the value\n        this.writeValue({ value: this.input.value });\n      }\n      this.floatingContainer?.floatingUIService.showfloatingUI();\n      this._fromInput = false;\n    });\n\n    if (this.listboxContainer) {\n      this.input.ariaOwns = this.listboxContainer.id;\n    }\n\n    if (this.label) {\n      this.label.for = this.input.id;\n    }\n\n    this.input.focused.subscribe(() => {\n      this._inputFocused = true;\n    });\n    this.input.blurred.subscribe(() => {\n      this._inputFocused = false;\n    });\n\n    this.input.communicateState.subscribe((state) => {\n      if (this.readonly !== state.readonly) {\n        this.readonly = state.readonly;\n      }\n      if (this.disabled !== state.disabled) {\n        this.disabled = state.disabled;\n      }\n      if (this.invalid !== state.invalid) {\n        this.invalid = state.invalid;\n      }\n      if (this.required !== state.required) {\n        this.required = state.required;\n      }\n    });\n  }\n\n  setUpListItems() {\n    this.listbox._inCombobox = true;\n    this.listboxSubscription = this.listbox.valueUpdated.subscribe((val) => {\n      if (!this.listbox.multiselect && !val) return;\n      // wait for app to be ready before accessing list item native elements\n      if (this.appReadyService.isBrowserAndDomAvailable()) {\n        if (this.listbox?.multiselect && Array.isArray(val) && val.length > 0) {\n          if (this.input.value) this.input.value = ''; // make optional?\n        } else if (!this.listbox?.multiselect && val) {\n          const index = this.listbox.listItems.toArray().findIndex((item) => item.value === val);\n          this.input.value = this.getListItem(index)?.el.nativeElement.innerText.trim();\n        }\n        this.writeValue({ label: this.input.value || '', value: this.listbox.value });\n        this.filter.emit({\n          type: ComboboxFilterType.SELECTION,\n          listbox: this.listbox.value,\n          input: this.input.value || ''\n        });\n        // @TODO: remove first if statement in next major release\n        if (this.listbox.multiselect && Array.isArray(this.listbox.value) && !this.EXPERIMENTAL_ADA_OPT_IN) {\n          return; // handled in docs\n        } else if (this.listbox?.multiselect && this.input?.value) {\n          // if a multiselect still has a value, that means no item is selected and the user is typing; return.\n          return;\n        } else {\n          this.itemSelected.emit(this.listbox.value);\n        }\n      }\n    });\n    this.listbox.listItems.forEach((item, index) => {\n      item.clicked.subscribe(() => {\n        if (this.appReadyService.isBrowserAndDomAvailable()) {\n          // wait for app to be ready before accessing input native elements\n          this.input?.el.nativeElement.focus();\n        }\n      });\n\n      item.itemChanged.subscribe((isSelected) => {\n        // any time an item is clicked, entered, or programmatically selected, the below will set the value of the combobox\n        if (!this.listbox?.multiselect && isSelected && this.getListItem(index)) {\n          this.novaLibService.deselectItems(this.getList(), index, 'highlighted');\n          this._activeIndex = index;\n        }\n      });\n    });\n    this.setInitialValue();\n    if (this._highlightedIndex !== null) this.highlightIndex(this._highlightedIndex);\n  }\n\n  setUpFloatingContainer() {\n    if (this.input) this.input.ariaExpanded = this.floatingContainer!.isShown;\n    this.floatingContainer!.floatingUIService.isShownEmitter.subscribe((isShown) => {\n      if (this.input) this.input.ariaExpanded = isShown;\n\n      if (!isShown) {\n        // when menu is closed, unhighlight all items\n        if (this._highlightedIndex !== null) this._lastHighlightedOnClose = this._highlightedIndex;\n        this._highlightedIndex = null;\n        this.listbox?.listItems.forEach((item) => {\n          item.highlighted = false;\n        });\n\n        // remove aria-controls from input and reset aria-activeDescendant to null or active item id\n        if (this.input) {\n          this.input.ariaControls = null;\n          const listItem = this.getListItem(this._activeIndex);\n          if (this._activeIndex === null) {\n            if (this.input) this.input.ariaActiveDescendant = null;\n            if (this.listbox) this.listbox.ariaActiveDescendant.set(null);\n          } else if (this.listbox && listItem) {\n            this.input.ariaActiveDescendant = listItem.id;\n            this.listbox.ariaActiveDescendant.set(listItem.id);\n          }\n        }\n      } else {\n        if (this.input) this.input.ariaControls = this.listbox?.id;\n      }\n    });\n  }\n\n  setInitialValue() {\n    let selectedIndex: number = -1;\n    // note that initial value precedence is combobox initial value, input initial value, and then listbox\n    if (this.value) {\n      // initial value given to combobox directly\n      if (this.listbox) {\n        if (this.listbox.multiselect) {\n          if (Array.isArray(this.value['value'])) {\n            const selectedItems = this.value['value'].filter((val: any) => {\n              return this.getList()?.some((item) => item.value === val);\n            });\n            this.listbox.value = selectedItems;\n          } else {\n            // allow a non-array value (single value) to propagate the multiselect\n            selectedIndex = this.getList()?.findIndex((item) => item.value === this.value['value']);\n            if (selectedIndex > -1) {\n              this.selectItem(selectedIndex);\n            }\n          }\n          if (this.value['label']) {\n            this.input.value = this.value['label'];\n          }\n        } else {\n          selectedIndex = this.getList()?.findIndex((item) => item.value === this.value['value']); // check is within if statement?\n          // allow input to still have initial value even if it doesn't match a listbox item\n          if (selectedIndex < 0 && this.value['label']) {\n            this.input.value = this.value['label'];\n          }\n        }\n      }\n    } else if (this.input?.value) {\n      // initial value given to input\n      selectedIndex = this.findListItem(this.input.value);\n    } else if (this.listbox?.value) {\n      if (this.listbox.multiselect && Array.isArray(this.listbox.value) && this.listbox.value.length > 0) {\n        // if value is an array, select all items that match the value\n        return;\n      } else {\n        // initial value given to listbox\n        selectedIndex = this.getList()?.findIndex((item) => item.active);\n      }\n    }\n\n    // if the item is already selected, no need to select it again\n    if (selectedIndex > -1 && !this.getListItem(selectedIndex)?.active) {\n      this.selectItem(selectedIndex);\n    }\n  }\n\n  setState() {\n    if (this.input && this.listbox) {\n      // set initial state of input and listbox based on what's passed to combobox\n      // if input or listbox is readonly or disabled, set combobox to readonly or disabled\n      if (this.readonly) {\n        this.input.readonly = true;\n      } else if (this.input.readonly) {\n        this.readonly = true;\n      }\n\n      if (this.disabled) {\n        this.input.disabled = true;\n        this.listbox.disabled = true;\n      } else if (this.input.disabled) {\n        this.disabled = true;\n      } else if (this.listbox.disabled) {\n        this.disabled = true;\n      }\n\n      if (this.invalid) {\n        this.input.invalid = true;\n        this.listbox.invalid = true;\n      } else if (this.input.invalid) {\n        this.invalid = true;\n      } else if (this.listbox.invalid) {\n        this.invalid = true;\n      }\n\n      if (this.required) {\n        this.input.required = true;\n        this.listbox.required = true;\n      } else if (this.input.required) {\n        this.required = true;\n      } else if (this.listbox.required) {\n        this.required = true;\n      }\n    }\n  }\n\n  @HostListener('keydown', ['$event'])\n  hostKeyDown(event: KeyboardEvent) {\n    // don't perform any keboard functions if readonly or disabled\n    // also don't open menu if no floating container exists\n    if (this.input.readonly || this.input.disabled || !this._inputFocused || !this.floatingContainer) {\n      return;\n    }\n    if (event.key === DOWN_ARROW_KEY || event.key === RIGHT_ARROW_KEY) {\n      // highlight next item and show menu\n      if (event.key === DOWN_ARROW_KEY) event.preventDefault(); // allow right arrow to navigate through input\n      this.highlightNextPrevItem('next');\n      if (!this.floatingContainer?.isShown) this.floatingContainer.floatingUIService.showfloatingUI();\n      if (this._highlightedIndex !== null && this.listbox)\n        this.listboxService.scrollItemIntoView(this.listbox, this._highlightedIndex);\n    } else if (event.key === UP_ARROW_KEY || event.key === LEFT_ARROW_KEY) {\n      // highlight previous item and show menu\n      if (event.key === UP_ARROW_KEY) event.preventDefault(); // allow left arrow to navigate through input\n      this.highlightNextPrevItem('prev');\n      if (!this.floatingContainer?.isShown) this.floatingContainer.floatingUIService.showfloatingUI();\n      if (this._highlightedIndex !== null && this.listbox) {\n        this.listboxService.scrollItemIntoView(this.listbox, this._highlightedIndex);\n      }\n    } else if (event.key === ENTER_KEY) {\n      if (this.floatingContainer?.isShown) {\n        event.preventDefault(); // prevent form submission if enter is triggered on list item\n      }\n      // select currently highlighted item\n      if (this._highlightedIndex !== null) {\n        this.selectItem(this._highlightedIndex);\n        this.getListItem(this._highlightedIndex)?.clicked.emit(); // emit click event (closes item when close on click is called)\n      }\n    } else if (event.key === TAB_KEY && event.shiftKey) {\n      if (this.listbox?.multiselect && this.chips.length > 0) {\n        // if shift+tab is pressed and there is a chip (aka a value), close the menu\n        // @note, possibly make this optional by providing an opt-out input\n        this._highlightedIndex = null;\n        this.floatingContainer.floatingUIService.hidefloatingUI();\n      }\n    } else if (event.key === BACKSPACE_KEY) {\n      if (this.listbox?.multiselect && !this.input.value && this.chips.length > 0) {\n        // remove last chip if backspace is pressed on empty input and there are chips (aka a value)\n        // I know there's a better way to do this but it's not working??\n        const lastValue = this.value.value[this.value.value.length - 1];\n        const lastItem = this.listbox?.listItems?.find((item) => item.value === lastValue);\n        lastItem?.selectItem();\n      }\n    }\n  }\n\n  @HostListener('keyup', ['$event'])\n  hostKeyup(event: KeyboardEvent) {\n    if (event.key === BACKSPACE_KEY && !this.listbox?.multiselect) {\n      // remove highlight for any backspace event?\n      if (this.input.value === '' || !this.input.value) {\n        if (this.value) this.value = '';\n      }\n\n      const selectedItems = this.getList()?.filter((item) => item.active);\n      if (selectedItems) {\n        selectedItems.forEach((item) => (item.active = false));\n        if (this.listbox) this.listbox.value = this.listbox.multiselect ? [] : null;\n      }\n    }\n  }\n\n  @HostListener('document:keydown', ['$event'])\n  documentKeydown(event: KeyboardEvent) {\n    if (\n      // if we press escape while on this combobox\n      event.key === 'Escape' &&\n      this.floatingContainer?.el.nativeElement.contains(event.target)\n    ) {\n      // return focus to input when escape is pressed and menu (was) open\n      if (!this._inputFocused && this.floatingContainer?.isShown) {\n        this.input?.el.nativeElement.focus();\n      } else if (!this.floatingContainer?.isShown) {\n        // if menu is already closed, do not select \"highlighted\" option\n        this._highlightedIndex = null;\n        this._lastHighlightedOnClose = null;\n      }\n    }\n  }\n\n  /**\n   * Highlight next enabled item or previous enabled item depending on type.\n   * @param type 'next' | 'prev'\n   */\n  highlightNextPrevItem(type: 'next' | 'prev') {\n    let filteredIndex: number | null = null;\n    if (this._highlightedIndex !== null) {\n      // find next item given current item\n      if (type === 'next') filteredIndex = this.novaLibService.nextEnabledItem(this.getList(), this._highlightedIndex);\n      if (type === 'prev')\n        filteredIndex = this.novaLibService.previousEnabledItem(this.getList(), this._highlightedIndex);\n    } else if (this._activeIndex !== null) {\n      filteredIndex = this._activeIndex;\n    } else {\n      // find next item initially\n      if (type === 'next') filteredIndex = this.novaLibService.nextEnabledItem(this.getList());\n      if (type === 'prev') filteredIndex = this.novaLibService.previousEnabledItem(this.getList());\n    }\n\n    if (filteredIndex !== null) this.highlightIndex(filteredIndex);\n  }\n\n  highlightIndex(index: number) {\n    if (this.getListItem(index)) {\n      this._highlightedIndex = index;\n      const item = this.getListItem(this._highlightedIndex);\n      if (item) {\n        if (this.input) this.input.ariaActiveDescendant = item.id;\n        if (this.listbox) this.listbox.ariaActiveDescendant.set(item.id);\n      }\n      if (this._highlightedIndex !== null) {\n        this.novaLibService.selectItem(this.getList(), this._highlightedIndex, 'highlighted');\n        this.novaLibService.deselectItems(this.getList(), this._highlightedIndex, 'highlighted');\n      }\n    }\n  }\n\n  selectItem(index: number) {\n    this.getListItem(index)?.selectItem();\n  }\n\n  /**\n   * @param index\n   * @returns ListboxItemComponent at index given.\n   */\n  getListItem(index: number | null) {\n    if (index === null || !this.currentListItems?.toArray()[index]) {\n      return;\n    }\n    return this.currentListItems.toArray()[index];\n  }\n\n  /**\n   * Update children (input and listbox) state based on parent state.\n   */\n  updateChildrenStates(prop: STATE) {\n    if (!this.input || !this.listbox) return;\n    switch (prop) {\n      case STATE.READONLY:\n        this.input.readonly = this.readonly;\n        break;\n      case STATE.DISABLED:\n        this.input.disabled = this.disabled;\n        this.listbox.disabled = this.disabled;\n        break;\n      case STATE.INVALID:\n        this.input.invalid = this.invalid;\n        this.listbox.invalid = this.invalid;\n        break;\n      case STATE.REQUIRED:\n        this.input.required = this.required;\n        this.listbox.required = this.required;\n        break;\n      default:\n        break;\n    }\n  }\n\n  currentID: string;\n  appendReadonlyText() {\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      if (this.readonly) {\n        const span = this.renderer.createElement('span');\n        this.renderer.addClass(span, 'v-sr');\n        this.currentID = this.UUIDService.getUUID('v-label-');\n        this.renderer.setAttribute(span, 'id', this.currentID);\n        const text = this.renderer.createText(' (read-only)');\n        this.renderer.appendChild(span, text);\n        this.renderer.appendChild(this.label.el.nativeElement, span);\n      } else {\n        this.renderer.removeChild(this.label.el.nativeElement, document.getElementById(this.currentID));\n      }\n    }\n  }\n\n  clearCombobox() {\n    this._activeIndex = null;\n    this._highlightedIndex = null;\n    this._prevActiveItem = null;\n    // unhighlight items, listbox will set all active items to false\n    if (this.input && this.listbox) {\n      this.input.ariaActiveDescendant = null;\n      this.listbox.ariaActiveDescendant.set(null);\n    }\n    this.novaLibService.deselectItems(this.getList(), undefined, 'highlighted');\n    if (this.input && this.input.value !== '') {\n      this.input.value = '';\n    }\n    if (this.listbox) {\n      if (this.listbox.multiselect && Array.isArray(this.listbox.value) && this.listbox.value.length > 0) {\n        this.listbox.value = [];\n      } else if (this.listbox.value) {\n        this.listbox.value = null;\n      }\n    }\n    this.filter.emit({\n      type: ComboboxFilterType.RESET,\n      listbox: this.listbox?.value || [],\n      input: this.input?.value || ''\n    });\n  }\n\n  /**\n   * @returns ListboxDirective\n   */\n  getList(): ListboxItemComponent[] {\n    return this.currentListItems?.toArray() || [];\n  }\n\n  findListItem(text: string): number {\n    if (!this.appReadyService.isBrowserAndDomAvailable()) return -1; // return if app is not bootstrapped and therefore we cannot access item native element\n    return this.currentListItems\n      ?.toArray()\n      .findIndex((item) => item.el.nativeElement.innerText.trim().toLowerCase() == text.toLowerCase());\n  }\n\n  onChange = (_: any) => {};\n\n  onTouched = (_: any) => {};\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: any): void {\n    this.value = value;\n    this.onChange(value);\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n\n  selector: '[v-content-card-body]'\n})\nexport class ContentCardBodyDirective {\n  constructor() {}\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-content-card-body\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    this.class = ['v-content-card-body'].join(' ');\n    return this.class;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-content-card-image]'\n})\nexport class ContentCardImageDirective {\n  constructor() {}\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-content-card-image\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    this.class = ['v-content-card-image'].join(' ');\n    return this.class;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-content-card-subtitle]'\n})\nexport class ContentCardSubtitleDirective {\n  constructor() {}\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-content-card-subtitle\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    this.class = ['v-content-card-subtitle'].join(' ');\n    return this.class;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-content-card-title-link]'\n})\nexport class ContentCardTitleLinkDirective {\n  constructor(readonly el: ElementRef) {} // used in content card directive\n\n  /**\n   * Disables link and sets content card to disabled when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  _disabled: boolean;\n\n  @HostBinding('attr.aria-disabled')\n  get hostDisabled() {\n    return this.disabled ? true : false;\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-content-card-title-link\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    this.class = ['v-content-card-title-link'].join(' ');\n    return this.class;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-content-card-title]'\n})\nexport class ContentCardTitleDirective {\n  constructor() {}\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-content-card-title\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    this.class = ['v-content-card-title'].join(' ');\n    return this.class;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterContentInit, ContentChild, Directive, HostBinding, HostListener, Input } from '@angular/core';\nimport { ContentCardTitleLinkDirective } from '../content-card-title-link/content-card-title-link.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-content-card]'\n})\nexport class ContentCardDirective implements AfterContentInit {\n  @ContentChild(ContentCardTitleLinkDirective) titleLink: ContentCardTitleLinkDirective;\n  /**\n   * Displays indicator line at the bottom of the card when true.\n   * @default false\n   */\n  @Input()\n  get indicator(): boolean {\n    return this._indicator;\n  }\n  set indicator(value: BooleanInput) {\n    this._indicator = coerceBooleanProperty(value);\n  }\n  _indicator: boolean;\n\n  /**\n   * Transforms card into a clickable card when true.\n   * @default false\n   */\n  @Input()\n  get clickable(): boolean {\n    return this._clickable;\n  }\n  set clickable(value: BooleanInput) {\n    this._clickable = coerceBooleanProperty(value);\n  }\n  _clickable: boolean;\n\n  /**\n   * Sets component as disabled when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  _disabled: boolean = false;\n\n  @HostBinding('attr.aria-disabled')\n  get hostDisabled() {\n    return this.disabled ? true : false;\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-content-card\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    return ['v-content-card', this.indicator ? 'v-content-card-border-block-end' : '', this.class].join(' ');\n  }\n\n  @HostListener('keydown.space', ['$event'])\n  onSpaceKeyDown(event: KeyboardEvent) {\n    if (this.clickable) {\n      //to prevent unnecessary scrolling\n      event.preventDefault();\n    }\n  }\n\n  @HostListener('click')\n  handleClick() {\n    if (this.clickable) {\n      const mainLink = this.titleLink.el.nativeElement;\n      // handle if a mainlink is not found\n      if (mainLink) {\n        mainLink.click();\n      }\n    }\n  }\n  constructor() {}\n\n  ngAfterContentInit(): void {\n    if (this.titleLink) {\n      this.disabled = this.disabled\n        ? this.disabled\n        : this.titleLink._disabled\n          ? (this.disabled = true)\n          : (this.disabled = false);\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport const MessageType = {\n  ERROR: 'error',\n  INFORMATION: 'information',\n  SUCCESS: 'success',\n  WARNING: 'warning',\n  CLOSE: 'close',\n  SUBTLE: 'subtle'\n} as const\n\nexport type MessageType = (typeof MessageType)[keyof typeof MessageType];\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { FlexDirective } from '../flex/flex.directive';\nimport { MessageType } from '../message/message.constants';\n\n@Component({\n  standalone: true,\n  imports: [CommonModule, A11yModule, FlexDirective],\n  selector: '[v-dialog]',\n  templateUrl: './dialog.component.html'\n})\nexport class DialogComponent implements OnInit {\n  dialogElement: HTMLDialogElement;\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-dialog-')\n   * @builtin true\n   */\n  @Input() id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * @ignore\n   */\n  @Input()\n  get messageType() {\n    return this._messageType;\n  }\n  set messageType(value) {\n    this._messageType = value;\n  }\n  _messageType: string;\n\n  public isOpen = false;\n\n  @HostBinding('attr.aria-modal')\n  get ariaModal(): string {\n    return 'true';\n  }\n  @HostBinding('attr.role')\n  get ariaRole(): string {\n    return 'dialog';\n  }\n\n  /**\n   * Aria attribute pointing to id of labelling element.\n   * @default '&lt;this.id&gt;-title'\n   * @builtin true\n   */\n  @Input('aria-labelledby') label: string;\n  @HostBinding('attr.aria-labelledby')\n  get ariaLabelledBy(): string {\n    return `${this.label}`;\n  }\n\n  /**\n   * Aria attribute pointing to id of descriptive element.\n   * @default '&lt;this.id&gt;-description'\n   * @builtin true\n   */\n  @Input('aria-describedby') descriptionLabel: string;\n  @HostBinding('attr.aria-describedby')\n  get ariaDescribedBy(): string {\n    return `${this.descriptionLabel}`;\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-dialog\n   * @default .v-dialog-default\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    return [\n      this.class,\n      'v-dialog',\n      this.messageType ? (this.messageType === MessageType.INFORMATION ? 'v-dialog-default' : '') : 'v-dialog-default'\n    ].join(' ');\n  }\n\n  constructor(private uuidService: UUIDService) {}\n\n  ngOnInit() {\n    this.id = this.id ? this.id : this.uuidService.getUUID('v-dialog-');\n    this.label = this.label ? this.label : `${this.id}-title`;\n    this.descriptionLabel = this.descriptionLabel ? this.descriptionLabel : `${this.id}-description`;\n  }\n}\n","<!--\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n -->\n<div cdkTrapFocus cdkTrapFocusAutoCapture vFlex vFlexRow>\n  <ng-content></ng-content>\n</div>\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input, OnInit } from '@angular/core';\nimport { DialogComponent } from '../dialog/dialog.component';\n\n@Directive({\n  standalone: true,\n  selector: '[v-dialog-header]'\n})\nexport class DialogHeaderDirective implements OnInit {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-dialog-header\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    return [this.class, 'v-dialog-header'].join(' ');\n  }\n  /**\n   * Sets custom id.\n   * @default '&lt;parent-dialog-id&gt;-label' if no id is provided\n   * @builtin true\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  constructor(private dialogComponent: DialogComponent) {}\n\n  ngOnInit() {\n    this.id = this.id || this.dialogComponent.label;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input, OnInit } from '@angular/core';\nimport { DialogComponent } from '../dialog/dialog.component';\n\n@Directive({\n  standalone: true,\n  selector: '[v-dialog-text]'\n})\nexport class DialogTextDirective implements OnInit {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClass(): string {\n    return [this.class].join(' ');\n  }\n  /**\n   * Sets custom id.\n   * @default '&lt;parent-dialog-id&gt;-description' if no id is provided.\n   * @builtin true\n   */\n  @Input()\n  id: string;\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  constructor(private dialogDirective: DialogComponent) {}\n\n  ngOnInit() {\n    this.id = this.id || this.dialogDirective.descriptionLabel;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport const DividerType = {\n  DEFAULT: 'default',\n  SECTION: 'section',\n  DECORATIVE: 'decorative',\n} as const\n\nexport type DividerType = (typeof DividerType)[keyof typeof DividerType];\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { DividerType } from './divider.constants';\n\n@Directive({\n  standalone: true,\n  selector: '[v-divider]'\n})\nexport class DividerDirective {\n  /**\n   * Sets divider style.\n   * @default 'default' / DividerType.DEFAULT\n   * @options 'default' | DividerType.DEFAULT | <br> 'section' | DividerType.SECTION | <br> 'decorative' | DividerType.DECORATIVE\n   */\n  @Input()\n  get dividerType(): DividerType {\n    return this._dividerType;\n  }\n  set dividerType(value: DividerType) {\n    this._dividerType = value;\n  }\n  _dividerType: DividerType = DividerType.DEFAULT;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-divider.v-divider-&lt;dividerType&gt;\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.class,\n      'v-divider',\n      this.dividerType !== DividerType.DEFAULT ? 'v-divider-' + this.dividerType : ''\n    ].join(' ');\n  }\n\n  @HostBinding('attr.aria-hidden')\n  get ariaHidden() {\n    return this.dividerType === DividerType.DECORATIVE ? 'true' : null;\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding } from '@angular/core';\n\n/**\n * The class, <code>class=\"v-icon-tow-color\"</code>, applied by this directive only changes Visa Library icons.\n */\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-icon-two-color], '\n})\nexport class DualIconDirective {\n  @HostBinding('class')\n  get hostClass(): string {\n    return 'v-icon-two-color';\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\nexport const ElevationType = {\n  NONE: 'none',\n  INSET: 'inset',\n  XS: 'xs',\n  SM: 'sm',\n  MD: 'md',\n  LG: 'lg',\n  XL: 'xl',\n  XXL: 'xxl'\n} as const;\n\nexport type ElevationType = (typeof ElevationType)[keyof typeof ElevationType];\n\n@Directive({\n  standalone: true,\n  selector: '[vElevation], '\n})\nexport class ElevationDirective {\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.vElevation === ElevationType.NONE || this.vElevation === ElevationType.INSET\n        ? `v-elevation-${this.vElevation}`\n        : '',\n      this.vElevation === ElevationType.XS ? 'v-elevation-xsmall' : '',\n      this.vElevation === ElevationType.SM ? 'v-elevation-small' : '',\n      this.vElevation === ElevationType.MD ? 'v-elevation-medium' : '',\n      this.vElevation === ElevationType.LG ? 'v-elevation-large' : '',\n      this.vElevation === ElevationType.XL ? 'v-elevation-xlarge' : '',\n      this.vElevation === ElevationType.XXL ? 'v-elevation-xxlarge' : ''\n    ].join(' ');\n  }\n\n  /**\n   * Applies elevation given.\n   */\n  @Input()\n  get vElevation(): ElevationType {\n    return this._vElevation;\n  }\n  set vElevation(value) {\n    this._vElevation = value;\n  }\n  _vElevation: ElevationType;\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-flag]'\n})\nexport class FlagDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-flag\n   */\n  @Input() class = ''; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-flag'].join(' ');\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-footer]'\n})\nexport class FooterDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-footer\n   */\n  @Input() class: string = 'v-footer';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class].join(' ');\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, NumberInput, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-progress-linear], [v-linear-progress]'\n})\nexport class LinearProgressDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-progress.v-progress-bar\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.class,\n      'v-progress',\n      'v-progress-bar',\n      this.determinate ? '' : 'v-progress-indeterminate',\n      this.determinate && this.percentage === this.max ? 'v-progress-complete' : '',\n      this.invalid ? 'v-progress-error' : ''\n    ].join(' ');\n  }\n\n  /**\n   * Sets progress to determinate when true.\n   * @default false\n   */\n  @Input()\n  get determinate(): boolean {\n    return this._determinate;\n  }\n  set determinate(value: BooleanInput) {\n    this._determinate = coerceBooleanProperty(value);\n  }\n  _determinate: boolean = false;\n\n  /**\n   * Marks progress as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n  }\n  _invalid: boolean = false;\n\n  /**\n   * Sets the percentage for a <code>determinate</code> progress bar.\n   * @default 0\n   */\n  @Input()\n  get percentage(): number {\n    return this._percentage;\n  }\n  set percentage(value: NumberInput) {\n    this._percentage = coerceNumberProperty(value);\n  }\n  _percentage: number = 0;\n\n  /**\n   * The max value for a <code>determinate</code> progress bar.\n   * @default 100\n   */\n  @Input()\n  get max(): number {\n    return this._max;\n  }\n  set max(value: NumberInput) {\n    this._max = coerceNumberProperty(value);\n  }\n  _max: number = 100;\n  @HostBinding('max')\n  get hostMax(): number {\n    if (this.determinate) {\n      return this.max;\n    } else return 1;\n  }\n\n  /**\n   * Hide indeterminate progress bar from screen readers when true.\n   * @default 'true' when <code>determinate</code> is false\n   * @default null when <code>determinate</code> is true\n   * @builtin true\n   */\n  @Input() ariaHidden: string | void | null = null;\n  @HostBinding('attr.aria-hidden')\n  get hostAriaHidden(): string | void | null {\n    if (this.ariaHidden) {\n      return this.ariaHidden;\n    }\n    if (!this.determinate) {\n      return 'true';\n    }\n    return null;\n  }\n\n  /**\n   * The current value for a <code>determinate</code> progress bar.\n   */\n  @Input()\n  get value(): number {\n    return this._value;\n  }\n  set value(value: NumberInput) {\n    this._value = coerceNumberProperty(value);\n  }\n  _value: number;\n  @HostBinding('attr.value')\n  get hostValue(): number | void {\n    if (this.determinate) {\n      return this.value ? this.value : this.percentage;\n    }\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { NumberInput } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { SpacingProperties } from '../nova-lib.constants';\n\n@Directive({\n  standalone: true,\n  selector:\n    '[vMT], ' + // margin block start\n    '[vMR], ' + // margin inline end\n    '[vMB], ' + // margin block end\n    '[vML], ' + // margin inline start\n    '[vMX], ' + // margin inline\n    '[vMY], ' + // margin block\n    '[vM], ' // all margins\n})\nexport class MarginDirective {\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.vMT || this.vMT === 0\n        ? this.convertToString(this.vMT).startsWith('-')\n          ? `-v-mt${this.vMT}`\n          : `v-mt-${this.vMT}`\n        : null,\n      this.vMR || this.vMR === 0\n        ? this.convertToString(this.vMR).startsWith('-')\n          ? `-v-mr${this.vMR}`\n          : `v-mr-${this.vMR}`\n        : null,\n      this.vMB || this.vMB === 0\n        ? this.convertToString(this.vMB).startsWith('-')\n          ? `-v-mb${this.vMB}`\n          : `v-mb-${this.vMB}`\n        : null,\n      this.vML || this.vML === 0\n        ? this.convertToString(this.vML).startsWith('-')\n          ? `-v-ml${this.vML}`\n          : `v-ml-${this.vML}`\n        : null,\n      this.vMX || this.vMX === 0\n        ? this.convertToString(this.vMX).startsWith('-')\n          ? `-v-mx${this.vMX}`\n          : `v-mx-${this.vMX}`\n        : null,\n      this.vMY || this.vMY === 0\n        ? this.convertToString(this.vMY).startsWith('-')\n          ? `-v-my${this.vMY}`\n          : `v-my-${this.vMY}`\n        : null,\n      this.vM || this.vM === 0\n        ? this.convertToString(this.vM).startsWith('-')\n          ? `-v-m${this.vM}`\n          : `v-m-${this.vM}`\n        : null\n    ].join(' ');\n  }\n\n  private convertToString(value: number | SpacingProperties | NumberInput): string {\n    return value ? value.toString() : '';\n  }\n\n  /**\n   * Sets margin-block-start property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vMT(): number | SpacingProperties | NumberInput {\n    return this._vMT;\n  }\n  set vMT(value) {\n    this._vMT = value;\n  }\n  _vMT: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets margin-inline-end property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vMR(): number | SpacingProperties | NumberInput {\n    return this._vMR;\n  }\n  set vMR(value) {\n    this._vMR = value;\n  }\n  _vMR: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets margin-block-end property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vMB(): number | SpacingProperties | NumberInput {\n    return this._vMB;\n  }\n  set vMB(value) {\n    this._vMB = value;\n  }\n  _vMB: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets margin-inline-start property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vML(): number | SpacingProperties | NumberInput {\n    return this._vML;\n  }\n  set vML(value) {\n    this._vML = value;\n  }\n  _vML: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets margin-inline property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vMX(): number | SpacingProperties | NumberInput {\n    return this._vMX;\n  }\n  set vMX(value) {\n    this._vMX = value;\n  }\n  _vMX: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets margin-block property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vMY(): number | SpacingProperties | NumberInput {\n    return this._vMY;\n  }\n  set vMY(value) {\n    this._vMY = value;\n  }\n  _vMY: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets margin property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vM(): number | SpacingProperties | NumberInput {\n    return this._vM;\n  }\n  set vM(value) {\n    this._vM = value;\n  }\n  _vM: number | SpacingProperties | NumberInput;\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-message-content]'\n})\nexport class MessageContentDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-message-content\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-message-content'].join(' ');\n  }\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-message-icon]'\n})\nexport class MessageIconDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-message-icon\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-message-icon'].join(' ');\n  }\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { MessageType } from './message.constants';\n\n@Directive({\n  standalone: true,\n  selector: '[v-message]'\n})\nexport class MessageDirective {\n  /**\n   * Sets message type.\n   * @default 'information' / MessageType.INFORMATION\n   * @options \"error\" | MessageType.ERROR | <br> \"information\" | MessageType.INFORMATION | <br> \"success\" | MessageType.SUCCESS | <br> \"warning\" | MessageType.WARNING | <br> \"close\" | MessageType.CLOSE | <br> \"subtle\" | MessageType.SUBTLE\n   */\n  @Input()\n  get messageType(): MessageType {\n    return this._messageType;\n  }\n  set messageType(value: MessageType) {\n    this._messageType = value;\n  }\n  _messageType: MessageType = MessageType.INFORMATION;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-message.v-message-&lt;messageType&gt;\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.class,\n      'v-message',\n      this.messageType != MessageType.INFORMATION ? `v-message-${this.messageType}` : ''\n    ].join(' ');\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  Input,\n  Output,\n  QueryList\n} from '@angular/core';\nimport { ButtonDirective } from '../button/button.directive';\nimport { NovaLibService } from '../nova-lib.service';\nimport { TabItemDirective } from '../tab-item/tab-item.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-tabs]'\n})\nexport class TabListDirective implements AfterContentInit {\n  @ContentChildren(TabListDirective, { descendants: true }) tabLists: QueryList<TabListDirective>;\n  @ContentChildren(TabItemDirective) tabs: QueryList<TabItemDirective>;\n  @ContentChildren(ButtonDirective, { descendants: true }) buttons: QueryList<ButtonDirective>;\n  _roleSetByUser = false; // prevents parent component from overriding if role if role is given directly by user\n  clickSubscriptions: any[] = [];\n  activeSubscriptions: any[] = [];\n  _nestedTabs: boolean = false;\n  _inNav: boolean = false;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-tabs.v-tabs-&lt;orientation&gt;\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-tabs', this.vertical ? 'v-tabs-vertical' : 'v-tabs-horizontal'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets tab list to vertical orientation when true.\n   * @default false\n   */\n  @Input()\n  get vertical(): BooleanInput {\n    return this._vertical;\n  }\n  set vertical(value: BooleanInput) {\n    this._vertical = coerceBooleanProperty(value);\n  }\n  _vertical: BooleanInput = false;\n  @HostBinding('attr.aria-orientation')\n  get hostOrientation(): string | void {\n    if (this.vertical && !this._inNav) return 'vertical';\n  }\n\n  /**\n   * Sets custom role.\n   * @default 'tablist'\n   * @default null if nested tab list or within Navigation.\n   * @builtin true\n   */\n  @Input()\n  get role(): string | null {\n    return this._role;\n  }\n  set role(value: string | null) {\n    this._role = value;\n    this._roleSetByUser = true;\n  }\n  _role: string | null = 'tablist';\n  @HostBinding('attr.role')\n  get hostRole(): string | null {\n    return this.role;\n  }\n\n  /**\n   * Emits selected tab index when new tab is selected.\n   */\n  @Output() activeTabIndex = new EventEmitter<number>();\n\n  constructor(\n    private novaLibService: NovaLibService,\n    private cdRef: ChangeDetectorRef,\n    private el: ElementRef\n  ) {}\n\n  ngAfterContentInit(): void {\n    if (this.tabLists) {\n      if (this.tabLists.length > 0) {\n        this._nestedTabs = true;\n        this.setUpNestedTabs();\n      }\n      this.tabLists.changes.subscribe(() => {\n        if (this.tabLists.length > 0) {\n          this._nestedTabs = true;\n          this.setUpNestedTabs();\n        }\n      });\n    }\n    if (this.tabs) {\n      if (this.tabs.length > 0) this.setUpTabs();\n      this.tabs.changes.subscribe(() => {\n        this.activeSubscriptions.forEach((subscription) => subscription.unsubscribe());\n        this.clickSubscriptions.forEach((subscription) => subscription.unsubscribe());\n        this.activeSubscriptions = [];\n        this.clickSubscriptions = [];\n        this.setUpTabs();\n        this.cdRef.detectChanges();\n      });\n    }\n  }\n\n  setUpNestedTabs() {\n    // remove tab/tablist roles in nested tab lists\n    // child button/a tags use aria-current=\"page\" instead of aria-selected\n    this.role = this._roleSetByUser ? this.role : null;\n    this.tabLists.forEach((tablist) => {\n      tablist.role = tablist._roleSetByUser ? tablist.role : null;\n\n      tablist.tabs.toArray().forEach((tab) => {\n        tab.role = tab._roleSetByUser && !tab._roleSetByTab ? tab.role : null;\n        if (tab.button) {\n          tab.button._isInNavOrNested = true;\n          tab.button.role = tab.button._roleSetByUser && !tab.button._roleSetByTab ? tab.button.role : null;\n          tab.button.ariaCurrent = tab.button.ariaSelected ? 'page' : null;\n        }\n      });\n    });\n  }\n\n  setUpTabs() {\n    if (this.buttons.length > 0) {\n      if (!this._inNav) {\n        this.setUpFocusListener();\n        this.novaLibService.addArrowKeyNavigation(\n          this.buttons.toArray(),\n          true,\n          this.vertical ? 'vertical' : 'horizontal'\n        );\n      }\n    }\n    this.tabs.toArray().forEach((tab, index) => {\n      if (tab._roleSetByUser && !tab._roleSetByTab) {\n        return;\n      } else if (this.role && !tab.sectionTitle && !tab.disclosureTab && !tab.trigger) {\n        tab.role = 'none';\n      } else {\n        tab.role = null;\n      }\n      this.activeSubscriptions[index] = tab.tabActive.subscribe(() => {\n        this.novaLibService.deselectItems(this.tabs.toArray(), index);\n      });\n\n      this.clickSubscriptions[index] = tab.clicked.subscribe(() => {\n        this.novaLibService.selectItem(this.tabs.toArray(), index);\n      });\n\n      if (tab.button) {\n        if (!tab.button._roleSetByUser) {\n          tab.button.role = this._nestedTabs ? null : 'tab';\n          tab.button._roleSetByTab = true;\n        }\n\n        // if uer did not set button role on vertical tab, make medium\n        if (\n          this.vertical &&\n          (!tab.button._buttonSizeSetByUser || (tab.button._buttonSizeSetByUser && tab._sizeSetByTab))\n        ) {\n          tab.button.buttonSize = 'medium';\n        }\n\n        if (!tab.disclosureTab && !tab.trigger && !tab.button.toggleIcon) {\n          if (this.tabLists.length > 0) {\n            tab.button.ariaCurrent = tab.active ? 'page' : null;\n          } else {\n            tab.button.ariaSelected = tab.active;\n          }\n        }\n        this.cdRef.detectChanges();\n      }\n    });\n  }\n\n  setUpFocusListener() {\n    this.buttons.toArray().forEach((button) => {\n      button.listeners.push(\n        button.blurred.subscribe((event) => {\n          // if focus is leaving the tab list, find the starting focusable tab for when the list receives focus again\n          // if focus stays in the tab list, relatedTarget will be a button within the tab list\n          if (!event.relatedTarget || !!this.el.nativeElement.contains(event.target)) {\n            this.novaLibService.findStartingFocus(this.buttons.toArray());\n          }\n        })\n      );\n    });\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  HostBinding,\n  Input,\n  QueryList\n} from '@angular/core';\nimport { NovaLibService } from '../nova-lib.service';\nimport { TabItemDirective } from '../tab-item/tab-item.directive';\nimport { TabListDirective } from '../tab-list/tab-list.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-nav]'\n})\nexport class NavDirective implements AfterContentInit {\n  @ContentChildren(TabListDirective, { descendants: true }) tabLists: QueryList<TabListDirective>;\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-nav\n   */\n  @Input()\n  get class(): string {\n    return [\n      this._class,\n      'v-nav',\n      this.vertical ? 'v-nav-vertical' : 'v-nav-horizontal',\n      this.drawer ? 'v-nav-drawer' : ''\n    ].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets navigation to vertical orientation when true.\n   * @default false\n   */\n  @Input()\n  get vertical(): boolean {\n    return this._vertical;\n  }\n  set vertical(value: BooleanInput) {\n    this._vertical = coerceBooleanProperty(value);\n  }\n  _vertical: boolean = false;\n\n  /**\n   * Sets navigation to drawer variation when true.\n   * @default false\n   */\n  @Input()\n  get drawer(): boolean {\n    return this._drawer;\n  }\n  set drawer(value: BooleanInput) {\n    this._drawer = coerceBooleanProperty(value);\n  }\n  _drawer: boolean = false;\n\n  constructor(\n    private cdRef: ChangeDetectorRef,\n    private novaLibService: NovaLibService\n  ) {}\n\n  ngAfterContentInit(): void {\n    if (this.tabLists) {\n      if (this.tabLists.length > 0) {\n        this.setUpTabLists();\n\n        this.tabLists.changes.subscribe(() => {\n          this.setUpTabLists();\n        });\n      }\n    }\n  }\n\n  setUpTabLists() {\n    // for all instances of TabListDirective\n    this.tabLists.forEach((list) => {\n      list._inNav = true;\n      list.role = list._roleSetByUser ? list.role : null;\n\n      if (list.tabs) {\n        if (list.tabs.length > 0) {\n          this.setUpTabs(list);\n        }\n\n        list.tabs.changes.subscribe(() => {\n          this.setUpTabs(list);\n        });\n      }\n      this.cdRef.detectChanges();\n    });\n  }\n\n  setUpTabs(list: TabListDirective) {\n    if (list.buttons) {\n      // remove arrow key navigation from tabs as links (in navigation)\n      this.novaLibService.resetNavigationBehaviors(list.buttons.toArray());\n    }\n    // tabs = array of TabItemDirective\n    list.tabs.forEach((tab: TabItemDirective) => {\n      tab.role = tab._roleSetByUser && !tab._roleSetByTab ? tab.role : null;\n\n      if (tab.button) {\n        tab.button._isInNavOrNested = true;\n        tab.button.role = tab.button._roleSetByUser && !tab.button._roleSetByTab ? tab.button.role : null;\n      }\n      this.cdRef.detectChanges();\n    });\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { NumberInput } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { SpacingProperties } from '../nova-lib.constants';\n\n@Directive({\n  standalone: true,\n  selector:\n    '[vPT], ' + // padding block start\n    '[vPR], ' + // padding inline end\n    '[vPB], ' + // padding block end\n    '[vPL], ' + // padding inline start\n    '[vPX], ' + // padding inline\n    '[vPY], ' + // padding block\n    '[vP], ' // all paddings\n})\nexport class PaddingDirective {\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.vPT || this.vPT === 0\n        ? this.convertToString(this.vPT).startsWith('-')\n          ? `-v-pt${this.vPT}`\n          : `v-pt-${this.vPT}`\n        : null,\n      this.vPR || this.vPR === 0\n        ? this.convertToString(this.vPR).startsWith('-')\n          ? `-v-pr${this.vPR}`\n          : `v-pr-${this.vPR}`\n        : null,\n      this.vPB || this.vPB === 0\n        ? this.convertToString(this.vPB).startsWith('-')\n          ? `-v-pb${this.vPB}`\n          : `v-pb-${this.vPB}`\n        : null,\n      this.vPL || this.vPL === 0\n        ? this.convertToString(this.vPL).startsWith('-')\n          ? `-v-pl${this.vPL}`\n          : `v-pl-${this.vPL}`\n        : null,\n      this.vPX || this.vPX === 0\n        ? this.convertToString(this.vPX).startsWith('-')\n          ? `-v-px${this.vPX}`\n          : `v-px-${this.vPX}`\n        : null,\n      this.vPY || this.vPY === 0\n        ? this.convertToString(this.vPY).startsWith('-')\n          ? `-v-py${this.vPY}`\n          : `v-py-${this.vPY}`\n        : null,\n      this.vP || this.vP === 0\n        ? this.convertToString(this.vP).startsWith('-')\n          ? `-v-p${this.vP}`\n          : `v-p-${this.vP}`\n        : null\n    ].join(' ');\n  }\n\n  private convertToString(value: number | SpacingProperties | NumberInput): string {\n    return value ? value.toString() : '';\n  }\n\n  /**\n   * Sets padding-block-start property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vPT(): number | SpacingProperties | NumberInput {\n    return this._vPT;\n  }\n  set vPT(value) {\n    this._vPT = value;\n  }\n  _vPT: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets padding-inline-end property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vPR(): number | SpacingProperties | NumberInput {\n    return this._vPR;\n  }\n  set vPR(value) {\n    this._vPR = value;\n  }\n  _vPR: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets padding-block-end property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vPB(): number | SpacingProperties | NumberInput {\n    return this._vPB;\n  }\n  set vPB(value) {\n    this._vPB = value;\n  }\n  _vPB: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets padding-inline-start property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vPL(): number | SpacingProperties | NumberInput {\n    return this._vPL;\n  }\n  set vPL(value) {\n    this._vPL = value;\n  }\n  _vPL: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets padding-inline property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vPX(): number | SpacingProperties | NumberInput {\n    return this._vPX;\n  }\n  set vPX(value) {\n    this._vPX = value;\n  }\n  _vPX: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets padding-block property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vPY(): number | SpacingProperties | NumberInput {\n    return this._vPY;\n  }\n  set vPY(value) {\n    this._vPY = value;\n  }\n  _vPY: number | SpacingProperties | NumberInput;\n\n  /**\n   * Sets padding property. <br>\n   * Accepts: 0 - 48 or <code>SpacingProperties</code>.\n   */\n  @Input()\n  get vP(): number | SpacingProperties | NumberInput {\n    return this._vP;\n  }\n  set vP(value) {\n    this._vP = value;\n  }\n  _vP: number | SpacingProperties | NumberInput;\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-pagination-overflow]'\n})\nexport class PaginationOverflowDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-pagination-overflow\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-pagination-overflow'].join(' ');\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Injectable, WritableSignal, signal } from '@angular/core';\n\n/**\n * Service to create pagination behavior. Intended for use with pagination component.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class PaginationService {\n  constructor() {}\n  /**\n   * Array of page numbers.\n   */\n  pageItems: number[] = <number[]>[];\n  /**\n   * Array of visible page numbers, set by <code>setPages()</code>.\n   */\n  visiblePages: WritableSignal<number[]> = signal<number[]>([]);\n  /**\n   * Current page number, set by <code>changePage()</code>.\n   */\n  currentPage: number = 1;\n  /**\n   * Number of pages to show in the middle section of the pagination, between ellipses.\n   */\n  middleLimit: number = 5;\n  /**\n   * Number of pages to show at the start and end of the pagination, before and after ellipses.\n   */\n  startEndLimit: number = 7;\n  /**\n   * First page number to start pagination with.\n   */\n  startPage: number = 1;\n  /**\n   * Total number of pages.\n   */\n  totalPages: number = 1;\n  /**\n   * Last page number, calculated as (this.totalPages + this.startPage - 1).\n   */\n  lastPage: WritableSignal<number> = signal(this.totalPages);\n  /**\n   * Signal to indicate if current page is the first page.\n   */\n  isFirst: WritableSignal<boolean> = signal<boolean>(false);\n  /**\n   * Signal to indicate if current page is the last page.\n   */\n  isLast: WritableSignal<boolean> = signal<boolean>(false);\n\n  /**\n   * The range method creates an array containing a sequence of numbers within a specified range, typically used for generating page numbers in pagination.\n   * @param start Starting number of range.\n   * @param size Size of array to return.\n   * @returns Array with numbers from start to start + size.\n   */\n  range(start: number, size: number) {\n    return [...Array(size).keys()].map((el) => el + start);\n  }\n\n  /**\n   * The setPages method sets the visible page block based on the current page, ensuring that the correct sequence of pages is displayed.\n   */\n  setPages() {\n    if (this.currentPage < this.startEndLimit + this.startPage) {\n      if (this.totalPages <= this.startEndLimit) {\n        // sets the visible pages if total pages is less than the middle limit (removes start and end page)\n        this.visiblePages.set(this.pageItems.slice(1, this.totalPages - 1));\n      } else {\n        //sets the start block if current page is in the start limit\n        this.visiblePages.set(this.pageItems.slice(1, this.startEndLimit));\n      }\n    }\n    //sets the end block if current page is in the end limit\n    else if (this.currentPage > this.pageItems[this.pageItems.length - 1] - this.startEndLimit) {\n      this.visiblePages.set(this.pageItems.slice(-this.startEndLimit, -1));\n    } else {\n      if (this.totalPages <= this.middleLimit) {\n        // sets the visible pages if total pages is less than the middle limit (removes start and end blocks)\n        this.visiblePages.set(this.pageItems.slice(1, this.totalPages - 1));\n      } else {\n        //sets the middle block if current page is in the middle limit\n        const startIndex = this.currentPage - Math.floor(this.middleLimit / 2) - this.startPage;\n        const endIndex = this.currentPage + Math.floor(this.middleLimit / 2) - this.startPage;\n        this.visiblePages.set(this.pageItems.slice(startIndex, endIndex + 1));\n      }\n    }\n  }\n\n  /**\n   * The changepage method sets the currentPage to the specified page and updates the visible pages, resetting to the starting page if the specified currentPage is out of the valid range.\n   * @param page Number to set as new current page.\n   * @returns New current page.\n   */\n  changePage(page: number) {\n    if (page == 0 || page > this.lastPage()) {\n      return (this.currentPage = this.startPage);\n    } else {\n      this.currentPage = page;\n      this.isFirst.set(this.currentPage === this.startPage);\n      this.isLast.set(this.currentPage === this.lastPage());\n\n      this.setPages();\n    }\n    return this.currentPage;\n  }\n\n  /**\n   * The initializePages method sets variables and visible pages for pagination. It should be called during initialization and will use default values unless values are set beforehand by assigning them directly to <code>PaginationService.variableName</code>.\n   * @param currentPage Current starting page to initialize pagination with.\n   */\n  initializePages(currentPage: number) {\n    this.currentPage = currentPage;\n    this.pageItems = this.range(this.startPage, this.totalPages);\n    this.isFirst.set(currentPage === this.startPage);\n    this.lastPage.set(this.totalPages + this.startPage - 1);\n    this.isLast.set(currentPage === this.lastPage());\n    this.setPages();\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { PaginationService } from './pagination.service';\n\n@Directive({\n  standalone: true,\n  selector: '[v-pagination]',\n  providers: [PaginationService]\n})\nexport class PaginationDirective {\n  constructor(public paginationService: PaginationService) {}\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-pagination\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-pagination'].join(' ');\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-panel-body]'\n})\nexport class PanelBodyDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-panel-body\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-panel-body'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { AfterContentInit, ContentChild, Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { TabListDirective } from '../tab-list/tab-list.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-panel-content]'\n})\nexport class PanelContentDirective implements AfterContentInit {\n  @ContentChild(TabListDirective) tabs: TabListDirective;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-panel-content.v-surface\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-panel-content', 'v-surface'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-panel-content-')\n   * @builtin true\n   */\n  @Input()\n  id: string = this.uuidService.getUUID('v-panel-content-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  constructor(\n    public el: ElementRef,\n    private uuidService: UUIDService\n  ) {}\n\n  ngAfterContentInit(): void {\n    if (this.tabs) {\n      this.tabs.class = [this.tabs.class, 'v-panel-tabs'].join(' ');\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input, OnInit } from '@angular/core';\nimport { ButtonDirective } from '../button/button.directive';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-panel-toggle]'\n})\nexport class PanelToggleDirective implements OnInit {\n  _expanded: boolean | null;\n  _responsive: boolean;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-panel-toggle\n   */\n  @Input()\n  get class(): string {\n    return [this._class, 'v-panel-toggle'].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  constructor(public button?: ButtonDirective) {}\n  ngOnInit() {\n    // if the panel is a dialog, don't set the aria-expanded attribute.\n    // if a button host exists, set the aria-expanded attribute to the button's aria-expanded attribute\n    // if the button does not have an aria-expanded attribute, set it to false\n    if (this._responsive) {\n      this._expanded = !this.button\n        ? null\n        : this.button.ariaExpanded\n          ? this.button.ariaExpanded\n          : (this.button.ariaExpanded = false);\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, Component, ContentChild, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { PanelContentDirective } from '../panel-content/panel-content.directive';\nimport { PanelToggleDirective } from '../panel-toggle-button/panel-toggle-button.directive';\n\n@Component({\n  standalone: true,\n  imports: [CommonModule],\n  // tslint:disable-next-line:component-selector\n  selector: '[v-panel]',\n  templateUrl: './panel.component.html'\n})\nexport class PanelComponent implements AfterContentInit {\n  @ContentChild(PanelContentDirective) panelContent: PanelContentDirective;\n  @ContentChild(PanelToggleDirective) toggleButton: PanelToggleDirective;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-panel\n   */\n  @Input()\n  get class(): string {\n    return [\n      this._class,\n      'v-panel',\n      this.responsive ? 'v-panel-responsive' : '',\n      this.expandable || this.toggleButton ? 'v-panel-expandable' : '',\n      this.skrim ? 'v-panel-skrim' : ''\n    ].join(' ');\n  }\n  set class(value: string) {\n    this._class = value;\n  }\n  _class: string = '';\n  @HostBinding('class')\n  get hostClass(): string {\n    return this.class;\n  }\n\n  /**\n   * Sets custom id.\n   * @default uuidService.getUUID('v-panel-')\n   * @builtin true\n   */\n  @Input()\n  id: string = this.uuidService.getUUID('v-panel-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Sets custom role.\n   * @default 'dialog' if panel is not responsive.\n   * @builtin true\n   */\n  @Input()\n  role: string | void;\n  @HostBinding('attr.role')\n  get hostRole(): string | void {\n    if (this.role) {\n      return this.role;\n    }\n  }\n\n  /**\n   * Adds skrim (shadow overlay) to modal variant (responsive=\"false\") when true.\n   * @default false\n   */\n  @Input()\n  get skrim(): boolean {\n    return this._skrim;\n  }\n  set skrim(value: BooleanInput) {\n    this._skrim = coerceBooleanProperty(value);\n  }\n  _skrim: boolean = false;\n\n  /**\n   * Sets panel to responsive variant when true and places panel on same layer as content around it.\n   * @default false\n   */\n  @Input()\n  get responsive(): boolean {\n    return this._responsive;\n  }\n  set responsive(value: BooleanInput) {\n    this._responsive = coerceBooleanProperty(value);\n  }\n  _responsive: boolean = false;\n\n  /**\n   * Sets panel to expandable variant when true.\n   * @default false\n   * @default true if panel contains a <code>PanelToggleDirective</code>.\n   */\n  @Input()\n  get expandable(): boolean {\n    return this._expandable;\n  }\n  set expandable(value: BooleanInput) {\n    this._expandable = coerceBooleanProperty(value);\n  }\n  _expandable: boolean = false;\n\n  /**\n   * Expands panel by default when true. <br />\n   * To be used when <code>expandable</code> is true.\n   * @default false\n   */\n  @Input()\n  get expanded(): boolean {\n    return this._expanded;\n  }\n  set expanded(value: BooleanInput) {\n    this._expanded = coerceBooleanProperty(value);\n    this.handleToggle();\n    this.panelToggled.emit(this.expanded);\n  }\n  _expanded: boolean = false;\n\n  /**\n   * Emits expanded state when panel is toggled (collapsed and expanded).\n   */\n  @Output() panelToggled = new EventEmitter<boolean>();\n\n  @HostBinding('attr.aria-modal')\n  get hostAriaModal(): string | void {\n    if (!this.responsive) {\n      return 'true';\n    }\n  }\n\n  constructor(private uuidService: UUIDService) {}\n\n  ngAfterContentInit(): void {\n    if (!this.responsive && !this.role) {\n      this.role = 'dialog';\n    }\n    if (this.toggleButton && this.toggleButton.button) {\n      this.toggleButton.button.ariaExpanded = this.expanded;\n      this.toggleButton._expanded = this.expanded;\n\n      this.toggleButton.button.clicked.subscribe(() => {\n        this.expanded = !this.expanded;\n      });\n\n      if (this.panelContent) {\n        this.toggleButton.button.ariaControls = this.panelContent.id;\n      }\n    }\n  }\n\n  handleToggle() {\n    if (this.toggleButton && this.toggleButton.button) {\n      this.toggleButton.button.ariaExpanded = this.expanded;\n      this.toggleButton._expanded = this.expanded;\n    }\n  }\n}\n","<!--\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n -->\n<ng-content select=\"[v-panel-toggle]\"></ng-content>\n<ng-content></ng-content>","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  HostBinding,\n  HostListener,\n  Input,\n  QueryList,\n  forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { RadioDirective } from '../radio/radio.directive';\n\n/**\n * This directive is used to group radio buttons together and manage their state. <br />\n * Typically used for a required group to relay that one of the group is required to be selected.\n */\n@Directive({\n  selector: '[v-radio-group]',\n  standalone: true,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => RadioGroupDirective),\n      multi: true\n    }\n  ]\n})\nexport class RadioGroupDirective implements ControlValueAccessor, AfterContentInit {\n  @ContentChildren(RadioDirective, { descendants: true }) radios: QueryList<RadioDirective>;\n  /**\n   * Marks radio group as required when true.\n   * @default false\n   */\n  @Input('required')\n  get groupRequired(): boolean {\n    return this._groupRequired;\n  }\n  set groupRequired(value: BooleanInput) {\n    this._groupRequired = coerceBooleanProperty(value);\n    this.updateChildrenState('required', this.groupRequired);\n  }\n  _groupRequired: boolean = false;\n  @HostBinding('attr.aria-required')\n  get ariaRequired(): string | void {\n    if (this.groupRequired) return 'true';\n  }\n\n  /**\n   * Sets radio group as disabled when true.\n   * @default false\n   */\n  @Input('disabled')\n  get groupDisabled(): boolean {\n    return this._groupDisabled;\n  }\n  set groupDisabled(value: BooleanInput) {\n    this._groupDisabled = coerceBooleanProperty(value);\n    this.updateChildrenState('disabled', this.groupDisabled);\n  }\n  _groupDisabled: boolean = false;\n  /** Fires when a formControl's disabled state updates  */\n  setDisabledState(isDisabled: boolean): void {\n    this.groupDisabled = isDisabled;\n  }\n\n  /**\n   * Marks radio group as invalid when true.\n   * @default false\n   */\n  @Input('invalid')\n  get groupInvalid(): boolean {\n    return this._groupInvalid;\n  }\n  set groupInvalid(value: BooleanInput) {\n    this._groupInvalid = coerceBooleanProperty(value);\n    this.updateChildrenState('invalid', this.groupInvalid);\n  }\n  _groupInvalid: boolean = false;\n\n  /**\n   * Sets custom role.\n   * @default radiogroup\n   * @builtin true\n   */\n  @Input() role: string = 'radiogroup';\n  @HostBinding('attr.role')\n  get hostRole() {\n    return this.role;\n  }\n\n  /**\n   * Value of radio group.\n   */\n  @Input()\n  get value() {\n    return this._value;\n  }\n  set value(value: string | number | null | undefined) {\n    this._value = value;\n    if (!value) this.clear();\n\n    this.onChange(value);\n    this.onTouched(value);\n  }\n  _value: string | number | null | undefined;\n\n  /**\n   * Shared name of radio group.\n   * @default this.uuidService.getUUID('v-radio-group-');\n   * @builtin true\n   */\n  @Input() name: string = this.uuidService.getUUID('v-radio-group-');\n\n  @HostListener('change', ['$event'])\n  handleChange(event: Event) {\n    const target = event.target as HTMLInputElement;\n    const selected = this.radios.find((radio) => radio.radioValue == target.value); // double equals so number can be compared to string\n    if (selected) {\n      this.value = selected.radioValue;\n      this.radios.forEach((radio) => (radio.checked = radio.radioValue === this.value));\n    }\n  }\n\n  @HostListener('blur', ['$event'])\n  handleBlur(event: Event) {\n    this.onTouched(event);\n  }\n\n  constructor(\n    public el: ElementRef,\n    private appReadyService: AppReadyService,\n    private cdRef: ChangeDetectorRef,\n    private uuidService: UUIDService\n  ) { }\n\n  ngAfterContentInit(): void {\n    if (this.radios) {\n      this.radios.forEach((radio) => {\n        radio.name = radio.name ? radio.name : this.name;\n      });\n\n      this.radios.changes.subscribe(() => {\n        this.radios.forEach((radio) => {\n          radio.name = radio.name ? radio.name : this.name;\n        });\n        this.cdRef.detectChanges();\n      });\n\n      if (this.value) {\n        // if value is given, select matching radio\n        this.selectRadio();\n      } else {\n        // if no value is given, see if a radio is selected and update value\n        const selected = this.radios.find((radio) => radio.checked);\n        if (selected) {\n          this.value = selected.radioValue;\n        }\n      }\n      if (this.groupDisabled) this.updateChildrenState('disabled', this.groupDisabled);\n      if (this.groupInvalid) this.updateChildrenState('invalid', this.groupInvalid);\n      if (this.groupRequired) this.updateChildrenState('required', this.groupRequired);\n    }\n  }\n\n  onChange = (_: any) => { };\n\n  onTouched = (_: any) => { };\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: string | number): void {\n    this.value = value;\n    this.selectRadio();\n\n    this.onChange(this.value);\n  }\n\n  selectRadio() {\n    const selected = this.radios?.find((radio) => radio.radioValue == this.value); // double equals so number can be compared to string\n    if (selected && !selected.checked) {\n      selected.checked = true;\n      if (this.appReadyService.isBrowserAndDomAvailable()) {\n        selected.el.nativeElement.checked = true;\n      }\n    }\n  }\n\n  clear() {\n    if (this.radios) {\n      // clear value from radio and visual check\n      this.radios.forEach((radio) => {\n        radio.checked = false;\n        if (this.appReadyService.isBrowserAndDomAvailable()) {\n          radio.el.nativeElement.checked = false;\n        }\n      });\n    }\n  }\n\n  updateChildrenState(prop: 'disabled' | 'invalid' | 'required', groupProp: boolean) {\n    if (this.radios) {\n      this.radios.forEach((radio) => {\n        radio[prop] = groupProp;\n      });\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[vSr], [vSR], [vScreenreader], [vScreenReader]'\n})\nexport class ScreenreaderOnlyDirective {\n  @HostBinding('class')\n  get hostClass(): string {\n    return 'v-sr';\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[v-section]'\n})\nexport class SectionMessageDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-section\n   */\n  @Input() class: string; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-section'].join(' ');\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Component } from '@angular/core';\n\n/**\n * Directive to provide a skip to content link.\n * @default .v-skip-to-content\n */\n/** @TODO make actual directive once class is in styles */\n@Component({\n  standalone: true,\n  selector: '[v-skip-to-content]',\n  template: '<ng-content></ng-content>',\n  styleUrl: './skip-to-content.component.scss'\n})\nexport class SkipToContentDirective {}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding } from '@angular/core';\n\n/**\n * Directive to add default surface class, <code>class=\"v-surface\"</code>, to the host element.\n */\n@Directive({\n  standalone: true,\n  // tslint:disable-next-line:directive-selector\n  selector: '[vSurface]'\n})\nexport class SurfaceDirective {\n  @HostBinding('class')\n  get hostClass(): string {\n    return 'v-surface';\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, Input, HostBinding } from '@angular/core';\n@Directive({\n  standalone: true,\n  selector: '[v-switch-label]'\n})\nexport class SwitchLabelDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-switch-label.v-label\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-switch-label v-label'].join(' ');\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, HostBinding, HostListener, Input, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\n@Directive({\n  standalone: true,\n  selector: '[v-switch]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => SwitchDirective),\n      multi: true\n    }\n  ]\n})\nexport class SwitchDirective implements ControlValueAccessor {\n  constructor(\n    private el: ElementRef,\n    private uuidService: UUIDService,\n    private appReadyService: AppReadyService\n  ) {}\n\n  /**\n   * Sets custom id.\n   * @default this.uuidService.getUUID('v-switch-')\n   * @builtin true\n   */\n  @Input() id: string = this.uuidService.getUUID('v-switch-');\n  @HostBinding('attr.id')\n  get hostId(): string {\n    return this.id;\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-switch\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-switch'].join(' ');\n  }\n\n  /**\n   * Sets switch as disabled when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  _disabled: boolean = false;\n  @HostBinding('attr.disabled')\n  get hostDisabled() {\n    return this.disabled ? 'disabled' : null;\n  }\n  /** Fires when a formControl's disabled state updates.  */\n  setDisabledState(isDisabled: boolean): void {\n    this._disabled = isDisabled;\n  }\n\n  /**\n   * Marks switch as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n  }\n  _invalid: boolean = false;\n  @HostBinding('attr.aria-invalid')\n  get hostAriaInvalid() {\n    return this.invalid;\n  }\n\n  /**\n   * Marks switch as required when true.\n   * @default false\n   */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n  }\n  _required: boolean = false;\n  @HostBinding('attr.required')\n  get hostRequired() {\n    return this.required ? 'required' : null;\n  }\n\n  /**\n   * Sets checked state of component.\n   * @default false\n   */\n  @Input()\n  get checked(): boolean {\n    return this._checked;\n  }\n  set checked(value: BooleanInput) {\n    this._checked = coerceBooleanProperty(value);\n    if (\n      this.appReadyService.isBrowserAndDomAvailable() &&\n      this.el?.nativeElement &&\n      this.el.nativeElement !== this.checked\n    ) {\n      this.el.nativeElement.checked = this.checked;\n    }\n  }\n  _checked: boolean = false;\n  @HostBinding('attr.checked')\n  @HostBinding('checked')\n  get hostAttrChecked() {\n    return this.checked ? 'checked' : null;\n  }\n\n  @HostBinding('attr.aria-checked')\n  get hostAriaChecked() {\n    return this.checked;\n  }\n\n  @HostBinding('attr.role')\n  get hostRole(): string {\n    return 'switch';\n  }\n\n  @HostBinding('attr.type')\n  get hostType(): string {\n    return 'checkbox';\n  }\n\n  val: string | null = '';\n  set value(value: string | null) {\n    this.val = value;\n    this.checked = value;\n\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.el.nativeElement.checked = value;\n    }\n\n    this.onChange(value);\n  }\n\n  @HostListener('change', ['$event'])\n  handleChange(event: Event) {\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.onChange(this.el.nativeElement.checked);\n      this.checked = this.el.nativeElement.checked;\n    }\n  }\n\n  @HostListener('focus', ['$event'])\n  handleFocus(event: Event) {\n    this.onTouched(event);\n  }\n\n  @HostListener('blur', ['$event'])\n  handleBlur(event: Event) {}\n\n  onChange = (_: any) => {};\n\n  onTouched = (_: any) => {};\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: string): void {\n    this.val = value ? value : null;\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      this.el.nativeElement.checked = value ? value : null;\n    }\n    this.checked = value ? value : null;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-table-wrapper]'\n})\nexport class TableWrapperDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-table-wrapper\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-table-wrapper'].join(' ');\n  }\n\n  /**\n   * Sets CSS variable <code>--v-table-wrapper-inline-size</code> to customize the inline size of the scroll area.\n   */\n  @Input()\n  get scrollInlineSize(): string {\n    return this._scrollInlineSize;\n  }\n  set scrollInlineSize(inlineSize) {\n    this._scrollInlineSize = `${inlineSize}px`;\n  }\n  _scrollInlineSize: string;\n\n  /**\n   * Sets CSS variable <code>--v-table-wrapper-block-size</code> to customize the block size of the scroll area.\n   */\n  @Input()\n  get scrollBlockSize(): string {\n    return this._scrollBlockSize;\n  }\n  set scrollBlockSize(blockSize) {\n    this._scrollBlockSize = `${blockSize}px`;\n  }\n  _scrollBlockSize: string;\n\n  @HostBinding('style.--v-table-wrapper-inline-size')\n  get hostStylesInlineSize(): string {\n    return this._scrollInlineSize ? `${this._scrollInlineSize}` : 'unset';\n  }\n\n  @HostBinding('style.--v-table-wrapper-block-size')\n  get hostStylesBlockSize(): string {\n    return this._scrollBlockSize ? `${this._scrollBlockSize}` : 'unset';\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport const TableSize = {\n  COMPACT: 'compact',\n  MEDIUM: 'medium',\n  LARGE: 'large',\n} as const\n\nexport type TableSize = (typeof TableSize)[keyof typeof TableSize];\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { TableSize } from './table.constants';\n\n@Directive({\n  standalone: true,\n  selector: '[v-table]'\n})\nexport class TableDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-table\n   */\n  @Input() class: string;\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [\n      this.class,\n      'v-table',\n      this.keyValue ? 'v-table-key-value' : '',\n      this.alternate ? 'v-table-alt' : '',\n      this.subtle ? 'v-table-subtle' : '',\n      this.dividerLines ? 'v-table-border' : '',\n      this.horizontalDividerLines ? 'v-table-border-block' : ''\n    ].join(' ');\n  }\n\n  /**\n   * Sets table as subtle variant when true.\n   * @default false\n   */\n  @Input()\n  get subtle(): boolean {\n    return this._subtle;\n  }\n  set subtle(value: BooleanInput) {\n    this._subtle = coerceBooleanProperty(value);\n  }\n  _subtle: boolean = false;\n\n  /**\n   * Adds vertical and horizontal divider lines when true.\n   * @default false\n   */\n  @Input()\n  get dividerLines(): boolean {\n    return this._dividerLines;\n  }\n  set dividerLines(value: BooleanInput) {\n    this._dividerLines = coerceBooleanProperty(value);\n  }\n  _dividerLines: boolean = false;\n\n  /**\n   * Adds horizontal divider lines when true.\n   * @default false\n   */\n  @Input()\n  get horizontalDividerLines(): boolean {\n    return this._horizontalDividerLines;\n  }\n  set horizontalDividerLines(value: BooleanInput) {\n    this._horizontalDividerLines = coerceBooleanProperty(value);\n  }\n  _horizontalDividerLines: boolean = false;\n\n  /**\n   * Sets table as key-value variant when true.\n   * @default false\n   */\n  @Input()\n  get keyValue(): boolean {\n    return this._keyValue;\n  }\n  set keyValue(value: BooleanInput) {\n    this._keyValue = coerceBooleanProperty(value);\n  }\n  _keyValue: boolean = false;\n\n  /**\n   * Sets table as alternate variant when true (alternate rows have different background color).\n   * @default false\n   */\n  @Input()\n  get alternate(): boolean {\n    return this._alternate;\n  }\n  set alternate(value: BooleanInput) {\n    this._alternate = coerceBooleanProperty(value);\n  }\n  _alternate: boolean = false;\n\n  @HostBinding('style.--v-table-data-block-default')\n  get hostTableBlockDefault(): string | void {\n    switch (this._tableSize) {\n      case 'compact':\n        return 'var(--v-table-data-block-small)';\n      case 'medium':\n        return '';\n      case 'large':\n        return 'var(--v-table-data-block-large)';\n      default:\n        return '';\n    }\n  }\n\n  @HostBinding('style.--v-table-data-padding-block-default')\n  get hostTablePaddingBlock(): string | void {\n    switch (this._tableSize) {\n      case 'compact':\n        return 'var(--v-table-data-padding-block-small)';\n      case 'medium':\n        return '';\n      case 'large':\n        return 'var(--v-table-data-padding-block-large)';\n      default:\n        return '';\n    }\n  }\n\n  /**\n   * Sets table size.\n   * @default 'medium' / TableSize.MEDIUM\n   * @options 'compact' | TableSize.COMPACT | <br> 'medium' | TableSize.MEDIUM | <br> 'large' | TableSize.LARGE\n   */\n  @Input()\n  get tableSize(): TableSize {\n    return this._tableSize;\n  }\n  set tableSize(value: TableSize) {\n    this._tableSize = value;\n  }\n  _tableSize: TableSize = TableSize.MEDIUM;\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-tbody]'\n})\nexport class TbodyDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class].join(' ');\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-td]'\n})\nexport class TdDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-td\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-td'].join(' ');\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterContentInit, Directive, HostBinding, Input } from '@angular/core';\nimport { TableDirective } from '../table/table.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-th]'\n})\nexport class ThDirective implements AfterContentInit {\n  private _cellHeaderClass: string = 'v-th';\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, this._groupHeader ? 'v-th-alt v-typography-overline' : this._cellHeaderClass].join(' ');\n  }\n\n  /**\n   * Alternate header for when there are two levels of headers (group headers).\n   */\n  @Input()\n  get groupHeader(): boolean {\n    return this._groupHeader;\n  }\n  set groupHeader(value: BooleanInput) {\n    this._groupHeader = coerceBooleanProperty(value);\n  }\n  _groupHeader: boolean;\n\n  constructor(private tableDirective: TableDirective) {}\n\n  ngAfterContentInit() {\n    this.tableDirective._keyValue ? (this._cellHeaderClass = 'v-td') : (this._cellHeaderClass = 'v-th');\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, HostBinding, Input } from '@angular/core';\nimport { BaseInteractiveDirective } from '../_utilities/angular-specific-directives/base-interactive.directive';\nimport { UUIDService } from '../_utilities/services/uuid.service';\n\n@Directive({\n  standalone: true,\n  selector: 'button[v-toggle]'\n})\nexport class ToggleButtonDirective extends BaseInteractiveDirective {\n  /**\n   * Sets the `aria-pressed` attribute to indicate the pressed state of the button.\n   * @default false\n   */\n  @Input()\n  get active(): boolean {\n    return this._active;\n  }\n  set active(value: BooleanInput) {\n    this._active = coerceBooleanProperty(value);\n  }\n  private _active: boolean = false;\n\n  @HostBinding('attr.aria-pressed')\n  get ariaPressed(): string {\n    return this.active.toString();\n  }\n\n  /**\n   * Disables button when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n  _disabled: boolean = false;\n  @HostBinding('attr.aria-disabled')\n  get hostAriaDisabled(): string | void {\n    if (this.disabled) return 'true';\n  }\n  @HostBinding('disabled')\n  @HostBinding('attr.disabled')\n  get hostDisabled(): string | void {\n    if (this.disabled) return 'disabled';\n  }\n\n  /**\n   * Sets the value of the button to be used in the toggle container.\n   * @default this.uuidService.getUUID('v-toggle-button-')\n   */\n  @Input()\n  get value(): string | number {\n    return this._value;\n  }\n  set value(val: string | number) {\n    this._value = val;\n  }\n  _value: string | number = this.uuidService.getUUID('v-toggle-button-');\n\n  constructor(\n    private uuidService: UUIDService,\n    el: ElementRef\n  ) {\n    super(el);\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  forwardRef,\n  HostBinding,\n  HostListener,\n  Input,\n  QueryList\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { UUIDService } from '../_utilities/services/uuid.service';\nimport { CheckboxDirective } from '../checkbox/checkbox.directive';\nimport { RadioDirective } from '../radio/radio.directive';\nimport { ToggleButtonDirective } from '../toggle-button/toggle-button.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-toggle-container]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => ToggleContainerDirective),\n      multi: true\n    }\n  ]\n})\nexport class ToggleContainerDirective implements ControlValueAccessor, AfterContentInit {\n  @ContentChildren(RadioDirective, { descendants: true })\n  radios: QueryList<RadioDirective>;\n  @ContentChildren(CheckboxDirective, { descendants: true })\n  checkboxes: QueryList<CheckboxDirective>;\n  @ContentChildren(ToggleButtonDirective, { descendants: true })\n  buttons: QueryList<ToggleButtonDirective>;\n\n  /**\n   * Sets custom name.\n   * @default this.uuidService.getUUID('v-toggle-');\n   * @builtin true\n   */\n  @Input() name: string = this.uuidService.getUUID('v-toggle-');\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-toggle-container\n   */\n  @Input() class: string = 'v-toggle-container';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return this.class;\n  }\n\n  /**\n   * Allows multiple buttons to be selected when true. <br />\n   * To be used with child Button components, not Radio or Checkbox.\n   * @default false\n   */\n  @Input()\n  get multiselect(): boolean {\n    return this._multiselect;\n  }\n  set multiselect(value: BooleanInput) {\n    this._multiselect = coerceBooleanProperty(value);\n  }\n  _multiselect: boolean = false;\n\n  /**\n   * Sets component as disabled when true.\n   * @default false\n   */\n  @Input()\n  get disabled(): boolean {\n    return this._disabled;\n  }\n  set disabled(value: BooleanInput) {\n    this._disabled = coerceBooleanProperty(value);\n    this.informDisabledState();\n  }\n  _disabled: boolean = false;\n  @HostBinding('disabled')\n  get hostDisabled() {\n    return this.disabled ? 'disabled' : null;\n  }\n  /** Fires when a formControl's disabled state updates.  */\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n  /**\n   * Marks component as invalid when true.\n   * @default false\n   */\n  @Input()\n  get invalid(): boolean {\n    return this._invalid;\n  }\n  set invalid(value: BooleanInput) {\n    this._invalid = coerceBooleanProperty(value);\n  }\n  _invalid: boolean = false;\n  @HostBinding('attr.aria-invalid')\n  get ariaInvalid() {\n    return this.invalid;\n  }\n\n  /**\n   * Marks component as required when true.\n   * @default false\n   */\n  @Input()\n  get required(): boolean {\n    return this._required;\n  }\n  set required(value: BooleanInput) {\n    this._required = coerceBooleanProperty(value);\n  }\n  _required: boolean = false;\n\n  /**\n   * Value of toggle button.\n   */\n  @Input()\n  get value() {\n    return this._value;\n  }\n  set value(value: (string | number)[] | string | number | null) {\n    let tempValue = value;\n    // convert single value to array if multiselect\n    if ((this.multiselect || this.checkboxes?.length > 0) && tempValue && !Array.isArray(tempValue)) {\n      tempValue = [tempValue];\n    }\n    this._value = tempValue;\n    if ((this.multiselect && (this.value as (string | number)[])?.length === 0) || !this._value) {\n      this.clear();\n    } else {\n      this.updateValue(this._value);\n    }\n\n    this.onChange(this.value);\n    this.onTouched(this.value);\n  }\n  _value: (string | number)[] | string | number | null;\n\n  updateValue(value: (string | number)[] | string | number | null) {\n    if (this.multiselect) {\n      if (this.buttons?.length > 0) {\n        // if the active buttons do not reflect the new value..\n        if (this.buttons.filter((b) => b.active).map((b) => b.value) != (this.value as (string | number)[])) {\n          // update them\n          this.buttons.forEach((button) => {\n            button.active = (value as (string | number)[]).includes(button.value);\n          });\n        }\n      } else if (this.checkboxes?.length > 0) {\n        // if the checked checkboxes do not reflect the new value..\n        if (this.checkboxes.filter((c) => c.checked).map((c) => c.checkboxValue) != (value as (string | number)[])) {\n          // update them\n          this.checkboxes.forEach((checkbox) => {\n            this.updateCheckboxRadioVal(checkbox, (value as (string | number)[]).includes(checkbox.checkboxValue));\n          });\n        }\n      }\n    } else {\n      if (this.buttons?.length > 0) {\n        // if the active button does not reflect the new value..\n        if (this.buttons.find((b) => b.active)?.value != (value as string | number)) {\n          // update it\n          this.buttons.forEach((button) => {\n            button.active = button.value === value;\n          });\n        }\n      } else if (this.radios?.length > 0) {\n        // if the checked radio does not reflect the new value..\n        if (this.radios.find((r) => r.checked)?.radioValue != (value as string | number)) {\n          // update it\n          this.radios.forEach((radio) => {\n            this.updateCheckboxRadioVal(radio, radio.radioValue === value);\n          });\n        }\n      }\n    }\n    this.onChange(this.value);\n  }\n\n  constructor(\n    private uuidService: UUIDService,\n    private cdRef: ChangeDetectorRef,\n    private appReadyService: AppReadyService\n  ) {}\n\n  ngAfterContentInit(): void {\n    this.multiselect = this.multiselect ? this.multiselect : this.checkboxes?.length > 0 ? true : false;\n    if (this.value) {\n      this.writeValue(this.value);\n    }\n    if (this.disabled) {\n      this.informDisabledState();\n    }\n    if (this.buttons && this.buttons.length > 0) {\n      this.setUpButtons();\n\n      this.buttons.changes.subscribe(() => {\n        this.unsubscribeFromListeners(this.buttons);\n        this.setUpButtons();\n        this.cdRef.detectChanges();\n      });\n    }\n    if (this.radios && this.radios.length > 0) {\n      // single select, using radios\n      this.setUpRadios();\n\n      this.radios.changes.subscribe(() => {\n        this.unsubscribeFromListeners(this.radios);\n        this.setUpRadios();\n        this.cdRef.detectChanges();\n      });\n    }\n    if (this.checkboxes && this.checkboxes.length > 0) {\n      // multiselect, using checkboxes\n      this.setUpCheckboxes();\n\n      this.checkboxes.changes.subscribe(() => {\n        this.unsubscribeFromListeners(this.checkboxes);\n        this.setUpCheckboxes();\n        this.cdRef.detectChanges();\n      });\n    }\n  }\n\n  @HostListener('blur', ['$event'])\n  handleBlur(event: Event) {\n    this.onTouched(event);\n  }\n\n  setUpButtons() {\n    this.buttons.forEach((button) => {\n      button.listeners.push(\n        button.clicked.subscribe(() => {\n          if (this.multiselect) {\n            button.active = !button.active;\n            const tempValue = (this.value as (string | number)[]) || [];\n            if (button.active) {\n              this.value = [...tempValue, button.value];\n            } else {\n              this.value = tempValue.filter((v) => v !== button.value);\n            }\n          } else {\n            if (this.value === button.value) return;\n            this.buttons.forEach((b) => {\n              b.active = false;\n            });\n            button.active = true;\n            this.value = button.value;\n          }\n        })\n      );\n    });\n    // find active buttons and set value\n    const activeValues = this.buttons.filter((b) => b.active).map((b) => b.value);\n    if (this.multiselect && this.value !== activeValues) {\n      this.value = activeValues;\n    } else if (!this.multiselect && this.value !== activeValues[0]) {\n      this.value = activeValues[0];\n    }\n  }\n\n  setUpRadios() {\n    this.radios.forEach((radio) => {\n      radio.radioValue = radio.radioValue ? radio.radioValue : this.uuidService.getUUID('v-radio-');\n      radio.name = radio.name ? radio.name : this.name;\n      // find checked radio buttons and set value\n      radio.listeners.push(\n        radio.clicked.subscribe(() => {\n          if (this.value !== radio.radioValue) {\n            this.value = radio.radioValue;\n          }\n        })\n      );\n    });\n    const activeValues = this.radios.find((r) => r.checked);\n    if (activeValues && this.value !== activeValues.radioValue) {\n      this.value = activeValues.radioValue;\n    }\n  }\n\n  setUpCheckboxes() {\n    this.checkboxes.forEach((checkbox) => {\n      checkbox.checkboxValue = checkbox.checkboxValue\n        ? checkbox.checkboxValue\n        : this.uuidService.getUUID('v-checkbox-');\n      checkbox.listeners.push(\n        checkbox.clicked.subscribe((event) => {\n          if (event.target.checked) {\n            // add value\n            this.value = [...(this.value as (string | number)[]), checkbox.checkboxValue];\n          } else {\n            // remove value\n            this.value = (this.value as (string | number)[]).filter((v) => v !== checkbox.checkboxValue);\n          }\n        })\n      );\n    });\n    // find checked checkboxes and set value\n    const activeValues = this.checkboxes.filter((c) => c.checked).map((c) => c.checkboxValue);\n    if (activeValues && this.value !== activeValues) {\n      this.value = activeValues;\n    }\n  }\n\n  onChange = (_: any) => {};\n\n  onTouched = (_: any) => {};\n\n  registerOnChange(fn: any) {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any) {\n    this.onTouched = fn;\n  }\n\n  writeValue(value: (string | number)[] | string | number | null): void {\n    this.value = value;\n  }\n\n  clear() {\n    // clear value from radio and visual check\n    this.radios?.forEach((radio) => {\n      this.updateCheckboxRadioVal(radio);\n    });\n\n    this.checkboxes?.forEach((checkbox) => {\n      this.updateCheckboxRadioVal(checkbox);\n    });\n\n    this.buttons?.forEach((button) => {\n      button.active = false;\n    });\n\n    if (this.multiselect && this.value && (this.value as (string | number)[]).length > 0) {\n      this.value = [];\n    } else if (this.value) {\n      this.value = null;\n    }\n  }\n\n  updateCheckboxRadioVal(item: RadioDirective | CheckboxDirective, checked: boolean = false) {\n    item.checked = checked;\n    if (this.appReadyService.isBrowserAndDomAvailable()) {\n      item.el.nativeElement.checked = checked;\n    }\n  }\n\n  unsubscribeFromListeners(\n    items: QueryList<RadioDirective> | QueryList<CheckboxDirective> | QueryList<ToggleButtonDirective>\n  ) {\n    items.forEach((item) => {\n      item.listeners.forEach((sub) => {\n        sub.unsubscribe();\n      });\n    });\n  }\n\n  informDisabledState() {\n    if (this.buttons) {\n      this.buttons.forEach((button) => {\n        button.disabled = this.disabled;\n      });\n    }\n    if (this.radios) {\n      this.radios.forEach((radio) => {\n        radio.disabled = this.disabled;\n      });\n    }\n    if (this.checkboxes) {\n      this.checkboxes.forEach((checkbox) => {\n        checkbox.disabled = this.disabled;\n      });\n    }\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterContentInit, ContentChild, Directive, HostBinding, Input } from '@angular/core';\nimport { CheckboxDirective } from '../checkbox/checkbox.directive';\nimport { RadioDirective } from '../radio/radio.directive';\n\n@Directive({\n  standalone: true,\n  selector: '[v-toggle]'\n})\nexport class ToggleDirective implements AfterContentInit {\n  @ContentChild(RadioDirective) radio: RadioDirective;\n  @ContentChild(CheckboxDirective) checkbox: CheckboxDirective;\n\n  /**\n   * Sets the `for` attribute to the id of the radio or checkbox.\n   * @default &lt;radio-id&gt; or &lt;checkbox-id&gt;\n   * @builtin true\n   */\n  @Input() for: string;\n  @HostBinding('attr.for')\n  get hostFor(): string {\n    return this.for;\n  }\n\n  /**\n   * Adds <code>v-toggle-icon</code> class for when toggle has icons only.\n   * @default false\n   */\n  @Input()\n  get toggleIcon(): boolean {\n    return this._toggleIcon;\n  }\n  set toggleIcon(value: BooleanInput) {\n    this._toggleIcon = coerceBooleanProperty(value);\n  }\n  _toggleIcon: boolean = false;\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-toggle\n   */\n  @Input() class: string = 'v-toggle';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, this.toggleIcon ? this.class + '-icon' : ''].join(' ');\n  }\n\n  ngAfterContentInit() {\n    this.radio?.id ? (this.for = this.radio.id) : '';\n    this.checkbox?.id ? (this.for = this.checkbox.id) : '';\n    if (this.radio) this.radio._isToggle = true;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n  standalone: true,\n  selector: '[v-tr]'\n})\nexport class TrDirective {\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   */\n  @Input() class: string = '';\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class].join(' ');\n  }\n\n  constructor() {}\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\nexport const TypographyColor = {\n  Default: 'default',\n  Active: 'active',\n  Subtle: 'subtle',\n  OnActive: 'on-active'\n} as const;\n\nexport type TypographyColor = (typeof TypographyColor)[keyof typeof TypographyColor];\n\n@Directive({\n  standalone: true,\n  selector: '[vTypographyColor], [vFontColor]'\n})\nexport class TypographyColorDirective {\n  @HostBinding('class')\n  get hostClasses(): string | void {\n    if (this.vTypographyColor) {\n      return `v-typography-color-${this.vTypographyColor}`;\n    }\n  }\n\n  /**\n   * Applies given typography color class.\n   */\n  @Input()\n  get vTypographyColor(): TypographyColor | '' | null {\n    return this._vTypographyColor;\n  }\n  set vTypographyColor(value) {\n    this._vTypographyColor = value;\n  }\n\n  /**\n   * Applies given typography color class. <br>\n   * Can be used as a more succinct alias for <code>vTypographyColor</code>.\n   */\n  @Input()\n  get vFont(): TypographyColor | '' | null {\n    return this._vTypographyColor;\n  }\n\n  set vFont(value: TypographyColor | '' | null) {\n    this._vTypographyColor = value;\n  }\n  _vTypographyColor: TypographyColor | '' | null;\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Directive, HostBinding, Input } from '@angular/core';\n\nexport const TypographyType = {\n  Display1: 'display-1',\n  Display2: 'display-2',\n  Headline1: 'headline-1',\n  Headline2: 'headline-2',\n  Headline3: 'headline-3',\n  Headline4: 'headline-4',\n  Subtitle1: 'subtitle-1',\n  Subtitle2: 'subtitle-2',\n  Subtitle3: 'subtitle-3',\n  Overline: 'overline',\n  Body1: 'body-1',\n  Body2: 'body-2',\n  Body2Bold: 'body-2-bold',\n  Body2Link: 'body-2-link',\n  Body2Medium: 'body-2-medium',\n  Body3: 'body-3',\n  ButtonSmall: 'button-small',\n  ButtonMedium: 'button-medium',\n  ButtonLarge: 'button-large',\n  Label: 'label',\n  LabelSmall: 'label-small',\n  LabelActive: 'label-active',\n  LabelLarge: 'label-large',\n  LabelLargeActive: 'label-large-active',\n  LabelSmallActive: 'label-small-active'\n} as const;\n\nexport type TypographyType = (typeof TypographyType)[keyof typeof TypographyType];\n\n@Directive({\n  standalone: true,\n  selector: '[vTypography], [vFont]'\n})\nexport class TypographyDirective {\n  @HostBinding('class')\n  get hostClasses(): string | void {\n    if (this.vTypography) {\n      return `v-typography-${this.vTypography}`;\n    }\n  }\n\n  /**\n   * Applies given typography class.\n   */\n  @Input()\n  get vTypography(): TypographyType | '' | null {\n    return this._vTypography;\n  }\n  set vTypography(value) {\n    this._vTypography = value;\n  }\n\n  /**\n   * Applies given typography class. <br>\n   * Can be used as a more succinct alias for <code>vTypography</code>.\n   */\n  @Input()\n  get vFont(): TypographyType | '' | null {\n    return this._vTypography;\n  }\n  set vFont(value: TypographyType | '' | null) {\n    this._vTypography = value;\n  }\n  _vTypography: TypographyType | '' | null;\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { NumberInput } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n  standalone: true,\n  imports: [CommonModule],\n  selector: '[v-logo-visa]',\n  templateUrl: './visa-logo.component.html'\n})\nexport class VisaLogoComponent {\n  /**\n   * Sets height of logo image.\n   * @default 23\n   */\n  @Input()\n  height: NumberInput = 23;\n  @HostBinding('attr.height')\n  get hostHeight() {\n    return this.height;\n  }\n\n  /**\n   * Sets width of logo image.\n   * @default 71\n   */\n  @Input() width: NumberInput = 71;\n  @HostBinding('attr.width')\n  get hostWidth() {\n    return this.width;\n  }\n\n  // viewBox set to original dimensions of logo svg\n  @HostBinding('attr.viewBox')\n  get hostViewbox() {\n    return '0 0 156 51';\n  }\n\n  /**\n   * Provides custom class&#40;es&#41; for custom styling.\n   * @default .v-logo\n   */\n  @Input() class: string; // override the standard class attr with a new one.\n  @HostBinding('class')\n  get hostClasses(): string {\n    return [this.class, 'v-logo'].join(' ');\n  }\n}\n","<!--\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n -->\n<svg:path\n  fill-rule=\"evenodd\"\n  clip-rule=\"evenodd\"\n  d=\"M111.134 33.9989C111.164 26.325 104.81 22.9893 99.7247 20.3201C96.3099 18.5276 93.4677 17.0357 93.5169 14.7323C93.5529 12.9893 95.2167 11.1311 98.8467 10.6629C103.098 10.2519 107.381 10.9985 111.242 12.8236L113.453 2.53852C109.695 1.1258 105.714 0.394122 101.699 0.377777C89.3107 0.377777 80.5309 6.98244 80.4516 16.4465C80.3724 23.4257 86.6962 27.3438 91.4714 29.6702C96.3691 32.047 98.0185 33.574 97.9968 35.7059C97.9968 38.9686 94.0859 40.4019 90.4775 40.4595C84.3492 40.5572 80.7168 38.8625 77.8368 37.5187L77.5634 37.3913L75.2658 48.0365C78.2045 49.3906 83.6279 50.5646 89.253 50.6222C102.455 50.6222 111.098 44.0968 111.141 33.9989H111.134ZM59.0603 1.26366L38.6989 49.8587H25.4103L15.3917 11.0806C14.7795 8.68941 14.2537 7.81791 12.4027 6.80957C9.36321 5.1746 4.39351 3.63327 0 2.67535L0.302504 1.23485H21.6866C24.5639 1.24665 27.0063 3.34708 27.4486 6.19015L32.7424 34.3158L45.8653 1.26366H59.0603ZM155.573 49.8443H143.949L142.429 42.6059H126.303L123.681 49.8587H110.486L129.335 4.82889C130.228 2.66308 132.343 1.25366 134.686 1.26367H145.425L155.573 49.8443ZM129.918 32.6448L136.537 14.3937L140.347 32.6448H129.918ZM66.6373 49.8587L77.0664 1.26362H64.4621L54.0617 49.8587H66.6373Z\"\n/>\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { AddArrowKeysDirective } from './_utilities/angular-specific-directives/add-arrow-keys.directive';\nimport { BaseInteractiveDirective } from './_utilities/angular-specific-directives/base-interactive.directive';\nimport { OpensInNewTabDirective } from './_utilities/angular-specific-directives/opens-in-new-tab.directive';\nimport { AccordionButtonHeadingDirective } from './accordion-button-heading/accordion-button-heading.directive';\nimport { AccordionHeadingDirective } from './accordion-heading/accordion-heading.directive';\nimport { AccordionDetailsDirective } from './accordion-item/accordion-item.directive';\nimport { AccordionPanelDirective } from './accordion-panel/accordion-panel.directive';\nimport { AccordionDirective } from './accordion/accordion.directive';\nimport { AlternateDirective } from './alternate/alternate.directive';\nimport { AnchorLinkMenuHeaderDirective } from './anchor-link-menu-header/anchor-link-menu-header.directive';\nimport { AnchorLinkMenuDirective } from './anchor-link-menu/anchor-link-menu.directive';\nimport { TooltipArrowDirective } from './arrow/arrow.directive';\nimport { AvatarRoleImgDirective } from './avatar-role-img/avatar-role-img.directive';\nimport { AvatarDirective } from './avatar/avatar.directive';\nimport { BadgeDirective } from './badge/badge.directive';\nimport { BannerDirective } from './banner/banner.directive';\nimport { BreadcrumbsDirective } from './breadcrumbs/breadcrumbs.directive';\nimport { BreakpointsDirective } from './breakpoints/breakpoints.directive';\nimport { ButtonAsDisabledATagDirective } from './button-as-disabled-a-tag/button-as-disabled-a-tag.directive';\nimport { ButtonDisabledDirective } from './button-disabled/button-disabled.directive';\nimport { ButtonIconDirective } from './button-icon/button-icon.directive';\nimport { ButtonStackedDirective } from './button-stacked/button-stacked.directive';\nimport { ButtonDirective } from './button/button.directive';\nimport { CheckboxPanelDirective } from './checkbox-panel/checkbox-panel.directive';\nimport { CheckboxDirective } from './checkbox/checkbox.directive';\nimport { ChipDirective } from './chip/chip.directive';\nimport { CircularProgressComponent } from './circular-progress/circular-progress.component';\nimport { ComboboxDirective } from './combobox/combobox.directive';\nimport { ContentCardBodyDirective } from './content-card-body/content-card-body.directive';\nimport { ContentCardImageDirective } from './content-card-image/content-card-image.directive';\nimport { ContentCardSubtitleDirective } from './content-card-subtitle/content-card-subtitle.directive';\nimport { ContentCardTitleLinkDirective } from './content-card-title-link/content-card-title-link.directive';\nimport { ContentCardTitleDirective } from './content-card-title/content-card-title.directive';\nimport { ContentCardDirective } from './content-card/content-card.directive';\nimport { DialogHeaderDirective } from './dialog-header/dialog-header.directive';\nimport { DialogTextDirective } from './dialog-text/dialog-text.directive';\nimport { DialogComponent } from './dialog/dialog.component';\nimport { TabItemDisclosureDirective } from './disclosure-tab-item/disclosure-tab-item.directive';\nimport { DividerDirective } from './divider/divider.directive';\nimport { DropdownItemDirective } from './dropdown-item/dropdown-item.directive';\nimport { DropdownListDirective } from './dropdown-list/dropdown-list.directive';\nimport { DropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { DualIconDirective } from './dual-icons/dual-icons.directive';\nimport { ElevationDirective } from './elevation/elevation.directive';\nimport { FlagDirective } from './flag/flag.directive';\nimport { FlexDirective } from './flex/flex.directive';\nimport { FloatingUIContainer } from './floating-ui-container/floating-ui-container.directive';\nimport { FloatingUIElementDirective } from './floating-ui-element/floating-ui-element.directive';\nimport { FloatingUITriggerDirective } from './floating-ui-trigger/floating-ui-trigger.directive';\nimport { FooterDirective } from './footer/footer.directive';\nimport { IconToggleDefaultTemplateDirective } from './icon-toggle-default/icon-toggle-default.directive';\nimport { IconToggleRotatedTemplateDirective } from './icon-toggle-rotated/icon-toggle-rotated.directive';\nimport { IconToggleComponent } from './icon-toggle/icon-toggle.component';\nimport { IconToggleDirective } from './icon-toggle/icon-toggle.directive';\nimport { IconComponent } from './icon/icon.component';\nimport { InputContainerComponent } from './input-container/input-container.component';\nimport { InputMessageDirective } from './input-message/input-message.directive';\nimport { InputDirective } from './input/input.directive';\nimport { LabelDirective } from './label/label.directive';\nimport { LinearProgressDirective } from './linear-progress/linear-progress.directive';\nimport { LinkDirective } from './link/link.directive';\nimport { ListboxContainerDirective } from './listbox-container/listbox-container.directive';\nimport { ListboxItemComponent } from './listbox-item/listbox-item.component';\nimport { ListboxDirective } from './listbox/listbox.directive';\nimport { MarginDirective } from './margin/margin.directive';\nimport { MessageContentDirective } from './message-content/message-content.directive';\nimport { MessageIconDirective } from './message-icon/message-icon.directive';\nimport { MessageDirective } from './message/message.directive';\nimport { NavDirective } from './nav/nav.directive';\nimport { PaddingDirective } from './padding/padding.directive';\nimport { PaginationOverflowDirective } from './pagination-overflow/pagination-overflow.directive';\nimport { PaginationDirective } from './pagination/pagination.directive';\nimport { PanelBodyDirective } from './panel-body/panel-body.directive';\nimport { PanelContentDirective } from './panel-content/panel-content.directive';\nimport { PanelToggleDirective } from './panel-toggle-button/panel-toggle-button.directive';\nimport { PanelComponent } from './panel/panel.component';\nimport { RadioGroupDirective } from './radio-group/radio-group.directive';\nimport { RadioDirective } from './radio/radio.directive';\nimport { ScreenreaderOnlyDirective } from './screenreader-only/screenreader-only.directive';\nimport { SectionMessageDirective } from './section-message/section-message.directive';\nimport { SelectDirective } from './select/select.directive';\nimport { SkipToContentDirective } from './skip-to-content/skip-to-content.component';\nimport { SurfaceDirective } from './surface/surface.directive';\nimport { SwitchLabelDirective } from './switch-label/switch-label.directive';\nimport { SwitchDirective } from './switch/switch.directive';\nimport { TabItemDirective } from './tab-item/tab-item.directive';\nimport { TabListDirective } from './tab-list/tab-list.directive';\nimport { TableWrapperDirective } from './table-wrapper/table-wrapper.directive';\nimport { TableDirective } from './table/table.directive';\nimport { TbodyDirective } from './tbody/tbody.directive';\nimport { TdDirective } from './td/td.directive';\nimport { ThDirective } from './th/th.directive';\nimport { ToggleButtonDirective } from './toggle-button/toggle-button.directive';\nimport { ToggleContainerDirective } from './toggle-container/toggle-container.directive';\nimport { ToggleDirective } from './toggle/toggle.directive';\nimport { TooltipDirective } from './tooltip/tooltip.directive';\nimport { TrDirective } from './tr/tr.directive';\nimport { TypographyColorDirective } from './typography-color/typography-color.directive';\nimport { TypographyDirective } from './typography/typography.directive';\nimport { VisaLogoComponent } from './visa-logo/visa-logo.component';\nimport { WizardStepDirective } from './wizard-step/wizard-step.directive';\nimport { WizardDirective } from './wizard/wizard.directive';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    RouterModule,\n    FormsModule,\n    ReactiveFormsModule,\n    A11yModule,\n    AccordionButtonHeadingDirective,\n    AccordionDetailsDirective,\n    AccordionDirective,\n    AccordionHeadingDirective,\n    AccordionPanelDirective,\n    AddArrowKeysDirective,\n    AlternateDirective,\n    AnchorLinkMenuDirective,\n    AnchorLinkMenuHeaderDirective,\n    AvatarDirective,\n    AvatarRoleImgDirective,\n    BadgeDirective,\n    BannerDirective,\n    BaseInteractiveDirective,\n    BreadcrumbsDirective,\n    BreakpointsDirective,\n    ButtonAsDisabledATagDirective,\n    ButtonDirective,\n    ButtonDisabledDirective,\n    ButtonIconDirective,\n    ButtonStackedDirective,\n    CheckboxDirective,\n    CheckboxPanelDirective,\n    ChipDirective,\n    CircularProgressComponent,\n    ComboboxDirective,\n    ContentCardBodyDirective,\n    ContentCardDirective,\n    ContentCardImageDirective,\n    ContentCardSubtitleDirective,\n    ContentCardTitleDirective,\n    ContentCardTitleLinkDirective,\n    DialogComponent,\n    DialogHeaderDirective,\n    DialogTextDirective,\n    DividerDirective,\n    DropdownItemDirective,\n    DropdownListDirective,\n    DropdownMenuDirective,\n    DualIconDirective,\n    ElevationDirective,\n    FlagDirective,\n    FlexDirective,\n    FloatingUIContainer,\n    FloatingUIElementDirective,\n    FloatingUITriggerDirective,\n    FooterDirective,\n    IconComponent,\n    IconToggleComponent,\n    IconToggleDefaultTemplateDirective,\n    IconToggleDirective,\n    IconToggleRotatedTemplateDirective,\n    InputContainerComponent,\n    InputDirective,\n    InputMessageDirective,\n    LabelDirective,\n    LinearProgressDirective,\n    LinkDirective,\n    ListboxContainerDirective,\n    ListboxDirective,\n    ListboxItemComponent,\n    MarginDirective,\n    MessageContentDirective,\n    MessageDirective,\n    MessageIconDirective,\n    NavDirective,\n    OpensInNewTabDirective,\n    PaddingDirective,\n    PaginationDirective,\n    PaginationOverflowDirective,\n    PanelBodyDirective,\n    PanelComponent,\n    PanelContentDirective,\n    PanelToggleDirective,\n    RadioDirective,\n    RadioGroupDirective,\n    ScreenreaderOnlyDirective,\n    SectionMessageDirective,\n    SelectDirective,\n    SkipToContentDirective,\n    SurfaceDirective,\n    SwitchDirective,\n    SwitchLabelDirective,\n    TabItemDirective,\n    TabItemDisclosureDirective,\n    TableDirective,\n    TableWrapperDirective,\n    TabListDirective,\n    TbodyDirective,\n    TdDirective,\n    ThDirective,\n    ToggleButtonDirective,\n    ToggleContainerDirective,\n    ToggleDirective,\n    TooltipDirective,\n    TooltipArrowDirective,\n    TrDirective,\n    TypographyColorDirective,\n    TypographyDirective,\n    VisaLogoComponent,\n    WizardDirective,\n    WizardStepDirective\n  ],\n  declarations: [],\n  exports: [\n    AccordionButtonHeadingDirective,\n    AccordionDetailsDirective,\n    AccordionDirective,\n    AccordionHeadingDirective,\n    AccordionPanelDirective,\n    AddArrowKeysDirective,\n    AlternateDirective,\n    AnchorLinkMenuDirective,\n    AnchorLinkMenuHeaderDirective,\n    AvatarDirective,\n    AvatarRoleImgDirective,\n    BadgeDirective,\n    BannerDirective,\n    BaseInteractiveDirective,\n    BreadcrumbsDirective,\n    BreakpointsDirective,\n    ButtonAsDisabledATagDirective,\n    ButtonDirective,\n    ButtonDisabledDirective,\n    ButtonIconDirective,\n    ButtonStackedDirective,\n    CheckboxDirective,\n    CheckboxPanelDirective,\n    ChipDirective,\n    CircularProgressComponent,\n    ComboboxDirective,\n    ContentCardBodyDirective,\n    ContentCardDirective,\n    ContentCardImageDirective,\n    ContentCardSubtitleDirective,\n    ContentCardTitleDirective,\n    ContentCardTitleLinkDirective,\n    DialogComponent,\n    DialogHeaderDirective,\n    DialogTextDirective,\n    DividerDirective,\n    DropdownItemDirective,\n    DropdownListDirective,\n    DropdownMenuDirective,\n    DualIconDirective,\n    ElevationDirective,\n    FlagDirective,\n    FlexDirective,\n    FloatingUIContainer,\n    FloatingUIElementDirective,\n    FloatingUITriggerDirective,\n    FooterDirective,\n    IconComponent,\n    IconToggleComponent,\n    IconToggleDefaultTemplateDirective,\n    IconToggleDirective,\n    IconToggleRotatedTemplateDirective,\n    InputContainerComponent,\n    InputDirective,\n    InputMessageDirective,\n    LabelDirective,\n    LinearProgressDirective,\n    LinkDirective,\n    ListboxContainerDirective,\n    ListboxDirective,\n    ListboxItemComponent,\n    MarginDirective,\n    MessageContentDirective,\n    MessageDirective,\n    MessageIconDirective,\n    NavDirective,\n    OpensInNewTabDirective,\n    PaddingDirective,\n    PaginationDirective,\n    PaginationOverflowDirective,\n    PanelBodyDirective,\n    PanelComponent,\n    PanelContentDirective,\n    PanelToggleDirective,\n    RadioDirective,\n    RadioGroupDirective,\n    ScreenreaderOnlyDirective,\n    SectionMessageDirective,\n    SelectDirective,\n    SkipToContentDirective,\n    SurfaceDirective,\n    SwitchDirective,\n    SwitchLabelDirective,\n    TabItemDirective,\n    TabItemDisclosureDirective,\n    TableDirective,\n    TableWrapperDirective,\n    TabListDirective,\n    TbodyDirective,\n    TdDirective,\n    ThDirective,\n    ToggleButtonDirective,\n    ToggleContainerDirective,\n    ToggleDirective,\n    TooltipDirective,\n    TooltipArrowDirective,\n    TrDirective,\n    TypographyColorDirective,\n    TypographyDirective,\n    VisaLogoComponent,\n    WizardDirective,\n    WizardStepDirective\n  ]\n})\nexport class NovaLibModule {}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\n// For backwards compatibility only. Logo color is set in the theme.\nexport const LogoColor = {\n  BLUE: 'visa-blue',\n  WHITE: 'visa-white'\n} as const;\n\nexport type LogoColor = (typeof LogoColor)[keyof typeof LogoColor];\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nimport { Injectable } from '@angular/core';\nimport { AppReadyService } from '../_utilities/services/app-stable-check.service';\nimport { ListboxItemComponent } from '../listbox-item/listbox-item.component';\nimport { ComboboxFilterType } from './combobox.constants';\nimport { ComboboxDirective } from './combobox.directive';\n\n/**\n * Service containing optional functions for the ComboboxDirective.\n */\n@Injectable({\n  providedIn: 'root'\n})\nexport class ComboboxService {\n  constructor(private appReadyService: AppReadyService) {}\n  /**\n   * The closeMenuOnItemClick method automatically closes the menu when an item is selected. <br />\n   * To keep the menu open after an item is selected, you must provide <code>[closeOnClick]=\"false\"</code> to the combobox component.\n   * @param combobox Combobox to apply behavior to.\n   */\n  closeMenuOnItemClick(combobox: ComboboxDirective) {\n    combobox.listbox?.listItems?.forEach((item) => {\n      item.clicked.subscribe(() => {\n        combobox.floatingContainer?.floatingUIService?.hidefloatingUI();\n      });\n    });\n\n    // subscribe to changes in items and apply service function to these items as well\n    combobox.listbox?.listItems?.changes.subscribe(() => {\n      combobox.listbox?.listItems.forEach((item) => {\n        item.clicked.subscribe(() => {\n          combobox.floatingContainer?.floatingUIService?.hidefloatingUI();\n        });\n      });\n    });\n  }\n\n  /**\n   * The selectHighlightedOnMenuClose method selects the last highlighted item when the menu is closed.\n   * This method is called by default within <code>autoSelectItem</code>. <br />\n   * @param combobox Combobox to apply behavior to.\n   */\n  selectHighlightedOnMenuClose(combobox: ComboboxDirective) {\n    combobox.floatingContainer?.floatingUIService?.isShownEmitter.subscribe((isShown) => {\n      if (!this.appReadyService.isBrowserAndDomAvailable()) return; // return if app is not ready to access nativeElement\n      if (!isShown && combobox._lastHighlightedOnClose !== null) {\n        combobox.selectItem(combobox._lastHighlightedOnClose);\n      }\n    });\n  }\n\n  /**\n   * The autoFilterDisplayedItems method automatically filters the items shown in the combobox on initial render.\n   * If the items displayed on page load are not the full list you want to filter, please use a different function. This method filters items based on selection and input value changes. <br />\n   * To access the filtered list of <code>ListboxItemsDirective[]</code>, subscribe to the <code>filteredListEmitter</code>.\n   * @param combobox Combobox to apply behavior to.\n   */\n  autoFilterDisplayedItems(combobox: ComboboxDirective) {\n    if (!combobox.input || !combobox.listbox) return;\n    let filteredListItems: ListboxItemComponent[] = [];\n\n    // filter list with defaultValue\n    if (combobox.value) {\n      if (combobox.listbox?.multiselect) {\n        combobox.value['value'].forEach((selectedValue: string | number) => {\n          const selectedItem = combobox.initialListItems.find((item) => item.value === selectedValue);\n          if (selectedItem) {\n            filteredListItems.push(selectedItem);\n            // combobox._prevActiveItem = selectedItem;\n          }\n        });\n        // don't update list on initial render for multiselect, only on input\n      } else {\n        const selectedItem = combobox.initialListItems.find((item) => item.value === combobox.value['value']);\n        if (selectedItem) {\n          filteredListItems.push(selectedItem);\n          combobox._prevActiveItem = selectedItem;\n        }\n        this.updateList(combobox, filteredListItems);\n      }\n    }\n\n    combobox.input.inputEvent.subscribe((value) => {\n      if (!this.appReadyService.isBrowserAndDomAvailable()) return; // return if app is not ready to access nativeElement\n      // input value\n      filteredListItems = [];\n      combobox.initialListItems.forEach((item) => {\n        if (item.el.nativeElement.innerText.trim().toLowerCase().includes(value.toLowerCase())) {\n          // keep item in list if it includes the input value\n          filteredListItems.push(item);\n        }\n      });\n      this.updateList(combobox, filteredListItems);\n    });\n\n    combobox.itemSelected.subscribe((value) => {\n      if (combobox.listbox?.multiselect) {\n        // reset list on multiselect when option is selected\n        filteredListItems = combobox.initialListItems;\n        // if (filteredListItems && filteredListItems.length > 0)\n        //   combobox._prevActiveItem = filteredListItems[filteredListItems.length - 1];\n      } else {\n        // listbox item value\n        filteredListItems = [];\n        const selectedItem = combobox.initialListItems.find((item) =>\n          (value as (string | number)[])?.includes(item.value)\n        );\n        if (selectedItem) {\n          filteredListItems.push(selectedItem);\n          combobox._prevActiveItem = selectedItem;\n        }\n        if (selectedItem) filteredListItems.push(selectedItem);\n      }\n      this.updateList(combobox, filteredListItems);\n    });\n  }\n\n  /**\n   * The autoFilterBasedOnList method filters items in the combobox based on a specified list, which can differ from the initial list rendered. <br />\n   * This method allows customization of the filtering criteria, enabling you to filter items based on properties such as id, label, value, etc. To access the filtered list, subscribe to <code>the filteredListEmitter</code>, which emits the filtered list in the same shape as <code>fullList</code>. <br />\n   * This method is recommended over <code>autoFilterDisplayedItems</code> and can achieve the same functionality by calling <code>autoFilterBasedOnList(combobox, list, 'label')</code>.\n   * @param combobox Combobox to apply filter function to.\n   * @param fullList Full list of items to filter.\n   * @param condition Condition on which to filter items in fullList (this would be a property you've provided to the items in fullList).\n   */\n  autoFilterBasedOnList(combobox: ComboboxDirective, fullList: any[], condition: string) {\n    const listData = fullList;\n    let filteredData: any[] = fullList;\n\n    if (!combobox) return;\n\n    combobox.filter.subscribe((filterEvent) => {\n      filteredData = [];\n      if (filterEvent.type === ComboboxFilterType.SELECTION) {\n        if (combobox.listbox?.multiselect) {\n          filteredData = listData;\n          // if (filteredData && filteredData.length > 0) combobox._prevActiveItem = filteredData[filteredData.length - 1];\n        } else {\n          // if an item is selected, the list should only include that item\n          filteredData = listData?.filter((item) => item[condition].toLowerCase() == filterEvent.input.toLowerCase());\n          if (filteredData && filteredData.length === 1) combobox._prevActiveItem = filteredData[0];\n        }\n      } else if (filterEvent.type === ComboboxFilterType.INPUT) {\n        listData.forEach((item) => {\n          if (item[condition].toLowerCase().includes(filterEvent.input.toLowerCase())) filteredData.push(item);\n        });\n      } else if (filterEvent.type === ComboboxFilterType.RESET) {\n        filteredData = listData;\n      }\n      this.updateList(combobox, filteredData);\n    });\n  }\n\n  /**\n   * The updateList method updates the combobox component with the given filtered list items,\n   setting the active and highlighted index appropriately. <br />\n   * This method is called by default within <code>autoFilterDisplayedItems</code> and <code>autoFilterBasedOnList</code>.\n   * @param combobox Combobox to update.\n   * @param filteredListItems Filtered array of listbox items.\n   */\n  updateList(combobox: ComboboxDirective, filteredListItems: ListboxItemComponent[]) {\n    if (combobox.listbox?.multiselect) {\n      // reset multiselect keyboard traversal altogether\n      combobox._activeIndex = null;\n      combobox._highlightedIndex = null;\n    } else if (combobox._prevActiveItem && filteredListItems.includes(combobox._prevActiveItem)) {\n      combobox._activeIndex = filteredListItems.findIndex((item) => item === combobox._prevActiveItem);\n    } else {\n      combobox._activeIndex = null;\n      combobox._highlightedIndex = null;\n    }\n\n    combobox.filteredListEmitter.emit(filteredListItems);\n  }\n\n  /**\n   * The autoSelectItem method highlights the first list item based on user input. <br />\n   * This ensures that when the menu closes, if an input value was entered, an item is selected.\n   * @param combobox Combobox to apply automatic selection to.\n   */\n  autoSelectItem(combobox: ComboboxDirective) {\n    this.selectHighlightedOnMenuClose(combobox);\n\n    combobox.input?.inputEvent.subscribe(() => {\n      if (combobox.input.value) combobox.highlightIndex(0);\n    });\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\n/** This was inspired by materials id-generator: https://github.com/angular/components/blob/main/src/cdk/a11y/id-generator.ts */\nimport { APP_ID, inject, Injectable } from '@angular/core';\n\n/**\n * Keeps track of the ID count per prefix. This helps us make the IDs a bit more deterministic.\n */\nconst counters: Record<string, number> = {};\n\n/**\n * Service that generates unique IDs for DOM nodes.\n * Note that this service should not be used inside templates and should only be used within classes.\n * @docs {@link https://design.visa.com/angular/services/id-generator | See docs}\n */\n@Injectable({ providedIn: 'root' })\nexport class IdGenerator {\n  private appId: null | string = inject(APP_ID, { optional: true });\n\n  /**\n   * Generates a unique ID with a specific prefix.\n   * @param prefix Prefix to add to the ID.\n   */\n  public newId(prefix: string = ''): string {\n    // Omit the app ID if it's the default `ng`. Since the vast majority of pages have one\n    // Angular app on them, we can reduce the amount of breakages by not adding it.\n    if (this.appId && this.appId !== 'ng') prefix = `${this.appId}-${prefix}`;\n    if (!counters.hasOwnProperty(prefix)) counters[prefix] = 0;\n    return `${prefix}-${counters[prefix]++}`;\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\n/* eslint-disable no-mixed-spaces-and-tabs */\nimport { computed, Signal, signal, WritableSignal } from '@angular/core';\n\n/**\n * Generates an array from number to from + length\n * @param {number} from\n * @param {number} length\n * @returns {number[]}\n */\nexport const generateArray = (from: number, length: number): number[] => Array.from({ length }, (_, i) => i + from);\n\nexport type PaginationControlOptions = {\n  /** Max block length for all blocks, this gets overwritten by `startBlockMaxLength`, `middleBlockMaxLength`, `endBlockMaxLength` */\n  blockMaxLength: number;\n  /** Forces pages not to paginate */\n  compact: boolean;\n  /** Default selected page */\n  defaultSelected: number;\n  /** Default total amount of page */\n  defaultTotalPages: number;\n  /** What to separate the pagination array up with, usually this delimiter will be replaced with icon or ellipses when shown in the UI */\n  delimiter: number | string;\n  /** Maximum length of pages to show on the end pagination block, overwrites `blockMaxLength` for end block */\n  endBlockMaxLength: number;\n  /** Maximum page number to be shown, (default null for no maximum) */\n  maxPageNumber: number | null;\n  /** Maximum length of pages to show on the middle pagination block, overwrites `blockMaxLength` for middle block */\n  middleBlockMaxLength: number;\n  /** Signal to be used for selected page, otherwise control will create one */\n  selectedPage?: WritableSignal<number> | null;\n  /** Maximum length of pages to show on the start pagination block, overwrites `blockMaxLength` for start block */\n  startBlockMaxLength: number;\n  /** Start from this page */\n  startPage: number;\n};\n\nconst defaultOptions = {\n  blockMaxLength: 3,\n  compact: false,\n  defaultSelected: 1,\n  defaultTotalPages: 1,\n  delimiter: -1,\n  maxPageNumber: null,\n  startPage: 1\n} satisfies Partial<PaginationControlOptions>;\n\n/**\n * A signals based approach to handling and controlling pagination components. It is very customizable, re-usable, and even allows you to bring your own signal for selected page.\n * @docs {@link https://design.visa.com/angular/components/pagination | See docs}\n */\nexport class PaginationControl {\n  constructor(options?: Partial<PaginationControlOptions>) {\n    const blockMaxLength = options?.blockMaxLength ?? defaultOptions.blockMaxLength;\n    // If we have a blockMaxLength, we should set it for all block max lengths, then we override it with all the options provided by the user\n    this.options = {\n      ...defaultOptions,\n      endBlockMaxLength: blockMaxLength,\n      middleBlockMaxLength: blockMaxLength,\n      startBlockMaxLength: blockMaxLength,\n      ...options\n    } as PaginationControlOptions;\n    this.totalPages.set(this.options.defaultTotalPages);\n    const defaultStartPage = Math.min(\n      Math.max(this.options.defaultSelected, this.options.startPage),\n      this.options.defaultTotalPages\n    );\n    this.selectedPage = this.options.selectedPage ?? signal(defaultStartPage);\n    this.selectedPage.set(defaultStartPage);\n  }\n\n  /// STATE:\n\n  private readonly options: PaginationControlOptions;\n\n  private readonly selectedPage: WritableSignal<number>;\n\n  public readonly totalPages: WritableSignal<number> = signal<number>(0);\n\n  /// DERIVED STATE:\n\n  /** Can paginate or just show all pages */\n  private readonly canPaginate: Signal<boolean> = computed(\n    () =>\n      this.totalPages() > Math.max(this.options.endBlockMaxLength, this.options.startBlockMaxLength) + 2 && // 1 for end or start number + 1 for single separator show while in start/end blocks\n      this.totalPages() > this.options.middleBlockMaxLength + 4 // 2 for start and end numbers + 2 for separators shown while in middle block\n  );\n\n  /** Pages to show at the end */\n  private readonly endBlock: Signal<number[]> = computed(() =>\n    this.isInEndBlock()\n      ? generateArray(this.lastPage() - this.options.endBlockMaxLength + 1, this.options.endBlockMaxLength)\n      : [this.lastPage()]\n  );\n\n  /** Ideal last page without maxPageNumber interfering */\n  private readonly idealLastPage: Signal<number> = computed(() => this.totalPages() + this.options.startPage - 1);\n\n  /** Is first element selected */\n  public readonly isFirstPage: Signal<boolean> = computed(() => this.selectedPage() === this.options.startPage);\n\n  /** Selected page is in end block */\n  private readonly isInEndBlock: Signal<boolean> = computed(\n    () => this.selectedPage() > this.lastPage() - this.options.endBlockMaxLength\n  );\n\n  /** Selected page is in middle block */\n  private readonly isInMiddleBlock: Signal<boolean> = computed(() => !this.isInStartBlock() && !this.isInEndBlock());\n\n  /** Selected page is in start block */\n  private readonly isInStartBlock: Signal<boolean> = computed(\n    () => this.selectedPage() < this.options.startPage + this.options.startBlockMaxLength\n  );\n\n  /** Is last element selected */\n  public readonly isLastPage: Signal<boolean> = computed(() => this.selectedPage() === this.lastPage());\n\n  /** Last page */\n  private readonly lastPage: Signal<number> = computed(() =>\n    this.options.maxPageNumber === null\n      ? this.idealLastPage()\n      : Math.min(this.options.maxPageNumber, this.idealLastPage())\n  );\n\n  /** Pages to show in the middle */\n  private readonly middleBlock: Signal<number[]> = computed(() => {\n    if (!this.isInMiddleBlock()) return [];\n    const middleBlockPadding = Math.floor(this.options.middleBlockMaxLength / 2);\n    if (this.selectedPage() - middleBlockPadding <= this.options.startPage)\n      return generateArray(\n        this.selectedPage() - (this.selectedPage() - this.options.startPage) + 1,\n        this.options.middleBlockMaxLength\n      );\n    if (this.selectedPage() + middleBlockPadding >= this.lastPage())\n      return generateArray(\n        this.selectedPage() + (this.lastPage() - this.selectedPage()) - this.options.middleBlockMaxLength,\n        this.options.middleBlockMaxLength\n      );\n    return generateArray(this.selectedPage() - middleBlockPadding, this.options.middleBlockMaxLength);\n  });\n\n  /** Array of pages arrays to loop over */\n  public readonly pages: Signal<(string | number)[]> = computed(() => {\n    if (this.options.compact) return this.compactPages;\n    return this.canPaginate()\n      ? [this.startBlock(), this.middleBlock(), this.endBlock()]\n          .map((block) => (block.length ? [...block, this.options.delimiter] : []))\n          .flat()\n          .slice(0, -1)\n      : generateArray(this.options.startPage, this.lastPage() - this.options.startPage + 1);\n  });\n\n  /** Pages to show at the start */\n  private readonly startBlock: Signal<number[]> = computed(() =>\n    this.isInStartBlock()\n      ? generateArray(this.options.startPage, this.options.startBlockMaxLength)\n      : [this.options.startPage]\n  );\n\n  /// UTILITIES:\n\n  /** Getter for selectedPage, we shouldn't directly manipulate the `selectedPage` signal, use `goToPage` to do this safely */\n  public get currentPage(): number {\n    return this.selectedPage();\n  }\n\n  private get compactPages(): number[] {\n    const { blockMaxLength } = this.options;\n\n    // Show all pages if we have less than blockMaxLength\n    if (blockMaxLength > this.totalPages())\n      return generateArray(this.options.startPage, this.lastPage() - this.options.startPage + 1);\n\n    // Show chunk of blockMaxLength pages\n    const padding = Math.floor(blockMaxLength / 2);\n    if (this.selectedPage() - padding <= this.options.startPage)\n      return generateArray(this.options.startPage, blockMaxLength);\n    if (this.selectedPage() + padding >= this.lastPage())\n      return generateArray(this.lastPage() - blockMaxLength + 1, blockMaxLength);\n    return generateArray(this.selectedPage() - padding, blockMaxLength);\n  }\n\n  /**\n   * Calculates which range of items that is currently visible from pagination\n   * @param {number} items - how many items we have\n   * @param {number} itemsPerPage - how many items there are, per page\n   * @returns to from object with calculated values\n   */\n  public getToFrom(items: number, itemsPerPage: number) {\n    return PaginationControl.getToFrom(items, itemsPerPage, this.selectedPage(), this.options.startPage);\n  }\n\n  /** Helper to calculate total pages */\n  public getTotalPages = PaginationControl.getTotalPages;\n\n  /** On first page event */\n  public goToFirstPage(): void {\n    this.goToPage(this.options.startPage);\n  }\n\n  /** On last page event */\n  public goToLastPage(): void {\n    this.goToPage(this.lastPage());\n  }\n\n  /** On next page event */\n  public goToNextPage(): void {\n    this.goToPage(this.selectedPage() + 1);\n  }\n\n  /** On page change event */\n  public goToPage(pageNumber: number | string): void {\n    if (Number.isNaN(+pageNumber)) throw new Error(\"Can't go to page, invalid number\");\n    if ((pageNumber as number) > this.lastPage()) this.selectedPage.set(this.lastPage());\n    else if ((pageNumber as number) < this.options.startPage) this.selectedPage.set(this.options.startPage);\n    else this.selectedPage.set(pageNumber as number);\n  }\n\n  /** On previous page event */\n  public goToPreviousPage(): void {\n    this.goToPage(this.selectedPage() - 1);\n  }\n\n  /** Returns if page is current page */\n  public isCurrentPage(page: number | string): boolean {\n    return page === this.selectedPage();\n  }\n\n  /**\n   * In the context where total pages is calculated using items per page (much like tables use) we can use this utility to easily adjust the pagination control automatically.\n   * NOTE: by default this resets the pagination to the first page when called.\n   */\n  public resetPageCount(totalItems: number, itemsPerPage: number, autoResetToFirstPage = true): void {\n    const totalPages = this.getTotalPages(totalItems, itemsPerPage);\n    this.totalPages.set(totalPages);\n    if (autoResetToFirstPage) this.goToFirstPage();\n  }\n\n  /// STATIC UTILITIES:\n\n  /**\n   * Calculates which range of items that is currently visible from pagination\n   * @param {number} items - how many items we have\n   * @param {number} itemsPerPage - how many items there are, per page\n   * @param {number} currentPage - which page is visible\n   * @param {number} startPage - which page we're starting from, defaults to page 1 (optional)\n   * @returns to from object with calculated values\n   */\n  public static getToFrom = (items: number, itemsPerPage: number, currentPage: number, startPage: number = 1) => {\n    if (itemsPerPage < 1 || items < 1) return { 0: 0, 1: 0, from: 0, to: 0 };\n    const normalizedPageNumber = currentPage - startPage + 1;\n    const from = Math.max((normalizedPageNumber - 1) * itemsPerPage + 1, 0);\n    const to = Math.max(from + itemsPerPage - 1 > items ? items : from + itemsPerPage - 1, 0);\n    return { 0: from, 1: to, from, to };\n  };\n\n  /**\n   * Calculates how many pages there are\n   * @param {number} items - how many items we have\n   * @param {number} itemsPerPage - how many items there are, per page\n   * @returns {number} how many pages there are in total\n   */\n  public static getTotalPages(items: number, itemsPerPage: number): number {\n    return Math.ceil(items / itemsPerPage);\n  }\n}\n","/**\n *              Copyright (c) 2025 Visa, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *         http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n **/\nexport * from './lib/nova-lib.constants';\nexport * from './lib/nova-lib.module';\nexport * from './lib/nova-lib.service';\n\n/**\n * Components & Directives\n */\nexport * from './lib/_utilities/angular-specific-directives/add-arrow-keys.directive';\nexport * from './lib/accordion-button-heading/accordion-button-heading.directive';\nexport * from './lib/accordion-heading/accordion-heading.directive';\nexport * from './lib/accordion-item/accordion-item.directive';\nexport * from './lib/accordion-panel/accordion-panel.directive';\nexport * from './lib/accordion/accordion.directive';\nexport * from './lib/alternate/alternate.directive';\nexport * from './lib/anchor-link-menu-header/anchor-link-menu-header.directive';\nexport * from './lib/anchor-link-menu/anchor-link-menu.directive';\nexport * from './lib/arrow/arrow.directive';\nexport * from './lib/avatar-role-img/avatar-role-img.directive';\nexport * from './lib/avatar/avatar.directive';\nexport * from './lib/badge/badge.directive';\nexport * from './lib/banner/banner.directive';\nexport * from './lib/breadcrumbs/breadcrumbs.directive';\nexport * from './lib/breakpoints/breakpoints.directive';\nexport * from './lib/button-as-disabled-a-tag/button-as-disabled-a-tag.directive';\nexport * from './lib/button-disabled/button-disabled.directive';\nexport * from './lib/button-icon/button-icon.directive';\nexport * from './lib/button-stacked/button-stacked.directive';\nexport * from './lib/button/button.directive';\nexport * from './lib/checkbox-panel/checkbox-panel.directive';\nexport * from './lib/checkbox/checkbox.directive';\nexport * from './lib/chip/chip.directive';\nexport * from './lib/circular-progress/circular-progress.component';\nexport * from './lib/combobox/combobox.directive';\nexport * from './lib/content-card-body/content-card-body.directive';\nexport * from './lib/content-card-image/content-card-image.directive';\nexport * from './lib/content-card-subtitle/content-card-subtitle.directive';\nexport * from './lib/content-card-title-link/content-card-title-link.directive';\nexport * from './lib/content-card-title/content-card-title.directive';\nexport * from './lib/content-card/content-card.directive';\nexport * from './lib/dialog-header/dialog-header.directive';\nexport * from './lib/dialog-text/dialog-text.directive';\nexport * from './lib/dialog/dialog.component';\nexport * from './lib/disclosure-tab-item/disclosure-tab-item.directive';\nexport * from './lib/divider/divider.directive';\nexport * from './lib/dropdown-item/dropdown-item.directive';\nexport * from './lib/dropdown-list/dropdown-list.directive';\nexport * from './lib/dropdown-menu/dropdown-menu.directive';\nexport * from './lib/dual-icons/dual-icons.directive';\nexport * from './lib/elevation/elevation.directive';\nexport * from './lib/flag/flag.directive';\nexport * from './lib/flex/flex.directive';\nexport * from './lib/floating-ui-container/floating-ui-container.directive';\nexport * from './lib/floating-ui-element/floating-ui-element.directive';\nexport * from './lib/floating-ui-trigger/floating-ui-trigger.directive';\nexport * from './lib/footer/footer.directive';\nexport * from './lib/icon-toggle-default/icon-toggle-default.directive';\nexport * from './lib/icon-toggle-rotated/icon-toggle-rotated.directive';\nexport * from './lib/icon-toggle/icon-toggle.component';\nexport * from './lib/icon-toggle/icon-toggle.directive';\nexport * from './lib/icon/icon.component';\nexport * from './lib/input-container/input-container.component';\nexport * from './lib/input-message/input-message.directive';\nexport * from './lib/input/input.directive';\nexport * from './lib/label/label.directive';\nexport * from './lib/linear-progress/linear-progress.directive';\nexport * from './lib/link/link.directive';\nexport * from './lib/listbox-container/listbox-container.directive';\nexport * from './lib/listbox-item/listbox-item.component';\nexport * from './lib/listbox/listbox.directive';\nexport * from './lib/margin/margin.directive';\nexport * from './lib/message-content/message-content.directive';\nexport * from './lib/message-icon/message-icon.directive';\nexport * from './lib/message/message.directive';\nexport * from './lib/nav/nav.directive';\nexport * from './lib/padding/padding.directive';\nexport * from './lib/pagination-overflow/pagination-overflow.directive';\nexport * from './lib/pagination/pagination.directive';\nexport * from './lib/panel-body/panel-body.directive';\nexport * from './lib/panel-content/panel-content.directive';\nexport * from './lib/panel-toggle-button/panel-toggle-button.directive';\nexport * from './lib/panel/panel.component';\nexport * from './lib/radio-group/radio-group.directive';\nexport * from './lib/radio/radio.directive';\nexport * from './lib/screenreader-only/screenreader-only.directive';\nexport * from './lib/section-message/section-message.directive';\nexport * from './lib/select/select.directive';\nexport * from './lib/skip-to-content/skip-to-content.component';\nexport * from './lib/surface/surface.directive';\nexport * from './lib/switch-label/switch-label.directive';\nexport * from './lib/switch/switch.directive';\nexport * from './lib/tab-item/tab-item.directive';\nexport * from './lib/tab-list/tab-list.directive';\nexport * from './lib/table-wrapper/table-wrapper.directive';\nexport * from './lib/table/table.directive';\nexport * from './lib/tbody/tbody.directive';\nexport * from './lib/td/td.directive';\nexport * from './lib/th/th.directive';\nexport * from './lib/toggle-button/toggle-button.directive';\nexport * from './lib/toggle-container/toggle-container.directive';\nexport * from './lib/toggle/toggle.directive';\nexport * from './lib/tooltip/tooltip.directive';\nexport * from './lib/tr/tr.directive';\nexport * from './lib/typography-color/typography-color.directive';\nexport * from './lib/typography/typography.directive';\nexport * from './lib/visa-logo/visa-logo.component';\nexport * from './lib/wizard-step/wizard-step.directive';\nexport * from './lib/wizard/wizard.directive';\n\n/**\n * Constants\n */\nexport * from './lib/button/button.constants';\nexport * from './lib/combobox/combobox.constants';\nexport * from './lib/divider/divider.constants';\nexport * from './lib/floating-ui/floating-ui.constants';\nexport * from './lib/icon/icon.constants';\nexport * from './lib/message/message.constants';\nexport * from './lib/table/table.constants';\nexport * from './lib/visa-logo/visa-logo.constants';\n\n/**\n * Helper directives\n */\nexport * from './lib/_utilities/angular-specific-directives/base-interactive.directive';\nexport * from './lib/_utilities/angular-specific-directives/opens-in-new-tab.directive';\n\n/**\n * Services\n */\nexport * from './lib/_utilities/services/app-stable-check.service';\nexport * from './lib/_utilities/services/uuid.service';\nexport * from './lib/accordion/accordion.service';\nexport * from './lib/combobox/combobox.service';\nexport * from './lib/floating-ui/floating-ui.service';\nexport * from './lib/id-generator/id-generator.service';\nexport * from './lib/listbox/listbox.service';\nexport * from './lib/pagination-control/pagination.control';\nexport * from './lib/pagination/pagination.service';\nexport * from './lib/toggle-control/toggle-control.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.UUIDService","i1.IconComponent","i2.AppReadyService","i1.AppReadyService","i2.ToggleControlService","i3","i1","i1.NovaLibService","i1.ButtonDirective","i1.AccordionHeadingDirective","i2.ButtonDirective","i1.AccordionDetailsDirective","i1.AccordionService","i2.UUIDService","i3.FlexDirective","i4.WizardDirective","i1.ToggleControlService","i2","i2.NovaLibService","i3.ListboxService","i4.AppReadyService","i1.FloatingUIService","i3.NovaLibService","i2.ListboxService","i3.AppReadyService","i4.UUIDService","i5.FloatingUIContainer","i1.DialogComponent","i1.PaginationService","i1.TableDirective"],"mappings":"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"}