@acorex/components 21.0.0-next.18 → 21.0.0-next.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-list.mjs","sources":["../tmp-esm2022/list/lib/list.component.js","../tmp-esm2022/list/lib/list.module.js","../tmp-esm2022/list/acorex-components-list.js"],"sourcesContent":["import { AXComponent, AXDataSource, AXFocusableComponent, AXListDataSource, AXValuableComponent, AX_SELECTION_DATA_TOKEN, MXSelectionBridgeService, MXSelectionValueComponent, convertArrayToDataSource, } from '@acorex/cdk/common';\nimport { AXTooltipDirective, AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollableElement, } from '@angular/cdk/scrolling';\nimport { AsyncPipe, NgTemplateOutlet, isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Optional, Output, SkipSelf, TemplateRef, ViewChild, ViewEncapsulation, computed, forwardRef, input, signal, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/tooltip\";\n/**\n * provides a list control with various input options and events for user interaction.\n *\n * @category Components\n */\nexport class AXListComponent extends MXSelectionValueComponent {\n constructor() {\n super(...arguments);\n /**\n * Determines if an item is truncated.\n *\n * @defaultValue true\n */\n this.isItemTruncated = input(true, ...(ngDevMode ? [{ debugName: \"isItemTruncated\" }] : []));\n /**\n * Determines if a tooltip is shown for an item.\n *\n * @defaultValue false\n */\n this.showItemTooltip = input(false, ...(ngDevMode ? [{ debugName: \"showItemTooltip\" }] : []));\n /**\n * Defines the data source for the list.\n *\n * @defaultValue convertArrayToDataSource([])\n */\n this.dataSource = convertArrayToDataSource([]);\n /**\n * @ignore\n */\n this.itemHeightSignal = signal(40, ...(ngDevMode ? [{ debugName: \"itemHeightSignal\" }] : []));\n /**\n * Emitted when the index of the scrolled item changes.\n *\n * @event\n */\n this.onScrolledIndexChanged = new EventEmitter();\n /**\n * Specifies whether the checkbox is enabled.\n *\n * @defaultValue true\n */\n this.checkbox = true;\n /**\n * @ignore\n */\n this.isLoading = signal(true, ...(ngDevMode ? [{ debugName: \"isLoading\" }] : []));\n /**\n * @ignore\n */\n this.hasItems = false;\n /**\n * @ignore\n */\n this.lastIndex = 0;\n /**\n * @ignore\n */\n this.postponeFocus = false;\n /**\n * Determines whether to show the empty template based on the presence of items and loading state.\n * @ignore\n */\n this.showEmptyTemplate = computed(() => this.isLoading() === false && this.emptyTemplate && this.hasItems === false, ...(ngDevMode ? [{ debugName: \"showEmptyTemplate\" }] : []));\n }\n /**\n * Sets the height of each item in the list.\n */\n set itemHeight(v) {\n this.itemHeightSignal.set(v);\n }\n trackByIdx(i) {\n return i;\n }\n /**\n * @ignore\n */\n ngOnInit() {\n super.ngOnInit();\n this.listDataSource = new AXListDataSource({\n source: this.dataSource,\n });\n this.listDataSource.source.onLoadingChanged.subscribe((data) => {\n this.isLoading.set(data);\n });\n this.listDataSource.source.onChanged.subscribe((data) => {\n this.hasItems = data.totalCount > 0;\n setTimeout(() => {\n this.render();\n }, 100);\n });\n }\n /**\n * @ignore\n */\n _handleOnItemClick(e, item) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (this.isItemDisabled(item)) {\n return;\n }\n this.toggleSelect(item);\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: e.target,\n isUserInteraction: true,\n nativeEvent: e,\n });\n }\n /**\n * @ignore\n */\n _handleKeydown(e) {\n if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {\n this.focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);\n e.preventDefault();\n }\n if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (isPlatformBrowser(this.platformID)) {\n const id = this.document.activeElement?.closest('li')?.dataset['id'];\n this.toggleSelect(id);\n }\n e.preventDefault();\n e.stopPropagation();\n }\n }\n /**\n * @ignore\n */\n focusItemByNav(sign) {\n if (isPlatformBrowser(this.platformID)) {\n const list = this.getHostElement().querySelector('ul');\n const fn = (s) => list.querySelector(s);\n const itemDiv = this.document.activeElement?.closest('li') || fn(`li.ax-state-selected`) || fn(`li`);\n const next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling);\n if (next) {\n next.focus();\n }\n }\n }\n /**\n * @ignore\n */\n _handleOnscrolledIndexChange(e) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n /**\n * Retrieves an item from the data source based on the provided key.\n *\n * @param key The key used to identify the item.\n * @ignore\n */\n getItemByKey(key) {\n return this.dataSource.find(key);\n }\n /**\n * Renders the component by updating the viewport size, scrolling to the last index, and optionally focusing the element.\n */\n render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n if (this.postponeFocus) {\n this.postponeFocus = false;\n this.focus();\n }\n }\n /**\n * Refreshes the list by clearing the selection cache and reloading the data source.\n * @ignore\n */\n refresh(clearSelection = true) {\n if (clearSelection) {\n this.clearSelectionCache();\n }\n this.listDataSource.refresh();\n }\n /**\n * Scrolls the viewport to the specified item index.\n * @param index The index of the item to scroll to.\n * @ignore\n */\n scrollToIndex(index) {\n this.viewport.scrollToIndex(index);\n }\n /**\n * Sets focus to the first selectable list item. If no item is available, postpones focus.\n */\n focus() {\n const list = this.getHostElement().querySelector('ul');\n const focusable = list.querySelector('li.ax-state-selected') ?? list.querySelector('li.list-item');\n if (focusable) {\n focusable.focus();\n }\n else {\n this.postponeFocus = true;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.9\", type: AXListComponent, isStandalone: true, selector: \"ax-list\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, valueField: { classPropertyName: \"valueField\", publicName: \"valueField\", isSignal: false, isRequired: false, transformFunction: null }, textField: { classPropertyName: \"textField\", publicName: \"textField\", isSignal: false, isRequired: false, transformFunction: null }, textTemplate: { classPropertyName: \"textTemplate\", publicName: \"textTemplate\", isSignal: false, isRequired: false, transformFunction: null }, disabledField: { classPropertyName: \"disabledField\", publicName: \"disabledField\", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: \"multiple\", publicName: \"multiple\", isSignal: false, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: \"selectionMode\", publicName: \"selectionMode\", isSignal: false, isRequired: false, transformFunction: null }, isItemTruncated: { classPropertyName: \"isItemTruncated\", publicName: \"isItemTruncated\", isSignal: true, isRequired: false, transformFunction: null }, showItemTooltip: { classPropertyName: \"showItemTooltip\", publicName: \"showItemTooltip\", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: \"dataSource\", publicName: \"dataSource\", isSignal: false, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: \"itemHeight\", publicName: \"itemHeight\", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: \"itemTemplate\", publicName: \"itemTemplate\", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: \"emptyTemplate\", publicName: \"emptyTemplate\", isSignal: false, isRequired: false, transformFunction: null }, loadingTemplate: { classPropertyName: \"loadingTemplate\", publicName: \"loadingTemplate\", isSignal: false, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: \"checkbox\", publicName: \"checkbox\", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: \"onValueChanged\", disabledChange: \"disabledChange\", readonlyChange: \"readonlyChange\", onBlur: \"onBlur\", onFocus: \"onFocus\", onItemClick: \"onItemClick\", onItemSelected: \"onItemSelected\", onScrolledIndexChanged: \"onScrolledIndexChanged\" }, host: { listeners: { \"keydown\": \"_handleKeydown($event)\" } }, providers: [\n { provide: AXComponent, useExisting: AXListComponent },\n { provide: AXFocusableComponent, useExisting: AXListComponent },\n { provide: AXValuableComponent, useExisting: AXListComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXListComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useFactory: (existingService) => {\n return existingService || new MXSelectionBridgeService();\n },\n deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],\n },\n ], viewQueries: [{ propertyName: \"viewport\", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"list-container\\\" cdkVirtualScrollingElement [class.ax-height-auto]=\\\"showEmptyTemplate()\\\">\\n <ng-content select=\\\"ax-header\\\"></ng-content>\\n <cdk-virtual-scroll-viewport\\n [itemSize]=\\\"itemHeightSignal()\\\"\\n [style.--item-height]=\\\"itemHeightSignal() + 'px'\\\"\\n (scrolledIndexChange)=\\\"_handleOnscrolledIndexChange($event)\\\"\\n [class.ax-truncated-container]=\\\"isItemTruncated()\\\"\\n >\\n <ul>\\n <!-- Item Template -->\\n <ng-container *cdkVirtualFor=\\\"let item of listDataSource; let i = index; trackBy: trackByIdx\\\">\\n @if (item !== null && item !== undefined) {\\n <li\\n [class.ax-state-selected]=\\\"isItemSelected(item)\\\"\\n class=\\\"list-item\\\"\\n [class.ax-state-disabled]=\\\"isItemDisabled(item)\\\"\\n [attr.tabindex]=\\\"i\\\"\\n (click)=\\\"_handleOnItemClick($event, item)\\\"\\n [attr.data-id]=\\\"getValue(item)\\\"\\n >\\n <!-- Custom Item Template -->\\n @if (itemTemplate) {\\n <ng-container [ngTemplateOutlet]=\\\"itemTemplate\\\" [ngTemplateOutletContext]=\\\"{ $implicit: { data: item } }\\\">\\n </ng-container>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"defaultItemTpl\\\"></ng-container>\\n }\\n <!-- Default Item Template -->\\n <ng-template #defaultItemTpl>\\n @if (item !== null && item !== undefined) {\\n <div class=\\\"ax-label-container\\\">\\n @if (multiple && checkbox) {\\n <input\\n class=\\\"ax-checkbox\\\"\\n type=\\\"checkbox\\\"\\n [checked]=\\\"isItemSelected(item)\\\"\\n [disabled]=\\\"isItemDisabled(item)\\\"\\n tabindex=\\\"0\\\"\\n />\\n }\\n\\n <span\\n [class.ax-checkbox-label]=\\\"multiple && checkbox\\\"\\n [class.ax-truncated]=\\\"isItemTruncated()\\\"\\n [axTooltip]=\\\"getDisplayText(item)\\\"\\n [axTooltipDisabled]=\\\"!showItemTooltip()\\\"\\n >\\n {{ getDisplayText(item) | translate | async }}\\n </span>\\n </div>\\n <!-- @if (isItemSelected(item)) {\\n <i class=\\\"ax-icon ax-icon-check ax-selected-icon\\\"></i>\\n } -->\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTpl\\\"> </ng-container>\\n }\\n </ng-template>\\n </li>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTpl\\\"> </ng-container>\\n }\\n </ng-container>\\n </ul>\\n </cdk-virtual-scroll-viewport>\\n <ng-content select=\\\"ax-footer\\\"></ng-content>\\n</div>\\n\\n<!-- Loading Template -->\\n<ng-template #loadingTpl>\\n <!-- Custom Loading Template -->\\n @if (loadingTemplate) {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTemplate\\\"> </ng-container>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"defaultLoadingTpl\\\"> </ng-container>\\n }\\n <!-- Default Loading Template -->\\n <ng-template #defaultLoadingTpl>\\n <li>{{ '@acorex:common.status.loading' | translate | async }}</li>\\n </ng-template>\\n</ng-template>\\n<!-- Empty Template -->\\n@if (showEmptyTemplate()) {\\n <div class=\\\"empty-container\\\">\\n <ng-container [ngTemplateOutlet]=\\\"emptyTemplate\\\"></ng-container>\\n </div>\\n}\\n\", styles: [\"ax-list{--ax-comp-list-item-height: var(--ax-sys-size-base);--ax-comp-list-empty-container-height: var(--ax-sys-size-base)}ax-list{--ax-comp-list-item-selected-bg-color: var(--ax-sys-color-primary-surface), .2;--ax-comp-list-item-header: var(--ax-sys-color-lighter-surface);--ax-comp-list-item-footer: var(--ax-sys-color-lighter-surface)}ax-list{display:block;height:100%;width:100%;font-size:var(--ax-comp-list-font-size, .875rem);line-height:var(--ax-comp-list-line-height, 1.25rem)}ax-list .list-container{display:flex;height:100%;flex-direction:column}ax-list .list-container.ax-height-auto{height:auto}ax-list ax-header{background-color:rgba(var(--ax-comp-list-item-header))}ax-list ax-footer{background-color:rgba(var(--ax-comp-list-item-footer))}ax-list .empty-container{display:flex;height:var(--ax-comp-list-empty-container-height);width:100%;align-items:center;justify-content:center;padding-left:var(--ax-comp-list-empty-container-padding-x, .75rem);padding-right:var(--ax-comp-list-empty-container-padding-x, .75rem)}ax-list .cdk-virtual-scroll-viewport.ax-truncated-container .cdk-virtual-scroll-content-wrapper{width:100%;min-width:unset}ax-list .cdk-virtual-scroll-viewport ul li{position:relative;display:flex;min-height:var(--ax-comp-list-item-height);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding-inline-end:var(--ax-comp-list-item-padding-e, 1rem);padding-inline-start:var(--ax-comp-list-item-padding-s, .75rem);font-size:var(--ax-comp-list-font-size, .875rem);line-height:var(--ax-comp-list-line-height, 1.25rem)}ax-list .cdk-virtual-scroll-viewport ul li:hover{background:rgba(var(--ax-comp-list-item-hover-bg-color, var(--ax-sys-color-surface)))}ax-list .cdk-virtual-scroll-viewport ul li:focus,ax-list .cdk-virtual-scroll-viewport ul li:focus-within,ax-list .cdk-virtual-scroll-viewport ul li:focus-visible{outline-width:var(--ax-comp-list-item-focus-outline-width, 2px);outline-offset:var(--ax-comp-list-item-focus-outline-offset, -4px);outline-color:rgba(var(--ax-comp-list-item-focus-outline-color, var(--ax-sys-color-primary-surface)))}ax-list .cdk-virtual-scroll-viewport ul li .ax-label-container{display:flex;align-items:center;width:100%}ax-list .cdk-virtual-scroll-viewport ul li .ax-checkbox-label{margin-inline-start:var(--ax-comp-list-checkbox-label-margin-s, .5rem)}ax-list .cdk-virtual-scroll-viewport ul li.ax-state-selected{background-color:rgba(var(--ax-comp-list-item-selected-bg-color))}ax-list .cdk-virtual-scroll-viewport ul li.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-list-item-disabled-opacity, .5)}ax-list .cdk-virtual-scroll-viewport ul li .ax-truncated{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\\n\"], dependencies: [{ kind: \"directive\", type: CdkVirtualScrollableElement, selector: \"[cdkVirtualScrollingElement]\" }, { kind: \"component\", type: CdkVirtualScrollViewport, selector: \"cdk-virtual-scroll-viewport\", inputs: [\"orientation\", \"appendOnly\"], outputs: [\"scrolledIndexChange\"] }, { kind: \"directive\", type: CdkFixedSizeVirtualScroll, selector: \"cdk-virtual-scroll-viewport[itemSize]\", inputs: [\"itemSize\", \"minBufferPx\", \"maxBufferPx\"] }, { kind: \"directive\", type: CdkVirtualForOf, selector: \"[cdkVirtualFor][cdkVirtualForOf]\", inputs: [\"cdkVirtualForOf\", \"cdkVirtualForTrackBy\", \"cdkVirtualForTemplate\", \"cdkVirtualForTemplateCacheSize\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: AXTooltipModule }, { kind: \"directive\", type: i1.AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltipDisabled\", \"axTooltip\", \"axTooltipContext\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: [\n 'id',\n 'name',\n 'disabled',\n 'readonly',\n 'valueField',\n 'textField',\n 'textTemplate',\n 'disabledField',\n 'multiple',\n 'selectionMode',\n ], outputs: ['onValueChanged', 'disabledChange', 'readonlyChange', 'onBlur', 'onFocus', 'onItemClick', 'onItemSelected'], providers: [\n { provide: AXComponent, useExisting: AXListComponent },\n { provide: AXFocusableComponent, useExisting: AXListComponent },\n { provide: AXValuableComponent, useExisting: AXListComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXListComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useFactory: (existingService) => {\n return existingService || new MXSelectionBridgeService();\n },\n deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],\n },\n ], imports: [\n CdkVirtualScrollableElement,\n CdkVirtualScrollViewport,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n NgTemplateOutlet,\n AsyncPipe,\n AXTranslatorPipe,\n AXTooltipModule,\n AXTooltipDirective,\n ], template: \"<div class=\\\"list-container\\\" cdkVirtualScrollingElement [class.ax-height-auto]=\\\"showEmptyTemplate()\\\">\\n <ng-content select=\\\"ax-header\\\"></ng-content>\\n <cdk-virtual-scroll-viewport\\n [itemSize]=\\\"itemHeightSignal()\\\"\\n [style.--item-height]=\\\"itemHeightSignal() + 'px'\\\"\\n (scrolledIndexChange)=\\\"_handleOnscrolledIndexChange($event)\\\"\\n [class.ax-truncated-container]=\\\"isItemTruncated()\\\"\\n >\\n <ul>\\n <!-- Item Template -->\\n <ng-container *cdkVirtualFor=\\\"let item of listDataSource; let i = index; trackBy: trackByIdx\\\">\\n @if (item !== null && item !== undefined) {\\n <li\\n [class.ax-state-selected]=\\\"isItemSelected(item)\\\"\\n class=\\\"list-item\\\"\\n [class.ax-state-disabled]=\\\"isItemDisabled(item)\\\"\\n [attr.tabindex]=\\\"i\\\"\\n (click)=\\\"_handleOnItemClick($event, item)\\\"\\n [attr.data-id]=\\\"getValue(item)\\\"\\n >\\n <!-- Custom Item Template -->\\n @if (itemTemplate) {\\n <ng-container [ngTemplateOutlet]=\\\"itemTemplate\\\" [ngTemplateOutletContext]=\\\"{ $implicit: { data: item } }\\\">\\n </ng-container>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"defaultItemTpl\\\"></ng-container>\\n }\\n <!-- Default Item Template -->\\n <ng-template #defaultItemTpl>\\n @if (item !== null && item !== undefined) {\\n <div class=\\\"ax-label-container\\\">\\n @if (multiple && checkbox) {\\n <input\\n class=\\\"ax-checkbox\\\"\\n type=\\\"checkbox\\\"\\n [checked]=\\\"isItemSelected(item)\\\"\\n [disabled]=\\\"isItemDisabled(item)\\\"\\n tabindex=\\\"0\\\"\\n />\\n }\\n\\n <span\\n [class.ax-checkbox-label]=\\\"multiple && checkbox\\\"\\n [class.ax-truncated]=\\\"isItemTruncated()\\\"\\n [axTooltip]=\\\"getDisplayText(item)\\\"\\n [axTooltipDisabled]=\\\"!showItemTooltip()\\\"\\n >\\n {{ getDisplayText(item) | translate | async }}\\n </span>\\n </div>\\n <!-- @if (isItemSelected(item)) {\\n <i class=\\\"ax-icon ax-icon-check ax-selected-icon\\\"></i>\\n } -->\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTpl\\\"> </ng-container>\\n }\\n </ng-template>\\n </li>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTpl\\\"> </ng-container>\\n }\\n </ng-container>\\n </ul>\\n </cdk-virtual-scroll-viewport>\\n <ng-content select=\\\"ax-footer\\\"></ng-content>\\n</div>\\n\\n<!-- Loading Template -->\\n<ng-template #loadingTpl>\\n <!-- Custom Loading Template -->\\n @if (loadingTemplate) {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTemplate\\\"> </ng-container>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"defaultLoadingTpl\\\"> </ng-container>\\n }\\n <!-- Default Loading Template -->\\n <ng-template #defaultLoadingTpl>\\n <li>{{ '@acorex:common.status.loading' | translate | async }}</li>\\n </ng-template>\\n</ng-template>\\n<!-- Empty Template -->\\n@if (showEmptyTemplate()) {\\n <div class=\\\"empty-container\\\">\\n <ng-container [ngTemplateOutlet]=\\\"emptyTemplate\\\"></ng-container>\\n </div>\\n}\\n\", styles: [\"ax-list{--ax-comp-list-item-height: var(--ax-sys-size-base);--ax-comp-list-empty-container-height: var(--ax-sys-size-base)}ax-list{--ax-comp-list-item-selected-bg-color: var(--ax-sys-color-primary-surface), .2;--ax-comp-list-item-header: var(--ax-sys-color-lighter-surface);--ax-comp-list-item-footer: var(--ax-sys-color-lighter-surface)}ax-list{display:block;height:100%;width:100%;font-size:var(--ax-comp-list-font-size, .875rem);line-height:var(--ax-comp-list-line-height, 1.25rem)}ax-list .list-container{display:flex;height:100%;flex-direction:column}ax-list .list-container.ax-height-auto{height:auto}ax-list ax-header{background-color:rgba(var(--ax-comp-list-item-header))}ax-list ax-footer{background-color:rgba(var(--ax-comp-list-item-footer))}ax-list .empty-container{display:flex;height:var(--ax-comp-list-empty-container-height);width:100%;align-items:center;justify-content:center;padding-left:var(--ax-comp-list-empty-container-padding-x, .75rem);padding-right:var(--ax-comp-list-empty-container-padding-x, .75rem)}ax-list .cdk-virtual-scroll-viewport.ax-truncated-container .cdk-virtual-scroll-content-wrapper{width:100%;min-width:unset}ax-list .cdk-virtual-scroll-viewport ul li{position:relative;display:flex;min-height:var(--ax-comp-list-item-height);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding-inline-end:var(--ax-comp-list-item-padding-e, 1rem);padding-inline-start:var(--ax-comp-list-item-padding-s, .75rem);font-size:var(--ax-comp-list-font-size, .875rem);line-height:var(--ax-comp-list-line-height, 1.25rem)}ax-list .cdk-virtual-scroll-viewport ul li:hover{background:rgba(var(--ax-comp-list-item-hover-bg-color, var(--ax-sys-color-surface)))}ax-list .cdk-virtual-scroll-viewport ul li:focus,ax-list .cdk-virtual-scroll-viewport ul li:focus-within,ax-list .cdk-virtual-scroll-viewport ul li:focus-visible{outline-width:var(--ax-comp-list-item-focus-outline-width, 2px);outline-offset:var(--ax-comp-list-item-focus-outline-offset, -4px);outline-color:rgba(var(--ax-comp-list-item-focus-outline-color, var(--ax-sys-color-primary-surface)))}ax-list .cdk-virtual-scroll-viewport ul li .ax-label-container{display:flex;align-items:center;width:100%}ax-list .cdk-virtual-scroll-viewport ul li .ax-checkbox-label{margin-inline-start:var(--ax-comp-list-checkbox-label-margin-s, .5rem)}ax-list .cdk-virtual-scroll-viewport ul li.ax-state-selected{background-color:rgba(var(--ax-comp-list-item-selected-bg-color))}ax-list .cdk-virtual-scroll-viewport ul li.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-list-item-disabled-opacity, .5)}ax-list .cdk-virtual-scroll-viewport ul li .ax-truncated{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\\n\"] }]\n }], propDecorators: { isItemTruncated: [{ type: i0.Input, args: [{ isSignal: true, alias: \"isItemTruncated\", required: false }] }], showItemTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: \"showItemTooltip\", required: false }] }], dataSource: [{\n type: Input\n }], itemHeight: [{\n type: Input\n }], itemTemplate: [{\n type: Input\n }], emptyTemplate: [{\n type: Input\n }], loadingTemplate: [{\n type: Input\n }], onScrolledIndexChanged: [{\n type: Output\n }], checkbox: [{\n type: Input\n }], viewport: [{\n type: ViewChild,\n args: [CdkVirtualScrollViewport]\n }], _handleKeydown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBRVosb0JBQW9CLEVBRXBCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsd0JBQXdCLEdBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHdCQUF3QixFQUN4QiwyQkFBMkIsR0FDNUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFFakIsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNbkQ7Ozs7R0FJRztBQWlESCxNQUFNLE9BQU8sZUFBZ0IsU0FB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QUUsV0FBVyxpQkFBaUIsRUFBRTt3QkFDOUQ7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFVBQVUsRUFBRSxDQUFDLGVBQXlDLEVBQUUsRUFBRTtnQ0FDeEQsT0FBTyxlQUFlLElBQUksSUFBSSx3QkFBd0IsRUFBRSxDQUFDOzRCQUMzRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUM7eUJBQ2xFO3FCQUNGLFdBQ1E7d0JBQ1AsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGtCQUFrQjtxQkFDbkI7O3NCQXVCQSxLQUFLOztzQkFXTCxLQUFLOztzQkFRTCxLQUFLOztzQkFNTCxLQUFLOztzQkFNTCxLQUFLOztzQkFRTCxNQUFNOztzQkFRTixLQUFLOztzQkErQkwsU0FBUzt1QkFBQyx3QkFBd0I7O3NCQWtEbEMsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENvbXBvbmVudCxcbiAgQVhEYXRhU291cmNlLFxuICBBWEV2ZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhJdGVtQ2xpY2tFdmVudCxcbiAgQVhMaXN0RGF0YVNvdXJjZSxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgQVhfU0VMRUNUSU9OX0RBVEFfVE9LRU4sXG4gIE1YU2VsZWN0aW9uQnJpZGdlU2VydmljZSxcbiAgTVhTZWxlY3Rpb25WYWx1ZUNvbXBvbmVudCxcbiAgY29udmVydEFycmF5VG9EYXRhU291cmNlLFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhUb29sdGlwRGlyZWN0aXZlLCBBWFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7XG4gIENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsXG4gIENka1ZpcnR1YWxGb3JPZixcbiAgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LFxuICBDZGtWaXJ0dWFsU2Nyb2xsYWJsZUVsZW1lbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0LCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2tpcFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhMaXN0U2Nyb2xsSW5kZXhDaGFuZ2VkIGV4dGVuZHMgQVhFdmVudCB7XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbi8qKlxuICogcHJvdmlkZXMgYSBsaXN0IGNvbnRyb2wgd2l0aCB2YXJpb3VzIGlucHV0IG9wdGlvbnMgYW5kIGV2ZW50cyBmb3IgdXNlciBpbnRlcmFjdGlvbi5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbnB1dHM6IFtcbiAgICAnaWQnLFxuICAgICduYW1lJyxcbiAgICAnZGlzYWJsZWQnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3ZhbHVlRmllbGQnLFxuICAgICd0ZXh0RmllbGQnLFxuICAgICd0ZXh0VGVtcGxhdGUnLFxuICAgICdkaXNhYmxlZEZpZWxkJyxcbiAgICAnbXVsdGlwbGUnLFxuICAgICdzZWxlY3Rpb25Nb2RlJyxcbiAgXSxcbiAgb3V0cHV0czogWydvblZhbHVlQ2hhbmdlZCcsICdkaXNhYmxlZENoYW5nZScsICdyZWFkb25seUNoYW5nZScsICdvbkJsdXInLCAnb25Gb2N1cycsICdvbkl0ZW1DbGljaycsICdvbkl0ZW1TZWxlY3RlZCddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhMaXN0Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTGlzdENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTGlzdENvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhMaXN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhfU0VMRUNUSU9OX0RBVEFfVE9LRU4sXG4gICAgICB1c2VGYWN0b3J5OiAoZXhpc3RpbmdTZXJ2aWNlOiBNWFNlbGVjdGlvbkJyaWRnZVNlcnZpY2UpID0+IHtcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nU2VydmljZSB8fCBuZXcgTVhTZWxlY3Rpb25CcmlkZ2VTZXJ2aWNlKCk7XG4gICAgICB9LFxuICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIEFYX1NFTEVDVElPTl9EQVRBX1RPS0VOXV0sXG4gICAgfSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENka1ZpcnR1YWxTY3JvbGxhYmxlRWxlbWVudCxcbiAgICBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsXG4gICAgQ2RrRml4ZWRTaXplVmlydHVhbFNjcm9sbCxcbiAgICBDZGtWaXJ0dWFsRm9yT2YsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBBc3luY1BpcGUsXG4gICAgQVhUcmFuc2xhdG9yUGlwZSxcbiAgICBBWFRvb2x0aXBNb2R1bGUsXG4gICAgQVhUb29sdGlwRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWExpc3RDb21wb25lbnQgZXh0ZW5kcyBNWFNlbGVjdGlvblZhbHVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYW4gaXRlbSBpcyB0cnVuY2F0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgdHJ1ZVxuICAgKi9cbiAgaXNJdGVtVHJ1bmNhdGVkID0gaW5wdXQodHJ1ZSk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYSB0b29sdGlwIGlzIHNob3duIGZvciBhbiBpdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICBzaG93SXRlbVRvb2x0aXAgPSBpbnB1dChmYWxzZSk7XG5cblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgZGF0YSBzb3VyY2UgZm9yIHRoZSBsaXN0LlxuICAgKlxuICAgKiAgQGRlZmF1bHRWYWx1ZSBjb252ZXJ0QXJyYXlUb0RhdGFTb3VyY2UoW10pXG4gICAqL1xuICBASW5wdXQoKVxuICBkYXRhU291cmNlOiBBWERhdGFTb3VyY2U8dW5rbm93bj4gPSBjb252ZXJ0QXJyYXlUb0RhdGFTb3VyY2UoW10pO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgaXRlbUhlaWdodFNpZ25hbDogV3JpdGFibGVTaWduYWw8bnVtYmVyIHwgJ2F1dG8nPiA9IHNpZ25hbCg0MCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGhlaWdodCBvZiBlYWNoIGl0ZW0gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGl0ZW1IZWlnaHQodjogbnVtYmVyIHwgJ2F1dG8nKSB7XG4gICAgdGhpcy5pdGVtSGVpZ2h0U2lnbmFsLnNldCh2KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSBmb3IgcmVuZGVyaW5nIGluZGl2aWR1YWwgaXRlbXMgaW4gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSB0byBkaXNwbGF5IHdoZW4gdGhlIGxpc3QgaXMgZW1wdHkuXG4gICAqL1xuICBASW5wdXQoKVxuICBlbXB0eVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogVGVtcGxhdGUgdG8gc2hvdyB3aGlsZSB0aGUgbGlzdCBpcyBsb2FkaW5nLlxuICAgKi9cbiAgQElucHV0KClcbiAgbG9hZGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbmRleCBvZiB0aGUgc2Nyb2xsZWQgaXRlbSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKVxuICBvblNjcm9sbGVkSW5kZXhDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhMaXN0U2Nyb2xsSW5kZXhDaGFuZ2VkPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhMaXN0U2Nyb2xsSW5kZXhDaGFuZ2VkPigpO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgY2hlY2tib3ggaXMgZW5hYmxlZC5cbiAgICpcbiAgICogIEBkZWZhdWx0VmFsdWUgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgY2hlY2tib3ggPSB0cnVlO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGxpc3REYXRhU291cmNlOiBBWExpc3REYXRhU291cmNlPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGlzTG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYXNJdGVtcyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBsYXN0SW5kZXggPSAwO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBwb3N0cG9uZUZvY3VzID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydClcbiAgcHJpdmF0ZSB2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gIHRyYWNrQnlJZHgoaSkge1xuICAgIHJldHVybiBpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMubGlzdERhdGFTb3VyY2UgPSBuZXcgQVhMaXN0RGF0YVNvdXJjZTx1bmtub3duPih7XG4gICAgICBzb3VyY2U6IHRoaXMuZGF0YVNvdXJjZSxcbiAgICB9KTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlLnNvdXJjZS5vbkxvYWRpbmdDaGFuZ2VkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGRhdGEpO1xuICAgIH0pO1xuICAgIHRoaXMubGlzdERhdGFTb3VyY2Uuc291cmNlLm9uQ2hhbmdlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaGFzSXRlbXMgPSBkYXRhLnRvdGFsQ291bnQgPiAwO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgX2hhbmRsZU9uSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSkge1xuICAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmlzSXRlbURpc2FibGVkKGl0ZW0pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudG9nZ2xlU2VsZWN0KGl0ZW0pO1xuICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBpdGVtLFxuICAgICAgaHRtbEVsZW1lbnQ6IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIF9oYW5kbGVLZXlkb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoKGUuY29kZSA9PT0gJ0Fycm93RG93bicgfHwgZS5jb2RlID09PSAnQXJyb3dVcCcpICYmIHRoaXMuaGFzSXRlbXMpIHtcbiAgICAgIHRoaXMuZm9jdXNJdGVtQnlOYXYoZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gMSA6IC0xKTtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gICAgaWYgKChlLmNvZGUgPT09ICdTcGFjZScgfHwgZS5jb2RlID09PSAnRW50ZXInKSAmJiB0aGlzLmhhc0l0ZW1zKSB7XG4gICAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmNsb3Nlc3QoJ2xpJyk/LmRhdGFzZXRbJ2lkJ107XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0KGlkKTtcbiAgICAgIH1cbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGZvY3VzSXRlbUJ5TmF2KHNpZ246IC0xIHwgMSk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICBjb25zdCBsaXN0ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJ3VsJyk7XG4gICAgICBjb25zdCBmbiA9IChzKSA9PiBsaXN0LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KHMpO1xuICAgICAgY29uc3QgaXRlbURpdjogSFRNTEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmNsb3Nlc3QoJ2xpJykgfHwgZm4oYGxpLmF4LXN0YXRlLXNlbGVjdGVkYCkgfHwgZm4oYGxpYCk7XG4gICAgICBjb25zdCBuZXh0ID0gKHNpZ24gPT0gMSA/IGl0ZW1EaXYubmV4dEVsZW1lbnRTaWJsaW5nIDogaXRlbURpdi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGlmIChuZXh0KSB7XG4gICAgICAgIG5leHQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlT25zY3JvbGxlZEluZGV4Q2hhbmdlKGU6IG51bWJlcikge1xuICAgIHRoaXMubGFzdEluZGV4ID0gZTtcbiAgICB0aGlzLm9uU2Nyb2xsZWRJbmRleENoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBpbmRleDogdGhpcy5sYXN0SW5kZXgsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW4gaXRlbSBmcm9tIHRoZSBkYXRhIHNvdXJjZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdXNlZCB0byBpZGVudGlmeSB0aGUgaXRlbS5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgZ2V0SXRlbUJ5S2V5KGtleTogdW5rbm93bik6IFByb21pc2U8dW5rbm93bj4gfCB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLmZpbmQoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBjb21wb25lbnQgYnkgdXBkYXRpbmcgdGhlIHZpZXdwb3J0IHNpemUsIHNjcm9sbGluZyB0byB0aGUgbGFzdCBpbmRleCwgYW5kIG9wdGlvbmFsbHkgZm9jdXNpbmcgdGhlIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgcmVuZGVyKCkge1xuICAgIHRoaXMudmlld3BvcnQuY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgICB0aGlzLnZpZXdwb3J0LnNjcm9sbFRvSW5kZXgodGhpcy5sYXN0SW5kZXgpO1xuICAgIGlmICh0aGlzLnBvc3Rwb25lRm9jdXMpIHtcbiAgICAgIHRoaXMucG9zdHBvbmVGb2N1cyA9IGZhbHNlO1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoZXMgdGhlIGxpc3QgYnkgY2xlYXJpbmcgdGhlIHNlbGVjdGlvbiBjYWNoZSBhbmQgcmVsb2FkaW5nIHRoZSBkYXRhIHNvdXJjZS5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHVibGljIHJlZnJlc2goY2xlYXJTZWxlY3Rpb24gPSB0cnVlKSB7XG4gICAgaWYgKGNsZWFyU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uQ2FjaGUoKTtcbiAgICB9XG4gICAgdGhpcy5saXN0RGF0YVNvdXJjZS5yZWZyZXNoKCk7XG4gIH1cblxuICAvKipcbiAgICogU2Nyb2xscyB0aGUgdmlld3BvcnQgdG8gdGhlIHNwZWNpZmllZCBpdGVtIGluZGV4LlxuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBpdGVtIHRvIHNjcm9sbCB0by5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHVibGljIHNjcm9sbFRvSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudmlld3BvcnQuc2Nyb2xsVG9JbmRleChpbmRleCk7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgZm9jdXMgdG8gdGhlIGZpcnN0IHNlbGVjdGFibGUgbGlzdCBpdGVtLiBJZiBubyBpdGVtIGlzIGF2YWlsYWJsZSwgcG9zdHBvbmVzIGZvY3VzLlxuICAgKi9cbiAgb3ZlcnJpZGUgZm9jdXMoKTogdm9pZCB7XG4gICAgY29uc3QgbGlzdCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCd1bCcpO1xuICAgIGNvbnN0IGZvY3VzYWJsZSA9XG4gICAgICBsaXN0LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCdsaS5heC1zdGF0ZS1zZWxlY3RlZCcpID8/IGxpc3QucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJ2xpLmxpc3QtaXRlbScpO1xuICAgIGlmIChmb2N1c2FibGUpIHtcbiAgICAgIGZvY3VzYWJsZS5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvc3Rwb25lRm9jdXMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gc2hvdyB0aGUgZW1wdHkgdGVtcGxhdGUgYmFzZWQgb24gdGhlIHByZXNlbmNlIG9mIGl0ZW1zIGFuZCBsb2FkaW5nIHN0YXRlLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBzaG93RW1wdHlUZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXNMb2FkaW5nKCkgPT09IGZhbHNlICYmIHRoaXMuZW1wdHlUZW1wbGF0ZSAmJiB0aGlzLmhhc0l0ZW1zID09PSBmYWxzZSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwibGlzdC1jb250YWluZXJcIiBjZGtWaXJ0dWFsU2Nyb2xsaW5nRWxlbWVudCBbY2xhc3MuYXgtaGVpZ2h0LWF1dG9dPVwic2hvd0VtcHR5VGVtcGxhdGUoKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcbiAgICBbaXRlbVNpemVdPVwiaXRlbUhlaWdodFNpZ25hbCgpXCJcbiAgICBbc3R5bGUuLS1pdGVtLWhlaWdodF09XCJpdGVtSGVpZ2h0U2lnbmFsKCkgKyAncHgnXCJcbiAgICAoc2Nyb2xsZWRJbmRleENoYW5nZSk9XCJfaGFuZGxlT25zY3JvbGxlZEluZGV4Q2hhbmdlKCRldmVudClcIlxuICAgIFtjbGFzcy5heC10cnVuY2F0ZWQtY29udGFpbmVyXT1cImlzSXRlbVRydW5jYXRlZCgpXCJcbiAgPlxuICAgIDx1bD5cbiAgICAgIDwhLS0gIEl0ZW0gVGVtcGxhdGUgIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGxpc3REYXRhU291cmNlOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SWR4XCI+XG4gICAgICAgIEBpZiAoaXRlbSAhPT0gbnVsbCAmJiBpdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1zZWxlY3RlZF09XCJpc0l0ZW1TZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgICBjbGFzcz1cImxpc3QtaXRlbVwiXG4gICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXNJdGVtRGlzYWJsZWQoaXRlbSlcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU9uSXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1pZF09XCJnZXRWYWx1ZShpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSAgQ3VzdG9tIEl0ZW0gVGVtcGxhdGUgIC0tPlxuICAgICAgICAgICAgQGlmIChpdGVtVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHsgZGF0YTogaXRlbSB9IH1cIj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkZWZhdWx0SXRlbVRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPCEtLSAgRGVmYXVsdCBJdGVtIFRlbXBsYXRlICAtLT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UcGw+XG4gICAgICAgICAgICAgIEBpZiAoaXRlbSAhPT0gbnVsbCAmJiBpdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICBAaWYgKG11bHRpcGxlICYmIGNoZWNrYm94KSB7XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0l0ZW1EaXNhYmxlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LWNoZWNrYm94LWxhYmVsXT1cIm11bHRpcGxlICYmIGNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXRydW5jYXRlZF09XCJpc0l0ZW1UcnVuY2F0ZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtheFRvb2x0aXBdPVwiZ2V0RGlzcGxheVRleHQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbYXhUb29sdGlwRGlzYWJsZWRdPVwiIXNob3dJdGVtVG9vbHRpcCgpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0RGlzcGxheVRleHQoaXRlbSkgfCB0cmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gQGlmIChpc0l0ZW1TZWxlY3RlZChpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hlY2sgYXgtc2VsZWN0ZWQtaWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICB9IC0tPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvYWRpbmdUcGxcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2FkaW5nVHBsXCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbjwhLS0gIExvYWRpbmcgVGVtcGxhdGUgIC0tPlxuPG5nLXRlbXBsYXRlICNsb2FkaW5nVHBsPlxuICA8IS0tICBDdXN0b20gTG9hZGluZyBUZW1wbGF0ZSAgLS0+XG4gIEBpZiAobG9hZGluZ1RlbXBsYXRlKSB7XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2FkaW5nVGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG4gIH0gQGVsc2Uge1xuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdExvYWRpbmdUcGxcIj4gPC9uZy1jb250YWluZXI+XG4gIH1cbiAgPCEtLSAgRGVmYXVsdCBMb2FkaW5nIFRlbXBsYXRlICAtLT5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TG9hZGluZ1RwbD5cbiAgICA8bGk+e3sgJ0BhY29yZXg6Y29tbW9uLnN0YXR1cy5sb2FkaW5nJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9saT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG48IS0tICBFbXB0eSBUZW1wbGF0ZSAgLS0+XG5AaWYgKHNob3dFbXB0eVRlbXBsYXRlKCkpIHtcbiAgPGRpdiBjbGFzcz1cImVtcHR5LWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { AXListComponent } from './list.component';\nimport * as i0 from \"@angular/core\";\nexport class AXListModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListModule, imports: [AXListComponent], exports: [AXListComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListModule, imports: [AXListComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [AXListComponent],\n exports: [AXListComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFNbkQsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZLFlBSGIsZUFBZSxhQUNmLGVBQWU7K0dBRWQsWUFBWSxZQUhiLGVBQWU7OzJGQUdkLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQVhMaXN0Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW0FYTGlzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTGlzdE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbGlzdC9zcmMvYWNvcmV4LWNvbXBvbmVudHMtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-list.mjs","sources":["../tmp-esm2022/list/lib/list.component.js","../tmp-esm2022/list/lib/list.module.js","../tmp-esm2022/list/acorex-components-list.js"],"sourcesContent":["import { AXComponent, AXDataSource, AXFocusableComponent, AXListDataSource, AXValuableComponent, AX_SELECTION_DATA_TOKEN, MXSelectionBridgeService, MXSelectionValueComponent, convertArrayToDataSource, } from '@acorex/cdk/common';\nimport { AXTooltipDirective, AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollableElement, } from '@angular/cdk/scrolling';\nimport { AsyncPipe, NgTemplateOutlet, isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Optional, Output, SkipSelf, TemplateRef, ViewChild, ViewEncapsulation, computed, forwardRef, input, signal, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/tooltip\";\n/**\n * provides a list control with various input options and events for user interaction.\n *\n * @category Components\n */\nexport class AXListComponent extends MXSelectionValueComponent {\n constructor() {\n super(...arguments);\n /**\n * Determines if an item is truncated.\n *\n * @defaultValue true\n */\n this.isItemTruncated = input(true, ...(ngDevMode ? [{ debugName: \"isItemTruncated\" }] : []));\n /**\n * Determines if a tooltip is shown for an item.\n *\n * @defaultValue false\n */\n this.showItemTooltip = input(false, ...(ngDevMode ? [{ debugName: \"showItemTooltip\" }] : []));\n /**\n * Defines the data source for the list.\n *\n * @defaultValue convertArrayToDataSource([])\n */\n this.dataSource = convertArrayToDataSource([]);\n /**\n * @ignore\n */\n this.itemHeightSignal = signal(40, ...(ngDevMode ? [{ debugName: \"itemHeightSignal\" }] : []));\n /**\n * Emitted when the index of the scrolled item changes.\n *\n * @event\n */\n this.onScrolledIndexChanged = new EventEmitter();\n /**\n * Specifies whether the checkbox is enabled.\n *\n * @defaultValue true\n */\n this.checkbox = true;\n /**\n * @ignore\n */\n this.isLoading = signal(true, ...(ngDevMode ? [{ debugName: \"isLoading\" }] : []));\n /**\n * @ignore\n */\n this.hasItems = false;\n /**\n * @ignore\n */\n this.lastIndex = 0;\n /**\n * @ignore\n */\n this.postponeFocus = false;\n /**\n * Determines whether to show the empty template based on the presence of items and loading state.\n * @ignore\n */\n this.showEmptyTemplate = computed(() => this.isLoading() === false && this.emptyTemplate && this.hasItems === false, ...(ngDevMode ? [{ debugName: \"showEmptyTemplate\" }] : []));\n }\n /**\n * Sets the height of each item in the list.\n */\n set itemHeight(v) {\n this.itemHeightSignal.set(v);\n }\n trackByIdx(i) {\n return i;\n }\n /**\n * @ignore\n */\n ngOnInit() {\n super.ngOnInit();\n this.listDataSource = new AXListDataSource({\n source: this.dataSource,\n });\n this.listDataSource.source.onLoadingChanged.subscribe((data) => {\n this.isLoading.set(data);\n });\n this.listDataSource.source.onChanged.subscribe((data) => {\n this.hasItems = data.totalCount > 0;\n setTimeout(() => {\n this.render();\n }, 100);\n });\n }\n /**\n * @ignore\n */\n _handleOnItemClick(e, item) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (this.isItemDisabled(item)) {\n return;\n }\n this.toggleSelect(item);\n this.onItemClick.emit({\n component: this,\n item,\n htmlElement: e.target,\n isUserInteraction: true,\n nativeEvent: e,\n });\n }\n /**\n * @ignore\n */\n _handleKeydown(e) {\n if ((e.code === 'ArrowDown' || e.code === 'ArrowUp') && this.hasItems) {\n this.focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);\n e.preventDefault();\n }\n if ((e.code === 'Space' || e.code === 'Enter') && this.hasItems) {\n if (this.readonly || this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (isPlatformBrowser(this.platformID)) {\n const id = this.document.activeElement?.closest('li')?.dataset['id'];\n this.toggleSelect(id);\n }\n e.preventDefault();\n e.stopPropagation();\n }\n }\n /**\n * @ignore\n */\n focusItemByNav(sign) {\n if (isPlatformBrowser(this.platformID)) {\n const list = this.getHostElement().querySelector('ul');\n const fn = (s) => list.querySelector(s);\n const itemDiv = this.document.activeElement?.closest('li') || fn(`li.ax-state-selected`) || fn(`li`);\n const next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling);\n if (next) {\n next.focus();\n }\n }\n }\n /**\n * @ignore\n */\n _handleOnscrolledIndexChange(e) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n /**\n * Retrieves an item from the data source based on the provided key.\n *\n * @param key The key used to identify the item.\n * @ignore\n */\n getItemByKey(key) {\n return this.dataSource.find(key);\n }\n /**\n * Renders the component by updating the viewport size, scrolling to the last index, and optionally focusing the element.\n */\n render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n if (this.postponeFocus) {\n this.postponeFocus = false;\n this.focus();\n }\n }\n /**\n * Refreshes the list by clearing the selection cache and reloading the data source.\n * @ignore\n */\n refresh(clearSelection = true) {\n if (clearSelection) {\n this.clearSelectionCache();\n }\n this.listDataSource.refresh();\n }\n /**\n * Scrolls the viewport to the specified item index.\n * @param index The index of the item to scroll to.\n * @ignore\n */\n scrollToIndex(index) {\n this.viewport.scrollToIndex(index);\n }\n /**\n * Sets focus to the first selectable list item. If no item is available, postpones focus.\n */\n focus() {\n const list = this.getHostElement().querySelector('ul');\n const focusable = list.querySelector('li.ax-state-selected') ?? list.querySelector('li.list-item');\n if (focusable) {\n focusable.focus();\n }\n else {\n this.postponeFocus = true;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.9\", type: AXListComponent, isStandalone: true, selector: \"ax-list\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: \"name\", publicName: \"name\", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: \"readonly\", publicName: \"readonly\", isSignal: false, isRequired: false, transformFunction: null }, valueField: { classPropertyName: \"valueField\", publicName: \"valueField\", isSignal: false, isRequired: false, transformFunction: null }, textField: { classPropertyName: \"textField\", publicName: \"textField\", isSignal: false, isRequired: false, transformFunction: null }, textTemplate: { classPropertyName: \"textTemplate\", publicName: \"textTemplate\", isSignal: false, isRequired: false, transformFunction: null }, disabledField: { classPropertyName: \"disabledField\", publicName: \"disabledField\", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: \"multiple\", publicName: \"multiple\", isSignal: false, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: \"selectionMode\", publicName: \"selectionMode\", isSignal: false, isRequired: false, transformFunction: null }, isItemTruncated: { classPropertyName: \"isItemTruncated\", publicName: \"isItemTruncated\", isSignal: true, isRequired: false, transformFunction: null }, showItemTooltip: { classPropertyName: \"showItemTooltip\", publicName: \"showItemTooltip\", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: \"dataSource\", publicName: \"dataSource\", isSignal: false, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: \"itemHeight\", publicName: \"itemHeight\", isSignal: false, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: \"itemTemplate\", publicName: \"itemTemplate\", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: \"emptyTemplate\", publicName: \"emptyTemplate\", isSignal: false, isRequired: false, transformFunction: null }, loadingTemplate: { classPropertyName: \"loadingTemplate\", publicName: \"loadingTemplate\", isSignal: false, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: \"checkbox\", publicName: \"checkbox\", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: \"onValueChanged\", disabledChange: \"disabledChange\", readonlyChange: \"readonlyChange\", onBlur: \"onBlur\", onFocus: \"onFocus\", onItemClick: \"onItemClick\", onItemSelected: \"onItemSelected\", onScrolledIndexChanged: \"onScrolledIndexChanged\" }, host: { listeners: { \"keydown\": \"_handleKeydown($event)\" } }, providers: [\n { provide: AXComponent, useExisting: AXListComponent },\n { provide: AXFocusableComponent, useExisting: AXListComponent },\n { provide: AXValuableComponent, useExisting: AXListComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXListComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useFactory: (existingService) => {\n return existingService || new MXSelectionBridgeService();\n },\n deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],\n },\n ], viewQueries: [{ propertyName: \"viewport\", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"list-container\\\" cdkVirtualScrollingElement [class.ax-height-auto]=\\\"showEmptyTemplate()\\\">\\n <ng-content select=\\\"ax-header\\\"></ng-content>\\n <cdk-virtual-scroll-viewport\\n [itemSize]=\\\"itemHeightSignal()\\\"\\n [style.--item-height]=\\\"itemHeightSignal() + 'px'\\\"\\n (scrolledIndexChange)=\\\"_handleOnscrolledIndexChange($event)\\\"\\n [class.ax-truncated-container]=\\\"isItemTruncated()\\\"\\n >\\n <ul>\\n <!-- Item Template -->\\n <ng-container *cdkVirtualFor=\\\"let item of listDataSource; let i = index; trackBy: trackByIdx\\\">\\n @if (item !== null && item !== undefined) {\\n <li\\n [class.ax-state-selected]=\\\"isItemSelected(item)\\\"\\n class=\\\"list-item\\\"\\n [class.ax-state-disabled]=\\\"isItemDisabled(item)\\\"\\n [attr.tabindex]=\\\"i\\\"\\n (click)=\\\"_handleOnItemClick($event, item)\\\"\\n [attr.data-id]=\\\"getValue(item)\\\"\\n >\\n <!-- Custom Item Template -->\\n @if (itemTemplate) {\\n <ng-container [ngTemplateOutlet]=\\\"itemTemplate\\\" [ngTemplateOutletContext]=\\\"{ $implicit: { data: item } }\\\">\\n </ng-container>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"defaultItemTpl\\\"></ng-container>\\n }\\n <!-- Default Item Template -->\\n <ng-template #defaultItemTpl>\\n @if (item !== null && item !== undefined) {\\n <div class=\\\"ax-label-container\\\">\\n @if (multiple && checkbox) {\\n <input\\n class=\\\"ax-checkbox\\\"\\n type=\\\"checkbox\\\"\\n [checked]=\\\"isItemSelected(item)\\\"\\n [disabled]=\\\"isItemDisabled(item)\\\"\\n tabindex=\\\"0\\\"\\n />\\n }\\n\\n <span\\n [class.ax-checkbox-label]=\\\"multiple && checkbox\\\"\\n [class.ax-truncated]=\\\"isItemTruncated()\\\"\\n [axTooltip]=\\\"getDisplayText(item)\\\"\\n [axTooltipDisabled]=\\\"!showItemTooltip()\\\"\\n >\\n {{ getDisplayText(item) | translate | async }}\\n </span>\\n </div>\\n <!-- @if (isItemSelected(item)) {\\n <i class=\\\"ax-icon ax-icon-check ax-selected-icon\\\"></i>\\n } -->\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTpl\\\"> </ng-container>\\n }\\n </ng-template>\\n </li>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTpl\\\"> </ng-container>\\n }\\n </ng-container>\\n </ul>\\n </cdk-virtual-scroll-viewport>\\n <ng-content select=\\\"ax-footer\\\"></ng-content>\\n</div>\\n\\n<!-- Loading Template -->\\n<ng-template #loadingTpl>\\n <!-- Custom Loading Template -->\\n @if (loadingTemplate) {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTemplate\\\"> </ng-container>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"defaultLoadingTpl\\\"> </ng-container>\\n }\\n <!-- Default Loading Template -->\\n <ng-template #defaultLoadingTpl>\\n <li>{{ '@acorex:common.status.loading' | translate | async }}</li>\\n </ng-template>\\n</ng-template>\\n<!-- Empty Template -->\\n@if (showEmptyTemplate()) {\\n <div class=\\\"empty-container\\\">\\n <ng-container [ngTemplateOutlet]=\\\"emptyTemplate\\\"></ng-container>\\n </div>\\n}\\n\", styles: [\"ax-list{--ax-comp-list-item-height: var(--ax-sys-size-base);--ax-comp-list-empty-container-height: var(--ax-sys-size-base)}ax-list{--ax-comp-list-item-selected-bg-color: var(--ax-sys-color-primary-surface), .2;--ax-comp-list-item-header: var(--ax-sys-color-lighter-surface);--ax-comp-list-item-footer: var(--ax-sys-color-lighter-surface)}ax-list{display:block;height:100%;width:100%;font-size:var(--ax-comp-list-font-size, .875rem);line-height:var(--ax-comp-list-line-height, 1.25rem)}ax-list .list-container{display:flex;height:100%;flex-direction:column}ax-list .list-container.ax-height-auto{height:auto}ax-list ax-header{background-color:rgba(var(--ax-comp-list-item-header))}ax-list ax-footer{background-color:rgba(var(--ax-comp-list-item-footer))}ax-list .empty-container{display:flex;height:var(--ax-comp-list-empty-container-height);width:100%;align-items:center;justify-content:center;padding-left:var(--ax-comp-list-empty-container-padding-x, .75rem);padding-right:var(--ax-comp-list-empty-container-padding-x, .75rem)}ax-list .cdk-virtual-scroll-viewport.ax-truncated-container .cdk-virtual-scroll-content-wrapper{width:100%;min-width:unset}ax-list .cdk-virtual-scroll-viewport ul li{position:relative;display:flex;min-height:var(--ax-comp-list-item-height);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding-inline-end:var(--ax-comp-list-item-padding-e, 1rem);padding-inline-start:var(--ax-comp-list-item-padding-s, .75rem);font-size:var(--ax-comp-list-font-size, .875rem);line-height:var(--ax-comp-list-line-height, 1.25rem)}ax-list .cdk-virtual-scroll-viewport ul li:hover{background:rgba(var(--ax-comp-list-item-hover-bg-color, var(--ax-sys-color-surface)))}ax-list .cdk-virtual-scroll-viewport ul li:focus,ax-list .cdk-virtual-scroll-viewport ul li:focus-within,ax-list .cdk-virtual-scroll-viewport ul li:focus-visible{outline-width:var(--ax-comp-list-item-focus-outline-width, 2px);outline-offset:var(--ax-comp-list-item-focus-outline-offset, -4px);outline-color:rgba(var(--ax-comp-list-item-focus-outline-color, var(--ax-sys-color-primary-surface)))}ax-list .cdk-virtual-scroll-viewport ul li .ax-label-container{display:flex;align-items:center;width:100%}ax-list .cdk-virtual-scroll-viewport ul li .ax-checkbox-label{margin-inline-start:var(--ax-comp-list-checkbox-label-margin-s, .5rem)}ax-list .cdk-virtual-scroll-viewport ul li.ax-state-selected{background-color:rgba(var(--ax-comp-list-item-selected-bg-color))}ax-list .cdk-virtual-scroll-viewport ul li.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-list-item-disabled-opacity, .5)}ax-list .cdk-virtual-scroll-viewport ul li .ax-truncated{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\\n\"], dependencies: [{ kind: \"directive\", type: CdkVirtualScrollableElement, selector: \"[cdkVirtualScrollingElement]\" }, { kind: \"component\", type: CdkVirtualScrollViewport, selector: \"cdk-virtual-scroll-viewport\", inputs: [\"orientation\", \"appendOnly\"], outputs: [\"scrolledIndexChange\"] }, { kind: \"directive\", type: CdkFixedSizeVirtualScroll, selector: \"cdk-virtual-scroll-viewport[itemSize]\", inputs: [\"itemSize\", \"minBufferPx\", \"maxBufferPx\"] }, { kind: \"directive\", type: CdkVirtualForOf, selector: \"[cdkVirtualFor][cdkVirtualForOf]\", inputs: [\"cdkVirtualForOf\", \"cdkVirtualForTrackBy\", \"cdkVirtualForTemplate\", \"cdkVirtualForTemplateCacheSize\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: AXTooltipModule }, { kind: \"directive\", type: i1.AXTooltipDirective, selector: \"[axTooltip]\", inputs: [\"axTooltipDisabled\", \"axTooltip\", \"axTooltipContext\", \"axTooltipPlacement\", \"axTooltipOffsetX\", \"axTooltipOffsetY\", \"axTooltipOpenAfter\", \"axTooltipCloseAfter\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-list', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: [\n 'id',\n 'name',\n 'disabled',\n 'readonly',\n 'valueField',\n 'textField',\n 'textTemplate',\n 'disabledField',\n 'multiple',\n 'selectionMode',\n ], outputs: ['onValueChanged', 'disabledChange', 'readonlyChange', 'onBlur', 'onFocus', 'onItemClick', 'onItemSelected'], providers: [\n { provide: AXComponent, useExisting: AXListComponent },\n { provide: AXFocusableComponent, useExisting: AXListComponent },\n { provide: AXValuableComponent, useExisting: AXListComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXListComponent),\n multi: true,\n },\n {\n provide: AX_SELECTION_DATA_TOKEN,\n useFactory: (existingService) => {\n return existingService || new MXSelectionBridgeService();\n },\n deps: [[new Optional(), new SkipSelf(), AX_SELECTION_DATA_TOKEN]],\n },\n ], imports: [\n CdkVirtualScrollableElement,\n CdkVirtualScrollViewport,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n NgTemplateOutlet,\n AsyncPipe,\n AXTranslatorPipe,\n AXTooltipModule,\n AXTooltipDirective,\n ], template: \"<div class=\\\"list-container\\\" cdkVirtualScrollingElement [class.ax-height-auto]=\\\"showEmptyTemplate()\\\">\\n <ng-content select=\\\"ax-header\\\"></ng-content>\\n <cdk-virtual-scroll-viewport\\n [itemSize]=\\\"itemHeightSignal()\\\"\\n [style.--item-height]=\\\"itemHeightSignal() + 'px'\\\"\\n (scrolledIndexChange)=\\\"_handleOnscrolledIndexChange($event)\\\"\\n [class.ax-truncated-container]=\\\"isItemTruncated()\\\"\\n >\\n <ul>\\n <!-- Item Template -->\\n <ng-container *cdkVirtualFor=\\\"let item of listDataSource; let i = index; trackBy: trackByIdx\\\">\\n @if (item !== null && item !== undefined) {\\n <li\\n [class.ax-state-selected]=\\\"isItemSelected(item)\\\"\\n class=\\\"list-item\\\"\\n [class.ax-state-disabled]=\\\"isItemDisabled(item)\\\"\\n [attr.tabindex]=\\\"i\\\"\\n (click)=\\\"_handleOnItemClick($event, item)\\\"\\n [attr.data-id]=\\\"getValue(item)\\\"\\n >\\n <!-- Custom Item Template -->\\n @if (itemTemplate) {\\n <ng-container [ngTemplateOutlet]=\\\"itemTemplate\\\" [ngTemplateOutletContext]=\\\"{ $implicit: { data: item } }\\\">\\n </ng-container>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"defaultItemTpl\\\"></ng-container>\\n }\\n <!-- Default Item Template -->\\n <ng-template #defaultItemTpl>\\n @if (item !== null && item !== undefined) {\\n <div class=\\\"ax-label-container\\\">\\n @if (multiple && checkbox) {\\n <input\\n class=\\\"ax-checkbox\\\"\\n type=\\\"checkbox\\\"\\n [checked]=\\\"isItemSelected(item)\\\"\\n [disabled]=\\\"isItemDisabled(item)\\\"\\n tabindex=\\\"0\\\"\\n />\\n }\\n\\n <span\\n [class.ax-checkbox-label]=\\\"multiple && checkbox\\\"\\n [class.ax-truncated]=\\\"isItemTruncated()\\\"\\n [axTooltip]=\\\"getDisplayText(item)\\\"\\n [axTooltipDisabled]=\\\"!showItemTooltip()\\\"\\n >\\n {{ getDisplayText(item) | translate | async }}\\n </span>\\n </div>\\n <!-- @if (isItemSelected(item)) {\\n <i class=\\\"ax-icon ax-icon-check ax-selected-icon\\\"></i>\\n } -->\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTpl\\\"> </ng-container>\\n }\\n </ng-template>\\n </li>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTpl\\\"> </ng-container>\\n }\\n </ng-container>\\n </ul>\\n </cdk-virtual-scroll-viewport>\\n <ng-content select=\\\"ax-footer\\\"></ng-content>\\n</div>\\n\\n<!-- Loading Template -->\\n<ng-template #loadingTpl>\\n <!-- Custom Loading Template -->\\n @if (loadingTemplate) {\\n <ng-container [ngTemplateOutlet]=\\\"loadingTemplate\\\"> </ng-container>\\n } @else {\\n <ng-container [ngTemplateOutlet]=\\\"defaultLoadingTpl\\\"> </ng-container>\\n }\\n <!-- Default Loading Template -->\\n <ng-template #defaultLoadingTpl>\\n <li>{{ '@acorex:common.status.loading' | translate | async }}</li>\\n </ng-template>\\n</ng-template>\\n<!-- Empty Template -->\\n@if (showEmptyTemplate()) {\\n <div class=\\\"empty-container\\\">\\n <ng-container [ngTemplateOutlet]=\\\"emptyTemplate\\\"></ng-container>\\n </div>\\n}\\n\", styles: [\"ax-list{--ax-comp-list-item-height: var(--ax-sys-size-base);--ax-comp-list-empty-container-height: var(--ax-sys-size-base)}ax-list{--ax-comp-list-item-selected-bg-color: var(--ax-sys-color-primary-surface), .2;--ax-comp-list-item-header: var(--ax-sys-color-lighter-surface);--ax-comp-list-item-footer: var(--ax-sys-color-lighter-surface)}ax-list{display:block;height:100%;width:100%;font-size:var(--ax-comp-list-font-size, .875rem);line-height:var(--ax-comp-list-line-height, 1.25rem)}ax-list .list-container{display:flex;height:100%;flex-direction:column}ax-list .list-container.ax-height-auto{height:auto}ax-list ax-header{background-color:rgba(var(--ax-comp-list-item-header))}ax-list ax-footer{background-color:rgba(var(--ax-comp-list-item-footer))}ax-list .empty-container{display:flex;height:var(--ax-comp-list-empty-container-height);width:100%;align-items:center;justify-content:center;padding-left:var(--ax-comp-list-empty-container-padding-x, .75rem);padding-right:var(--ax-comp-list-empty-container-padding-x, .75rem)}ax-list .cdk-virtual-scroll-viewport.ax-truncated-container .cdk-virtual-scroll-content-wrapper{width:100%;min-width:unset}ax-list .cdk-virtual-scroll-viewport ul li{position:relative;display:flex;min-height:var(--ax-comp-list-item-height);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding-inline-end:var(--ax-comp-list-item-padding-e, 1rem);padding-inline-start:var(--ax-comp-list-item-padding-s, .75rem);font-size:var(--ax-comp-list-font-size, .875rem);line-height:var(--ax-comp-list-line-height, 1.25rem)}ax-list .cdk-virtual-scroll-viewport ul li:hover{background:rgba(var(--ax-comp-list-item-hover-bg-color, var(--ax-sys-color-surface)))}ax-list .cdk-virtual-scroll-viewport ul li:focus,ax-list .cdk-virtual-scroll-viewport ul li:focus-within,ax-list .cdk-virtual-scroll-viewport ul li:focus-visible{outline-width:var(--ax-comp-list-item-focus-outline-width, 2px);outline-offset:var(--ax-comp-list-item-focus-outline-offset, -4px);outline-color:rgba(var(--ax-comp-list-item-focus-outline-color, var(--ax-sys-color-primary-surface)))}ax-list .cdk-virtual-scroll-viewport ul li .ax-label-container{display:flex;align-items:center;width:100%}ax-list .cdk-virtual-scroll-viewport ul li .ax-checkbox-label{margin-inline-start:var(--ax-comp-list-checkbox-label-margin-s, .5rem)}ax-list .cdk-virtual-scroll-viewport ul li.ax-state-selected{background-color:rgba(var(--ax-comp-list-item-selected-bg-color))}ax-list .cdk-virtual-scroll-viewport ul li.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-list-item-disabled-opacity, .5)}ax-list .cdk-virtual-scroll-viewport ul li .ax-truncated{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\\n\"] }]\n }], propDecorators: { isItemTruncated: [{ type: i0.Input, args: [{ isSignal: true, alias: \"isItemTruncated\", required: false }] }], showItemTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: \"showItemTooltip\", required: false }] }], dataSource: [{\n type: Input\n }], itemHeight: [{\n type: Input\n }], itemTemplate: [{\n type: Input\n }], emptyTemplate: [{\n type: Input\n }], loadingTemplate: [{\n type: Input\n }], onScrolledIndexChanged: [{\n type: Output\n }], checkbox: [{\n type: Input\n }], viewport: [{\n type: ViewChild,\n args: [CdkVirtualScrollViewport]\n }], _handleKeydown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbGlzdC9zcmMvbGliL2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBRVosb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsd0JBQXdCLEdBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHdCQUF3QixFQUN4QiwyQkFBMkIsR0FDNUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFFakIsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNbkQ7Ozs7R0FJRztBQWlESCxNQUFNLE9BQU8sZUFBZ0IsU0FB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QUUsV0FBVyxpQkFBaUIsRUFBRTt3QkFDOUQ7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFVBQVUsRUFBRSxDQUFDLGVBQXlDLEVBQUUsRUFBRTtnQ0FDeEQsT0FBTyxlQUFlLElBQUksSUFBSSx3QkFBd0IsRUFBRSxDQUFDOzRCQUMzRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUM7eUJBQ2xFO3FCQUNGLFdBQ1E7d0JBQ1AsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGtCQUFrQjtxQkFDbkI7O3NCQXNCQSxLQUFLOztzQkFXTCxLQUFLOztzQkFRTCxLQUFLOztzQkFNTCxLQUFLOztzQkFNTCxLQUFLOztzQkFRTCxNQUFNOztzQkFRTixLQUFLOztzQkErQkwsU0FBUzt1QkFBQyx3QkFBd0I7O3NCQWtEbEMsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENvbXBvbmVudCxcbiAgQVhEYXRhU291cmNlLFxuICBBWEV2ZW50LFxuICBBWEZvY3VzYWJsZUNvbXBvbmVudCxcbiAgQVhMaXN0RGF0YVNvdXJjZSxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgQVhfU0VMRUNUSU9OX0RBVEFfVE9LRU4sXG4gIE1YU2VsZWN0aW9uQnJpZGdlU2VydmljZSxcbiAgTVhTZWxlY3Rpb25WYWx1ZUNvbXBvbmVudCxcbiAgY29udmVydEFycmF5VG9EYXRhU291cmNlLFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhUb29sdGlwRGlyZWN0aXZlLCBBWFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7XG4gIENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsXG4gIENka1ZpcnR1YWxGb3JPZixcbiAgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LFxuICBDZGtWaXJ0dWFsU2Nyb2xsYWJsZUVsZW1lbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0LCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2tpcFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhMaXN0U2Nyb2xsSW5kZXhDaGFuZ2VkIGV4dGVuZHMgQVhFdmVudCB7XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbi8qKlxuICogcHJvdmlkZXMgYSBsaXN0IGNvbnRyb2wgd2l0aCB2YXJpb3VzIGlucHV0IG9wdGlvbnMgYW5kIGV2ZW50cyBmb3IgdXNlciBpbnRlcmFjdGlvbi5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbnB1dHM6IFtcbiAgICAnaWQnLFxuICAgICduYW1lJyxcbiAgICAnZGlzYWJsZWQnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3ZhbHVlRmllbGQnLFxuICAgICd0ZXh0RmllbGQnLFxuICAgICd0ZXh0VGVtcGxhdGUnLFxuICAgICdkaXNhYmxlZEZpZWxkJyxcbiAgICAnbXVsdGlwbGUnLFxuICAgICdzZWxlY3Rpb25Nb2RlJyxcbiAgXSxcbiAgb3V0cHV0czogWydvblZhbHVlQ2hhbmdlZCcsICdkaXNhYmxlZENoYW5nZScsICdyZWFkb25seUNoYW5nZScsICdvbkJsdXInLCAnb25Gb2N1cycsICdvbkl0ZW1DbGljaycsICdvbkl0ZW1TZWxlY3RlZCddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhMaXN0Q29tcG9uZW50IH0sXG4gICAgeyBwcm92aWRlOiBBWEZvY3VzYWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTGlzdENvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhWYWx1YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTGlzdENvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhMaXN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhfU0VMRUNUSU9OX0RBVEFfVE9LRU4sXG4gICAgICB1c2VGYWN0b3J5OiAoZXhpc3RpbmdTZXJ2aWNlOiBNWFNlbGVjdGlvbkJyaWRnZVNlcnZpY2UpID0+IHtcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nU2VydmljZSB8fCBuZXcgTVhTZWxlY3Rpb25CcmlkZ2VTZXJ2aWNlKCk7XG4gICAgICB9LFxuICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIEFYX1NFTEVDVElPTl9EQVRBX1RPS0VOXV0sXG4gICAgfSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENka1ZpcnR1YWxTY3JvbGxhYmxlRWxlbWVudCxcbiAgICBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsXG4gICAgQ2RrRml4ZWRTaXplVmlydHVhbFNjcm9sbCxcbiAgICBDZGtWaXJ0dWFsRm9yT2YsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBBc3luY1BpcGUsXG4gICAgQVhUcmFuc2xhdG9yUGlwZSxcbiAgICBBWFRvb2x0aXBNb2R1bGUsXG4gICAgQVhUb29sdGlwRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWExpc3RDb21wb25lbnQgZXh0ZW5kcyBNWFNlbGVjdGlvblZhbHVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYW4gaXRlbSBpcyB0cnVuY2F0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgdHJ1ZVxuICAgKi9cbiAgaXNJdGVtVHJ1bmNhdGVkID0gaW5wdXQodHJ1ZSk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYSB0b29sdGlwIGlzIHNob3duIGZvciBhbiBpdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICBzaG93SXRlbVRvb2x0aXAgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGRhdGEgc291cmNlIGZvciB0aGUgbGlzdC5cbiAgICpcbiAgICogIEBkZWZhdWx0VmFsdWUgY29udmVydEFycmF5VG9EYXRhU291cmNlKFtdKVxuICAgKi9cbiAgQElucHV0KClcbiAgZGF0YVNvdXJjZTogQVhEYXRhU291cmNlPHVua25vd24+ID0gY29udmVydEFycmF5VG9EYXRhU291cmNlKFtdKTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGl0ZW1IZWlnaHRTaWduYWw6IFdyaXRhYmxlU2lnbmFsPG51bWJlciB8ICdhdXRvJz4gPSBzaWduYWwoNDApO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBoZWlnaHQgb2YgZWFjaCBpdGVtIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpdGVtSGVpZ2h0KHY6IG51bWJlciB8ICdhdXRvJykge1xuICAgIHRoaXMuaXRlbUhlaWdodFNpZ25hbC5zZXQodik7XG4gIH1cblxuICAvKipcbiAgICogVGVtcGxhdGUgZm9yIHJlbmRlcmluZyBpbmRpdmlkdWFsIGl0ZW1zIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogVGVtcGxhdGUgdG8gZGlzcGxheSB3aGVuIHRoZSBsaXN0IGlzIGVtcHR5LlxuICAgKi9cbiAgQElucHV0KClcbiAgZW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIFRlbXBsYXRlIHRvIHNob3cgd2hpbGUgdGhlIGxpc3QgaXMgbG9hZGluZy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5kZXggb2YgdGhlIHNjcm9sbGVkIGl0ZW0gY2hhbmdlcy5cbiAgICpcbiAgICogQGV2ZW50XG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25TY3JvbGxlZEluZGV4Q2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYTGlzdFNjcm9sbEluZGV4Q2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYTGlzdFNjcm9sbEluZGV4Q2hhbmdlZD4oKTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGVuYWJsZWQuXG4gICAqXG4gICAqICBAZGVmYXVsdFZhbHVlIHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGNoZWNrYm94ID0gdHJ1ZTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBsaXN0RGF0YVNvdXJjZTogQVhMaXN0RGF0YVNvdXJjZTx1bmtub3duPjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFzSXRlbXMgPSBmYWxzZTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgbGFzdEluZGV4ID0gMDtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgcG9zdHBvbmVGb2N1cyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpXG4gIHByaXZhdGUgdmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcblxuICB0cmFja0J5SWR4KGkpIHtcbiAgICByZXR1cm4gaTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlID0gbmV3IEFYTGlzdERhdGFTb3VyY2U8dW5rbm93bj4oe1xuICAgICAgc291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXG4gICAgfSk7XG4gICAgdGhpcy5saXN0RGF0YVNvdXJjZS5zb3VyY2Uub25Mb2FkaW5nQ2hhbmdlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChkYXRhKTtcbiAgICB9KTtcbiAgICB0aGlzLmxpc3REYXRhU291cmNlLnNvdXJjZS5vbkNoYW5nZWQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmhhc0l0ZW1zID0gZGF0YS50b3RhbENvdW50ID4gMDtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIF9oYW5kbGVPbkl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpIHtcbiAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0l0ZW1EaXNhYmxlZChpdGVtKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZVNlbGVjdChpdGVtKTtcbiAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaXRlbSxcbiAgICAgIGh0bWxFbGVtZW50OiBlLnRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBfaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKChlLmNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGUuY29kZSA9PT0gJ0Fycm93VXAnKSAmJiB0aGlzLmhhc0l0ZW1zKSB7XG4gICAgICB0aGlzLmZvY3VzSXRlbUJ5TmF2KGUua2V5ID09PSAnQXJyb3dEb3duJyA/IDEgOiAtMSk7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmICgoZS5jb2RlID09PSAnU3BhY2UnIHx8IGUuY29kZSA9PT0gJ0VudGVyJykgJiYgdGhpcy5oYXNJdGVtcykge1xuICAgICAgaWYgKHRoaXMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdsaScpPy5kYXRhc2V0WydpZCddO1xuICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdChpZCk7XG4gICAgICB9XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBmb2N1c0l0ZW1CeU5hdihzaWduOiAtMSB8IDEpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgY29uc3QgbGlzdCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCd1bCcpO1xuICAgICAgY29uc3QgZm4gPSAocykgPT4gbGlzdC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihzKTtcbiAgICAgIGNvbnN0IGl0ZW1EaXY6IEhUTUxFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50Py5jbG9zZXN0KCdsaScpIHx8IGZuKGBsaS5heC1zdGF0ZS1zZWxlY3RlZGApIHx8IGZuKGBsaWApO1xuICAgICAgY29uc3QgbmV4dCA9IChzaWduID09IDEgPyBpdGVtRGl2Lm5leHRFbGVtZW50U2libGluZyA6IGl0ZW1EaXYucHJldmlvdXNFbGVtZW50U2libGluZykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAobmV4dCkge1xuICAgICAgICBuZXh0LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZU9uc2Nyb2xsZWRJbmRleENoYW5nZShlOiBudW1iZXIpIHtcbiAgICB0aGlzLmxhc3RJbmRleCA9IGU7XG4gICAgdGhpcy5vblNjcm9sbGVkSW5kZXhDaGFuZ2VkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaW5kZXg6IHRoaXMubGFzdEluZGV4LFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuIGl0ZW0gZnJvbSB0aGUgZGF0YSBzb3VyY2UgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGtleS5cbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUga2V5IHVzZWQgdG8gaWRlbnRpZnkgdGhlIGl0ZW0uXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGdldEl0ZW1CeUtleShrZXk6IHVua25vd24pOiBQcm9taXNlPHVua25vd24+IHwgdW5rbm93biB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5maW5kKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgY29tcG9uZW50IGJ5IHVwZGF0aW5nIHRoZSB2aWV3cG9ydCBzaXplLCBzY3JvbGxpbmcgdG8gdGhlIGxhc3QgaW5kZXgsIGFuZCBvcHRpb25hbGx5IGZvY3VzaW5nIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIHJlbmRlcigpIHtcbiAgICB0aGlzLnZpZXdwb3J0LmNoZWNrVmlld3BvcnRTaXplKCk7XG4gICAgdGhpcy52aWV3cG9ydC5zY3JvbGxUb0luZGV4KHRoaXMubGFzdEluZGV4KTtcbiAgICBpZiAodGhpcy5wb3N0cG9uZUZvY3VzKSB7XG4gICAgICB0aGlzLnBvc3Rwb25lRm9jdXMgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVmcmVzaGVzIHRoZSBsaXN0IGJ5IGNsZWFyaW5nIHRoZSBzZWxlY3Rpb24gY2FjaGUgYW5kIHJlbG9hZGluZyB0aGUgZGF0YSBzb3VyY2UuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHB1YmxpYyByZWZyZXNoKGNsZWFyU2VsZWN0aW9uID0gdHJ1ZSkge1xuICAgIGlmIChjbGVhclNlbGVjdGlvbikge1xuICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbkNhY2hlKCk7XG4gICAgfVxuICAgIHRoaXMubGlzdERhdGFTb3VyY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbHMgdGhlIHZpZXdwb3J0IHRvIHRoZSBzcGVjaWZpZWQgaXRlbSBpbmRleC5cbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgaXRlbSB0byBzY3JvbGwgdG8uXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHB1YmxpYyBzY3JvbGxUb0luZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnZpZXdwb3J0LnNjcm9sbFRvSW5kZXgoaW5kZXgpO1xuICB9XG4gIC8qKlxuICAgKiBTZXRzIGZvY3VzIHRvIHRoZSBmaXJzdCBzZWxlY3RhYmxlIGxpc3QgaXRlbS4gSWYgbm8gaXRlbSBpcyBhdmFpbGFibGUsIHBvc3Rwb25lcyBmb2N1cy5cbiAgICovXG4gIG92ZXJyaWRlIGZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcigndWwnKTtcbiAgICBjb25zdCBmb2N1c2FibGUgPVxuICAgICAgbGlzdC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignbGkuYXgtc3RhdGUtc2VsZWN0ZWQnKSA/PyBsaXN0LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCdsaS5saXN0LWl0ZW0nKTtcbiAgICBpZiAoZm9jdXNhYmxlKSB7XG4gICAgICBmb2N1c2FibGUuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wb3N0cG9uZUZvY3VzID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHNob3cgdGhlIGVtcHR5IHRlbXBsYXRlIGJhc2VkIG9uIHRoZSBwcmVzZW5jZSBvZiBpdGVtcyBhbmQgbG9hZGluZyBzdGF0ZS5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgc2hvd0VtcHR5VGVtcGxhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlzTG9hZGluZygpID09PSBmYWxzZSAmJiB0aGlzLmVtcHR5VGVtcGxhdGUgJiYgdGhpcy5oYXNJdGVtcyA9PT0gZmFsc2UpO1xufVxuIiwiPGRpdiBjbGFzcz1cImxpc3QtY29udGFpbmVyXCIgY2RrVmlydHVhbFNjcm9sbGluZ0VsZW1lbnQgW2NsYXNzLmF4LWhlaWdodC1hdXRvXT1cInNob3dFbXB0eVRlbXBsYXRlKClcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XG4gICAgW2l0ZW1TaXplXT1cIml0ZW1IZWlnaHRTaWduYWwoKVwiXG4gICAgW3N0eWxlLi0taXRlbS1oZWlnaHRdPVwiaXRlbUhlaWdodFNpZ25hbCgpICsgJ3B4J1wiXG4gICAgKHNjcm9sbGVkSW5kZXhDaGFuZ2UpPVwiX2hhbmRsZU9uc2Nyb2xsZWRJbmRleENoYW5nZSgkZXZlbnQpXCJcbiAgICBbY2xhc3MuYXgtdHJ1bmNhdGVkLWNvbnRhaW5lcl09XCJpc0l0ZW1UcnVuY2F0ZWQoKVwiXG4gID5cbiAgICA8dWw+XG4gICAgICA8IS0tICBJdGVtIFRlbXBsYXRlICAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBsaXN0RGF0YVNvdXJjZTsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUlkeFwiPlxuICAgICAgICBAaWYgKGl0ZW0gIT09IG51bGwgJiYgaXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgPGxpXG4gICAgICAgICAgICBbY2xhc3MuYXgtc3RhdGUtc2VsZWN0ZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWl0ZW1cIlxuICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImlzSXRlbURpc2FibGVkKGl0ZW0pXCJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVPbkl0ZW1DbGljaygkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtaWRdPVwiZ2V0VmFsdWUoaXRlbSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gIEN1c3RvbSBJdGVtIFRlbXBsYXRlICAtLT5cbiAgICAgICAgICAgIEBpZiAoaXRlbVRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB7IGRhdGE6IGl0ZW0gfSB9XCI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdEl0ZW1UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwhLS0gIERlZmF1bHQgSXRlbSBUZW1wbGF0ZSAgLS0+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVHBsPlxuICAgICAgICAgICAgICBAaWYgKGl0ZW0gIT09IG51bGwgJiYgaXRlbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWxhYmVsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgQGlmIChtdWx0aXBsZSAmJiBjaGVja2JveCkge1xuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzSXRlbVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNJdGVtRGlzYWJsZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1jaGVja2JveC1sYWJlbF09XCJtdWx0aXBsZSAmJiBjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC10cnVuY2F0ZWRdPVwiaXNJdGVtVHJ1bmNhdGVkKClcIlxuICAgICAgICAgICAgICAgICAgICBbYXhUb29sdGlwXT1cImdldERpc3BsYXlUZXh0KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2F4VG9vbHRpcERpc2FibGVkXT1cIiFzaG93SXRlbVRvb2x0aXAoKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldERpc3BsYXlUZXh0KGl0ZW0pIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8IS0tIEBpZiAoaXNJdGVtU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZWNrIGF4LXNlbGVjdGVkLWljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgfSAtLT5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2FkaW5nVHBsXCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9hZGluZ1RwbFwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbiAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWZvb3RlclwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48IS0tICBMb2FkaW5nIFRlbXBsYXRlICAtLT5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZ1RwbD5cbiAgPCEtLSAgQ3VzdG9tIExvYWRpbmcgVGVtcGxhdGUgIC0tPlxuICBAaWYgKGxvYWRpbmdUZW1wbGF0ZSkge1xuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9hZGluZ1RlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuICB9IEBlbHNlIHtcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRMb2FkaW5nVHBsXCI+IDwvbmctY29udGFpbmVyPlxuICB9XG4gIDwhLS0gIERlZmF1bHQgTG9hZGluZyBUZW1wbGF0ZSAgLS0+XG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExvYWRpbmdUcGw+XG4gICAgPGxpPnt7ICdAYWNvcmV4OmNvbW1vbi5zdGF0dXMubG9hZGluZycgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGk+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuPCEtLSAgRW1wdHkgVGVtcGxhdGUgIC0tPlxuQGlmIChzaG93RW1wdHlUZW1wbGF0ZSgpKSB7XG4gIDxkaXYgY2xhc3M9XCJlbXB0eS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { AXListComponent } from './list.component';\nimport * as i0 from \"@angular/core\";\nexport class AXListModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListModule, imports: [AXListComponent], exports: [AXListComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListModule, imports: [AXListComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: AXListModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [AXListComponent],\n exports: [AXListComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2xpc3Qvc3JjL2xpYi9saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFNbkQsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZLFlBSGIsZUFBZSxhQUNmLGVBQWU7K0dBRWQsWUFBWSxZQUhiLGVBQWU7OzJGQUdkLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQVhMaXN0Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW0FYTGlzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTGlzdE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbGlzdC9zcmMvYWNvcmV4LWNvbXBvbmVudHMtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "21.0.0-next.18",
3
+ "version": "21.0.0-next.19",
4
4
  "peerDependencies": {
5
- "@acorex/core": "21.0.0-next.18",
6
- "@acorex/cdk": "21.0.0-next.18",
5
+ "@acorex/core": "21.0.0-next.19",
6
+ "@acorex/cdk": "21.0.0-next.19",
7
7
  "@angular/common": "^20.0.0",
8
8
  "@angular/core": "^20.0.0",
9
9
  "@angular/cdk": "^20.0.0",
@@ -68,14 +68,14 @@
68
68
  "types": "./accordion/index.d.ts",
69
69
  "default": "./fesm2022/acorex-components-accordion.mjs"
70
70
  },
71
- "./alert": {
72
- "types": "./alert/index.d.ts",
73
- "default": "./fesm2022/acorex-components-alert.mjs"
74
- },
75
71
  "./action-sheet": {
76
72
  "types": "./action-sheet/index.d.ts",
77
73
  "default": "./fesm2022/acorex-components-action-sheet.mjs"
78
74
  },
75
+ "./alert": {
76
+ "types": "./alert/index.d.ts",
77
+ "default": "./fesm2022/acorex-components-alert.mjs"
78
+ },
79
79
  "./aspect-ratio": {
80
80
  "types": "./aspect-ratio/index.d.ts",
81
81
  "default": "./fesm2022/acorex-components-aspect-ratio.mjs"
@@ -284,14 +284,14 @@
284
284
  "types": "./navbar/index.d.ts",
285
285
  "default": "./fesm2022/acorex-components-navbar.mjs"
286
286
  },
287
- "./notification": {
288
- "types": "./notification/index.d.ts",
289
- "default": "./fesm2022/acorex-components-notification.mjs"
290
- },
291
287
  "./number-box": {
292
288
  "types": "./number-box/index.d.ts",
293
289
  "default": "./fesm2022/acorex-components-number-box.mjs"
294
290
  },
291
+ "./notification": {
292
+ "types": "./notification/index.d.ts",
293
+ "default": "./fesm2022/acorex-components-notification.mjs"
294
+ },
295
295
  "./number-box-legacy": {
296
296
  "types": "./number-box-legacy/index.d.ts",
297
297
  "default": "./fesm2022/acorex-components-number-box-legacy.mjs"
@@ -436,14 +436,14 @@
436
436
  "types": "./tag-box/index.d.ts",
437
437
  "default": "./fesm2022/acorex-components-tag-box.mjs"
438
438
  },
439
- "./text-box": {
440
- "types": "./text-box/index.d.ts",
441
- "default": "./fesm2022/acorex-components-text-box.mjs"
442
- },
443
439
  "./text-area": {
444
440
  "types": "./text-area/index.d.ts",
445
441
  "default": "./fesm2022/acorex-components-text-area.mjs"
446
442
  },
443
+ "./text-box": {
444
+ "types": "./text-box/index.d.ts",
445
+ "default": "./fesm2022/acorex-components-text-box.mjs"
446
+ },
447
447
  "./time-duration": {
448
448
  "types": "./time-duration/index.d.ts",
449
449
  "default": "./fesm2022/acorex-components-time-duration.mjs"