{"version":3,"file":"fundamental-ngx-core-list.mjs","sources":["../../../../libs/core/list/directives/byline/list-byline-left.directive.ts","../../../../libs/core/list/directives/byline/list-byline-right.directive.ts","../../../../libs/core/list/directives/byline/list-byline.directive.ts","../../../../libs/core/list/directives/byline/list-content.directive.ts","../../../../libs/core/list/directives/byline/list-thumbnail.directive.ts","../../../../libs/core/list/directives/list-footer.directive.ts","../../../../libs/core/list/directives/list-group-header.directive.ts","../../../../libs/core/list/directives/list-icon.directive.ts","../../../../libs/core/list/directives/list-info-label.directive.ts","../../../../libs/core/list/tokens.ts","../../../../libs/core/list/directives/list-link.directive.ts","../../../../libs/core/list/directives/list-navigation-item-arrow.directive.ts","../../../../libs/core/list/directives/list-navigation-item-text.directive.ts","../../../../libs/core/list/directives/list-secondary.directive.ts","../../../../libs/core/list/directives/list-title-text.directive.ts","../../../../libs/core/list/directives/list-title.directive.ts","../../../../libs/core/list/directives/subline/list-subline.directive.ts","../../../../libs/core/list/list-focus-item.model.ts","../../../../libs/core/list/list-item/list-item.component.ts","../../../../libs/core/list/list-item/list-item.component.html","../../../../libs/core/list/list-message.directive.ts","../../../../libs/core/list/list-navigation-item/list-navigation-item.component.ts","../../../../libs/core/list/list-navigation-item/list-navigation-item.component.html","../../../../libs/core/list/list.component.ts","../../../../libs/core/list/list.module.ts","../../../../libs/core/list/fundamental-ngx-core-list.ts"],"sourcesContent":["import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n    selector: '[fdListBylineLeft], [fd-list-byline-left]',\n    host: {\n        class: 'fd-list__byline-left',\n        '[class.fd-list__byline-left--wrap]': 'wrap()'\n    }\n})\nexport class ListBylineLeftDirective {\n    /** Whether or not this should be wrapped, when too much text. */\n    readonly wrap = input(false, { transform: booleanAttribute });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\nexport type ListBylineStatus = 'neutral' | 'positive' | 'negative' | 'critical' | 'informative';\n\n@Directive({\n    selector: '[fdListBylineRight], [fd-list-byline-right]',\n    host: {\n        class: 'fd-list__byline-right',\n        '[class.fd-list__byline-right--neutral]': 'status() === \"neutral\"',\n        '[class.fd-list__byline-right--positive]': 'status() === \"positive\"',\n        '[class.fd-list__byline-right--negative]': 'status() === \"negative\"',\n        '[class.fd-list__byline-right--critical]': 'status() === \"critical\"',\n        '[class.fd-list__byline-right--informative]': 'status() === \"informative\"',\n        '[class.fd-list__byline-right--wrap]': 'wrap()'\n    }\n})\nexport class ListBylineRightDirective {\n    /** Semantic status of byline\n     *  Possible options are:\n     * 'neutral' | 'positive' | 'negative' | 'critical' | 'informative'\n     */\n    readonly status = input<ListBylineStatus>();\n\n    /** Whether or not this should be wrapped, when too much text. */\n    readonly wrap = input(false, { transform: booleanAttribute });\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n    selector: '[fdListByline], [fd-list-byline]',\n    host: {\n        class: 'fd-list__byline',\n        '[class.fd-list__byline--2-col]': 'twoCol()',\n        '[class.fd-list__byline--wrap]': 'wrap()'\n    }\n})\nexport class ListBylineDirective {\n    /** Whether or not this is a 2-column byline. */\n    readonly twoCol = input(false, { transform: booleanAttribute });\n\n    /** Whether or not this should be wrapped, when too much text. */\n    readonly wrap = input(false, { transform: booleanAttribute });\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n    selector: '[fdListContent], [fd-list-content]',\n    standalone: true\n})\nexport class ListContentDirective {\n    /** @hidden */\n    @HostBinding('class.fd-list__content')\n    fdListContentClass = true;\n\n    /** Whether or not this is a 2-column content. */\n    @Input()\n    @HostBinding('class.fd-list__content--2-col')\n    twoCol = false;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n    selector: '[fdListThumbnail], [fd-list-thumbnail]',\n    standalone: true\n})\nexport class ListThumbnailDirective {\n    /** @hidden */\n    @HostBinding('class.fd-list__thumbnail')\n    fdListThumbnailClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n    selector: '[fdListFooter], [fd-list-footer]',\n    standalone: true\n})\nexport class ListFooterDirective {\n    /** @hidden */\n    @HostBinding('class.fd-list__footer')\n    fdListFooterClass = true;\n}\n","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\nlet uniqueId = 0;\n\n@Directive({\n    selector: '[fdListGroupHeader], [fd-list-group-header]',\n    host: {\n        '[style.outline]': '\"none\"',\n        '[class.fd-list__item]': 'true',\n        '[class.fd-list__group-header]': 'true'\n    },\n    standalone: true\n})\nexport class ListGroupHeaderDirective {\n    /** id of an element to be applied */\n    @Input()\n    @HostBinding('attr.id')\n    nativeElementId: string | null = `fd-list-group-header-${++uniqueId}`;\n\n    /** @hidden Implementation of KeyboardSupportItemInterface */\n    @Output()\n    keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n    /** @hidden */\n    constructor(readonly elementRef: ElementRef) {}\n\n    /** @hidden */\n    @HostListener('keydown', ['$event'])\n    keydownHandler(event: KeyboardEvent): void {\n        this.keyDown.emit(event);\n    }\n}\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit, inject } from '@angular/core';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont, fdBuildIconClass } from '@fundamental-ngx/core/icon';\n\n@Directive({\n    selector: '[fdListIcon], [fd-list-icon]',\n    standalone: true\n})\nexport class ListIconDirective implements OnChanges, OnInit, CssClassBuilder {\n    /** The icon name to display. See the icon page for the list of icons\n     * here: https://sap.github.io/fundamental-ngx/icon\n     * */\n    @Input()\n    glyph: string;\n\n    /** Glyph font family */\n    @Input()\n    glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n    /** Apply user custom styles */\n    @Input()\n    class: string;\n\n    /** Role attribute for list icon */\n    @Input()\n    @HostBinding('attr.role')\n    role = 'presentation';\n\n    /** Aria hidden attribute for list icon */\n    @Input()\n    @HostBinding('attr.aria-hidden')\n    ariaHidden = true;\n\n    /** @hidden */\n    readonly elementRef = inject(ElementRef);\n\n    /** @hidden\n     * CssClassBuilder interface implementation\n     * function must return single string\n     * function is responsible for order which css classes are applied\n     */\n    @applyCssClass\n    buildComponentCssClass(): string[] {\n        return ['fd-list__icon', this.glyph ? fdBuildIconClass(this.glyphFont, this.glyph) : '', this.class];\n    }\n\n    /** @hidden */\n    ngOnChanges(): void {\n        this.buildComponentCssClass();\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        this.buildComponentCssClass();\n    }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    selector: '[fd-list-info-label], [fdListInfoLabel]',\n    host: {\n        class: 'fd-list__info-label'\n    }\n})\nexport class ListInfoLabelDirective {}\n","import { InjectionToken } from '@angular/core';\nimport { ListComponentInterface } from './list-component.interface';\n\nexport const FD_LIST_MESSAGE_DIRECTIVE = new InjectionToken('FdListMessageDirective');\nexport const FD_LIST_LINK_DIRECTIVE = new InjectionToken('FdListLinkDirective');\nexport const FD_LIST_COMPONENT = new InjectionToken<ListComponentInterface>('ListComponent');\n\nexport const FD_LIST_UNREAD_INDICATOR = new InjectionToken<ListComponentInterface>('ListUnreadIndicator');\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { FD_LIST_LINK_DIRECTIVE } from '../tokens';\n\n@Directive({\n    selector: '[fd-list-link], [fdListLink]',\n    host: {\n        '[attr.tabindex]': '-1'\n    },\n    providers: [\n        {\n            provide: FD_LIST_LINK_DIRECTIVE,\n            useExisting: ListLinkDirective\n        }\n    ],\n    standalone: true\n})\nexport class ListLinkDirective implements OnChanges {\n    /** Defines if navigation indicator arrow should be included inside list item */\n    @Input()\n    @HostBinding('class.fd-list__link--navigation-indicator')\n    navigationIndicator = false;\n\n    /** Defines if link should be treated as a navigated */\n    @Input()\n    @HostBinding('class.is-navigated')\n    navigated = false;\n\n    /** Whether to mark link as focusable. If true, list item will shift focus from itself to the link. */\n    @Input()\n    @HostBinding('class.fd-list__link--focusable')\n    focusable = false;\n\n    /** @hidden */\n    @HostBinding('class.fd-list__link')\n    fdListLinkClass = true;\n\n    /** Emits when some of the properties, that should be read by screenreader, are changed */\n    readonly _onReadablePropertyChanged$ = new Subject<void>();\n\n    /** @hidden */\n    constructor(public elementRef: ElementRef) {}\n\n    /** @hidden */\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes.navigationIndicator || changes.navigated) {\n            this._onReadablePropertyChanged$.next();\n        }\n    }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n@Directive({\n    selector: '[fd-list-navigation-item-arrow], [fdListNavigaitonItemArrow]',\n    host: {\n        tabindex: '-1',\n        role: 'presentation'\n    },\n    standalone: true\n})\nexport class ListNavigationItemArrowDirective {\n    /** @hidden */\n    @HostBinding('class.fd-list__navigation-item-arrow')\n    navigationItemArrowClass = true;\n\n    /** @hidden */\n    @HostBinding('class.sap-icon--navigation-right-arrow')\n    rightArrowClass = true;\n\n    /** @hidden */\n    @HostBinding('class.sap-icon--navigation-down-arrow')\n    downArrowClass = false;\n\n    /** @hidden */\n    @HostBinding('class.is-expanded')\n    expanded = false;\n\n    /** Aria-hidden attribute value. */\n    @Input()\n    @HostBinding('attr.aria-hidden')\n    ariaHidden: Nullable<boolean> = true;\n\n    /** @hidden */\n    _setExpanded(expanded: boolean): void {\n        if (this.expanded !== expanded) {\n            this.rightArrowClass = !this.rightArrowClass;\n            this.downArrowClass = !this.downArrowClass;\n        }\n        this.expanded = expanded;\n    }\n}\n","import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n@Directive({\n    selector: '[fd-list-navigation-item-text], [fdListNavigaitonItemText]',\n    standalone: true\n})\nexport class ListNavigationItemTextDirective {\n    /** @hidden */\n    @HostBinding('class.fd-list__navigation-item-text')\n    navigationItemTextClass = true;\n\n    /** @hidden */\n    constructor(public readonly elementRef: ElementRef) {}\n}\n","import { NgClass } from '@angular/common';\nimport { Directive, inject, Input, isDevMode, OnChanges } from '@angular/core';\n\nexport const _secondaryListItemTypes = ['positive', 'critical', 'negative', 'informative'] as const;\n\nexport type SecondaryListItemType = (typeof _secondaryListItemTypes)[number];\n\n@Directive({\n    selector: '[fd-list-secondary], [fdListSecondary]',\n    standalone: true,\n    hostDirectives: [NgClass]\n})\nexport class ListSecondaryDirective implements OnChanges {\n    /**\n     * Type of the secondary list item.\n     */\n    @Input()\n    type: SecondaryListItemType;\n\n    /** @hidden */\n    ngClass = inject(NgClass);\n\n    /** @hidden */\n    constructor() {\n        this.ngClass.ngClass = ['fd-list__secondary'];\n    }\n\n    /** @hidden */\n    ngOnChanges(): void {\n        if (this.type && !_secondaryListItemTypes.includes(this.type) && isDevMode()) {\n            console.warn(\n                `Unknown type of the secondary list item: ${this.type}. Allowed types are: ${JSON.stringify(\n                    _secondaryListItemTypes\n                )}`\n            );\n        }\n        this.ngClass.ngClass = ['fd-list__secondary', `fd-list__secondary--${this.type}`];\n    }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n    selector: '[fd-list-title-text], [fdListTitleText]',\n    standalone: true\n})\nexport class ListTitleTextDirective {\n    /** @hidden */\n    @HostBinding('class.fd-list__title-text')\n    fdListTitleText = true;\n}\n","import { booleanAttribute, Directive, ElementRef, inject, input, OnInit } from '@angular/core';\n\n@Directive({\n    selector: '[fd-list-title], [fdListTitle]',\n    host: {\n        class: 'fd-list__title',\n        '[class.fd-list__title--truncate]': 'truncate()',\n        '[class.fd-list__title--scope]': 'scope()',\n        '[class.fd-list__title--wrap]': 'wrap()'\n    }\n})\nexport class ListTitleDirective implements OnInit {\n    /** Whether or not this should be wrapped, when too much text. */\n    readonly wrap = input(false, { transform: booleanAttribute });\n\n    /** Whether the text should truncate with ellipsis. */\n    readonly truncate = input(false, { transform: booleanAttribute });\n\n    /** Whether this title is used for scope in the shell search results. */\n    readonly scope = input(false, { transform: booleanAttribute });\n\n    /** @hidden */\n    readonly elRef = inject(ElementRef);\n\n    /** @hidden */\n    ngOnInit(): void {\n        const nativeEl = this.elRef.nativeElement;\n        if (nativeEl.tagName === 'A') {\n            nativeEl.setAttribute('tabIndex', '-1');\n        }\n    }\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n@Directive({\n    selector: '[fdListSubline], [fd-list-subline]',\n    host: {\n        class: 'fd-list__subline',\n        '[class.fd-list__subline--truncate]': 'truncate()'\n    },\n    standalone: true\n})\nexport class ListSublineDirective {\n    /** Whether the text should truncate with ellipsis. */\n    truncate = input(false, { transform: booleanAttribute });\n}\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { computed, Directive, ElementRef, HostListener, inject, Input, output, signal } from '@angular/core';\nimport { KeyboardSupportItemInterface } from '@fundamental-ngx/cdk/utils';\nimport { Subject } from 'rxjs';\n\n@Directive()\nexport abstract class ListFocusItem<T = any> implements KeyboardSupportItemInterface {\n    @Input()\n    set tabindex(value: number) {\n        this._tabIndex.set(coerceNumberProperty(value, -1));\n    }\n    get tabindex(): number {\n        return this._normalizedTabIndex();\n    }\n\n    /**\n     * Value of the list item.\n     * Used for dropdown-based controls such as combobox, select, etc.\n     */\n    @Input()\n    value: T;\n\n    /** @hidden Implementation of KeyboardSupportItemInterface */\n    readonly keyDown = output<KeyboardEvent>();\n\n    /** @hidden */\n    readonly elementRef: ElementRef = inject(ElementRef);\n\n    /** @hidden */\n    readonly _focused$ = new Subject<{ focusedWithin: boolean }>();\n\n    /** @hidden */\n    readonly _clicked$ = new Subject<MouseEvent>();\n\n    /** @hidden */\n    protected _isTabbable = signal(false);\n\n    /** @hidden */\n    protected _tabIndex = signal<number | undefined>(undefined);\n\n    /** @hidden */\n    protected _normalizedTabIndex = computed(() => {\n        if (this._isTabbable() && isNaN(this._tabIndex() as number)) {\n            return 0;\n        }\n        return this._tabIndex() ?? -1;\n    });\n\n    /** @hidden */\n    @HostListener('focusin', ['$event'])\n    protected onFocus(event: FocusEvent): void {\n        this._focused$.next({\n            focusedWithin: event.target !== this.elementRef?.nativeElement\n        });\n    }\n\n    /** @hidden */\n    click(): void {\n        this.elementRef?.nativeElement?.click();\n    }\n\n    /** @hidden */\n    focus(): void {\n        this.elementRef?.nativeElement?.focus();\n    }\n\n    /** @hidden */\n    setIsTabbable(value: boolean): void {\n        this._isTabbable.set(value);\n    }\n}\n","import {\n    AfterContentInit,\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ContentChild,\n    ContentChildren,\n    DestroyRef,\n    forwardRef,\n    HostBinding,\n    HostListener,\n    inject,\n    input,\n    Input,\n    output,\n    QueryList,\n    TemplateRef,\n    ViewEncapsulation\n} from '@angular/core';\n\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { DecimalPipe } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { KeyUtil, LIST_ITEM_COMPONENT, ListItemInterface, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { CheckboxComponent, FD_CHECKBOX_COMPONENT } from '@fundamental-ngx/core/checkbox';\nimport { FormItemComponent } from '@fundamental-ngx/core/form';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FD_RADIO_BUTTON_COMPONENT, RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { Subject } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { ListLinkDirective } from '../directives/list-link.directive';\nimport { ListTitleDirective } from '../directives/list-title.directive';\nimport { ListFocusItem } from '../list-focus-item.model';\nimport { FD_LIST_LINK_DIRECTIVE, FD_LIST_UNREAD_INDICATOR } from '../tokens';\n\nlet listItemUniqueId = 0;\n\n/**\n * The component that represents a list item.\n * The list item can contain plain text, links or actions.\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: '[fdListItem] ,[fd-list-item]',\n    templateUrl: './list-item.component.html',\n    host: {\n        class: 'fd-list__item',\n        '[attr.tabindex]': '_normalizedTabIndex()',\n        '[attr.id]': 'id',\n        '[class.fd-list__item--suggestion]': 'suggestion()'\n    },\n    providers: [\n        {\n            provide: LIST_ITEM_COMPONENT,\n            useExisting: forwardRef(() => ListItemComponent)\n        },\n        {\n            provide: ListFocusItem,\n            useExisting: forwardRef(() => ListItemComponent)\n        }\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    imports: [FormItemComponent, DecimalPipe, IconComponent],\n    exportAs: 'fdListItem'\n})\nexport class ListItemComponent<T = any> extends ListFocusItem<T> implements AfterContentInit, ListItemInterface {\n    /** Whether list item is selected */\n    @Input()\n    @HostBinding('class.is-selected')\n    @HostBinding('attr.aria-selected')\n    selected: boolean;\n\n    /** Whether there is no data inside list item */\n    @Input()\n    @HostBinding('class.fd-list__item--no-data')\n    noData = false;\n\n    /** Whether there is item performs some action */\n    @Input()\n    @HostBinding('class.fd-list__item--action')\n    action = false;\n\n    /** Whether there is item performs some action */\n    @Input()\n    @HostBinding('class.fd-list__item--interractive')\n    interactive = false;\n\n    /** Whether list item contains busy indicator */\n    @Input()\n    @HostBinding('class.fd-list__item--growing')\n    growing = false;\n\n    /** Counter on list item */\n    @Input()\n    counter: number;\n\n    /** Counter aria role */\n    @Input()\n    counterRole: string;\n\n    /** Counter aria label */\n    @Input()\n    counterAriaLabel: string;\n\n    /** Whether list item shows active indicator. Used only in List with Subline. */\n    @Input()\n    active = false;\n\n    /** Whether list item should contain additional unRead styles */\n    @Input()\n    @HostBinding('class.fd-list__item--unread')\n    unread = false;\n\n    /**\n     * Whether the list item is byline\n     */\n    @Input()\n    @HostBinding('class.fd-list__item--byline')\n    byline = false;\n\n    /** Aria-role attribute. */\n    @Input()\n    ariaRole: Nullable<string>;\n\n    /** The ID of the list item element */\n    @Input()\n    id: Nullable<string> = 'fd-list-item-' + ++listItemUniqueId;\n\n    /** Whether to prevent built-in click event logic on the list item.\n     * Helpful when using lists with checkboxes or radio buttons when the list item should be clickable, but should not select/deselect the list item. */\n    @Input()\n    preventClick = false;\n\n    /** Whether list item contains link */\n    @HostBinding('class.fd-list__item--link')\n    link = false;\n\n    /** @hidden */\n    @ContentChild(FD_RADIO_BUTTON_COMPONENT)\n    set radio(value: RadioButtonComponent) {\n        this._radio = value;\n        if (this._radio && this._radio.tabIndex == null) {\n            this._radio.tabIndex = -1;\n        }\n        if (value) {\n            this._role = 'option';\n        }\n    }\n    get radio(): RadioButtonComponent {\n        return this._radio;\n    }\n\n    /** @hidden */\n    @ContentChild(FD_CHECKBOX_COMPONENT)\n    set checkbox(value: CheckboxComponent) {\n        this._checkbox = value;\n        if (this._checkbox && this._checkbox.tabIndexValue == null) {\n            this._checkbox.tabIndexValue = -1;\n        }\n        if (value) {\n            this._role = 'option';\n        }\n    }\n    get checkbox(): CheckboxComponent {\n        return this._checkbox;\n    }\n\n    /** @hidden */\n    @ContentChild(ListTitleDirective)\n    listTitle: ListTitleDirective;\n\n    /** @hidden */\n    @ContentChildren(FD_LIST_LINK_DIRECTIVE)\n    linkDirectives: QueryList<ListLinkDirective>;\n\n    /** @hidden */\n    @ContentChildren(FD_BUTTON_COMPONENT, { descendants: true })\n    buttons: QueryList<ButtonComponent>;\n\n    /** @hidden Implementation of KeyboardSupportItemInterface */\n    readonly keyDown = output<KeyboardEvent>();\n\n    /** @hidden group header id, that is being set by parent list component */\n    _relatedGroupHeaderId: string | null;\n\n    /** @hidden */\n    readonly _list = inject(FD_LIST_UNREAD_INDICATOR, {\n        optional: true\n    });\n\n    /** Template ref for Settings list item */\n    settingsListTpl = input<TemplateRef<any>>();\n\n    /** @hidden Whether this is a suggestion type list item. */\n    readonly suggestion = input(false, { transform: booleanAttribute });\n\n    /** @hidden */\n    private _role = 'listitem'; // default for li elements\n\n    /** @hidden An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)  */\n    private readonly _destroyRef = inject(DestroyRef);\n\n    /** @hidden */\n    private readonly _onLinkListChanged$ = new Subject<void>();\n\n    /** @hidden */\n    private _radio: RadioButtonComponent;\n\n    /** @hidden */\n    private _checkbox: CheckboxComponent;\n\n    /** @hidden */\n    constructor(private readonly _changeDetectorRef: ChangeDetectorRef) {\n        super();\n    }\n\n    /** @hidden */\n    @HostBinding('attr.role')\n    protected get roleAttr(): string {\n        return this.ariaRole || this._role;\n    }\n\n    /** @hidden */\n    @HostListener('keydown', ['$event'])\n    keydownHandler(event: KeyboardEvent): void {\n        if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n            if (this.checkbox && !this.checkbox.disabled) {\n                this.checkbox.nextValue();\n                this._muteEvent(event);\n            } else if (this.radio && !this.radio.disabled) {\n                this.radio.labelClicked(event, false);\n                this._muteEvent(event);\n            } else if (this.interactive) {\n                this.selected = !this.selected;\n                this._muteEvent(event);\n                return;\n            } else if (this.link) {\n                this.linkDirectives.first.elementRef.nativeElement.classList.add('is-active');\n                this._muteEvent(event);\n            }\n        }\n        this.keyDown.emit(event);\n    }\n\n    /** @hidden */\n    @HostListener('keyup', ['$event'])\n    keyupHandler(event: KeyboardEvent): void {\n        if (KeyUtil.isKeyCode(event, [ENTER, SPACE]) && this.link) {\n            const _anchorElement = this.linkDirectives.first.elementRef.nativeElement;\n            _anchorElement.classList.remove('is-active');\n            _anchorElement.click();\n            this._muteEvent(event);\n        }\n    }\n\n    /** Handler for mouse events */\n    @HostListener('click', ['$event'])\n    onClick(event: MouseEvent): void {\n        if (!this.preventClick) {\n            this._clicked$.next(event);\n            if (this.checkbox && !this.checkbox.disabled && !this.link) {\n                if (!this.checkbox.elementRef.nativeElement.contains(event.target as Node)) {\n                    // clicking on the checkbox is not suppressed\n                    // so we should only process clicks if clicked on the list-item, not checkbox itself\n                    this.checkbox.nextValue();\n                }\n            }\n            if (this.radio && !this.radio.disabled && !this.link) {\n                this.radio.labelClicked(event, false);\n            }\n        }\n    }\n\n    /** @hidden */\n    @HostListener('focus')\n    protected _onFocus(): void {\n        // Try to find inner focusable link\n        const tabbableLink = this.elementRef.nativeElement.querySelector('.fd-list__link.fd-list__link--focusable');\n        tabbableLink?.focus();\n    }\n\n    /** @hidden */\n    ngAfterContentInit(): void {\n        this._listenOnLinkQueryChange();\n        this._listenOnButtonQueryChange();\n    }\n\n    /** @hidden */\n    private _listenOnLinkQueryChange(): void {\n        this.linkDirectives.changes\n            .pipe(startWith(this.linkDirectives), takeUntilDestroyed(this._destroyRef))\n            .subscribe(() => {\n                this._onLinkListChanged$.next();\n                this.link = this.linkDirectives.length > 0;\n                this._changeDetectorRef.detectChanges();\n            });\n    }\n\n    /** @hidden */\n    private _listenOnButtonQueryChange(): void {\n        this.buttons.changes.pipe(startWith(0), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n            this.buttons.forEach(this._addClassToButtons);\n        });\n    }\n\n    /** @hidden */\n    private _addClassToButtons(button: ButtonComponent): void {\n        const buttonElement = button.elementRef.nativeElement;\n        buttonElement.classList.add('fd-list__button');\n    }\n\n    /** @hidden */\n    private _muteEvent(event: Event): void {\n        event.stopPropagation();\n        event.preventDefault();\n    }\n}\n","@if (checkbox || radio) {\n    <div fd-form-item class=\"fd-list__form-item\">\n        <ng-content select=\"fd-checkbox\"></ng-content>\n        <ng-content select=\"fd-radio-button\"></ng-content>\n    </div>\n}\n@if (unread && (!_list || _list.byline)) {\n    <fd-icon class=\"fd-list__notification\" glyph=\"circle-task-2\"></fd-icon>\n}\n<ng-content></ng-content>\n@if (counter || counter === 0) {\n    <span class=\"fd-list__item-counter\" [attr.role]=\"counterRole\" [attr.aria-label]=\"counterAriaLabel\">\n        {{ counter | number: '1.0-2' }}\n    </span>\n}\n@if (active) {\n    <span class=\"fd-list__active-indicator sap-icon--sys-enter-2\"></span>\n}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { CssClassBuilder, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { FD_LIST_MESSAGE_DIRECTIVE } from './tokens';\n\n@Directive({\n    selector: '[fd-list-message], [fdListMessage]',\n    providers: [\n        {\n            provide: FD_LIST_MESSAGE_DIRECTIVE,\n            useExisting: ListMessageDirective\n        }\n    ],\n    standalone: true\n})\nexport class ListMessageDirective implements OnChanges, OnInit, CssClassBuilder {\n    /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n    @Input()\n    type: FormStates;\n\n    /** Apply user custom styles */\n    @Input()\n    class: string;\n\n    /** @hidden */\n    constructor(public readonly elementRef: ElementRef) {}\n\n    /** @hidden\n     * CssClassBuilder interface implementation\n     * function must return single string\n     * function is responsible for order which css classes are applied\n     */\n    @applyCssClass\n    buildComponentCssClass(): string[] {\n        return ['fd-list__message', this.type ? 'fd-list__message--' + this.type : '', this.class];\n    }\n\n    /** @hidden */\n    ngOnChanges(): void {\n        this.buildComponentCssClass();\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        this.buildComponentCssClass();\n    }\n}\n","import { FocusableOption } from '@angular/cdk/a11y';\nimport { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n    AfterContentInit,\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    ContentChild,\n    ContentChildren,\n    ElementRef,\n    HostBinding,\n    HostListener,\n    Input,\n    QueryList,\n    Renderer2,\n    computed,\n    effect,\n    forwardRef,\n    inject,\n    signal\n} from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { FD_ICON_COMPONENT, IconComponent } from '@fundamental-ngx/core/icon';\nimport { Subject } from 'rxjs';\nimport { ListNavigationItemArrowDirective } from '../directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from '../directives/list-navigation-item-text.directive';\nimport { ListComponentInterface } from '../list-component.interface';\nimport { FD_LIST_COMPONENT } from '../tokens';\n\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: '[fd-list-navigation-item], [fdListNavigaitonItem]',\n    templateUrl: './list-navigation-item.component.html',\n    styleUrl: './list-navigation-item.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        role: 'treeitem'\n    },\n    imports: [NgTemplateOutlet, IconComponent]\n})\nexport class ListNavigationItemComponent implements AfterContentInit, AfterViewInit, FocusableOption {\n    /** Whether or not the list item is expanded. */\n    @Input()\n    @HostBinding('class.is-expanded')\n    expanded = false;\n\n    /** Whether or not this list item is indicated for navigation. */\n    @Input()\n    @HostBinding('attr.aria-selected')\n    @HostBinding('class.fd-list__navigation-item--indicated')\n    indicated = false;\n\n    /** @hidden */\n    @HostBinding('class.fd-list__navigation-item')\n    _navigationItemClass = true;\n\n    /** @hidden */\n    @HostBinding('class.fd-list__navigation-item--expandable')\n    _isExpandable = false;\n\n    /** @hidden */\n    @HostBinding('attr.tabindex')\n    _tabIndex;\n\n    /** @hidden */\n    @HostBinding('attr.aria-level')\n    _ariaLevel: number;\n\n    /** @hidden */\n    @ContentChild(FD_LIST_COMPONENT)\n    _listComponent: ListComponentInterface;\n\n    /** @hidden */\n    @ContentChild(ListNavigationItemArrowDirective)\n    _listNavigationItemArrow: ListNavigationItemArrowDirective;\n\n    /** @hidden */\n    @ContentChild(FD_ICON_COMPONENT)\n    _iconComponent: IconComponent;\n\n    /** @hidden */\n    @ContentChild(ListNavigationItemTextDirective)\n    _text: ListNavigationItemTextDirective;\n\n    /** @hidden */\n    @ContentChildren(forwardRef(() => ListNavigationItemComponent), { descendants: true })\n    _childItems: QueryList<ListNavigationItemComponent>;\n\n    /** @hidden */\n    @HostBinding('attr.aria-expanded')\n    protected get _ariaExpanded(): boolean | null {\n        return this._isExpandable ? this._expanded : null;\n    }\n\n    /** @hidden */\n    _condensed = signal(false);\n\n    /** @hidden */\n    _expanded = false;\n\n    /** @hidden */\n    _innerText: string;\n\n    /** @hidden */\n    readonly _focused$ = new Subject<boolean>();\n\n    /** @hidden */\n    readonly _clicked$ = new Subject<MouseEvent>();\n\n    /**\n     * @hidden\n     * false if list-item is within unexpanded list (not visible to user until list expanded). default is true\n     */\n    _isItemVisible = true;\n\n    /** @hidden handles rtl service */\n    private readonly _isRtl = computed(() => this._rtlService?.rtl() ?? false);\n\n    /** @hidden */\n    private readonly _renderer2 = inject(Renderer2);\n\n    /** @hidden */\n    private readonly _elementRef = inject(ElementRef);\n\n    /** @hidden */\n    private readonly _rtlService = inject(RtlService, { optional: true });\n\n    /** @hidden */\n    constructor() {\n        effect(() => {\n            if (this._condensed()) {\n                this._renderer2.addClass(this._elementRef.nativeElement, 'fd-list__navigation-item--condensed');\n            } else {\n                this._renderer2.removeClass(this._elementRef.nativeElement, 'fd-list__navigation-item--condensed');\n            }\n        });\n    }\n\n    /** @hidden */\n    @HostListener('click', ['$event'])\n    onItemClick(event: MouseEvent): void {\n        event.stopPropagation();\n        this._handleExpandedChanges(!this.expanded);\n    }\n\n    /** @hidden */\n    @HostListener('keydown', ['$event'])\n    keyDownHandler(event: KeyboardEvent): void {\n        if (KeyUtil.isKeyCode(event, [RIGHT_ARROW])) {\n            event.preventDefault();\n            this._handleExpandedChanges(!this._isRtl());\n        }\n        if (KeyUtil.isKeyCode(event, [LEFT_ARROW])) {\n            event.preventDefault();\n            this._handleExpandedChanges(this._isRtl());\n        }\n        if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n            event.preventDefault();\n            event.stopPropagation();\n            this._handleExpandedChanges(!this.expanded);\n        }\n    }\n\n    /** @hidden */\n    @HostListener('focus', ['$event'])\n    protected onFocus(event: FocusEvent): void {\n        this._focused$.next(event.target !== this._elementRef?.nativeElement);\n    }\n\n    /** @hidden */\n    ngAfterContentInit(): void {\n        if (this._listComponent) {\n            this._isExpandable = true;\n            this._listComponent.role = 'group';\n        } else {\n            this._tabIndex = 0;\n        }\n        if (this._iconComponent) {\n            this._iconComponent._navigationItemIcon.set(true);\n            this._iconComponent.ariaHidden.set(true);\n        }\n        this._innerText = this._text.elementRef.nativeElement.textContent ?? '';\n        this._ariaLevel = 1;\n        this._childItems?.forEach((item) => {\n            item._ariaLevel = 2;\n        });\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        if (this._isExpandable) {\n            this._expanded = false;\n        }\n        this._setIsItemVisible(this.expanded);\n    }\n\n    /** @hidden\n     * set the _isItemVisible of sublist items to true if this(containing) list is expanded.\n     */\n    _setIsItemVisible(value: boolean): void {\n        if (this._isExpandable) {\n            this._listComponent?._navItems?.forEach((item) => {\n                item._isItemVisible = value;\n            });\n        }\n    }\n\n    /** @hidden */\n    _childIndicatedAndCollapsed(): boolean {\n        let retVal = false;\n        this._listComponent?._navItems?.forEach((navItem) => {\n            if (navItem.indicated && !navItem.expanded) {\n                retVal = true;\n            }\n        });\n\n        return retVal;\n    }\n\n    /** support for FocusKeyManager for arrow key navigation */\n    focus(): void {\n        this._elementRef.nativeElement.focus();\n    }\n\n    /** support for FocusKeyManager for arrow key navigation */\n    click(): void {\n        this._elementRef?.nativeElement?.click();\n    }\n\n    /** @hidden */\n    private _handleExpandedChanges(expanded: boolean): void {\n        if (this._isExpandable) {\n            if (this.expanded === expanded) {\n                return;\n            }\n\n            this.expanded = expanded;\n            this._expanded = expanded;\n            this._setIsItemVisible(expanded);\n            this._listNavigationItemArrow._setExpanded(this.expanded);\n\n            if (expanded) {\n                setTimeout(() => {\n                    this._listComponent._navItems.first.focus();\n                });\n            } else {\n                setTimeout(() => {\n                    this.focus();\n                });\n            }\n        }\n    }\n}\n","@if (!expanded || !_isExpandable || !_condensed() || !_listComponent) {\n    <ng-content></ng-content> <ng-template [ngTemplateOutlet]=\"subListTemplate\"></ng-template>\n    @if (indicated || _childIndicatedAndCollapsed()) {\n        <span class=\"fd-list__navigation-item-indicator\"></span>\n    }\n}\n@if (expanded && _isExpandable && _condensed() && _listComponent) {\n    <div\n        class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n        aria-hidden=\"false\"\n    >\n        <ul class=\"fd-list\">\n            <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n                <fd-icon\n                    role=\"presentation\"\n                    class=\"fd-list__navigation-item-icon\"\n                    [glyph]=\"_iconComponent.glyph\"\n                ></fd-icon>\n                <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n            </li>\n        </ul>\n    </div>\n    <div\n        class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n        aria-hidden=\"false\"\n    >\n        <ng-template [ngTemplateOutlet]=\"subListTemplate\"></ng-template>\n    </div>\n}\n<ng-template #subListTemplate>\n    <ng-content select=\"[fd-list]\"></ng-content>\n</ng-template>\n","import {\n    AfterContentInit,\n    ChangeDetectionStrategy,\n    Component,\n    ContentChildren,\n    DestroyRef,\n    ElementRef,\n    EventEmitter,\n    HostBinding,\n    HostListener,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    QueryList,\n    ViewEncapsulation,\n    booleanAttribute,\n    inject,\n    input\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n    FocusEscapeDirection,\n    KeyboardSupportService,\n    LIST_ITEM_COMPONENT,\n    ListItemInterface,\n    Nullable,\n    destroyObservable\n} from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Observable, Subject, merge } from 'rxjs';\nimport { map, startWith, takeUntil } from 'rxjs/operators';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListComponentInterface } from './list-component.interface';\nimport { ListFocusItem } from './list-focus-item.model';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\nimport { ListUnreadIndicator } from './list-unread-indicator.interface';\nimport { FD_LIST_COMPONENT, FD_LIST_UNREAD_INDICATOR } from './tokens';\n\n/**\n * The directive that represents a list.\n * It is used to display a list of items with simple information such as scopes, names, etc.\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: '[fd-list], [fdList]',\n    template: `<ng-content></ng-content>`,\n    host: {\n        class: 'fd-list',\n        '[class.fd-settings__list]': 'settingsList() || settingsListFooter()',\n        '[class.fd-settings__list--footer]': 'settingsListFooter()',\n        '[class.fd-list--search-results]': 'searchResultsList()'\n    },\n    styleUrls: ['./list.component.scss', '../../cdk/utils/drag-and-drop/drag-and-drop.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        KeyboardSupportService,\n        contentDensityObserverProviders(),\n        {\n            provide: FD_LIST_COMPONENT,\n            useExisting: ListComponent\n        },\n        {\n            provide: FD_LIST_UNREAD_INDICATOR,\n            useExisting: ListComponent\n        }\n    ],\n    standalone: true\n})\nexport class ListComponent implements ListComponentInterface, ListUnreadIndicator, OnInit, AfterContentInit, OnDestroy {\n    /** Whether dropdown mode is included to component, used for Select and Combobox */\n    @Input()\n    @HostBinding('class.fd-list--dropdown')\n    dropdownMode = false;\n\n    /** Whether multi mode is included to component, used for MultiInput */\n    @Input()\n    @HostBinding('class.fd-list--multi-input')\n    multiInputMode = false;\n\n    /** Whether list is used in mobile mode*/\n    @Input()\n    @HostBinding('class.fd-list--mobile')\n    mobileMode = false;\n\n    /** Whether list component contains message */\n    @Input()\n    @HostBinding('class.fd-list--has-message')\n    hasMessage = false;\n\n    /** Whether list component has removed borders */\n    @Input()\n    @HostBinding('class.fd-list--no-border')\n    noBorder = false;\n\n    /** Whether list component has navigation indicators */\n    @Input()\n    @HostBinding('class.fd-list--navigation-indication')\n    navigationIndicator = false;\n\n    /** Whether list component has checkboxes or radio buttons included */\n    @Input()\n    @HostBinding('class.fd-list--selection')\n    selection = false;\n\n    /** Whether internal keyboard support should be enabled. It's enabled by default */\n    @Input()\n    keyboardSupport = true;\n\n    /** Whether list should have a byline */\n    @Input()\n    @HostBinding('class.fd-list--byline')\n    byline = false;\n\n    /** Whether list should have a subline */\n    @Input()\n    @HostBinding('class.fd-list--subline')\n    subline = false;\n\n    /** Whether to apply modifier class for Theme List */\n    @Input()\n    @HostBinding('class.fd-list--theme')\n    theme = false;\n\n    /** Whether to display unread notification indicator. */\n    @HostBinding('class.fd-list--unread-indicator')\n    @Input()\n    unreadIndicator = false;\n\n    /** Event thrown, when focus escapes the list */\n    @Output()\n    focusEscapeList = new EventEmitter<FocusEscapeDirection>();\n\n    /** Whether list component includes links */\n    @HostBinding('class.fd-list--navigation')\n    hasNavigation = false;\n\n    /**\n     * User-provided role.\n     */\n    @Input()\n    role: Nullable<string>;\n\n    /** @hidden */\n    @ContentChildren(LIST_ITEM_COMPONENT)\n    items: QueryList<ListItemInterface>;\n\n    /** @hidden */\n    @ContentChildren(ListNavigationItemComponent)\n    _navItems: QueryList<ListNavigationItemComponent>;\n\n    /** @hidden */\n    @ContentChildren(ListFocusItem)\n    private _focusItems: QueryList<ListFocusItem>;\n\n    /** @hidden */\n    @HostBinding('attr.role')\n    protected get _ariaRole(): string {\n        return this.role || this._defaultRole;\n    }\n\n    /** Whether the list is used inside Settings Dialog */\n    settingsList = input(false, { transform: booleanAttribute });\n\n    /** Whether the list is used inside Settings Dialog Footer */\n    settingsListFooter = input(false, { transform: booleanAttribute });\n\n    /** @hidden Whether the list is the shell search results list. */\n    searchResultsList = input(false);\n\n    /** @hidden */\n    elementRef = inject(ElementRef);\n\n    /**\n     * @hidden\n     * Default role for lists\n     */\n    private _defaultRole = 'list';\n\n    /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing)  */\n    private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n    /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)  */\n    private readonly _destroyRef = inject(DestroyRef);\n\n    /** @hidden */\n    constructor(\n        private _keyboardSupportService: KeyboardSupportService<ListFocusItem>,\n        _contentDensityObserver: ContentDensityObserver\n    ) {\n        _contentDensityObserver.subscribe();\n    }\n\n    /** @hidden */\n    @HostListener('keydown', ['$event'])\n    keyDownHandler(event: KeyboardEvent): void {\n        if (this.keyboardSupport) {\n            this._keyboardSupportService.onKeyDown(event);\n        }\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        this._listenOnListFocusEscape();\n    }\n\n    /** @hidden */\n    ngAfterContentInit(): void {\n        this._keyboardSupportService.setKeyboardService(this._focusItems, false, false);\n        this._listenOnQueryChange();\n        this._listenOnActiveItemChange();\n    }\n\n    /** @hidden */\n    ngOnDestroy(): void {\n        this._onRefresh$.next();\n        this._onRefresh$.complete();\n    }\n\n    /** Set fake focus on element with passed index */\n    setItemActive(index: number, updateOnly = false): void {\n        if (updateOnly) {\n            this._keyboardSupportService.keyManager.updateActiveItem(index);\n        } else {\n            this._keyboardSupportService.keyManager.setActiveItem(index);\n        }\n    }\n\n    /**\n     * @returns Currently active list item.\n     */\n    getActiveItem(): ListFocusItem | null {\n        return this._keyboardSupportService.keyManager.activeItem;\n    }\n\n    /** @hidden */\n    private _listenOnQueryChange(): void {\n        this._focusItems.changes.pipe(startWith(0), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n            this._recheckLinks();\n            this._listenOnItemsClick();\n            setTimeout(() => {\n                // using setTimeout to avoid ExpressionChangedAfterItHasBeenCheckedError\n                this.updateItemsProperties();\n            });\n        });\n    }\n\n    /** @hidden */\n    private _listenOnItemsClick(): void {\n        /** Finish all the streams, from before */\n        this._onRefresh$.next();\n\n        if (!this.keyboardSupport) {\n            return;\n        }\n\n        /** Merge refresh/destroy observables */\n        const completion$ = merge(this._onRefresh$, destroyObservable(this._destroyRef));\n        const interactionChangesIndexes: Observable<{ index: number; updateOnly: boolean }>[] = this._focusItems.map(\n            (item, index) =>\n                merge(\n                    item._clicked$.pipe(map(() => ({ index, updateOnly: false }))),\n                    item._focused$.pipe(map(({ focusedWithin }) => ({ index, updateOnly: focusedWithin })))\n                )\n        );\n        merge(...interactionChangesIndexes)\n            .pipe(takeUntil(completion$))\n            .subscribe(({ index, updateOnly }) => this.setItemActive(index, updateOnly));\n    }\n\n    /** @hidden */\n    private updateItemsProperties(): void {\n        const tabbableIndex = this._getTabbableItemIndex();\n        let closestListHeader: ListGroupHeaderDirective | null = null;\n        this._focusItems.forEach((item, index) => {\n            if (item instanceof ListGroupHeaderDirective) {\n                closestListHeader = item;\n            } else if (item instanceof ListItemComponent && closestListHeader) {\n                item._relatedGroupHeaderId = closestListHeader.nativeElementId;\n            }\n            // Roving tabindex: only the tabbable item gets tabindex=\"0\"\n            item.setIsTabbable(index === tabbableIndex);\n        });\n    }\n\n    /** @hidden */\n    private _listenOnActiveItemChange(): void {\n        this._keyboardSupportService.keyManager?.change.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n            this._updateTabIndexes();\n        });\n    }\n\n    /** @hidden */\n    private _updateTabIndexes(): void {\n        const tabbableIndex = this._getTabbableItemIndex();\n        this._focusItems.forEach((item, index) => {\n            item.setIsTabbable(index === tabbableIndex);\n        });\n    }\n\n    /**\n     * @hidden\n     * Determines which item should have tabindex=\"0\".\n     * Priority: 1) Active item (keyboard focused), 2) First selected item, 3) First item\n     */\n    private _getTabbableItemIndex(): number {\n        // If keyManager has an active item, use that\n        const activeIndex = this._keyboardSupportService.keyManager?.activeItemIndex;\n        if (activeIndex != null && activeIndex >= 0) {\n            return activeIndex;\n        }\n\n        // Otherwise, find the first selected item\n        const focusItemsArray = this._focusItems.toArray();\n        const firstSelectedIndex = focusItemsArray.findIndex(\n            (item) => item instanceof ListItemComponent && item.selected\n        );\n        if (firstSelectedIndex >= 0) {\n            return firstSelectedIndex;\n        }\n\n        // Default to first item\n        return 0;\n    }\n\n    /** @hidden */\n    private _recheckLinks(): void {\n        const items = this.items.filter((item) => item.link);\n        this.hasNavigation = items.length > 0 || this.searchResultsList();\n        if (this.selection) {\n            this._defaultRole = 'listbox';\n        }\n    }\n\n    /** @hidden */\n    private _listenOnListFocusEscape(): void {\n        this._keyboardSupportService.focusEscapeList\n            .pipe(takeUntilDestroyed(this._destroyRef))\n            .subscribe((direction) => this.focusEscapeList.emit(direction));\n    }\n}\n","import { NgModule } from '@angular/core';\nimport { ListBylineLeftDirective } from './directives/byline/list-byline-left.directive';\nimport { ListBylineRightDirective } from './directives/byline/list-byline-right.directive';\nimport { ListBylineDirective } from './directives/byline/list-byline.directive';\nimport { ListContentDirective } from './directives/byline/list-content.directive';\nimport { ListThumbnailDirective } from './directives/byline/list-thumbnail.directive';\nimport { ListFooterDirective } from './directives/list-footer.directive';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListIconDirective } from './directives/list-icon.directive';\nimport { ListInfoLabelDirective } from './directives/list-info-label.directive';\nimport { ListLinkDirective } from './directives/list-link.directive';\nimport { ListNavigationItemArrowDirective } from './directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from './directives/list-navigation-item-text.directive';\nimport { ListSecondaryDirective } from './directives/list-secondary.directive';\nimport { ListTitleTextDirective } from './directives/list-title-text.directive';\nimport { ListTitleDirective } from './directives/list-title.directive';\nimport { ListSublineDirective } from './directives/subline/list-subline.directive';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { ListMessageDirective } from './list-message.directive';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\nimport { ListComponent } from './list.component';\n\nconst components = [\n    ListComponent,\n    ListItemComponent,\n    ListTitleDirective,\n    ListFooterDirective,\n    ListGroupHeaderDirective,\n    ListSecondaryDirective,\n    ListIconDirective,\n    ListMessageDirective,\n    ListLinkDirective,\n    ListBylineDirective,\n    ListBylineLeftDirective,\n    ListBylineRightDirective,\n    ListContentDirective,\n    ListThumbnailDirective,\n    ListTitleTextDirective,\n    ListInfoLabelDirective,\n    ListNavigationItemComponent,\n    ListNavigationItemArrowDirective,\n    ListNavigationItemTextDirective,\n    ListSublineDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n    imports: [...components],\n    exports: [...components]\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}