@fundamental-ngx/platform 0.43.37 → 0.43.39

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 (40) hide show
  1. package/approval-flow/approval-flow-user-list/approval-flow-user-list.component.d.ts +10 -0
  2. package/button/button.component.d.ts +1 -2
  3. package/esm2020/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +2 -4
  4. package/esm2020/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +50 -14
  5. package/esm2020/button/button.component.mjs +5 -3
  6. package/esm2020/list/base-list-item.mjs +4 -2
  7. package/esm2020/list/list.component.mjs +12 -2
  8. package/esm2020/table/components/table-row/table-row.component.mjs +3 -3
  9. package/esm2020/table/table.component.mjs +3 -3
  10. package/esm2020/table-helpers/directives/table-virtual-scroll.directive.mjs +9 -6
  11. package/esm2020/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +3 -3
  12. package/fesm2015/fundamental-ngx-platform-approval-flow.mjs +52 -20
  13. package/fesm2015/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  14. package/fesm2015/fundamental-ngx-platform-button.mjs +4 -2
  15. package/fesm2015/fundamental-ngx-platform-button.mjs.map +1 -1
  16. package/fesm2015/fundamental-ngx-platform-list.mjs +15 -2
  17. package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
  18. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs +8 -5
  19. package/fesm2015/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  20. package/fesm2015/fundamental-ngx-platform-table.mjs +4 -4
  21. package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
  22. package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs +2 -2
  23. package/fesm2015/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  24. package/fesm2020/fundamental-ngx-platform-approval-flow.mjs +50 -18
  25. package/fesm2020/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  26. package/fesm2020/fundamental-ngx-platform-button.mjs +4 -2
  27. package/fesm2020/fundamental-ngx-platform-button.mjs.map +1 -1
  28. package/fesm2020/fundamental-ngx-platform-list.mjs +14 -2
  29. package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
  30. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs +8 -5
  31. package/fesm2020/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  32. package/fesm2020/fundamental-ngx-platform-table.mjs +4 -4
  33. package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
  34. package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs +2 -2
  35. package/fesm2020/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  36. package/fundamental-ngx-platform-v0.43.39.tgz +0 -0
  37. package/list/list.component.d.ts +6 -0
  38. package/package.json +4 -4
  39. package/schematics/ng-add/index.js +1 -1
  40. package/fundamental-ngx-platform-v0.43.37.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/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/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.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","/* eslint-disable @typescript-eslint/member-ordering */\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild\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 { Observable } from 'rxjs';\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 enum LIST_ITEM_TYPE {\n ITEM = 'item',\n GROUP = 'group',\n FOOTER = 'footer',\n HEADER = 'header'\n}\n\nexport class ModifyItemEvent {\n /** List Item component */\n source: BaseListItem;\n /** Action */\n action: 'delete' | 'edit';\n}\n\n@Directive({ selector: '[fdpItemDef]' })\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 ariaPosinset: number;\n\n /** Avatar component properties. @see AvatarComponent for more details */\n @Input()\n set avatar(value: Partial<ListAvatarConfig> | string) {\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 /**\n * @deprecated\n * Use `avatar` property for more flexible configuration.\n *\n * @description\n * Attribute to hold avatar path\n */\n @Input()\n set avatarSrc(value: Nullable<string>) {\n this._avatarConfig = merge(this._avatarConfig, { image: value });\n }\n\n get avatarSrc(): Nullable<string> {\n return this.avatar?.image;\n }\n\n /**\n * @deprecated\n * Use `avatar` property for more flexible configuration.\n *\n * @description\n * Attribute to hold avatar title for a11y\n */\n @Input()\n set avatarTitle(value: Nullable<string>) {\n this._avatarConfig = merge(this._avatarConfig, { ariaLabel: value });\n }\n\n get avatarTitle(): Nullable<string> {\n return this.avatar?.ariaLabel;\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 * @deprecated See `icon` input property for more flexible icon configuration.\n * @description\n * attribute to hold primary/title icon\n */\n @Input()\n set titleIcon(value: Nullable<string>) {\n this._iconConfig = merge(new ListIconConfig(), { glyph: value, ariaLabel: value });\n }\n\n get titleIcon(): Nullable<string> {\n return this._iconConfig.glyph;\n }\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 set selectionMode(value: SelectionType) {\n this._selectionMode = value;\n this._setAttrRole();\n }\n\n get selectionMode(): SelectionType {\n return this._selectionMode;\n }\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: Nullable<string>;\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 /** @hidden */\n _type: LIST_ITEM_TYPE = LIST_ITEM_TYPE.ITEM;\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 set rowSelection(value: boolean) {\n this._rowSelection = value;\n this._setAttrRole();\n }\n\n get rowSelection(): boolean {\n return this._rowSelection;\n }\n\n /**\n * @hidden\n * Whether listitem is selected binded to template\n */\n _selected = false;\n\n /** @hidden */\n get _selectedAttr(): boolean | null {\n return !this.rowSelection && this.selectionMode === 'none' ? null : this._selected;\n }\n\n /**\n * @hidden\n * get the focused element for key manager\n */\n _focused: boolean;\n\n /** @hidden */\n get _listItemRole(): string {\n return this.role || this._defaultRole;\n }\n\n /** @hidden */\n ariaSetSize: Observable<number>;\n\n /** @hidden */\n private _rowSelection = false;\n\n /** @hidden */\n private _defaultRole = 'listitem';\n\n /** @hidden */\n private _viewInited = false;\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 /**\n * @hidden\n * radio button selected value binded to template\n */\n private _selectionValue: Nullable<string>;\n\n /** @hidden */\n private _selectionMode: SelectionType = 'none';\n\n /** @hidden */\n constructor(\n _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 /** 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 * 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._cd.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._cd.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._cd.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 * 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._viewInited = true;\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 const parentNode = currentItem.parentNode instanceof HTMLElement && currentItem.parentNode;\n if (parentNode) {\n parentNode.removeAttribute('title');\n parentNode.removeAttribute('aria-label');\n }\n this._cd.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._cd.detectChanges();\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._cd.markForCheck();\n const $event = new ModifyItemEvent();\n $event.source = this;\n this.itemSelected.emit($event);\n }\n\n /** @hidden */\n private _setAttrRole(): void {\n this._defaultRole =\n this.rowSelection || this.selectionMode === 'single' || this.selectionMode === 'multi'\n ? 'option'\n : 'listitem';\n\n if (this._viewInited) {\n this._cd.detectChanges();\n } else {\n this._cd.markForCheck();\n }\n }\n}\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Output,\n ViewChild\n} from '@angular/core';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\n\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 host: {\n role: 'none'\n }\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\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';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PlatformLinkModule } from '@fundamental-ngx/platform/link';\nimport { ActionListItemComponent } from './action-list-item.component';\n\n@NgModule({\n declarations: [ActionListItemComponent],\n imports: [CommonModule, ListModule, ButtonModule, PlatformLinkModule],\n exports: [ActionListItemComponent]\n})\nexport class ActionListItemModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\n\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 host: {\n role: 'none'\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\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';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PlatformLinkModule } from '@fundamental-ngx/platform/link';\nimport { DisplayListItemComponent } from './display-list-item.component';\n\n@NgModule({\n declarations: [DisplayListItemComponent],\n imports: [CommonModule, IconModule, FormsModule, FormModule, ListModule, PlatformLinkModule, RouterModule],\n exports: [DisplayListItemComponent]\n})\nexport class DisplayListItemModule {}\n","import { Component } from '@angular/core';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\nimport { LIST_ITEM_TYPE } from './base-list-item';\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 host: {\n role: 'none'\n }\n})\nexport class ListFooterComponent extends BaseComponent {\n /** @hidden */\n _type = LIST_ITEM_TYPE.FOOTER;\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { Component, forwardRef, Input, OnInit } from '@angular/core';\nimport { BaseListItem, LIST_ITEM_TYPE } from './base-list-item';\n\nlet nextListGrpHeaderId = 0;\n\n@Component({\n selector: 'fdp-list-group-header',\n template: ` <li\n #listItem\n fd-list-group-header\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.id]=\"id\"\n role=\"group\"\n [tabindex]=\"0\"\n >\n <span fd-list-title>{{ groupHeaderTitle }}</span>\n <ng-content></ng-content>\n </li>`,\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => ListGroupHeaderComponent) }],\n host: {\n role: 'none'\n }\n})\nexport class ListGroupHeaderComponent extends BaseListItem implements OnInit {\n /** Displays list group header title */\n @Input()\n groupHeaderTitle?: string;\n\n /** @deprecated Use `groupHeaderTitle` instead */\n @Input()\n set grpheaderTitle(value: string) {\n this.groupHeaderTitle = value;\n }\n\n /** @hidden */\n _type = LIST_ITEM_TYPE.HEADER;\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})\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","/* eslint-disable @typescript-eslint/member-ordering */\nimport { 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 { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_LIST_UNREAD_INDICATOR, ListUnreadIndicator } from '@fundamental-ngx/core/list';\nimport { FD_LANGUAGE, FdLanguage, 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, LIST_ITEM_TYPE, 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})\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 _ariaSetSize: Observable<number> = new Observable();\n\n /** @hidden */\n protected _dataSource: ListDataSource<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 /**\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 /** 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 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 /** @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 /** @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 /**\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 this._ariaSetSize = this.ariaSetsize\n ? of(this.ariaSetsize)\n : this._dataSource && this._dataSource.dataProvider?.getTotalItems\n ? this._dataSource.dataProvider.getTotalItems()\n : of(this.listItems.length);\n\n this._partialNavigation = this.listItems.some((item) => item.navigationIndicator || item.listType === 'detail');\n\n let currentGroup: BaseListItem | null = null;\n let currentGroupItemIds: string[] = [];\n // Since we cannot use index from the iteration due to possible group item existence, we need to track it manually.\n let itemIndex = 0;\n\n this.listItems.forEach((item) => {\n if (!this._partialNavigation) {\n item.navigated = this.navigated;\n item.navigationIndicator = this.navigationIndicator;\n item.listType = this.listType;\n }\n if (item._type === LIST_ITEM_TYPE.HEADER) {\n currentGroup?.listItem.nativeElement.setAttribute('aria-owns', currentGroupItemIds.join(' '));\n currentGroupItemIds = [];\n currentGroup = item;\n return;\n }\n if (item._type !== LIST_ITEM_TYPE.ITEM) {\n return;\n }\n\n item.ariaSetSize = this._ariaSetSize;\n\n item.ariaPosinset = ++itemIndex;\n\n if (currentGroup) {\n currentGroupItemIds.push(item.listItem.nativeElement.id);\n }\n\n if (item === this.listItems.last) {\n currentGroup?.listItem.nativeElement.setAttribute('aria-owns', currentGroupItemIds.join(' '));\n }\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 /** @hidden */\n private async _init(): Promise<void> {\n this._language = await firstValueFrom(this._language$);\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 | async\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\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';\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 <fdp-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 </fdp-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})\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 { 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 host: {\n role: 'none'\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [attr.aria-selected]=\"_selected\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n (click)=\"_onItemClick()\"\n [ariaRole]=\"role\"\n [attr.aria-selected]=\"_selectedAttr\"\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\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';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { CheckboxModule } from '@fundamental-ngx/core/checkbox';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { ObjectIdentifierModule } from '@fundamental-ngx/core/object-identifier';\nimport { ObjectMarkerModule } from '@fundamental-ngx/core/object-marker';\nimport { ObjectNumberModule } from '@fundamental-ngx/core/object-number';\nimport { RadioModule } from '@fundamental-ngx/core/radio';\nimport { PlatformLinkModule } from '@fundamental-ngx/platform/link';\nimport { PlatformObjectStatusModule } from '@fundamental-ngx/platform/object-status';\nimport { PlatformObjectAttributeModule } from '@fundamental-ngx/platform/object-attribute';\nimport { ObjectListItemComponent } from './object-list-item.component';\nimport { ObjectListItemRowComponent } from './object-list-item-row.component';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [ObjectListItemComponent, ObjectListItemRowComponent],\n imports: [\n CommonModule,\n IconModule,\n FormsModule,\n FormModule,\n ListModule,\n PipeModule,\n PlatformLinkModule,\n RouterModule,\n AvatarModule,\n PlatformObjectStatusModule,\n CheckboxModule,\n RadioModule,\n I18nModule,\n ObjectMarkerModule,\n ObjectNumberModule,\n ObjectIdentifierModule,\n PlatformObjectAttributeModule,\n ButtonModule,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ],\n exports: [\n ObjectListItemComponent,\n ObjectListItemRowComponent,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ]\n})\nexport class ObjectListItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, forwardRef } from '@angular/core';\n\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 host: {\n role: 'none'\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 [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\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 [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\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\"> {{ 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\"> {{ secondary.text }}</fdp-object-status>\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { CheckboxModule } from '@fundamental-ngx/core/checkbox';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { RadioModule } from '@fundamental-ngx/core/radio';\nimport { PlatformLinkModule } from '@fundamental-ngx/platform/link';\nimport { PlatformObjectStatusModule } from '@fundamental-ngx/platform/object-status';\nimport { StandardListItemComponent } from './standard-list-item.component';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';\n\n@NgModule({\n declarations: [StandardListItemComponent],\n imports: [\n CommonModule,\n IconModule,\n FormsModule,\n CheckboxModule,\n FormModule,\n RadioModule,\n PipeModule,\n I18nModule,\n ButtonModule,\n PlatformLinkModule,\n ListModule,\n AvatarModule,\n RouterModule,\n PlatformObjectStatusModule,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ],\n exports: [StandardListItemComponent, ContentDensityModule, PlatformContentDensityDeprecationsModule]\n})\nexport class StandardListItemModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { BaseListItem } from '../base-list-item';\n\n@Component({\n selector: 'fdp-free-content-list-item, li[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 host: {\n role: 'listitem'\n }\n})\nexport class FreeContentListItemComponent extends BaseListItem {}\n","<div\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 [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [attr.aria-selected]=\"_selectedAttr\"\n>\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PipeModule, RepeatModule } from '@fundamental-ngx/cdk/utils';\nimport { BusyIndicatorModule } from '@fundamental-ngx/core/busy-indicator';\nimport { InfiniteScrollModule } from '@fundamental-ngx/core/infinite-scroll';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { SkeletonModule } from '@fundamental-ngx/core/skeleton';\nimport { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\nimport { ActionListItemModule } from './action-list-item/action-list-item.module';\nimport { DisplayListItemModule } from './display-list-item/display-list-item.module';\nimport { ListFooterComponent } from './list-group-footer.component';\nimport { ListGroupHeaderComponent } from './list-group-header.component';\nimport { ListComponent } from './list.component';\nimport { ListItemDef } from './base-list-item';\nimport { ObjectListItemModule } from './object-list-item/object-list-item.module';\nimport { StandardListItemModule } from './standard-list-item/standard-list-item.module';\nimport { FreeContentListItemComponent } from './free-content-list-item/free-content-list-item.component';\nimport { LoadMoreContentDirective } from './load-more-content.directive';\n\n@NgModule({\n declarations: [\n ListComponent,\n ListFooterComponent,\n ListGroupHeaderComponent,\n ListItemDef,\n FreeContentListItemComponent,\n LoadMoreContentDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n FormModule,\n I18nModule,\n ToolbarModule,\n ListModule,\n PipeModule,\n BusyIndicatorModule,\n InfiniteScrollModule,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule,\n StandardListItemModule,\n ObjectListItemModule,\n DisplayListItemModule,\n ActionListItemModule,\n RepeatModule,\n SkeletonModule\n ],\n exports: [\n ListComponent,\n ListFooterComponent,\n ListGroupHeaderComponent,\n ListItemDef,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule,\n StandardListItemModule,\n ObjectListItemModule,\n DisplayListItemModule,\n ActionListItemModule,\n FreeContentListItemComponent,\n LoadMoreContentDirective\n ]\n})\nexport class PlatformListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3.ListConfig","i4","i5","i8","i10","i3","i6","i7","i9","i11"],"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/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/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.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","/* eslint-disable @typescript-eslint/member-ordering */\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild\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 { Observable } from 'rxjs';\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 enum LIST_ITEM_TYPE {\n ITEM = 'item',\n GROUP = 'group',\n FOOTER = 'footer',\n HEADER = 'header'\n}\n\nexport class ModifyItemEvent {\n /** List Item component */\n source: BaseListItem;\n /** Action */\n action: 'delete' | 'edit';\n}\n\n@Directive({ selector: '[fdpItemDef]' })\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 ariaPosinset: number;\n\n /** Avatar component properties. @see AvatarComponent for more details */\n @Input()\n set avatar(value: Partial<ListAvatarConfig> | string) {\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 /**\n * @deprecated\n * Use `avatar` property for more flexible configuration.\n *\n * @description\n * Attribute to hold avatar path\n */\n @Input()\n set avatarSrc(value: Nullable<string>) {\n this._avatarConfig = merge(this._avatarConfig, { image: value });\n }\n\n get avatarSrc(): Nullable<string> {\n return this.avatar?.image;\n }\n\n /**\n * @deprecated\n * Use `avatar` property for more flexible configuration.\n *\n * @description\n * Attribute to hold avatar title for a11y\n */\n @Input()\n set avatarTitle(value: Nullable<string>) {\n this._avatarConfig = merge(this._avatarConfig, { ariaLabel: value });\n }\n\n get avatarTitle(): Nullable<string> {\n return this.avatar?.ariaLabel;\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 * @deprecated See `icon` input property for more flexible icon configuration.\n * @description\n * attribute to hold primary/title icon\n */\n @Input()\n set titleIcon(value: Nullable<string>) {\n this._iconConfig = merge(new ListIconConfig(), { glyph: value, ariaLabel: value });\n }\n\n get titleIcon(): Nullable<string> {\n return this._iconConfig.glyph;\n }\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 set selectionMode(value: SelectionType) {\n this._selectionMode = value;\n this._setAttrRole();\n }\n\n get selectionMode(): SelectionType {\n return this._selectionMode;\n }\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: Nullable<string>;\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 /** @hidden */\n _type: LIST_ITEM_TYPE = LIST_ITEM_TYPE.ITEM;\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 set rowSelection(value: boolean) {\n this._rowSelection = value;\n this._setAttrRole();\n }\n\n get rowSelection(): boolean {\n return this._rowSelection;\n }\n\n /**\n * @hidden\n * Whether listitem is selected binded to template\n */\n _selected = false;\n\n /** @hidden */\n get _selectedAttr(): boolean | null {\n return !this.rowSelection && this.selectionMode === 'none' ? null : this._selected;\n }\n\n /**\n * @hidden\n * get the focused element for key manager\n */\n _focused: boolean;\n\n /** @hidden */\n get _listItemRole(): string {\n return this.role || this._defaultRole;\n }\n\n /** @hidden */\n ariaSetSize: Observable<number>;\n\n /** @hidden */\n private _rowSelection = false;\n\n /** @hidden */\n private _defaultRole = 'listitem';\n\n /** @hidden */\n private _viewInited = false;\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 /**\n * @hidden\n * radio button selected value binded to template\n */\n private _selectionValue: Nullable<string>;\n\n /** @hidden */\n private _selectionMode: SelectionType = 'none';\n\n /** @hidden */\n constructor(\n _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 /** 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 * 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._cd.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._cd.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._cd.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 * Show navigation for single list\n */\n ngOnInit(): void {\n if (!this.id || this.id === this.defaultId) {\n this.id = `fdp-list-item-${nextListItemId++}`;\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.itemSelected.complete();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._viewInited = true;\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 const parentNode = currentItem.parentNode instanceof HTMLElement && currentItem.parentNode;\n if (parentNode) {\n parentNode.removeAttribute('title');\n parentNode.removeAttribute('aria-label');\n }\n this._cd.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._cd.detectChanges();\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._cd.markForCheck();\n const $event = new ModifyItemEvent();\n $event.source = this;\n this.itemSelected.emit($event);\n }\n\n /** @hidden */\n private _setAttrRole(): void {\n this._defaultRole =\n this.rowSelection || this.selectionMode === 'single' || this.selectionMode === 'multi'\n ? 'option'\n : 'listitem';\n\n if (this._viewInited) {\n this._cd.detectChanges();\n } else {\n this._cd.markForCheck();\n }\n }\n}\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Output,\n ViewChild\n} from '@angular/core';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\n\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 host: {\n role: 'none'\n }\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\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';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PlatformLinkModule } from '@fundamental-ngx/platform/link';\nimport { ActionListItemComponent } from './action-list-item.component';\n\n@NgModule({\n declarations: [ActionListItemComponent],\n imports: [CommonModule, ListModule, ButtonModule, PlatformLinkModule],\n exports: [ActionListItemComponent]\n})\nexport class ActionListItemModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\n\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 host: {\n role: 'none'\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\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';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PlatformLinkModule } from '@fundamental-ngx/platform/link';\nimport { DisplayListItemComponent } from './display-list-item.component';\n\n@NgModule({\n declarations: [DisplayListItemComponent],\n imports: [CommonModule, IconModule, FormsModule, FormModule, ListModule, PlatformLinkModule, RouterModule],\n exports: [DisplayListItemComponent]\n})\nexport class DisplayListItemModule {}\n","import { Component } from '@angular/core';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\nimport { LIST_ITEM_TYPE } from './base-list-item';\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 host: {\n role: 'none'\n }\n})\nexport class ListFooterComponent extends BaseComponent {\n /** @hidden */\n _type = LIST_ITEM_TYPE.FOOTER;\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport { Component, forwardRef, Input, OnInit } from '@angular/core';\nimport { BaseListItem, LIST_ITEM_TYPE } from './base-list-item';\n\nlet nextListGrpHeaderId = 0;\n\n@Component({\n selector: 'fdp-list-group-header',\n template: ` <li\n #listItem\n fd-list-group-header\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.id]=\"id\"\n role=\"group\"\n [tabindex]=\"0\"\n >\n <span fd-list-title>{{ groupHeaderTitle }}</span>\n <ng-content></ng-content>\n </li>`,\n providers: [{ provide: BaseListItem, useExisting: forwardRef(() => ListGroupHeaderComponent) }],\n host: {\n role: 'none'\n }\n})\nexport class ListGroupHeaderComponent extends BaseListItem implements OnInit {\n /** Displays list group header title */\n @Input()\n groupHeaderTitle?: string;\n\n /** @deprecated Use `groupHeaderTitle` instead */\n @Input()\n set grpheaderTitle(value: string) {\n this.groupHeaderTitle = value;\n }\n\n /** @hidden */\n _type = LIST_ITEM_TYPE.HEADER;\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})\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","/* eslint-disable @typescript-eslint/member-ordering */\nimport { 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 { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_LIST_UNREAD_INDICATOR, ListUnreadIndicator } from '@fundamental-ngx/core/list';\nimport { FD_LANGUAGE, FdLanguage, 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, LIST_ITEM_TYPE, 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 /** Selected item */\n added?: BaseListItem;\n /** Deselected item */\n removed?: BaseListItem;\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})\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 _ariaSetSize: Observable<number> = new Observable();\n\n /** @hidden */\n protected _dataSource: ListDataSource<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 /**\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 /** 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((selection) => {\n this.selectedItems = this._selectionModel.selected;\n const event = new SelectionChangeEvent();\n event.selectedItems = this.selectedItems;\n if (selection.added?.length) {\n event.added = selection.added[0];\n }\n if (selection.removed?.length) {\n event.removed = selection.removed[0];\n }\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 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 /** @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 /** @hidden */\n _selectItem(item: BaseListItem): void {\n this._selectionModel.select(item);\n this.stateChanges.next(item);\n }\n\n /** @hidden */\n _clearSelection(): void {\n this._selectionModel.clear();\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 /**\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 this._ariaSetSize = this.ariaSetsize\n ? of(this.ariaSetsize)\n : this._dataSource && this._dataSource.dataProvider?.getTotalItems\n ? this._dataSource.dataProvider.getTotalItems()\n : of(this.listItems.length);\n\n this._partialNavigation = this.listItems.some((item) => item.navigationIndicator || item.listType === 'detail');\n\n let currentGroup: BaseListItem | null = null;\n let currentGroupItemIds: string[] = [];\n // Since we cannot use index from the iteration due to possible group item existence, we need to track it manually.\n let itemIndex = 0;\n\n this.listItems.forEach((item) => {\n if (!this._partialNavigation) {\n item.navigated = this.navigated;\n item.navigationIndicator = this.navigationIndicator;\n item.listType = this.listType;\n }\n if (item._type === LIST_ITEM_TYPE.HEADER) {\n currentGroup?.listItem.nativeElement.setAttribute('aria-owns', currentGroupItemIds.join(' '));\n currentGroupItemIds = [];\n currentGroup = item;\n return;\n }\n if (item._type !== LIST_ITEM_TYPE.ITEM) {\n return;\n }\n\n item.ariaSetSize = this._ariaSetSize;\n\n item.ariaPosinset = ++itemIndex;\n\n if (currentGroup) {\n currentGroupItemIds.push(item.listItem.nativeElement.id);\n }\n\n if (item === this.listItems.last) {\n currentGroup?.listItem.nativeElement.setAttribute('aria-owns', currentGroupItemIds.join(' '));\n }\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 /** @hidden */\n private async _init(): Promise<void> {\n this._language = await firstValueFrom(this._language$);\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 | async\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\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';\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 <fdp-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 </fdp-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})\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 { 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 host: {\n role: 'none'\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [attr.aria-selected]=\"_selected\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n (click)=\"_onItemClick()\"\n [ariaRole]=\"role\"\n [attr.aria-selected]=\"_selectedAttr\"\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\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';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { CheckboxModule } from '@fundamental-ngx/core/checkbox';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { ObjectIdentifierModule } from '@fundamental-ngx/core/object-identifier';\nimport { ObjectMarkerModule } from '@fundamental-ngx/core/object-marker';\nimport { ObjectNumberModule } from '@fundamental-ngx/core/object-number';\nimport { RadioModule } from '@fundamental-ngx/core/radio';\nimport { PlatformLinkModule } from '@fundamental-ngx/platform/link';\nimport { PlatformObjectStatusModule } from '@fundamental-ngx/platform/object-status';\nimport { PlatformObjectAttributeModule } from '@fundamental-ngx/platform/object-attribute';\nimport { ObjectListItemComponent } from './object-list-item.component';\nimport { ObjectListItemRowComponent } from './object-list-item-row.component';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [ObjectListItemComponent, ObjectListItemRowComponent],\n imports: [\n CommonModule,\n IconModule,\n FormsModule,\n FormModule,\n ListModule,\n PipeModule,\n PlatformLinkModule,\n RouterModule,\n AvatarModule,\n PlatformObjectStatusModule,\n CheckboxModule,\n RadioModule,\n I18nModule,\n ObjectMarkerModule,\n ObjectNumberModule,\n ObjectIdentifierModule,\n PlatformObjectAttributeModule,\n ButtonModule,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ],\n exports: [\n ObjectListItemComponent,\n ObjectListItemRowComponent,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ]\n})\nexport class ObjectListItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation, forwardRef } from '@angular/core';\n\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 host: {\n role: 'none'\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 [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\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 [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [class.fd-list__item--inactive]=\"listType === 'inactive'\"\n [ariaRole]=\"_listItemRole\"\n [attr.aria-selected]=\"_selectedAttr\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\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-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\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\"> {{ 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\"> {{ secondary.text }}</fdp-object-status>\n </span>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { CheckboxModule } from '@fundamental-ngx/core/checkbox';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { RadioModule } from '@fundamental-ngx/core/radio';\nimport { PlatformLinkModule } from '@fundamental-ngx/platform/link';\nimport { PlatformObjectStatusModule } from '@fundamental-ngx/platform/object-status';\nimport { StandardListItemComponent } from './standard-list-item.component';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';\n\n@NgModule({\n declarations: [StandardListItemComponent],\n imports: [\n CommonModule,\n IconModule,\n FormsModule,\n CheckboxModule,\n FormModule,\n RadioModule,\n PipeModule,\n I18nModule,\n ButtonModule,\n PlatformLinkModule,\n ListModule,\n AvatarModule,\n RouterModule,\n PlatformObjectStatusModule,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule\n ],\n exports: [StandardListItemComponent, ContentDensityModule, PlatformContentDensityDeprecationsModule]\n})\nexport class StandardListItemModule {}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { BaseListItem } from '../base-list-item';\n\n@Component({\n selector: 'fdp-free-content-list-item, li[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 host: {\n role: 'listitem'\n }\n})\nexport class FreeContentListItemComponent extends BaseListItem {}\n","<div\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 [ariaDescribedBy]=\"ariaDescribedBy\"\n [attr.aria-level]=\"ariaLevel\"\n [attr.aria-posinset]=\"ariaPosinset\"\n [attr.aria-setsize]=\"ariaSetSize | async\"\n [attr.aria-selected]=\"_selectedAttr\"\n>\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { PipeModule, RepeatModule } from '@fundamental-ngx/cdk/utils';\nimport { BusyIndicatorModule } from '@fundamental-ngx/core/busy-indicator';\nimport { InfiniteScrollModule } from '@fundamental-ngx/core/infinite-scroll';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { SkeletonModule } from '@fundamental-ngx/core/skeleton';\nimport { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\nimport { ActionListItemModule } from './action-list-item/action-list-item.module';\nimport { DisplayListItemModule } from './display-list-item/display-list-item.module';\nimport { ListFooterComponent } from './list-group-footer.component';\nimport { ListGroupHeaderComponent } from './list-group-header.component';\nimport { ListComponent } from './list.component';\nimport { ListItemDef } from './base-list-item';\nimport { ObjectListItemModule } from './object-list-item/object-list-item.module';\nimport { StandardListItemModule } from './standard-list-item/standard-list-item.module';\nimport { FreeContentListItemComponent } from './free-content-list-item/free-content-list-item.component';\nimport { LoadMoreContentDirective } from './load-more-content.directive';\n\n@NgModule({\n declarations: [\n ListComponent,\n ListFooterComponent,\n ListGroupHeaderComponent,\n ListItemDef,\n FreeContentListItemComponent,\n LoadMoreContentDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n FormModule,\n I18nModule,\n ToolbarModule,\n ListModule,\n PipeModule,\n BusyIndicatorModule,\n InfiniteScrollModule,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule,\n StandardListItemModule,\n ObjectListItemModule,\n DisplayListItemModule,\n ActionListItemModule,\n RepeatModule,\n SkeletonModule\n ],\n exports: [\n ListComponent,\n ListFooterComponent,\n ListGroupHeaderComponent,\n ListItemDef,\n PlatformContentDensityDeprecationsModule,\n ContentDensityModule,\n StandardListItemModule,\n ObjectListItemModule,\n DisplayListItemModule,\n ActionListItemModule,\n FreeContentListItemComponent,\n LoadMoreContentDirective\n ]\n})\nexport class PlatformListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3.ListConfig","i4","i5","i8","i10","i3","i6","i7","i9","i11"],"mappings":"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"}