@fundamental-ngx/platform 0.47.2-rc.0 → 0.47.2

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.
Files changed (54) hide show
  1. package/esm2022/approval-flow/approval-flow.component.mjs +3 -3
  2. package/esm2022/dynamic-page/dynamic-page.component.mjs +3 -3
  3. package/esm2022/feed-input/feed-input.component.mjs +3 -3
  4. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +2 -2
  5. package/esm2022/form/form-group/form-group.component.mjs +3 -3
  6. package/esm2022/form/input-group/input-group.component.mjs +3 -3
  7. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +3 -3
  8. package/esm2022/form/select/select/select.component.mjs +3 -3
  9. package/esm2022/form/step-input/number/number-step-input.component.mjs +3 -3
  10. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +3 -3
  11. package/esm2022/link/link.component.mjs +3 -3
  12. package/esm2022/list/list.component.mjs +3 -3
  13. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +3 -3
  14. package/esm2022/list/object-list-item/object-list-item.component.mjs +3 -3
  15. package/esm2022/menu/menu-item.component.mjs +3 -3
  16. package/esm2022/menu/menu.component.mjs +3 -3
  17. package/esm2022/message-popover/message-popover.component.mjs +3 -3
  18. package/esm2022/page-footer/page-footer.component.mjs +3 -3
  19. package/esm2022/search-field/search-field.component.mjs +3 -3
  20. package/esm2022/split-menu-button/split-menu-button.component.mjs +3 -3
  21. package/esm2022/table/table.component.mjs +3 -3
  22. package/esm2022/variant-management/variant-management.component.mjs +3 -3
  23. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +2 -2
  24. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +2 -2
  26. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +2 -2
  28. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-platform-form.mjs +12 -12
  30. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +2 -2
  32. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
  34. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-platform-list.mjs +6 -6
  36. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-platform-menu.mjs +4 -4
  38. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  39. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +2 -2
  40. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +2 -2
  42. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  43. package/fesm2022/fundamental-ngx-platform-search-field.mjs +2 -2
  44. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  45. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +2 -2
  46. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  47. package/fesm2022/fundamental-ngx-platform-table.mjs +2 -2
  48. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  49. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +2 -2
  50. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  51. package/fundamental-ngx-platform-v0.47.2.tgz +0 -0
  52. package/package.json +4 -4
  53. package/schematics/ng-add/index.js +1 -1
  54. package/fundamental-ngx-platform-v0.47.2-rc.0.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-platform-list.mjs","sources":["../../../../libs/platform/src/lib/list/fdpListComponent.token.ts","../../../../libs/platform/src/lib/list/list.config.ts","../../../../libs/platform/src/lib/list/base-list-item.ts","../../../../libs/platform/src/lib/list/action-list-item/action-list-item.component.ts","../../../../libs/platform/src/lib/list/action-list-item/action-list-item.component.html","../../../../libs/platform/src/lib/list/action-list-item/action-list-item.module.ts","../../../../libs/platform/src/lib/list/display-list-item/display-list-item.component.ts","../../../../libs/platform/src/lib/list/display-list-item/display-list-item.component.html","../../../../libs/platform/src/lib/list/display-list-item/display-list-item.module.ts","../../../../libs/platform/src/lib/list/free-content-list-item/free-content-list-item.component.ts","../../../../libs/platform/src/lib/list/free-content-list-item/free-content-list-item.component.html","../../../../libs/platform/src/lib/list/list-group-footer.component.ts","../../../../libs/platform/src/lib/list/list-group-header.component.ts","../../../../libs/platform/src/lib/list/load-more-content.directive.ts","../../../../libs/platform/src/lib/list/list.component.ts","../../../../libs/platform/src/lib/list/list.component.html","../../../../libs/platform/src/lib/list/object-list-item/object-list-item-row.component.ts","../../../../libs/platform/src/lib/list/object-list-item/object-list-item.component.ts","../../../../libs/platform/src/lib/list/object-list-item/object-list-item.component.html","../../../../libs/platform/src/lib/list/object-list-item/object-list-item.module.ts","../../../../libs/platform/src/lib/list/standard-list-item/standard-list-item.component.ts","../../../../libs/platform/src/lib/list/standard-list-item/standard-list-item.component.html","../../../../libs/platform/src/lib/list/standard-list-item/standard-list-item.module.ts","../../../../libs/platform/src/lib/list/list.module.ts","../../../../libs/platform/src/lib/list/fundamental-ngx-platform-list.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FdpListComponent = new InjectionToken('List Component');\n","import { Injectable } from '@angular/core';\n\nimport { ContentDensity } from '@fundamental-ngx/cdk/utils';\nimport { DataProvider } from '@fundamental-ngx/platform/shared';\n\n/**\n * Default options for platform List\n */\n@Injectable({ providedIn: 'root' })\nexport class ListConfig {\n /**\n * Content Density of element. 'cozy' | 'compact'\n */\n contentDensity: ContentDensity = 'cozy';\n\n /**\n * Maps data providers\n */\n providers: Map<string, DataProvider<any>> | null = new Map();\n\n /**\n * Create Provider factory function\n */\n static createProviderFactory(obj: Partial<ListConfig>): () => ListConfig {\n const useFactory = (): ListConfig => Object.assign(new ListConfig(), obj);\n return useFactory;\n }\n}\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n inject\n} from '@angular/core';\n\nimport { ColorAccent, KeyUtil, Nullable, Size } from '@fundamental-ngx/cdk/utils';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FD_LIST_UNREAD_INDICATOR, ListUnreadIndicator } from '@fundamental-ngx/core/list';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { BaseComponent, isPresent } from '@fundamental-ngx/platform/shared';\nimport { merge } from 'lodash-es';\nimport { FdpListComponent } from './fdpListComponent.token';\nimport { ListConfig } from './list.config';\nimport { FdpList, ListType, SelectionType } from './models/list';\n\nexport const IS_ACTIVE_CLASS = 'is-active';\nlet nextListItemId = 0;\nexport type StatusType = 'negative' | 'critical' | 'positive' | 'informative';\n\nexport class ListIconConfig {\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 glyph: IconComponent['glyph'];\n /** user's custom classes */\n class: IconComponent['class'] = '';\n /**\n * The icon font\n * Options include: 'SAP-icons', 'BusinessSuiteInAppSymbols' and 'SAP-icons-TNT'\n */\n font: IconComponent['font'] = 'SAP-icons';\n /** Aria-label for Icon. */\n ariaLabel: IconComponent['ariaLabel'];\n}\n\nexport class ListAvatarConfig {\n /** @hidden */\n class = '';\n /** @hidden */\n ariaLabel: Nullable<string> = null;\n /** @hidden */\n ariaLabelledby: Nullable<string> = null;\n /** @hidden */\n label: Nullable<string> = null;\n /** @hidden */\n size: Size = 's';\n /** @hidden */\n glyph: Nullable<string> = null;\n /** @hidden */\n zoomGlyph: Nullable<string> = null;\n /** @hidden */\n circle = false;\n /** @hidden */\n transparent = false;\n /** @hidden */\n contain = false;\n /** @hidden */\n placeholder = false;\n /** @hidden */\n tile = false;\n /** @hidden */\n border = false;\n /** @hidden */\n colorAccent: Nullable<ColorAccent> = null;\n /** @hidden */\n random = false;\n /** @hidden */\n clickable = false;\n /** @hidden */\n image: Nullable<string> = null;\n /** @hidden */\n alterIcon: Nullable<string> = null;\n /** @hidden */\n backupImage: Nullable<string> = null;\n}\n\n/**\n * Base interface for a list variant definition.\n * Captures a list item template definition.\n */\nexport interface ItemDef {\n templateRef: TemplateRef<any>;\n}\n\nexport interface ListAdvancedDescription {\n text: string;\n ariaLabel?: string;\n title?: string;\n}\n\nexport type ListDescription = string | ListAdvancedDescription;\n\nexport class ModifyItemEvent {\n /** List Item component */\n source: BaseListItem;\n /** Action */\n action: 'delete' | 'edit';\n}\n\n@Directive({\n selector: '[fdpItemDef]',\n standalone: true\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ListItemDef implements ItemDef {\n /** @hidden */\n constructor(/** @docs-private */ public templateRef: TemplateRef<any>) {}\n}\n\n/**\n * This class contains common properties used across list Item components.\n * this can be extended to reduce the code duplication across list Item components.\n */\n@Directive()\nexport class BaseListItem extends BaseComponent implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy {\n /** define label for screen reader */\n @Input()\n ariaLabelledBy: string;\n\n /** define level of item for screen reader */\n @Input()\n ariaLevel: number;\n\n /** define position of item for screen reader */\n @Input()\n ariaPosinet: number;\n\n /** Avatar component properties. @see AvatarComponent for more details */\n @Input()\n set avatar(value: Nullable<Partial<ListAvatarConfig> | string>) {\n if (!value) {\n return;\n }\n value = typeof value === 'string' ? { image: value } : value;\n this._avatarConfig = merge(new ListAvatarConfig(), value);\n }\n\n get avatar(): ListAvatarConfig {\n return this._avatarConfig;\n }\n\n /** attribute to hold counter value */\n @Input()\n counter?: string;\n\n /** Description of the title */\n @Input()\n description: Nullable<ListDescription>;\n\n /** To invert the status of secondary text */\n @Input()\n inverted = false;\n\n /** Whether there is no data inside list item */\n @Input()\n noDataText: string;\n\n /**\n * The type of the secondary text.fd-list__byline-right--*\n * Can be one of *positive*, *negative*, *informative*, *critical*, *neutral\n */\n @Input()\n statusType?: StatusType;\n\n /** attribute to hold secondary text*/\n @Input()\n secondary: Nullable<ListDescription>;\n\n /**\n * Enabling this flag causes forcing secondary item directive to not wrap text,\n * instead of wrapping there will be text truncation\n */\n @Input()\n secondaryWrap?: boolean;\n\n /** Tooltip text to show when focused for more than timeout value*/\n @Input()\n title?: string;\n\n /** Used for placeing navigation Link */\n @Input()\n link: Nullable<string>;\n\n /**\n * Enabling this flag causes forcing title directive to not wrap text,\n * instead of wrapping there will be text truncation\n */\n @Input()\n titleWrap?: boolean;\n\n /**\n * List item icon configuration.\n */\n @Input()\n set icon(value: Partial<ListIconConfig>) {\n this._iconConfig = merge(new ListIconConfig(), value);\n }\n\n get icon(): ListIconConfig {\n return this._iconConfig;\n }\n\n /**\n * sets the list item in bold text\n * which respresents unread data\n */\n @Input()\n unRead: boolean;\n\n /**\n * Whether to display unread notification circle.\n */\n get displayUnreadNotification(): boolean {\n return !!this._list?.unreadIndicator;\n }\n\n /** radio button value */\n @Input()\n value: string;\n\n /** By default selection mode is 'none' */\n @Input()\n selectionMode: SelectionType = 'none';\n\n /** By default selection mode is 'active' */\n @Input()\n listType: ListType = 'active';\n\n /**\n * Whether Navigation mode is included to list component\n * for all the items\n */\n @Input()\n navigated = false;\n\n /**\n * Whether Navigation mode is included to list component\n * only a subset of the list items are navigable\n * you should indicate those by displaying a navigation arrow\n */\n @Input()\n navigationIndicator = false;\n\n /** role */\n @Input()\n role = 'option';\n\n /**\n * event emitter for selected item\n * seprate PR for custom event\n */\n @Output()\n itemSelected = new EventEmitter<ModifyItemEvent>();\n\n /**\n * Event emitted for selected item through the checkbox.\n */\n @Output()\n itemCheckboxSelected = new EventEmitter<ModifyItemEvent>();\n\n /** Event sent when delete, details or any other action buttons are clicked */\n @Output()\n buttonClicked = new EventEmitter<ModifyItemEvent>();\n\n /** @hidden */\n @ViewChild('listItem', { read: ElementRef })\n listItem: ElementRef<HTMLLIElement>;\n\n /** Access child element, for checking link content*/\n @ViewChild('linkElement', { read: ElementRef })\n anchor: ElementRef<HTMLLinkElement>;\n\n /** Access edit button*/\n @ViewChild('edit', { read: ElementRef })\n edit: ElementRef<HTMLButtonElement>;\n\n /** Access delete button*/\n @ViewChild('delete', { read: ElementRef })\n delete: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @ViewChild(CheckboxComponent)\n checkboxComponent: CheckboxComponent;\n\n /** @hidden */\n @ViewChild(RadioButtonComponent)\n radioButtonComponent: RadioButtonComponent;\n\n /**\n * @hidden\n * Whether By line mode is included to list component, by which\n * list item will accomdate the data in 2 column\n */\n _hasByLine = false;\n\n /**\n * @hidden\n * Whether listitem has row level selection enabled\n */\n rowSelection: boolean;\n\n /**\n * @hidden\n * Whether listitem is selected binded to template\n */\n _selected = false;\n\n /**\n * @hidden\n * get the focused element for key manager\n */\n _focused: boolean;\n\n /** @hidden */\n private _listComponent = inject<FdpList>(FdpListComponent);\n\n /** @hidden */\n private _avatarConfig: ListAvatarConfig = new ListAvatarConfig();\n\n /** @hidden */\n private _iconConfig: ListIconConfig = new ListIconConfig();\n\n /** @hidden */\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n public itemEl: ElementRef<HTMLElement>,\n protected _listConfig: ListConfig,\n @Optional() @Inject(FD_LIST_UNREAD_INDICATOR) private readonly _list: ListUnreadIndicator\n ) {\n super(_changeDetectorRef);\n }\n\n /**\n * @hidden\n * radio button selected value binded to template\n */\n private _selectionValue: Nullable<string>;\n\n /** Selection value */\n @Input()\n set selectionValue(value: Nullable<string>) {\n this._selected = false;\n this._selectionValue = value;\n if (this._selectionValue !== undefined && this.selectionValue !== null) {\n this._selected = this.value === this._selectionValue;\n }\n }\n get selectionValue(): Nullable<string> {\n return this._selectionValue;\n }\n\n /**\n * @hidden\n * Show navigation for single list\n */\n ngOnInit(): void {\n this.id = `fdp-list-item-${nextListItemId++}`;\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.itemSelected.complete();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listComponent._setupListItem(this);\n }\n\n /**\n * @hidden\n * To detect changes from parent-listbox to list item\n * for example single, multi option selection those details\n * will be deducted in list item\n */\n ngAfterViewChecked(): void {\n const currentItem: Nullable<HTMLLIElement> = this.itemEl.nativeElement.querySelector('li');\n if (!currentItem) {\n return;\n }\n\n currentItem.setAttribute('role', 'option');\n const parentNode = currentItem.parentNode instanceof HTMLElement && currentItem.parentNode;\n if (parentNode) {\n parentNode.removeAttribute('title');\n parentNode.removeAttribute('aria-label');\n }\n\n if (this.rowSelection || this.selectionMode === 'multi' || this.selectionMode === 'single') {\n currentItem.setAttribute('aria-selected', `${!!this._selected}`);\n }\n\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * @hidden\n * Created focus on list item on mouseclick,\n * Up,down arrow press\n */\n focus(): void {\n this.listItem.nativeElement.focus();\n }\n\n /**\n * Programmatically set selected state of the list item.\n * @param selected Whether the list item is selected\n */\n setSelected(selected: boolean): void {\n if (selected === this._selected) {\n return;\n }\n const event = new ModifyItemEvent();\n event.source = this;\n this._selected = selected;\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * @hidden\n * On item click event will be emitted\n */\n @HostListener('click')\n _onItemClick(): void {\n if (this.rowSelection && this.selectionMode === 'multi') {\n this._selected = !this._selected;\n }\n\n const event = new ModifyItemEvent();\n event.source = this;\n this._focused = !this._focused;\n this.itemSelected.emit(event);\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n _handleKeyboardEvent(event: KeyboardEvent): void {\n if (!KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n return;\n }\n\n if (this.checkboxComponent || this.radioButtonComponent) {\n this._onKeyboardClick(event);\n }\n\n this.anchor?.nativeElement.click();\n\n if (this.rowSelection) {\n this._selected = !this._selected;\n }\n\n const $event = new ModifyItemEvent();\n $event.source = this;\n this.itemSelected.emit($event);\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * @hidden\n * Handler for mouse events\n */\n @HostListener('click', ['$event'])\n _onClick(event: MouseEvent): void {\n if (this.checkboxComponent && !this.anchor) {\n if (!this.checkboxComponent.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.checkboxComponent.nextValue();\n }\n\n this.radioButtonComponent?.valueChange(event);\n }\n\n this._changeDetectorRef.markForCheck();\n const $event = new ModifyItemEvent();\n $event.source = this;\n this.itemSelected.emit($event);\n }\n\n /**\n * @hidden\n * helps to avoid multi rows active class with navigation\n */\n @HostListener('focusout', ['$event'])\n _onBlur(event: KeyboardEvent): void {\n if (isPresent(this.anchor) && !KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.anchor.nativeElement.classList.remove(IS_ACTIVE_CLASS);\n }\n }\n\n /**\n * @hidden\n * on keydown append active styles on actionable item\n */\n _onKeyDown(event: KeyboardEvent): void {\n if (isPresent(this.anchor) && KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.anchor.nativeElement.classList.add(IS_ACTIVE_CLASS);\n }\n }\n\n /**\n * @hidden\n * on keyup remove active styles from actionable item\n */\n _onKeyUp(event: KeyboardEvent): void {\n if (isPresent(this.anchor) && KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.anchor.nativeElement.classList.remove(IS_ACTIVE_CLASS);\n }\n }\n\n /** @hidden */\n _onCheckboxModelChange(): void {\n const event = new ModifyItemEvent();\n event.source = this;\n this.itemCheckboxSelected.emit(event);\n }\n\n /**\n * @hidden\n * Handles action button click\n */\n _onActionButtonClick(action: 'delete' | 'edit'): void {\n const event = new ModifyItemEvent();\n event.source = this;\n event.action = action;\n this.buttonClicked.emit(event);\n }\n\n /**\n * @hidden\n * Handles action button click on key press\n */\n _onKeyButtonClick(event: KeyboardEvent, action: 'delete' | 'edit'): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this._onActionButtonClick(action);\n }\n }\n\n /** @hidden */\n _isAdvancedText(text: ListDescription): text is ListAdvancedDescription {\n return typeof text !== 'string' && !!text.text;\n }\n\n /** @hidden */\n private _onKeyboardClick(event: KeyboardEvent): void {\n this.checkboxComponent?.nextValue();\n this.radioButtonComponent?.valueChange(event);\n\n this._changeDetectorRef.markForCheck();\n const $event = new ModifyItemEvent();\n $event.source = this;\n this.itemSelected.emit($event);\n }\n}\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Output,\n ViewChild,\n forwardRef\n} from '@angular/core';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\n\nimport { ListItemComponent } from '@fundamental-ngx/core/list';\nimport { BaseListItem, IS_ACTIVE_CLASS } from '../base-list-item';\n\nexport class ActionChangeEvent {\n /** Action List Item component */\n source: ActionListItemComponent;\n}\n\n@Component({\n selector: 'fdp-action-list-item',\n templateUrl: './action-list-item.component.html',\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => ActionListItemComponent) }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ListItemComponent]\n})\nexport class ActionListItemComponent extends BaseListItem {\n /** Access button element*/\n @ViewChild('action', { read: ElementRef })\n button: ElementRef<HTMLButtonElement>;\n\n /** Event sent when action in clicked */\n @Output()\n actionClicked = new EventEmitter<ActionChangeEvent>();\n\n /**\n * @hidden\n * Handles action click\n */\n _onActionClick(): void {\n const event = new ActionChangeEvent();\n event.source = this;\n this.actionClicked.emit(event);\n }\n\n /**\n * @hidden\n * on keydown append active styles on actionable item\n */\n _onKeyDown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.button.nativeElement.classList.add(IS_ACTIVE_CLASS);\n }\n }\n\n /**\n * @hidden\n * on keyup remove active styles from actionable item\n */\n _onKeyUp(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.button.nativeElement.classList.remove(IS_ACTIVE_CLASS);\n this._onActionClick();\n }\n }\n}\n","<li\n #listItem\n fd-list-item\n class=\"fd-list__item--action\"\n [attr.id]=\"id\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n>\n <button #action class=\"fd-list__title\" [attr.aria-label]=\"title\" [attr.title]=\"title\" (click)=\"_onActionClick()\">\n {{ title }}\n </button>\n</li>\n","import { NgModule } from '@angular/core';\n\nimport { ActionListItemComponent } from './action-list-item.component';\n\n@NgModule({\n imports: [ActionListItemComponent],\n exports: [ActionListItemComponent]\n})\nexport class ActionListItemModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\n\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport {\n ListItemComponent,\n ListLinkDirective,\n ListSecondaryDirective,\n ListTitleDirective\n} from '@fundamental-ngx/core/list';\nimport { BaseListItem } from '../base-list-item';\n\n@Component({\n selector: 'fdp-display-list-item',\n templateUrl: './display-list-item.component.html',\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => DisplayListItemComponent) }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n ListItemComponent,\n ListLinkDirective,\n RouterLink,\n NgTemplateOutlet,\n ListTitleDirective,\n NgClass,\n ListSecondaryDirective\n ]\n})\nexport class DisplayListItemComponent extends BaseListItem {}\n","<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n >\n <a\n #linkElement\n fd-list-link\n [routerLink]=\"link\"\n [navigationIndicator]=\"navigationIndicator\"\n [navigated]=\"navigated\"\n >\n <ng-container *ngTemplateOutlet=\"commonTemplate\"></ng-container>\n </a>\n </li>\n</ng-container>\n\n<!-- list item without navigation and used for simple list display-->\n<ng-container *ngIf=\"!navigationIndicator && !navigated && !(noDataText !== null && noDataText !== undefined)\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n (keydown)=\"_onKeyDown($event)\"\n [tabindex]=\"-1\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"commonTemplate\"></ng-container>\n </li>\n</ng-container>\n\n<ng-template #commonTemplate>\n <span *ngIf=\"title\" fd-list-title [attr.aria-label]=\"title\" [attr.nowrap]=\"titleWrap\" [attr.title]=\"title\">{{\n title\n }}</span>\n <ng-container *ngIf=\"secondary\">\n <ng-container\n [ngTemplateOutlet]=\"_isAdvancedText(secondary) ? advancedSecondary : simpleSecondary\"\n [ngTemplateOutletContext]=\"{ $implicit: secondary }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #simpleSecondary let-secondary>\n <span fd-list-secondary [attr.aria-label]=\"secondary\" [attr.title]=\"secondary\" [attr.nowrap]=\"secondaryWrap\">\n {{ secondary }}\n </span>\n</ng-template>\n<ng-template #advancedSecondary let-secondary>\n <span\n fd-list-secondary\n [attr.aria-label]=\"secondary.ariaLabel ?? secondary.text\"\n [attr.title]=\"secondary.title ?? secondary.text\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary.text }}\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { DisplayListItemComponent } from './display-list-item.component';\n\n@NgModule({\n imports: [DisplayListItemComponent],\n exports: [DisplayListItemComponent]\n})\nexport class DisplayListItemModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { ListItemComponent } from '@fundamental-ngx/core/list';\nimport { BaseListItem } from '../base-list-item';\n\n@Component({\n selector: 'fdp-free-content-list-item',\n templateUrl: './free-content-list-item.component.html',\n styleUrls: ['./free-content-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => FreeContentListItemComponent) }],\n standalone: true,\n imports: [ListItemComponent]\n})\nexport class FreeContentListItemComponent extends BaseListItem {}\n","<li\n #listItem\n [class.fd-list__item--unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (click)=\"_onItemClick()\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n>\n <ng-content></ng-content>\n</li>\n","import { Component } from '@angular/core';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\n\n@Component({\n selector: 'fdp-list-footer',\n template: `<li #listFooter class=\"fd-list__footer\" [attr.id]=\"id\" role=\"option\"><ng-content></ng-content></li>`,\n standalone: true\n})\nexport class ListFooterComponent extends BaseComponent {}\n","import { Component, forwardRef, Input, OnInit } from '@angular/core';\nimport { ListGroupHeaderDirective, ListTitleDirective } from '@fundamental-ngx/core/list';\nimport { BaseListItem } from './base-list-item';\n\nlet nextListGrpHeaderId = 0;\n\n@Component({\n selector: 'fdp-list-group-header',\n template: ` <li #listItem fd-list-group-header [attr.id]=\"id\" role=\"option\" [tabindex]=\"0\">\n <span fd-list-title>{{ groupHeaderTitle }}</span>\n <ng-content></ng-content>\n </li>`,\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => ListGroupHeaderComponent) }],\n standalone: true,\n imports: [ListGroupHeaderDirective, ListTitleDirective]\n})\nexport class ListGroupHeaderComponent extends BaseListItem implements OnInit {\n /** Displays list group header title */\n @Input()\n groupHeaderTitle?: string;\n\n /**\n * @hidden\n * Initialization of the list header component\n */\n ngOnInit(): void {\n this.id = `fdp-list-${nextListGrpHeaderId++}`;\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Directive({\n selector: '[fdpListLoadMoreContent]',\n standalone: true\n})\nexport class LoadMoreContentDirective {\n /** @hidden */\n constructor(readonly templateRef: TemplateRef<LoadMoreContentContext>) {}\n}\n\ninterface _LoadMoreContentContext {\n loadTitle: string;\n loading: boolean;\n loadingLabel: Observable<string>;\n lastChunk: {\n start: number;\n end: number;\n };\n total: number;\n}\n\nexport interface LoadMoreContentContext extends _LoadMoreContentContext {\n $implicit: _LoadMoreContentContext;\n}\n","import { FocusKeyManager, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { DOWN_ARROW, ENTER, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Host,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Self,\n SkipSelf,\n ViewChild,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { ControlContainer, NgControl, NgForm } from '@angular/forms';\nimport { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';\nimport {\n BehaviorSubject,\n Observable,\n Subject,\n Subscription,\n asyncScheduler,\n filter,\n firstValueFrom,\n isObservable,\n map,\n observeOn,\n of,\n startWith,\n switchMap\n} from 'rxjs';\nimport { delay, takeUntil, tap } from 'rxjs/operators';\n\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { KeyUtil, Nullable, RepeatDirective } from '@fundamental-ngx/cdk/utils';\nimport { BusyIndicatorComponent } from '@fundamental-ngx/core/busy-indicator';\nimport { InfiniteScrollDirective } from '@fundamental-ngx/core/infinite-scroll';\nimport {\n ListComponent as CoreListComponent,\n FD_LIST_UNREAD_INDICATOR,\n ListItemComponent,\n ListUnreadIndicator\n} from '@fundamental-ngx/core/list';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { FD_LANGUAGE, FdLanguage, FdTranslatePipe, TranslationResolver } from '@fundamental-ngx/i18n';\nimport {\n ArrayListDataSource,\n CollectionBaseInput,\n ListDataSource,\n ObservableListDataSource,\n PlatformFormField,\n PlatformFormFieldControl,\n isBlank,\n isDataSource,\n isPresent\n} from '@fundamental-ngx/platform/shared';\nimport { BaseListItem, ListItemDef } from './base-list-item';\nimport { FdpListComponent } from './fdpListComponent.token';\nimport { ListConfig } from './list.config';\nimport { LoadMoreContentContext, LoadMoreContentDirective } from './load-more-content.directive';\nimport { FdpList, FdpListDataSource, ListType, SelectionType } from './models/list';\n\nexport class SelectionChangeEvent {\n /** Selected items */\n selectedItems: BaseListItem[];\n /** Index */\n index: number;\n}\n\nlet nextListId = 0;\n\n/**\n * The List component represents a container for list item types.\n * It is used to display a list features.\n */\n@Component({\n selector: 'fdp-list',\n templateUrl: './list.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: FD_FORM_FIELD_CONTROL, useExisting: ListComponent, multi: true },\n { provide: FdpListComponent, useExisting: ListComponent },\n {\n provide: FD_LIST_UNREAD_INDICATOR,\n useExisting: ListComponent\n }\n ],\n host: {\n '[attr.tabindex]': '-1'\n },\n standalone: true,\n imports: [\n CoreListComponent,\n NgIf,\n BusyIndicatorComponent,\n InfiniteScrollDirective,\n ListItemComponent,\n NgTemplateOutlet,\n NgFor,\n RepeatDirective,\n SkeletonComponent,\n FdTranslatePipe\n ]\n})\nexport class ListComponent<T>\n extends CollectionBaseInput\n implements ListUnreadIndicator, OnInit, AfterViewInit, OnDestroy, FdpList<BaseListItem>\n{\n /** An array that holds a list of all selected items. **/\n @Input()\n selectedItems: BaseListItem[];\n\n /** define size of items for screen reader. */\n @Input()\n ariaSetsize: number;\n\n /** Defines whether items are multiselectable for screen reader. */\n @Input()\n ariaMultiselectable: boolean;\n\n /** Title used on button when data loads on button click. */\n @Input()\n loadTitle: string;\n\n /** Label used on announce message of data was loaded for screen readers. */\n @Input()\n loadingLabel = '';\n\n /** Wait time for new items. */\n @Input()\n delayTime: number;\n\n /** Items to be loaded at once. Intinity (no limit) by default. */\n @Input()\n itemSize = Infinity;\n\n /** Enables lazy loadMore of data. */\n @Input()\n loadMore: boolean;\n\n /**\n * Enables data load on scroll for true\n * false: enables data loading on button click.\n */\n @Input()\n loadOnScroll: boolean;\n\n /** define the role to custom requirement. */\n @Input()\n role = 'list';\n\n /** ListType 'inactive' | 'active' | 'navigation' | 'detail' */\n @Input()\n listType: ListType = 'active';\n\n /** Max height for viewport to display scroll. */\n @Input()\n maxHeight: string;\n\n /** Whether list component has removed borders. */\n @Input()\n noBorder = false;\n\n /** Scroll offset percentage to trigger scroll event. */\n @Input()\n scrollOffsetPercentage: number;\n\n /** Eenables selection styles. */\n @Input()\n selection = false;\n\n /**\n * The type of the selection. Types include:\n * 'none'| 'multi' | 'single'|'delete'.\n * Leave empty for default ().'\n * Default value is set to 'none'.\n */\n @Input()\n selectionMode: SelectionType = 'none';\n\n /** setter and getter for radio button and checkbox. */\n @Input()\n set value(value: any) {\n super.setValue(value);\n }\n\n get value(): any {\n return super.getValue();\n }\n\n /** setter and getter for row level Selection. */\n @Input()\n set rowSelection(value: boolean) {\n this._rowSelection = value;\n if (this._rowSelection) {\n this.selection = true;\n this._ulElement?.classList.add('fd-list--selection-row');\n if (this.navigated && this.hasObject) {\n this._ulElement?.classList.remove('fd-list--selection-row');\n }\n }\n }\n\n get rowSelection(): boolean {\n return this._rowSelection;\n }\n\n /** Datasource for suggestion list. */\n @Input()\n set dataSource(value: FdpListDataSource<T>) {\n if (value) {\n this._initializeDS(value);\n }\n }\n\n get dataSource(): FdpListDataSource<T> {\n return this._dataSource;\n }\n\n /** setter and getter for _navigated. */\n @Input()\n set navigated(value: boolean) {\n this._navigated = value;\n\n const classList = ['fd-list--navigation'];\n if (this.hasObject) {\n classList.push('fd-list--navigation-object');\n }\n\n this._ulElement?.classList.add(...classList);\n }\n\n get navigated(): boolean {\n return this._navigated;\n }\n\n /** setter and getter for _navigationIndicator. */\n @Input()\n set navigationIndicator(value: boolean) {\n this._navigationIndicator = value;\n this._ulElement?.classList.add('fd-list--navigation-indication');\n }\n\n get navigationIndicator(): boolean {\n return this._navigationIndicator;\n }\n\n /** setter and getter for hasByLine. */\n @Input()\n set hasByLine(value: boolean) {\n this._hasByLine = value;\n this._ulElement?.classList.add('fd-list--byline');\n }\n\n get hasByLine(): boolean {\n return this._hasByLine;\n }\n\n /** setter and getter for hasObject. */\n @Input()\n set hasObject(value: boolean) {\n this._hasObject = value;\n this._ulElement?.classList.add('fd-object-list');\n }\n\n get hasObject(): boolean {\n return this._hasObject;\n }\n\n /** Whether to display unread notification indicator. */\n @Input()\n unreadIndicator = false;\n\n /** Whether to intercept tab key navigation. */\n @Input()\n interceptTabKey = true;\n\n /** Event thrown, when selected item is changed */\n @Output()\n selectedItemChange: EventEmitter<SelectionChangeEvent> = new EventEmitter<SelectionChangeEvent>();\n\n /** Access child element, for checking link content */\n @ViewChild('link', { read: ElementRef })\n anchor: ElementRef<HTMLLinkElement>;\n\n /** @hidden */\n @ContentChild(forwardRef(() => ListItemDef))\n listItemDef: ListItemDef;\n\n /** Load More List item content */\n @ContentChild(LoadMoreContentDirective)\n loadMoreContent: LoadMoreContentDirective;\n\n /** Child items of the List. */\n @ContentChildren(forwardRef(() => BaseListItem), { descendants: true })\n listItems: QueryList<BaseListItem>;\n\n /** @hidden */\n get _ulElement(): Nullable<HTMLUListElement> {\n return this.elementRef.nativeElement.querySelector('ul');\n }\n\n /**\n * @hidden\n * To display loading symbol\n */\n _loading = false;\n\n /** @hidden\n * To differentiate between first loading when skeletons be shown and subsequent loadings when busy indicator be shown\n */\n _firstLoadingDone = false;\n\n /**\n * @hidden\n * keyManger to handle keybord events used in template\n */\n _keyManager: Nullable<FocusKeyManager<BaseListItem>>;\n\n /** @hidden */\n _items: T[] = [];\n\n /** @hidden */\n _destroyed = new Subject<void>();\n\n /** @hidden */\n protected _dataSource: FdpListDataSource<T>;\n\n /** @hidden */\n private _translationResolver = new TranslationResolver();\n\n /**\n * @hidden\n * Whether Navigation mode is included to list component\n * for all the items\n */\n private _navigated: boolean;\n\n /**\n * @hidden\n * Whether By line is present in list item\n */\n private _hasByLine: boolean;\n\n /**\n * @hidden\n * Whether Navigation mode is included to list component\n * only a subset of the list items are navigable\n * you should indicate those by displaying a navigation arrow\n */\n private _navigationIndicator: boolean;\n\n /**\n * @hidden\n * Whether object present in list item\n */\n private _hasObject: boolean;\n\n /**\n * @hidden\n * Verfies partial navigation enabled\n */\n protected _partialNavigation = false;\n\n /**\n * @hidden\n * The model backing of the component.\n */\n private _selectionModel: SelectionModel<BaseListItem>;\n\n /**\n * @hidden\n * Whether list component has multiselection\n * binding in tempate to append class\n */\n private _multiSelect = false;\n\n /** @hidden */\n private _selectedvalue: Nullable<string>;\n\n /**\n * @hidden\n * Whether row level selection mode is enabled to list component\n * for all the items\n */\n private _rowSelection: boolean;\n\n /** @hidden To store */\n private _tempItems: T[] = [];\n\n /** @hidden */\n private _startIndex = 0;\n\n /** @hidden */\n private _lastIndex = this.itemSize;\n\n /** @hidden */\n private _dsItems: T[] = [];\n\n /**\n * @hidden\n * for data source handling\n */\n private _dsSubscription: Nullable<Subscription>;\n\n /** @hidden */\n private _language: FdLanguage;\n\n /** @hidden */\n private _afterViewInit$ = new BehaviorSubject(false);\n\n /** @hidden */\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef,\n private _liveAnnouncer: LiveAnnouncer,\n @Inject(FD_LANGUAGE) private readonly _language$: Observable<FdLanguage>,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() @Self() public controlContainer: ControlContainer,\n @Optional() @Self() public ngForm: NgForm,\n @Optional() @SkipSelf() @Host() @Inject(FD_FORM_FIELD) formField: PlatformFormField,\n @Optional() @SkipSelf() @Host() @Inject(FD_FORM_FIELD_CONTROL) formControl: PlatformFormFieldControl,\n protected _listConfig?: ListConfig\n ) {\n super(_changeDetectorRef, elementRef, ngControl, controlContainer, ngForm, formField, formControl);\n this._init();\n }\n\n /** @hidden */\n private async _init(): Promise<void> {\n this._language = await firstValueFrom(this._language$);\n }\n\n /** Get context for load more button */\n getLoadMoreContentContext(): LoadMoreContentContext {\n const $implicit = {\n loadTitle: this.loadTitle,\n loading: this._loading,\n loadingLabel: (() => {\n if (this._loading) {\n return this._language$.pipe(\n map((language) => this._translationResolver.resolve(language, 'platformList.loadingAriaLabel'))\n );\n }\n return of(this.loadingLabel);\n })(),\n lastChunk: {\n start: this._startIndex,\n end: this._lastIndex\n },\n total: this._dsItems.length\n };\n return {\n $implicit,\n ...$implicit\n };\n }\n\n /**\n * @hidden\n * Initialization of the lis component with selection mode\n */\n ngOnInit(): void {\n this._setItems();\n\n this.stateChanges.next(this._items);\n this.id = `fdp-list-${nextListId++}`;\n\n // using selection Model for multiselect\n if (this.selectionMode === 'multi') {\n this._multiSelect = true;\n this.ariaMultiselectable = true;\n } else {\n this._multiSelect = false;\n }\n\n this._selectionModel = new SelectionModel<BaseListItem>(this._multiSelect, this.selectedItems);\n\n this._selectionModel.changed.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this.selectedItems = this._selectionModel.selected;\n const event = new SelectionChangeEvent();\n event.selectedItems = this.selectedItems;\n this.stateChanges.next(event);\n this.selectedItemChange.emit(event);\n });\n }\n\n /**\n * @hidden\n * Keyboard manager on list items, set values when passed via array\n */\n ngAfterViewInit(): void {\n this._afterViewInit$.next(true);\n this._keyManager = new FocusKeyManager<BaseListItem>(this.listItems).withWrap();\n\n this._subscriptions.add(\n this.listItems.changes\n .pipe(startWith(this.listItems), observeOn(asyncScheduler))\n .subscribe(() => this._updateListItems())\n );\n\n const indicator = this.elementRef.nativeElement.querySelector('fd-busy-indicator');\n indicator?.setAttribute('aria-label', '');\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.ngOnDestroy();\n\n if (isDataSource(this.dataSource)) {\n this.dataSource.close();\n }\n\n this._dsSubscription?.unsubscribe();\n\n this._keyManager?.destroy();\n }\n\n /**\n * @hidden\n * handline keyboard operations\n * in template on list and list items\n */\n _handleKeyDown(event: KeyboardEvent): Nullable<boolean> {\n if (!this._keyManager) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, TAB) && !this.interceptTabKey) {\n return;\n }\n\n event.stopImmediatePropagation();\n\n const activeItemIndex: Nullable<number> = this._keyManager.activeItemIndex;\n\n if (activeItemIndex) {\n this._setCurrentActiveItemIndex(activeItemIndex);\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW) || KeyUtil.isKeyCode(event, UP_ARROW)) {\n return false;\n } else if (KeyUtil.isKeyCode(event, ENTER) || KeyUtil.isKeyCode(event, SPACE)) {\n this._updateNavigation(event);\n return false;\n }\n }\n\n /** @hidden */\n _setCurrentActiveItemIndex(activeItemIndex: number): void {\n this._keyManager?.setActiveItem(activeItemIndex);\n }\n\n /**\n * @hidden\n * binded in template on scroll\n */\n _scrollHandler(): void {\n if (!this._loading && this.loadOnScroll) {\n this._getMoreData();\n }\n }\n\n /**\n * @hidden\n * load more on enter or space press\n */\n _loadOnKeyPress(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this._getMoreData();\n }\n }\n\n /**\n * @hidden\n * Handles lazy loading data\n * used in template\n * onscroll and on more button click\n */\n _getMoreData(): void {\n this._loading = true;\n of(this._loadNewItems())\n .pipe(\n tap(async (data) => {\n if (isBlank(data)) {\n console.error('===Invalid Response received===');\n }\n this.loadingLabel = this._translationResolver.resolve(\n this._language,\n 'platformList.loadingAriaLabel'\n );\n await this._liveAnnouncer.announce(this.loadingLabel, 'assertive');\n }),\n delay(this.delayTime),\n takeUntil(this._destroyed)\n )\n .subscribe((result) => {\n if (isPresent(result)) {\n for (let i = this._items.length, j = 0; j < result.length; ++i, ++j) {\n this._items[i] = result[j];\n }\n }\n this._loading = false;\n this.stateChanges.next(this._items);\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * @hidden\n * used in tempate to get Selected items from a list\n * event:any to avoid code duplication\n */\n _onSelectionChanged(event: Event): void {\n this._updateNavigation(event);\n }\n\n /**\n * @hidden\n * on Update navgiation styles for non navigated items\n * event:any to avoid code duplication\n * seprate PR for custom event\n */\n @HostListener('click', ['$event'])\n _updateNavigation(event: Event): void {\n let selectedItemId: Nullable<string> = '0';\n const element: Nullable<HTMLElement> = event.target instanceof HTMLElement ? event.target : null;\n const parent = element?.closest('.fd-list__item');\n if (isPresent(parent)) {\n selectedItemId = parent?.getAttribute('id');\n }\n\n this.listItems.forEach((item, index) => {\n item.anchor?.nativeElement.classList.remove('is-navigated');\n\n if (item._focused) {\n this._keyManager?.updateActiveItem(index);\n }\n });\n\n const el = event.target instanceof HTMLElement && event.target;\n if (!el) {\n return;\n }\n\n const linkElement = el.querySelector('a');\n if (el.tagName.toLowerCase() === 'a') {\n el.classList.add('is-navigated');\n } else if (el.tagName.toLowerCase() === 'li' && !!linkElement) {\n linkElement.classList.add('is-navigated');\n }\n\n // TODO: selection management should be completely changed https://github.com/SAP/fundamental-ngx/issues/8008\n if (this.rowSelection) {\n this._handleRowSelect(selectedItemId);\n } else if (this.selectionMode === 'single') {\n this._handleSingleSelect(event, selectedItemId);\n } else if (this.selectionMode === 'multi') {\n this._handleMultiSelect(selectedItemId);\n }\n }\n\n /** @hidden */\n _selectItem(item: BaseListItem): void {\n this._selectionModel.select(item);\n this.stateChanges.next(item);\n }\n\n /** @hidden */\n private _setItems(): void {\n if (this._dsItems.length !== null && this.itemSize !== 0) {\n this._startIndex = 0;\n this._lastIndex = this.itemSize;\n this._items = this._dsItems.slice(this._startIndex, this._lastIndex);\n } else {\n this._items = this._dsItems;\n }\n\n this.stateChanges.next(this._items);\n }\n\n /** @hidden */\n private _initializeDS(ds: FdpListDataSource<T>): void {\n this._dsItems = [];\n if (isDataSource(this.dataSource)) {\n this.dataSource.close();\n if (this._dsSubscription) {\n this._dsSubscription.unsubscribe();\n this._dsSubscription = null;\n }\n }\n // Convert ListDataSource<T> | Observable<T[]> | T[] as DataSource\n this._dataSource = this._openDataStream(ds);\n }\n\n /** @hidden */\n private _toDataStream(source: FdpListDataSource<T>): ListDataSource<T> | undefined {\n if (isDataSource(source)) {\n return <ListDataSource<T>>source;\n }\n\n if (Array.isArray(source)) {\n // default implementation to work on top of arrays\n return new ArrayListDataSource<T>(source);\n }\n\n if (isObservable(source)) {\n return new ObservableListDataSource<T>(source);\n }\n\n return undefined;\n }\n\n /** @hidden */\n private _openDataStream(ds: FdpListDataSource<T>): ListDataSource<T> {\n const initDataSource = this._toDataStream(ds);\n if (initDataSource === undefined) {\n throw new Error(`[dataSource] source did not match an array, Observable, or DataSource`);\n }\n\n /**\n * This is single point of data entry to the component. We dont want to set data on different\n * places. If any new data comes in either you do a search and you want to pass initial data\n * its here.\n */\n this._dsSubscription = initDataSource\n .open()\n .pipe(\n // Set new items when component is fully initiated and all child components are available.\n this._waitForViewInit(),\n takeUntil(this._destroyed)\n )\n .subscribe((data) => {\n this._dsItems = data || [];\n this.stateChanges.next(this._dsItems);\n this._setItems();\n // Trigger change detection when queue is empty.\n setTimeout(() => {\n this._cd.detectChanges();\n });\n });\n\n this._dsSubscription.add(initDataSource.onDataRequested().subscribe(() => (this._loading = true)));\n\n this._dsSubscription.add(\n initDataSource.onDataReceived().subscribe(() => {\n this._loading = false;\n this._firstLoadingDone = true;\n })\n );\n\n const matchParams = new Map();\n\n matchParams.set('query', '*');\n matchParams.set('limit', this.itemSize);\n\n // initial data fetch\n initDataSource.match(matchParams);\n\n return initDataSource;\n }\n\n /** @hidden */\n private _loadNewItems(): T[] {\n this._startIndex = this._startIndex + this.itemSize;\n this._lastIndex = this._lastIndex + this.itemSize;\n this._tempItems = this._dsItems.slice(this._startIndex, this._lastIndex);\n\n return this._tempItems;\n }\n\n /**\n * @hidden\n * List item with radio button styles, check, uncheckupdates\n * event:any to avoid code duplication\n */\n private _handleSingleSelect(event: Event, selectedItemId: Nullable<string>): void {\n const parent = event.target instanceof HTMLElement && event.target.closest('.fd-list__item');\n const radio = parent ? parent.querySelector('input') : null;\n this._selectedvalue = radio ? (<HTMLInputElement>radio).value : null;\n\n this.listItems.forEach((item) => {\n if (isPresent(item.radioButtonComponent)) {\n item._selected = false;\n item.listItem.nativeElement.setAttribute('aria-checked', 'false');\n }\n\n this.stateChanges.next(item);\n });\n\n this._selectionModel.clear();\n\n this.listItems.forEach((item) => {\n item.selectionValue = this._selectedvalue;\n const { nativeElement } = item.listItem;\n if (nativeElement.getAttribute('id') === selectedItemId) {\n nativeElement.setAttribute('_selected', 'true');\n nativeElement.setAttribute('aria-checked', 'true');\n\n this._selectItem(item);\n }\n });\n }\n\n /** @hidden */\n private _handleRowSelect(selectedItemId: Nullable<string>): void {\n // handles mutli select on row level without checkbox\n if (this.selectionMode === 'multi') {\n this.listItems.forEach((item) => {\n if (item._selected) {\n this._selectionModel.select(item);\n } else {\n this._selectionModel.deselect(item);\n }\n\n this.stateChanges.next(item);\n });\n }\n\n // handles single select on row level without radiobutton\n if (this.selectionMode === 'single') {\n this.listItems.forEach((item) => {\n if (!item.anchor) {\n return;\n }\n\n const { nativeElement } = item.listItem;\n nativeElement.setAttribute('_selected', 'false');\n nativeElement.setAttribute('aria-selected', 'false');\n nativeElement.classList.remove('is-selected');\n item.anchor.nativeElement.classList.remove('is-selected');\n this.stateChanges.next(item);\n });\n\n this._selectionModel.clear();\n\n this.listItems.forEach((item) => {\n const { nativeElement } = item.listItem;\n if (nativeElement.getAttribute('id') !== selectedItemId) {\n return;\n }\n\n nativeElement.setAttribute('_selected', 'true');\n item.anchor?.nativeElement.classList.add('is-selected');\n\n this._selectItem(item);\n });\n\n selectedItemId = '0';\n }\n }\n\n /**\n * @hidden\n * List item with checkbox styles,check,uncheckupdates\n * event:any to avoid code duplication\n */\n private _handleMultiSelect(selectedItemId: Nullable<string>): void {\n this.listItems.forEach((item) => {\n const { nativeElement } = item.listItem;\n if (nativeElement.getAttribute('id') !== selectedItemId) {\n return;\n }\n\n const select = nativeElement.getAttribute('_selected');\n nativeElement.setAttribute('_selected', `${!select}`);\n if (item._selected) {\n nativeElement.setAttribute('aria-selected', 'true');\n this._selectionModel.select(item);\n } else {\n nativeElement.setAttribute('aria-selected', 'false');\n this._selectionModel.deselect(item);\n }\n\n this.stateChanges.next(item);\n });\n }\n\n /** @hidden */\n _setupListItem(item: BaseListItem): void {\n item.selectionMode = this.selectionMode;\n item.rowSelection = this.rowSelection;\n item._hasByLine = this.hasByLine;\n item.itemSelected.subscribe(() => {\n this._keyManager?.setActiveItem(this.listItems.toArray().indexOf(item));\n });\n\n this.stateChanges.next(item);\n }\n\n /**\n * @hidden\n * Setting values from list to list items\n * example:\n * Does list item has navigation,\n * should show arrows,\n * will it be compact mode,\n * should be in which selection mode\n * set values when passed via datasource\n */\n private _updateListItems(): void {\n if (this.listItems.length !== 0) {\n this.listItems.first.listItem.nativeElement.setAttribute('tabindex', '0');\n }\n\n if (!this.ariaLabel) {\n this.ariaSetsize = this.listItems.length;\n }\n\n this._partialNavigation = this.listItems.some((item) => item.navigationIndicator || item.listType === 'detail');\n\n this.listItems.forEach((item, index) => {\n if (!this._partialNavigation) {\n item.navigated = this.navigated;\n item.navigationIndicator = this.navigationIndicator;\n item.listType = this.listType;\n }\n\n item.ariaPosinet = index;\n });\n\n this._cd.markForCheck();\n }\n\n /** @hidden */\n private _waitForViewInit<SourceDataType>() {\n return (source: Observable<SourceDataType>): Observable<SourceDataType> =>\n source.pipe(\n switchMap((src) =>\n this._afterViewInit$.pipe(\n filter((afterViewInit) => afterViewInit),\n map(() => src)\n )\n )\n );\n }\n}\n","<ng-content select=\"fd-toolbar\"></ng-content>\n<ul\n fd-list\n [attr.id]=\"id\"\n [noBorder]=\"noBorder\"\n [selection]=\"selection\"\n [byline]=\"hasByLine\"\n [class.fd-list--navigation]=\"navigated || navigationIndicator\"\n [navigationIndicator]=\"navigationIndicator\"\n [style.outline]=\"'none'\"\n (keydown)=\"_keyManager?.onKeydown($event); _handleKeyDown($event)\"\n (change)=\"_onSelectionChanged($event)\"\n [attr.aria-setsize]=\"ariaSetsize\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-multiselectable]=\"ariaMultiselectable\"\n [role]=\"role\"\n [unreadIndicator]=\"unreadIndicator\"\n>\n <ng-container *ngIf=\"loadMore && loadOnScroll\">\n <fd-busy-indicator\n size=\"l\"\n class=\"fd-busy-indicator-custom fd-list__item--growing\"\n [block]=\"true\"\n [loading]=\"_loading && _firstLoadingDone\"\n role=\"alert\"\n [attr.aria-busy]=\"_loading\"\n [attr.aria-label]=\"_loading ? ('platformList.loadingAriaLabel' | fdTranslate) : null\"\n >\n <div\n fd-list\n fdInfiniteScroll\n class=\"fd-list__infinite-scroll\"\n [style.max-height]=\"maxHeight\"\n (onScrollAction)=\"_scrollHandler()\"\n [scrollPercent]=\"scrollOffsetPercentage\"\n [role]=\"role\"\n >\n <ng-container *ngIf=\"_items.length !== 0; then thenBlock; else elseBlock\"></ng-container>\n </div>\n </fd-busy-indicator>\n </ng-container>\n <ng-container *ngIf=\"!loadOnScroll\">\n <ng-template *ngIf=\"_items.length !== 0; then thenBlock; else elseBlock\"> </ng-template>\n <li\n #listItem\n *ngIf=\"loadMore && !loadOnScroll && _firstLoadingDone\"\n (click)=\"_getMoreData()\"\n fd-list-item\n (keydown)=\"_loadOnKeyPress($event)\"\n [class.fd-list__item--custom-content]=\"loadMoreContent\"\n class=\"fd-list__item fd-list__item--growing fd-list__item--action\"\n [tabindex]=\"0\"\n role=\"button\"\n >\n <ng-template [ngTemplateOutlet]=\"loadMoreElementContent\"></ng-template>\n </li>\n </ng-container>\n <ng-template #loadMoreElementContent>\n <ng-container *ngIf=\"loadMoreContent; else defaultContent\">\n <div class=\"fd-list__title\">\n <ng-template\n [ngTemplateOutlet]=\"loadMoreContent.templateRef\"\n [ngTemplateOutletContext]=\"getLoadMoreContentContext()\"\n >\n </ng-template>\n </div>\n </ng-container>\n <ng-template #defaultContent>\n <button class=\"fd-list__title\">\n <fd-busy-indicator\n size=\"m\"\n class=\"fd-busy-indicator-custom\"\n [block]=\"true\"\n [loading]=\"_loading\"\n role=\"alert\"\n [attr.aria-label]=\"_loading ? ('platformList.loadingAriaLabel' | fdTranslate) : loadTitle\"\n >\n </fd-busy-indicator>\n {{ loadTitle }}\n <ng-content select=\"#load\"></ng-content>\n </button>\n </ng-template>\n </ng-template>\n</ul>\n\n<ng-template #thenBlock>\n <ng-container *ngFor=\"let item of _items; let i = index\">\n <ng-container *ngTemplateOutlet=\"listItemDef.templateRef; context: { $implicit: item }\"> </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #elseBlock>\n <ng-container *ngIf=\"!listItems.length && !_firstLoadingDone\">\n <ng-container *ngIf=\"!hasByLine; else bylineLoading\">\n <li fd-list-item *fdkRepeat=\"3\">\n <fd-skeleton [style.margin]=\"'auto 0'\" type=\"text\" textLines=\"1\" width=\"40%\"></fd-skeleton>\n </li>\n </ng-container>\n <ng-template #bylineLoading>\n <li fd-list-item *fdkRepeat=\"3\">\n <fd-skeleton width=\"100%\" height=\"48px\" [style.margin]=\"'auto 0'\">\n <svg:rect x=\"0\" y=\"0\" width=\"48\" height=\"48\" rx=\"4\" />\n <svg:rect x=\"60\" y=\"0\" width=\"40%\" height=\"12\" rx=\"4\" />\n <svg:rect x=\"60\" y=\"20\" width=\"30%\" height=\"8\" rx=\"4\" />\n </fd-skeleton>\n </li>\n </ng-template>\n </ng-container>\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { ObjectAttributeComponent } from '@fundamental-ngx/core/object-attribute';\n\n@Component({\n selector: 'fdp-object-list-item-row',\n template: ` <div class=\"fd-object-list__row\">\n <div class=\"fd-object-list__row-left\">\n <fd-object-attribute\n class=\"fd-object-list__object-attribute\"\n [islink]=\"islink\"\n [label]=\"attributeLabel\"\n [linkText]=\"linkedText\"\n >\n <ng-content select=\".attribute\"></ng-content>\n </fd-object-attribute>\n </div>\n <div class=\"fd-object-list__row-right\">\n <ng-content></ng-content>\n </div>\n </div>`,\n styleUrls: ['./object-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ObjectAttributeComponent]\n})\nexport class ObjectListItemRowComponent {\n /** object attribute label */\n @Input()\n attributeLabel: string;\n\n /** object attribute link text */\n @Input()\n linkedText: string;\n\n /** object attribute is a link */\n @Input()\n islink = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ColorAccent } from '@fundamental-ngx/cdk/utils';\n\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { AvatarComponent } from '@fundamental-ngx/core/avatar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { FormItemComponent } from '@fundamental-ngx/core/form';\nimport { ListItemComponent, ListLinkDirective, ListTitleDirective } from '@fundamental-ngx/core/list';\nimport { ObjectIdentifierComponent } from '@fundamental-ngx/core/object-identifier';\nimport { ObjectNumberComponent } from '@fundamental-ngx/core/object-number';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { BaseListItem, StatusType } from '../base-list-item';\nimport { ObjectListItemRowComponent } from './object-list-item-row.component';\n\n@Component({\n selector: 'fdp-object-list-item',\n templateUrl: './object-list-item.component.html',\n styleUrls: ['./object-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => ObjectListItemComponent) }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n ListItemComponent,\n NgTemplateOutlet,\n ListLinkDirective,\n RouterLink,\n ListTitleDirective,\n AvatarComponent,\n ObjectIdentifierComponent,\n ObjectNumberComponent,\n FormItemComponent,\n CheckboxComponent,\n FormsModule,\n RadioButtonComponent,\n ButtonComponent,\n FdTranslatePipe\n ]\n})\nexport class ObjectListItemComponent extends BaseListItem {\n /** define label for screen reader */\n @Input()\n introductionText: string;\n\n /** holds object number */\n @Input()\n amount: number;\n\n /** holds object number unit */\n @Input()\n currency: string;\n\n /** object number amount decimal limitation */\n @Input()\n decimal: number;\n\n /** object number status */\n @Input()\n numberStatus: StatusType;\n\n /** holds avatar label */\n @Input()\n label: string;\n\n /** holds avatar icon as image */\n @Input()\n glyph: string;\n\n /** Avatar to be circle or not */\n @Input()\n circle: boolean;\n\n /** Is avatar has placeholder */\n @Input()\n placeholder: boolean;\n\n /** Is avatar has tile */\n @Input()\n tile: boolean;\n\n /** Is avatar has colorAccent */\n @Input()\n colorAccent: ColorAccent;\n\n /** Avatar image path */\n @Input()\n image: string;\n\n /** Avatar is transparent */\n @Input()\n transparent: boolean;\n\n /** @hidden */\n @ContentChildren(ObjectListItemRowComponent)\n children: QueryList<ObjectListItemRowComponent>;\n}\n","<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (click)=\"_onItemClick()\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-object-list__item fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"selectionTemplate\"> </ng-container>\n <a\n #linkElement\n fd-list-link\n [routerLink]=\"link\"\n [attr.href]=\"link\"\n [attr.aria-label]=\"title\"\n [navigationIndicator]=\"navigationIndicator\"\n [navigated]=\"navigated\"\n tabindex=\"-1\"\n >\n <ng-container *ngTemplateOutlet=\"objectTemplate\"></ng-container>\n </a>\n </li>\n</ng-container>\n<!-- list item without navigation and used for simple list display-->\n<ng-container *ngIf=\"!navigationIndicator && !navigated && !(noDataText !== null && noDataText !== undefined)\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n (keydown)=\"_onKeyDown($event)\"\n [tabindex]=\"-1\"\n class=\"fd-object-list__item\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n (click)=\"_onItemClick()\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"selectionTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"objectTemplate\"></ng-container>\n </li>\n</ng-container>\n<ng-container *ngIf=\"noDataText !== null && noDataText !== undefined\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [tabindex]=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n class=\"fd-object-list__item\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n >\n <span fd-list-title [attr.aria-label]=\"noDataText\" [attr.title]=\"noDataText\">{{ noDataText }}</span>\n </li>\n</ng-container>\n<ng-template #objectTemplate>\n <div class=\"fd-object-list__container\">\n <!--Optional text-->\n <div class=\"fd-object-list__intro\" *ngIf=\"introductionText\">{{ introductionText }}</div>\n <!--header content-->\n <div class=\"fd-object-list__header\">\n <fd-avatar\n [size]=\"avatar.size\"\n [glyph]=\"avatar.glyph\"\n [zoomGlyph]=\"avatar.zoomGlyph\"\n *ngIf=\"avatar.label || avatar.image || avatar.glyph || avatar.zoomGlyph\"\n [label]=\"avatar.label\"\n [circle]=\"avatar.circle\"\n [placeholder]=\"avatar.placeholder\"\n [tile]=\"avatar.tile\"\n [colorAccent]=\"avatar.colorAccent\"\n [image]=\"avatar.image\"\n [transparent]=\"avatar.transparent\"\n [random]=\"avatar.random\"\n [class]=\"avatar.class\"\n [ariaLabel]=\"avatar.ariaLabel\"\n [ariaLabelledby]=\"avatar.ariaLabelledby\"\n [contain]=\"avatar.contain\"\n [border]=\"avatar.border\"\n [alterIcon]=\"avatar.alterIcon\"\n [backupImage]=\"avatar.backupImage\"\n [clickable]=\"avatar.clickable\"\n ></fd-avatar>\n <!--left side header content-->\n <div class=\"fd-object-list__header-left\">\n <fd-object-identifier class=\"fd-object-list__object-identifier\">{{ title }}</fd-object-identifier>\n </div>\n <!--right side header content-->\n <div class=\"fd-object-list__header-right\">\n <fd-object-number\n class=\"fd-object-list__object-number\"\n [number]=\"amount\"\n [unit]=\"currency\"\n [status]=\"numberStatus\"\n [decimal]=\"decimal\"\n >\n </fd-object-number>\n </div>\n </div>\n <!--body content-->\n <div class=\"fd-object-list__content\">\n <ng-content select=\"fdp-object-list-item-row\"></ng-content>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"actionsTemplate\"></ng-container>\n</ng-template>\n<ng-template #selectionTemplate>\n <div\n fd-form-item\n class=\"fd-list__form-item\"\n *ngIf=\"(selectionMode === 'multi' || selectionMode === 'single') && !rowSelection\"\n >\n <fd-checkbox *ngIf=\"selectionMode === 'multi'\" role=\"checkbox\" [(ngModel)]=\"_selected\" tabIndexValue=\"-1\">\n </fd-checkbox>\n <fd-radio-button\n *ngIf=\"selectionMode === 'single'\"\n [value]=\"value\"\n [name]=\"name\"\n role=\"radio\"\n [(ngModel)]=\"selectionValue\"\n >\n </fd-radio-button>\n </div>\n</ng-template>\n<ng-template #actionsTemplate>\n <ng-content select=\"#secondaryAction\"></ng-content>\n <button\n fd-button\n *ngIf=\"listType === 'detail'\"\n role=\"button\"\n fdType=\"transparent\"\n glyph=\"edit\"\n title=\"detail\"\n [attr.aria-label]=\"'platformObjectListItem.detailsActionAriaLabel' | fdTranslate\"\n (keydown)=\"_onKeyButtonClick($event, 'edit')\"\n (click)=\"_onActionButtonClick('edit')\"\n [attr.id]=\"'detail-' + id\"\n ></button>\n <button\n fd-button\n *ngIf=\"selectionMode === 'delete'\"\n role=\"button\"\n [attr.aria-label]=\"'platformObjectListItem.deleteActionAriaLabel' | fdTranslate\"\n title=\"delete\"\n fdType=\"transparent\"\n glyph=\"decline\"\n (keydown)=\"_onKeyButtonClick($event, 'delete')\"\n (click)=\"_onActionButtonClick('delete')\"\n [attr.id]=\"'delete-' + id\"\n ></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ObjectListItemRowComponent } from './object-list-item-row.component';\nimport { ObjectListItemComponent } from './object-list-item.component';\n\n@NgModule({\n imports: [ObjectListItemComponent, ObjectListItemRowComponent, ContentDensityModule],\n exports: [ObjectListItemComponent, ObjectListItemRowComponent, ContentDensityModule]\n})\nexport class ObjectListItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, forwardRef } from '@angular/core';\n\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { AvatarComponent } from '@fundamental-ngx/core/avatar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { FormItemComponent } from '@fundamental-ngx/core/form';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport {\n ListItemComponent,\n ListLinkDirective,\n ListSecondaryDirective,\n ListThumbnailDirective,\n ListTitleDirective\n} from '@fundamental-ngx/core/list';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ObjectStatusComponent } from '@fundamental-ngx/platform/object-status';\nimport { BaseListItem } from '../base-list-item';\n\n@Component({\n selector: 'fdp-standard-list-item',\n templateUrl: './standard-list-item.component.html',\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => StandardListItemComponent) }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n NgIf,\n ListItemComponent,\n NgTemplateOutlet,\n ListLinkDirective,\n RouterLink,\n ListTitleDirective,\n IconComponent,\n AvatarComponent,\n NgClass,\n ListSecondaryDirective,\n ListThumbnailDirective,\n FormItemComponent,\n CheckboxComponent,\n FormsModule,\n RadioButtonComponent,\n ButtonComponent,\n ObjectStatusComponent,\n FdTranslatePipe\n ]\n})\nexport class StandardListItemComponent extends BaseListItem {}\n","<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n [unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"selectionTemplate\"> </ng-container>\n <a\n #linkElement\n fd-list-link\n [routerLink]=\"link\"\n [navigationIndicator]=\"navigationIndicator\"\n [navigated]=\"navigated\"\n >\n <ng-container *ngTemplateOutlet=\"_hasByLine ? byLineTemplate : commonTemplate\"></ng-container>\n </a>\n </li>\n</ng-container>\n\n<!-- list item without navigation and used for simple list display-->\n<ng-container *ngIf=\"!navigationIndicator && !navigated && !(noDataText !== null && noDataText !== undefined)\">\n <li\n #listItem\n [unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n (keydown)=\"_onKeyDown($event)\"\n [tabindex]=\"-1\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"selectionTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"_hasByLine ? byLineTemplate : commonTemplate\"></ng-container>\n </li>\n</ng-container>\n\n<ng-container *ngIf=\"noDataText !== null && noDataText !== undefined\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [tabindex]=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n >\n <span fd-list-title [attr.aria-label]=\"noDataText\" [attr.title]=\"noDataText\">{{ noDataText }}</span>\n </li>\n</ng-container>\n\n<ng-template #commonTemplate>\n <fd-icon\n class=\"fd-list__icon\"\n *ngIf=\"icon.glyph\"\n [glyph]=\"icon.glyph\"\n [font]=\"icon.font\"\n [ariaLabel]=\"icon.ariaLabel\"\n [attr.alt]=\"icon.ariaLabel\"\n role=\"img\"\n >\n </fd-icon>\n <fd-avatar\n [size]=\"avatar.size\"\n [glyph]=\"avatar.glyph\"\n [zoomGlyph]=\"avatar.zoomGlyph\"\n *ngIf=\"avatar.label || avatar.image || avatar.glyph || avatar.zoomGlyph\"\n [label]=\"avatar.label\"\n [circle]=\"avatar.circle\"\n [placeholder]=\"avatar.placeholder\"\n [tile]=\"avatar.tile\"\n [colorAccent]=\"avatar.colorAccent\"\n [image]=\"avatar.image\"\n [transparent]=\"avatar.transparent\"\n [random]=\"avatar.random\"\n [class]=\"'fd-list__icon ' + avatar.class\"\n [ariaLabel]=\"avatar.ariaLabel\"\n [ariaLabelledby]=\"avatar.ariaLabelledby\"\n [contain]=\"avatar.contain\"\n [border]=\"avatar.border\"\n [alterIcon]=\"avatar.alterIcon\"\n [backupImage]=\"avatar.backupImage\"\n [clickable]=\"avatar.clickable\"\n [attr.alt]=\"avatar.ariaLabel\"\n role=\"img\"\n ></fd-avatar>\n <span *ngIf=\"title\" fd-list-title [attr.aria-label]=\"ariaLabel\" [attr.nowrap]=\"titleWrap\" [attr.title]=\"title\">\n {{ title }}\n </span>\n <span\n fd-list-secondary\n [attr.aria-label]=\"secondary\"\n *ngIf=\"secondary !== null && secondary !== undefined\"\n [attr.title]=\"secondary\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary }}\n </span>\n <span\n fd-list-secondary\n class=\"fd-list__item-counter\"\n [attr.aria-label]=\"counter\"\n *ngIf=\"counter !== null && counter !== undefined\"\n [attr.title]=\"counter\"\n >\n {{ counter }}\n </span>\n <ng-container *ngTemplateOutlet=\"actionsTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #byLineTemplate>\n <div fdListThumbnail>\n <fd-icon\n class=\"fd-list__icon\"\n *ngIf=\"icon.glyph\"\n [glyph]=\"icon.glyph\"\n [font]=\"icon.font\"\n [ariaLabel]=\"icon.ariaLabel\"\n [attr.alt]=\"icon.ariaLabel\"\n role=\"img\"\n >\n </fd-icon>\n <fd-avatar\n [size]=\"avatar.size\"\n [glyph]=\"avatar.glyph\"\n [zoomGlyph]=\"avatar.zoomGlyph\"\n *ngIf=\"avatar.label || avatar.image || avatar.glyph || avatar.zoomGlyph\"\n [label]=\"avatar.label\"\n [circle]=\"avatar.circle\"\n [placeholder]=\"avatar.placeholder\"\n [tile]=\"avatar.tile\"\n [colorAccent]=\"avatar.colorAccent\"\n [image]=\"avatar.image\"\n [transparent]=\"avatar.transparent\"\n [random]=\"avatar.random\"\n [class]=\"avatar.class\"\n [ariaLabel]=\"avatar.ariaLabel\"\n [ariaLabelledby]=\"avatar.ariaLabelledby\"\n [contain]=\"avatar.contain\"\n [border]=\"avatar.border\"\n [alterIcon]=\"avatar.alterIcon\"\n [backupImage]=\"avatar.backupImage\"\n [clickable]=\"avatar.clickable\"\n [attr.alt]=\"avatar.ariaLabel\"\n role=\"img\"\n ></fd-avatar>\n </div>\n\n <div class=\"fd-list__content\">\n <div *ngIf=\"title\" fd-list-title [attr.aria-label]=\"title\" [attr.nowrap]=\"titleWrap\" [attr.title]=\"title\">\n {{ title }}\n </div>\n <div class=\"fd-list__byline fd-list__byline--2-col\">\n <ng-container *ngIf=\"description\">\n <ng-container\n [ngTemplateOutlet]=\"_isAdvancedText(description) ? advancedDescription : simpleDescription\"\n [ngTemplateOutletContext]=\"{ $implicit: description }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"secondary\">\n <ng-container\n [ngTemplateOutlet]=\"_isAdvancedText(secondary) ? advancedSecondary : simpleSecondary\"\n [ngTemplateOutletContext]=\"{ $implicit: secondary }\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"actionsTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #selectionTemplate>\n <div\n fd-form-item\n class=\"fd-list__form-item\"\n *ngIf=\"(selectionMode === 'multi' || selectionMode === 'single') && !rowSelection\"\n >\n <fd-checkbox\n *ngIf=\"selectionMode === 'multi'\"\n (click)=\"$event.stopPropagation()\"\n [(ngModel)]=\"_selected\"\n [ariaLabel]=\"ariaLabel\"\n tabIndexValue=\"-1\"\n (ngModelChange)=\"_onCheckboxModelChange()\"\n [attr.aria-selected]=\"_selected\"\n >\n </fd-checkbox>\n <fd-radio-button\n *ngIf=\"selectionMode === 'single'\"\n [value]=\"value\"\n [name]=\"name\"\n role=\"radio\"\n [(ngModel)]=\"selectionValue\"\n [attr.aria-selected]=\"_selected\"\n >\n </fd-radio-button>\n </div>\n</ng-template>\n<ng-template #actionsTemplate>\n <ng-content select=\"#secondaryAction\"></ng-content>\n <button\n fd-button\n #edit\n [attr.id]=\"'detail-' + id\"\n *ngIf=\"listType === 'detail'\"\n role=\"button\"\n fdType=\"transparent\"\n glyph=\"edit\"\n (click)=\"_onActionButtonClick('edit')\"\n [attr.aria-label]=\"'platformStandardListItem.detailsActionAriaLabel' | fdTranslate\"\n [attr.title]=\"'platformStandardListItem.detailsActionAriaLabel' | fdTranslate\"\n (keydown)=\"_onKeyButtonClick($event, 'edit')\"\n ></button>\n <button\n fd-button\n #delete\n [attr.id]=\"'delete-' + id\"\n *ngIf=\"selectionMode === 'delete'\"\n role=\"button\"\n [attr.aria-label]=\"'platformStandardListItem.deleteActionAriaLabel' | fdTranslate\"\n [attr.title]=\"'platformStandardListItem.deleteActionAriaLabel' | fdTranslate\"\n fdType=\"transparent\"\n glyph=\"decline\"\n (click)=\"_onActionButtonClick('delete')\"\n (keydown)=\"_onKeyButtonClick($event, 'delete')\"\n ></button>\n</ng-template>\n\n<ng-template #simpleDescription let-description>\n <span\n class=\"fd-list__byline-left\"\n [attr.aria-label]=\"description\"\n [attr.title]=\"description\"\n [attr.nowrap]=\"titleWrap\"\n >\n {{ description }}\n </span>\n</ng-template>\n<ng-template #advancedDescription let-description>\n <span\n class=\"fd-list__byline-left\"\n [attr.aria-label]=\"description.ariaLabel ?? description.text\"\n [attr.title]=\"description.title ?? description.text\"\n [attr.nowrap]=\"titleWrap\"\n >\n {{ description.text }}\n </span>\n</ng-template>\n\n<ng-template #simpleSecondary let-secondary>\n <span\n *ngIf=\"!inverted\"\n [attr.aria-label]=\"secondary\"\n class=\"fd-list__byline-right\"\n [class]=\"statusType ? 'fd-list__byline-right--' + statusType : ''\"\n [attr.title]=\"secondary\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary }}\n </span>\n <span\n class=\"fd-list__byline-right\"\n *ngIf=\"inverted\"\n [attr.aria-label]=\"secondary\"\n [attr.title]=\"secondary\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n <fdp-object-status [status]=\"statusType\" [inverted]=\"inverted\" [label]=\"secondary\"></fdp-object-status>\n </span>\n</ng-template>\n<ng-template #advancedSecondary let-secondary>\n <span\n *ngIf=\"!inverted\"\n [attr.aria-label]=\"secondary.ariaLabel ?? secondary.text\"\n class=\"fd-list__byline-right\"\n [class]=\"statusType ? 'fd-list__byline-right--' + statusType : ''\"\n [attr.title]=\"secondary.title ?? secondary.text\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary.text }}\n </span>\n <span\n class=\"fd-list__byline-right\"\n *ngIf=\"inverted\"\n [attr.aria-label]=\"secondary.ariaLabel ?? secondary.text\"\n [attr.title]=\"secondary.title ?? secondary.text\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n <fdp-object-status [status]=\"statusType\" [inverted]=\"inverted\" [label]=\"secondary.text\"></fdp-object-status>\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { StandardListItemComponent } from './standard-list-item.component';\n\n@NgModule({\n imports: [StandardListItemComponent, ContentDensityModule],\n exports: [StandardListItemComponent, ContentDensityModule]\n})\nexport class StandardListItemModule {}\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\nimport { ActionListItemModule } from './action-list-item/action-list-item.module';\nimport { ListItemDef } from './base-list-item';\nimport { DisplayListItemModule } from './display-list-item/display-list-item.module';\nimport { FreeContentListItemComponent } from './free-content-list-item/free-content-list-item.component';\nimport { ListFooterComponent } from './list-group-footer.component';\nimport { ListGroupHeaderComponent } from './list-group-header.component';\nimport { ListComponent } from './list.component';\nimport { LoadMoreContentDirective } from './load-more-content.directive';\nimport { ObjectListItemModule } from './object-list-item/object-list-item.module';\nimport { StandardListItemModule } from './standard-list-item/standard-list-item.module';\n\nconst components = [\n ListComponent,\n ListFooterComponent,\n ListGroupHeaderComponent,\n ListItemDef,\n ContentDensityModule,\n StandardListItemModule,\n ObjectListItemModule,\n DisplayListItemModule,\n ActionListItemModule,\n FreeContentListItemComponent,\n LoadMoreContentDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class PlatformListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.ListConfig","CoreListComponent","i1"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-platform-list.mjs","sources":["../../../../libs/platform/src/lib/list/fdpListComponent.token.ts","../../../../libs/platform/src/lib/list/list.config.ts","../../../../libs/platform/src/lib/list/base-list-item.ts","../../../../libs/platform/src/lib/list/action-list-item/action-list-item.component.ts","../../../../libs/platform/src/lib/list/action-list-item/action-list-item.component.html","../../../../libs/platform/src/lib/list/action-list-item/action-list-item.module.ts","../../../../libs/platform/src/lib/list/display-list-item/display-list-item.component.ts","../../../../libs/platform/src/lib/list/display-list-item/display-list-item.component.html","../../../../libs/platform/src/lib/list/display-list-item/display-list-item.module.ts","../../../../libs/platform/src/lib/list/free-content-list-item/free-content-list-item.component.ts","../../../../libs/platform/src/lib/list/free-content-list-item/free-content-list-item.component.html","../../../../libs/platform/src/lib/list/list-group-footer.component.ts","../../../../libs/platform/src/lib/list/list-group-header.component.ts","../../../../libs/platform/src/lib/list/load-more-content.directive.ts","../../../../libs/platform/src/lib/list/list.component.ts","../../../../libs/platform/src/lib/list/list.component.html","../../../../libs/platform/src/lib/list/object-list-item/object-list-item-row.component.ts","../../../../libs/platform/src/lib/list/object-list-item/object-list-item.component.ts","../../../../libs/platform/src/lib/list/object-list-item/object-list-item.component.html","../../../../libs/platform/src/lib/list/object-list-item/object-list-item.module.ts","../../../../libs/platform/src/lib/list/standard-list-item/standard-list-item.component.ts","../../../../libs/platform/src/lib/list/standard-list-item/standard-list-item.component.html","../../../../libs/platform/src/lib/list/standard-list-item/standard-list-item.module.ts","../../../../libs/platform/src/lib/list/list.module.ts","../../../../libs/platform/src/lib/list/fundamental-ngx-platform-list.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FdpListComponent = new InjectionToken('List Component');\n","import { Injectable } from '@angular/core';\n\nimport { ContentDensity } from '@fundamental-ngx/cdk/utils';\nimport { DataProvider } from '@fundamental-ngx/platform/shared';\n\n/**\n * Default options for platform List\n */\n@Injectable({ providedIn: 'root' })\nexport class ListConfig {\n /**\n * Content Density of element. 'cozy' | 'compact'\n */\n contentDensity: ContentDensity = 'cozy';\n\n /**\n * Maps data providers\n */\n providers: Map<string, DataProvider<any>> | null = new Map();\n\n /**\n * Create Provider factory function\n */\n static createProviderFactory(obj: Partial<ListConfig>): () => ListConfig {\n const useFactory = (): ListConfig => Object.assign(new ListConfig(), obj);\n return useFactory;\n }\n}\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n inject\n} from '@angular/core';\n\nimport { ColorAccent, KeyUtil, Nullable, Size } from '@fundamental-ngx/cdk/utils';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { FD_LIST_UNREAD_INDICATOR, ListUnreadIndicator } from '@fundamental-ngx/core/list';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { BaseComponent, isPresent } from '@fundamental-ngx/platform/shared';\nimport { merge } from 'lodash-es';\nimport { FdpListComponent } from './fdpListComponent.token';\nimport { ListConfig } from './list.config';\nimport { FdpList, ListType, SelectionType } from './models/list';\n\nexport const IS_ACTIVE_CLASS = 'is-active';\nlet nextListItemId = 0;\nexport type StatusType = 'negative' | 'critical' | 'positive' | 'informative';\n\nexport class ListIconConfig {\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 glyph: IconComponent['glyph'];\n /** user's custom classes */\n class: IconComponent['class'] = '';\n /**\n * The icon font\n * Options include: 'SAP-icons', 'BusinessSuiteInAppSymbols' and 'SAP-icons-TNT'\n */\n font: IconComponent['font'] = 'SAP-icons';\n /** Aria-label for Icon. */\n ariaLabel: IconComponent['ariaLabel'];\n}\n\nexport class ListAvatarConfig {\n /** @hidden */\n class = '';\n /** @hidden */\n ariaLabel: Nullable<string> = null;\n /** @hidden */\n ariaLabelledby: Nullable<string> = null;\n /** @hidden */\n label: Nullable<string> = null;\n /** @hidden */\n size: Size = 's';\n /** @hidden */\n glyph: Nullable<string> = null;\n /** @hidden */\n zoomGlyph: Nullable<string> = null;\n /** @hidden */\n circle = false;\n /** @hidden */\n transparent = false;\n /** @hidden */\n contain = false;\n /** @hidden */\n placeholder = false;\n /** @hidden */\n tile = false;\n /** @hidden */\n border = false;\n /** @hidden */\n colorAccent: Nullable<ColorAccent> = null;\n /** @hidden */\n random = false;\n /** @hidden */\n clickable = false;\n /** @hidden */\n image: Nullable<string> = null;\n /** @hidden */\n alterIcon: Nullable<string> = null;\n /** @hidden */\n backupImage: Nullable<string> = null;\n}\n\n/**\n * Base interface for a list variant definition.\n * Captures a list item template definition.\n */\nexport interface ItemDef {\n templateRef: TemplateRef<any>;\n}\n\nexport interface ListAdvancedDescription {\n text: string;\n ariaLabel?: string;\n title?: string;\n}\n\nexport type ListDescription = string | ListAdvancedDescription;\n\nexport class ModifyItemEvent {\n /** List Item component */\n source: BaseListItem;\n /** Action */\n action: 'delete' | 'edit';\n}\n\n@Directive({\n selector: '[fdpItemDef]',\n standalone: true\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class ListItemDef implements ItemDef {\n /** @hidden */\n constructor(/** @docs-private */ public templateRef: TemplateRef<any>) {}\n}\n\n/**\n * This class contains common properties used across list Item components.\n * this can be extended to reduce the code duplication across list Item components.\n */\n@Directive()\nexport class BaseListItem extends BaseComponent implements OnInit, AfterViewInit, AfterViewChecked, OnDestroy {\n /** define label for screen reader */\n @Input()\n ariaLabelledBy: string;\n\n /** define level of item for screen reader */\n @Input()\n ariaLevel: number;\n\n /** define position of item for screen reader */\n @Input()\n ariaPosinet: number;\n\n /** Avatar component properties. @see AvatarComponent for more details */\n @Input()\n set avatar(value: Nullable<Partial<ListAvatarConfig> | string>) {\n if (!value) {\n return;\n }\n value = typeof value === 'string' ? { image: value } : value;\n this._avatarConfig = merge(new ListAvatarConfig(), value);\n }\n\n get avatar(): ListAvatarConfig {\n return this._avatarConfig;\n }\n\n /** attribute to hold counter value */\n @Input()\n counter?: string;\n\n /** Description of the title */\n @Input()\n description: Nullable<ListDescription>;\n\n /** To invert the status of secondary text */\n @Input()\n inverted = false;\n\n /** Whether there is no data inside list item */\n @Input()\n noDataText: string;\n\n /**\n * The type of the secondary text.fd-list__byline-right--*\n * Can be one of *positive*, *negative*, *informative*, *critical*, *neutral\n */\n @Input()\n statusType?: StatusType;\n\n /** attribute to hold secondary text*/\n @Input()\n secondary: Nullable<ListDescription>;\n\n /**\n * Enabling this flag causes forcing secondary item directive to not wrap text,\n * instead of wrapping there will be text truncation\n */\n @Input()\n secondaryWrap?: boolean;\n\n /** Tooltip text to show when focused for more than timeout value*/\n @Input()\n title?: string;\n\n /** Used for placeing navigation Link */\n @Input()\n link: Nullable<string>;\n\n /**\n * Enabling this flag causes forcing title directive to not wrap text,\n * instead of wrapping there will be text truncation\n */\n @Input()\n titleWrap?: boolean;\n\n /**\n * List item icon configuration.\n */\n @Input()\n set icon(value: Partial<ListIconConfig>) {\n this._iconConfig = merge(new ListIconConfig(), value);\n }\n\n get icon(): ListIconConfig {\n return this._iconConfig;\n }\n\n /**\n * sets the list item in bold text\n * which respresents unread data\n */\n @Input()\n unRead: boolean;\n\n /**\n * Whether to display unread notification circle.\n */\n get displayUnreadNotification(): boolean {\n return !!this._list?.unreadIndicator;\n }\n\n /** radio button value */\n @Input()\n value: string;\n\n /** By default selection mode is 'none' */\n @Input()\n selectionMode: SelectionType = 'none';\n\n /** By default selection mode is 'active' */\n @Input()\n listType: ListType = 'active';\n\n /**\n * Whether Navigation mode is included to list component\n * for all the items\n */\n @Input()\n navigated = false;\n\n /**\n * Whether Navigation mode is included to list component\n * only a subset of the list items are navigable\n * you should indicate those by displaying a navigation arrow\n */\n @Input()\n navigationIndicator = false;\n\n /** role */\n @Input()\n role = 'option';\n\n /**\n * event emitter for selected item\n * seprate PR for custom event\n */\n @Output()\n itemSelected = new EventEmitter<ModifyItemEvent>();\n\n /**\n * Event emitted for selected item through the checkbox.\n */\n @Output()\n itemCheckboxSelected = new EventEmitter<ModifyItemEvent>();\n\n /** Event sent when delete, details or any other action buttons are clicked */\n @Output()\n buttonClicked = new EventEmitter<ModifyItemEvent>();\n\n /** @hidden */\n @ViewChild('listItem', { read: ElementRef })\n listItem: ElementRef<HTMLLIElement>;\n\n /** Access child element, for checking link content*/\n @ViewChild('linkElement', { read: ElementRef })\n anchor: ElementRef<HTMLLinkElement>;\n\n /** Access edit button*/\n @ViewChild('edit', { read: ElementRef })\n edit: ElementRef<HTMLButtonElement>;\n\n /** Access delete button*/\n @ViewChild('delete', { read: ElementRef })\n delete: ElementRef<HTMLButtonElement>;\n\n /** @hidden */\n @ViewChild(CheckboxComponent)\n checkboxComponent: CheckboxComponent;\n\n /** @hidden */\n @ViewChild(RadioButtonComponent)\n radioButtonComponent: RadioButtonComponent;\n\n /**\n * @hidden\n * Whether By line mode is included to list component, by which\n * list item will accomdate the data in 2 column\n */\n _hasByLine = false;\n\n /**\n * @hidden\n * Whether listitem has row level selection enabled\n */\n rowSelection: boolean;\n\n /**\n * @hidden\n * Whether listitem is selected binded to template\n */\n _selected = false;\n\n /**\n * @hidden\n * get the focused element for key manager\n */\n _focused: boolean;\n\n /** @hidden */\n private _listComponent = inject<FdpList>(FdpListComponent);\n\n /** @hidden */\n private _avatarConfig: ListAvatarConfig = new ListAvatarConfig();\n\n /** @hidden */\n private _iconConfig: ListIconConfig = new ListIconConfig();\n\n /** @hidden */\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n public itemEl: ElementRef<HTMLElement>,\n protected _listConfig: ListConfig,\n @Optional() @Inject(FD_LIST_UNREAD_INDICATOR) private readonly _list: ListUnreadIndicator\n ) {\n super(_changeDetectorRef);\n }\n\n /**\n * @hidden\n * radio button selected value binded to template\n */\n private _selectionValue: Nullable<string>;\n\n /** Selection value */\n @Input()\n set selectionValue(value: Nullable<string>) {\n this._selected = false;\n this._selectionValue = value;\n if (this._selectionValue !== undefined && this.selectionValue !== null) {\n this._selected = this.value === this._selectionValue;\n }\n }\n get selectionValue(): Nullable<string> {\n return this._selectionValue;\n }\n\n /**\n * @hidden\n * Show navigation for single list\n */\n ngOnInit(): void {\n this.id = `fdp-list-item-${nextListItemId++}`;\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.itemSelected.complete();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listComponent._setupListItem(this);\n }\n\n /**\n * @hidden\n * To detect changes from parent-listbox to list item\n * for example single, multi option selection those details\n * will be deducted in list item\n */\n ngAfterViewChecked(): void {\n const currentItem: Nullable<HTMLLIElement> = this.itemEl.nativeElement.querySelector('li');\n if (!currentItem) {\n return;\n }\n\n currentItem.setAttribute('role', 'option');\n const parentNode = currentItem.parentNode instanceof HTMLElement && currentItem.parentNode;\n if (parentNode) {\n parentNode.removeAttribute('title');\n parentNode.removeAttribute('aria-label');\n }\n\n if (this.rowSelection || this.selectionMode === 'multi' || this.selectionMode === 'single') {\n currentItem.setAttribute('aria-selected', `${!!this._selected}`);\n }\n\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * @hidden\n * Created focus on list item on mouseclick,\n * Up,down arrow press\n */\n focus(): void {\n this.listItem.nativeElement.focus();\n }\n\n /**\n * Programmatically set selected state of the list item.\n * @param selected Whether the list item is selected\n */\n setSelected(selected: boolean): void {\n if (selected === this._selected) {\n return;\n }\n const event = new ModifyItemEvent();\n event.source = this;\n this._selected = selected;\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * @hidden\n * On item click event will be emitted\n */\n @HostListener('click')\n _onItemClick(): void {\n if (this.rowSelection && this.selectionMode === 'multi') {\n this._selected = !this._selected;\n }\n\n const event = new ModifyItemEvent();\n event.source = this;\n this._focused = !this._focused;\n this.itemSelected.emit(event);\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n _handleKeyboardEvent(event: KeyboardEvent): void {\n if (!KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n return;\n }\n\n if (this.checkboxComponent || this.radioButtonComponent) {\n this._onKeyboardClick(event);\n }\n\n this.anchor?.nativeElement.click();\n\n if (this.rowSelection) {\n this._selected = !this._selected;\n }\n\n const $event = new ModifyItemEvent();\n $event.source = this;\n this.itemSelected.emit($event);\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * @hidden\n * Handler for mouse events\n */\n @HostListener('click', ['$event'])\n _onClick(event: MouseEvent): void {\n if (this.checkboxComponent && !this.anchor) {\n if (!this.checkboxComponent.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.checkboxComponent.nextValue();\n }\n\n this.radioButtonComponent?.valueChange(event);\n }\n\n this._changeDetectorRef.markForCheck();\n const $event = new ModifyItemEvent();\n $event.source = this;\n this.itemSelected.emit($event);\n }\n\n /**\n * @hidden\n * helps to avoid multi rows active class with navigation\n */\n @HostListener('focusout', ['$event'])\n _onBlur(event: KeyboardEvent): void {\n if (isPresent(this.anchor) && !KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.anchor.nativeElement.classList.remove(IS_ACTIVE_CLASS);\n }\n }\n\n /**\n * @hidden\n * on keydown append active styles on actionable item\n */\n _onKeyDown(event: KeyboardEvent): void {\n if (isPresent(this.anchor) && KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.anchor.nativeElement.classList.add(IS_ACTIVE_CLASS);\n }\n }\n\n /**\n * @hidden\n * on keyup remove active styles from actionable item\n */\n _onKeyUp(event: KeyboardEvent): void {\n if (isPresent(this.anchor) && KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.anchor.nativeElement.classList.remove(IS_ACTIVE_CLASS);\n }\n }\n\n /** @hidden */\n _onCheckboxModelChange(): void {\n const event = new ModifyItemEvent();\n event.source = this;\n this.itemCheckboxSelected.emit(event);\n }\n\n /**\n * @hidden\n * Handles action button click\n */\n _onActionButtonClick(action: 'delete' | 'edit'): void {\n const event = new ModifyItemEvent();\n event.source = this;\n event.action = action;\n this.buttonClicked.emit(event);\n }\n\n /**\n * @hidden\n * Handles action button click on key press\n */\n _onKeyButtonClick(event: KeyboardEvent, action: 'delete' | 'edit'): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this._onActionButtonClick(action);\n }\n }\n\n /** @hidden */\n _isAdvancedText(text: ListDescription): text is ListAdvancedDescription {\n return typeof text !== 'string' && !!text.text;\n }\n\n /** @hidden */\n private _onKeyboardClick(event: KeyboardEvent): void {\n this.checkboxComponent?.nextValue();\n this.radioButtonComponent?.valueChange(event);\n\n this._changeDetectorRef.markForCheck();\n const $event = new ModifyItemEvent();\n $event.source = this;\n this.itemSelected.emit($event);\n }\n}\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Output,\n ViewChild,\n forwardRef\n} from '@angular/core';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\n\nimport { ListItemComponent } from '@fundamental-ngx/core/list';\nimport { BaseListItem, IS_ACTIVE_CLASS } from '../base-list-item';\n\nexport class ActionChangeEvent {\n /** Action List Item component */\n source: ActionListItemComponent;\n}\n\n@Component({\n selector: 'fdp-action-list-item',\n templateUrl: './action-list-item.component.html',\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => ActionListItemComponent) }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ListItemComponent]\n})\nexport class ActionListItemComponent extends BaseListItem {\n /** Access button element*/\n @ViewChild('action', { read: ElementRef })\n button: ElementRef<HTMLButtonElement>;\n\n /** Event sent when action in clicked */\n @Output()\n actionClicked = new EventEmitter<ActionChangeEvent>();\n\n /**\n * @hidden\n * Handles action click\n */\n _onActionClick(): void {\n const event = new ActionChangeEvent();\n event.source = this;\n this.actionClicked.emit(event);\n }\n\n /**\n * @hidden\n * on keydown append active styles on actionable item\n */\n _onKeyDown(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.button.nativeElement.classList.add(IS_ACTIVE_CLASS);\n }\n }\n\n /**\n * @hidden\n * on keyup remove active styles from actionable item\n */\n _onKeyUp(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this.button.nativeElement.classList.remove(IS_ACTIVE_CLASS);\n this._onActionClick();\n }\n }\n}\n","<li\n #listItem\n fd-list-item\n class=\"fd-list__item--action\"\n [attr.id]=\"id\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n>\n <button #action class=\"fd-list__title\" [attr.aria-label]=\"title\" [attr.title]=\"title\" (click)=\"_onActionClick()\">\n {{ title }}\n </button>\n</li>\n","import { NgModule } from '@angular/core';\n\nimport { ActionListItemComponent } from './action-list-item.component';\n\n@NgModule({\n imports: [ActionListItemComponent],\n exports: [ActionListItemComponent]\n})\nexport class ActionListItemModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\n\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport {\n ListItemComponent,\n ListLinkDirective,\n ListSecondaryDirective,\n ListTitleDirective\n} from '@fundamental-ngx/core/list';\nimport { BaseListItem } from '../base-list-item';\n\n@Component({\n selector: 'fdp-display-list-item',\n templateUrl: './display-list-item.component.html',\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => DisplayListItemComponent) }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n ListItemComponent,\n ListLinkDirective,\n RouterLink,\n NgTemplateOutlet,\n ListTitleDirective,\n NgClass,\n ListSecondaryDirective\n ]\n})\nexport class DisplayListItemComponent extends BaseListItem {}\n","<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n >\n <a\n #linkElement\n fd-list-link\n [routerLink]=\"link\"\n [navigationIndicator]=\"navigationIndicator\"\n [navigated]=\"navigated\"\n >\n <ng-container *ngTemplateOutlet=\"commonTemplate\"></ng-container>\n </a>\n </li>\n</ng-container>\n\n<!-- list item without navigation and used for simple list display-->\n<ng-container *ngIf=\"!navigationIndicator && !navigated && !(noDataText !== null && noDataText !== undefined)\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n (keydown)=\"_onKeyDown($event)\"\n [tabindex]=\"-1\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"commonTemplate\"></ng-container>\n </li>\n</ng-container>\n\n<ng-template #commonTemplate>\n <span *ngIf=\"title\" fd-list-title [attr.aria-label]=\"title\" [attr.nowrap]=\"titleWrap\" [attr.title]=\"title\">{{\n title\n }}</span>\n <ng-container *ngIf=\"secondary\">\n <ng-container\n [ngTemplateOutlet]=\"_isAdvancedText(secondary) ? advancedSecondary : simpleSecondary\"\n [ngTemplateOutletContext]=\"{ $implicit: secondary }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #simpleSecondary let-secondary>\n <span fd-list-secondary [attr.aria-label]=\"secondary\" [attr.title]=\"secondary\" [attr.nowrap]=\"secondaryWrap\">\n {{ secondary }}\n </span>\n</ng-template>\n<ng-template #advancedSecondary let-secondary>\n <span\n fd-list-secondary\n [attr.aria-label]=\"secondary.ariaLabel ?? secondary.text\"\n [attr.title]=\"secondary.title ?? secondary.text\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary.text }}\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { DisplayListItemComponent } from './display-list-item.component';\n\n@NgModule({\n imports: [DisplayListItemComponent],\n exports: [DisplayListItemComponent]\n})\nexport class DisplayListItemModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { ListItemComponent } from '@fundamental-ngx/core/list';\nimport { BaseListItem } from '../base-list-item';\n\n@Component({\n selector: 'fdp-free-content-list-item',\n templateUrl: './free-content-list-item.component.html',\n styleUrls: ['./free-content-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => FreeContentListItemComponent) }],\n standalone: true,\n imports: [ListItemComponent]\n})\nexport class FreeContentListItemComponent extends BaseListItem {}\n","<li\n #listItem\n [class.fd-list__item--unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (click)=\"_onItemClick()\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n>\n <ng-content></ng-content>\n</li>\n","import { Component } from '@angular/core';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\n\n@Component({\n selector: 'fdp-list-footer',\n template: `<li #listFooter class=\"fd-list__footer\" [attr.id]=\"id\" role=\"option\"><ng-content></ng-content></li>`,\n standalone: true\n})\nexport class ListFooterComponent extends BaseComponent {}\n","import { Component, forwardRef, Input, OnInit } from '@angular/core';\nimport { ListGroupHeaderDirective, ListTitleDirective } from '@fundamental-ngx/core/list';\nimport { BaseListItem } from './base-list-item';\n\nlet nextListGrpHeaderId = 0;\n\n@Component({\n selector: 'fdp-list-group-header',\n template: ` <li #listItem fd-list-group-header [attr.id]=\"id\" role=\"option\" [tabindex]=\"0\">\n <span fd-list-title>{{ groupHeaderTitle }}</span>\n <ng-content></ng-content>\n </li>`,\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => ListGroupHeaderComponent) }],\n standalone: true,\n imports: [ListGroupHeaderDirective, ListTitleDirective]\n})\nexport class ListGroupHeaderComponent extends BaseListItem implements OnInit {\n /** Displays list group header title */\n @Input()\n groupHeaderTitle?: string;\n\n /**\n * @hidden\n * Initialization of the list header component\n */\n ngOnInit(): void {\n this.id = `fdp-list-${nextListGrpHeaderId++}`;\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Directive({\n selector: '[fdpListLoadMoreContent]',\n standalone: true\n})\nexport class LoadMoreContentDirective {\n /** @hidden */\n constructor(readonly templateRef: TemplateRef<LoadMoreContentContext>) {}\n}\n\ninterface _LoadMoreContentContext {\n loadTitle: string;\n loading: boolean;\n loadingLabel: Observable<string>;\n lastChunk: {\n start: number;\n end: number;\n };\n total: number;\n}\n\nexport interface LoadMoreContentContext extends _LoadMoreContentContext {\n $implicit: _LoadMoreContentContext;\n}\n","import { FocusKeyManager, LiveAnnouncer } from '@angular/cdk/a11y';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { DOWN_ARROW, ENTER, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Host,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Self,\n SkipSelf,\n ViewChild,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport { ControlContainer, NgControl, NgForm } from '@angular/forms';\nimport { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';\nimport {\n BehaviorSubject,\n Observable,\n Subject,\n Subscription,\n asyncScheduler,\n filter,\n firstValueFrom,\n isObservable,\n map,\n observeOn,\n of,\n startWith,\n switchMap\n} from 'rxjs';\nimport { delay, takeUntil, tap } from 'rxjs/operators';\n\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { KeyUtil, Nullable, RepeatDirective } from '@fundamental-ngx/cdk/utils';\nimport { BusyIndicatorComponent } from '@fundamental-ngx/core/busy-indicator';\nimport { InfiniteScrollDirective } from '@fundamental-ngx/core/infinite-scroll';\nimport {\n ListComponent as CoreListComponent,\n FD_LIST_UNREAD_INDICATOR,\n ListItemComponent,\n ListUnreadIndicator\n} from '@fundamental-ngx/core/list';\nimport { SkeletonComponent } from '@fundamental-ngx/core/skeleton';\nimport { FD_LANGUAGE, FdLanguage, FdTranslatePipe, TranslationResolver } from '@fundamental-ngx/i18n';\nimport {\n ArrayListDataSource,\n CollectionBaseInput,\n ListDataSource,\n ObservableListDataSource,\n PlatformFormField,\n PlatformFormFieldControl,\n isBlank,\n isDataSource,\n isPresent\n} from '@fundamental-ngx/platform/shared';\nimport { BaseListItem, ListItemDef } from './base-list-item';\nimport { FdpListComponent } from './fdpListComponent.token';\nimport { ListConfig } from './list.config';\nimport { LoadMoreContentContext, LoadMoreContentDirective } from './load-more-content.directive';\nimport { FdpList, FdpListDataSource, ListType, SelectionType } from './models/list';\n\nexport class SelectionChangeEvent {\n /** Selected items */\n selectedItems: BaseListItem[];\n /** Index */\n index: number;\n}\n\nlet nextListId = 0;\n\n/**\n * The List component represents a container for list item types.\n * It is used to display a list features.\n */\n@Component({\n selector: 'fdp-list',\n templateUrl: './list.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: FD_FORM_FIELD_CONTROL, useExisting: ListComponent, multi: true },\n { provide: FdpListComponent, useExisting: ListComponent },\n {\n provide: FD_LIST_UNREAD_INDICATOR,\n useExisting: ListComponent\n }\n ],\n host: {\n '[attr.tabindex]': '-1'\n },\n standalone: true,\n imports: [\n CoreListComponent,\n NgIf,\n BusyIndicatorComponent,\n InfiniteScrollDirective,\n ListItemComponent,\n NgTemplateOutlet,\n NgFor,\n RepeatDirective,\n SkeletonComponent,\n FdTranslatePipe\n ]\n})\nexport class ListComponent<T>\n extends CollectionBaseInput\n implements ListUnreadIndicator, OnInit, AfterViewInit, OnDestroy, FdpList<BaseListItem>\n{\n /** An array that holds a list of all selected items. **/\n @Input()\n selectedItems: BaseListItem[];\n\n /** define size of items for screen reader. */\n @Input()\n ariaSetsize: number;\n\n /** Defines whether items are multiselectable for screen reader. */\n @Input()\n ariaMultiselectable: boolean;\n\n /** Title used on button when data loads on button click. */\n @Input()\n loadTitle: string;\n\n /** Label used on announce message of data was loaded for screen readers. */\n @Input()\n loadingLabel = '';\n\n /** Wait time for new items. */\n @Input()\n delayTime: number;\n\n /** Items to be loaded at once. Intinity (no limit) by default. */\n @Input()\n itemSize = Infinity;\n\n /** Enables lazy loadMore of data. */\n @Input()\n loadMore: boolean;\n\n /**\n * Enables data load on scroll for true\n * false: enables data loading on button click.\n */\n @Input()\n loadOnScroll: boolean;\n\n /** define the role to custom requirement. */\n @Input()\n role = 'list';\n\n /** ListType 'inactive' | 'active' | 'navigation' | 'detail' */\n @Input()\n listType: ListType = 'active';\n\n /** Max height for viewport to display scroll. */\n @Input()\n maxHeight: string;\n\n /** Whether list component has removed borders. */\n @Input()\n noBorder = false;\n\n /** Scroll offset percentage to trigger scroll event. */\n @Input()\n scrollOffsetPercentage: number;\n\n /** Eenables selection styles. */\n @Input()\n selection = false;\n\n /**\n * The type of the selection. Types include:\n * 'none'| 'multi' | 'single'|'delete'.\n * Leave empty for default ().'\n * Default value is set to 'none'.\n */\n @Input()\n selectionMode: SelectionType = 'none';\n\n /** setter and getter for radio button and checkbox. */\n @Input()\n set value(value: any) {\n super.setValue(value);\n }\n\n get value(): any {\n return super.getValue();\n }\n\n /** setter and getter for row level Selection. */\n @Input()\n set rowSelection(value: boolean) {\n this._rowSelection = value;\n if (this._rowSelection) {\n this.selection = true;\n this._ulElement?.classList.add('fd-list--selection-row');\n if (this.navigated && this.hasObject) {\n this._ulElement?.classList.remove('fd-list--selection-row');\n }\n }\n }\n\n get rowSelection(): boolean {\n return this._rowSelection;\n }\n\n /** Datasource for suggestion list. */\n @Input()\n set dataSource(value: FdpListDataSource<T>) {\n if (value) {\n this._initializeDS(value);\n }\n }\n\n get dataSource(): FdpListDataSource<T> {\n return this._dataSource;\n }\n\n /** setter and getter for _navigated. */\n @Input()\n set navigated(value: boolean) {\n this._navigated = value;\n\n const classList = ['fd-list--navigation'];\n if (this.hasObject) {\n classList.push('fd-list--navigation-object');\n }\n\n this._ulElement?.classList.add(...classList);\n }\n\n get navigated(): boolean {\n return this._navigated;\n }\n\n /** setter and getter for _navigationIndicator. */\n @Input()\n set navigationIndicator(value: boolean) {\n this._navigationIndicator = value;\n this._ulElement?.classList.add('fd-list--navigation-indication');\n }\n\n get navigationIndicator(): boolean {\n return this._navigationIndicator;\n }\n\n /** setter and getter for hasByLine. */\n @Input()\n set hasByLine(value: boolean) {\n this._hasByLine = value;\n this._ulElement?.classList.add('fd-list--byline');\n }\n\n get hasByLine(): boolean {\n return this._hasByLine;\n }\n\n /** setter and getter for hasObject. */\n @Input()\n set hasObject(value: boolean) {\n this._hasObject = value;\n this._ulElement?.classList.add('fd-object-list');\n }\n\n get hasObject(): boolean {\n return this._hasObject;\n }\n\n /** Whether to display unread notification indicator. */\n @Input()\n unreadIndicator = false;\n\n /** Whether to intercept tab key navigation. */\n @Input()\n interceptTabKey = true;\n\n /** Event thrown, when selected item is changed */\n @Output()\n selectedItemChange: EventEmitter<SelectionChangeEvent> = new EventEmitter<SelectionChangeEvent>();\n\n /** Access child element, for checking link content */\n @ViewChild('link', { read: ElementRef })\n anchor: ElementRef<HTMLLinkElement>;\n\n /** @hidden */\n @ContentChild(forwardRef(() => ListItemDef))\n listItemDef: ListItemDef;\n\n /** Load More List item content */\n @ContentChild(LoadMoreContentDirective)\n loadMoreContent: LoadMoreContentDirective;\n\n /** Child items of the List. */\n @ContentChildren(forwardRef(() => BaseListItem), { descendants: true })\n listItems: QueryList<BaseListItem>;\n\n /** @hidden */\n get _ulElement(): Nullable<HTMLUListElement> {\n return this.elementRef.nativeElement.querySelector('ul');\n }\n\n /**\n * @hidden\n * To display loading symbol\n */\n _loading = false;\n\n /** @hidden\n * To differentiate between first loading when skeletons be shown and subsequent loadings when busy indicator be shown\n */\n _firstLoadingDone = false;\n\n /**\n * @hidden\n * keyManger to handle keybord events used in template\n */\n _keyManager: Nullable<FocusKeyManager<BaseListItem>>;\n\n /** @hidden */\n _items: T[] = [];\n\n /** @hidden */\n _destroyed = new Subject<void>();\n\n /** @hidden */\n protected _dataSource: FdpListDataSource<T>;\n\n /** @hidden */\n private _translationResolver = new TranslationResolver();\n\n /**\n * @hidden\n * Whether Navigation mode is included to list component\n * for all the items\n */\n private _navigated: boolean;\n\n /**\n * @hidden\n * Whether By line is present in list item\n */\n private _hasByLine: boolean;\n\n /**\n * @hidden\n * Whether Navigation mode is included to list component\n * only a subset of the list items are navigable\n * you should indicate those by displaying a navigation arrow\n */\n private _navigationIndicator: boolean;\n\n /**\n * @hidden\n * Whether object present in list item\n */\n private _hasObject: boolean;\n\n /**\n * @hidden\n * Verfies partial navigation enabled\n */\n protected _partialNavigation = false;\n\n /**\n * @hidden\n * The model backing of the component.\n */\n private _selectionModel: SelectionModel<BaseListItem>;\n\n /**\n * @hidden\n * Whether list component has multiselection\n * binding in tempate to append class\n */\n private _multiSelect = false;\n\n /** @hidden */\n private _selectedvalue: Nullable<string>;\n\n /**\n * @hidden\n * Whether row level selection mode is enabled to list component\n * for all the items\n */\n private _rowSelection: boolean;\n\n /** @hidden To store */\n private _tempItems: T[] = [];\n\n /** @hidden */\n private _startIndex = 0;\n\n /** @hidden */\n private _lastIndex = this.itemSize;\n\n /** @hidden */\n private _dsItems: T[] = [];\n\n /**\n * @hidden\n * for data source handling\n */\n private _dsSubscription: Nullable<Subscription>;\n\n /** @hidden */\n private _language: FdLanguage;\n\n /** @hidden */\n private _afterViewInit$ = new BehaviorSubject(false);\n\n /** @hidden */\n constructor(\n protected _changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef,\n private _liveAnnouncer: LiveAnnouncer,\n @Inject(FD_LANGUAGE) private readonly _language$: Observable<FdLanguage>,\n @Optional() @Self() public ngControl: NgControl,\n @Optional() @Self() public controlContainer: ControlContainer,\n @Optional() @Self() public ngForm: NgForm,\n @Optional() @SkipSelf() @Host() @Inject(FD_FORM_FIELD) formField: PlatformFormField,\n @Optional() @SkipSelf() @Host() @Inject(FD_FORM_FIELD_CONTROL) formControl: PlatformFormFieldControl,\n protected _listConfig?: ListConfig\n ) {\n super(_changeDetectorRef, elementRef, ngControl, controlContainer, ngForm, formField, formControl);\n this._init();\n }\n\n /** @hidden */\n private async _init(): Promise<void> {\n this._language = await firstValueFrom(this._language$);\n }\n\n /** Get context for load more button */\n getLoadMoreContentContext(): LoadMoreContentContext {\n const $implicit = {\n loadTitle: this.loadTitle,\n loading: this._loading,\n loadingLabel: (() => {\n if (this._loading) {\n return this._language$.pipe(\n map((language) => this._translationResolver.resolve(language, 'platformList.loadingAriaLabel'))\n );\n }\n return of(this.loadingLabel);\n })(),\n lastChunk: {\n start: this._startIndex,\n end: this._lastIndex\n },\n total: this._dsItems.length\n };\n return {\n $implicit,\n ...$implicit\n };\n }\n\n /**\n * @hidden\n * Initialization of the lis component with selection mode\n */\n ngOnInit(): void {\n this._setItems();\n\n this.stateChanges.next(this._items);\n this.id = `fdp-list-${nextListId++}`;\n\n // using selection Model for multiselect\n if (this.selectionMode === 'multi') {\n this._multiSelect = true;\n this.ariaMultiselectable = true;\n } else {\n this._multiSelect = false;\n }\n\n this._selectionModel = new SelectionModel<BaseListItem>(this._multiSelect, this.selectedItems);\n\n this._selectionModel.changed.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this.selectedItems = this._selectionModel.selected;\n const event = new SelectionChangeEvent();\n event.selectedItems = this.selectedItems;\n this.stateChanges.next(event);\n this.selectedItemChange.emit(event);\n });\n }\n\n /**\n * @hidden\n * Keyboard manager on list items, set values when passed via array\n */\n ngAfterViewInit(): void {\n this._afterViewInit$.next(true);\n this._keyManager = new FocusKeyManager<BaseListItem>(this.listItems).withWrap();\n\n this._subscriptions.add(\n this.listItems.changes\n .pipe(startWith(this.listItems), observeOn(asyncScheduler))\n .subscribe(() => this._updateListItems())\n );\n\n const indicator = this.elementRef.nativeElement.querySelector('fd-busy-indicator');\n indicator?.setAttribute('aria-label', '');\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.ngOnDestroy();\n\n if (isDataSource(this.dataSource)) {\n this.dataSource.close();\n }\n\n this._dsSubscription?.unsubscribe();\n\n this._keyManager?.destroy();\n }\n\n /**\n * @hidden\n * handline keyboard operations\n * in template on list and list items\n */\n _handleKeyDown(event: KeyboardEvent): Nullable<boolean> {\n if (!this._keyManager) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, TAB) && !this.interceptTabKey) {\n return;\n }\n\n event.stopImmediatePropagation();\n\n const activeItemIndex: Nullable<number> = this._keyManager.activeItemIndex;\n\n if (activeItemIndex) {\n this._setCurrentActiveItemIndex(activeItemIndex);\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW) || KeyUtil.isKeyCode(event, UP_ARROW)) {\n return false;\n } else if (KeyUtil.isKeyCode(event, ENTER) || KeyUtil.isKeyCode(event, SPACE)) {\n this._updateNavigation(event);\n return false;\n }\n }\n\n /** @hidden */\n _setCurrentActiveItemIndex(activeItemIndex: number): void {\n this._keyManager?.setActiveItem(activeItemIndex);\n }\n\n /**\n * @hidden\n * binded in template on scroll\n */\n _scrollHandler(): void {\n if (!this._loading && this.loadOnScroll) {\n this._getMoreData();\n }\n }\n\n /**\n * @hidden\n * load more on enter or space press\n */\n _loadOnKeyPress(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n this._getMoreData();\n }\n }\n\n /**\n * @hidden\n * Handles lazy loading data\n * used in template\n * onscroll and on more button click\n */\n _getMoreData(): void {\n this._loading = true;\n of(this._loadNewItems())\n .pipe(\n tap(async (data) => {\n if (isBlank(data)) {\n console.error('===Invalid Response received===');\n }\n this.loadingLabel = this._translationResolver.resolve(\n this._language,\n 'platformList.loadingAriaLabel'\n );\n await this._liveAnnouncer.announce(this.loadingLabel, 'assertive');\n }),\n delay(this.delayTime),\n takeUntil(this._destroyed)\n )\n .subscribe((result) => {\n if (isPresent(result)) {\n for (let i = this._items.length, j = 0; j < result.length; ++i, ++j) {\n this._items[i] = result[j];\n }\n }\n this._loading = false;\n this.stateChanges.next(this._items);\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * @hidden\n * used in tempate to get Selected items from a list\n * event:any to avoid code duplication\n */\n _onSelectionChanged(event: Event): void {\n this._updateNavigation(event);\n }\n\n /**\n * @hidden\n * on Update navgiation styles for non navigated items\n * event:any to avoid code duplication\n * seprate PR for custom event\n */\n @HostListener('click', ['$event'])\n _updateNavigation(event: Event): void {\n let selectedItemId: Nullable<string> = '0';\n const element: Nullable<HTMLElement> = event.target instanceof HTMLElement ? event.target : null;\n const parent = element?.closest('.fd-list__item');\n if (isPresent(parent)) {\n selectedItemId = parent?.getAttribute('id');\n }\n\n this.listItems.forEach((item, index) => {\n item.anchor?.nativeElement.classList.remove('is-navigated');\n\n if (item._focused) {\n this._keyManager?.updateActiveItem(index);\n }\n });\n\n const el = event.target instanceof HTMLElement && event.target;\n if (!el) {\n return;\n }\n\n const linkElement = el.querySelector('a');\n if (el.tagName.toLowerCase() === 'a') {\n el.classList.add('is-navigated');\n } else if (el.tagName.toLowerCase() === 'li' && !!linkElement) {\n linkElement.classList.add('is-navigated');\n }\n\n // TODO: selection management should be completely changed https://github.com/SAP/fundamental-ngx/issues/8008\n if (this.rowSelection) {\n this._handleRowSelect(selectedItemId);\n } else if (this.selectionMode === 'single') {\n this._handleSingleSelect(event, selectedItemId);\n } else if (this.selectionMode === 'multi') {\n this._handleMultiSelect(selectedItemId);\n }\n }\n\n /** @hidden */\n _selectItem(item: BaseListItem): void {\n this._selectionModel.select(item);\n this.stateChanges.next(item);\n }\n\n /** @hidden */\n private _setItems(): void {\n if (this._dsItems.length !== null && this.itemSize !== 0) {\n this._startIndex = 0;\n this._lastIndex = this.itemSize;\n this._items = this._dsItems.slice(this._startIndex, this._lastIndex);\n } else {\n this._items = this._dsItems;\n }\n\n this.stateChanges.next(this._items);\n }\n\n /** @hidden */\n private _initializeDS(ds: FdpListDataSource<T>): void {\n this._dsItems = [];\n if (isDataSource(this.dataSource)) {\n this.dataSource.close();\n if (this._dsSubscription) {\n this._dsSubscription.unsubscribe();\n this._dsSubscription = null;\n }\n }\n // Convert ListDataSource<T> | Observable<T[]> | T[] as DataSource\n this._dataSource = this._openDataStream(ds);\n }\n\n /** @hidden */\n private _toDataStream(source: FdpListDataSource<T>): ListDataSource<T> | undefined {\n if (isDataSource(source)) {\n return <ListDataSource<T>>source;\n }\n\n if (Array.isArray(source)) {\n // default implementation to work on top of arrays\n return new ArrayListDataSource<T>(source);\n }\n\n if (isObservable(source)) {\n return new ObservableListDataSource<T>(source);\n }\n\n return undefined;\n }\n\n /** @hidden */\n private _openDataStream(ds: FdpListDataSource<T>): ListDataSource<T> {\n const initDataSource = this._toDataStream(ds);\n if (initDataSource === undefined) {\n throw new Error(`[dataSource] source did not match an array, Observable, or DataSource`);\n }\n\n /**\n * This is single point of data entry to the component. We dont want to set data on different\n * places. If any new data comes in either you do a search and you want to pass initial data\n * its here.\n */\n this._dsSubscription = initDataSource\n .open()\n .pipe(\n // Set new items when component is fully initiated and all child components are available.\n this._waitForViewInit(),\n takeUntil(this._destroyed)\n )\n .subscribe((data) => {\n this._dsItems = data || [];\n this.stateChanges.next(this._dsItems);\n this._setItems();\n // Trigger change detection when queue is empty.\n setTimeout(() => {\n this._cd.detectChanges();\n });\n });\n\n this._dsSubscription.add(initDataSource.onDataRequested().subscribe(() => (this._loading = true)));\n\n this._dsSubscription.add(\n initDataSource.onDataReceived().subscribe(() => {\n this._loading = false;\n this._firstLoadingDone = true;\n })\n );\n\n const matchParams = new Map();\n\n matchParams.set('query', '*');\n matchParams.set('limit', this.itemSize);\n\n // initial data fetch\n initDataSource.match(matchParams);\n\n return initDataSource;\n }\n\n /** @hidden */\n private _loadNewItems(): T[] {\n this._startIndex = this._startIndex + this.itemSize;\n this._lastIndex = this._lastIndex + this.itemSize;\n this._tempItems = this._dsItems.slice(this._startIndex, this._lastIndex);\n\n return this._tempItems;\n }\n\n /**\n * @hidden\n * List item with radio button styles, check, uncheckupdates\n * event:any to avoid code duplication\n */\n private _handleSingleSelect(event: Event, selectedItemId: Nullable<string>): void {\n const parent = event.target instanceof HTMLElement && event.target.closest('.fd-list__item');\n const radio = parent ? parent.querySelector('input') : null;\n this._selectedvalue = radio ? (<HTMLInputElement>radio).value : null;\n\n this.listItems.forEach((item) => {\n if (isPresent(item.radioButtonComponent)) {\n item._selected = false;\n item.listItem.nativeElement.setAttribute('aria-checked', 'false');\n }\n\n this.stateChanges.next(item);\n });\n\n this._selectionModel.clear();\n\n this.listItems.forEach((item) => {\n item.selectionValue = this._selectedvalue;\n const { nativeElement } = item.listItem;\n if (nativeElement.getAttribute('id') === selectedItemId) {\n nativeElement.setAttribute('_selected', 'true');\n nativeElement.setAttribute('aria-checked', 'true');\n\n this._selectItem(item);\n }\n });\n }\n\n /** @hidden */\n private _handleRowSelect(selectedItemId: Nullable<string>): void {\n // handles mutli select on row level without checkbox\n if (this.selectionMode === 'multi') {\n this.listItems.forEach((item) => {\n if (item._selected) {\n this._selectionModel.select(item);\n } else {\n this._selectionModel.deselect(item);\n }\n\n this.stateChanges.next(item);\n });\n }\n\n // handles single select on row level without radiobutton\n if (this.selectionMode === 'single') {\n this.listItems.forEach((item) => {\n if (!item.anchor) {\n return;\n }\n\n const { nativeElement } = item.listItem;\n nativeElement.setAttribute('_selected', 'false');\n nativeElement.setAttribute('aria-selected', 'false');\n nativeElement.classList.remove('is-selected');\n item.anchor.nativeElement.classList.remove('is-selected');\n this.stateChanges.next(item);\n });\n\n this._selectionModel.clear();\n\n this.listItems.forEach((item) => {\n const { nativeElement } = item.listItem;\n if (nativeElement.getAttribute('id') !== selectedItemId) {\n return;\n }\n\n nativeElement.setAttribute('_selected', 'true');\n item.anchor?.nativeElement.classList.add('is-selected');\n\n this._selectItem(item);\n });\n\n selectedItemId = '0';\n }\n }\n\n /**\n * @hidden\n * List item with checkbox styles,check,uncheckupdates\n * event:any to avoid code duplication\n */\n private _handleMultiSelect(selectedItemId: Nullable<string>): void {\n this.listItems.forEach((item) => {\n const { nativeElement } = item.listItem;\n if (nativeElement.getAttribute('id') !== selectedItemId) {\n return;\n }\n\n const select = nativeElement.getAttribute('_selected');\n nativeElement.setAttribute('_selected', `${!select}`);\n if (item._selected) {\n nativeElement.setAttribute('aria-selected', 'true');\n this._selectionModel.select(item);\n } else {\n nativeElement.setAttribute('aria-selected', 'false');\n this._selectionModel.deselect(item);\n }\n\n this.stateChanges.next(item);\n });\n }\n\n /** @hidden */\n _setupListItem(item: BaseListItem): void {\n item.selectionMode = this.selectionMode;\n item.rowSelection = this.rowSelection;\n item._hasByLine = this.hasByLine;\n item.itemSelected.subscribe(() => {\n this._keyManager?.setActiveItem(this.listItems.toArray().indexOf(item));\n });\n\n this.stateChanges.next(item);\n }\n\n /**\n * @hidden\n * Setting values from list to list items\n * example:\n * Does list item has navigation,\n * should show arrows,\n * will it be compact mode,\n * should be in which selection mode\n * set values when passed via datasource\n */\n private _updateListItems(): void {\n if (this.listItems.length !== 0) {\n this.listItems.first.listItem.nativeElement.setAttribute('tabindex', '0');\n }\n\n if (!this.ariaLabel) {\n this.ariaSetsize = this.listItems.length;\n }\n\n this._partialNavigation = this.listItems.some((item) => item.navigationIndicator || item.listType === 'detail');\n\n this.listItems.forEach((item, index) => {\n if (!this._partialNavigation) {\n item.navigated = this.navigated;\n item.navigationIndicator = this.navigationIndicator;\n item.listType = this.listType;\n }\n\n item.ariaPosinet = index;\n });\n\n this._cd.markForCheck();\n }\n\n /** @hidden */\n private _waitForViewInit<SourceDataType>() {\n return (source: Observable<SourceDataType>): Observable<SourceDataType> =>\n source.pipe(\n switchMap((src) =>\n this._afterViewInit$.pipe(\n filter((afterViewInit) => afterViewInit),\n map(() => src)\n )\n )\n );\n }\n}\n","<ng-content select=\"fd-toolbar\"></ng-content>\n<ul\n fd-list\n [attr.id]=\"id\"\n [noBorder]=\"noBorder\"\n [selection]=\"selection\"\n [byline]=\"hasByLine\"\n [class.fd-list--navigation]=\"navigated || navigationIndicator\"\n [navigationIndicator]=\"navigationIndicator\"\n [style.outline]=\"'none'\"\n (keydown)=\"_keyManager?.onKeydown($event); _handleKeyDown($event)\"\n (change)=\"_onSelectionChanged($event)\"\n [attr.aria-setsize]=\"ariaSetsize\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-multiselectable]=\"ariaMultiselectable\"\n [role]=\"role\"\n [unreadIndicator]=\"unreadIndicator\"\n>\n <ng-container *ngIf=\"loadMore && loadOnScroll\">\n <fd-busy-indicator\n size=\"l\"\n class=\"fd-busy-indicator-custom fd-list__item--growing\"\n [block]=\"true\"\n [loading]=\"_loading && _firstLoadingDone\"\n role=\"alert\"\n [attr.aria-busy]=\"_loading\"\n [attr.aria-label]=\"_loading ? ('platformList.loadingAriaLabel' | fdTranslate) : null\"\n >\n <div\n fd-list\n fdInfiniteScroll\n class=\"fd-list__infinite-scroll\"\n [style.max-height]=\"maxHeight\"\n (onScrollAction)=\"_scrollHandler()\"\n [scrollPercent]=\"scrollOffsetPercentage\"\n [role]=\"role\"\n >\n <ng-container *ngIf=\"_items.length !== 0; then thenBlock; else elseBlock\"></ng-container>\n </div>\n </fd-busy-indicator>\n </ng-container>\n <ng-container *ngIf=\"!loadOnScroll\">\n <ng-template *ngIf=\"_items.length !== 0; then thenBlock; else elseBlock\"> </ng-template>\n <li\n #listItem\n *ngIf=\"loadMore && !loadOnScroll && _firstLoadingDone\"\n (click)=\"_getMoreData()\"\n fd-list-item\n (keydown)=\"_loadOnKeyPress($event)\"\n [class.fd-list__item--custom-content]=\"loadMoreContent\"\n class=\"fd-list__item fd-list__item--growing fd-list__item--action\"\n [tabindex]=\"0\"\n role=\"button\"\n >\n <ng-template [ngTemplateOutlet]=\"loadMoreElementContent\"></ng-template>\n </li>\n </ng-container>\n <ng-template #loadMoreElementContent>\n <ng-container *ngIf=\"loadMoreContent; else defaultContent\">\n <div class=\"fd-list__title\">\n <ng-template\n [ngTemplateOutlet]=\"loadMoreContent.templateRef\"\n [ngTemplateOutletContext]=\"getLoadMoreContentContext()\"\n >\n </ng-template>\n </div>\n </ng-container>\n <ng-template #defaultContent>\n <button class=\"fd-list__title\">\n <fd-busy-indicator\n size=\"m\"\n class=\"fd-busy-indicator-custom\"\n [block]=\"true\"\n [loading]=\"_loading\"\n role=\"alert\"\n [attr.aria-label]=\"_loading ? ('platformList.loadingAriaLabel' | fdTranslate) : loadTitle\"\n >\n </fd-busy-indicator>\n {{ loadTitle }}\n <ng-content select=\"#load\"></ng-content>\n </button>\n </ng-template>\n </ng-template>\n</ul>\n\n<ng-template #thenBlock>\n <ng-container *ngFor=\"let item of _items; let i = index\">\n <ng-container *ngTemplateOutlet=\"listItemDef.templateRef; context: { $implicit: item }\"> </ng-container>\n </ng-container>\n</ng-template>\n<ng-template #elseBlock>\n <ng-container *ngIf=\"!listItems.length && !_firstLoadingDone\">\n <ng-container *ngIf=\"!hasByLine; else bylineLoading\">\n <li fd-list-item *fdkRepeat=\"3\">\n <fd-skeleton [style.margin]=\"'auto 0'\" type=\"text\" textLines=\"1\" width=\"40%\"></fd-skeleton>\n </li>\n </ng-container>\n <ng-template #bylineLoading>\n <li fd-list-item *fdkRepeat=\"3\">\n <fd-skeleton width=\"100%\" height=\"48px\" [style.margin]=\"'auto 0'\">\n <svg:rect x=\"0\" y=\"0\" width=\"48\" height=\"48\" rx=\"4\" />\n <svg:rect x=\"60\" y=\"0\" width=\"40%\" height=\"12\" rx=\"4\" />\n <svg:rect x=\"60\" y=\"20\" width=\"30%\" height=\"8\" rx=\"4\" />\n </fd-skeleton>\n </li>\n </ng-template>\n </ng-container>\n <ng-content></ng-content>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { ObjectAttributeComponent } from '@fundamental-ngx/core/object-attribute';\n\n@Component({\n selector: 'fdp-object-list-item-row',\n template: ` <div class=\"fd-object-list__row\">\n <div class=\"fd-object-list__row-left\">\n <fd-object-attribute\n class=\"fd-object-list__object-attribute\"\n [islink]=\"islink\"\n [label]=\"attributeLabel\"\n [linkText]=\"linkedText\"\n >\n <ng-content select=\".attribute\"></ng-content>\n </fd-object-attribute>\n </div>\n <div class=\"fd-object-list__row-right\">\n <ng-content></ng-content>\n </div>\n </div>`,\n styleUrls: ['./object-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ObjectAttributeComponent]\n})\nexport class ObjectListItemRowComponent {\n /** object attribute label */\n @Input()\n attributeLabel: string;\n\n /** object attribute link text */\n @Input()\n linkedText: string;\n\n /** object attribute is a link */\n @Input()\n islink = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n Input,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ColorAccent } from '@fundamental-ngx/cdk/utils';\n\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { AvatarComponent } from '@fundamental-ngx/core/avatar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { FormItemComponent } from '@fundamental-ngx/core/form';\nimport { ListItemComponent, ListLinkDirective, ListTitleDirective } from '@fundamental-ngx/core/list';\nimport { ObjectIdentifierComponent } from '@fundamental-ngx/core/object-identifier';\nimport { ObjectNumberComponent } from '@fundamental-ngx/core/object-number';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { BaseListItem, StatusType } from '../base-list-item';\nimport { ObjectListItemRowComponent } from './object-list-item-row.component';\n\n@Component({\n selector: 'fdp-object-list-item',\n templateUrl: './object-list-item.component.html',\n styleUrls: ['./object-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => ObjectListItemComponent) }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n NgIf,\n ListItemComponent,\n NgTemplateOutlet,\n ListLinkDirective,\n RouterLink,\n ListTitleDirective,\n AvatarComponent,\n ObjectIdentifierComponent,\n ObjectNumberComponent,\n FormItemComponent,\n CheckboxComponent,\n FormsModule,\n RadioButtonComponent,\n ButtonComponent,\n FdTranslatePipe\n ]\n})\nexport class ObjectListItemComponent extends BaseListItem {\n /** define label for screen reader */\n @Input()\n introductionText: string;\n\n /** holds object number */\n @Input()\n amount: number;\n\n /** holds object number unit */\n @Input()\n currency: string;\n\n /** object number amount decimal limitation */\n @Input()\n decimal: number;\n\n /** object number status */\n @Input()\n numberStatus: StatusType;\n\n /** holds avatar label */\n @Input()\n label: string;\n\n /** holds avatar icon as image */\n @Input()\n glyph: string;\n\n /** Avatar to be circle or not */\n @Input()\n circle: boolean;\n\n /** Is avatar has placeholder */\n @Input()\n placeholder: boolean;\n\n /** Is avatar has tile */\n @Input()\n tile: boolean;\n\n /** Is avatar has colorAccent */\n @Input()\n colorAccent: ColorAccent;\n\n /** Avatar image path */\n @Input()\n image: string;\n\n /** Avatar is transparent */\n @Input()\n transparent: boolean;\n\n /** @hidden */\n @ContentChildren(ObjectListItemRowComponent)\n children: QueryList<ObjectListItemRowComponent>;\n}\n","<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (click)=\"_onItemClick()\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-object-list__item fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"selectionTemplate\"> </ng-container>\n <a\n #linkElement\n fd-list-link\n [routerLink]=\"link\"\n [attr.href]=\"link\"\n [attr.aria-label]=\"title\"\n [navigationIndicator]=\"navigationIndicator\"\n [navigated]=\"navigated\"\n tabindex=\"-1\"\n >\n <ng-container *ngTemplateOutlet=\"objectTemplate\"></ng-container>\n </a>\n </li>\n</ng-container>\n<!-- list item without navigation and used for simple list display-->\n<ng-container *ngIf=\"!navigationIndicator && !navigated && !(noDataText !== null && noDataText !== undefined)\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n (keydown)=\"_onKeyDown($event)\"\n [tabindex]=\"-1\"\n class=\"fd-object-list__item\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n (click)=\"_onItemClick()\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"selectionTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"objectTemplate\"></ng-container>\n </li>\n</ng-container>\n<ng-container *ngIf=\"noDataText !== null && noDataText !== undefined\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [tabindex]=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n class=\"fd-object-list__item\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n >\n <span fd-list-title [attr.aria-label]=\"noDataText\" [attr.title]=\"noDataText\">{{ noDataText }}</span>\n </li>\n</ng-container>\n<ng-template #objectTemplate>\n <div class=\"fd-object-list__container\">\n <!--Optional text-->\n <div class=\"fd-object-list__intro\" *ngIf=\"introductionText\">{{ introductionText }}</div>\n <!--header content-->\n <div class=\"fd-object-list__header\">\n <fd-avatar\n [size]=\"avatar.size\"\n [glyph]=\"avatar.glyph\"\n [zoomGlyph]=\"avatar.zoomGlyph\"\n *ngIf=\"avatar.label || avatar.image || avatar.glyph || avatar.zoomGlyph\"\n [label]=\"avatar.label\"\n [circle]=\"avatar.circle\"\n [placeholder]=\"avatar.placeholder\"\n [tile]=\"avatar.tile\"\n [colorAccent]=\"avatar.colorAccent\"\n [image]=\"avatar.image\"\n [transparent]=\"avatar.transparent\"\n [random]=\"avatar.random\"\n [class]=\"avatar.class\"\n [ariaLabel]=\"avatar.ariaLabel\"\n [ariaLabelledby]=\"avatar.ariaLabelledby\"\n [contain]=\"avatar.contain\"\n [border]=\"avatar.border\"\n [alterIcon]=\"avatar.alterIcon\"\n [backupImage]=\"avatar.backupImage\"\n [clickable]=\"avatar.clickable\"\n ></fd-avatar>\n <!--left side header content-->\n <div class=\"fd-object-list__header-left\">\n <fd-object-identifier class=\"fd-object-list__object-identifier\">{{ title }}</fd-object-identifier>\n </div>\n <!--right side header content-->\n <div class=\"fd-object-list__header-right\">\n <fd-object-number\n class=\"fd-object-list__object-number\"\n [number]=\"amount\"\n [unit]=\"currency\"\n [status]=\"numberStatus\"\n [decimal]=\"decimal\"\n >\n </fd-object-number>\n </div>\n </div>\n <!--body content-->\n <div class=\"fd-object-list__content\">\n <ng-content select=\"fdp-object-list-item-row\"></ng-content>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"actionsTemplate\"></ng-container>\n</ng-template>\n<ng-template #selectionTemplate>\n <div\n fd-form-item\n class=\"fd-list__form-item\"\n *ngIf=\"(selectionMode === 'multi' || selectionMode === 'single') && !rowSelection\"\n >\n <fd-checkbox *ngIf=\"selectionMode === 'multi'\" role=\"checkbox\" [(ngModel)]=\"_selected\" tabIndexValue=\"-1\">\n </fd-checkbox>\n <fd-radio-button\n *ngIf=\"selectionMode === 'single'\"\n [value]=\"value\"\n [name]=\"name\"\n role=\"radio\"\n [(ngModel)]=\"selectionValue\"\n >\n </fd-radio-button>\n </div>\n</ng-template>\n<ng-template #actionsTemplate>\n <ng-content select=\"#secondaryAction\"></ng-content>\n <button\n fd-button\n *ngIf=\"listType === 'detail'\"\n role=\"button\"\n fdType=\"transparent\"\n glyph=\"edit\"\n title=\"detail\"\n [attr.aria-label]=\"'platformObjectListItem.detailsActionAriaLabel' | fdTranslate\"\n (keydown)=\"_onKeyButtonClick($event, 'edit')\"\n (click)=\"_onActionButtonClick('edit')\"\n [attr.id]=\"'detail-' + id\"\n ></button>\n <button\n fd-button\n *ngIf=\"selectionMode === 'delete'\"\n role=\"button\"\n [attr.aria-label]=\"'platformObjectListItem.deleteActionAriaLabel' | fdTranslate\"\n title=\"delete\"\n fdType=\"transparent\"\n glyph=\"decline\"\n (keydown)=\"_onKeyButtonClick($event, 'delete')\"\n (click)=\"_onActionButtonClick('delete')\"\n [attr.id]=\"'delete-' + id\"\n ></button>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ObjectListItemRowComponent } from './object-list-item-row.component';\nimport { ObjectListItemComponent } from './object-list-item.component';\n\n@NgModule({\n imports: [ObjectListItemComponent, ObjectListItemRowComponent, ContentDensityModule],\n exports: [ObjectListItemComponent, ObjectListItemRowComponent, ContentDensityModule]\n})\nexport class ObjectListItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, forwardRef } from '@angular/core';\n\nimport { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterLink } from '@angular/router';\nimport { AvatarComponent } from '@fundamental-ngx/core/avatar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { FormItemComponent } from '@fundamental-ngx/core/form';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport {\n ListItemComponent,\n ListLinkDirective,\n ListSecondaryDirective,\n ListThumbnailDirective,\n ListTitleDirective\n} from '@fundamental-ngx/core/list';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ObjectStatusComponent } from '@fundamental-ngx/platform/object-status';\nimport { BaseListItem } from '../base-list-item';\n\n@Component({\n selector: 'fdp-standard-list-item',\n templateUrl: './standard-list-item.component.html',\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => StandardListItemComponent) }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [\n NgIf,\n ListItemComponent,\n NgTemplateOutlet,\n ListLinkDirective,\n RouterLink,\n ListTitleDirective,\n IconComponent,\n AvatarComponent,\n NgClass,\n ListSecondaryDirective,\n ListThumbnailDirective,\n FormItemComponent,\n CheckboxComponent,\n FormsModule,\n RadioButtonComponent,\n ButtonComponent,\n ObjectStatusComponent,\n FdTranslatePipe\n ]\n})\nexport class StandardListItemComponent extends BaseListItem {}\n","<!-- list item navigation with Arrow-->\n<ng-container *ngIf=\"navigationIndicator || (navigated && !(noDataText !== null && noDataText !== undefined))\">\n <li\n #listItem\n [unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n [tabindex]=\"-1\"\n (keydown)=\"_onKeyDown($event)\"\n (keyup)=\"_onKeyUp($event)\"\n class=\"fd-list__item--link\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"selectionTemplate\"> </ng-container>\n <a\n #linkElement\n fd-list-link\n [routerLink]=\"link\"\n [navigationIndicator]=\"navigationIndicator\"\n [navigated]=\"navigated\"\n >\n <ng-container *ngTemplateOutlet=\"_hasByLine ? byLineTemplate : commonTemplate\"></ng-container>\n </a>\n </li>\n</ng-container>\n\n<!-- list item without navigation and used for simple list display-->\n<ng-container *ngIf=\"!navigationIndicator && !navigated && !(noDataText !== null && noDataText !== undefined)\">\n <li\n #listItem\n [unread]=\"unRead\"\n fd-list-item\n [attr.id]=\"id\"\n [selected]=\"_selected\"\n (keydown)=\"_onKeyDown($event)\"\n [tabindex]=\"-1\"\n (keyup)=\"_onKeyUp($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [attr.role]=\"role\"\n >\n <ng-container *ngTemplateOutlet=\"selectionTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"_hasByLine ? byLineTemplate : commonTemplate\"></ng-container>\n </li>\n</ng-container>\n\n<ng-container *ngIf=\"noDataText !== null && noDataText !== undefined\">\n <li\n #listItem\n fd-list-item\n [attr.id]=\"id\"\n [tabindex]=\"0\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinet]=\"ariaPosinet\"\n >\n <span fd-list-title [attr.aria-label]=\"noDataText\" [attr.title]=\"noDataText\">{{ noDataText }}</span>\n </li>\n</ng-container>\n\n<ng-template #commonTemplate>\n <fd-icon\n class=\"fd-list__icon\"\n *ngIf=\"icon.glyph\"\n [glyph]=\"icon.glyph\"\n [font]=\"icon.font\"\n [ariaLabel]=\"icon.ariaLabel\"\n [attr.alt]=\"icon.ariaLabel\"\n role=\"img\"\n >\n </fd-icon>\n <fd-avatar\n [size]=\"avatar.size\"\n [glyph]=\"avatar.glyph\"\n [zoomGlyph]=\"avatar.zoomGlyph\"\n *ngIf=\"avatar.label || avatar.image || avatar.glyph || avatar.zoomGlyph\"\n [label]=\"avatar.label\"\n [circle]=\"avatar.circle\"\n [placeholder]=\"avatar.placeholder\"\n [tile]=\"avatar.tile\"\n [colorAccent]=\"avatar.colorAccent\"\n [image]=\"avatar.image\"\n [transparent]=\"avatar.transparent\"\n [random]=\"avatar.random\"\n [class]=\"'fd-list__icon ' + avatar.class\"\n [ariaLabel]=\"avatar.ariaLabel\"\n [ariaLabelledby]=\"avatar.ariaLabelledby\"\n [contain]=\"avatar.contain\"\n [border]=\"avatar.border\"\n [alterIcon]=\"avatar.alterIcon\"\n [backupImage]=\"avatar.backupImage\"\n [clickable]=\"avatar.clickable\"\n [attr.alt]=\"avatar.ariaLabel\"\n role=\"img\"\n ></fd-avatar>\n <span *ngIf=\"title\" fd-list-title [attr.aria-label]=\"ariaLabel\" [attr.nowrap]=\"titleWrap\" [attr.title]=\"title\">\n {{ title }}\n </span>\n <span\n fd-list-secondary\n [attr.aria-label]=\"secondary\"\n *ngIf=\"secondary !== null && secondary !== undefined\"\n [attr.title]=\"secondary\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary }}\n </span>\n <span\n fd-list-secondary\n class=\"fd-list__item-counter\"\n [attr.aria-label]=\"counter\"\n *ngIf=\"counter !== null && counter !== undefined\"\n [attr.title]=\"counter\"\n >\n {{ counter }}\n </span>\n <ng-container *ngTemplateOutlet=\"actionsTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #byLineTemplate>\n <div fdListThumbnail>\n <fd-icon\n class=\"fd-list__icon\"\n *ngIf=\"icon.glyph\"\n [glyph]=\"icon.glyph\"\n [font]=\"icon.font\"\n [ariaLabel]=\"icon.ariaLabel\"\n [attr.alt]=\"icon.ariaLabel\"\n role=\"img\"\n >\n </fd-icon>\n <fd-avatar\n [size]=\"avatar.size\"\n [glyph]=\"avatar.glyph\"\n [zoomGlyph]=\"avatar.zoomGlyph\"\n *ngIf=\"avatar.label || avatar.image || avatar.glyph || avatar.zoomGlyph\"\n [label]=\"avatar.label\"\n [circle]=\"avatar.circle\"\n [placeholder]=\"avatar.placeholder\"\n [tile]=\"avatar.tile\"\n [colorAccent]=\"avatar.colorAccent\"\n [image]=\"avatar.image\"\n [transparent]=\"avatar.transparent\"\n [random]=\"avatar.random\"\n [class]=\"avatar.class\"\n [ariaLabel]=\"avatar.ariaLabel\"\n [ariaLabelledby]=\"avatar.ariaLabelledby\"\n [contain]=\"avatar.contain\"\n [border]=\"avatar.border\"\n [alterIcon]=\"avatar.alterIcon\"\n [backupImage]=\"avatar.backupImage\"\n [clickable]=\"avatar.clickable\"\n [attr.alt]=\"avatar.ariaLabel\"\n role=\"img\"\n ></fd-avatar>\n </div>\n\n <div class=\"fd-list__content\">\n <div *ngIf=\"title\" fd-list-title [attr.aria-label]=\"title\" [attr.nowrap]=\"titleWrap\" [attr.title]=\"title\">\n {{ title }}\n </div>\n <div class=\"fd-list__byline fd-list__byline--2-col\">\n <ng-container *ngIf=\"description\">\n <ng-container\n [ngTemplateOutlet]=\"_isAdvancedText(description) ? advancedDescription : simpleDescription\"\n [ngTemplateOutletContext]=\"{ $implicit: description }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"secondary\">\n <ng-container\n [ngTemplateOutlet]=\"_isAdvancedText(secondary) ? advancedSecondary : simpleSecondary\"\n [ngTemplateOutletContext]=\"{ $implicit: secondary }\"\n ></ng-container>\n </ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"actionsTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #selectionTemplate>\n <div\n fd-form-item\n class=\"fd-list__form-item\"\n *ngIf=\"(selectionMode === 'multi' || selectionMode === 'single') && !rowSelection\"\n >\n <fd-checkbox\n *ngIf=\"selectionMode === 'multi'\"\n (click)=\"$event.stopPropagation()\"\n [(ngModel)]=\"_selected\"\n [ariaLabel]=\"ariaLabel\"\n tabIndexValue=\"-1\"\n (ngModelChange)=\"_onCheckboxModelChange()\"\n [attr.aria-selected]=\"_selected\"\n >\n </fd-checkbox>\n <fd-radio-button\n *ngIf=\"selectionMode === 'single'\"\n [value]=\"value\"\n [name]=\"name\"\n role=\"radio\"\n [(ngModel)]=\"selectionValue\"\n [attr.aria-selected]=\"_selected\"\n >\n </fd-radio-button>\n </div>\n</ng-template>\n<ng-template #actionsTemplate>\n <ng-content select=\"#secondaryAction\"></ng-content>\n <button\n fd-button\n #edit\n [attr.id]=\"'detail-' + id\"\n *ngIf=\"listType === 'detail'\"\n role=\"button\"\n fdType=\"transparent\"\n glyph=\"edit\"\n (click)=\"_onActionButtonClick('edit')\"\n [attr.aria-label]=\"'platformStandardListItem.detailsActionAriaLabel' | fdTranslate\"\n [attr.title]=\"'platformStandardListItem.detailsActionAriaLabel' | fdTranslate\"\n (keydown)=\"_onKeyButtonClick($event, 'edit')\"\n ></button>\n <button\n fd-button\n #delete\n [attr.id]=\"'delete-' + id\"\n *ngIf=\"selectionMode === 'delete'\"\n role=\"button\"\n [attr.aria-label]=\"'platformStandardListItem.deleteActionAriaLabel' | fdTranslate\"\n [attr.title]=\"'platformStandardListItem.deleteActionAriaLabel' | fdTranslate\"\n fdType=\"transparent\"\n glyph=\"decline\"\n (click)=\"_onActionButtonClick('delete')\"\n (keydown)=\"_onKeyButtonClick($event, 'delete')\"\n ></button>\n</ng-template>\n\n<ng-template #simpleDescription let-description>\n <span\n class=\"fd-list__byline-left\"\n [attr.aria-label]=\"description\"\n [attr.title]=\"description\"\n [attr.nowrap]=\"titleWrap\"\n >\n {{ description }}\n </span>\n</ng-template>\n<ng-template #advancedDescription let-description>\n <span\n class=\"fd-list__byline-left\"\n [attr.aria-label]=\"description.ariaLabel ?? description.text\"\n [attr.title]=\"description.title ?? description.text\"\n [attr.nowrap]=\"titleWrap\"\n >\n {{ description.text }}\n </span>\n</ng-template>\n\n<ng-template #simpleSecondary let-secondary>\n <span\n *ngIf=\"!inverted\"\n [attr.aria-label]=\"secondary\"\n class=\"fd-list__byline-right\"\n [class]=\"statusType ? 'fd-list__byline-right--' + statusType : ''\"\n [attr.title]=\"secondary\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary }}\n </span>\n <span\n class=\"fd-list__byline-right\"\n *ngIf=\"inverted\"\n [attr.aria-label]=\"secondary\"\n [attr.title]=\"secondary\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n <fdp-object-status [status]=\"statusType\" [inverted]=\"inverted\" [label]=\"secondary\"></fdp-object-status>\n </span>\n</ng-template>\n<ng-template #advancedSecondary let-secondary>\n <span\n *ngIf=\"!inverted\"\n [attr.aria-label]=\"secondary.ariaLabel ?? secondary.text\"\n class=\"fd-list__byline-right\"\n [class]=\"statusType ? 'fd-list__byline-right--' + statusType : ''\"\n [attr.title]=\"secondary.title ?? secondary.text\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n {{ secondary.text }}\n </span>\n <span\n class=\"fd-list__byline-right\"\n *ngIf=\"inverted\"\n [attr.aria-label]=\"secondary.ariaLabel ?? secondary.text\"\n [attr.title]=\"secondary.title ?? secondary.text\"\n [attr.nowrap]=\"secondaryWrap\"\n >\n <fdp-object-status [status]=\"statusType\" [inverted]=\"inverted\" [label]=\"secondary.text\"></fdp-object-status>\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { StandardListItemComponent } from './standard-list-item.component';\n\n@NgModule({\n imports: [StandardListItemComponent, ContentDensityModule],\n exports: [StandardListItemComponent, ContentDensityModule]\n})\nexport class StandardListItemModule {}\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\nimport { ActionListItemModule } from './action-list-item/action-list-item.module';\nimport { ListItemDef } from './base-list-item';\nimport { DisplayListItemModule } from './display-list-item/display-list-item.module';\nimport { FreeContentListItemComponent } from './free-content-list-item/free-content-list-item.component';\nimport { ListFooterComponent } from './list-group-footer.component';\nimport { ListGroupHeaderComponent } from './list-group-header.component';\nimport { ListComponent } from './list.component';\nimport { LoadMoreContentDirective } from './load-more-content.directive';\nimport { ObjectListItemModule } from './object-list-item/object-list-item.module';\nimport { StandardListItemModule } from './standard-list-item/standard-list-item.module';\n\nconst components = [\n ListComponent,\n ListFooterComponent,\n ListGroupHeaderComponent,\n ListItemDef,\n ContentDensityModule,\n StandardListItemModule,\n ObjectListItemModule,\n DisplayListItemModule,\n ActionListItemModule,\n FreeContentListItemComponent,\n LoadMoreContentDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class PlatformListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.ListConfig","CoreListComponent","i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEa,gBAAgB,GAAG,IAAI,cAAc,CAAC,gBAAgB;;ACGnE;;AAEG;MAEU,UAAU,CAAA;AADvB,IAAA,WAAA,GAAA;AAEI;;AAEG;QACH,IAAc,CAAA,cAAA,GAAmB,MAAM,CAAC;AAExC;;AAEG;AACH,QAAA,IAAA,CAAA,SAAS,GAA0C,IAAI,GAAG,EAAE,CAAC;AAShE,KAAA;AAPG;;AAEG;IACH,OAAO,qBAAqB,CAAC,GAAwB,EAAA;AACjD,QAAA,MAAM,UAAU,GAAG,MAAkB,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;AAC1E,QAAA,OAAO,UAAU,CAAC;KACrB;8GAjBQ,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAV,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cADG,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACuB3B,MAAM,eAAe,GAAG,YAAY;AAC3C,IAAI,cAAc,GAAG,CAAC,CAAC;MAGV,cAAc,CAAA;AAA3B,IAAA,WAAA,GAAA;;QAMI,IAAK,CAAA,KAAA,GAA2B,EAAE,CAAC;AACnC;;;AAGG;QACH,IAAI,CAAA,IAAA,GAA0B,WAAW,CAAC;KAG7C;AAAA,CAAA;MAEY,gBAAgB,CAAA;AAA7B,IAAA,WAAA,GAAA;;QAEI,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;QAEX,IAAS,CAAA,SAAA,GAAqB,IAAI,CAAC;;QAEnC,IAAc,CAAA,cAAA,GAAqB,IAAI,CAAC;;QAExC,IAAK,CAAA,KAAA,GAAqB,IAAI,CAAC;;QAE/B,IAAI,CAAA,IAAA,GAAS,GAAG,CAAC;;QAEjB,IAAK,CAAA,KAAA,GAAqB,IAAI,CAAC;;QAE/B,IAAS,CAAA,SAAA,GAAqB,IAAI,CAAC;;QAEnC,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAEf,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;QAEpB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAEhB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;QAEpB,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;;QAEb,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAEf,IAAW,CAAA,WAAA,GAA0B,IAAI,CAAC;;QAE1C,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAEf,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;QAElB,IAAK,CAAA,KAAA,GAAqB,IAAI,CAAC;;QAE/B,IAAS,CAAA,SAAA,GAAqB,IAAI,CAAC;;QAEnC,IAAW,CAAA,WAAA,GAAqB,IAAI,CAAC;KACxC;AAAA,CAAA;MAkBY,eAAe,CAAA;AAK3B,CAAA;AAMD;MACa,WAAW,CAAA;;IAEpB,WAAY,sBAA4B,WAA6B,EAAA;QAA7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;KAAI;8GAFhE,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;AAOD;;;AAGG;AAEG,MAAO,YAAa,SAAQ,aAAa,CAAA;;IAc3C,IACI,MAAM,CAAC,KAAmD,EAAA;QAC1D,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;AACV,SAAA;AACD,QAAA,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,gBAAgB,EAAE,EAAE,KAAK,CAAC,CAAC;KAC7D;AAED,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAmDD;;AAEG;IACH,IACI,IAAI,CAAC,KAA8B,EAAA;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,cAAc,EAAE,EAAE,KAAK,CAAC,CAAC;KACzD;AAED,IAAA,IAAI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;AASD;;AAEG;AACH,IAAA,IAAI,yBAAyB,GAAA;AACzB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC;KACxC;;AA6GD,IAAA,WAAA,CACc,kBAAqC,EACxC,MAA+B,EAC5B,WAAuB,EAC8B,KAA0B,EAAA;QAEzF,KAAK,CAAC,kBAAkB,CAAC,CAAC;QALhB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QACxC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAyB;QAC5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QAC8B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAqB;;QAhL7F,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAuEjB,IAAa,CAAA,aAAA,GAAkB,MAAM,CAAC;;QAItC,IAAQ,CAAA,QAAA,GAAa,QAAQ,CAAC;AAE9B;;;AAGG;QAEH,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAElB;;;;AAIG;QAEH,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;;QAI5B,IAAI,CAAA,IAAA,GAAG,QAAQ,CAAC;AAEhB;;;AAGG;AAEH,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAmB,CAAC;AAEnD;;AAEG;AAEH,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAmB,CAAC;;AAI3D,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAmB,CAAC;AA0BpD;;;;AAIG;QACH,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAQnB;;;AAGG;QACH,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;AASV,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAU,gBAAgB,CAAC,CAAC;;AAGnD,QAAA,IAAA,CAAA,aAAa,GAAqB,IAAI,gBAAgB,EAAE,CAAC;;AAGzD,QAAA,IAAA,CAAA,WAAW,GAAmB,IAAI,cAAc,EAAE,CAAC;KAU1D;;IASD,IACI,cAAc,CAAC,KAAuB,EAAA;AACtC,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YACpE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC;AACxD,SAAA;KACJ;AACD,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAED;;;AAGG;IACH,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,EAAE,GAAG,iBAAiB,cAAc,EAAE,EAAE,CAAC;KACjD;;IAGD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KAChC;;IAGD,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KAC5C;AAED;;;;;AAKG;IACH,kBAAkB,GAAA;AACd,QAAA,MAAM,WAAW,GAA4B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3F,IAAI,CAAC,WAAW,EAAE;YACd,OAAO;AACV,SAAA;AAED,QAAA,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,YAAY,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC;AAC3F,QAAA,IAAI,UAAU,EAAE;AACZ,YAAA,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACpC,YAAA,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AAC5C,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;AACxF,YAAA,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,CAAA,EAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC,CAAC;AACpE,SAAA;AAED,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;KAC3C;AAED;;;;AAIG;IACH,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACvC;AAED;;;AAGG;AACH,IAAA,WAAW,CAAC,QAAiB,EAAA;AACzB,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;YAC7B,OAAO;AACV,SAAA;AACD,QAAA,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;AACpC,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;KAC3C;AAED;;;AAGG;IAEH,YAAY,GAAA;QACR,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE;AACrD,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;AACpC,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC1C;;AAID,IAAA,oBAAoB,CAAC,KAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC3C,OAAO;AACV,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,oBAAoB,EAAE;AACrD,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,QAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KAC1C;AAED;;;AAGG;AAEH,IAAA,QAAQ,CAAC,KAAiB,EAAA;QACtB,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxC,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;;;AAGjF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;AACtC,aAAA;AAED,YAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACjD,SAAA;AAED,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACvC,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,QAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;AAED;;;AAGG;AAEH,IAAA,OAAO,CAAC,KAAoB,EAAA;QACxB,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YACrE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC/D,SAAA;KACJ;AAED;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC3B,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YACpE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC5D,SAAA;KACJ;AAED;;;AAGG;AACH,IAAA,QAAQ,CAAC,KAAoB,EAAA;AACzB,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YACpE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC/D,SAAA;KACJ;;IAGD,sBAAsB,GAAA;AAClB,QAAA,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;AACpC,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;AAED;;;AAGG;AACH,IAAA,oBAAoB,CAAC,MAAyB,EAAA;AAC1C,QAAA,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;AACpC,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,QAAA,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;AAED;;;AAGG;IACH,iBAAiB,CAAC,KAAoB,EAAE,MAAyB,EAAA;AAC7D,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACrC,SAAA;KACJ;;AAGD,IAAA,eAAe,CAAC,IAAqB,EAAA;QACjC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KAClD;;AAGO,IAAA,gBAAgB,CAAC,KAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAE9C,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACvC,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,QAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;AAxbQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,oGAqNG,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGArNvC,YAAY,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,8BAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAuJU,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIP,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIjB,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIR,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAI5B,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIjB,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FA3KtB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,SAAS;;0BAsND,QAAQ;;0BAAI,MAAM;2BAAC,wBAAwB,CAAA;4CAlNhD,cAAc,EAAA,CAAA;sBADb,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAKF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAeN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAKN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAQN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAQN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAQN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAOF,IAAI,EAAA,CAAA;sBADP,KAAK;gBAcN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAYN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAQN,SAAS,EAAA,CAAA;sBADR,KAAK;gBASN,mBAAmB,EAAA,CAAA;sBADlB,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAQN,YAAY,EAAA,CAAA;sBADX,MAAM;gBAOP,oBAAoB,EAAA,CAAA;sBADnB,MAAM;gBAKP,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAKP,QAAQ,EAAA,CAAA;sBADP,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAK3C,MAAM,EAAA,CAAA;sBADL,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAK9C,IAAI,EAAA,CAAA;sBADH,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAKvC,MAAM,EAAA,CAAA;sBADL,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAKzC,iBAAiB,EAAA,CAAA;sBADhB,SAAS;uBAAC,iBAAiB,CAAA;gBAK5B,oBAAoB,EAAA,CAAA;sBADnB,SAAS;uBAAC,oBAAoB,CAAA;gBAuD3B,cAAc,EAAA,CAAA;sBADjB,KAAK;gBAqFN,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,OAAO,CAAA;gBAerB,oBAAoB,EAAA,CAAA;sBADnB,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;gBA2BnC,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAuBjC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCre3B,iBAAiB,CAAA;AAG7B,CAAA;AAUK,MAAO,uBAAwB,SAAQ,YAAY,CAAA;AARzD,IAAA,WAAA,GAAA;;;AAeI,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAqB,CAAC;AAgCzD,KAAA;AA9BG;;;AAGG;IACH,cAAc,GAAA;AACV,QAAA,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACtC,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;AAED;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC3B,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC5D,SAAA;KACJ;AAED;;;AAGG;AACH,IAAA,QAAQ,CAAC,KAAoB,EAAA;AACzB,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;AACzB,SAAA;KACJ;8GAtCQ,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EALrB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC,EAAE,CAAC,uGAOjE,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/B3C,4fAiBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDUc,iBAAiB,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAElB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;+BACI,sBAAsB,EAAA,SAAA,EAErB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC,EAAA,eAAA,EAC7E,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,4fAAA,EAAA,CAAA;8BAK5B,MAAM,EAAA,CAAA;sBADL,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAKzC,aAAa,EAAA,CAAA;sBADZ,MAAM;;;ME3BE,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAApB,oBAAoB,EAAA,OAAA,EAAA,CAHnB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;AAExB,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,oBAAoB,YAHnB,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGxB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACrC,iBAAA,CAAA;;;ACsBK,MAAO,wBAAyB,SAAQ,YAAY,CAAA;8GAA7C,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAdtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC,EAAE,CAAC,ECfnG,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,2rFA4EA,EDzDQ,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FACJ,iBAAiB,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,iBAAiB,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,UAAU,EACV,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,6FAElB,sBAAsB,EAAA,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGjB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAjBpC,SAAS;+BACI,uBAAuB,EAAA,SAAA,EAEtB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,wBAAyB,CAAC,EAAE,CAAC,EAAA,eAAA,EAC9E,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACL,IAAI;wBACJ,iBAAiB;wBACjB,iBAAiB;wBACjB,UAAU;wBACV,gBAAgB;wBAChB,kBAAkB;wBAClB,OAAO;wBACP,sBAAsB;AACzB,qBAAA,EAAA,QAAA,EAAA,2rFAAA,EAAA,CAAA;;;MEnBQ,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAArB,qBAAqB,EAAA,OAAA,EAAA,CAHpB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEzB,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,qBAAqB,YAHpB,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGzB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACtC,iBAAA,CAAA;;;ACOK,MAAO,4BAA6B,SAAQ,YAAY,CAAA;8GAAjD,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,SAAA,EAJ1B,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVvG,olBAoBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRc,iBAAiB,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAElB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAGvB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAAkC,4BAAA,CAAC,EAAE,CAAC,EACvF,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,olBAAA,EAAA,CAAA;;;AEJ1B,MAAO,mBAAoB,SAAQ,aAAa,CAAA;8GAAzC,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,kGAHlB,CAAqG,mGAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGtG,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,CAAqG,mGAAA,CAAA;AAC/G,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;ACHD,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAYtB,MAAO,wBAAyB,SAAQ,YAAY,CAAA;AAKtD;;;AAGG;IACH,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,EAAE,GAAG,YAAY,mBAAmB,EAAE,EAAE,CAAC;KACjD;8GAXQ,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,sHAJtB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC,EAAE,CAAC,EAJrF,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;UAGJ,EAGI,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,2IAAE,kBAAkB,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE7C,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;AAGJ,SAAA,CAAA;AACN,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAA8B,wBAAA,CAAC,EAAE,CAAC;AAC/F,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;AAC1D,iBAAA,CAAA;8BAIG,gBAAgB,EAAA,CAAA;sBADf,KAAK;;;MCXG,wBAAwB,CAAA;;AAEjC,IAAA,WAAA,CAAqB,WAAgD,EAAA;QAAhD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqC;KAAI;8GAFhE,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;MCqEY,oBAAoB,CAAA;AAKhC,CAAA;AAED,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB;;;AAGG;AAgCG,MAAO,aACT,SAAQ,mBAAmB,CAAA;;IA4E3B,IACI,KAAK,CAAC,KAAU,EAAA;AAChB,QAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACzB;AAED,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KAC3B;;IAGD,IACI,YAAY,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACzD,YAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAC/D,aAAA;AACJ,SAAA;KACJ;AAED,IAAA,IAAI,YAAY,GAAA;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;;IAGD,IACI,UAAU,CAAC,KAA2B,EAAA;AACtC,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAA;KACJ;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;IAGD,IACI,SAAS,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAExB,QAAA,MAAM,SAAS,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAChD,SAAA;QAED,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;KAChD;AAED,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;IAGD,IACI,mBAAmB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;KACpE;AAED,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC;KACpC;;IAGD,IACI,SAAS,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;KACrD;AAED,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;IAGD,IACI,SAAS,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KACpD;AAED,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;AA+BD,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;KAC5D;;AAgHD,IAAA,WAAA,CACc,kBAAqC,EAC/C,UAAsB,EACd,cAA6B,EACC,UAAkC,EAC7C,SAAoB,EACpB,gBAAkC,EAClC,MAAc,EACc,SAA4B,EACpB,WAAqC,EAC1F,WAAwB,EAAA;AAElC,QAAA,KAAK,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAXzF,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QAEvC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;QACC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAwB;QAC7C,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACpB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAG/B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;;QAxStC,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;;QAQlB,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAAC;;QAepB,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;;QAId,IAAQ,CAAA,QAAA,GAAa,QAAQ,CAAC;;QAQ9B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAQjB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAElB;;;;;AAKG;QAEH,IAAa,CAAA,aAAA,GAAkB,MAAM,CAAC;;QA6FtC,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;;QAIxB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;;AAIvB,QAAA,IAAA,CAAA,kBAAkB,GAAuC,IAAI,YAAY,EAAwB,CAAC;AAuBlG;;;AAGG;QACH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAEjB;;AAEG;QACH,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;;QAS1B,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;;AAGjB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;;AAMzB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,mBAAmB,EAAE,CAAC;AA6BzD;;;AAGG;QACO,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AAQrC;;;;AAIG;QACK,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;;QAarB,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;;QAGrB,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;;AAGhB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;;QAG3B,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;;AAYnB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAgBjD,IAAI,CAAC,KAAK,EAAE,CAAC;KAChB;;AAGO,IAAA,MAAM,KAAK,GAAA;QACf,IAAI,CAAC,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC1D;;IAGD,yBAAyB,GAAA;AACrB,QAAA,MAAM,SAAS,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,YAAY,EAAE,CAAC,MAAK;gBAChB,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACvB,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC,CAClG,CAAC;AACL,iBAAA;AACD,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACjC,aAAC,GAAG;AACJ,YAAA,SAAS,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,WAAW;gBACvB,GAAG,EAAE,IAAI,CAAC,UAAU;AACvB,aAAA;AACD,YAAA,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;SAC9B,CAAC;QACF,OAAO;YACH,SAAS;AACT,YAAA,GAAG,SAAS;SACf,CAAC;KACL;AAED;;;AAGG;IACH,QAAQ,GAAA;QACJ,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,EAAE,GAAG,YAAY,UAAU,EAAE,EAAE,CAAC;;AAGrC,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE;AAChC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AACnC,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC7B,SAAA;AAED,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAe,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAE/F,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACzE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AACnD,YAAA,MAAM,KAAK,GAAG,IAAI,oBAAoB,EAAE,CAAC;AACzC,YAAA,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACzC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;KACN;AAED;;;AAGG;IACH,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAe,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEhF,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,IAAI,CAAC,SAAS,CAAC,OAAO;AACjB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;aAC1D,SAAS,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAChD,CAAC;AAEF,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;AACnF,QAAA,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;KAC7C;;IAGD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;AAEpB,QAAA,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC;AAEpC,QAAA,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;KAC/B;AAED;;;;AAIG;AACH,IAAA,cAAc,CAAC,KAAoB,EAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACxD,OAAO;AACV,SAAA;QAED,KAAK,CAAC,wBAAwB,EAAE,CAAC;AAEjC,QAAA,MAAM,eAAe,GAAqB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;AAE3E,QAAA,IAAI,eAAe,EAAE;AACjB,YAAA,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;AACpD,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;AAC5E,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAAM,aAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAC3E,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC9B,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;KACJ;;AAGD,IAAA,0BAA0B,CAAC,eAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;KACpD;AAED;;;AAGG;IACH,cAAc,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;YACrC,IAAI,CAAC,YAAY,EAAE,CAAC;AACvB,SAAA;KACJ;AAED;;;AAGG;AACH,IAAA,eAAe,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;AACvB,SAAA;KACJ;AAED;;;;;AAKG;IACH,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACnB,aAAA,IAAI,CACD,GAAG,CAAC,OAAO,IAAI,KAAI;AACf,YAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACf,gBAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACpD,aAAA;AACD,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CACjD,IAAI,CAAC,SAAS,EACd,+BAA+B,CAClC,CAAC;AACF,YAAA,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACvE,SAAC,CAAC,EACF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EACrB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC7B;AACA,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AAClB,YAAA,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;gBACnB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;oBACjE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,iBAAA;AACJ,aAAA;AACD,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AAC3C,SAAC,CAAC,CAAC;KACV;AAED;;;;AAIG;AACH,IAAA,mBAAmB,CAAC,KAAY,EAAA;AAC5B,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;KACjC;AAED;;;;;AAKG;AAEH,IAAA,iBAAiB,CAAC,KAAY,EAAA;QAC1B,IAAI,cAAc,GAAqB,GAAG,CAAC;AAC3C,QAAA,MAAM,OAAO,GAA0B,KAAK,CAAC,MAAM,YAAY,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACjG,MAAM,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAClD,QAAA,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;AACnB,YAAA,cAAc,GAAG,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;AAC/C,SAAA;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;YACnC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAE5D,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,gBAAA,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC7C,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,YAAY,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,EAAE,EAAE;YACL,OAAO;AACV,SAAA;QAED,MAAM,WAAW,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;AAClC,YAAA,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACpC,SAAA;AAAM,aAAA,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE;AAC3D,YAAA,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7C,SAAA;;QAGD,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;AACzC,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;AACxC,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACnD,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE;AACvC,YAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAC3C,SAAA;KACJ;;AAGD,IAAA,WAAW,CAAC,IAAkB,EAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;;IAGO,SAAS,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;AACtD,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;AAChC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACxE,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,SAAA;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvC;;AAGO,IAAA,aAAa,CAAC,EAAwB,EAAA;AAC1C,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,QAAA,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,gBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AACnC,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC/B,aAAA;AACJ,SAAA;;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;KAC/C;;AAGO,IAAA,aAAa,CAAC,MAA4B,EAAA;AAC9C,QAAA,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AACtB,YAAA,OAA0B,MAAM,CAAC;AACpC,SAAA;AAED,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;;AAEvB,YAAA,OAAO,IAAI,mBAAmB,CAAI,MAAM,CAAC,CAAC;AAC7C,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AACtB,YAAA,OAAO,IAAI,wBAAwB,CAAI,MAAM,CAAC,CAAC;AAClD,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KACpB;;AAGO,IAAA,eAAe,CAAC,EAAwB,EAAA;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,cAAc,KAAK,SAAS,EAAE;AAC9B,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,qEAAA,CAAuE,CAAC,CAAC;AAC5F,SAAA;AAED;;;;AAIG;QACH,IAAI,CAAC,eAAe,GAAG,cAAc;AAChC,aAAA,IAAI,EAAE;aACN,IAAI;;QAED,IAAI,CAAC,gBAAgB,EAAE,EACvB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC7B;AACA,aAAA,SAAS,CAAC,CAAC,IAAI,KAAI;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS,EAAE,CAAC;;YAEjB,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC7B,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEnG,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CACpB,cAAc,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,MAAK;AAC3C,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SACjC,CAAC,CACL,CAAC;AAEF,QAAA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAE9B,QAAA,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;;AAGxC,QAAA,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAElC,QAAA,OAAO,cAAc,CAAC;KACzB;;IAGO,aAAa,GAAA;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;AAClD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED;;;;AAIG;IACK,mBAAmB,CAAC,KAAY,EAAE,cAAgC,EAAA;AACtE,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,YAAY,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC7F,QAAA,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAC5D,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,GAAsB,KAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QAErE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,IAAI,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;AACtC,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACrE,aAAA;AAED,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC1C,YAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxC,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,cAAc,EAAE;AACrD,gBAAA,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAChD,gBAAA,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAEnD,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA;AACL,SAAC,CAAC,CAAC;KACN;;AAGO,IAAA,gBAAgB,CAAC,cAAgC,EAAA;;AAErD,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,OAAO,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;gBAC5B,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,oBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvC,iBAAA;AAED,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;AACN,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACd,OAAO;AACV,iBAAA;AAED,gBAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;AACxC,gBAAA,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACjD,gBAAA,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACrD,gBAAA,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC1D,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAE7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,gBAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACxC,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,cAAc,EAAE;oBACrD,OAAO;AACV,iBAAA;AAED,gBAAA,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAExD,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,aAAC,CAAC,CAAC;YAEH,cAAc,GAAG,GAAG,CAAC;AACxB,SAAA;KACJ;AAED;;;;AAIG;AACK,IAAA,kBAAkB,CAAC,cAAgC,EAAA;QACvD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxC,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,cAAc,EAAE;gBACrD,OAAO;AACV,aAAA;YAED,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACvD,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,gBAAA,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACpD,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrC,aAAA;AAAM,iBAAA;AACH,gBAAA,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACrD,gBAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvC,aAAA;AAED,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACN;;AAGD,IAAA,cAAc,CAAC,IAAkB,EAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACxC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AACtC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;AACjC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAK;AAC7B,YAAA,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;AAED;;;;;;;;;AASG;IACK,gBAAgB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC7E,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAC5C,SAAA;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAEhH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACnC,YAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC1B,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAChC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AACpD,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACjC,aAAA;AAED,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC7B,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;;IAGO,gBAAgB,GAAA;AACpB,QAAA,OAAO,CAAC,MAAkC,KACtC,MAAM,CAAC,IAAI,CACP,SAAS,CAAC,CAAC,GAAG,KACV,IAAI,CAAC,eAAe,CAAC,IAAI,CACrB,MAAM,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,EACxC,GAAG,CAAC,MAAM,GAAG,CAAC,CACjB,CACJ,CACJ,CAAC;KACT;AA/zBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAwTV,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,WAAW,EAIqB,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,aAAa,yDACb,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AA7TxD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAzBX,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,2BAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3E,YAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE;AACzD,YAAA;AACI,gBAAA,OAAO,EAAE,wBAAwB;AACjC,gBAAA,WAAW,EAAE,aAAa;AAC7B,aAAA;AACJ,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAwM8B,WAAW,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAI5B,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAIJ,YAAY,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAZnB,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzSzC,2hJA6GA,EAAA,MAAA,EAAA,CAAA,0tsEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDFQC,eAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,sBAAsB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,uBAAuB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,iBAAiB,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,KAAK,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACL,eAAe,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,iBAAiB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACjB,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGV,aAAa,EAAA,UAAA,EAAA,CAAA;kBA/BzB,SAAS;+BACI,UAAU,EAAA,aAAA,EAEL,iBAAiB,CAAC,IAAI,mBAEpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;wBACP,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3E,wBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,eAAe,EAAE;AACzD,wBAAA;AACI,4BAAA,OAAO,EAAE,wBAAwB;AACjC,4BAAA,WAAW,EAAe,aAAA;AAC7B,yBAAA;qBACJ,EACK,IAAA,EAAA;AACF,wBAAA,iBAAiB,EAAE,IAAI;AAC1B,qBAAA,EAAA,UAAA,EACW,IAAI,EACP,OAAA,EAAA;wBACLA,eAAiB;wBACjB,IAAI;wBACJ,sBAAsB;wBACtB,uBAAuB;wBACvB,iBAAiB;wBACjB,gBAAgB;wBAChB,KAAK;wBACL,eAAe;wBACf,iBAAiB;wBACjB,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,2hJAAA,EAAA,MAAA,EAAA,CAAA,0tsEAAA,CAAA,EAAA,CAAA;;0BA0TI,MAAM;2BAAC,WAAW,CAAA;;0BAClB,QAAQ;;0BAAI,IAAI;;0BAChB,QAAQ;;0BAAI,IAAI;;0BAChB,QAAQ;;0BAAI,IAAI;;0BAChB,QAAQ;;0BAAI,QAAQ;;0BAAI,IAAI;;0BAAI,MAAM;2BAAC,aAAa,CAAA;;0BACpD,QAAQ;;0BAAI,QAAQ;;0BAAI,IAAI;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;kEAvTjE,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAKN,mBAAmB,EAAA,CAAA;sBADlB,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAQN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAKN,sBAAsB,EAAA,CAAA;sBADrB,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAUN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAKF,KAAK,EAAA,CAAA;sBADR,KAAK;gBAWF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAkBF,UAAU,EAAA,CAAA;sBADb,KAAK;gBAaF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAkBF,mBAAmB,EAAA,CAAA;sBADtB,KAAK;gBAYF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAYF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAYN,eAAe,EAAA,CAAA;sBADd,KAAK;gBAKN,eAAe,EAAA,CAAA;sBADd,KAAK;gBAKN,kBAAkB,EAAA,CAAA;sBADjB,MAAM;gBAKP,MAAM,EAAA,CAAA;sBADL,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAKvC,WAAW,EAAA,CAAA;sBADV,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,WAAW,CAAC,CAAA;gBAK3C,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,wBAAwB,CAAA;gBAKtC,SAAS,EAAA,CAAA;sBADR,eAAe;uBAAC,UAAU,CAAC,MAAM,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBA0UtE,iBAAiB,EAAA,CAAA;sBADhB,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEpmBxB,0BAA0B,CAAA;AAvBvC,IAAA,WAAA,GAAA;;QAkCI,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAClB,KAAA;8GAZY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EArBzB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcH,UAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,q55EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAKG,wBAAwB,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEzB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAvBtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAC1B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcH,UAAA,CAAA,EAAA,aAAA,EAEQ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,wBAAwB,CAAC,EAAA,MAAA,EAAA,CAAA,q55EAAA,CAAA,EAAA,CAAA;8BAKnC,cAAc,EAAA,CAAA;sBADb,KAAK;gBAKN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAKN,MAAM,EAAA,CAAA;sBADL,KAAK;;;ACgBJ,MAAO,uBAAwB,SAAQ,YAAY,CAAA;8GAA5C,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EArBrB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC,EAAE,CAAC,mDA2E7E,0BAA0B,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1G/C,i4MAqKA,EAAA,MAAA,EAAA,CAAA,q55EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlIQ,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,iBAAiB,EACjB,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,UAAU,4NACV,kBAAkB,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,yBAAyB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzB,qBAAqB,EACrB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,+VACX,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,IAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,eAAe,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACf,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGV,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBA1BnC,SAAS;+BACI,sBAAsB,EAAA,aAAA,EAGjB,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAA6B,uBAAA,CAAC,EAAE,CAAC,EAC7E,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACL,IAAI;wBACJ,iBAAiB;wBACjB,gBAAgB;wBAChB,iBAAiB;wBACjB,UAAU;wBACV,kBAAkB;wBAClB,eAAe;wBACf,yBAAyB;wBACzB,qBAAqB;wBACrB,iBAAiB;wBACjB,iBAAiB;wBACjB,WAAW;wBACX,oBAAoB;wBACpB,eAAe;wBACf,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,i4MAAA,EAAA,MAAA,EAAA,CAAA,q55EAAA,CAAA,EAAA,CAAA;8BAKD,gBAAgB,EAAA,CAAA;sBADf,KAAK;gBAKN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAKN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAKN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,eAAe;uBAAC,0BAA0B,CAAA;;;MEhGlC,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAApB,oBAAoB,EAAA,OAAA,EAAA,CAHnB,uBAAuB,EAAE,0BAA0B,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzE,uBAAuB,EAAE,0BAA0B,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAE1E,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,oBAAoB,YAHnB,uBAAuB,EAAE,0BAA0B,EAAE,oBAAoB,EACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE1E,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,0BAA0B,EAAE,oBAAoB,CAAC;AACpF,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,0BAA0B,EAAE,oBAAoB,CAAC;AACvF,iBAAA,CAAA;;;ACyCK,MAAO,yBAA0B,SAAQ,YAAY,CAAA;8GAA9C,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,SAAA,EAzBvB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBpG,sgWAoTA,EDtRQ,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,EACJ,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,oJAChB,iBAAiB,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACV,kBAAkB,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,aAAa,EACb,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,EAEf,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,mFACtB,iBAAiB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,iBAAiB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,IAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACpB,eAAe,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,qBAAqB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACrB,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA5BrC,SAAS;+BACI,wBAAwB,EAAA,SAAA,EAEvB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,MAA+B,yBAAA,CAAC,EAAE,CAAC,EAC/E,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACzB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACL,IAAI;wBACJ,iBAAiB;wBACjB,gBAAgB;wBAChB,iBAAiB;wBACjB,UAAU;wBACV,kBAAkB;wBAClB,aAAa;wBACb,eAAe;wBACf,OAAO;wBACP,sBAAsB;wBACtB,sBAAsB;wBACtB,iBAAiB;wBACjB,iBAAiB;wBACjB,WAAW;wBACX,oBAAoB;wBACpB,eAAe;wBACf,qBAAqB;wBACrB,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,sgWAAA,EAAA,CAAA;;;MEvCQ,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,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,sBAAsB,YAHrB,yBAAyB,EAAE,oBAAoB,CAC/C,EAAA,OAAA,EAAA,CAAA,yBAAyB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhD,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,sBAAsB,EAHrB,OAAA,EAAA,CAAA,yBAAyB,EAAE,oBAAoB,EACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEhD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;AAC1D,oBAAA,OAAO,EAAE,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;AAC7D,iBAAA,CAAA;;;ACOD,MAAM,UAAU,GAAG;IACf,aAAa;IACb,mBAAmB;IACnB,wBAAwB;IACxB,WAAW;IACX,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,4BAA4B;IAC5B,wBAAwB;CAC3B,CAAC;MAMW,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,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,kBAAkB,YAjB3B,aAAa;YACb,mBAAmB;YACnB,wBAAwB;YACxB,WAAW;YACX,oBAAoB;YACpB,sBAAsB;YACtB,oBAAoB;YACpB,qBAAqB;YACrB,oBAAoB;YACpB,4BAA4B;AAC5B,YAAA,wBAAwB,aAVxB,aAAa;YACb,mBAAmB;YACnB,wBAAwB;YACxB,WAAW;YACX,oBAAoB;YACpB,sBAAsB;YACtB,oBAAoB;YACpB,qBAAqB;YACrB,oBAAoB;YACpB,4BAA4B;YAC5B,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;AAOf,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,kBAAkB,YAjB3B,aAAa;YAIb,oBAAoB;YACpB,sBAAsB;YACtB,oBAAoB;YACpB,qBAAqB;YACrB,oBAAoB;YACpB,4BAA4B;YAL5B,oBAAoB;YACpB,sBAAsB;YACtB,oBAAoB;YACpB,qBAAqB;YACrB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FASX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AAC3B,iBAAA,CAAA;;;AChCD;;AAEG;;;;"}