@eui/components 14.0.2-snapshot-1656682869214 → 14.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/components/EuiPopoverComponent.html +47 -1
- package/docs/components/UxEditorComponent.html +11 -1
- package/docs/js/menu-wc.js +6 -6
- package/docs/js/menu-wc_es5.js +1 -1
- package/esm2020/eui-autocomplete/eui-autocomplete.component.mjs +2 -2
- package/esm2020/eui-popover/eui-popover.component.mjs +48 -27
- package/esm2020/legacy/ux-editor/ux-editor.component.mjs +49 -19
- package/eui-popover/eui-popover.component.d.ts +14 -0
- package/eui-popover/eui-popover.component.d.ts.map +1 -1
- package/fesm2015/eui-components-eui-autocomplete.mjs +2 -2
- package/fesm2015/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2015/eui-components-eui-popover.mjs +47 -26
- package/fesm2015/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2015/eui-components-legacy-ux-editor.mjs +48 -18
- package/fesm2015/eui-components-legacy-ux-editor.mjs.map +1 -1
- package/fesm2020/eui-components-eui-autocomplete.mjs +2 -2
- package/fesm2020/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2020/eui-components-eui-popover.mjs +47 -26
- package/fesm2020/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2020/eui-components-legacy-ux-editor.mjs +48 -18
- package/fesm2020/eui-components-legacy-ux-editor.mjs.map +1 -1
- package/legacy/ux-editor/ux-editor.component.d.ts +2 -0
- package/legacy/ux-editor/ux-editor.component.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -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\nexport class EuiAutoCompleteItem {\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 tooltip?: EuiChipTooltip;\n metadata?: any;\n\n constructor(values: Object = {}) {\n Object.assign(this, values);\n }\n}\n","import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation, OnInit, OnDestroy, ElementRef, ViewChild, OnChanges,\n ChangeDetectorRef, Output, EventEmitter, SimpleChanges, QueryList, AfterViewInit, TemplateRef, ContentChildren, HostBinding,\n Self, Optional } from '@angular/core';\nimport { FormControl, ControlValueAccessor, NgControl } from '@angular/forms';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { skip, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject, BehaviorSubject, of, Observable } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatChipInput, MatChipInputEvent, MatChipList } from '@angular/material/chips';\nimport { CdkDropList } from '@angular/cdk/drag-drop';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiChip } 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 extends BaseDirective implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit {\n @Input()\n get hasChips(): boolean { return this._hasChips; }\n set hasChips(value: boolean|string) { this._hasChips = coerceBooleanProperty(value); }\n private _hasChips = false;\n\n @Input()\n get async(): boolean { return this._async; }\n set async(value: boolean|string) { this._async = coerceBooleanProperty(value); }\n private _async = false;\n\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n\n @Input()\n get addOnBlur(): boolean { return this._addOnBlur; }\n set addOnBlur(value: boolean|string) { this._addOnBlur = coerceBooleanProperty(value); }\n private _addOnBlur = false;\n\n @Input()\n get isFreeValueAllowed(): boolean { return this._isFreeValueAllowed; }\n set isFreeValueAllowed(value: boolean|string) { this._isFreeValueAllowed = coerceBooleanProperty(value); }\n private _isFreeValueAllowed = true;\n\n @Input()\n get isDuplicateValueAllowed(): boolean { return this._isDuplicateValueAllowed; }\n set isDuplicateValueAllowed(value: boolean|string) { this._isDuplicateValueAllowed = coerceBooleanProperty(value); }\n private _isDuplicateValueAllowed = false;\n\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() classList: string;\n @Input() groupBy: string;\n\n @Input()\n get isLoading(): boolean { return this._isLoading; }\n set isLoading(value: boolean|string) { this._isLoading = coerceBooleanProperty(value); }\n private _isLoading = false;\n\n @Input()\n get isChipsRemovable(): boolean { return this._isChipsRemovable; }\n set isChipsRemovable(value: boolean|string) { this._isChipsRemovable = coerceBooleanProperty(value); }\n private _isChipsRemovable = true;\n\n @Input()\n get maxVisibleChipsCount(): number { return this._maxVisibleChipsCount; }\n set maxVisibleChipsCount(value: number|string) { this._maxVisibleChipsCount = coerceNumberProperty(value); }\n private _maxVisibleChipsCount = null;\n\n @Input()\n get chipsLabelTruncateCount(): number { return this._chipsLabelTruncateCount; }\n set chipsLabelTruncateCount(value: number|string) { this._chipsLabelTruncateCount = coerceNumberProperty(value); }\n private _chipsLabelTruncateCount = null;\n\n @Input()\n get isMaxVisibleChipsOpened(): boolean { return this._isMaxVisibleChipsOpened; }\n set isMaxVisibleChipsOpened(value: boolean|string) { this._isMaxVisibleChipsOpened = coerceBooleanProperty(value); }\n private _isMaxVisibleChipsOpened = false;\n\n @Input()\n get readonly(): boolean { return this._readonly; }\n set readonly(value: boolean|string) { this._readonly = coerceBooleanProperty(value); }\n private _readonly = false;\n\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n\n @Input()\n get isChipsSorted(): boolean { return this._isChipsSorted; }\n set isChipsSorted(value: boolean|string) { this._isChipsSorted = coerceBooleanProperty(value); }\n private _isChipsSorted = false;\n\n @Input()\n get isItemsSorted(): boolean { return this._isItemsSorted; }\n set isItemsSorted(value: boolean|string) { this._isItemsSorted = coerceBooleanProperty(value); }\n private _isItemsSorted = false;\n\n @Input()\n get isChipsDragAndDrop(): boolean { return this._isChipsDragAndDrop; }\n set isChipsDragAndDrop(value: boolean|string) { this._isChipsDragAndDrop = coerceBooleanProperty(value); }\n private _isChipsDragAndDrop = false;\n\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n /* tslint:disable */\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 /* tslint:enable */\n\n @Output() close = new EventEmitter();\n @Output() open = 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() {\n return [\n super.getCssClasses('eui-autocomplete'),\n ].join(' ').trim();\n }\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('chipInput') chipInput: MatChipInput;\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\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 chipsListComponent: MatChipList;\n public distinctOptionGroups: string[];\n public groupedItems: { [id: string]: Observable<EuiAutoCompleteItem[]> };\n public autocompleteId = `eui-autocomplete-${uniqueId()}`;\n public isDisabled = false;\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\n constructor(private cd: ChangeDetectorRef, @Self() @Optional() private control: NgControl) {\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 const current = JSON.stringify(c.autocompleteData.currentValue);\n const previous = JSON.stringify(c.autocompleteData.previousValue);\n\n if (current !== previous && c.autocompleteData.previousValue) {\n this.inputValueHandler(this.fieldValue);\n }\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) => {\n return new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() }));\n });\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n\n ngOnInit(): void {\n const start = Array.isArray(this.value) ? null : this.value?.label;\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$), startWith(start), skip(1)).subscribe((value) => {\n this.fieldValue = value;\n this.inputValueHandler(value);\n });\n\n if (this.groupBy) {\n this.groupingHandler();\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 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 matChipEvent: MatChipInputEvent = {\n input: this.autocompleteInput.nativeElement,\n value: this.autocompleteInput.nativeElement.value,\n chipInput: this.chipInput,\n };\n this.add(matChipEvent);\n }\n }\n }\n\n public add(event: MatChipInputEvent): void {\n if (this.isFreeValueAllowed) {\n if ((event.value || '').trim()) {\n const foundItem = !this.isDuplicateValueAllowed ? this.autocompleteDataSelected.find((selectedItem) => {\n return selectedItem.label.toString().trim() === event.value.trim();\n }) : false;\n\n if (!foundItem) {\n this.autocompleteDataSelected.push(new EuiAutoCompleteItem({ label: event.value.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: event.value.trim() }));\n this.itemAdd.emit(new EuiAutoCompleteItem({ label: event.value.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\n const autocompleteDataRemoved = this.autocompleteDataSelected.find((data) => {\n return e.removed instanceof EuiChip ? data.euiInternalId === e.removed.euiInternalId :\n data.euiInternalId === e.removed.chip.euiInternalId;\n });\n\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter((data) => {\n return e.removed instanceof EuiChip ? 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 (!(e.removed instanceof EuiChip) && e.removed.event instanceof KeyboardEvent &&\n (<KeyboardEvent>e.removed.event).code === 'Backspace' && this.chipList.euiChipItems.length > 1) {\n this.chipList.euiChipItems.get(this.chipList.euiChipItems.length - 2).nativeElement\n .querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n public chipsInit(e: { chipList: MatChipList, chipsListDragAndDropItems: CdkDropList }): void {\n this.chipsListComponent = e.chipList;\n this.cd.detectChanges();\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 onFocusOut(e: FocusEvent): void {\n this.onTouch();\n }\n\n public trackByFn(index: number, item: EuiAutoCompleteItem): number {\n return index;\n }\n\n public onClose(): void {\n if (!this.ignoreOpenCloseEvents) {\n this.closed.emit();\n this.close.emit();\n }\n }\n\n public onOpen(): void {\n if (!this.ignoreOpenCloseEvents) {\n this.opened.emit();\n this.open.emit();\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((selected) => {\n return new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() }));\n });\n this.chips = [...this.mapAsChip()];\n this.autocompleteControl.setValue(null);\n\n this.autocompleteOptions.next(this._filter(''));\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\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.inputValueHandler(value as EuiAutoCompleteItem);\n this.cd.detectChanges();\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: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n public onChipDropped(e: any): void {\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 public onChipDragStarted(e: any): void {\n this.chipDragStarted.emit(e);\n this.chipDragStart.emit(e);\n }\n\n public onChipDragReleased(e: any): void {\n this.chipDragReleased.emit(e);\n this.chipDragRelease.emit(e);\n }\n\n public onClear() {\n this.clear.next(undefined);\n }\n\n onChipListFocus() {\n this.autocompleteInputTrigger.closePanel();\n }\n\n onKeyDownBackspace() {\n if (this.chipsPosition === 'inside' && this.autocompleteInput.nativeElement.value === '' &&\n 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 inputValueHandler(value: string | EuiAutoCompleteItem): void {\n if (this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) => {\n return 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 return 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(this.isItemsSorted ?\n this.orderItems(this._filter(filterValue as string), this.itemsSortOrder) as EuiAutoCompleteItem[] :\n this._filter(filterValue as string));\n }\n }\n\n private onChange: any = () => {};\n\n private onTouch: any = () => {};\n\n private _filter(str: string): EuiAutoCompleteItem[] {\n const filteredItems: EuiAutoCompleteItem[] = [];\n this.autocompleteData.forEach((item: EuiAutoCompleteItem) => {\n const foundItem = !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((selected) => {\n return 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: 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\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 this.distinctOptionGroups = this.autocompleteData.map((item) => {\n return this.groupBy.split('.').reduce((prev, curr) => {\n return prev ? prev[curr] : null;\n }, item || self);\n });\n\n this.distinctOptionGroups = this.distinctOptionGroups\n .filter((n, i) => this.distinctOptionGroups.indexOf(n) === i)\n .sort((a: string, b: string) => a > b ? 1 : -1);\n\n this.autocompleteOptions.pipe(takeUntil(this.destroy$)).subscribe((autocompleteOptions) => {\n let groupedItems: EuiAutoCompleteItem[];\n this.distinctOptionGroups.forEach((group) => {\n groupedItems = autocompleteOptions.filter((item) => {\n const f = this.groupBy.split('.').reduce((prev, curr) => {\n return prev ? prev[curr] : null;\n }, item || self);\n\n return f === group;\n });\n\n if (this.isItemsSorted) {\n groupedItems = this.orderItems(groupedItems, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n this.groupedItems = {\n ...this.groupedItems,\n [group]: of(groupedItems),\n } as { [id: string]: Observable<EuiAutoCompleteItem[]> };\n });\n });\n }\n}\n","<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n\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 [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 (chipsInit)=\"chipsInit($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 (clear)=\"onClear()\"\n (focusout)=\"onFocusOut($event)\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\">\n </ng-container>\n <ng-container *ngIf=\"chipsListComponent && hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #chipInput\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipsListComponent\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"false\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut($event); addOnBlurHandler($event)\"\n (matChipInputTokenEnd)=\"add($event)\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\"\n (keydown.backspace)=\"onKeyDownBackspace()\">\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"classList\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\" [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [class]=\"groupedItem.typeClass ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass : 'mat-option eui-autocomplete__option'\"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <mat-option\n *ngFor=\"let autocompleteOption of autocompleteOptions | async; trackBy: trackByFn\"\n [class]=\"autocompleteOption.typeClass ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass : 'mat-option eui-autocomplete__option'\"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\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 [ngTemplateOutlet]=\"autocompleteOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\n@NgModule({\n imports: [\n CommonModule,\n MatChipsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n EuiInputTextModule,\n ],\n declarations: [\n EuiAutocompleteComponent,\n ],\n exports: [\n EuiAutocompleteComponent,\n ],\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\nexport class EuiAutoCompleteItem {\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 tooltip?: EuiChipTooltip;\n metadata?: any;\n\n constructor(values: Object = {}) {\n Object.assign(this, values);\n }\n}\n","import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation, OnInit, OnDestroy, ElementRef, ViewChild, OnChanges,\n ChangeDetectorRef, Output, EventEmitter, SimpleChanges, QueryList, AfterViewInit, TemplateRef, ContentChildren, HostBinding,\n Self, Optional } from '@angular/core';\nimport { FormControl, ControlValueAccessor, NgControl } from '@angular/forms';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { skip, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject, BehaviorSubject, of, Observable } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatChipInput, MatChipInputEvent, MatChipList } from '@angular/material/chips';\nimport { CdkDropList } from '@angular/cdk/drag-drop';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiChip } 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 extends BaseDirective implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit {\n @Input()\n get hasChips(): boolean { return this._hasChips; }\n set hasChips(value: boolean|string) { this._hasChips = coerceBooleanProperty(value); }\n private _hasChips = false;\n\n @Input()\n get async(): boolean { return this._async; }\n set async(value: boolean|string) { this._async = coerceBooleanProperty(value); }\n private _async = false;\n\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n\n @Input()\n get addOnBlur(): boolean { return this._addOnBlur; }\n set addOnBlur(value: boolean|string) { this._addOnBlur = coerceBooleanProperty(value); }\n private _addOnBlur = false;\n\n @Input()\n get isFreeValueAllowed(): boolean { return this._isFreeValueAllowed; }\n set isFreeValueAllowed(value: boolean|string) { this._isFreeValueAllowed = coerceBooleanProperty(value); }\n private _isFreeValueAllowed = true;\n\n @Input()\n get isDuplicateValueAllowed(): boolean { return this._isDuplicateValueAllowed; }\n set isDuplicateValueAllowed(value: boolean|string) { this._isDuplicateValueAllowed = coerceBooleanProperty(value); }\n private _isDuplicateValueAllowed = false;\n\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() classList: string;\n @Input() groupBy: string;\n\n @Input()\n get isLoading(): boolean { return this._isLoading; }\n set isLoading(value: boolean|string) { this._isLoading = coerceBooleanProperty(value); }\n private _isLoading = false;\n\n @Input()\n get isChipsRemovable(): boolean { return this._isChipsRemovable; }\n set isChipsRemovable(value: boolean|string) { this._isChipsRemovable = coerceBooleanProperty(value); }\n private _isChipsRemovable = true;\n\n @Input()\n get maxVisibleChipsCount(): number { return this._maxVisibleChipsCount; }\n set maxVisibleChipsCount(value: number|string) { this._maxVisibleChipsCount = coerceNumberProperty(value); }\n private _maxVisibleChipsCount = null;\n\n @Input()\n get chipsLabelTruncateCount(): number { return this._chipsLabelTruncateCount; }\n set chipsLabelTruncateCount(value: number|string) { this._chipsLabelTruncateCount = coerceNumberProperty(value); }\n private _chipsLabelTruncateCount = null;\n\n @Input()\n get isMaxVisibleChipsOpened(): boolean { return this._isMaxVisibleChipsOpened; }\n set isMaxVisibleChipsOpened(value: boolean|string) { this._isMaxVisibleChipsOpened = coerceBooleanProperty(value); }\n private _isMaxVisibleChipsOpened = false;\n\n @Input()\n get readonly(): boolean { return this._readonly; }\n set readonly(value: boolean|string) { this._readonly = coerceBooleanProperty(value); }\n private _readonly = false;\n\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n\n @Input()\n get isChipsSorted(): boolean { return this._isChipsSorted; }\n set isChipsSorted(value: boolean|string) { this._isChipsSorted = coerceBooleanProperty(value); }\n private _isChipsSorted = false;\n\n @Input()\n get isItemsSorted(): boolean { return this._isItemsSorted; }\n set isItemsSorted(value: boolean|string) { this._isItemsSorted = coerceBooleanProperty(value); }\n private _isItemsSorted = false;\n\n @Input()\n get isChipsDragAndDrop(): boolean { return this._isChipsDragAndDrop; }\n set isChipsDragAndDrop(value: boolean|string) { this._isChipsDragAndDrop = coerceBooleanProperty(value); }\n private _isChipsDragAndDrop = false;\n\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n /* tslint:disable */\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 /* tslint:enable */\n\n @Output() close = new EventEmitter();\n @Output() open = 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() {\n return [\n super.getCssClasses('eui-autocomplete'),\n ].join(' ').trim();\n }\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('chipInput') chipInput: MatChipInput;\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\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 chipsListComponent: MatChipList;\n public distinctOptionGroups: string[];\n public groupedItems: { [id: string]: Observable<EuiAutoCompleteItem[]> };\n public autocompleteId = `eui-autocomplete-${uniqueId()}`;\n public isDisabled = false;\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\n constructor(private cd: ChangeDetectorRef, @Self() @Optional() private control: NgControl) {\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 const current = JSON.stringify(c.autocompleteData.currentValue);\n const previous = JSON.stringify(c.autocompleteData.previousValue);\n\n if (current !== previous && c.autocompleteData.previousValue) {\n this.inputValueHandler(this.fieldValue);\n }\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) => {\n return new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() }));\n });\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n\n ngOnInit(): void {\n const start = Array.isArray(this.value) ? null : this.value?.label;\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$), startWith(start), skip(1)).subscribe((value) => {\n this.fieldValue = value;\n this.inputValueHandler(value);\n });\n\n if (this.groupBy) {\n this.groupingHandler();\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 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 matChipEvent: MatChipInputEvent = {\n input: this.autocompleteInput.nativeElement,\n value: this.autocompleteInput.nativeElement.value,\n chipInput: this.chipInput,\n };\n this.add(matChipEvent);\n }\n }\n }\n\n public add(event: MatChipInputEvent): void {\n if (this.isFreeValueAllowed) {\n if ((event.value || '').trim()) {\n const foundItem = !this.isDuplicateValueAllowed ? this.autocompleteDataSelected.find((selectedItem) => {\n return selectedItem.label.toString().trim() === event.value.trim();\n }) : false;\n\n if (!foundItem) {\n this.autocompleteDataSelected.push(new EuiAutoCompleteItem({ label: event.value.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: event.value.trim() }));\n this.itemAdd.emit(new EuiAutoCompleteItem({ label: event.value.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\n const autocompleteDataRemoved = this.autocompleteDataSelected.find((data) => {\n return e.removed instanceof EuiChip ? data.euiInternalId === e.removed.euiInternalId :\n data.euiInternalId === e.removed.chip.euiInternalId;\n });\n\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter((data) => {\n return e.removed instanceof EuiChip ? 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 (!(e.removed instanceof EuiChip) && e.removed.event instanceof KeyboardEvent &&\n (<KeyboardEvent>e.removed.event).code === 'Backspace' && this.chipList.euiChipItems.length > 1) {\n this.chipList.euiChipItems.get(this.chipList.euiChipItems.length - 2).nativeElement\n .querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n public chipsInit(e: { chipList: MatChipList, chipsListDragAndDropItems: CdkDropList }): void {\n this.chipsListComponent = e.chipList;\n this.cd.detectChanges();\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 onFocusOut(e: FocusEvent): void {\n this.onTouch();\n }\n\n public trackByFn(index: number, item: EuiAutoCompleteItem): number {\n return index;\n }\n\n public onClose(): void {\n if (!this.ignoreOpenCloseEvents) {\n this.closed.emit();\n this.close.emit();\n }\n }\n\n public onOpen(): void {\n if (!this.ignoreOpenCloseEvents) {\n this.opened.emit();\n this.open.emit();\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((selected) => {\n return new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() }));\n });\n this.chips = [...this.mapAsChip()];\n this.autocompleteControl.setValue(null);\n\n this.autocompleteOptions.next(this._filter(''));\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\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.inputValueHandler(value as EuiAutoCompleteItem);\n this.cd.detectChanges();\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: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n public onChipDropped(e: any): void {\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 public onChipDragStarted(e: any): void {\n this.chipDragStarted.emit(e);\n this.chipDragStart.emit(e);\n }\n\n public onChipDragReleased(e: any): void {\n this.chipDragReleased.emit(e);\n this.chipDragRelease.emit(e);\n }\n\n public onClear() {\n this.clear.next(undefined);\n }\n\n onChipListFocus() {\n this.autocompleteInputTrigger.closePanel();\n }\n\n onKeyDownBackspace() {\n if (this.chipsPosition === 'inside' && this.autocompleteInput.nativeElement.value === '' &&\n 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 inputValueHandler(value: string | EuiAutoCompleteItem): void {\n if (this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) => {\n return 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 return 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(this.isItemsSorted ?\n this.orderItems(this._filter(filterValue as string), this.itemsSortOrder) as EuiAutoCompleteItem[] :\n this._filter(filterValue as string));\n }\n }\n\n private onChange: any = () => {};\n\n private onTouch: any = () => {};\n\n private _filter(str: string): EuiAutoCompleteItem[] {\n const filteredItems: EuiAutoCompleteItem[] = [];\n this.autocompleteData.forEach((item: EuiAutoCompleteItem) => {\n const foundItem = !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((selected) => {\n return 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: 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\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 this.distinctOptionGroups = this.autocompleteData.map((item) => {\n return this.groupBy.split('.').reduce((prev, curr) => {\n return prev ? prev[curr] : null;\n }, item || self);\n });\n\n this.distinctOptionGroups = this.distinctOptionGroups\n .filter((n, i) => this.distinctOptionGroups.indexOf(n) === i)\n .sort((a: string, b: string) => a > b ? 1 : -1);\n\n this.autocompleteOptions.pipe(takeUntil(this.destroy$)).subscribe((autocompleteOptions) => {\n let groupedItems: EuiAutoCompleteItem[];\n this.distinctOptionGroups.forEach((group) => {\n groupedItems = autocompleteOptions.filter((item) => {\n const f = this.groupBy.split('.').reduce((prev, curr) => {\n return prev ? prev[curr] : null;\n }, item || self);\n\n return f === group;\n });\n\n if (this.isItemsSorted) {\n groupedItems = this.orderItems(groupedItems, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n this.groupedItems = {\n ...this.groupedItems,\n [group]: of(groupedItems),\n } as { [id: string]: Observable<EuiAutoCompleteItem[]> };\n });\n });\n }\n}\n","<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n\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 [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 (chipsInit)=\"chipsInit($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 (clear)=\"onClear()\"\n (focusout)=\"onFocusOut($event)\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\">\n </ng-container>\n <ng-container *ngIf=\"chipsListComponent && hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #chipInput\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipsListComponent\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"false\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut($event); addOnBlurHandler($event)\"\n (matChipInputTokenEnd)=\"add($event)\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\"\n (keydown.backspace)=\"onKeyDownBackspace()\">\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"classList\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\" [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [class]=\"groupedItem.typeClass ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass : 'mat-option eui-autocomplete__option'\"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <mat-option\n *ngFor=\"let autocompleteOption of autocompleteOptions | async; trackBy: trackByFn\"\n [class]=\"autocompleteOption.typeClass ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass : 'mat-option eui-autocomplete__option'\"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\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 [ngTemplateOutlet]=\"autocompleteOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\n@NgModule({\n imports: [\n CommonModule,\n MatChipsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n EuiInputTextModule,\n ],\n declarations: [\n EuiAutocompleteComponent,\n ],\n exports: [\n EuiAutocompleteComponent,\n ],\n})\nexport class EuiAutocompleteModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, In
|
|
|
3
3
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
4
4
|
import * as i1 from '@angular/cdk/overlay';
|
|
5
5
|
import { ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
|
|
6
|
-
import { Subject } from 'rxjs';
|
|
6
|
+
import { Subject, BehaviorSubject } from 'rxjs';
|
|
7
7
|
import { takeUntil } from 'rxjs/operators';
|
|
8
8
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
9
9
|
import { BaseDirective } from '@eui/components/shared';
|
|
@@ -30,6 +30,7 @@ class EuiPopoverComponent extends BaseDirective {
|
|
|
30
30
|
this.open = new EventEmitter();
|
|
31
31
|
this.close = new EventEmitter();
|
|
32
32
|
this.destroy$ = new Subject();
|
|
33
|
+
this.isOpen$ = new BehaviorSubject(false);
|
|
33
34
|
this.originX = 'center';
|
|
34
35
|
this.originY = 'bottom';
|
|
35
36
|
this.overlayX = 'center';
|
|
@@ -39,6 +40,7 @@ class EuiPopoverComponent extends BaseDirective {
|
|
|
39
40
|
this.fallbackOverlayX = 'center';
|
|
40
41
|
this.fallbackOverlayY = 'top';
|
|
41
42
|
}
|
|
43
|
+
/** @deprecated This will be removed in next version of eui */
|
|
42
44
|
get isOpen() { return this._isOpen; }
|
|
43
45
|
set isOpen(value) { this._isOpen = coerceBooleanProperty(value); }
|
|
44
46
|
get hasBackDrop() { return this._hasBackDrop; }
|
|
@@ -87,36 +89,54 @@ class EuiPopoverComponent extends BaseDirective {
|
|
|
87
89
|
this.overlayRef?.dispose();
|
|
88
90
|
this.overlayRef = null;
|
|
89
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Whether the eui-popover is open.
|
|
94
|
+
*
|
|
95
|
+
* @usageNotes
|
|
96
|
+
* ```html
|
|
97
|
+
* <eui-popover #popover>
|
|
98
|
+
* <my-component *ngIf="popover.isPopoverOpen"></my-component>
|
|
99
|
+
* </eui-popover>
|
|
100
|
+
* ```
|
|
101
|
+
* @returns A boolean with value `true` when open, otherwise `false`.
|
|
102
|
+
*/
|
|
103
|
+
// TODO: In next version, remove isOpen @Input which is not used, deprecated this isPopoverOpen and create isOpen instead
|
|
104
|
+
get isPopoverOpen() {
|
|
105
|
+
return this.isOpen$.value;
|
|
106
|
+
}
|
|
90
107
|
/**
|
|
91
108
|
* Open a popover
|
|
92
109
|
* @param origin Origin of the popover position
|
|
93
110
|
*/
|
|
94
111
|
openPopover(target) {
|
|
95
|
-
|
|
96
|
-
.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
this.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
112
|
+
if (!this.isPopoverOpen) {
|
|
113
|
+
const positionStrategy = this.overlay.position()
|
|
114
|
+
.flexibleConnectedTo(target)
|
|
115
|
+
.withPositions([
|
|
116
|
+
new ConnectionPositionPair({ originX: this.originX, originY: this.originY }, { overlayX: this.overlayX, overlayY: this.overlayY }),
|
|
117
|
+
new ConnectionPositionPair({ originX: this.fallbackOriginX, originY: this.fallbackOriginY }, { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY }),
|
|
118
|
+
])
|
|
119
|
+
.withFlexibleDimensions(false)
|
|
120
|
+
.withLockedPosition(true);
|
|
121
|
+
positionStrategy.positionChanges.pipe(takeUntil(this.destroy$)).subscribe((p) => {
|
|
122
|
+
const lastPosition = this.overlayRef.getConfig().positionStrategy['_lastPosition'];
|
|
123
|
+
this.positionClass = this.getPositionClass(lastPosition);
|
|
124
|
+
});
|
|
125
|
+
const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });
|
|
126
|
+
this.overlayRef = this.overlay.create({
|
|
127
|
+
positionStrategy,
|
|
128
|
+
scrollStrategy,
|
|
129
|
+
});
|
|
130
|
+
this.overlayRef.attach(this.templatePortal);
|
|
131
|
+
this.overlayRef.outsidePointerEvents().pipe(takeUntil(this.destroy$)).subscribe((e) => {
|
|
132
|
+
if (this.isDismissable) {
|
|
133
|
+
this.outsideClick.emit();
|
|
134
|
+
this.closePopover();
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
this.isOpen$.next(true);
|
|
138
|
+
this.open.emit();
|
|
139
|
+
}
|
|
120
140
|
}
|
|
121
141
|
/**
|
|
122
142
|
* Close a popover
|
|
@@ -124,6 +144,7 @@ class EuiPopoverComponent extends BaseDirective {
|
|
|
124
144
|
closePopover() {
|
|
125
145
|
this.overlayRef.dispose();
|
|
126
146
|
this.overlayRef = null;
|
|
147
|
+
this.isOpen$.next(false);
|
|
127
148
|
this.close.emit();
|
|
128
149
|
}
|
|
129
150
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../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 { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy,\n OnInit, Output, EventEmitter, ElementRef } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Overlay, OverlayRef, ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { BaseDirective } from '@eui/components/shared';\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})\n\nexport class EuiPopoverComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n\n @Input()\n get isOpen(): boolean { return this._isOpen; }\n set isOpen(value: boolean|string) { this._isOpen = coerceBooleanProperty(value); }\n private _isOpen: boolean = false;\n @Input() title: string;\n @Input() position: ('top' | 'right' | 'bottom' | 'left') = 'bottom';\n @Input() size: ('default' | 'small' | 'large' | 'auto') = 'default';\n @Input() type: ('default' | 'flat' | 'colored-header' | 'colored-solid') = 'default';\n @Input()\n get hasBackDrop(): boolean { return this._hasBackDrop; }\n set hasBackDrop(value: boolean|string) { this._hasBackDrop = coerceBooleanProperty(value); }\n private _hasBackDrop = false;\n @Input()\n get hasCloseButton(): boolean { return this._hasCloseButton; }\n set hasCloseButton(value: boolean|string) { this._hasCloseButton = coerceBooleanProperty(value); }\n private _hasCloseButton = true;\n @Input()\n get isDismissable() { return this._isDismissable; }\n set isDismissable(value) { this._isDismissable = coerceBooleanProperty(value); }\n _isDismissable = true;\n\n @Output() outsideClick = new EventEmitter();\n @Output() open = new EventEmitter();\n @Output() close = new EventEmitter();\n\n public positionClass: string;\n public statesClass: string;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n private templatePortal: TemplatePortal<any>;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n private originX: ('start' | 'end' | 'center') = 'center';\n private originY: ('top' | 'bottom' | 'center') = 'bottom';\n private overlayX: ('start' | 'end' | 'center') = 'center';\n private overlayY: ('top' | 'bottom' | 'center') = 'top';\n private fallbackOriginX: ('start' | 'end' | 'center') = 'center';\n private fallbackOriginY: ('top' | 'bottom' | 'center') = 'bottom';\n private fallbackOverlayX: ('start' | 'end' | 'center') = 'center';\n private fallbackOverlayY: ('top' | 'bottom' | 'center') = 'top';\n\n constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef) {\n super();\n }\n\n ngOnInit(): void {\n this.statesClass = [super.getCssClasses('eui-popover')].join(' ').trim();\n\n if (this.position === 'top') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n this.fallbackOriginY = 'bottom';\n this.fallbackOverlayY = 'top';\n }\n if (this.position === 'right') {\n this.originX = 'end';\n this.overlayX = 'start';\n this.overlayY = 'center';\n this.fallbackOriginX = 'start';\n this.fallbackOverlayX = 'end';\n this.fallbackOverlayY = 'center';\n }\n if (this.position === 'bottom') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n this.fallbackOriginY = 'top';\n this.fallbackOverlayY = 'bottom';\n }\n if (this.position === 'left') {\n this.originX = 'start';\n this.overlayX = 'end';\n this.overlayY = 'center';\n this.fallbackOriginX = 'end';\n this.fallbackOverlayX = 'start';\n this.fallbackOverlayY = 'center';\n }\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.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /**\n * Open a popover\n * @param origin Origin of the popover position\n */\n public openPopover(target: ElementRef): void {\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(target as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n new ConnectionPositionPair(\n { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n\n positionStrategy.positionChanges.pipe(takeUntil(this.destroy$)).subscribe((p) => {\n const lastPosition = this.overlayRef.getConfig().positionStrategy['_lastPosition'];\n this.positionClass = this.getPositionClass(lastPosition);\n });\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n });\n this.overlayRef.attach(this.templatePortal);\n\n this.overlayRef.outsidePointerEvents().pipe(takeUntil(this.destroy$)).subscribe((e) => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.open.emit();\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.overlayRef.dispose();\n this.overlayRef = null;\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 * @param event The key event pressed\n */\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private getPositionClass(lastPosition: ConnectionPositionPair): string {\n if (this.position === 'top' && lastPosition.originY === 'top') {\n return 'top';\n }\n if (this.position === 'top' && lastPosition.originY === 'bottom') {\n return 'bottom';\n }\n if (this.position === 'bottom' && lastPosition.originY === 'bottom') {\n return 'bottom';\n }\n if (this.position === 'bottom' && lastPosition.originY === 'top') {\n return 'top';\n }\n\n if (this.position === 'left' && lastPosition.originX === 'start') {\n return 'left';\n }\n if (this.position === 'left' && lastPosition.originX === 'end') {\n return 'right';\n }\n if (this.position === 'right' && lastPosition.originX === 'end') {\n return 'right';\n }\n if (this.position === 'right' && lastPosition.originX === 'start') {\n return 'left';\n }\n }\n\n}\n","<ng-template #templatePortalContent>\n <div cdkTrapFocus cdkTrapFocusAutoCapture class=\"eui-popover eui-popover--{{ positionClass }} eui-popover--size-{{ size }} eui-popover--{{ type }} {{ statesClass }}\" (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\">\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 euiButton euiRounded euiIconButton euiBasicButton euiPrimary euiSizeS aria-label=\"Close Icon Button\" *ngIf=\"hasCloseButton\" (click)=\"closePopover()\">\n <span class=\"eui-icon eui-icon-close-m\" aria-label=\"Close Icon\"></span>\n </button>\n </div>\n <div 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';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiButtonModule } from '@eui/components/eui-button';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n EuiButtonModule,\n A11yModule\n ],\n declarations: [\n EuiPopoverComponent,\n ],\n exports: [\n EuiPopoverComponent,\n ],\n})\nexport class EuiPopoverModule { }\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-popover.mjs","sources":["../../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 { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy,\n OnInit, Output, EventEmitter, ElementRef } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Overlay, OverlayRef, ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { BaseDirective } from '@eui/components/shared';\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})\n\nexport class EuiPopoverComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n\n /** @deprecated This will be removed in next version of eui */\n @Input()\n get isOpen(): boolean { return this._isOpen; }\n set isOpen(value: boolean|string) { this._isOpen = coerceBooleanProperty(value); }\n private _isOpen: boolean = false;\n @Input() title: string;\n @Input() position: ('top' | 'right' | 'bottom' | 'left') = 'bottom';\n @Input() size: ('default' | 'small' | 'large' | 'auto') = 'default';\n @Input() type: ('default' | 'flat' | 'colored-header' | 'colored-solid') = 'default';\n @Input()\n get hasBackDrop(): boolean { return this._hasBackDrop; }\n set hasBackDrop(value: boolean|string) { this._hasBackDrop = coerceBooleanProperty(value); }\n private _hasBackDrop = false;\n @Input()\n get hasCloseButton(): boolean { return this._hasCloseButton; }\n set hasCloseButton(value: boolean|string) { this._hasCloseButton = coerceBooleanProperty(value); }\n private _hasCloseButton = true;\n @Input()\n get isDismissable() { return this._isDismissable; }\n set isDismissable(value) { this._isDismissable = coerceBooleanProperty(value); }\n _isDismissable = true;\n\n @Output() outsideClick = new EventEmitter();\n @Output() open = new EventEmitter();\n @Output() close = new EventEmitter();\n\n public positionClass: string;\n public statesClass: string;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n private templatePortal: TemplatePortal<any>;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n private originX: ('start' | 'end' | 'center') = 'center';\n private originY: ('top' | 'bottom' | 'center') = 'bottom';\n private overlayX: ('start' | 'end' | 'center') = 'center';\n private overlayY: ('top' | 'bottom' | 'center') = 'top';\n private fallbackOriginX: ('start' | 'end' | 'center') = 'center';\n private fallbackOriginY: ('top' | 'bottom' | 'center') = 'bottom';\n private fallbackOverlayX: ('start' | 'end' | 'center') = 'center';\n private fallbackOverlayY: ('top' | 'bottom' | 'center') = 'top';\n\n constructor(private overlay: Overlay, private viewContainerRef: ViewContainerRef) {\n super();\n }\n\n ngOnInit(): void {\n this.statesClass = [super.getCssClasses('eui-popover')].join(' ').trim();\n\n if (this.position === 'top') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n this.fallbackOriginY = 'bottom';\n this.fallbackOverlayY = 'top';\n }\n if (this.position === 'right') {\n this.originX = 'end';\n this.overlayX = 'start';\n this.overlayY = 'center';\n this.fallbackOriginX = 'start';\n this.fallbackOverlayX = 'end';\n this.fallbackOverlayY = 'center';\n }\n if (this.position === 'bottom') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n this.fallbackOriginY = 'top';\n this.fallbackOverlayY = 'bottom';\n }\n if (this.position === 'left') {\n this.originX = 'start';\n this.overlayX = 'end';\n this.overlayY = 'center';\n this.fallbackOriginX = 'end';\n this.fallbackOverlayX = 'start';\n this.fallbackOverlayY = 'center';\n }\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.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 /**\n * Open a popover\n * @param origin Origin of the popover position\n */\n public openPopover(target: ElementRef): void {\n if (!this.isPopoverOpen) {\n const positionStrategy = this.overlay.position()\n .flexibleConnectedTo(target as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n new ConnectionPositionPair(\n { originX: this.fallbackOriginX, originY: this.fallbackOriginY },\n { overlayX: this.fallbackOverlayX, overlayY: this.fallbackOverlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n\n positionStrategy.positionChanges.pipe(takeUntil(this.destroy$)).subscribe((p) => {\n const lastPosition = this.overlayRef.getConfig().positionStrategy['_lastPosition'];\n this.positionClass = this.getPositionClass(lastPosition);\n });\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n });\n this.overlayRef.attach(this.templatePortal);\n\n this.overlayRef.outsidePointerEvents().pipe(takeUntil(this.destroy$)).subscribe((e) => {\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.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 * @param event The key event pressed\n */\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private getPositionClass(lastPosition: ConnectionPositionPair): string {\n if (this.position === 'top' && lastPosition.originY === 'top') {\n return 'top';\n }\n if (this.position === 'top' && lastPosition.originY === 'bottom') {\n return 'bottom';\n }\n if (this.position === 'bottom' && lastPosition.originY === 'bottom') {\n return 'bottom';\n }\n if (this.position === 'bottom' && lastPosition.originY === 'top') {\n return 'top';\n }\n\n if (this.position === 'left' && lastPosition.originX === 'start') {\n return 'left';\n }\n if (this.position === 'left' && lastPosition.originX === 'end') {\n return 'right';\n }\n if (this.position === 'right' && lastPosition.originX === 'end') {\n return 'right';\n }\n if (this.position === 'right' && lastPosition.originX === 'start') {\n return 'left';\n }\n }\n\n}\n","<ng-template #templatePortalContent>\n <div cdkTrapFocus cdkTrapFocusAutoCapture class=\"eui-popover eui-popover--{{ positionClass }} eui-popover--size-{{ size }} eui-popover--{{ type }} {{ statesClass }}\" (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\">\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 euiButton euiRounded euiIconButton euiBasicButton euiPrimary euiSizeS aria-label=\"Close Icon Button\" *ngIf=\"hasCloseButton\" (click)=\"closePopover()\">\n <span class=\"eui-icon eui-icon-close-m\" aria-label=\"Close Icon\"></span>\n </button>\n </div>\n <div 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';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiButtonModule } from '@eui/components/eui-button';\n\n@NgModule({\n imports: [\n CommonModule,\n OverlayModule,\n EuiButtonModule,\n A11yModule\n ],\n declarations: [\n EuiPopoverComponent,\n ],\n exports: [\n EuiPopoverComponent,\n ],\n})\nexport class EuiPopoverModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|