@eui/components 15.5.6 → 15.5.7-snapshot-1707397428009

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.
@@ -461,9 +461,9 @@ class EuiAutocompleteComponent extends BaseDirective {
461
461
  this.keyboardOptionSelectorHandlerSubscription.unsubscribe();
462
462
  }
463
463
  onOpen() {
464
- setTimeout(() => {
465
- this.itemSize = (this.matAutocomplete.options?.first['_element']?.nativeElement?.clientHeight + 1) || 48;
466
- });
464
+ // setTimeout(() => {
465
+ // this.itemSize = (this.matAutocomplete.options?.first['_element']?.nativeElement?.clientHeight + 1) || 48;
466
+ // });
467
467
  this.scrollDispatcherSubscription = this.scrollDispatcher
468
468
  .ancestorScrolled(this.autocompleteInput)
469
469
  .subscribe((event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/models/eui-autocomplete-item.model.ts","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { EuiChipTooltip } from '@eui/components/eui-chip';\n\n// TODO: on v17 replace any with no object as a type and declare it as breaking change\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EuiAutoCompleteItem<METADATA = any> {\n id: string | number;\n euiInternalId: string;\n label: string;\n typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger';\n sizeClass: 'euiSizeS' | 'euiSizeM' | 'euiSizeL' | 'euiSizeXL' | 'euiSize2XL';\n iconClass: string;\n isRemovable: boolean;\n isOutline: boolean;\n isRounded: boolean;\n dragAndDropSource: string;\n isDisabled = false;\n tooltip?: EuiChipTooltip;\n metadata?: METADATA;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n OnDestroy,\n ElementRef,\n ViewChild,\n OnChanges,\n ChangeDetectorRef,\n Output,\n EventEmitter,\n SimpleChanges,\n QueryList,\n AfterViewInit,\n TemplateRef,\n ContentChildren,\n HostBinding,\n Self,\n Optional,\n DoCheck,\n} from '@angular/core';\nimport { FormControl, ControlValueAccessor, NgControl } from '@angular/forms';\nimport { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { skip, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject, BehaviorSubject, of, Observable, Subscription, fromEvent, filter } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { CdkScrollable, ScrollDispatcher, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiChipDragDrop, EuiChipListComponent } from '@eui/components/eui-chip-list';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\n\n@Component({\n templateUrl: './eui-autocomplete.component.html',\n selector: 'eui-autocomplete, input[euiAutocomplete]',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteComponent\n extends BaseDirective\n implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() placeholder = '';\n @Input() matching: 'startWith' | 'contains' = 'contains';\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n @Input() panelWidth: string | number;\n @Input() visibleOptions = 5;\n @Input() classList: string;\n @Input() groupBy: string;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n /** @deprecated This will be removed in next version of eui */\n @Output() closed = new EventEmitter();\n /** @deprecated This will be removed in next version of eui */\n @Output() opened = new EventEmitter();\n /** @deprecated This will be removed in next version of eui */\n @Output() selectionChanged = new EventEmitter<EuiAutoCompleteItem[]>();\n /** @deprecated This will be removed in next version of eui */\n @Output() itemAdded = new EventEmitter<EuiAutoCompleteItem>();\n /** @deprecated This will be removed in next version of eui */\n @Output() itemRemoved = new EventEmitter<EuiAutoCompleteItem>();\n /** @deprecated This will be removed in next version of eui */\n @Output() inputChanged = new EventEmitter<string>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDragStarted = new EventEmitter<EuiChipDragDrop>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDragReleased = new EventEmitter<EuiChipDragDrop>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDropped = new EventEmitter<EuiChipDragDrop>();\n // euiInputText does not send event when the the field is cleared\n @Output() clear = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [this.hasChips ? 'eui-autocomplete--has-chips' : '', super.getCssClasses('eui-autocomplete')].join(' ').trim();\n }\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('autocompleteInput', { read: ElementRef }) autocompleteInput: ElementRef<HTMLInputElement>;\n @ViewChild('autocompleteInputTrigger', { read: MatAutocompleteTrigger }) autocompleteInputTrigger: MatAutocompleteTrigger;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n @ViewChild('chipList') chipList: EuiChipListComponent;\n @ViewChild('virtualScrolling') virtualScrolling: CdkVirtualScrollViewport;\n\n public autocompleteOptionTemplate: TemplateRef<ElementRef>;\n public autocompleteOptGroupTemplate: TemplateRef<ElementRef>;\n public separatorKeysCodes: number[] = [ENTER, COMMA];\n public autocompleteControl = new FormControl();\n public autocompleteOptions: BehaviorSubject<EuiAutoCompleteItem[]> = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedOptions = new BehaviorSubject<{ [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }>({});\n public groupedItems: { [id: string]: Observable<EuiAutoCompleteItem[]> };\n public autocompleteId = `eui-autocomplete-${uniqueId()}`;\n public isDisabled = false;\n public selectedOptionIndex = -1;\n public itemSize = 48;\n\n @Input()\n get hasChips(): boolean {\n return this._hasChips;\n }\n set hasChips(value: BooleanInput) {\n this._hasChips = coerceBooleanProperty(value);\n }\n private _hasChips = false;\n @Input()\n get isGrid(): boolean {\n return this._isGrid;\n }\n set isGrid(value: BooleanInput) {\n this._isGrid = coerceBooleanProperty(value);\n }\n private _isGrid = true;\n @Input()\n get async(): boolean {\n return this._async;\n }\n set async(value: BooleanInput) {\n this._async = coerceBooleanProperty(value);\n }\n private _async = false;\n @Input()\n get addOnBlur(): boolean {\n return this._addOnBlur;\n }\n set addOnBlur(value: BooleanInput) {\n this._addOnBlur = coerceBooleanProperty(value);\n }\n private _addOnBlur = false;\n @Input()\n get isFreeValueAllowed(): boolean {\n return this._isFreeValueAllowed;\n }\n set isFreeValueAllowed(value: BooleanInput) {\n this._isFreeValueAllowed = coerceBooleanProperty(value);\n }\n private _isFreeValueAllowed = true;\n @Input()\n get isDuplicateValueAllowed(): boolean {\n return this._isDuplicateValueAllowed;\n }\n set isDuplicateValueAllowed(value: BooleanInput) {\n this._isDuplicateValueAllowed = coerceBooleanProperty(value);\n }\n private _isDuplicateValueAllowed = false;\n @Input()\n get isLoading(): boolean {\n return this._isLoading;\n }\n set isLoading(value: BooleanInput) {\n this._isLoading = coerceBooleanProperty(value);\n }\n private _isLoading = false;\n @Input()\n get isChipsRemovable(): boolean {\n return this._isChipsRemovable;\n }\n set isChipsRemovable(value: BooleanInput) {\n this._isChipsRemovable = coerceBooleanProperty(value);\n }\n private _isChipsRemovable = true;\n @Input()\n get maxVisibleChipsCount(): number {\n return this._maxVisibleChipsCount;\n }\n set maxVisibleChipsCount(value: NumberInput) {\n this._maxVisibleChipsCount = coerceNumberProperty(value);\n }\n private _maxVisibleChipsCount = null;\n @Input()\n get chipsLabelTruncateCount(): number {\n return this._chipsLabelTruncateCount;\n }\n set chipsLabelTruncateCount(value: NumberInput) {\n this._chipsLabelTruncateCount = coerceNumberProperty(value);\n }\n private _chipsLabelTruncateCount = null;\n @Input()\n get isMaxVisibleChipsOpened(): boolean {\n return this._isMaxVisibleChipsOpened;\n }\n set isMaxVisibleChipsOpened(value: BooleanInput) {\n this._isMaxVisibleChipsOpened = coerceBooleanProperty(value);\n }\n private _isMaxVisibleChipsOpened = false;\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n private _readonly = false;\n @Input()\n get isChipsSorted(): boolean {\n return this._isChipsSorted;\n }\n set isChipsSorted(value: BooleanInput) {\n this._isChipsSorted = coerceBooleanProperty(value);\n }\n private _isChipsSorted = false;\n @Input()\n get isItemsSorted(): boolean {\n return this._isItemsSorted;\n }\n set isItemsSorted(value: BooleanInput) {\n this._isItemsSorted = coerceBooleanProperty(value);\n }\n private _isItemsSorted = false;\n @Input()\n get isChipsDragAndDrop(): boolean {\n return this._isChipsDragAndDrop;\n }\n set isChipsDragAndDrop(value: BooleanInput) {\n this._isChipsDragAndDrop = coerceBooleanProperty(value);\n }\n private _isChipsDragAndDrop = false;\n @Input()\n get isForceSelection(): boolean {\n return this._isForceSelection;\n }\n set isForceSelection(value: BooleanInput) {\n this._isForceSelection = coerceBooleanProperty(value);\n }\n private _isForceSelection = false;\n @Input()\n get autoActiveFirstOption(): boolean {\n return this._autoActiveFirstOption;\n }\n set autoActiveFirstOption(value: BooleanInput) {\n this._autoActiveFirstOption = coerceBooleanProperty(value);\n }\n private _autoActiveFirstOption = true;\n\n get isChipsGrid(): boolean {\n if (this._isGrid) {\n return this._isChipsDragAndDrop && this.dragAndDropConnectedTo.length === 0;\n } else {\n return this._isGrid;\n }\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nbClick = 0;\n private ignoreOpenCloseEvents = false;\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private fieldValue = null;\n private scrollDispatcherSubscription = new Subscription();\n private keyboardOptionSelectorHandlerSubscription = new Subscription();\n\n constructor(\n private cd: ChangeDetectorRef,\n @Self() @Optional() private control: NgControl,\n private scrollDispatcher: ScrollDispatcher,\n private elementRef: ElementRef,\n ) {\n super();\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.autocompleteData) {\n this.autocompleteOptions.next(this._filter(''));\n\n if (this.groupBy) {\n this.groupingHandler();\n }\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n }\n\n if (c && c.visibleOptions) {\n this.classList = 'eui-autocomplete--no-max-height';\n }\n }\n\n ngOnInit(): void {\n const start = Array.isArray(this.value) ? null : this.value?.label;\n this.autocompleteOptions.next(this._filter(start));\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$), startWith(start), skip(1)).subscribe((value) => {\n this.selectedOptionIndex = 0;\n this.fieldValue = value;\n this.inputValueHandler(value);\n });\n\n if (this.groupBy) {\n this.groupingHandler();\n this.autocompleteOptions.pipe(takeUntil(this.destroy$)).subscribe((options) => {\n this.groupingHandler();\n });\n }\n }\n\n // TODO: Refactor ngDoCheck when euiInput Text will refactor this hooks\n ngDoCheck(): void {\n if (this.control) {\n this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\n this.control.invalid ? this.autocompleteControl.setErrors({ invalid: true }) : this.autocompleteControl.setErrors(null);\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'dropdownOption') {\n this.autocompleteOptionTemplate = item.template;\n }\n if (item.getType() === 'dropdownOptGroup') {\n this.autocompleteOptGroupTemplate = item.template;\n }\n });\n\n if (this.hasChips) {\n this.chips = this.mapAsChip();\n this.cd.detectChanges();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get nbOptionsVisible(): number {\n return this.visibleOptions;\n }\n\n get cdkVirtualScrollViewport(): number {\n if (this.groupBy) {\n const filteredOptionGroups: string[] = this.autocompleteOptions.value\n .map(item => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self))\n .filter((optionGroup: string) => {\n return (\n this.autocompleteOptions.value.some(\n (option) => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === optionGroup,\n )\n );\n })\n .filter((optionGroup: string, index, array: string[]) => array.indexOf(optionGroup) === index);\n\n if (this.autocompleteOptions.value.length >= this.visibleOptions) {\n return this.visibleOptions * this.itemSize;\n } else {\n const scrollItems = this.autocompleteOptions.value.length + filteredOptionGroups.length;\n return (scrollItems > this.visibleOptions ? this.visibleOptions : scrollItems) * this.itemSize;\n }\n } else {\n return this.autocompleteOptions.value.length >= this.visibleOptions ?\n this.visibleOptions * this.itemSize :\n this.autocompleteOptions.value.length * this.itemSize;\n }\n }\n\n public addOnBlurHandler(event: FocusEvent): void {\n if (this.addOnBlur) {\n const target: HTMLElement = event.relatedTarget as HTMLElement;\n if (!target || target.tagName !== 'MAT-OPTION') {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n }\n }\n\n public addOnEnterHandler(): void {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n\n public add(newValue: string): void {\n if (this.isFreeValueAllowed) {\n if ((newValue || '').trim()) {\n const foundItem = !this.isDuplicateValueAllowed\n ? this.autocompleteDataSelected.find((selectedItem) => selectedItem.label.toString().trim() === newValue.trim())\n : false;\n\n if (!foundItem) {\n this.autocompleteDataSelected.push(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.chips = this.mapAsChip();\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.autocompleteInputTrigger.closePanel();\n\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdded.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.itemAdd.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n }\n }\n }\n }\n\n public onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const value = event.option.value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected.push(value);\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n } else {\n this.autocompleteDataSelected = value;\n this.autocompleteInput.nativeElement.value = value.label;\n this.autocompleteControl.setValue(value.label, { emitEvent: false });\n }\n\n if (this.hasChips) {\n this.autocompleteOptions.next(this._filter(''));\n }\n\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdded.emit(value);\n this.itemAdd.emit(value);\n }\n\n public onChipRemove(e: { chips: EuiChip[]; removed: EuiChip | { chip: EuiChip; event: Event } }): void {\n const autocompleteDataRemoved = this.autocompleteDataSelected.find((data) =>\n e.removed instanceof EuiChip\n ? data.euiInternalId === e.removed.euiInternalId\n : data.euiInternalId === e.removed.chip.euiInternalId,\n );\n\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter((data) =>\n e.removed instanceof EuiChip\n ? data.euiInternalId !== e.removed.euiInternalId\n : data.euiInternalId !== e.removed.chip.euiInternalId,\n );\n\n if (!this.isDuplicateValueAllowed) {\n this.autocompleteOptions.next(\n this.isItemsSorted ? (this.orderItems(this._filter(''), this.itemsSortOrder) as EuiAutoCompleteItem[]) : this._filter(''),\n );\n }\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemoved.emit(autocompleteDataRemoved);\n this.itemRemove.emit(autocompleteDataRemoved);\n if (\n !(e.removed instanceof EuiChip) &&\n e.removed.event instanceof KeyboardEvent &&\n (e.removed.event as KeyboardEvent).code === 'Backspace' &&\n this.chipList.euiChipItems.length > 1\n ) {\n this.chipList.euiChipItems\n .get(this.chipList.euiChipItems.length - 2)\n .nativeElement.querySelector('.eui-chip__remove-icon')\n .focus();\n }\n }\n\n /** @deprecated This will be removed in eUI-14 */\n public onClick(): void {\n if (!this.readonly) {\n if (this.nbClick > 0) {\n this.matAutocomplete.isOpen ? this.autocompleteInputTrigger.closePanel() : this.autocompleteInputTrigger.openPanel();\n }\n this.nbClick += 1;\n }\n }\n\n /** @deprecated This will be removed in eUI-14 */\n public resetNbClick(e: FocusEvent): void {\n if (!e.relatedTarget || e.relatedTarget['className'].indexOf('mat-option') === -1) {\n this.nbClick = 0;\n }\n\n this.onTouch();\n }\n\n public onFocus(): void {\n if (this.isForceSelection) {\n if (this.hasChips) {\n this.autocompleteControl.setValue(null);\n } else {\n if (!this.autocompleteData.find(a => a.label?.toLowerCase() === this.autocompleteControl.value?.toLowerCase())) {\n this.autocompleteControl.setValue(null);\n }\n }\n }\n }\n\n public onFocusOut(): void {\n this.onTouch();\n\n if (this.isForceSelection) {\n if (this.hasChips) {\n setTimeout(() => {\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n }, 250);\n } else {\n setTimeout(() => {\n if (!this.autocompleteData.find(a => a.label?.toLowerCase() === this.autocompleteControl.value?.toLowerCase())) {\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n }\n }, 250);\n }\n }\n\n this.blur.emit();\n }\n\n public trackByFn(index: number): number {\n return index;\n }\n\n public onClose(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n if (!this.ignoreOpenCloseEvents) {\n this.closed.emit();\n this.close.emit();\n }\n this.virtualScrolling.scrollToIndex(0);\n this.selectedOptionIndex = -1;\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n }\n\n public onOpen(): void {\n setTimeout(() => {\n this.itemSize = (this.matAutocomplete.options?.first['_element']?.nativeElement?.clientHeight + 1) || 48;\n });\n\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.autocompleteInput)\n .subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(this.autocompleteInput.nativeElement, scrollableParent)) {\n this.autocompleteInputTrigger.closePanel();\n }\n });\n if (!this.ignoreOpenCloseEvents) {\n this.opened.emit();\n this.open.emit();\n }\n\n let visibleRangeStart = 0;\n let visibleRangeEnd = this.visibleOptions - 1;\n\n if (this.autocompleteOptions.value.length < this.nbOptionsVisible) {\n visibleRangeEnd = this.autocompleteOptions.value.length - 1;\n }\n\n this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.elementRef.nativeElement, 'keydown')\n .pipe(\n takeUntil(this.destroy$),\n filter((e: KeyboardEvent) => e.code === 'ArrowDown' || e.code === 'ArrowUp'),\n // startWith(this.autoActiveFirstOption ? { code: 'ArrowDown' } : null),\n )\n .subscribe((e: KeyboardEvent) => {\n if (e) {\n if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions.value.length - 1) {\n this.selectedOptionIndex++;\n }\n\n if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {\n this.selectedOptionIndex--;\n }\n\n const cIndex = this.selectedOptionIndex - this.virtualScrolling.getRenderedRange().start;\n\n this.matAutocomplete._keyManager.setActiveItem(cIndex);\n this.matAutocomplete.options.toArray()[cIndex]?.setActiveStyles();\n\n if (e.code === 'ArrowDown' && cIndex > visibleRangeEnd - visibleRangeStart - visibleRangeEnd) {\n let nbOptionsGroup = 0;\n const nbOptions = this.autocompleteOptions.value.length;\n if (this.groupBy) {\n Object.keys(this.groupedOptions.value).forEach(groupedOption => {\n if (this.groupedOptions.value[groupedOption].options.length > 0 &&\n this.selectedOptionIndex > this.groupedOptions.value[groupedOption].ancestorLength - 1) {\n nbOptionsGroup ++;\n }\n });\n }\n\n if ((this.selectedOptionIndex + nbOptionsGroup) > visibleRangeEnd && visibleRangeEnd <= (nbOptions + nbOptionsGroup)) {\n this.virtualScrolling.scrollToIndex((this.selectedOptionIndex + nbOptionsGroup) - visibleRangeEnd + visibleRangeStart);\n visibleRangeStart++;\n visibleRangeEnd++;\n }\n }\n if (e.code === 'ArrowUp' && cIndex < visibleRangeStart) {\n if (this.selectedOptionIndex < visibleRangeStart) {\n this.virtualScrolling.scrollToIndex(this.selectedOptionIndex);\n visibleRangeStart--;\n visibleRangeEnd--;\n }\n }\n }\n });\n }\n\n public writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void {\n this.value = value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected = value ? (value as EuiAutoCompleteItem[]) : [];\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n this.chips = [...this.mapAsChip()];\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n\n this.autocompleteOptions.next(this._filter(''));\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n this.fieldValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.autocompleteOptions.next(this._filter(this.fieldValue));\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n }\n\n public registerOnChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDropped(e: any): void {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.autocompleteDataSelected = e.chips.map((c: any) => {\n const found = this.autocompleteDataSelected.find((a) => a.id === c.id);\n return found ? found : new EuiAutoCompleteItem({ ...c.data, euiInternalId: c.euiInternalId });\n });\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n\n this.chipDropped.emit(e);\n this.chipDrop.emit(e);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDragStarted(e: any): void {\n this.chipDragStarted.emit(e);\n this.chipDragStart.emit(e);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDragReleased(e: any): void {\n this.chipDragReleased.emit(e);\n this.chipDragRelease.emit(e);\n }\n\n public onClear(): void {\n this.clear.next(undefined);\n }\n\n public onChipListFocus(): void {\n this.autocompleteInputTrigger.closePanel();\n }\n\n public onKeyDownBackspace(): void {\n if (this.chipsPosition === 'inside' && this.autocompleteInput.nativeElement.value === '' && this.chipList.euiChipItems.length > 0) {\n this.onChipListFocus();\n this.chipList.euiChipItems.last.nativeElement.querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private inputValueHandler(value: string | EuiAutoCompleteItem): void {\n if (this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n\n this.chips = this.mapAsChip();\n\n // value is null when chips is added, testing value prevent having two valuechanges triggered\n if (!value) {\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const foundItem = this.autocompleteData.find((data) =>\n data && data.label && value && typeof value === 'string'\n ? data.label.toLowerCase().trim() === value.toLowerCase().trim()\n : false,\n );\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n value ? this.onChange(new EuiAutoCompleteItem({ label: value })) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n }\n\n this.inputChanged.emit(value as string);\n this.inputChange.emit(value as string);\n\n if (!this.async) {\n const filterValue = typeof value === 'string' || !value ? value : value.label;\n this.autocompleteOptions.next(\n this.isItemsSorted\n ? (this.orderItems(this._filter(filterValue as string), this.itemsSortOrder) as EuiAutoCompleteItem[])\n : this._filter(filterValue as string),\n );\n }\n }\n\n private onChange = <T>(change?: T): void => {\n /** empty */\n };\n\n private onTouch = (): void => {\n /** empty */\n };\n\n private _filter(str: string): EuiAutoCompleteItem[] {\n const filteredItems: EuiAutoCompleteItem[] = [];\n this.autocompleteData.forEach((item: EuiAutoCompleteItem) => {\n const foundItem =\n !this.isDuplicateValueAllowed && Array.isArray(this.autocompleteDataSelected)\n ? this.autocompleteDataSelected.find((selectedItem: EuiAutoCompleteItem) => {\n if (item.id) {\n return selectedItem.id === item.id;\n } else {\n return selectedItem.label.toLowerCase() === item.label.toLowerCase();\n }\n })\n : false;\n\n if (!foundItem) {\n if (str) {\n if (this.matching === 'contains' && item.label.toLowerCase().indexOf(str.toString().toLowerCase()) !== -1) {\n filteredItems.push(item);\n }\n if (this.matching === 'startWith' && item.label.toLowerCase().substr(0, str.toString().length) === str.toLowerCase()) {\n filteredItems.push(item);\n }\n } else {\n filteredItems.push(item);\n }\n }\n });\n\n return this.isItemsSorted ? (this.orderItems(filteredItems, this.itemsSortOrder) as EuiAutoCompleteItem[]) : filteredItems;\n }\n\n private mapAsChip(): EuiChip[] {\n const chips = this.autocompleteDataSelected.map(\n (selected) =>\n new EuiChip({\n id: selected.id,\n euiInternalId: selected.euiInternalId,\n label: selected.label,\n typeClass: selected.typeClass,\n isOutline: selected.isOutline,\n isRounded: selected.isRounded,\n sizeClass: selected.sizeClass,\n isRemovable: selected.isRemovable,\n tooltipMessage: selected.tooltip?.tooltipMessage,\n tooltip: new EuiChipTooltip(selected.tooltip),\n iconClass: selected.iconClass,\n }),\n );\n\n return this.isChipsSorted ? (this.orderItems(chips, this.chipsSortOrder) as EuiChip[]) : chips;\n }\n\n private generateId(): string {\n return '_' + Math.random().toString(36).substr(2, 9);\n }\n\n private orderItems(tab: EuiAutoCompleteItem[] | EuiChip[], sortOrder: 'ASC' | 'DESC'): EuiAutoCompleteItem[] | EuiChip[] {\n tab.sort((a: EuiAutoCompleteItem | EuiChip, b: EuiAutoCompleteItem | EuiChip) => {\n const aObj = a.label.toLowerCase();\n const bObj = b.label.toLowerCase();\n\n if (sortOrder === 'ASC') {\n if (aObj < bObj) {\n return -1;\n }\n if (aObj > bObj) {\n return 1;\n }\n return 0;\n } else {\n if (aObj > bObj) {\n return -1;\n }\n if (aObj < bObj) {\n return 1;\n }\n return 0;\n }\n });\n\n return tab;\n }\n\n private groupingHandler(): void {\n const distinctGroups: string[] = this.autocompleteData.map(item => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self));\n const distinctOptionGroups: string[] = [...new Set(distinctGroups)].sort((a: string, b: string) => (a > b ? 1 : -1));\n const groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } } = {};\n \n let ancestorLength = 0;\n for (const group of distinctOptionGroups) {\n let o = this.autocompleteOptions.value.filter(option => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === group);\n if (this.isItemsSorted) {\n o = this.orderItems(o, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n groupedOptions[group] = { options: o, ancestorLength };\n ancestorLength += o.length;\n }\n \n this.groupedOptions.next(groupedOptions);\n this.distinctOptionGroups = distinctOptionGroups;\n }\n}\n","<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isGrid]=\"isChipsGrid\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n (focus)=\"onFocus()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (focus)=\"onFocus()\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth === 'auto' ? null : panelWidth\"\n [class]=\"classList\"\n [autoActiveFirstOption]=\"autoActiveFirstOption\"\n [hideSingleSelectionIndicator]=\"true\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups; let i=index\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedOptions | async)[distinctOptionGroup].options.length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let autocompleteOption of (groupedOptions | async)[distinctOptionGroup].options; trackBy: trackByFn; let ii=index\"\n [disabled]=\"autocompleteOption.isDisabled\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [class.mat-mdc-option-active]=\"selectedOptionIndex === (groupedOptions | async)[distinctOptionGroup].ancestorLength + ii\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ autocompleteOption.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <mat-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: trackByFn\"\n [disabled]=\"autocompleteOption.isDisabled\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [class.mat-mdc-option-active]=\"i === selectedOptionIndex\"\n [class.mdc-list-item--selected]=\"false\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">{{ autocompleteOption.label }}</ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n EuiInputTextModule,\n ScrollingModule,\n ],\n declarations: [EuiAutocompleteComponent],\n exports: [EuiAutocompleteComponent],\n})\nexport class EuiAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/models/eui-autocomplete-item.model.ts","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { EuiChipTooltip } from '@eui/components/eui-chip';\n\n// TODO: on v17 replace any with no object as a type and declare it as breaking change\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EuiAutoCompleteItem<METADATA = any> {\n id: string | number;\n euiInternalId: string;\n label: string;\n typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger';\n sizeClass: 'euiSizeS' | 'euiSizeM' | 'euiSizeL' | 'euiSizeXL' | 'euiSize2XL';\n iconClass: string;\n isRemovable: boolean;\n isOutline: boolean;\n isRounded: boolean;\n dragAndDropSource: string;\n isDisabled = false;\n tooltip?: EuiChipTooltip;\n metadata?: METADATA;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n OnDestroy,\n ElementRef,\n ViewChild,\n OnChanges,\n ChangeDetectorRef,\n Output,\n EventEmitter,\n SimpleChanges,\n QueryList,\n AfterViewInit,\n TemplateRef,\n ContentChildren,\n HostBinding,\n Self,\n Optional,\n DoCheck,\n} from '@angular/core';\nimport { FormControl, ControlValueAccessor, NgControl } from '@angular/forms';\nimport { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { skip, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject, BehaviorSubject, of, Observable, Subscription, fromEvent, filter } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { CdkScrollable, ScrollDispatcher, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiChipDragDrop, EuiChipListComponent } from '@eui/components/eui-chip-list';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\n\n@Component({\n templateUrl: './eui-autocomplete.component.html',\n selector: 'eui-autocomplete, input[euiAutocomplete]',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteComponent\n extends BaseDirective\n implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() placeholder = '';\n @Input() matching: 'startWith' | 'contains' = 'contains';\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n @Input() panelWidth: string | number;\n @Input() visibleOptions = 5;\n @Input() classList: string;\n @Input() groupBy: string;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n /** @deprecated This will be removed in next version of eui */\n @Output() closed = new EventEmitter();\n /** @deprecated This will be removed in next version of eui */\n @Output() opened = new EventEmitter();\n /** @deprecated This will be removed in next version of eui */\n @Output() selectionChanged = new EventEmitter<EuiAutoCompleteItem[]>();\n /** @deprecated This will be removed in next version of eui */\n @Output() itemAdded = new EventEmitter<EuiAutoCompleteItem>();\n /** @deprecated This will be removed in next version of eui */\n @Output() itemRemoved = new EventEmitter<EuiAutoCompleteItem>();\n /** @deprecated This will be removed in next version of eui */\n @Output() inputChanged = new EventEmitter<string>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDragStarted = new EventEmitter<EuiChipDragDrop>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDragReleased = new EventEmitter<EuiChipDragDrop>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDropped = new EventEmitter<EuiChipDragDrop>();\n // euiInputText does not send event when the the field is cleared\n @Output() clear = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [this.hasChips ? 'eui-autocomplete--has-chips' : '', super.getCssClasses('eui-autocomplete')].join(' ').trim();\n }\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('autocompleteInput', { read: ElementRef }) autocompleteInput: ElementRef<HTMLInputElement>;\n @ViewChild('autocompleteInputTrigger', { read: MatAutocompleteTrigger }) autocompleteInputTrigger: MatAutocompleteTrigger;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n @ViewChild('chipList') chipList: EuiChipListComponent;\n @ViewChild('virtualScrolling') virtualScrolling: CdkVirtualScrollViewport;\n\n public autocompleteOptionTemplate: TemplateRef<ElementRef>;\n public autocompleteOptGroupTemplate: TemplateRef<ElementRef>;\n public separatorKeysCodes: number[] = [ENTER, COMMA];\n public autocompleteControl = new FormControl();\n public autocompleteOptions: BehaviorSubject<EuiAutoCompleteItem[]> = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedOptions = new BehaviorSubject<{ [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }>({});\n public groupedItems: { [id: string]: Observable<EuiAutoCompleteItem[]> };\n public autocompleteId = `eui-autocomplete-${uniqueId()}`;\n public isDisabled = false;\n public selectedOptionIndex = -1;\n public itemSize = 48;\n\n @Input()\n get hasChips(): boolean {\n return this._hasChips;\n }\n set hasChips(value: BooleanInput) {\n this._hasChips = coerceBooleanProperty(value);\n }\n private _hasChips = false;\n @Input()\n get isGrid(): boolean {\n return this._isGrid;\n }\n set isGrid(value: BooleanInput) {\n this._isGrid = coerceBooleanProperty(value);\n }\n private _isGrid = true;\n @Input()\n get async(): boolean {\n return this._async;\n }\n set async(value: BooleanInput) {\n this._async = coerceBooleanProperty(value);\n }\n private _async = false;\n @Input()\n get addOnBlur(): boolean {\n return this._addOnBlur;\n }\n set addOnBlur(value: BooleanInput) {\n this._addOnBlur = coerceBooleanProperty(value);\n }\n private _addOnBlur = false;\n @Input()\n get isFreeValueAllowed(): boolean {\n return this._isFreeValueAllowed;\n }\n set isFreeValueAllowed(value: BooleanInput) {\n this._isFreeValueAllowed = coerceBooleanProperty(value);\n }\n private _isFreeValueAllowed = true;\n @Input()\n get isDuplicateValueAllowed(): boolean {\n return this._isDuplicateValueAllowed;\n }\n set isDuplicateValueAllowed(value: BooleanInput) {\n this._isDuplicateValueAllowed = coerceBooleanProperty(value);\n }\n private _isDuplicateValueAllowed = false;\n @Input()\n get isLoading(): boolean {\n return this._isLoading;\n }\n set isLoading(value: BooleanInput) {\n this._isLoading = coerceBooleanProperty(value);\n }\n private _isLoading = false;\n @Input()\n get isChipsRemovable(): boolean {\n return this._isChipsRemovable;\n }\n set isChipsRemovable(value: BooleanInput) {\n this._isChipsRemovable = coerceBooleanProperty(value);\n }\n private _isChipsRemovable = true;\n @Input()\n get maxVisibleChipsCount(): number {\n return this._maxVisibleChipsCount;\n }\n set maxVisibleChipsCount(value: NumberInput) {\n this._maxVisibleChipsCount = coerceNumberProperty(value);\n }\n private _maxVisibleChipsCount = null;\n @Input()\n get chipsLabelTruncateCount(): number {\n return this._chipsLabelTruncateCount;\n }\n set chipsLabelTruncateCount(value: NumberInput) {\n this._chipsLabelTruncateCount = coerceNumberProperty(value);\n }\n private _chipsLabelTruncateCount = null;\n @Input()\n get isMaxVisibleChipsOpened(): boolean {\n return this._isMaxVisibleChipsOpened;\n }\n set isMaxVisibleChipsOpened(value: BooleanInput) {\n this._isMaxVisibleChipsOpened = coerceBooleanProperty(value);\n }\n private _isMaxVisibleChipsOpened = false;\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n private _readonly = false;\n @Input()\n get isChipsSorted(): boolean {\n return this._isChipsSorted;\n }\n set isChipsSorted(value: BooleanInput) {\n this._isChipsSorted = coerceBooleanProperty(value);\n }\n private _isChipsSorted = false;\n @Input()\n get isItemsSorted(): boolean {\n return this._isItemsSorted;\n }\n set isItemsSorted(value: BooleanInput) {\n this._isItemsSorted = coerceBooleanProperty(value);\n }\n private _isItemsSorted = false;\n @Input()\n get isChipsDragAndDrop(): boolean {\n return this._isChipsDragAndDrop;\n }\n set isChipsDragAndDrop(value: BooleanInput) {\n this._isChipsDragAndDrop = coerceBooleanProperty(value);\n }\n private _isChipsDragAndDrop = false;\n @Input()\n get isForceSelection(): boolean {\n return this._isForceSelection;\n }\n set isForceSelection(value: BooleanInput) {\n this._isForceSelection = coerceBooleanProperty(value);\n }\n private _isForceSelection = false;\n @Input()\n get autoActiveFirstOption(): boolean {\n return this._autoActiveFirstOption;\n }\n set autoActiveFirstOption(value: BooleanInput) {\n this._autoActiveFirstOption = coerceBooleanProperty(value);\n }\n private _autoActiveFirstOption = true;\n\n get isChipsGrid(): boolean {\n if (this._isGrid) {\n return this._isChipsDragAndDrop && this.dragAndDropConnectedTo.length === 0;\n } else {\n return this._isGrid;\n }\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nbClick = 0;\n private ignoreOpenCloseEvents = false;\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private fieldValue = null;\n private scrollDispatcherSubscription = new Subscription();\n private keyboardOptionSelectorHandlerSubscription = new Subscription();\n\n constructor(\n private cd: ChangeDetectorRef,\n @Self() @Optional() private control: NgControl,\n private scrollDispatcher: ScrollDispatcher,\n private elementRef: ElementRef,\n ) {\n super();\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.autocompleteData) {\n this.autocompleteOptions.next(this._filter(''));\n\n if (this.groupBy) {\n this.groupingHandler();\n }\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n }\n\n if (c && c.visibleOptions) {\n this.classList = 'eui-autocomplete--no-max-height';\n }\n }\n\n ngOnInit(): void {\n const start = Array.isArray(this.value) ? null : this.value?.label;\n this.autocompleteOptions.next(this._filter(start));\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$), startWith(start), skip(1)).subscribe((value) => {\n this.selectedOptionIndex = 0;\n this.fieldValue = value;\n this.inputValueHandler(value);\n });\n\n if (this.groupBy) {\n this.groupingHandler();\n this.autocompleteOptions.pipe(takeUntil(this.destroy$)).subscribe((options) => {\n this.groupingHandler();\n });\n }\n }\n\n // TODO: Refactor ngDoCheck when euiInput Text will refactor this hooks\n ngDoCheck(): void {\n if (this.control) {\n this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\n this.control.invalid ? this.autocompleteControl.setErrors({ invalid: true }) : this.autocompleteControl.setErrors(null);\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'dropdownOption') {\n this.autocompleteOptionTemplate = item.template;\n }\n if (item.getType() === 'dropdownOptGroup') {\n this.autocompleteOptGroupTemplate = item.template;\n }\n });\n\n if (this.hasChips) {\n this.chips = this.mapAsChip();\n this.cd.detectChanges();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get nbOptionsVisible(): number {\n return this.visibleOptions;\n }\n\n get cdkVirtualScrollViewport(): number {\n if (this.groupBy) {\n const filteredOptionGroups: string[] = this.autocompleteOptions.value\n .map(item => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self))\n .filter((optionGroup: string) => {\n return (\n this.autocompleteOptions.value.some(\n (option) => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === optionGroup,\n )\n );\n })\n .filter((optionGroup: string, index, array: string[]) => array.indexOf(optionGroup) === index);\n\n if (this.autocompleteOptions.value.length >= this.visibleOptions) {\n return this.visibleOptions * this.itemSize;\n } else {\n const scrollItems = this.autocompleteOptions.value.length + filteredOptionGroups.length;\n return (scrollItems > this.visibleOptions ? this.visibleOptions : scrollItems) * this.itemSize;\n }\n } else {\n return this.autocompleteOptions.value.length >= this.visibleOptions ?\n this.visibleOptions * this.itemSize :\n this.autocompleteOptions.value.length * this.itemSize;\n }\n }\n\n public addOnBlurHandler(event: FocusEvent): void {\n if (this.addOnBlur) {\n const target: HTMLElement = event.relatedTarget as HTMLElement;\n if (!target || target.tagName !== 'MAT-OPTION') {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n }\n }\n\n public addOnEnterHandler(): void {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n\n public add(newValue: string): void {\n if (this.isFreeValueAllowed) {\n if ((newValue || '').trim()) {\n const foundItem = !this.isDuplicateValueAllowed\n ? this.autocompleteDataSelected.find((selectedItem) => selectedItem.label.toString().trim() === newValue.trim())\n : false;\n\n if (!foundItem) {\n this.autocompleteDataSelected.push(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.chips = this.mapAsChip();\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.autocompleteInputTrigger.closePanel();\n\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdded.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.itemAdd.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n }\n }\n }\n }\n\n public onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const value = event.option.value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected.push(value);\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n } else {\n this.autocompleteDataSelected = value;\n this.autocompleteInput.nativeElement.value = value.label;\n this.autocompleteControl.setValue(value.label, { emitEvent: false });\n }\n\n if (this.hasChips) {\n this.autocompleteOptions.next(this._filter(''));\n }\n\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdded.emit(value);\n this.itemAdd.emit(value);\n }\n\n public onChipRemove(e: { chips: EuiChip[]; removed: EuiChip | { chip: EuiChip; event: Event } }): void {\n const autocompleteDataRemoved = this.autocompleteDataSelected.find((data) =>\n e.removed instanceof EuiChip\n ? data.euiInternalId === e.removed.euiInternalId\n : data.euiInternalId === e.removed.chip.euiInternalId,\n );\n\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter((data) =>\n e.removed instanceof EuiChip\n ? data.euiInternalId !== e.removed.euiInternalId\n : data.euiInternalId !== e.removed.chip.euiInternalId,\n );\n\n if (!this.isDuplicateValueAllowed) {\n this.autocompleteOptions.next(\n this.isItemsSorted ? (this.orderItems(this._filter(''), this.itemsSortOrder) as EuiAutoCompleteItem[]) : this._filter(''),\n );\n }\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemoved.emit(autocompleteDataRemoved);\n this.itemRemove.emit(autocompleteDataRemoved);\n if (\n !(e.removed instanceof EuiChip) &&\n e.removed.event instanceof KeyboardEvent &&\n (e.removed.event as KeyboardEvent).code === 'Backspace' &&\n this.chipList.euiChipItems.length > 1\n ) {\n this.chipList.euiChipItems\n .get(this.chipList.euiChipItems.length - 2)\n .nativeElement.querySelector('.eui-chip__remove-icon')\n .focus();\n }\n }\n\n /** @deprecated This will be removed in eUI-14 */\n public onClick(): void {\n if (!this.readonly) {\n if (this.nbClick > 0) {\n this.matAutocomplete.isOpen ? this.autocompleteInputTrigger.closePanel() : this.autocompleteInputTrigger.openPanel();\n }\n this.nbClick += 1;\n }\n }\n\n /** @deprecated This will be removed in eUI-14 */\n public resetNbClick(e: FocusEvent): void {\n if (!e.relatedTarget || e.relatedTarget['className'].indexOf('mat-option') === -1) {\n this.nbClick = 0;\n }\n\n this.onTouch();\n }\n\n public onFocus(): void {\n if (this.isForceSelection) {\n if (this.hasChips) {\n this.autocompleteControl.setValue(null);\n } else {\n if (!this.autocompleteData.find(a => a.label?.toLowerCase() === this.autocompleteControl.value?.toLowerCase())) {\n this.autocompleteControl.setValue(null);\n }\n }\n }\n }\n\n public onFocusOut(): void {\n this.onTouch();\n\n if (this.isForceSelection) {\n if (this.hasChips) {\n setTimeout(() => {\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n }, 250);\n } else {\n setTimeout(() => {\n if (!this.autocompleteData.find(a => a.label?.toLowerCase() === this.autocompleteControl.value?.toLowerCase())) {\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n }\n }, 250);\n }\n }\n\n this.blur.emit();\n }\n\n public trackByFn(index: number): number {\n return index;\n }\n\n public onClose(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n if (!this.ignoreOpenCloseEvents) {\n this.closed.emit();\n this.close.emit();\n }\n this.virtualScrolling.scrollToIndex(0);\n this.selectedOptionIndex = -1;\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n }\n\n public onOpen(): void {\n // setTimeout(() => {\n // this.itemSize = (this.matAutocomplete.options?.first['_element']?.nativeElement?.clientHeight + 1) || 48;\n // });\n\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.autocompleteInput)\n .subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(this.autocompleteInput.nativeElement, scrollableParent)) {\n this.autocompleteInputTrigger.closePanel();\n }\n });\n if (!this.ignoreOpenCloseEvents) {\n this.opened.emit();\n this.open.emit();\n }\n\n let visibleRangeStart = 0;\n let visibleRangeEnd = this.visibleOptions - 1;\n\n if (this.autocompleteOptions.value.length < this.nbOptionsVisible) {\n visibleRangeEnd = this.autocompleteOptions.value.length - 1;\n }\n\n this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.elementRef.nativeElement, 'keydown')\n .pipe(\n takeUntil(this.destroy$),\n filter((e: KeyboardEvent) => e.code === 'ArrowDown' || e.code === 'ArrowUp'),\n // startWith(this.autoActiveFirstOption ? { code: 'ArrowDown' } : null),\n )\n .subscribe((e: KeyboardEvent) => {\n if (e) {\n if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions.value.length - 1) {\n this.selectedOptionIndex++;\n }\n\n if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {\n this.selectedOptionIndex--;\n }\n\n const cIndex = this.selectedOptionIndex - this.virtualScrolling.getRenderedRange().start;\n\n this.matAutocomplete._keyManager.setActiveItem(cIndex);\n this.matAutocomplete.options.toArray()[cIndex]?.setActiveStyles();\n\n if (e.code === 'ArrowDown' && cIndex > visibleRangeEnd - visibleRangeStart - visibleRangeEnd) {\n let nbOptionsGroup = 0;\n const nbOptions = this.autocompleteOptions.value.length;\n if (this.groupBy) {\n Object.keys(this.groupedOptions.value).forEach(groupedOption => {\n if (this.groupedOptions.value[groupedOption].options.length > 0 &&\n this.selectedOptionIndex > this.groupedOptions.value[groupedOption].ancestorLength - 1) {\n nbOptionsGroup ++;\n }\n });\n }\n\n if ((this.selectedOptionIndex + nbOptionsGroup) > visibleRangeEnd && visibleRangeEnd <= (nbOptions + nbOptionsGroup)) {\n this.virtualScrolling.scrollToIndex((this.selectedOptionIndex + nbOptionsGroup) - visibleRangeEnd + visibleRangeStart);\n visibleRangeStart++;\n visibleRangeEnd++;\n }\n }\n if (e.code === 'ArrowUp' && cIndex < visibleRangeStart) {\n if (this.selectedOptionIndex < visibleRangeStart) {\n this.virtualScrolling.scrollToIndex(this.selectedOptionIndex);\n visibleRangeStart--;\n visibleRangeEnd--;\n }\n }\n }\n });\n }\n\n public writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void {\n this.value = value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected = value ? (value as EuiAutoCompleteItem[]) : [];\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n this.chips = [...this.mapAsChip()];\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n\n this.autocompleteOptions.next(this._filter(''));\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n this.fieldValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.autocompleteOptions.next(this._filter(this.fieldValue));\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n }\n\n public registerOnChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDropped(e: any): void {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.autocompleteDataSelected = e.chips.map((c: any) => {\n const found = this.autocompleteDataSelected.find((a) => a.id === c.id);\n return found ? found : new EuiAutoCompleteItem({ ...c.data, euiInternalId: c.euiInternalId });\n });\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n\n this.chipDropped.emit(e);\n this.chipDrop.emit(e);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDragStarted(e: any): void {\n this.chipDragStarted.emit(e);\n this.chipDragStart.emit(e);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDragReleased(e: any): void {\n this.chipDragReleased.emit(e);\n this.chipDragRelease.emit(e);\n }\n\n public onClear(): void {\n this.clear.next(undefined);\n }\n\n public onChipListFocus(): void {\n this.autocompleteInputTrigger.closePanel();\n }\n\n public onKeyDownBackspace(): void {\n if (this.chipsPosition === 'inside' && this.autocompleteInput.nativeElement.value === '' && this.chipList.euiChipItems.length > 0) {\n this.onChipListFocus();\n this.chipList.euiChipItems.last.nativeElement.querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private inputValueHandler(value: string | EuiAutoCompleteItem): void {\n if (this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n\n this.chips = this.mapAsChip();\n\n // value is null when chips is added, testing value prevent having two valuechanges triggered\n if (!value) {\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const foundItem = this.autocompleteData.find((data) =>\n data && data.label && value && typeof value === 'string'\n ? data.label.toLowerCase().trim() === value.toLowerCase().trim()\n : false,\n );\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n value ? this.onChange(new EuiAutoCompleteItem({ label: value })) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n }\n\n this.inputChanged.emit(value as string);\n this.inputChange.emit(value as string);\n\n if (!this.async) {\n const filterValue = typeof value === 'string' || !value ? value : value.label;\n this.autocompleteOptions.next(\n this.isItemsSorted\n ? (this.orderItems(this._filter(filterValue as string), this.itemsSortOrder) as EuiAutoCompleteItem[])\n : this._filter(filterValue as string),\n );\n }\n }\n\n private onChange = <T>(change?: T): void => {\n /** empty */\n };\n\n private onTouch = (): void => {\n /** empty */\n };\n\n private _filter(str: string): EuiAutoCompleteItem[] {\n const filteredItems: EuiAutoCompleteItem[] = [];\n this.autocompleteData.forEach((item: EuiAutoCompleteItem) => {\n const foundItem =\n !this.isDuplicateValueAllowed && Array.isArray(this.autocompleteDataSelected)\n ? this.autocompleteDataSelected.find((selectedItem: EuiAutoCompleteItem) => {\n if (item.id) {\n return selectedItem.id === item.id;\n } else {\n return selectedItem.label.toLowerCase() === item.label.toLowerCase();\n }\n })\n : false;\n\n if (!foundItem) {\n if (str) {\n if (this.matching === 'contains' && item.label.toLowerCase().indexOf(str.toString().toLowerCase()) !== -1) {\n filteredItems.push(item);\n }\n if (this.matching === 'startWith' && item.label.toLowerCase().substr(0, str.toString().length) === str.toLowerCase()) {\n filteredItems.push(item);\n }\n } else {\n filteredItems.push(item);\n }\n }\n });\n\n return this.isItemsSorted ? (this.orderItems(filteredItems, this.itemsSortOrder) as EuiAutoCompleteItem[]) : filteredItems;\n }\n\n private mapAsChip(): EuiChip[] {\n const chips = this.autocompleteDataSelected.map(\n (selected) =>\n new EuiChip({\n id: selected.id,\n euiInternalId: selected.euiInternalId,\n label: selected.label,\n typeClass: selected.typeClass,\n isOutline: selected.isOutline,\n isRounded: selected.isRounded,\n sizeClass: selected.sizeClass,\n isRemovable: selected.isRemovable,\n tooltipMessage: selected.tooltip?.tooltipMessage,\n tooltip: new EuiChipTooltip(selected.tooltip),\n iconClass: selected.iconClass,\n }),\n );\n\n return this.isChipsSorted ? (this.orderItems(chips, this.chipsSortOrder) as EuiChip[]) : chips;\n }\n\n private generateId(): string {\n return '_' + Math.random().toString(36).substr(2, 9);\n }\n\n private orderItems(tab: EuiAutoCompleteItem[] | EuiChip[], sortOrder: 'ASC' | 'DESC'): EuiAutoCompleteItem[] | EuiChip[] {\n tab.sort((a: EuiAutoCompleteItem | EuiChip, b: EuiAutoCompleteItem | EuiChip) => {\n const aObj = a.label.toLowerCase();\n const bObj = b.label.toLowerCase();\n\n if (sortOrder === 'ASC') {\n if (aObj < bObj) {\n return -1;\n }\n if (aObj > bObj) {\n return 1;\n }\n return 0;\n } else {\n if (aObj > bObj) {\n return -1;\n }\n if (aObj < bObj) {\n return 1;\n }\n return 0;\n }\n });\n\n return tab;\n }\n\n private groupingHandler(): void {\n const distinctGroups: string[] = this.autocompleteData.map(item => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self));\n const distinctOptionGroups: string[] = [...new Set(distinctGroups)].sort((a: string, b: string) => (a > b ? 1 : -1));\n const groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } } = {};\n \n let ancestorLength = 0;\n for (const group of distinctOptionGroups) {\n let o = this.autocompleteOptions.value.filter(option => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === group);\n if (this.isItemsSorted) {\n o = this.orderItems(o, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n groupedOptions[group] = { options: o, ancestorLength };\n ancestorLength += o.length;\n }\n \n this.groupedOptions.next(groupedOptions);\n this.distinctOptionGroups = distinctOptionGroups;\n }\n}\n","<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isGrid]=\"isChipsGrid\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n (focus)=\"onFocus()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (focus)=\"onFocus()\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth === 'auto' ? null : panelWidth\"\n [class]=\"classList\"\n [autoActiveFirstOption]=\"autoActiveFirstOption\"\n [hideSingleSelectionIndicator]=\"true\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups; let i=index\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedOptions | async)[distinctOptionGroup].options.length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let autocompleteOption of (groupedOptions | async)[distinctOptionGroup].options; trackBy: trackByFn; let ii=index\"\n [disabled]=\"autocompleteOption.isDisabled\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [class.mat-mdc-option-active]=\"selectedOptionIndex === (groupedOptions | async)[distinctOptionGroup].ancestorLength + ii\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ autocompleteOption.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <mat-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: trackByFn\"\n [disabled]=\"autocompleteOption.isDisabled\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [class.mat-mdc-option-active]=\"i === selectedOptionIndex\"\n [class.mdc-list-item--selected]=\"false\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">{{ autocompleteOption.label }}</ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n EuiInputTextModule,\n ScrollingModule,\n ],\n declarations: [EuiAutocompleteComponent],\n exports: [EuiAutocompleteComponent],\n})\nexport class EuiAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -281,7 +281,12 @@ class EuiPopoverComponent extends BaseDirective {
281
281
  .withLockedPosition(true);
282
282
  }
283
283
  setPositionStream() {
284
- this.position$ = this.positionStrategyUpdate$.pipe(switchMap(() => this.positionStrategy.positionChanges), map(getPosition), distinctUntilChanged(), map((position) => [position, this.origin.getBoundingClientRect()]));
284
+ this.position$ = this.positionStrategyUpdate$.pipe(switchMap(() => this.positionStrategy.positionChanges), map(getPosition), distinctUntilChanged(), map((position) => {
285
+ const rect = this.origin.nativeElement ?
286
+ this.origin.nativeElement.getBoundingClientRect() :
287
+ this.origin.getBoundingClientRect();
288
+ return [position, rect];
289
+ }));
285
290
  }
286
291
  }
287
292
  /** @nocollapse */ EuiPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EuiPopoverComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component });
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../eui-popover/models/eui-popover-position.model.ts","../../eui-popover/directives/eui-popover-arrow-position.directive.ts","../../eui-popover/eui-popover.component.ts","../../eui-popover/eui-popover.component.html","../../eui-popover/eui-popover.module.ts","../../eui-popover/eui-components-eui-popover.ts"],"sourcesContent":["import { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport type EuiPopoverPosition = 'top' | 'right' | 'bottom' | 'left';\n\nexport const TOP = new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }, 0, 0, ['eui-popover-position', 'eui-popover-position--top']);\nexport const BOTTOM = new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }, 0, 0, ['eui-popover-position', 'eui-popover-position--bottom']);\nexport const LEFT = new ConnectionPositionPair({ originX: 'start', originY: 'center' }, { overlayX: 'end', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--left']);\nexport const RIGHT = new ConnectionPositionPair({ originX: 'end', originY: 'center' }, { overlayX: 'start', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--right']);\n\nexport const getPosition = ({ connectionPair }: ConnectedOverlayPositionChange): EuiPopoverPosition => {\n switch (connectionPair) {\n case TOP:\n return 'top';\n case BOTTOM:\n return 'bottom';\n case LEFT:\n return 'left';\n case RIGHT:\n return 'right';\n }\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nimport { EuiPopoverPosition } from '../models/eui-popover-position.model';\n\n@Directive({\n selector: '[euiPopoverArrowPosition]',\n})\nexport class EuiPopoverArrowPositionDirective implements OnInit, OnDestroy {\n @Input('euiPopoverArrowPosition')\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n private destroy$: Subject<void> = new Subject();\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n ngOnInit(): void {\n this.position$.pipe(takeUntil(this.destroy$)).subscribe(([position, originRect]) => {\n this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getStyle(position: EuiPopoverPosition, originRect: DOMRect): string {\n const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (position === 'left' || position === 'right') {\n const verticalDiff: number =\n Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n if (verticalDiff > 0) {\n return `top: ${originRect.top + originRect.height / 2}px`;\n } else if (verticalDiff < 0) {\n return `top: unset; bottom: ${\n this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n }px`;\n }\n }\n if (position === 'top' || position === 'bottom') {\n const horizontalDiff: number =\n Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n if (horizontalDiff > 0) {\n return `left: ${originRect.left + originRect.width / 2}px`;\n } else if (horizontalDiff < 0) {\n return `left: unset; right: ${\n this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n }px`;\n }\n }\n return '';\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n AfterViewInit,\n OnDestroy,\n OnInit,\n Output,\n EventEmitter,\n ElementRef,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Overlay,\n OverlayRef,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n ScrollDispatcher,\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { BaseDirective } from '@eui/components/shared';\nimport { BOTTOM, EuiPopoverPosition, LEFT, RIGHT, TOP, getPosition } from './models/eui-popover-position.model';\n\n@Component({\n selector: 'eui-popover',\n templateUrl: './eui-popover.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPopoverComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n @Input() title: string;\n @Input() position: EuiPopoverPosition = 'bottom';\n @Input() size: 'default' | 'small' | 'large' | 'auto' | 's' | 'm' | 'l' | 'xl' | string = 'default';\n @Input() type: 'default' | 'flat' | 'colored-header' | 'colored-solid' = 'default';\n @Input() width: string = null;\n\n @Output() outsideClick = new EventEmitter();\n // TODO: fix it for v17 - Output bindings, including aliases, should not be named as standard DOM events\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n // TODO: fix it for v17 - Output bindings, including aliases, should not be named as standard DOM events\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n\n public statesClass: string;\n public cdkTrapFocusAutoCapture = true;\n public sizeClass = 'm';\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n /** @deprecated This will be removed in next version of eui */\n @Input()\n get isOpen(): boolean {\n return this._isOpen;\n }\n set isOpen(value: BooleanInput) {\n this._isOpen = coerceBooleanProperty(value);\n }\n private _isOpen = false;\n @Input()\n get hasBackDrop(): boolean {\n return this._hasBackDrop;\n }\n set hasBackDrop(value: BooleanInput) {\n this._hasBackDrop = coerceBooleanProperty(value);\n }\n private _hasBackDrop = false;\n @Input()\n get hasCloseButton(): boolean {\n return this._hasCloseButton;\n }\n set hasCloseButton(value: BooleanInput) {\n this._hasCloseButton = coerceBooleanProperty(value);\n }\n private _hasCloseButton = true;\n @Input()\n get isDismissable(): boolean {\n return this._isDismissable;\n }\n set isDismissable(value: BooleanInput) {\n this._isDismissable = coerceBooleanProperty(value);\n }\n private _isDismissable = true;\n\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private scrollDispatcherSubscription = new Subscription();\n private origin: ElementRef;\n private preferredPositons: ConnectionPositionPair[] = [BOTTOM, TOP, LEFT, RIGHT];\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private positionStrategyUpdate$: Subject<void> = new Subject();\n\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef,\n private scrollDispatcher: ScrollDispatcher,\n ) {\n super();\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (this.position === 'top') {\n this.preferredPositons = [TOP, BOTTOM, LEFT, RIGHT];\n } else if (this.position === 'right') {\n this.preferredPositons = [RIGHT, LEFT, TOP, BOTTOM];\n } else if (this.position === 'left') {\n this.preferredPositons = [LEFT, RIGHT, TOP, BOTTOM];\n } else {\n this.preferredPositons = [BOTTOM, TOP, LEFT, RIGHT];\n }\n\n if (c.size) {\n if (c.size.currentValue === 'default') {\n this.sizeClass = 'm';\n } else if (c.size.currentValue === 'small') {\n this.sizeClass = 's';\n } else if (c.size.currentValue === 'large') {\n this.sizeClass = 'l';\n } else {\n this.sizeClass = c.size.currentValue;\n }\n }\n }\n\n ngOnInit(): void {\n this.statesClass = [super.getCssClasses('eui-popover')].join(' ').trim();\n this.setPositionStream();\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /**\n * Whether the eui-popover is open.\n *\n * @usageNotes\n * ```html\n * <eui-popover #popover>\n * <my-component *ngIf=\"popover.isPopoverOpen\"></my-component>\n * </eui-popover>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n // TODO: In next version, remove isOpen @Input which is not used, deprecated this isPopoverOpen and create isOpen instead\n get isPopoverOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public onContentChange(): void {\n this.positionStrategy = this.getPositionStrategy();\n this.positionStrategyUpdate$.next();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n\n /**\n * Open a popover\n *\n * @param origin Origin of the popover position\n */\n public openPopover(origin: ElementRef): void {\n if (!this.isPopoverOpen) {\n this.cdkTrapFocusAutoCapture = true;\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n this.closePopover();\n }\n });\n\n this.origin = origin;\n const positionStrategy = this.getPositionStrategy();\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.width,\n });\n this.overlayRef.attach(this.templatePortal);\n\n this.positionStrategy = positionStrategy;\n this.positionStrategyUpdate$.next();\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.next(true);\n this.open.emit();\n }\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.close.emit();\n }\n\n /**\n * Reacts on the Esc keydown event to close the popup. Can be used as alternative to the close icon button,\n * or as the main way to close the popup when hasCloseButton is false\n *\n * @param event The key event pressed\n */\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private setPositionStream(): void {\n this.position$ = this.positionStrategyUpdate$.pipe(\n switchMap(() => this.positionStrategy.positionChanges),\n map(getPosition),\n distinctUntilChanged(),\n map((position) => [position, (this.origin as unknown as HTMLElement).getBoundingClientRect()]),\n );\n }\n}\n","<ng-template #templatePortalContent>\n <ng-container *ngIf=\"cdkTrapFocusAutoCapture\">\n <ng-container *ngTemplateOutlet=\"tmpl; context: { $implicit: true }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cdkTrapFocusAutoCapture\">\n <ng-container *ngTemplateOutlet=\"tmpl; context: { $implicit: false }\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #tmpl let-autoCapture>\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"autoCapture\"\n class=\"eui-popover eui-popover--{{ type }} {{ statesClass }}\"\n [class.eui-popover--has-custom-width]=\"width\"\n [ngClass]=\"!width ? 'eui-popover--size-' + sizeClass : ''\"\n (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n <div *ngIf=\"title\" class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n <button\n euiButton\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n class=\"eui-popover__header-close\"\n aria-label=\"Close Icon Button\"\n *ngIf=\"hasCloseButton\"\n (click)=\"closePopover()\">\n <eui-icon-svg icon=\"eui-close\" fillColor=\"primary-100\" aria-label=\"Close Icon\" class=\"eui-popover__header-close-icon\">\n </eui-icon-svg>\n </button>\n </div>\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiPopoverArrowPositionDirective } from './directives/eui-popover-arrow-position.directive';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, EuiButtonModule, EuiIconModule, A11yModule, ObserversModule],\n declarations: [EuiPopoverComponent, EuiPopoverArrowPositionDirective],\n exports: [EuiPopoverComponent],\n})\nexport class EuiPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i7.EuiPopoverArrowPositionDirective"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../eui-popover/models/eui-popover-position.model.ts","../../eui-popover/directives/eui-popover-arrow-position.directive.ts","../../eui-popover/eui-popover.component.ts","../../eui-popover/eui-popover.component.html","../../eui-popover/eui-popover.module.ts","../../eui-popover/eui-components-eui-popover.ts"],"sourcesContent":["import { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport type EuiPopoverPosition = 'top' | 'right' | 'bottom' | 'left';\n\nexport const TOP = new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }, 0, 0, ['eui-popover-position', 'eui-popover-position--top']);\nexport const BOTTOM = new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }, 0, 0, ['eui-popover-position', 'eui-popover-position--bottom']);\nexport const LEFT = new ConnectionPositionPair({ originX: 'start', originY: 'center' }, { overlayX: 'end', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--left']);\nexport const RIGHT = new ConnectionPositionPair({ originX: 'end', originY: 'center' }, { overlayX: 'start', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--right']);\n\nexport const getPosition = ({ connectionPair }: ConnectedOverlayPositionChange): EuiPopoverPosition => {\n switch (connectionPair) {\n case TOP:\n return 'top';\n case BOTTOM:\n return 'bottom';\n case LEFT:\n return 'left';\n case RIGHT:\n return 'right';\n }\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nimport { EuiPopoverPosition } from '../models/eui-popover-position.model';\n\n@Directive({\n selector: '[euiPopoverArrowPosition]',\n})\nexport class EuiPopoverArrowPositionDirective implements OnInit, OnDestroy {\n @Input('euiPopoverArrowPosition')\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n private destroy$: Subject<void> = new Subject();\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n ngOnInit(): void {\n this.position$.pipe(takeUntil(this.destroy$)).subscribe(([position, originRect]) => {\n this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getStyle(position: EuiPopoverPosition, originRect: DOMRect): string {\n const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (position === 'left' || position === 'right') {\n const verticalDiff: number =\n Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n if (verticalDiff > 0) {\n return `top: ${originRect.top + originRect.height / 2}px`;\n } else if (verticalDiff < 0) {\n return `top: unset; bottom: ${\n this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n }px`;\n }\n }\n if (position === 'top' || position === 'bottom') {\n const horizontalDiff: number =\n Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n if (horizontalDiff > 0) {\n return `left: ${originRect.left + originRect.width / 2}px`;\n } else if (horizontalDiff < 0) {\n return `left: unset; right: ${\n this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n }px`;\n }\n }\n return '';\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n AfterViewInit,\n OnDestroy,\n OnInit,\n Output,\n EventEmitter,\n ElementRef,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Overlay,\n OverlayRef,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n ScrollDispatcher,\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { BaseDirective } from '@eui/components/shared';\nimport { BOTTOM, EuiPopoverPosition, LEFT, RIGHT, TOP, getPosition } from './models/eui-popover-position.model';\n\n@Component({\n selector: 'eui-popover',\n templateUrl: './eui-popover.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiPopoverComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n @Input() title: string;\n @Input() position: EuiPopoverPosition = 'bottom';\n @Input() size: 'default' | 'small' | 'large' | 'auto' | 's' | 'm' | 'l' | 'xl' | string = 'default';\n @Input() type: 'default' | 'flat' | 'colored-header' | 'colored-solid' = 'default';\n @Input() width: string = null;\n\n @Output() outsideClick = new EventEmitter();\n // TODO: fix it for v17 - Output bindings, including aliases, should not be named as standard DOM events\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n // TODO: fix it for v17 - Output bindings, including aliases, should not be named as standard DOM events\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n\n public statesClass: string;\n public cdkTrapFocusAutoCapture = true;\n public sizeClass = 'm';\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n /** @deprecated This will be removed in next version of eui */\n @Input()\n get isOpen(): boolean {\n return this._isOpen;\n }\n set isOpen(value: BooleanInput) {\n this._isOpen = coerceBooleanProperty(value);\n }\n private _isOpen = false;\n @Input()\n get hasBackDrop(): boolean {\n return this._hasBackDrop;\n }\n set hasBackDrop(value: BooleanInput) {\n this._hasBackDrop = coerceBooleanProperty(value);\n }\n private _hasBackDrop = false;\n @Input()\n get hasCloseButton(): boolean {\n return this._hasCloseButton;\n }\n set hasCloseButton(value: BooleanInput) {\n this._hasCloseButton = coerceBooleanProperty(value);\n }\n private _hasCloseButton = true;\n @Input()\n get isDismissable(): boolean {\n return this._isDismissable;\n }\n set isDismissable(value: BooleanInput) {\n this._isDismissable = coerceBooleanProperty(value);\n }\n private _isDismissable = true;\n\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private scrollDispatcherSubscription = new Subscription();\n private origin: ElementRef;\n private preferredPositons: ConnectionPositionPair[] = [BOTTOM, TOP, LEFT, RIGHT];\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private positionStrategyUpdate$: Subject<void> = new Subject();\n\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef,\n private scrollDispatcher: ScrollDispatcher,\n ) {\n super();\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (this.position === 'top') {\n this.preferredPositons = [TOP, BOTTOM, LEFT, RIGHT];\n } else if (this.position === 'right') {\n this.preferredPositons = [RIGHT, LEFT, TOP, BOTTOM];\n } else if (this.position === 'left') {\n this.preferredPositons = [LEFT, RIGHT, TOP, BOTTOM];\n } else {\n this.preferredPositons = [BOTTOM, TOP, LEFT, RIGHT];\n }\n\n if (c.size) {\n if (c.size.currentValue === 'default') {\n this.sizeClass = 'm';\n } else if (c.size.currentValue === 'small') {\n this.sizeClass = 's';\n } else if (c.size.currentValue === 'large') {\n this.sizeClass = 'l';\n } else {\n this.sizeClass = c.size.currentValue;\n }\n }\n }\n\n ngOnInit(): void {\n this.statesClass = [super.getCssClasses('eui-popover')].join(' ').trim();\n this.setPositionStream();\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /**\n * Whether the eui-popover is open.\n *\n * @usageNotes\n * ```html\n * <eui-popover #popover>\n * <my-component *ngIf=\"popover.isPopoverOpen\"></my-component>\n * </eui-popover>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n // TODO: In next version, remove isOpen @Input which is not used, deprecated this isPopoverOpen and create isOpen instead\n get isPopoverOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public onContentChange(): void {\n this.positionStrategy = this.getPositionStrategy();\n this.positionStrategyUpdate$.next();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n\n /**\n * Open a popover\n *\n * @param origin Origin of the popover position\n */\n public openPopover(origin: ElementRef): void {\n if (!this.isPopoverOpen) {\n this.cdkTrapFocusAutoCapture = true;\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n this.closePopover();\n }\n });\n\n this.origin = origin;\n const positionStrategy = this.getPositionStrategy();\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.width,\n });\n this.overlayRef.attach(this.templatePortal);\n\n this.positionStrategy = positionStrategy;\n this.positionStrategyUpdate$.next();\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.next(true);\n this.open.emit();\n }\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.close.emit();\n }\n\n /**\n * Reacts on the Esc keydown event to close the popup. Can be used as alternative to the close icon button,\n * or as the main way to close the popup when hasCloseButton is false\n *\n * @param event The key event pressed\n */\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private setPositionStream(): void {\n this.position$ = this.positionStrategyUpdate$.pipe(\n switchMap(() => this.positionStrategy.positionChanges),\n map(getPosition),\n distinctUntilChanged(),\n map((position) => {\n const rect = this.origin.nativeElement ?\n this.origin.nativeElement.getBoundingClientRect() :\n (this.origin as unknown as HTMLElement).getBoundingClientRect();\n return [position, rect];\n }),\n );\n }\n}\n","<ng-template #templatePortalContent>\n <ng-container *ngIf=\"cdkTrapFocusAutoCapture\">\n <ng-container *ngTemplateOutlet=\"tmpl; context: { $implicit: true }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!cdkTrapFocusAutoCapture\">\n <ng-container *ngTemplateOutlet=\"tmpl; context: { $implicit: false }\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #tmpl let-autoCapture>\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"autoCapture\"\n class=\"eui-popover eui-popover--{{ type }} {{ statesClass }}\"\n [class.eui-popover--has-custom-width]=\"width\"\n [ngClass]=\"!width ? 'eui-popover--size-' + sizeClass : ''\"\n (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n <div *ngIf=\"title\" class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n <button\n euiButton\n euiRounded\n euiIconButton\n euiBasicButton\n euiSizeS\n class=\"eui-popover__header-close\"\n aria-label=\"Close Icon Button\"\n *ngIf=\"hasCloseButton\"\n (click)=\"closePopover()\">\n <eui-icon-svg icon=\"eui-close\" fillColor=\"primary-100\" aria-label=\"Close Icon\" class=\"eui-popover__header-close-icon\">\n </eui-icon-svg>\n </button>\n </div>\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiPopoverArrowPositionDirective } from './directives/eui-popover-arrow-position.directive';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, EuiButtonModule, EuiIconModule, A11yModule, ObserversModule],\n declarations: [EuiPopoverComponent, EuiPopoverArrowPositionDirective],\n exports: [EuiPopoverComponent],\n})\nexport class EuiPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i7.EuiPopoverArrowPositionDirective"],"mappings":"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"}