@fundamental-ngx/core 0.61.2 → 0.62.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +3 -2
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +6 -4
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-bar.mjs +36 -11
- package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +11 -13
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +5 -7
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs +35 -31
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +6 -4
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +7 -13
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +19 -22
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-facets.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-info-label.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-link.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +47 -12
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +5 -5
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +44 -49
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +25 -23
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +6 -8
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +22 -21
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +13 -16
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs +11 -14
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +5 -5
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +8 -4
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-quick-view.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +4 -7
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +10 -11
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +15 -8
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +44 -27
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-split-button.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-step-input.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-switch.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-text.mjs +6 -4
- package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time-picker.mjs +4 -29
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-title.mjs +7 -4
- package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +12 -15
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +5 -3
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +5 -5
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +6 -4
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/package.json +3 -3
- package/types/fundamental-ngx-core-bar.d.ts +14 -4
- package/types/fundamental-ngx-core-breadcrumb.d.ts +5 -5
- package/types/fundamental-ngx-core-busy-indicator.d.ts +3 -3
- package/types/fundamental-ngx-core-combobox.d.ts +4 -2
- package/types/fundamental-ngx-core-datetime.d.ts +1 -5
- package/types/fundamental-ngx-core-dialog.d.ts +4 -2
- package/types/fundamental-ngx-core-dynamic-page.d.ts +1 -2
- package/types/fundamental-ngx-core-list.d.ts +24 -5
- package/types/fundamental-ngx-core-menu.d.ts +2 -0
- package/types/fundamental-ngx-core-message-box.d.ts +1 -1
- package/types/fundamental-ngx-core-message-strip.d.ts +3 -12
- package/types/fundamental-ngx-core-multi-combobox.d.ts +1 -1
- package/types/fundamental-ngx-core-nested-list.d.ts +10 -10
- package/types/fundamental-ngx-core-notification.d.ts +5 -7
- package/types/fundamental-ngx-core-pagination.d.ts +3 -4
- package/types/fundamental-ngx-core-product-switch.d.ts +3 -0
- package/types/fundamental-ngx-core-rating-indicator.d.ts +3 -2
- package/types/fundamental-ngx-core-segmented-button.d.ts +3 -5
- package/types/fundamental-ngx-core-select.d.ts +5 -1
- package/types/fundamental-ngx-core-shared.d.ts +21 -20
- package/types/fundamental-ngx-core-shellbar.d.ts +7 -1
- package/types/fundamental-ngx-core-slider.d.ts +1 -1
- package/types/fundamental-ngx-core-text.d.ts +3 -1
- package/types/fundamental-ngx-core-time-picker.d.ts +1 -17
- package/types/fundamental-ngx-core-title.d.ts +3 -1
- package/types/fundamental-ngx-core-token.d.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"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/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 { 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--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 /** @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 _isFirstItem$ = signal(false);\n\n /** @hidden */\n protected _tabIndex$ = signal<number | undefined>(undefined);\n\n /** @hidden */\n protected _normalizedTabIndex$ = computed(() => {\n if (this._isFirstItem$() && 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 setIsFirst(value: boolean): void {\n this._isFirstItem$.set(value);\n }\n}\n","import {\n AfterContentInit,\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 { 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 },\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 /** 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 @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 */\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\">\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 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 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 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 },\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 /**\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 }\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 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 item.setIsFirst(index === 0);\n });\n }\n\n /** @hidden */\n private _recheckLinks(): void {\n const items = this.items.filter((item) => item.link);\n this.hasNavigation = items.length > 0;\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 { 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 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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"}
|
|
1
|
+
{"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 _isFirstItem$ = signal(false);\n\n /** @hidden */\n protected _tabIndex$ = signal<number | undefined>(undefined);\n\n /** @hidden */\n protected _normalizedTabIndex$ = computed(() => {\n if (this._isFirstItem$() && 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 setIsFirst(value: boolean): void {\n this._isFirstItem$.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 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 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 }\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 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 item.setIsFirst(index === 0);\n });\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":";;;;;;;;;;;;;;;;;;;;MASa,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;;QASa,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,KAAK,iDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAChE,IAAA;8GAHY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kCAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2CAA2C;AACrD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAC7B,wBAAA,oCAAoC,EAAE;AACzC;AACJ,iBAAA;;;MCQY,wBAAwB,CAAA;AAZrC,IAAA,WAAA,GAAA;AAaI;;;AAGG;QACM,IAAA,CAAA,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoB;;QAGlC,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,KAAK,iDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAChE,IAAA;8GATY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sCAAA,EAAA,0BAAA,EAAA,uCAAA,EAAA,2BAAA,EAAA,uCAAA,EAAA,2BAAA,EAAA,uCAAA,EAAA,2BAAA,EAAA,0CAAA,EAAA,8BAAA,EAAA,mCAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,wCAAwC,EAAE,wBAAwB;AAClE,wBAAA,yCAAyC,EAAE,yBAAyB;AACpE,wBAAA,yCAAyC,EAAE,yBAAyB;AACpE,wBAAA,yCAAyC,EAAE,yBAAyB;AACpE,wBAAA,4CAA4C,EAAE,4BAA4B;AAC1E,wBAAA,qCAAqC,EAAE;AAC1C;AACJ,iBAAA;;;MCLY,mBAAmB,CAAA;AARhC,IAAA,WAAA,GAAA;;QAUa,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,mDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGtD,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,KAAK,iDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAChE,IAAA;8GANY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,gCAAgC,EAAE,UAAU;AAC5C,wBAAA,+BAA+B,EAAE;AACpC;AACJ,iBAAA;;;MCHY,oBAAoB,CAAA;AAJjC,IAAA,WAAA,GAAA;;QAOI,IAAA,CAAA,kBAAkB,GAAG,IAAI;;QAKzB,IAAA,CAAA,MAAM,GAAG,KAAK;AACjB,IAAA;8GATY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI,WAAW;uBAAC,wBAAwB;;sBAIpC;;sBACA,WAAW;uBAAC,+BAA+B;;;MCPnC,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;;QAOI,IAAA,CAAA,oBAAoB,GAAG,IAAI;AAC9B,IAAA;8GAJY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wCAAwC;AAClD,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI,WAAW;uBAAC,0BAA0B;;;MCF9B,mBAAmB,CAAA;AAJhC,IAAA,WAAA,GAAA;;QAOI,IAAA,CAAA,iBAAiB,GAAG,IAAI;AAC3B,IAAA;8GAJY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI,WAAW;uBAAC,uBAAuB;;;ACNxC,IAAI,QAAQ,GAAG,CAAC;MAWH,wBAAwB,CAAA;;AAWjC,IAAA,WAAA,CAAqB,UAAsB,EAAA;QAAtB,IAAA,CAAA,UAAU,GAAV,UAAU;;AAP/B,QAAA,IAAA,CAAA,eAAe,GAAkB,CAAA,qBAAA,EAAwB,EAAE,QAAQ,EAAE;;AAIrE,QAAA,IAAA,CAAA,OAAO,GAAgC,IAAI,YAAY,EAAiB;IAG1B;;AAI9C,IAAA,cAAc,CAAC,KAAoB,EAAA;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5B;8GAjBS,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE,QAAQ;AAC3B,wBAAA,uBAAuB,EAAE,MAAM;AAC/B,wBAAA,+BAA+B,EAAE;AACpC,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI;;sBACA,WAAW;uBAAC,SAAS;;sBAIrB;;sBAOA,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;MCnB1B,iBAAiB,CAAA;AAJ9B,IAAA,WAAA,GAAA;;QAaI,IAAA,CAAA,SAAS,GAAa,2BAA2B;;QASjD,IAAA,CAAA,IAAI,GAAG,cAAc;;QAKrB,IAAA,CAAA,UAAU,GAAG,IAAI;;AAGR,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAqB3C,IAAA;AAnBG;;;;AAIG;IAEH,sBAAsB,GAAA;AAClB,QAAA,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;IACxG;;IAGA,WAAW,GAAA;QACP,IAAI,CAAC,sBAAsB,EAAE;IACjC;;IAGA,QAAQ,GAAA;QACJ,IAAI,CAAC,sBAAsB,EAAE;IACjC;8GA9CS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAkC1B,UAAA,CAAA;IADC,aAAa;;;;AAGb,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA;2FApCQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAKI;;sBAIA;;sBAIA;;sBAIA;;sBACA,WAAW;uBAAC,WAAW;;sBAIvB;;sBACA,WAAW;uBAAC,kBAAkB;;;MCtBtB,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;;;MCJY,yBAAyB,GAAG,IAAI,cAAc,CAAC,wBAAwB;MACvE,sBAAsB,GAAG,IAAI,cAAc,CAAC,qBAAqB;MACjE,iBAAiB,GAAG,IAAI,cAAc,CAAyB,eAAe;MAE9E,wBAAwB,GAAG,IAAI,cAAc,CAAyB,qBAAqB;;MCU3F,iBAAiB,CAAA;;AAwB1B,IAAA,WAAA,CAAmB,UAAsB,EAAA;QAAtB,IAAA,CAAA,UAAU,GAAV,UAAU;;QApB7B,IAAA,CAAA,mBAAmB,GAAG,KAAK;;QAK3B,IAAA,CAAA,SAAS,GAAG,KAAK;;QAKjB,IAAA,CAAA,SAAS,GAAG,KAAK;;QAIjB,IAAA,CAAA,eAAe,GAAG,IAAI;;AAGb,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,OAAO,EAAQ;IAGd;;AAG5C,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,SAAS,EAAE;AAClD,YAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE;QAC3C;IACJ;8GA/BS,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,2CAAA,EAAA,0BAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,gCAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,SAAA,EARf;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,sBAAsB;AAC/B,gBAAA,WAAW,EAAE;AAChB;AACJ,SAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAGQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,sBAAsB;AAC/B,4BAAA,WAAW,EAAA;AACd;AACJ,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI;;sBACA,WAAW;uBAAC,2CAA2C;;sBAIvD;;sBACA,WAAW;uBAAC,oBAAoB;;sBAIhC;;sBACA,WAAW;uBAAC,gCAAgC;;sBAI5C,WAAW;uBAAC,qBAAqB;;;MCvBzB,gCAAgC,CAAA;AAR7C,IAAA,WAAA,GAAA;;QAWI,IAAA,CAAA,wBAAwB,GAAG,IAAI;;QAI/B,IAAA,CAAA,eAAe,GAAG,IAAI;;QAItB,IAAA,CAAA,cAAc,GAAG,KAAK;;QAItB,IAAA,CAAA,QAAQ,GAAG,KAAK;;QAKhB,IAAA,CAAA,UAAU,GAAsB,IAAI;AAUvC,IAAA;;AAPG,IAAA,YAAY,CAAC,QAAiB,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC5B,YAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe;AAC5C,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;QAC9C;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC5B;8GA7BS,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sCAAA,EAAA,+BAAA,EAAA,wCAAA,EAAA,sBAAA,EAAA,uCAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAR5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8DAA8D;AACxE,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,IAAI,EAAE;AACT,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI,WAAW;uBAAC,sCAAsC;;sBAIlD,WAAW;uBAAC,wCAAwC;;sBAIpD,WAAW;uBAAC,uCAAuC;;sBAInD,WAAW;uBAAC,mBAAmB;;sBAI/B;;sBACA,WAAW;uBAAC,kBAAkB;;;MCxBtB,+BAA+B,CAAA;;AAMxC,IAAA,WAAA,CAA4B,UAAsB,EAAA;QAAtB,IAAA,CAAA,UAAU,GAAV,UAAU;;QAHtC,IAAA,CAAA,uBAAuB,GAAG,IAAI;IAGuB;8GAN5C,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qCAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAJ3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4DAA4D;AACtE,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI,WAAW;uBAAC,qCAAqC;;;ACL/C,MAAM,uBAAuB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa;MAS5E,sBAAsB,CAAA;;AAW/B,IAAA,WAAA,GAAA;;AAHA,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAIrB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,oBAAoB,CAAC;IACjD;;IAGA,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,EAAE;AAC1E,YAAA,OAAO,CAAC,IAAI,CACR,CAAA,yCAAA,EAA4C,IAAI,CAAC,IAAI,CAAA,qBAAA,EAAwB,IAAI,CAAC,SAAS,CACvF,uBAAuB,CAC1B,CAAA,CAAE,CACN;QACL;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,oBAAoB,EAAE,CAAA,oBAAA,EAAuB,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC;IACrF;8GAzBS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,OAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wCAAwC;AAClD,oBAAA,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,CAAC,OAAO;AAC3B,iBAAA;;sBAKI;;;MCVQ,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;;QAOI,IAAA,CAAA,eAAe,GAAG,IAAI;AACzB,IAAA;8GAJY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI,WAAW;uBAAC,2BAA2B;;;MCG/B,kBAAkB,CAAA;AAT/B,IAAA,WAAA,GAAA;;QAWa,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,KAAK,iDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGpD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGxD,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,KAAK,kDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;AAGrD,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAStC,IAAA;;IANG,QAAQ,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa;AACzC,QAAA,IAAI,QAAQ,CAAC,OAAO,KAAK,GAAG,EAAE;AAC1B,YAAA,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;QAC3C;IACJ;8GAnBS,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,YAAA,EAAA,6BAAA,EAAA,SAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,gBAAgB;AACvB,wBAAA,kCAAkC,EAAE,YAAY;AAChD,wBAAA,+BAA+B,EAAE,SAAS;AAC1C,wBAAA,8BAA8B,EAAE;AACnC;AACJ,iBAAA;;;MCAY,oBAAoB,CAAA;AARjC,IAAA,WAAA,GAAA;;QAUI,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC3D,IAAA;8GAHY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kCAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,kBAAkB;AACzB,wBAAA,oCAAoC,EAAE;AACzC,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCHqB,aAAa,CAAA;AADnC,IAAA,WAAA,GAAA;;QAkBa,IAAA,CAAA,OAAO,GAAG,MAAM,EAAiB;;AAGjC,QAAA,IAAA,CAAA,UAAU,GAAe,MAAM,CAAC,UAAU,CAAC;;AAG3C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAA8B;;AAGrD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAc;;AAGpC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK,yDAAC;;AAG7B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAqB,SAAS,sDAAC;;AAGlD,QAAA,IAAA,CAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAK;AAC3C,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,EAAY,CAAC,EAAE;AAC5D,gBAAA,OAAO,CAAC;YACZ;AACA,YAAA,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAClC,QAAA,CAAC,gEAAC;AAwBL,IAAA;IA/DG,IACI,QAAQ,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD;AACA,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,oBAAoB,EAAE;IACtC;;AAqCU,IAAA,OAAO,CAAC,KAAiB,EAAA;AAC/B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAChB,aAAa,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;AACpD,SAAA,CAAC;IACN;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE;IAC3C;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE;IAC3C;;AAGA,IAAA,UAAU,CAAC,KAAc,EAAA;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IACjC;8GA/DkB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADlC;;sBAEI;;sBAYA;;sBA8BA,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;ACZvC,IAAI,gBAAgB,GAAG,CAAC;AAExB;;;AAGG;AA0BG,MAAO,iBAA2B,SAAQ,aAAgB,CAAA;;IAyE5D,IACI,KAAK,CAAC,KAA2B,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE;AAC7C,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC7B;QACA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;QACzB;IACJ;AACA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM;IACtB;;IAGA,IACI,QAAQ,CAAC,KAAwB,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,IAAI,EAAE;AACxD,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,CAAC,CAAC;QACrC;QACA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;QACzB;IACJ;AACA,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS;IACzB;;AA+CA,IAAA,WAAA,CAA6B,kBAAqC,EAAA;AAC9D,QAAA,KAAK,EAAE;QADkB,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;;QAzI/C,IAAA,CAAA,MAAM,GAAG,KAAK;;QAKd,IAAA,CAAA,MAAM,GAAG,KAAK;;QAKd,IAAA,CAAA,WAAW,GAAG,KAAK;;QAKnB,IAAA,CAAA,OAAO,GAAG,KAAK;;QAgBf,IAAA,CAAA,MAAM,GAAG,KAAK;;QAKd,IAAA,CAAA,MAAM,GAAG,KAAK;AAEd;;AAEG;QAGH,IAAA,CAAA,MAAM,GAAG,KAAK;;AAQd,QAAA,IAAA,CAAA,EAAE,GAAqB,eAAe,GAAG,EAAE,gBAAgB;AAE3D;AACqJ;QAErJ,IAAA,CAAA,YAAY,GAAG,KAAK;;QAIpB,IAAA,CAAA,IAAI,GAAG,KAAK;;QA6CH,IAAA,CAAA,OAAO,GAAG,MAAM,EAAiB;;AAMjC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,wBAAwB,EAAE;AAC9C,YAAA,QAAQ,EAAE;AACb,SAAA,CAAC;;QAGF,IAAA,CAAA,eAAe,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAoB;;QAGlC,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;AAG3D,QAAA,IAAA,CAAA,KAAK,GAAG,UAAU,CAAC;;AAGV,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;;AAGhC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,OAAO,EAAQ;IAW1D;;AAGA,IAAA,IACc,QAAQ,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK;IACtC;;AAIA,IAAA,cAAc,CAAC,KAAoB,EAAA;AAC/B,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC1C,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC1C,gBAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;AACzB,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAC1B;iBAAO,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC3C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AACrC,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAC1B;AAAO,iBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACzB,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;AAC9B,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB;YACJ;AAAO,iBAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AAClB,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;AAC7E,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAC1B;QACJ;AACA,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5B;;AAIA,IAAA,YAAY,CAAC,KAAoB,EAAA;AAC7B,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;YACvD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa;AACzE,YAAA,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5C,cAAc,CAAC,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC1B;IACJ;;AAIA,IAAA,OAAO,CAAC,KAAiB,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACpB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACxD,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;;;AAGxE,oBAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAC7B;YACJ;AACA,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAClD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;YACzC;QACJ;IACJ;;IAIU,QAAQ,GAAA;;AAEd,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,yCAAyC,CAAC;QAC3G,YAAY,EAAE,KAAK,EAAE;IACzB;;IAGA,kBAAkB,GAAA;QACd,IAAI,CAAC,wBAAwB,EAAE;QAC/B,IAAI,CAAC,0BAA0B,EAAE;IACrC;;IAGQ,wBAAwB,GAAA;QAC5B,IAAI,CAAC,cAAc,CAAC;AACf,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;aACzE,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;AAC1C,YAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;AAC3C,QAAA,CAAC,CAAC;IACV;;IAGQ,0BAA0B,GAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACzF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACjD,QAAA,CAAC,CAAC;IACN;;AAGQ,IAAA,kBAAkB,CAAC,MAAuB,EAAA;AAC9C,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa;AACrD,QAAA,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAClD;;AAGQ,IAAA,UAAU,CAAC,KAAY,EAAA;QAC3B,KAAK,CAAC,eAAe,EAAE;QACvB,KAAK,CAAC,cAAc,EAAE;IAC1B;8GA1PS,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,8BAAA,EAAA,aAAA,EAAA,6BAAA,EAAA,aAAA,EAAA,mCAAA,EAAA,kBAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,aAAA,EAAA,6BAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAff;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB;AAClD,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB;AAClD;AACJ,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA+Ea,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAezB,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAerB,kBAAkB,oEAIf,sBAAsB,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAItB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnLxC,8pBAkBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED+Cc,iBAAiB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAe,aAAa,oKAA1B,WAAW,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAG/B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAzB7B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAAA,IAAA,EAElC;AACF,wBAAA,KAAK,EAAE,eAAe;AACtB,wBAAA,iBAAiB,EAAE,wBAAwB;AAC3C,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,mCAAmC,EAAE;qBACxC,EAAA,SAAA,EACU;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB;AAClD,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB;AAClD;AACJ,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC,YAC9C,YAAY,EAAA,QAAA,EAAA,8pBAAA,EAAA;;sBAIrB;;sBACA,WAAW;uBAAC,mBAAmB;;sBAC/B,WAAW;uBAAC,oBAAoB;;sBAIhC;;sBACA,WAAW;uBAAC,8BAA8B;;sBAI1C;;sBACA,WAAW;uBAAC,6BAA6B;;sBAIzC;;sBACA,WAAW;uBAAC,mCAAmC;;sBAI/C;;sBACA,WAAW;uBAAC,8BAA8B;;sBAI1C;;sBAIA;;sBAIA;;sBAIA;;sBAIA;;sBACA,WAAW;uBAAC,6BAA6B;;sBAMzC;;sBACA,WAAW;uBAAC,6BAA6B;;sBAIzC;;sBAIA;;sBAKA;;sBAIA,WAAW;uBAAC,2BAA2B;;sBAIvC,YAAY;uBAAC,yBAAyB;;sBAetC,YAAY;uBAAC,qBAAqB;;sBAelC,YAAY;uBAAC,kBAAkB;;sBAI/B,eAAe;uBAAC,sBAAsB;;sBAItC,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;sBAyC1D,WAAW;uBAAC,WAAW;;sBAMvB,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;sBAsBlC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAWhC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAkBhC,YAAY;uBAAC,OAAO;;;MEtQZ,oBAAoB,CAAA;;AAU7B,IAAA,WAAA,CAA4B,UAAsB,EAAA;QAAtB,IAAA,CAAA,UAAU,GAAV,UAAU;IAAe;AAErD;;;;AAIG;IAEH,sBAAsB,GAAA;QAClB,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,GAAG,oBAAoB,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;IAC9F;;IAGA,WAAW,GAAA;QACP,IAAI,CAAC,sBAAsB,EAAE;IACjC;;IAGA,QAAQ,GAAA;QACJ,IAAI,CAAC,sBAAsB,EAAE;IACjC;8GA9BS,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EARlB;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,yBAAyB;AAClC,gBAAA,WAAW,EAAE;AAChB;AACJ,SAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAqBD,UAAA,CAAA;IADC,aAAa;;;;AAGb,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA;2FApBQ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,yBAAyB;AAClC,4BAAA,WAAW,EAAA;AACd;AACJ,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI;;sBAIA;;;MCkBQ,2BAA2B,CAAA;;AAiDpC,IAAA,IACc,aAAa,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI;IACrD;;AAoCA,IAAA,WAAA,GAAA;;QApFA,IAAA,CAAA,QAAQ,GAAG,KAAK;;QAMhB,IAAA,CAAA,SAAS,GAAG,KAAK;;QAIjB,IAAA,CAAA,oBAAoB,GAAG,IAAI;;QAI3B,IAAA,CAAA,aAAa,GAAG,KAAK;;AAqCrB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,KAAK,sDAAC;;QAG1B,IAAA,CAAA,SAAS,GAAG,KAAK;;AAMR,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAW;;AAGlC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAc;AAE9C;;;AAGG;QACH,IAAA,CAAA,cAAc,GAAG,IAAI;;AAGJ,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,KAAK,kDAAC;;AAGzD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;;AAG9B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;;QAGhC,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAIjE,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,qCAAqC,CAAC;YACnG;iBAAO;AACH,gBAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,qCAAqC,CAAC;YACtG;AACJ,QAAA,CAAC,CAAC;IACN;;AAIA,IAAA,WAAW,CAAC,KAAiB,EAAA;QACzB,KAAK,CAAC,eAAe,EAAE;QACvB,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC/C;;AAIA,IAAA,cAAc,CAAC,KAAoB,EAAA;QAC/B,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE;YACzC,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/C;QACA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE;YACxC,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9C;AACA,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC1C,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/C;IACJ;;AAIU,IAAA,OAAO,CAAC,KAAiB,EAAA;AAC/B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC;IACzE;;IAGA,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,OAAO;QACtC;aAAO;AACH,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC;QACtB;AACA,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5C;AACA,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,IAAI,EAAE;AACvE,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC/B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACvB,QAAA,CAAC,CAAC;IACN;;IAGA,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QAC1B;AACA,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzC;AAEA;;AAEG;AACH,IAAA,iBAAiB,CAAC,KAAc,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AAC7C,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC/B,YAAA,CAAC,CAAC;QACN;IACJ;;IAGA,2BAA2B,GAAA;QACvB,IAAI,MAAM,GAAG,KAAK;QAClB,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,KAAI;YAChD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACxC,MAAM,GAAG,IAAI;YACjB;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,MAAM;IACjB;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;IAC1C;;IAGA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE;IAC5C;;AAGQ,IAAA,sBAAsB,CAAC,QAAiB,EAAA;AAC5C,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC5B;YACJ;AAEA,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,YAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEzD,IAAI,QAAQ,EAAE;gBACV,UAAU,CAAC,MAAK;oBACZ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;AAC/C,gBAAA,CAAC,CAAC;YACN;iBAAO;gBACH,UAAU,CAAC,MAAK;oBACZ,IAAI,CAAC,KAAK,EAAE;AAChB,gBAAA,CAAC,CAAC;YACN;QACJ;IACJ;8GAnNS,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,2CAAA,EAAA,gBAAA,EAAA,gCAAA,EAAA,2BAAA,EAAA,4CAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA6BtB,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIjB,gCAAgC,iFAIhC,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIjB,+BAA+B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAIX,2BAA2B,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpFjE,q0CAgCA,EAAA,MAAA,EAAA,CAAA,usxBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDKc,gBAAgB,oJAAE,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAEhC,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAVvC,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mDAAmD,EAAA,IAAA,EAGvD;AACF,wBAAA,IAAI,EAAE;AACT,qBAAA,EAAA,OAAA,EACQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,q0CAAA,EAAA,MAAA,EAAA,CAAA,usxBAAA,CAAA,EAAA;;sBAIzC;;sBACA,WAAW;uBAAC,mBAAmB;;sBAI/B;;sBACA,WAAW;uBAAC,oBAAoB;;sBAChC,WAAW;uBAAC,2CAA2C;;sBAIvD,WAAW;uBAAC,gCAAgC;;sBAI5C,WAAW;uBAAC,4CAA4C;;sBAIxD,WAAW;uBAAC,eAAe;;sBAI3B,WAAW;uBAAC,iBAAiB;;sBAI7B,YAAY;uBAAC,iBAAiB;;sBAI9B,YAAY;uBAAC,gCAAgC;;sBAI7C,YAAY;uBAAC,iBAAiB;;sBAI9B,YAAY;uBAAC,+BAA+B;;sBAI5C,eAAe;uBAAC,UAAU,CAAC,MAAM,2BAA2B,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;sBAIpF,WAAW;uBAAC,oBAAoB;;sBAkDhC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;sBAOhC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;sBAkBlC,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;AE3HrC;;;AAGG;MA4BU,aAAa,CAAA;;AAuFtB,IAAA,IACc,SAAS,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY;IACzC;;IA2BA,WAAA,CACY,uBAA8D,EACtE,uBAA+C,EAAA;QADvC,IAAA,CAAA,uBAAuB,GAAvB,uBAAuB;;QAlHnC,IAAA,CAAA,YAAY,GAAG,KAAK;;QAKpB,IAAA,CAAA,cAAc,GAAG,KAAK;;QAKtB,IAAA,CAAA,UAAU,GAAG,KAAK;;QAKlB,IAAA,CAAA,UAAU,GAAG,KAAK;;QAKlB,IAAA,CAAA,QAAQ,GAAG,KAAK;;QAKhB,IAAA,CAAA,mBAAmB,GAAG,KAAK;;QAK3B,IAAA,CAAA,SAAS,GAAG,KAAK;;QAIjB,IAAA,CAAA,eAAe,GAAG,IAAI;;QAKtB,IAAA,CAAA,MAAM,GAAG,KAAK;;QAKd,IAAA,CAAA,OAAO,GAAG,KAAK;;QAKf,IAAA,CAAA,KAAK,GAAG,KAAK;;QAKb,IAAA,CAAA,eAAe,GAAG,KAAK;;AAIvB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAwB;;QAI1D,IAAA,CAAA,aAAa,GAAG,KAAK;;QA2BrB,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,KAAK,yDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAG5D,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,KAAK,+DAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;AAGlE,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,KAAK,6DAAC;;AAGhC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/B;;;AAGG;QACK,IAAA,CAAA,YAAY,GAAG,MAAM;;AAGZ,QAAA,IAAA,CAAA,WAAW,GAAkB,IAAI,OAAO,EAAQ;;AAGhD,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QAO7C,uBAAuB,CAAC,SAAS,EAAE;IACvC;;AAIA,IAAA,cAAc,CAAC,KAAoB,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC;QACjD;IACJ;;IAGA,QAAQ,GAAA;QACJ,IAAI,CAAC,wBAAwB,EAAE;IACnC;;IAGA,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC;QAC/E,IAAI,CAAC,oBAAoB,EAAE;IAC/B;;IAGA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;IAC/B;;AAGA,IAAA,aAAa,CAAC,KAAa,EAAE,UAAU,GAAG,KAAK,EAAA;QAC3C,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACnE;aAAO;YACH,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;QAChE;IACJ;AAEA;;AAEG;IACH,aAAa,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,UAAU;IAC7D;;IAGQ,oBAAoB,GAAA;QACxB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC7F,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,mBAAmB,EAAE;YAC1B,UAAU,CAAC,MAAK;;gBAEZ,IAAI,CAAC,qBAAqB,EAAE;AAChC,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;IACN;;IAGQ,mBAAmB,GAAA;;AAEvB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AAEvB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB;QACJ;;AAGA,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChF,QAAA,MAAM,yBAAyB,GAAyD,IAAI,CAAC,WAAW,CAAC,GAAG,CACxG,CAAC,IAAI,EAAE,KAAK,KACR,KAAK,CACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAC9D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAC1F,CACR;QACD,KAAK,CAAC,GAAG,yBAAyB;AAC7B,aAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;AAC3B,aAAA,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpF;;IAGQ,qBAAqB,GAAA;QACzB,IAAI,iBAAiB,GAAoC,IAAI;QAC7D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACrC,YAAA,IAAI,IAAI,YAAY,wBAAwB,EAAE;gBAC1C,iBAAiB,GAAG,IAAI;YAC5B;AAAO,iBAAA,IAAI,IAAI,YAAY,iBAAiB,IAAI,iBAAiB,EAAE;AAC/D,gBAAA,IAAI,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,eAAe;YAClE;AACA,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,CAAC;AAChC,QAAA,CAAC,CAAC;IACN;;IAGQ,aAAa,GAAA;AACjB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;AACpD,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACjE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS;QACjC;IACJ;;IAGQ,wBAAwB,GAAA;QAC5B,IAAI,CAAC,uBAAuB,CAAC;AACxB,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,aAAA,SAAS,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvE;8GAnOS,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,wCAAA,EAAA,iCAAA,EAAA,sBAAA,EAAA,+BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,4BAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,sCAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,iCAAA,EAAA,sBAAA,EAAA,2BAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAdX;YACP,sBAAsB;AACtB,YAAA,+BAA+B,EAAE;AACjC,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE;AAChB,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,wBAAwB;AACjC,gBAAA,WAAW,EAAE;AAChB;AACJ,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EA8EgB,mBAAmB,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAInB,2BAA2B,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAI3B,aAAa,6BA3GpB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ku1EAAA,EAAA,itEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAwB5B,aAAa,EAAA,UAAA,EAAA,CAAA;kBA3BzB,SAAS;+BAEI,qBAAqB,EAAA,QAAA,EACrB,2BAA2B,EAAA,IAAA,EAC/B;AACF,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,2BAA2B,EAAE,wCAAwC;AACrE,wBAAA,mCAAmC,EAAE,sBAAsB;AAC3D,wBAAA,iCAAiC,EAAE;AACtC,qBAAA,EAAA,aAAA,EAEc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;wBACP,sBAAsB;AACtB,wBAAA,+BAA+B,EAAE;AACjC,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA;AACd,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,wBAAwB;AACjC,4BAAA,WAAW,EAAA;AACd;AACJ,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,MAAA,EAAA,CAAA,ku1EAAA,EAAA,itEAAA,CAAA,EAAA;;sBAIf;;sBACA,WAAW;uBAAC,yBAAyB;;sBAIrC;;sBACA,WAAW;uBAAC,4BAA4B;;sBAIxC;;sBACA,WAAW;uBAAC,uBAAuB;;sBAInC;;sBACA,WAAW;uBAAC,4BAA4B;;sBAIxC;;sBACA,WAAW;uBAAC,0BAA0B;;sBAItC;;sBACA,WAAW;uBAAC,sCAAsC;;sBAIlD;;sBACA,WAAW;uBAAC,0BAA0B;;sBAItC;;sBAIA;;sBACA,WAAW;uBAAC,uBAAuB;;sBAInC;;sBACA,WAAW;uBAAC,wBAAwB;;sBAIpC;;sBACA,WAAW;uBAAC,sBAAsB;;sBAIlC,WAAW;uBAAC,iCAAiC;;sBAC7C;;sBAIA;;sBAIA,WAAW;uBAAC,2BAA2B;;sBAMvC;;sBAIA,eAAe;uBAAC,mBAAmB;;sBAInC,eAAe;uBAAC,2BAA2B;;sBAI3C,eAAe;uBAAC,aAAa;;sBAI7B,WAAW;uBAAC,WAAW;;sBAsCvB,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;AC9KvC,MAAM,UAAU,GAAG;IACf,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,mBAAmB;IACnB,wBAAwB;IACxB,sBAAsB;IACtB,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;IACjB,mBAAmB;IACnB,uBAAuB;IACvB,wBAAwB;IACxB,oBAAoB;IACpB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,2BAA2B;IAC3B,gCAAgC;IAChC,+BAA+B;IAC/B;CACH;AAED;;;AAGG;MAKU,UAAU,CAAA;8GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YA9BnB,aAAa;YACb,iBAAiB;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,wBAAwB;YACxB,sBAAsB;YACtB,iBAAiB;YACjB,oBAAoB;YACpB,iBAAiB;YACjB,mBAAmB;YACnB,uBAAuB;YACvB,wBAAwB;YACxB,oBAAoB;YACpB,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB;YACtB,2BAA2B;YAC3B,gCAAgC;YAChC,+BAA+B;AAC/B,YAAA,oBAAoB,aAnBpB,aAAa;YACb,iBAAiB;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,wBAAwB;YACxB,sBAAsB;YACtB,iBAAiB;YACjB,oBAAoB;YACpB,iBAAiB;YACjB,mBAAmB;YACnB,uBAAuB;YACvB,wBAAwB;YACxB,oBAAoB;YACpB,sBAAsB;YACtB,sBAAsB;YACtB,sBAAsB;YACtB,2BAA2B;YAC3B,gCAAgC;YAChC,+BAA+B;YAC/B,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAWX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YA7BnB,iBAAiB;YAejB,2BAA2B,CAAA,EAAA,CAAA,CAAA;;2FAclB,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU;AAC1B,iBAAA;;;ACpDD;;AAEG;;;;"}
|
|
@@ -8,8 +8,7 @@ import { Subject, combineLatest, tap, first, map, Subscription, fromEvent, defer
|
|
|
8
8
|
import { distinctUntilChanged, takeUntil, filter, switchMap, startWith } from 'rxjs/operators';
|
|
9
9
|
import { NgTemplateOutlet } from '@angular/common';
|
|
10
10
|
import { RIGHT_ARROW, LEFT_ARROW, DOWN_ARROW, UP_ARROW, SPACE, ENTER, ESCAPE } from '@angular/cdk/keycodes';
|
|
11
|
-
import
|
|
12
|
-
import { RtlService, KeyUtil, TemplateModule, InitialFocusDirective, TemplateDirective, DynamicComponentService, InitialFocusModule } from '@fundamental-ngx/cdk/utils';
|
|
11
|
+
import { RtlService, KeyUtil, TemplateDirective, InitialFocusDirective, DynamicComponentService, InitialFocusModule } from '@fundamental-ngx/cdk/utils';
|
|
13
12
|
import * as i1 from '@fundamental-ngx/cdk/forms';
|
|
14
13
|
import { CvaControl, FD_FORM_FIELD_CONTROL, CvaDirective } from '@fundamental-ngx/cdk/forms';
|
|
15
14
|
import { ContentDensityDirective, ContentDensityObserver, contentDensityObserverProviders, ContentDensityModule } from '@fundamental-ngx/core/content-density';
|
|
@@ -1067,6 +1066,8 @@ class SegmentedButtonOptionDirective {
|
|
|
1067
1066
|
this._viewInit$ = new Subject();
|
|
1068
1067
|
/** @hidden */
|
|
1069
1068
|
this._selected$ = new BehaviorSubject(false);
|
|
1069
|
+
/** @hidden */
|
|
1070
|
+
this._destroyRef = inject(DestroyRef);
|
|
1070
1071
|
this.clicked = this._clicked.asObservable();
|
|
1071
1072
|
const ngZone = inject(NgZone);
|
|
1072
1073
|
combineLatest([this._viewInit$.pipe(delayWhen(() => ngZone.onStable.asObservable())), this._selected$])
|
|
@@ -1076,7 +1077,7 @@ class SegmentedButtonOptionDirective {
|
|
|
1076
1077
|
}
|
|
1077
1078
|
}), tap(([, selected]) => {
|
|
1078
1079
|
selected ? this._showDot() : this._hideDot();
|
|
1079
|
-
}), takeUntilDestroyed())
|
|
1080
|
+
}), takeUntilDestroyed(this._destroyRef))
|
|
1080
1081
|
.subscribe();
|
|
1081
1082
|
}
|
|
1082
1083
|
/** @hidden */
|
|
@@ -1341,12 +1342,11 @@ class MenuMobileComponent extends MobileModeBase {
|
|
|
1341
1342
|
return this.childContent;
|
|
1342
1343
|
}
|
|
1343
1344
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1344
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: MenuMobileComponent, isStandalone: true, selector: "fd-menu-mobile", viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }, { propertyName: "_watch", first: true, predicate: DialogBodyComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n @if (isSubmenu$()) {\n <fd-bar-element>\n <button\n fd-button\n fdType=\"transparent\"\n id=\"menu-mobile-navigate-back\"\n fdCozy\n [attr.aria-label]=\"'Go to previous menu level: ' + title$()\"\n [glyph]=\"navigationIcon()\"\n (click)=\"backToParentLevel()\"\n ></button>\n </fd-bar-element>\n }\n <fd-bar-element>\n <h1 fd-title>{{ title$() }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n @if (this.mobileConfig.hasCloseButton) {\n <button fd-dialog-close-button [mobile]=\"true\" (click)=\"close()\"></button>\n }\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n <ng-template [ngTemplateOutlet]=\"(isSubmenu$() ? subMenuTemplate : view$()) || null\"> </ng-template>\n </fd-dialog-body>\n @if (mobileConfig.approveButtonText || mobileConfig.cancelButtonText) {\n <fd-dialog-footer>\n @if (mobileConfig.approveButtonText) {\n <fd-button-bar fdType=\"emphasized\" [label]=\"mobileConfig.approveButtonText\" (click)=\"close()\">\n </fd-button-bar>\n }\n @if (mobileConfig.cancelButtonText) {\n <fd-button-bar fdkInitialFocus [label]=\"mobileConfig.cancelButtonText\" (click)=\"close()\">\n </fd-button-bar>\n }\n </fd-dialog-footer>\n }\n </fd-dialog>\n</ng-template>\n<ng-template #subMenuTemplate>\n <nav class=\"fd-menu fd-menu--mobile\">\n <ul class=\"fd-menu__sublist\">\n <ng-template [ngTemplateOutlet]=\"view$()\"></ng-template>\n </ul>\n </nav>\n</ng-template>\n", dependencies: [{ kind: "
|
|
1345
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: MenuMobileComponent, isStandalone: true, selector: "fd-menu-mobile", viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }, { propertyName: "_watch", first: true, predicate: DialogBodyComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n @if (isSubmenu$()) {\n <fd-bar-element>\n <button\n fd-button\n fdType=\"transparent\"\n id=\"menu-mobile-navigate-back\"\n fdCozy\n [attr.aria-label]=\"'Go to previous menu level: ' + title$()\"\n [glyph]=\"navigationIcon()\"\n (click)=\"backToParentLevel()\"\n ></button>\n </fd-bar-element>\n }\n <fd-bar-element>\n <h1 fd-title>{{ title$() }}</h1>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n @if (this.mobileConfig.hasCloseButton) {\n <button fd-dialog-close-button [mobile]=\"true\" (click)=\"close()\"></button>\n }\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body>\n <ng-template [ngTemplateOutlet]=\"(isSubmenu$() ? subMenuTemplate : view$()) || null\"> </ng-template>\n </fd-dialog-body>\n @if (mobileConfig.approveButtonText || mobileConfig.cancelButtonText) {\n <fd-dialog-footer>\n @if (mobileConfig.approveButtonText) {\n <fd-button-bar fdType=\"emphasized\" [label]=\"mobileConfig.approveButtonText\" (click)=\"close()\">\n </fd-button-bar>\n }\n @if (mobileConfig.cancelButtonText) {\n <fd-button-bar fdkInitialFocus [label]=\"mobileConfig.cancelButtonText\" (click)=\"close()\">\n </fd-button-bar>\n }\n </fd-dialog-footer>\n }\n </fd-dialog>\n</ng-template>\n<ng-template #subMenuTemplate>\n <nav class=\"fd-menu fd-menu--mobile\">\n <ul class=\"fd-menu__sublist\">\n <ng-template [ngTemplateOutlet]=\"view$()\"></ng-template>\n </ul>\n </nav>\n</ng-template>\n", dependencies: [{ kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]", inputs: ["stackContentsVertically"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]", inputs: ["stackContentsVertically"] }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body", inputs: ["disablePaddings"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header", inputs: ["inShellbar"] }, { kind: "component", type: DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["twoLineClamp", "headerSize", "wrap"], exportAs: ["fd-title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1345
1346
|
}
|
|
1346
1347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MenuMobileComponent, decorators: [{
|
|
1347
1348
|
type: Component,
|
|
1348
1349
|
args: [{ selector: 'fd-menu-mobile', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
1349
|
-
TemplateModule,
|
|
1350
1350
|
BarLeftDirective,
|
|
1351
1351
|
BarRightDirective,
|
|
1352
1352
|
BarElementDirective,
|