@eui/components 19.2.2-snapshot-1746624054534 → 19.2.2-snapshot-1746687278530
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/EuiAppComponent.html +2 -1
- package/docs/components/EuiMenuItemComponent.html +2 -1
- package/docs/components/EuiNotificationsComponent.html +1 -0
- package/docs/components/EuiNotificationsV2Component.html +1 -0
- package/docs/components/EuiToolbarComponent.html +1 -1
- package/docs/components/EuiToolbarMenuComponent.html +1 -1
- package/docs/components/EuiUserProfileComponent.html +24 -0
- package/docs/dependencies.html +2 -2
- package/docs/js/menu-wc.js +9 -9
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +1 -0
- package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
- package/eui-user-profile/user-profile.component.d.ts +3 -1
- package/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-accordion.mjs +2 -2
- package/fesm2022/eui-components-eui-accordion.mjs.map +1 -1
- package/fesm2022/eui-components-eui-alert.mjs +2 -2
- package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +2 -2
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-components-eui-avatar.mjs +2 -2
- package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-card.mjs +6 -6
- package/fesm2022/eui-components-eui-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +2 -2
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-date-range-selector.mjs +4 -4
- package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
- package/fesm2022/eui-components-eui-discussion-thread.mjs +4 -4
- package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-components-eui-fieldset.mjs +2 -2
- package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +11 -8
- package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-overlay.mjs +2 -2
- package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
- package/fesm2022/eui-components-eui-page.mjs +2 -2
- package/fesm2022/eui-components-eui-page.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +2 -2
- package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
- package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-split-button.mjs +2 -2
- package/fesm2022/eui-components-eui-split-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +2 -2
- package/fesm2022/eui-components-eui-table.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tabs-v2.mjs +2 -2
- package/fesm2022/eui-components-eui-tabs-v2.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tabs.mjs +4 -4
- package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timebar.mjs +2 -2
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timeline.mjs +2 -2
- package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree-list.mjs +2 -2
- package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +2 -2
- package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
- package/fesm2022/eui-components-eui-user-profile.mjs +9 -2
- package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +4 -4
- package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
- package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +32 -25
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app.component.d.ts +1 -1
- package/layout/eui-app/eui-app.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app.module.d.ts +3 -2
- package/layout/eui-app/eui-app.module.d.ts.map +1 -1
- package/layout/eui-notifications/eui-notifications.component.d.ts.map +1 -1
- package/layout/eui-notifications-v2/eui-notifications.component.d.ts.map +1 -1
- package/package.json +7 -7
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.ts","../../eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.ts","../../eui-autocomplete/animations/animations.ts","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/validators/force-selection-from-data.validator.ts","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/index.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';\n\n/**\n * @description\n * Component used internally by `eui-autocomplete` with the option `groupBy`. It allows to display the options in groups.\n */\n@Component({\n selector: 'eui-autocomplete-option-group',\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteOptionGroupComponent {\n /**\n * ARIA role for the host element to ensure proper accessibility.\n * @default 'optgroup'\n */\n @HostBinding('attr.role') role = 'optgroup';\n\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-autocomplete-option-group'].join(' ').trim();\n }\n\n /**\n * Sets the label of the group.\n */\n @Input() label: string;\n\n}\n","import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Component used internally by `eui-autocomplete` to display the options in the panel.\n */\n@Component({\n selector: 'eui-autocomplete-option',\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiAutocompleteOptionComponent {\n /**\n * ARIA role for the host element to ensure proper accessibility.\n * @default 'option'\n */\n @HostBinding('attr.role') role = 'option';\n\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-autocomplete-option'),\n this.isActive ? 'eui-autocomplete-option--active' : '',\n this.isDisabled ? 'eui-autocomplete-option--disabled' : '',\n this.isGroupItem ? 'eui-autocomplete-option--group-item' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Wheter the option is active in the panel.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n /**\n * Wheter the option is disabled in the panel.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Wheter the option is displayed inside a group.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isGroupItem = false;\n\n constructor(private baseStatesDirective: BaseStatesDirective) {}\n\n}\n","import { animate, AnimationTriggerMetadata, group, state, style, transition, trigger } from '@angular/animations';\n\nexport const panelAnimation: AnimationTriggerMetadata = trigger('panelAnimation', [\n state(\n 'void, hidden',\n style({\n opacity: 0,\n transform: 'scaleY(0.8)',\n }),\n ),\n transition(':enter, hidden => visible', [\n group([\n animate('0.03s linear', style({ opacity: 1 })),\n animate('0.12s cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scaleY(1)' })),\n ]),\n ]),\n transition(':leave, visible => hidden', [animate('0.05s linear', style({ opacity: 0 }))]),\n]);\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n HostBinding,\n AfterViewInit,\n ViewContainerRef,\n ViewChild,\n TemplateRef,\n ElementRef,\n Input,\n EventEmitter,\n Output,\n Self,\n Optional,\n ChangeDetectorRef,\n ContentChildren,\n QueryList,\n booleanAttribute,\n numberAttribute,\n Inject,\n PLATFORM_ID,\n DoCheck,\n} from '@angular/core';\nimport { AsyncPipe, isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ControlValueAccessor, FormControl, NgControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { BehaviorSubject, Subject, Subscription, filter, fromEvent, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayModule,\n OverlayRef,\n PositionStrategy,\n RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { CdkScrollable, CdkVirtualScrollViewport, ScrollDispatcher, ScrollingModule } from '@angular/cdk/scrolling';\nimport { A11yModule, LiveAnnouncer } from '@angular/cdk/a11y';\n\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_CHIP_LIST, EuiChipDragDrop } from '@eui/components/eui-chip-list';\nimport { EUI_CHIP, EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\nimport { panelAnimation } from './animations/animations';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiAutocompleteOptionComponent } from './eui-autocomplete-option/eui-autocomplete-option.component';\nimport {\n EuiAutocompleteOptionGroupComponent,\n} from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\n\n/**\n * @description\n * `eui-autocomplete` is a text input showing some suggestions when the user types letters. It can be enhanced with chips to allow user to select multiple values.\n *\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 imports: [\n NgTemplateOutlet,\n AsyncPipe,\n ReactiveFormsModule,\n OverlayModule,\n ScrollingModule,\n A11yModule,\n EuiAutocompleteOptionComponent,\n EuiAutocompleteOptionGroupComponent,\n ...EUI_INPUT_TEXT,\n ...EUI_CHIP_LIST,\n ...EUI_CHIP,\n ...EUI_ICON,\n ],\n animations: [panelAnimation],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSecondary',\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n ],\n },\n ],\n})\nexport class EuiAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-autocomplete'),\n 'eui-autocomplete--chips-position-' + this.chipsPosition,\n ]\n .join(' ')\n .trim();\n }\n /**\n * Sets the id on the text input.\n */\n @Input() inputId: string;\n /**\n * Datas to be used in the autocomplete.\n */\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n /**\n * Sets the maximum number of options that will be visible in the autocomplete panel.\n *\n * @default 5\n */\n @Input() visibleOptions = 5;\n /**\n * Sets the way the options should be retrieved.\n *\n * @default 'contains'\n */\n @Input() matching: 'startWith' | 'contains' = 'contains';\n /**\n * Sets the placeholder of the text input.\n */\n @Input() placeholder = '';\n /**\n * Sets the options that will be selected selected by default.\n */\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n /**\n * Sets the sort criteria of the chips.\n *\n * @type {('ASC' | 'DESC')}\n * @default 'ASC'\n */\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n /**\n * In combination with `isChipsSorted`. Sets the sort criteria of the options in the panel.\n *\n * @type {('ASC' | 'DESC')}\n * @default 'ASC'\n */\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n /**\n * In Combination with `isItemsSorted`. Sets the position of the chips relative to the text input.\n *\n * @type {('top' | 'bottom' | 'inside')}\n * @default 'top''\n */\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n /**\n * Sets a grouping among the options.\n */\n @Input() groupBy: string;\n /**\n * In combination with `maxVisibleChipsCount`, sets the label of the 'more label' button, if not provided an arrow right icon will be displayed only.\n */\n @Input() toggleLinkMoreLabel: string = null;\n /**\n * In combination with `maxVisibleChipsCount`, sets the label of the 'less label' button, if not provided an arrow left icon will be displayed only.\n */\n @Input() toggleLinkLessLabel: string = null;\n /**\n * Sets a CSS class to be added on the options panel container.\n */\n @Input() classList: string = null;\n /**\n * Sets the width of the options panel.\n *\n * @type {(string | number)}\n */\n @Input() panelWidth: string | number;\n /**\n * In combination with `isChipsDragAndDrop`, sets the name to the chips source.\n */\n @Input() dragAndDropSourceName: string;\n /**\n * In combination with `isChipsDragAndDrop`, sets the name to the chips source with which a drag and drop will be done.\n */\n @Input() dragAndDropConnectedTo: string[] = [];\n\n /**\n * In combination with `hasChips`. Wheter the user can add a value, which is not part of the options, to craete a chip.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) isFreeValueAllowed = true;\n /**\n * Wheter autocomplete is in readonly mode.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isReadonly = false;\n /**\n * Wheter loading spinner is displayed in text input.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isLoading = false;\n /**\n * Wheter autocomplete will display the selected values with chips.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasChips = false;\n /**\n * Wheter autocomplete will get the data in an asynchronous way.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isAsync = false;\n /**\n * Wheter this chips are sorted on their label.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isChipsSorted = false;\n /**\n * Wheter this items in the panel are sorted on their label.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isItemsSorted = false;\n /**\n * Wheter the chip can be removed from the selection.\n * When a chip is removed, its value goes back in the panel.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) isChipsRemovable = true;\n /**\n * Wheter the chips can have multiple times the same value.\n * With this option, the value is not removed from the panel when choosen.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDuplicateValueAllowed = false;\n /**\n * In combination with `hasChips`. Wheter the chip is added when the text input is blurred.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isAddOnBlur = false;\n /**\n * In combination with `hasChips` and `isFreeValueAllowed=false`. Wheter the text input is empty after blurring when no value has been selected in the panel.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isForceSelection = false;\n /**\n * Wheter a limitated amount, defined by this option, is used to diplay the chips.\n */\n @Input({ transform: numberAttribute }) maxVisibleChipsCount = null;\n /**\n * Wheter the chips label length are limitated by the value of this option.\n */\n @Input({ transform: numberAttribute }) chipsLabelTruncateCount = null;\n /**\n * In combination with `maxVisibleChipsCount`. Wheter all chips are shown by default.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isMaxVisibleChipsOpened = false;\n /**\n * Wheter the chips can be drag and dropped.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isChipsDragAndDrop = false;\n\n public autocompleteOptions = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public selectedOptionIndex = 0;\n public autocompleteControl = new FormControl<string>('');\n public isDisabled = false;\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedOptions = new BehaviorSubject<{ [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }>({});\n public globalOptionIndex = 0;\n public itemSize = 40;\n public autocompleteOptionTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n public autocompleteOptGroupTemplate: TemplateRef<{ $implicit: { label: string } }>;\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<ElementRef>;\n @ViewChild('inputContainerRef') inputContainerRef: ElementRef;\n @ViewChild('virtualScrolling') virtualScrolling: CdkVirtualScrollViewport;\n @ViewChild('input', { read: ElementRef }) input: ElementRef;\n\n /**\n * Event emitted when the panel is closed.\n */\n @Output() panelClose = new EventEmitter();\n /**\n * Event emitted when the panel is opened.\n */\n @Output() panelOpen = new EventEmitter();\n /**\n * Event emitted when the text input gets the focus.\n */\n @Output() inputFocus = new EventEmitter();\n /**\n * Event emitted when the text input is blurred.\n */\n @Output() inputBlur = new EventEmitter();\n /**\n * Event emitted when the text input is cleared.\n */\n @Output() clear = new EventEmitter();\n /**\n * Event emitted when an option is selected or when the selection is modified.\n */\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n /**\n * Event emitted when an option is selected.\n */\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n /**\n * Event emitted when an option is removed.\n */\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n /**\n * Event emitted when the value of the text input changes.\n */\n @Output() inputChange = new EventEmitter<string>();\n /**\n * Event emitted when a chip drag starts.\n */\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n /**\n * Event emitted when a chip drag is released.\n */\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n /**\n * Event emitted when a chip is dropped.\n */\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private overlayRef: OverlayRef;\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private templatePortal: TemplatePortal<unknown>;\n private keyboardOptionSelectorHandlerSubscription = new Subscription();\n private addOnBlurClickHandlerSubscription = new Subscription();\n private isForceSelectionSubscription = new Subscription();\n private keyboardSubscription = new Subscription();\n private autocompleteOptionsSubscription = new Subscription();\n private scrollDispatcherSubscription = new Subscription();\n private windowResizeSubscription = new Subscription();\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private TOP = new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, 0, [\n 'eui-autocomplete-position',\n 'eui-autocomplete-position--top',\n ]);\n private BOTTOM = new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 0, [\n 'eui-autocomplete-position',\n 'eui-autocomplete-position--bottom',\n ]);\n private preferredPositons: ConnectionPositionPair[] = [this.BOTTOM, this.TOP];\n\n constructor(\n private overlay: Overlay,\n private cd: ChangeDetectorRef,\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef,\n private liveAnnouncer: LiveAnnouncer,\n private scrollDispatcher: ScrollDispatcher,\n private euiAppShellService: EuiAppShellService,\n private baseStatesDirective: BaseStatesDirective,\n @Self() @Optional() private control: NgControl,\n @Inject(PLATFORM_ID) private platformId: object,\n ) {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.autocompleteData) {\n this.setOptions('', this.isItemsSorted);\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = c.autocompleteDataSelected.currentValue.map((s: EuiAutoCompleteItem) => ({ ...s, euiInternalId: crypto.randomUUID() }));\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.setOptions('', this.isItemsSorted);\n }\n }\n\n ngOnInit(): void {\n this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n this.itemSize = state.appBaseFontSize === '16px' ? 40 : 35;\n });\n\n if (this.control) {\n this.updateInputAriaRequiredAttribute(this.control);\n this.control.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value: string) => {\n this.selectedOptionIndex = 0;\n if (!this.isOpen) {\n this.openPanel();\n }\n\n this.setOptions(value, this.isItemsSorted);\n\n if (this.hasChips) {\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((d) => d.label.toLowerCase().trim() === value.toLowerCase().trim());\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n // eslint-disable-next-line\n value ? this.onChange({ label: value }) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.setOptions('', this.isItemsSorted);\n }\n }\n }\n\n this.inputChange.emit(value as string);\n });\n\n if (!this.isAsync) {\n this.setOptions(Array.isArray(this.value) ? '' : this.value?.label, this.isItemsSorted);\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // eslint-disable-next-line\n this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\n // eslint-disable-next-line\n this.control.invalid ? this.autocompleteControl.setErrors(this.control.errors) : this.autocompleteControl.setErrors(null);\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n\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\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n this.isForceSelectionSubscription.unsubscribe();\n this.keyboardSubscription.unsubscribe();\n this.autocompleteOptionsSubscription.unsubscribe();\n this.windowResizeSubscription.unsubscribe();\n }\n\n /**\n * Calculates the height that the virtual scroll need to have.\n *\n * @type {number}\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 /**\n * Returns the opening state of the panel.\n *\n * @type {boolean}\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Checks if autocomplete options are available.\n *\n * @returns {boolean} `true` if options are present, otherwise `false`.\n */\n get hasOptionsResult(): boolean {\n return this.autocompleteOptions.value.length > 0;\n }\n\n /**\n * Method that creates and opens the panel containing autocomplete options.\n */\n public openPanel(): void {\n if (!this.isOpen && !this.isReadonly) {\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.input)\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: CdkScrollable) => {\n if(isPlatformBrowser(this.platformId)) {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(this.input.nativeElement, scrollableParent)) {\n this.closePanel();\n }\n }\n });\n\n this.windowResizeSubscription = fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.overlayRef && this.overlayRef.hasAttached() && !this.panelWidth) {\n this.overlayRef.updateSize({\n width: this.inputContainerRef.nativeElement.clientWidth,\n });\n }\n });\n\n const positionStrategy = this.getPositionStrategy();\n const scrollStrategy = this.getScrollStrategy();\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.panelWidth ? this.panelWidth : this.inputContainerRef.nativeElement.clientWidth,\n panelClass: ['eui-autocomplete__panel-container', this.classList],\n });\n this.overlayRef.attach(this.templatePortal);\n\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-19')) {\n el.classList.add('eui-19');\n }\n });\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((e) => {\n const targetElement = e.target as HTMLElement;\n const clearElement = this.elementRef.nativeElement.querySelector('.eui-sprite-eui-close');\n const isElementOrChildOfElement = (element: HTMLElement, parentElement: HTMLElement): boolean => {\n while (element) {\n if (element === parentElement) {\n return true;\n }\n element = element.parentElement;\n }\n return false;\n };\n\n const isClearableButton = targetElement.classList.contains('eui-sprite-eui-close');\n const isInput = targetElement.classList.contains('eui-autocomplete__input');\n\n if (!isClearableButton && !isInput && !isElementOrChildOfElement(targetElement, clearElement)) {\n this.closePanel();\n }\n\n if (isClearableButton && !this.elementRef.nativeElement.contains(targetElement)) {\n this.closePanel();\n }\n\n if (isInput && !this.elementRef.nativeElement.contains(targetElement)) {\n this.closePanel();\n }\n\n if ((e.target as HTMLElement).classList.contains('eui-autocomplete__input')) {\n e.stopPropagation();\n }\n });\n this.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n this.closePanel();\n }\n });\n\n this.autocompleteOptionsSubscription = this.autocompleteOptions.subscribe((autocompleteOptions) => {\n this.overlayRef.removePanelClass('eui-autocomplete__panel-container--no-option');\n if (autocompleteOptions.length === 0) {\n this.selectedOptionIndex = 0;\n this.overlayRef.addPanelClass('eui-autocomplete__panel-container--no-option');\n }\n });\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[0]?.label);\n\n let visibleRangeStart = 0;\n let visibleRangeEnd = this.visibleOptions - 1;\n this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.input.nativeElement, 'keydown')\n .pipe(\n filter((e: KeyboardEvent) => e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Enter' || e.code === 'Tab'),\n takeUntil(this.destroy$),\n )\n .subscribe((e: KeyboardEvent) => {\n if (e) {\n if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions.value.length - 1) {\n this.selectedOptionIndex++;\n this.cd.detectChanges();\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n e.preventDefault();\n }\n if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {\n this.selectedOptionIndex--;\n this.cd.detectChanges();\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n e.preventDefault();\n }\n\n const cIndex = this.selectedOptionIndex - this.virtualScrolling?.getRenderedRange().start;\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 if (e.code === 'Enter') {\n if (this.hasOptionsResult) {\n if (this.groupBy) {\n const options = [].concat(...Object.values(this.groupedOptions.value).map(group => group.options));\n this.onOptionSelected(options[this.selectedOptionIndex]);\n } else {\n this.onOptionSelected(this.autocompleteOptions.value[this.selectedOptionIndex]);\n }\n } else if (this.hasChips && this.isFreeValueAllowed) {\n this.add(this.autocompleteControl.value);\n }\n }\n if (e.code === 'Tab') {\n if (this.isOpen) {\n if (this.isAddOnBlur && this.hasChips && this.autocompleteControl.value?.trim().length > 0) {\n this.add(this.autocompleteControl.value.trim());\n }\n if (this.isForceSelection) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n }\n this.closePanel();\n }\n }\n }\n });\n\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n if (this.isAddOnBlur ) {\n this.addOnBlurClickHandlerSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option') && this.hasChips && this.autocompleteControl.value?.trim().length > 0) {\n this.add(this.autocompleteControl.value.trim());\n }\n });\n }\n\n this.isForceSelectionSubscription.unsubscribe();\n if (this.isForceSelection) {\n this.isForceSelectionSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option')) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n }\n });\n }\n\n this.isOpen$.next(true);\n this.panelOpen.emit();\n }\n }\n\n /**\n * Closes the autocomplete panel.\n */\n public closePanel(): void {\n this.selectedOptionIndex = 0;\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.cd.detectChanges();\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n this.autocompleteOptionsSubscription.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.windowResizeSubscription.unsubscribe();\n this.panelClose.emit();\n }\n\n /**\n * Method called when an option is selected.\n *\n * @param e Selected option\n */\n public onOptionSelected(e: EuiAutoCompleteItem): void {\n if (!e.isDisabled) {\n if (this.hasChips) {\n this.autocompleteDataSelected.push({ ...e, euiInternalId: crypto.randomUUID() });\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.setOptions('', this.isItemsSorted);\n } else {\n this.autocompleteDataSelected = [e];\n this.input.nativeElement.value = e.label;\n this.autocompleteControl.setValue(e.label);\n }\n\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n this.isForceSelectionSubscription.unsubscribe();\n\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(e);\n this.closePanel();\n }\n }\n\n /**\n * Method called when an option is added through the text input.\n *\n * @param value Value to add\n */\n public add(value: string): void {\n if (!value || (!this.isFreeValueAllowed && !this.autocompleteData.find(a => a.label === value.trim()))) {\n return;\n }\n\n if (!this.isDuplicateValueAllowed && this.autocompleteDataSelected.some(s => s.label.trim() === value.trim())) {\n return;\n }\n\n const item = this.autocompleteData.find(a => a.label === value.trim()) || { label: value.trim(), euiInternalId: crypto.randomUUID() };\n\n this.autocompleteDataSelected.push(item);\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.closePanel();\n\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n this.isForceSelectionSubscription.unsubscribe();\n\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(item);\n }\n\n public optionsTrackByFn(index: number, item: EuiAutoCompleteItem): string | number {\n return item.id;\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.chips = this.mapToChip(this.autocompleteDataSelected);\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n const inputValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.setOptions(inputValue, this.isItemsSorted);\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n // eslint-disable-next-line\n this.isDisabled = isDisabled;\n // eslint-disable-next-line\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n\n if (this.isOpen) {\n this.closePanel();\n }\n\n this.cd.detectChanges();\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 public onClear(): void {\n this.clear.emit();\n }\n\n /**\n * Text input focus handler.\n */\n public onFocus(): void {\n this.keyboardSubscription = fromEvent(this.input.nativeElement, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) =>\n /^[a-zA-Z0-9]$/.test(event.key) ||\n event.key === 'Space' ||\n event.key === 'ArrowDown' ||\n event.key === 'Backspace',\n ),\n )\n .subscribe((event: KeyboardEvent) => {\n if (!this.isOpen) {\n this.openPanel();\n event.stopPropagation();\n }\n\n if (this.chipsPosition === 'inside' && event.key === 'Backspace' && (!this.autocompleteControl.value || this.autocompleteControl.value.length === 0)) {\n const removed = this.chips.pop();\n this.onChipRemove({ chips: [...this.chips], removed });\n\n this.cd.detectChanges();\n\n this.overlayRef.updateSize({ width: this.inputContainerRef.nativeElement.clientWidth });\n this.overlayRef.updatePosition();\n }\n });\n\n if (!this.isOpen) {\n this.openPanel();\n }\n\n this.inputFocus.emit();\n }\n\n /**\n * Text input blur handler.\n */\n public onBlur(): void {\n this.keyboardSubscription.unsubscribe();\n this.inputBlur.emit();\n this.onTouch();\n }\n\n /**\n * Called when a chip is removed.\n *\n * @param e Object containing the chip to remove.\n */\n public onChipRemove(e: { chips: EuiChip[]; removed: EuiChip | { chip: EuiChip; event: Event } }): void {\n const event = e as { chips: EuiChip[]; removed: EuiChip };\n const itemRemoved = this.autocompleteDataSelected.find(i => i.id === event.removed.id);\n\n this.autocompleteDataSelected = this.autocompleteDataSelected\n .filter(i => event.chips.find(c => c.id === i.id))\n .filter(i => event.chips.find(c => c.euiInternalId === i.euiInternalId));\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n\n this.setOptions('', this.isItemsSorted);\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemove.emit(itemRemoved);\n }\n\n /**\n * Called when a chip is dropped for reordering or from a source to another.\n *\n * @param e Object containing the chip dropped.\n */\n public onChipDropped(e: EuiChipDragDrop): void {\n const data = this.autocompleteData;\n this.autocompleteDataSelected = e.chips.map(c => data.find((a) => a.id === c.id));\n\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.autocompleteOptions.next(this.filterOptions(''));\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n\n this.chipDrop.emit(e);\n }\n\n /**\n * Called when a chip is dragged for reordering or from a source to another.\n *\n * @param e Object containing the chip dragged.\n */\n public onChipDragStarted(e: EuiChipDragDrop): void {\n this.chipDragStart.emit(e);\n }\n\n /**\n * Called when a chip is released for reordering or from a source to another.\n *\n * @param e Object containing the chip released.\n */\n public onChipDragReleased(e: EuiChipDragDrop): void {\n this.chipDragRelease.emit(e);\n }\n\n /**\n * Calculates the item size for virtual scrolling.\n *\n * @returns a number representing the item size.\n */\n private getItemSize(): number {\n const optionHeight = this.overlayRef?.hostElement?.querySelector('.eui-autocomplete__panel')?.querySelectorAll('.eui-autocomplete-option')[0]?.clientHeight + 1;\n return optionHeight || 48;\n }\n\n /**\n * Re-order options panel based on the input valuea and sort order.\n *\n * @param value Value to filter the options.\n * @param isItemsSorted If the items are sorted.\n */\n private setOptions(value: string, isItemsSorted: boolean): void {\n this.autocompleteOptions.next(isItemsSorted ? (this.orderArray(this.filterOptions(value), this.itemsSortOrder)) : this.filterOptions(value));\n\n if (this.groupBy) {\n const { groupedOptions, distinctOptionGroups } = this.groupingHandler(this.autocompleteOptions.value, this.groupBy);\n\n this.groupedOptions.next(groupedOptions);\n this.distinctOptionGroups = distinctOptionGroups;\n }\n }\n\n /**\n * Return the position strategy for the panel.\n *\n * @returns A CDK position strategy.\n */\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.inputContainerRef.nativeElement as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n /**\n * Return the scroll strategy for the panel.\n *\n * @returns A CDK scroll strategy.\n */\n private getScrollStrategy(): RepositionScrollStrategy {\n return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n }\n\n /**\n * Refine the options based on the input value.\n *\n * @param inputValue Value to filter the options.\n * @returns An array of options.\n */\n private filterOptions(inputValue: string): EuiAutoCompleteItem[] {\n let data: EuiAutoCompleteItem[] = [];\n if (inputValue) {\n data = this.autocompleteData.filter((autocompleteItem) => {\n if (\n this.matching === 'contains' &&\n autocompleteItem.label.toLowerCase().indexOf(inputValue.toString().toLowerCase()) !== -1\n ) {\n return autocompleteItem;\n }\n if (\n this.matching === 'startWith' &&\n autocompleteItem.label.toLowerCase().substr(0, inputValue.toString().length) === inputValue.toLowerCase()\n ) {\n return autocompleteItem;\n }\n });\n } else {\n data = this.autocompleteData;\n }\n\n if (this.hasChips) {\n data = data.filter(d => !this.isDuplicateValueAllowed ? !this.autocompleteDataSelected.some(selectedItem => d.id === selectedItem.id) : true);\n }\n\n if (this.isItemsSorted) {\n data = this.orderArray(data, this.itemsSortOrder);\n }\n\n return data;\n }\n\n /**\n * Converts EuiAutoCompleteItem array to EuiChip array.\n *\n * @param items Array of EuiAutoCompleteItem.\n * @returns An array of EuiChip\n */\n private mapToChip(items: EuiAutoCompleteItem[]): EuiChip[] {\n const chips = items.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: new EuiChipTooltip(selected.tooltip),\n iconClass: selected.iconClass,\n iconSvgName: selected.iconSvgName,\n });\n });\n\n return this.isChipsSorted && chips.length > 0 ? (this.orderArray(chips, this.chipsSortOrder) as EuiChip[]) : chips;\n }\n\n /**\n * Sort an array of objects based on their label.\n *\n * @param tab Array to order\n * @param sortOrder Sort order criteria\n * @returns A sorted array\n */\n private orderArray<T extends { label: string; }>(tab: T[], sortOrder: 'ASC' | 'DESC'): T[] {\n tab.sort((a: T, b: T) => {\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 /**\n * Transforms array of EuiAutoCompleteItem into a grouped object.\n *\n * @param options Array of EuiAutoCompleteItem\n * @param groupBy Label of the group\n * @returns An object containing the grouped options and the distinct option groups.\n */\n private groupingHandler(options: EuiAutoCompleteItem[], groupBy: string):\n { groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }, distinctOptionGroups: string[] } {\n const distinctGroups: string[] = this.autocompleteData.map(item => 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 = options.filter(option => groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === group);\n if (this.isItemsSorted) {\n o = this.orderArray(o, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n groupedOptions[group] = { options: o, ancestorLength };\n ancestorLength += o.length;\n }\n\n return { groupedOptions, distinctOptionGroups };\n }\n\n /**\n * Indicates if the origin element is visible in the scrollable parent.\n *\n * @param origin Origin of the autocomplete\n * @param scrollableParent Scrollable container\n * @returns A boolean, true if visible else false.\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 - 55;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private onChange = <T>(change?: T): void => {\n /** empty */\n };\n\n private onTouch = (): void => {\n /** empty */\n };\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n this.cd.markForCheck();\n }\n}\n","<div class=\"eui-autocomplete__wrapper\">\n @if (chipsPosition === 'bottom') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n @if (hasChips) {\n <eui-chip-list\n [chips]=\"chips\"\n [isChipsRemovable]=\"isChipsRemovable && !isReadonly\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDrop)=\"onChipDropped($event)\"\n (chipDragStart)=\"onChipDragStarted($event)\"\n (chipDragRelease)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\">\n <euiChipListAppendContent>\n @if (chipsPosition === 'inside') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n </euiChipListAppendContent>\n </eui-chip-list>\n }\n @if (chipsPosition === 'top') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n</div>\n\n<ng-template #control>\n @if (!hasChips || (hasChips && !isReadonly)) {\n <div class=\"eui-autocomplete__input-container {{ classList }}\" #inputContainerRef>\n <input\n [attr.id]=\"inputId\"\n #input\n euiInputText\n [euiClearable]=\"!isReadonly && !isDisabled\"\n [euiLoading]=\"isLoading\"\n [formControl]=\"autocompleteControl\"\n class=\"eui-autocomplete__input {{ classList }}\"\n placeholder=\"{{ placeholder }}\"\n autocomplete=\"off\"\n [readonly]=\"isReadonly\"\n (clear)=\"onClear()\"\n (click)=\"openPanel()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.aria-controls]=\"isOpen ? 'eui-autocomplete__panel' : null\"\n [attr.aria-label]=\"autocompleteControl.value?.length > 0 ? autocompleteControl.value : 'Input field without value'\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\" />\n </div>\n }\n</ng-template>\n\n<ng-template #templatePortalContent>\n <div\n id=\"eui-autocomplete__panel\"\n class=\"eui-autocomplete__panel\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n role=\"listbox\"\n aria-live=\"polite\"\n aria-label=\"Autocomplete panel\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n tabindex=\"0\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n @if (groupBy) {\n @for (distinctOptionGroup of distinctOptionGroups; let i = $index; track distinctOptionGroup) {\n @if ((groupedOptions | async)[distinctOptionGroup].options.length > 0) {\n <eui-autocomplete-option-group [label]=\"distinctOptionGroup\">\n <div class=\"eui-autocomplete-option-group__label\">\n @if (autocompleteOptGroupTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\">\n </ng-template>\n } @else {\n {{ distinctOptionGroup }}\n }\n </div>\n <div class=\"eui-autocomplete-option-group__options\">\n @for (autocompleteOption of (groupedOptions | async)[distinctOptionGroup].options; let j = $index; track autocompleteOption.id) {\n <eui-autocomplete-option\n isGroupItem\n [isActive]=\"selectedOptionIndex === (groupedOptions | async)[distinctOptionGroup].ancestorLength + j\"\n [isDisabled]=\"autocompleteOption.isDisabled\"\n [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n [euiVariant]=\"autocompleteOption.typeClass\"\n (click)=\"onOptionSelected(autocompleteOption)\">\n @if (autocompleteOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n } @else {\n @if (autocompleteOption.iconClass) {\n <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n } @else if (autocompleteOption.iconSvgName) {\n <eui-icon-svg icon=\"{{ autocompleteOption.iconSvgName }}\"></eui-icon-svg>\n }\n {{ autocompleteOption.label }}\n }\n </eui-autocomplete-option>\n }\n </div>\n </eui-autocomplete-option-group>\n }\n }\n } @else {\n <eui-autocomplete-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: optionsTrackByFn\"\n [isActive]=\"selectedOptionIndex === i\"\n [isDisabled]=\"autocompleteOption.isDisabled\"\n [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n [euiVariant]=\"autocompleteOption.typeClass\"\n (click)=\"onOptionSelected(autocompleteOption)\">\n @if (autocompleteOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n } @else {\n @if (autocompleteOption.iconClass) {\n <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n } @else if (autocompleteOption.iconSvgName) {\n <eui-icon-svg icon=\"{{ autocompleteOption.iconSvgName }}\"></eui-icon-svg>\n }\n {{ autocompleteOption.label }}\n }\n </eui-autocomplete-option>\n }\n </cdk-virtual-scroll-viewport>\n </div>\n</ng-template>\n","import { AbstractControl } from '@angular/forms';\n\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n/**\n * @description\n * Validator checking if the user choose the value in the panel.\n *\n * @returns A validator function that returns an error with the `isInData` to false and a list of invalid values if the validation\n * check fails, otherwise `null`.\n */\nexport const euiAutocompleteForceSelectionFromData = (control: AbstractControl<EuiAutoCompleteItem | EuiAutoCompleteItem[]>):\n { isInData: { isInData: boolean; invalidValues: EuiAutoCompleteItem | EuiAutoCompleteItem[] } } | null => {\n if (control.value) {\n const isInData = Array.isArray(control.value) ? control.value.every(obj => 'id' in obj) : control.value.id !== undefined;\n const invalidValues = Array.isArray(control.value) ? control.value.filter(v => v.id === undefined) : control.value;\n\n return !isInData ? { isInData: { isInData, invalidValues } } : null;\n }\n\n return null;\n};\n","import { NgModule } from '@angular/core';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\nimport { EuiAutocompleteOptionComponent } from './eui-autocomplete-option/eui-autocomplete-option.component';\nimport { EuiAutocompleteOptionGroupComponent } from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\n\n/**\n * @description\n * Module that provides the EuiAutocomplete component and its dependencies\n *\n * @deprecated Use {@link EUI_AUTOCOMPLETE} instead.\n */\n@NgModule({\n imports: [\n EuiAutocompleteComponent,\n EuiAutocompleteOptionComponent,\n EuiAutocompleteOptionGroupComponent,\n ],\n exports: [EuiAutocompleteComponent],\n})\nexport class EuiAutocompleteModule {}\n","import { EuiAutocompleteOptionGroupComponent } from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\nimport { EuiAutocompleteOptionComponent } from './eui-autocomplete-option/eui-autocomplete-option.component';\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\n\nexport * from './models/eui-autocomplete-item.model';\nexport * from './validators/force-selection-from-data.validator';\nexport * from './eui-autocomplete-option/eui-autocomplete-option.component';\nexport * from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\nexport * from './eui-autocomplete.component';\nexport * from './eui-autocomplete.module';\n\nexport const EUI_AUTOCOMPLETE = [\n EuiAutocompleteComponent,\n EuiAutocompleteOptionComponent,\n EuiAutocompleteOptionGroupComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5","i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.ts","../../eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.ts","../../eui-autocomplete/animations/animations.ts","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/validators/force-selection-from-data.validator.ts","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/index.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';\n\n/**\n * @description\n * Component used internally by `eui-autocomplete` with the option `groupBy`. It allows to display the options in groups.\n */\n@Component({\n selector: 'eui-autocomplete-option-group',\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteOptionGroupComponent {\n /**\n * ARIA role for the host element to ensure proper accessibility.\n * @default 'optgroup'\n */\n @HostBinding('attr.role') role = 'optgroup';\n\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-autocomplete-option-group'].join(' ').trim();\n }\n\n /**\n * Sets the label of the group.\n */\n @Input() label: string;\n\n}\n","import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Component used internally by `eui-autocomplete` to display the options in the panel.\n */\n@Component({\n selector: 'eui-autocomplete-option',\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiAutocompleteOptionComponent {\n /**\n * ARIA role for the host element to ensure proper accessibility.\n * @default 'option'\n */\n @HostBinding('attr.role') role = 'option';\n\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-autocomplete-option'),\n this.isActive ? 'eui-autocomplete-option--active' : '',\n this.isDisabled ? 'eui-autocomplete-option--disabled' : '',\n this.isGroupItem ? 'eui-autocomplete-option--group-item' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Wheter the option is active in the panel.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n /**\n * Wheter the option is disabled in the panel.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n /**\n * Wheter the option is displayed inside a group.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isGroupItem = false;\n\n constructor(private baseStatesDirective: BaseStatesDirective) {}\n\n}\n","import { animate, AnimationTriggerMetadata, group, state, style, transition, trigger } from '@angular/animations';\n\nexport const panelAnimation: AnimationTriggerMetadata = trigger('panelAnimation', [\n state(\n 'void, hidden',\n style({\n opacity: 0,\n transform: 'scaleY(0.8)',\n }),\n ),\n transition(':enter, hidden => visible', [\n group([\n animate('0.03s linear', style({ opacity: 1 })),\n animate('0.12s cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scaleY(1)' })),\n ]),\n ]),\n transition(':leave, visible => hidden', [animate('0.05s linear', style({ opacity: 0 }))]),\n]);\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n HostBinding,\n AfterViewInit,\n ViewContainerRef,\n ViewChild,\n TemplateRef,\n ElementRef,\n Input,\n EventEmitter,\n Output,\n Self,\n Optional,\n ChangeDetectorRef,\n ContentChildren,\n QueryList,\n booleanAttribute,\n numberAttribute,\n Inject,\n PLATFORM_ID,\n DoCheck,\n} from '@angular/core';\nimport { AsyncPipe, isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ControlValueAccessor, FormControl, NgControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { BehaviorSubject, Subject, Subscription, filter, fromEvent, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayModule,\n OverlayRef,\n PositionStrategy,\n RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { CdkScrollable, CdkVirtualScrollViewport, ScrollDispatcher, ScrollingModule } from '@angular/cdk/scrolling';\nimport { A11yModule, LiveAnnouncer } from '@angular/cdk/a11y';\n\nimport { EuiAppShellService } from '@eui/core';\nimport { EUI_CHIP_LIST, EuiChipDragDrop } from '@eui/components/eui-chip-list';\nimport { EUI_CHIP, EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_INPUT_TEXT } from '@eui/components/eui-input-text';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\nimport { panelAnimation } from './animations/animations';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiAutocompleteOptionComponent } from './eui-autocomplete-option/eui-autocomplete-option.component';\nimport {\n EuiAutocompleteOptionGroupComponent,\n} from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\n\n/**\n * @description\n * `eui-autocomplete` is a text input showing some suggestions when the user types letters. It can be enhanced with chips to allow user to select multiple values.\n *\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 imports: [\n NgTemplateOutlet,\n AsyncPipe,\n ReactiveFormsModule,\n OverlayModule,\n ScrollingModule,\n A11yModule,\n EuiAutocompleteOptionComponent,\n EuiAutocompleteOptionGroupComponent,\n ...EUI_INPUT_TEXT,\n ...EUI_CHIP_LIST,\n ...EUI_CHIP,\n ...EUI_ICON,\n ],\n animations: [panelAnimation],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSecondary',\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n ],\n },\n ],\n})\nexport class EuiAutocompleteComponent implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {\n /**\n * @description\n * Computes and returns the CSS classes for the component based on its current state.\n *\n * @returns {string} Space-separated string of CSS class names\n */\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-autocomplete'),\n 'eui-autocomplete--chips-position-' + this.chipsPosition,\n ]\n .join(' ')\n .trim();\n }\n /**\n * Sets the id on the text input.\n */\n @Input() inputId: string;\n /**\n * Datas to be used in the autocomplete.\n */\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n /**\n * Sets the maximum number of options that will be visible in the autocomplete panel.\n *\n * @default 5\n */\n @Input() visibleOptions = 5;\n /**\n * Sets the way the options should be retrieved.\n *\n * @default 'contains'\n */\n @Input() matching: 'startWith' | 'contains' = 'contains';\n /**\n * Sets the placeholder of the text input.\n */\n @Input() placeholder = '';\n /**\n * Sets the options that will be selected selected by default.\n */\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n /**\n * Sets the sort criteria of the chips.\n *\n * @type {('ASC' | 'DESC')}\n * @default 'ASC'\n */\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n /**\n * In combination with `isChipsSorted`. Sets the sort criteria of the options in the panel.\n *\n * @type {('ASC' | 'DESC')}\n * @default 'ASC'\n */\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n /**\n * In Combination with `isItemsSorted`. Sets the position of the chips relative to the text input.\n *\n * @type {('top' | 'bottom' | 'inside')}\n * @default 'top''\n */\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n /**\n * Sets a grouping among the options.\n */\n @Input() groupBy: string;\n /**\n * In combination with `maxVisibleChipsCount`, sets the label of the 'more label' button, if not provided an arrow right icon will be displayed only.\n */\n @Input() toggleLinkMoreLabel: string = null;\n /**\n * In combination with `maxVisibleChipsCount`, sets the label of the 'less label' button, if not provided an arrow left icon will be displayed only.\n */\n @Input() toggleLinkLessLabel: string = null;\n /**\n * Sets a CSS class to be added on the options panel container.\n */\n @Input() classList: string = null;\n /**\n * Sets the width of the options panel.\n *\n * @type {(string | number)}\n */\n @Input() panelWidth: string | number;\n /**\n * In combination with `isChipsDragAndDrop`, sets the name to the chips source.\n */\n @Input() dragAndDropSourceName: string;\n /**\n * In combination with `isChipsDragAndDrop`, sets the name to the chips source with which a drag and drop will be done.\n */\n @Input() dragAndDropConnectedTo: string[] = [];\n\n /**\n * In combination with `hasChips`. Wheter the user can add a value, which is not part of the options, to craete a chip.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) isFreeValueAllowed = true;\n /**\n * Wheter autocomplete is in readonly mode.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isReadonly = false;\n /**\n * Wheter loading spinner is displayed in text input.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isLoading = false;\n /**\n * Wheter autocomplete will display the selected values with chips.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) hasChips = false;\n /**\n * Wheter autocomplete will get the data in an asynchronous way.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isAsync = false;\n /**\n * Wheter this chips are sorted on their label.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isChipsSorted = false;\n /**\n * Wheter this items in the panel are sorted on their label.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isItemsSorted = false;\n /**\n * Wheter the chip can be removed from the selection.\n * When a chip is removed, its value goes back in the panel.\n *\n * @default true\n */\n @Input({ transform: booleanAttribute }) isChipsRemovable = true;\n /**\n * Wheter the chips can have multiple times the same value.\n * With this option, the value is not removed from the panel when choosen.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isDuplicateValueAllowed = false;\n /**\n * In combination with `hasChips`. Wheter the chip is added when the text input is blurred.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isAddOnBlur = false;\n /**\n * In combination with `hasChips` and `isFreeValueAllowed=false`. Wheter the text input is empty after blurring when no value has been selected in the panel.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isForceSelection = false;\n /**\n * Wheter a limitated amount, defined by this option, is used to diplay the chips.\n */\n @Input({ transform: numberAttribute }) maxVisibleChipsCount = null;\n /**\n * Wheter the chips label length are limitated by the value of this option.\n */\n @Input({ transform: numberAttribute }) chipsLabelTruncateCount = null;\n /**\n * In combination with `maxVisibleChipsCount`. Wheter all chips are shown by default.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isMaxVisibleChipsOpened = false;\n /**\n * Wheter the chips can be drag and dropped.\n *\n * @default false\n */\n @Input({ transform: booleanAttribute }) isChipsDragAndDrop = false;\n\n public autocompleteOptions = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public selectedOptionIndex = 0;\n public autocompleteControl = new FormControl<string>('');\n public isDisabled = false;\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedOptions = new BehaviorSubject<{ [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }>({});\n public globalOptionIndex = 0;\n public itemSize = 40;\n public autocompleteOptionTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n public autocompleteOptGroupTemplate: TemplateRef<{ $implicit: { label: string } }>;\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<ElementRef>;\n @ViewChild('inputContainerRef') inputContainerRef: ElementRef;\n @ViewChild('virtualScrolling') virtualScrolling: CdkVirtualScrollViewport;\n @ViewChild('input', { read: ElementRef }) input: ElementRef;\n\n /**\n * Event emitted when the panel is closed.\n */\n @Output() panelClose = new EventEmitter();\n /**\n * Event emitted when the panel is opened.\n */\n @Output() panelOpen = new EventEmitter();\n /**\n * Event emitted when the text input gets the focus.\n */\n @Output() inputFocus = new EventEmitter();\n /**\n * Event emitted when the text input is blurred.\n */\n @Output() inputBlur = new EventEmitter();\n /**\n * Event emitted when the text input is cleared.\n */\n @Output() clear = new EventEmitter();\n /**\n * Event emitted when an option is selected or when the selection is modified.\n */\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n /**\n * Event emitted when an option is selected.\n */\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n /**\n * Event emitted when an option is removed.\n */\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n /**\n * Event emitted when the value of the text input changes.\n */\n @Output() inputChange = new EventEmitter<string>();\n /**\n * Event emitted when a chip drag starts.\n */\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n /**\n * Event emitted when a chip drag is released.\n */\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n /**\n * Event emitted when a chip is dropped.\n */\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private overlayRef: OverlayRef;\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private templatePortal: TemplatePortal<unknown>;\n private keyboardOptionSelectorHandlerSubscription = new Subscription();\n private addOnBlurClickHandlerSubscription = new Subscription();\n private isForceSelectionSubscription = new Subscription();\n private keyboardSubscription = new Subscription();\n private autocompleteOptionsSubscription = new Subscription();\n private scrollDispatcherSubscription = new Subscription();\n private windowResizeSubscription = new Subscription();\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private TOP = new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, 0, [\n 'eui-autocomplete-position',\n 'eui-autocomplete-position--top',\n ]);\n private BOTTOM = new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 0, [\n 'eui-autocomplete-position',\n 'eui-autocomplete-position--bottom',\n ]);\n private preferredPositons: ConnectionPositionPair[] = [this.BOTTOM, this.TOP];\n\n constructor(\n private overlay: Overlay,\n private cd: ChangeDetectorRef,\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef,\n private liveAnnouncer: LiveAnnouncer,\n private scrollDispatcher: ScrollDispatcher,\n private euiAppShellService: EuiAppShellService,\n private baseStatesDirective: BaseStatesDirective,\n @Self() @Optional() private control: NgControl,\n @Inject(PLATFORM_ID) private platformId: object,\n ) {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.autocompleteData) {\n this.setOptions('', this.isItemsSorted);\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = c.autocompleteDataSelected.currentValue.map((s: EuiAutoCompleteItem) => ({ ...s, euiInternalId: crypto.randomUUID() }));\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.setOptions('', this.isItemsSorted);\n }\n }\n\n ngOnInit(): void {\n this.euiAppShellService.state$.pipe(takeUntil(this.destroy$)).subscribe((state) => {\n this.itemSize = state.appBaseFontSize === '16px' ? 40 : 35;\n });\n\n if (this.control) {\n this.updateInputAriaRequiredAttribute(this.control);\n this.control.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value: string) => {\n this.selectedOptionIndex = 0;\n if (!this.isOpen) {\n this.openPanel();\n }\n\n this.setOptions(value, this.isItemsSorted);\n\n if (this.hasChips) {\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((d) => d.label.toLowerCase().trim() === value.toLowerCase().trim());\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n // eslint-disable-next-line\n value ? this.onChange({ label: value }) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.setOptions('', this.isItemsSorted);\n }\n }\n }\n\n this.inputChange.emit(value as string);\n });\n\n if (!this.isAsync) {\n this.setOptions(Array.isArray(this.value) ? '' : this.value?.label, this.isItemsSorted);\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // eslint-disable-next-line\n this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\n // eslint-disable-next-line\n this.control.invalid ? this.autocompleteControl.setErrors(this.control.errors) : this.autocompleteControl.setErrors(null);\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n\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\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n this.isForceSelectionSubscription.unsubscribe();\n this.keyboardSubscription.unsubscribe();\n this.autocompleteOptionsSubscription.unsubscribe();\n this.windowResizeSubscription.unsubscribe();\n }\n\n /**\n * Calculates the height that the virtual scroll need to have.\n *\n * @type {number}\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 /**\n * Returns the opening state of the panel.\n *\n * @type {boolean}\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Checks if autocomplete options are available.\n *\n * @returns {boolean} `true` if options are present, otherwise `false`.\n */\n get hasOptionsResult(): boolean {\n return this.autocompleteOptions.value.length > 0;\n }\n\n /**\n * Method that creates and opens the panel containing autocomplete options.\n */\n public openPanel(): void {\n if (!this.isOpen && !this.isReadonly) {\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.input)\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: CdkScrollable) => {\n if(isPlatformBrowser(this.platformId)) {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(this.input.nativeElement, scrollableParent)) {\n this.closePanel();\n }\n }\n });\n\n this.windowResizeSubscription = fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.overlayRef && this.overlayRef.hasAttached() && !this.panelWidth) {\n this.overlayRef.updateSize({\n width: this.inputContainerRef.nativeElement.clientWidth,\n });\n }\n });\n\n const positionStrategy = this.getPositionStrategy();\n const scrollStrategy = this.getScrollStrategy();\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.panelWidth ? this.panelWidth : this.inputContainerRef.nativeElement.clientWidth,\n panelClass: ['eui-autocomplete__panel-container', this.classList],\n });\n this.overlayRef.attach(this.templatePortal);\n\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-19')) {\n el.classList.add('eui-19');\n }\n });\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((e) => {\n const targetElement = e.target as HTMLElement;\n const clearElement = this.elementRef.nativeElement.querySelector('.eui-sprite-eui-close');\n const isElementOrChildOfElement = (element: HTMLElement, parentElement: HTMLElement): boolean => {\n while (element) {\n if (element === parentElement) {\n return true;\n }\n element = element.parentElement;\n }\n return false;\n };\n\n const isClearableButton = targetElement.classList.contains('eui-sprite-eui-close');\n const isInput = targetElement.classList.contains('eui-autocomplete__input');\n\n if (!isClearableButton && !isInput && !isElementOrChildOfElement(targetElement, clearElement)) {\n this.closePanel();\n }\n\n if (isClearableButton && !this.elementRef.nativeElement.contains(targetElement)) {\n this.closePanel();\n }\n\n if (isInput && !this.elementRef.nativeElement.contains(targetElement)) {\n this.closePanel();\n }\n\n if ((e.target as HTMLElement).classList.contains('eui-autocomplete__input')) {\n e.stopPropagation();\n }\n });\n this.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n this.closePanel();\n }\n });\n\n this.autocompleteOptionsSubscription = this.autocompleteOptions.subscribe((autocompleteOptions) => {\n this.overlayRef.removePanelClass('eui-autocomplete__panel-container--no-option');\n if (autocompleteOptions.length === 0) {\n this.selectedOptionIndex = 0;\n this.overlayRef.addPanelClass('eui-autocomplete__panel-container--no-option');\n }\n });\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[0]?.label);\n\n let visibleRangeStart = 0;\n let visibleRangeEnd = this.visibleOptions - 1;\n this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.input.nativeElement, 'keydown')\n .pipe(\n filter((e: KeyboardEvent) => e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Enter' || e.code === 'Tab'),\n takeUntil(this.destroy$),\n )\n .subscribe((e: KeyboardEvent) => {\n if (e) {\n if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions.value.length - 1) {\n this.selectedOptionIndex++;\n this.cd.detectChanges();\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n e.preventDefault();\n }\n if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {\n this.selectedOptionIndex--;\n this.cd.detectChanges();\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n e.preventDefault();\n }\n\n const cIndex = this.selectedOptionIndex - this.virtualScrolling?.getRenderedRange().start;\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 if (e.code === 'Enter') {\n if (this.hasOptionsResult) {\n if (this.groupBy) {\n const options = [].concat(...Object.values(this.groupedOptions.value).map(group => group.options));\n this.onOptionSelected(options[this.selectedOptionIndex]);\n } else {\n this.onOptionSelected(this.autocompleteOptions.value[this.selectedOptionIndex]);\n }\n } else if (this.hasChips && this.isFreeValueAllowed) {\n this.add(this.autocompleteControl.value);\n }\n }\n if (e.code === 'Tab') {\n if (this.isOpen) {\n if (this.isAddOnBlur && this.hasChips && this.autocompleteControl.value?.trim().length > 0) {\n this.add(this.autocompleteControl.value.trim());\n }\n if (this.isForceSelection) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n }\n this.closePanel();\n }\n }\n }\n });\n\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n if (this.isAddOnBlur ) {\n this.addOnBlurClickHandlerSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option') && this.hasChips && this.autocompleteControl.value?.trim().length > 0) {\n this.add(this.autocompleteControl.value.trim());\n }\n });\n }\n\n this.isForceSelectionSubscription.unsubscribe();\n if (this.isForceSelection) {\n this.isForceSelectionSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option')) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n }\n });\n }\n\n this.isOpen$.next(true);\n this.panelOpen.emit();\n }\n }\n\n /**\n * Closes the autocomplete panel.\n */\n public closePanel(): void {\n this.selectedOptionIndex = 0;\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.cd.detectChanges();\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n this.autocompleteOptionsSubscription.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.windowResizeSubscription.unsubscribe();\n this.panelClose.emit();\n }\n\n /**\n * Method called when an option is selected.\n *\n * @param e Selected option\n */\n public onOptionSelected(e: EuiAutoCompleteItem): void {\n if (!e.isDisabled) {\n if (this.hasChips) {\n this.autocompleteDataSelected.push({ ...e, euiInternalId: crypto.randomUUID() });\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.setOptions('', this.isItemsSorted);\n } else {\n this.autocompleteDataSelected = [e];\n this.input.nativeElement.value = e.label;\n this.autocompleteControl.setValue(e.label);\n }\n\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n this.isForceSelectionSubscription.unsubscribe();\n\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(e);\n this.closePanel();\n }\n }\n\n /**\n * Method called when an option is added through the text input.\n *\n * @param value Value to add\n */\n public add(value: string): void {\n if (!value || (!this.isFreeValueAllowed && !this.autocompleteData.find(a => a.label === value.trim()))) {\n return;\n }\n\n if (!this.isDuplicateValueAllowed && this.autocompleteDataSelected.some(s => s.label.trim() === value.trim())) {\n return;\n }\n\n const item = this.autocompleteData.find(a => a.label === value.trim()) || { label: value.trim(), euiInternalId: crypto.randomUUID() };\n\n this.autocompleteDataSelected.push(item);\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.closePanel();\n\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n this.isForceSelectionSubscription.unsubscribe();\n\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(item);\n }\n\n public optionsTrackByFn(index: number, item: EuiAutoCompleteItem): string | number {\n return item.id;\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.chips = this.mapToChip(this.autocompleteDataSelected);\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n const inputValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.setOptions(inputValue, this.isItemsSorted);\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n // eslint-disable-next-line\n this.isDisabled = isDisabled;\n // eslint-disable-next-line\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n\n if (this.isOpen) {\n this.closePanel();\n }\n\n this.cd.detectChanges();\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 public onClear(): void {\n this.clear.emit();\n }\n\n /**\n * Text input focus handler.\n */\n public onFocus(): void {\n this.keyboardSubscription = fromEvent(this.input.nativeElement, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) =>\n /^[a-zA-Z0-9]$/.test(event.key) ||\n event.key === 'Space' ||\n event.key === 'ArrowDown' ||\n event.key === 'Backspace',\n ),\n )\n .subscribe((event: KeyboardEvent) => {\n if (!this.isOpen) {\n this.openPanel();\n event.stopPropagation();\n }\n\n if (this.chipsPosition === 'inside' && event.key === 'Backspace' && (!this.autocompleteControl.value || this.autocompleteControl.value.length === 0)) {\n const removed = this.chips.pop();\n this.onChipRemove({ chips: [...this.chips], removed });\n\n this.cd.detectChanges();\n\n this.overlayRef.updateSize({ width: this.inputContainerRef.nativeElement.clientWidth });\n this.overlayRef.updatePosition();\n }\n });\n\n if (!this.isOpen) {\n this.openPanel();\n }\n\n this.inputFocus.emit();\n }\n\n /**\n * Text input blur handler.\n */\n public onBlur(): void {\n this.keyboardSubscription.unsubscribe();\n this.inputBlur.emit();\n this.onTouch();\n }\n\n /**\n * Called when a chip is removed.\n *\n * @param e Object containing the chip to remove.\n */\n public onChipRemove(e: { chips: EuiChip[]; removed: EuiChip | { chip: EuiChip; event: Event } }): void {\n const event = e as { chips: EuiChip[]; removed: EuiChip };\n const itemRemoved = this.autocompleteDataSelected.find(i => i.id === event.removed.id);\n\n this.autocompleteDataSelected = this.autocompleteDataSelected\n .filter(i => event.chips.find(c => c.id === i.id))\n .filter(i => event.chips.find(c => c.euiInternalId === i.euiInternalId));\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n\n this.setOptions('', this.isItemsSorted);\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemove.emit(itemRemoved);\n }\n\n /**\n * Called when a chip is dropped for reordering or from a source to another.\n *\n * @param e Object containing the chip dropped.\n */\n public onChipDropped(e: EuiChipDragDrop): void {\n const data = this.autocompleteData;\n this.autocompleteDataSelected = e.chips.map(c => data.find((a) => a.id === c.id));\n\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.autocompleteOptions.next(this.filterOptions(''));\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n\n this.chipDrop.emit(e);\n }\n\n /**\n * Called when a chip is dragged for reordering or from a source to another.\n *\n * @param e Object containing the chip dragged.\n */\n public onChipDragStarted(e: EuiChipDragDrop): void {\n this.chipDragStart.emit(e);\n }\n\n /**\n * Called when a chip is released for reordering or from a source to another.\n *\n * @param e Object containing the chip released.\n */\n public onChipDragReleased(e: EuiChipDragDrop): void {\n this.chipDragRelease.emit(e);\n }\n\n /**\n * Calculates the item size for virtual scrolling.\n *\n * @returns a number representing the item size.\n */\n private getItemSize(): number {\n const optionHeight = this.overlayRef?.hostElement?.querySelector('.eui-autocomplete__panel')?.querySelectorAll('.eui-autocomplete-option')[0]?.clientHeight + 1;\n return optionHeight || 48;\n }\n\n /**\n * Re-order options panel based on the input valuea and sort order.\n *\n * @param value Value to filter the options.\n * @param isItemsSorted If the items are sorted.\n */\n private setOptions(value: string, isItemsSorted: boolean): void {\n this.autocompleteOptions.next(isItemsSorted ? (this.orderArray(this.filterOptions(value), this.itemsSortOrder)) : this.filterOptions(value));\n\n if (this.groupBy) {\n const { groupedOptions, distinctOptionGroups } = this.groupingHandler(this.autocompleteOptions.value, this.groupBy);\n\n this.groupedOptions.next(groupedOptions);\n this.distinctOptionGroups = distinctOptionGroups;\n }\n }\n\n /**\n * Return the position strategy for the panel.\n *\n * @returns A CDK position strategy.\n */\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.inputContainerRef.nativeElement as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n /**\n * Return the scroll strategy for the panel.\n *\n * @returns A CDK scroll strategy.\n */\n private getScrollStrategy(): RepositionScrollStrategy {\n return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n }\n\n /**\n * Refine the options based on the input value.\n *\n * @param inputValue Value to filter the options.\n * @returns An array of options.\n */\n private filterOptions(inputValue: string): EuiAutoCompleteItem[] {\n let data: EuiAutoCompleteItem[] = [];\n if (inputValue) {\n data = this.autocompleteData.filter((autocompleteItem) => {\n if (\n this.matching === 'contains' &&\n autocompleteItem.label.toLowerCase().indexOf(inputValue.toString().toLowerCase()) !== -1\n ) {\n return autocompleteItem;\n }\n if (\n this.matching === 'startWith' &&\n autocompleteItem.label.toLowerCase().substr(0, inputValue.toString().length) === inputValue.toLowerCase()\n ) {\n return autocompleteItem;\n }\n });\n } else {\n data = this.autocompleteData;\n }\n\n if (this.hasChips) {\n data = data.filter(d => !this.isDuplicateValueAllowed ? !this.autocompleteDataSelected.some(selectedItem => d.id === selectedItem.id) : true);\n }\n\n if (this.isItemsSorted) {\n data = this.orderArray(data, this.itemsSortOrder);\n }\n\n return data;\n }\n\n /**\n * Converts EuiAutoCompleteItem array to EuiChip array.\n *\n * @param items Array of EuiAutoCompleteItem.\n * @returns An array of EuiChip\n */\n private mapToChip(items: EuiAutoCompleteItem[]): EuiChip[] {\n const chips = items.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: new EuiChipTooltip(selected.tooltip),\n iconClass: selected.iconClass,\n iconSvgName: selected.iconSvgName,\n });\n });\n\n return this.isChipsSorted && chips.length > 0 ? (this.orderArray(chips, this.chipsSortOrder) as EuiChip[]) : chips;\n }\n\n /**\n * Sort an array of objects based on their label.\n *\n * @param tab Array to order\n * @param sortOrder Sort order criteria\n * @returns A sorted array\n */\n private orderArray<T extends { label: string; }>(tab: T[], sortOrder: 'ASC' | 'DESC'): T[] {\n tab.sort((a: T, b: T) => {\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 /**\n * Transforms array of EuiAutoCompleteItem into a grouped object.\n *\n * @param options Array of EuiAutoCompleteItem\n * @param groupBy Label of the group\n * @returns An object containing the grouped options and the distinct option groups.\n */\n private groupingHandler(options: EuiAutoCompleteItem[], groupBy: string):\n { groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }, distinctOptionGroups: string[] } {\n const distinctGroups: string[] = this.autocompleteData.map(item => 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 = options.filter(option => groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === group);\n if (this.isItemsSorted) {\n o = this.orderArray(o, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n groupedOptions[group] = { options: o, ancestorLength };\n ancestorLength += o.length;\n }\n\n return { groupedOptions, distinctOptionGroups };\n }\n\n /**\n * Indicates if the origin element is visible in the scrollable parent.\n *\n * @param origin Origin of the autocomplete\n * @param scrollableParent Scrollable container\n * @returns A boolean, true if visible else false.\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 - 55;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private onChange = <T>(change?: T): void => {\n /** empty */\n };\n\n private onTouch = (): void => {\n /** empty */\n };\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n this.cd.markForCheck();\n }\n}\n","<div class=\"eui-autocomplete__wrapper\">\n @if (chipsPosition === 'bottom') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n @if (hasChips) {\n <eui-chip-list\n [chips]=\"chips\"\n [isChipsRemovable]=\"isChipsRemovable && !isReadonly\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDrop)=\"onChipDropped($event)\"\n (chipDragStart)=\"onChipDragStarted($event)\"\n (chipDragRelease)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\">\n <euiChipListAppendContent>\n @if (chipsPosition === 'inside') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n </euiChipListAppendContent>\n </eui-chip-list>\n }\n @if (chipsPosition === 'top') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n</div>\n\n<ng-template #control>\n @if (!hasChips || (hasChips && !isReadonly)) {\n <div class=\"eui-autocomplete__input-container {{ classList }}\" #inputContainerRef>\n <input\n [attr.id]=\"inputId\"\n #input\n euiInputText\n [euiClearable]=\"!isReadonly && !isDisabled\"\n [euiLoading]=\"isLoading\"\n [formControl]=\"autocompleteControl\"\n class=\"eui-autocomplete__input {{ classList }}\"\n placeholder=\"{{ placeholder }}\"\n autocomplete=\"off\"\n [readonly]=\"isReadonly\"\n (clear)=\"onClear()\"\n (click)=\"openPanel()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.aria-controls]=\"isOpen ? 'eui-autocomplete__panel' : null\"\n [attr.aria-label]=\"autocompleteControl.value?.length > 0 ? autocompleteControl.value : 'Input field without value'\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\" />\n </div>\n }\n</ng-template>\n\n<ng-template #templatePortalContent>\n <div\n id=\"eui-autocomplete__panel\"\n class=\"eui-autocomplete__panel\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n role=\"listbox\"\n aria-live=\"polite\"\n aria-label=\"Autocomplete panel\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n tabindex=\"0\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n @if (groupBy) {\n @for (distinctOptionGroup of distinctOptionGroups; let i = $index; track distinctOptionGroup) {\n @if ((groupedOptions | async)[distinctOptionGroup].options.length > 0) {\n <eui-autocomplete-option-group [label]=\"distinctOptionGroup\">\n <div class=\"eui-autocomplete-option-group__label\">\n @if (autocompleteOptGroupTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\">\n </ng-template>\n } @else {\n {{ distinctOptionGroup }}\n }\n </div>\n <div class=\"eui-autocomplete-option-group__options\">\n @for (autocompleteOption of (groupedOptions | async)[distinctOptionGroup].options; let j = $index; track autocompleteOption.id) {\n <eui-autocomplete-option\n isGroupItem\n [isActive]=\"selectedOptionIndex === (groupedOptions | async)[distinctOptionGroup].ancestorLength + j\"\n [isDisabled]=\"autocompleteOption.isDisabled\"\n [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n [euiVariant]=\"autocompleteOption.typeClass\"\n (click)=\"onOptionSelected(autocompleteOption)\">\n @if (autocompleteOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n } @else {\n @if (autocompleteOption.iconClass) {\n <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n } @else if (autocompleteOption.iconSvgName) {\n <eui-icon-svg icon=\"{{ autocompleteOption.iconSvgName }}\"></eui-icon-svg>\n }\n {{ autocompleteOption.label }}\n }\n </eui-autocomplete-option>\n }\n </div>\n </eui-autocomplete-option-group>\n }\n }\n } @else {\n <eui-autocomplete-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: optionsTrackByFn\"\n [isActive]=\"selectedOptionIndex === i\"\n [isDisabled]=\"autocompleteOption.isDisabled\"\n [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n [euiVariant]=\"autocompleteOption.typeClass\"\n (click)=\"onOptionSelected(autocompleteOption)\">\n @if (autocompleteOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n } @else {\n @if (autocompleteOption.iconClass) {\n <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n } @else if (autocompleteOption.iconSvgName) {\n <eui-icon-svg icon=\"{{ autocompleteOption.iconSvgName }}\"></eui-icon-svg>\n }\n {{ autocompleteOption.label }}\n }\n </eui-autocomplete-option>\n }\n </cdk-virtual-scroll-viewport>\n </div>\n</ng-template>\n","import { AbstractControl } from '@angular/forms';\n\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n/**\n * @description\n * Validator checking if the user choose the value in the panel.\n *\n * @returns A validator function that returns an error with the `isInData` to false and a list of invalid values if the validation\n * check fails, otherwise `null`.\n */\nexport const euiAutocompleteForceSelectionFromData = (control: AbstractControl<EuiAutoCompleteItem | EuiAutoCompleteItem[]>):\n { isInData: { isInData: boolean; invalidValues: EuiAutoCompleteItem | EuiAutoCompleteItem[] } } | null => {\n if (control.value) {\n const isInData = Array.isArray(control.value) ? control.value.every(obj => 'id' in obj) : control.value.id !== undefined;\n const invalidValues = Array.isArray(control.value) ? control.value.filter(v => v.id === undefined) : control.value;\n\n return !isInData ? { isInData: { isInData, invalidValues } } : null;\n }\n\n return null;\n};\n","import { NgModule } from '@angular/core';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\nimport { EuiAutocompleteOptionComponent } from './eui-autocomplete-option/eui-autocomplete-option.component';\nimport { EuiAutocompleteOptionGroupComponent } from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\n\n/**\n * @description\n * Module that provides the EuiAutocomplete component and its dependencies\n *\n * @deprecated Use {@link EUI_AUTOCOMPLETE} instead.\n */\n@NgModule({\n imports: [\n EuiAutocompleteComponent,\n EuiAutocompleteOptionComponent,\n EuiAutocompleteOptionGroupComponent,\n ],\n exports: [EuiAutocompleteComponent],\n})\nexport class EuiAutocompleteModule {}\n","import { EuiAutocompleteOptionGroupComponent } from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\nimport { EuiAutocompleteOptionComponent } from './eui-autocomplete-option/eui-autocomplete-option.component';\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\n\nexport * from './models/eui-autocomplete-item.model';\nexport * from './validators/force-selection-from-data.validator';\nexport * from './eui-autocomplete-option/eui-autocomplete-option.component';\nexport * from './eui-autocomplete-option-group/eui-autocomplete-option-group.component';\nexport * from './eui-autocomplete.component';\nexport * from './eui-autocomplete.module';\n\nexport const EUI_AUTOCOMPLETE = [\n EuiAutocompleteComponent,\n EuiAutocompleteOptionComponent,\n EuiAutocompleteOptionGroupComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5","i1"],"mappings":"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"}
|
@@ -256,7 +256,7 @@ class EuiAvatarComponent {
|
|
256
256
|
].join(' ').trim();
|
257
257
|
}
|
258
258
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
259
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: EuiAvatarComponent, isStandalone: true, selector: "div[euiAvatar], span[euiAvatar], eui-avatar", inputs: { e2eAttr: "e2eAttr", ariaLabel: ["aria-label", "ariaLabel"], hasShadow: ["hasShadow", "hasShadow", booleanAttribute], isShapeSquare: ["isShapeSquare", "isShapeSquare", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasNoBackground: ["hasNoBackground", "hasNoBackground", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr", "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiSizeXS", "euiSizeXS", "euiSizeS", "euiSizeS", "euiSizeL", "euiSizeL", "euiSizeXL", "euiSizeXL", "euiSize2XL", "euiSize2XL", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: "@if(hasShadow) {\n <div class=\"eui-avatar-shadow\"></div>\n}\n\n<div class=\"eui-avatar-content\">\n <ng-content select=\"eui-avatar-icon\"></ng-content>\n <ng-content select=\"eui-avatar-text\"></ng-content>\n <ng-content select=\"eui-avatar-image\"></ng-content>\n <ng-content select=\"eui-avatar-badge\"></ng-content>\n</div>\n", styles: [".eui-19 :host.eui-avatar{--_size: 3rem;--_icon-size: 1.5rem;--_font-size: var(--eui-f-size-xl);--_font-weight: var(--eui-f-weight-bold);--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light)}.eui-19 :host.eui-avatar--primary{--_bg-color: var(--eui-c-s-primary-surface);--_color: var(--eui-c-s-primary-surface-contrast)}.eui-19 :host.eui-avatar--secondary{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light)}.eui-19 :host.eui-avatar--info{--_bg-color: var(--eui-c-s-info-surface);--_color: var(--eui-c-s-info-surface-contrast)}.eui-19 :host.eui-avatar--success{--_bg-color: var(--eui-c-s-success-surface);--_color: var(--eui-c-s-success-surface-contrast)}.eui-19 :host.eui-avatar--warning{--_bg-color: var(--eui-c-s-warning-surface);--_color: var(--eui-c-s-warning-surface-contrast)}.eui-19 :host.eui-avatar--danger{--_bg-color: var(--eui-c-s-danger-surface);--_color: var(--eui-c-s-danger-surface-contrast)}.eui-19 :host.eui-avatar--accent{--_bg-color: var(--eui-c-s-accent-surface);--_color: var(--eui-c-s-accent-surface-contrast)}.eui-19 :host.eui-avatar--flat{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--primary{--_bg-color: var(--eui-c-s-primary-surface-light);--_color: var(--eui-c-s-primary-on-surface-light);--_border-color: var(--eui-c-s-primary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--secondary{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--info{--_bg-color: var(--eui-c-s-info-surface-light);--_color: var(--eui-c-s-info-on-surface-light);--_border-color: var(--eui-c-s-info-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--success{--_bg-color: var(--eui-c-s-success-surface-light);--_color: var(--eui-c-s-success-on-surface-light);--_border-color: var(--eui-c-s-success-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--warning{--_bg-color: var(--eui-c-s-warning-surface-light);--_color: var(--eui-c-s-warning-on-surface-light);--_border-color: var(--eui-c-s-warning-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--danger{--_bg-color: var(--eui-c-s-danger-surface-light);--_color: var(--eui-c-s-danger-on-surface-light);--_border-color: var(--eui-c-s-danger-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--accent{--_bg-color: var(--eui-c-s-accent-surface-light);--_color: var(--eui-c-s-accent-on-surface-light);--_border-color: var(--eui-c-s-accent-border-light)}.eui-19 :host.eui-avatar--no-background{--_bg-color: transparent;--_color: var(--eui-c-s-primary)}.eui-19 :host.eui-avatar--no-background.eui-avatar--secondary{--_color: var(--eui-c-s-secondary)}.eui-19 :host.eui-avatar--no-background.eui-avatar--info{--_color: var(--eui-c-s-info)}.eui-19 :host.eui-avatar--no-background.eui-avatar--success{--_color: var(--eui-c-s-success)}.eui-19 :host.eui-avatar--no-background.eui-avatar--warning{--_color: var(--eui-c-s-warning)}.eui-19 :host.eui-avatar--no-background.eui-avatar--danger{--_color: var(--eui-c-s-danger)}.eui-19 :host.eui-avatar--no-background.eui-avatar--accent{--_color: var(--eui-c-s-accent)}.eui-19 :host.eui-avatar--size-xs{--_size: 1.5rem;--_font-size: var(--eui-f-size-xs);--_icon-size: var(--eui-is-xs)}.eui-19 :host.eui-avatar--size-s{--_size: 2.5rem;--_font-size: var(--eui-f-s);--_icon-size: var(--eui-is-s)}.eui-19 :host.eui-avatar--size-m{--_font-size: var(--eui-f-size-xl)}.eui-19 :host.eui-avatar--size-l{--_size: 4rem;--_font-size: var(--eui-f-size-2xl);--_icon-size: var(--eui-is-l)}.eui-19 :host.eui-avatar--size-xl{--_size: 5rem;--_font-size: var(--eui-f-size-2xl);--_icon-size: var(--eui-is-xl)}.eui-19 :host.eui-avatar--size-2xl{--_size: 6rem;--_font-size: var(--eui-f-size-3xl);--_icon-size: var(--eui-is-2xl)}.eui-19 :host.eui-avatar{display:inline-flex;position:relative}.eui-19 :host.eui-avatar .eui-avatar-content{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--eui-br-max);background-color:var(--_bg-color);height:var(--_size);width:var(--_size);box-shadow:var(--eui-sh-1);position:relative}.eui-19 :host.eui-avatar .eui-avatar-shadow{position:absolute;right:-.35rem;height:var(--_size);width:var(--_size);border:.65rem solid var(--eui-c-
|
259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.9", type: EuiAvatarComponent, isStandalone: true, selector: "div[euiAvatar], span[euiAvatar], eui-avatar", inputs: { e2eAttr: "e2eAttr", ariaLabel: ["aria-label", "ariaLabel"], hasShadow: ["hasShadow", "hasShadow", booleanAttribute], isShapeSquare: ["isShapeSquare", "isShapeSquare", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasNoBackground: ["hasNoBackground", "hasNoBackground", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr", "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiSizeXS", "euiSizeXS", "euiSizeS", "euiSizeS", "euiSizeL", "euiSizeL", "euiSizeXL", "euiSizeXL", "euiSize2XL", "euiSize2XL", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: "@if(hasShadow) {\n <div class=\"eui-avatar-shadow\"></div>\n}\n\n<div class=\"eui-avatar-content\">\n <ng-content select=\"eui-avatar-icon\"></ng-content>\n <ng-content select=\"eui-avatar-text\"></ng-content>\n <ng-content select=\"eui-avatar-image\"></ng-content>\n <ng-content select=\"eui-avatar-badge\"></ng-content>\n</div>\n", styles: [".eui-19 :host.eui-avatar{--_size: 3rem;--_icon-size: 1.5rem;--_font-size: var(--eui-f-size-xl);--_font-weight: var(--eui-f-weight-bold);--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light)}.eui-19 :host.eui-avatar--primary{--_bg-color: var(--eui-c-s-primary-surface);--_color: var(--eui-c-s-primary-surface-contrast)}.eui-19 :host.eui-avatar--secondary{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light)}.eui-19 :host.eui-avatar--info{--_bg-color: var(--eui-c-s-info-surface);--_color: var(--eui-c-s-info-surface-contrast)}.eui-19 :host.eui-avatar--success{--_bg-color: var(--eui-c-s-success-surface);--_color: var(--eui-c-s-success-surface-contrast)}.eui-19 :host.eui-avatar--warning{--_bg-color: var(--eui-c-s-warning-surface);--_color: var(--eui-c-s-warning-surface-contrast)}.eui-19 :host.eui-avatar--danger{--_bg-color: var(--eui-c-s-danger-surface);--_color: var(--eui-c-s-danger-surface-contrast)}.eui-19 :host.eui-avatar--accent{--_bg-color: var(--eui-c-s-accent-surface);--_color: var(--eui-c-s-accent-surface-contrast)}.eui-19 :host.eui-avatar--flat{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--primary{--_bg-color: var(--eui-c-s-primary-surface-light);--_color: var(--eui-c-s-primary-on-surface-light);--_border-color: var(--eui-c-s-primary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--secondary{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--info{--_bg-color: var(--eui-c-s-info-surface-light);--_color: var(--eui-c-s-info-on-surface-light);--_border-color: var(--eui-c-s-info-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--success{--_bg-color: var(--eui-c-s-success-surface-light);--_color: var(--eui-c-s-success-on-surface-light);--_border-color: var(--eui-c-s-success-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--warning{--_bg-color: var(--eui-c-s-warning-surface-light);--_color: var(--eui-c-s-warning-on-surface-light);--_border-color: var(--eui-c-s-warning-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--danger{--_bg-color: var(--eui-c-s-danger-surface-light);--_color: var(--eui-c-s-danger-on-surface-light);--_border-color: var(--eui-c-s-danger-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--accent{--_bg-color: var(--eui-c-s-accent-surface-light);--_color: var(--eui-c-s-accent-on-surface-light);--_border-color: var(--eui-c-s-accent-border-light)}.eui-19 :host.eui-avatar--no-background{--_bg-color: transparent;--_color: var(--eui-c-s-primary)}.eui-19 :host.eui-avatar--no-background.eui-avatar--secondary{--_color: var(--eui-c-s-secondary)}.eui-19 :host.eui-avatar--no-background.eui-avatar--info{--_color: var(--eui-c-s-info)}.eui-19 :host.eui-avatar--no-background.eui-avatar--success{--_color: var(--eui-c-s-success)}.eui-19 :host.eui-avatar--no-background.eui-avatar--warning{--_color: var(--eui-c-s-warning)}.eui-19 :host.eui-avatar--no-background.eui-avatar--danger{--_color: var(--eui-c-s-danger)}.eui-19 :host.eui-avatar--no-background.eui-avatar--accent{--_color: var(--eui-c-s-accent)}.eui-19 :host.eui-avatar--size-xs{--_size: 1.5rem;--_font-size: var(--eui-f-size-xs);--_icon-size: var(--eui-is-xs)}.eui-19 :host.eui-avatar--size-s{--_size: 2.5rem;--_font-size: var(--eui-f-s);--_icon-size: var(--eui-is-s)}.eui-19 :host.eui-avatar--size-m{--_font-size: var(--eui-f-size-xl)}.eui-19 :host.eui-avatar--size-l{--_size: 4rem;--_font-size: var(--eui-f-size-2xl);--_icon-size: var(--eui-is-l)}.eui-19 :host.eui-avatar--size-xl{--_size: 5rem;--_font-size: var(--eui-f-size-2xl);--_icon-size: var(--eui-is-xl)}.eui-19 :host.eui-avatar--size-2xl{--_size: 6rem;--_font-size: var(--eui-f-size-3xl);--_icon-size: var(--eui-is-2xl)}.eui-19 :host.eui-avatar{display:inline-flex;position:relative}.eui-19 :host.eui-avatar .eui-avatar-content{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--eui-br-max);background-color:var(--_bg-color);height:var(--_size);width:var(--_size);box-shadow:var(--eui-sh-1);position:relative}.eui-19 :host.eui-avatar .eui-avatar-shadow{position:absolute;right:-.35rem;height:var(--_size);width:var(--_size);border:.65rem solid var(--eui-c-divider);border-radius:var(--eui-br-max)}.eui-19 :host.eui-avatar--shape-square .eui-avatar-content{border-radius:var(--eui-br-m)}.eui-19 :host.eui-avatar--no-background .eui-avatar-content{box-shadow:var(--eui-sh-none);border-radius:var(--eui-br-none)}.eui-19 :host.eui-avatar--flat .eui-avatar-content{box-shadow:var(--eui-sh-none);border:1px solid var(--_border-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
260
260
|
}
|
261
261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: EuiAvatarComponent, decorators: [{
|
262
262
|
type: Component,
|
@@ -282,7 +282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
|
|
282
282
|
'euiSizeVariant',
|
283
283
|
],
|
284
284
|
},
|
285
|
-
], template: "@if(hasShadow) {\n <div class=\"eui-avatar-shadow\"></div>\n}\n\n<div class=\"eui-avatar-content\">\n <ng-content select=\"eui-avatar-icon\"></ng-content>\n <ng-content select=\"eui-avatar-text\"></ng-content>\n <ng-content select=\"eui-avatar-image\"></ng-content>\n <ng-content select=\"eui-avatar-badge\"></ng-content>\n</div>\n", styles: [".eui-19 :host.eui-avatar{--_size: 3rem;--_icon-size: 1.5rem;--_font-size: var(--eui-f-size-xl);--_font-weight: var(--eui-f-weight-bold);--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light)}.eui-19 :host.eui-avatar--primary{--_bg-color: var(--eui-c-s-primary-surface);--_color: var(--eui-c-s-primary-surface-contrast)}.eui-19 :host.eui-avatar--secondary{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light)}.eui-19 :host.eui-avatar--info{--_bg-color: var(--eui-c-s-info-surface);--_color: var(--eui-c-s-info-surface-contrast)}.eui-19 :host.eui-avatar--success{--_bg-color: var(--eui-c-s-success-surface);--_color: var(--eui-c-s-success-surface-contrast)}.eui-19 :host.eui-avatar--warning{--_bg-color: var(--eui-c-s-warning-surface);--_color: var(--eui-c-s-warning-surface-contrast)}.eui-19 :host.eui-avatar--danger{--_bg-color: var(--eui-c-s-danger-surface);--_color: var(--eui-c-s-danger-surface-contrast)}.eui-19 :host.eui-avatar--accent{--_bg-color: var(--eui-c-s-accent-surface);--_color: var(--eui-c-s-accent-surface-contrast)}.eui-19 :host.eui-avatar--flat{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--primary{--_bg-color: var(--eui-c-s-primary-surface-light);--_color: var(--eui-c-s-primary-on-surface-light);--_border-color: var(--eui-c-s-primary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--secondary{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--info{--_bg-color: var(--eui-c-s-info-surface-light);--_color: var(--eui-c-s-info-on-surface-light);--_border-color: var(--eui-c-s-info-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--success{--_bg-color: var(--eui-c-s-success-surface-light);--_color: var(--eui-c-s-success-on-surface-light);--_border-color: var(--eui-c-s-success-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--warning{--_bg-color: var(--eui-c-s-warning-surface-light);--_color: var(--eui-c-s-warning-on-surface-light);--_border-color: var(--eui-c-s-warning-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--danger{--_bg-color: var(--eui-c-s-danger-surface-light);--_color: var(--eui-c-s-danger-on-surface-light);--_border-color: var(--eui-c-s-danger-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--accent{--_bg-color: var(--eui-c-s-accent-surface-light);--_color: var(--eui-c-s-accent-on-surface-light);--_border-color: var(--eui-c-s-accent-border-light)}.eui-19 :host.eui-avatar--no-background{--_bg-color: transparent;--_color: var(--eui-c-s-primary)}.eui-19 :host.eui-avatar--no-background.eui-avatar--secondary{--_color: var(--eui-c-s-secondary)}.eui-19 :host.eui-avatar--no-background.eui-avatar--info{--_color: var(--eui-c-s-info)}.eui-19 :host.eui-avatar--no-background.eui-avatar--success{--_color: var(--eui-c-s-success)}.eui-19 :host.eui-avatar--no-background.eui-avatar--warning{--_color: var(--eui-c-s-warning)}.eui-19 :host.eui-avatar--no-background.eui-avatar--danger{--_color: var(--eui-c-s-danger)}.eui-19 :host.eui-avatar--no-background.eui-avatar--accent{--_color: var(--eui-c-s-accent)}.eui-19 :host.eui-avatar--size-xs{--_size: 1.5rem;--_font-size: var(--eui-f-size-xs);--_icon-size: var(--eui-is-xs)}.eui-19 :host.eui-avatar--size-s{--_size: 2.5rem;--_font-size: var(--eui-f-s);--_icon-size: var(--eui-is-s)}.eui-19 :host.eui-avatar--size-m{--_font-size: var(--eui-f-size-xl)}.eui-19 :host.eui-avatar--size-l{--_size: 4rem;--_font-size: var(--eui-f-size-2xl);--_icon-size: var(--eui-is-l)}.eui-19 :host.eui-avatar--size-xl{--_size: 5rem;--_font-size: var(--eui-f-size-2xl);--_icon-size: var(--eui-is-xl)}.eui-19 :host.eui-avatar--size-2xl{--_size: 6rem;--_font-size: var(--eui-f-size-3xl);--_icon-size: var(--eui-is-2xl)}.eui-19 :host.eui-avatar{display:inline-flex;position:relative}.eui-19 :host.eui-avatar .eui-avatar-content{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--eui-br-max);background-color:var(--_bg-color);height:var(--_size);width:var(--_size);box-shadow:var(--eui-sh-1);position:relative}.eui-19 :host.eui-avatar .eui-avatar-shadow{position:absolute;right:-.35rem;height:var(--_size);width:var(--_size);border:.65rem solid var(--eui-c-
|
285
|
+
], template: "@if(hasShadow) {\n <div class=\"eui-avatar-shadow\"></div>\n}\n\n<div class=\"eui-avatar-content\">\n <ng-content select=\"eui-avatar-icon\"></ng-content>\n <ng-content select=\"eui-avatar-text\"></ng-content>\n <ng-content select=\"eui-avatar-image\"></ng-content>\n <ng-content select=\"eui-avatar-badge\"></ng-content>\n</div>\n", styles: [".eui-19 :host.eui-avatar{--_size: 3rem;--_icon-size: 1.5rem;--_font-size: var(--eui-f-size-xl);--_font-weight: var(--eui-f-weight-bold);--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light)}.eui-19 :host.eui-avatar--primary{--_bg-color: var(--eui-c-s-primary-surface);--_color: var(--eui-c-s-primary-surface-contrast)}.eui-19 :host.eui-avatar--secondary{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light)}.eui-19 :host.eui-avatar--info{--_bg-color: var(--eui-c-s-info-surface);--_color: var(--eui-c-s-info-surface-contrast)}.eui-19 :host.eui-avatar--success{--_bg-color: var(--eui-c-s-success-surface);--_color: var(--eui-c-s-success-surface-contrast)}.eui-19 :host.eui-avatar--warning{--_bg-color: var(--eui-c-s-warning-surface);--_color: var(--eui-c-s-warning-surface-contrast)}.eui-19 :host.eui-avatar--danger{--_bg-color: var(--eui-c-s-danger-surface);--_color: var(--eui-c-s-danger-surface-contrast)}.eui-19 :host.eui-avatar--accent{--_bg-color: var(--eui-c-s-accent-surface);--_color: var(--eui-c-s-accent-surface-contrast)}.eui-19 :host.eui-avatar--flat{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--primary{--_bg-color: var(--eui-c-s-primary-surface-light);--_color: var(--eui-c-s-primary-on-surface-light);--_border-color: var(--eui-c-s-primary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--secondary{--_bg-color: var(--eui-c-s-secondary-surface-light);--_color: var(--eui-c-s-secondary-on-surface-light);--_border-color: var(--eui-c-s-secondary-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--info{--_bg-color: var(--eui-c-s-info-surface-light);--_color: var(--eui-c-s-info-on-surface-light);--_border-color: var(--eui-c-s-info-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--success{--_bg-color: var(--eui-c-s-success-surface-light);--_color: var(--eui-c-s-success-on-surface-light);--_border-color: var(--eui-c-s-success-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--warning{--_bg-color: var(--eui-c-s-warning-surface-light);--_color: var(--eui-c-s-warning-on-surface-light);--_border-color: var(--eui-c-s-warning-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--danger{--_bg-color: var(--eui-c-s-danger-surface-light);--_color: var(--eui-c-s-danger-on-surface-light);--_border-color: var(--eui-c-s-danger-border-light)}.eui-19 :host.eui-avatar--flat.eui-avatar--accent{--_bg-color: var(--eui-c-s-accent-surface-light);--_color: var(--eui-c-s-accent-on-surface-light);--_border-color: var(--eui-c-s-accent-border-light)}.eui-19 :host.eui-avatar--no-background{--_bg-color: transparent;--_color: var(--eui-c-s-primary)}.eui-19 :host.eui-avatar--no-background.eui-avatar--secondary{--_color: var(--eui-c-s-secondary)}.eui-19 :host.eui-avatar--no-background.eui-avatar--info{--_color: var(--eui-c-s-info)}.eui-19 :host.eui-avatar--no-background.eui-avatar--success{--_color: var(--eui-c-s-success)}.eui-19 :host.eui-avatar--no-background.eui-avatar--warning{--_color: var(--eui-c-s-warning)}.eui-19 :host.eui-avatar--no-background.eui-avatar--danger{--_color: var(--eui-c-s-danger)}.eui-19 :host.eui-avatar--no-background.eui-avatar--accent{--_color: var(--eui-c-s-accent)}.eui-19 :host.eui-avatar--size-xs{--_size: 1.5rem;--_font-size: var(--eui-f-size-xs);--_icon-size: var(--eui-is-xs)}.eui-19 :host.eui-avatar--size-s{--_size: 2.5rem;--_font-size: var(--eui-f-s);--_icon-size: var(--eui-is-s)}.eui-19 :host.eui-avatar--size-m{--_font-size: var(--eui-f-size-xl)}.eui-19 :host.eui-avatar--size-l{--_size: 4rem;--_font-size: var(--eui-f-size-2xl);--_icon-size: var(--eui-is-l)}.eui-19 :host.eui-avatar--size-xl{--_size: 5rem;--_font-size: var(--eui-f-size-2xl);--_icon-size: var(--eui-is-xl)}.eui-19 :host.eui-avatar--size-2xl{--_size: 6rem;--_font-size: var(--eui-f-size-3xl);--_icon-size: var(--eui-is-2xl)}.eui-19 :host.eui-avatar{display:inline-flex;position:relative}.eui-19 :host.eui-avatar .eui-avatar-content{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--eui-br-max);background-color:var(--_bg-color);height:var(--_size);width:var(--_size);box-shadow:var(--eui-sh-1);position:relative}.eui-19 :host.eui-avatar .eui-avatar-shadow{position:absolute;right:-.35rem;height:var(--_size);width:var(--_size);border:.65rem solid var(--eui-c-divider);border-radius:var(--eui-br-max)}.eui-19 :host.eui-avatar--shape-square .eui-avatar-content{border-radius:var(--eui-br-m)}.eui-19 :host.eui-avatar--no-background .eui-avatar-content{box-shadow:var(--eui-sh-none);border-radius:var(--eui-br-none)}.eui-19 :host.eui-avatar--flat .eui-avatar-content{box-shadow:var(--eui-sh-none);border:1px solid var(--_border-color)}\n"] }]
|
286
286
|
}], propDecorators: { cssClasses: [{
|
287
287
|
type: HostBinding,
|
288
288
|
args: ['class']
|