@eui/components 18.2.14-snapshot-1750917958216 → 18.2.15-snapshot-1754050928445

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/docs/dependencies.html +2 -2
  2. package/docs/js/search/search_index.js +2 -2
  3. package/docs/miscellaneous/variables.html +9 -2
  4. package/esm2022/eui-accordion/eui-accordion.component.mjs +2 -2
  5. package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +19 -7
  6. package/esm2022/eui-disable-content/eui-disable-content.component.mjs +2 -2
  7. package/esm2022/eui-file-upload/index.mjs +2 -1
  8. package/esm2022/eui-file-upload/utils/eui-file-upload.validators.mjs +8 -2
  9. package/esm2022/eui-page/eui-page.component.mjs +2 -2
  10. package/esm2022/eui-table/eui-table.component.mjs +2 -2
  11. package/esm2022/eui-table-v2/eui-table-v2.component.mjs +2 -2
  12. package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
  13. package/eui-file-upload/index.d.ts +1 -0
  14. package/eui-file-upload/index.d.ts.map +1 -1
  15. package/eui-file-upload/utils/eui-file-upload.validators.d.ts.map +1 -1
  16. package/fesm2022/eui-components-directives.mjs.map +1 -1
  17. package/fesm2022/eui-components-eui-accordion.mjs +2 -2
  18. package/fesm2022/eui-components-eui-accordion.mjs.map +1 -1
  19. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  20. package/fesm2022/eui-components-eui-autocomplete.mjs +18 -6
  21. package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
  22. package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
  23. package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
  24. package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
  25. package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
  26. package/fesm2022/eui-components-eui-breadcrumb.mjs.map +1 -1
  27. package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
  28. package/fesm2022/eui-components-eui-button-v2.mjs.map +1 -1
  29. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  30. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  31. package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
  32. package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
  33. package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
  34. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
  35. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  36. package/fesm2022/eui-components-eui-datepicker.mjs.map +1 -1
  37. package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
  38. package/fesm2022/eui-components-eui-dimmer.mjs.map +1 -1
  39. package/fesm2022/eui-components-eui-disable-content.mjs +2 -2
  40. package/fesm2022/eui-components-eui-disable-content.mjs.map +1 -1
  41. package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
  42. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  43. package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
  44. package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
  45. package/fesm2022/eui-components-eui-file-upload.mjs +8 -2
  46. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  47. package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
  48. package/fesm2022/eui-components-eui-icon-button-expander.mjs.map +1 -1
  49. package/fesm2022/eui-components-eui-icon-button.mjs.map +1 -1
  50. package/fesm2022/eui-components-eui-icon-color.mjs.map +1 -1
  51. package/fesm2022/eui-components-eui-icon-input.mjs.map +1 -1
  52. package/fesm2022/eui-components-eui-icon-state.mjs.map +1 -1
  53. package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
  54. package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
  55. package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
  56. package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
  57. package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
  58. package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
  59. package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
  60. package/fesm2022/eui-components-eui-label.mjs.map +1 -1
  61. package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
  62. package/fesm2022/eui-components-eui-list.mjs.map +1 -1
  63. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  64. package/fesm2022/eui-components-eui-message-box.mjs.map +1 -1
  65. package/fesm2022/eui-components-eui-navbar.mjs.map +1 -1
  66. package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
  67. package/fesm2022/eui-components-eui-page.mjs +2 -2
  68. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  69. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  70. package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
  71. package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
  72. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  73. package/fesm2022/eui-components-eui-select.mjs.map +1 -1
  74. package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
  75. package/fesm2022/eui-components-eui-skeleton.mjs.map +1 -1
  76. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  77. package/fesm2022/eui-components-eui-split-button.mjs.map +1 -1
  78. package/fesm2022/eui-components-eui-table-v2.mjs +2 -2
  79. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  80. package/fesm2022/eui-components-eui-table.mjs +2 -2
  81. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  82. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  83. package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
  84. package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
  85. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  86. package/fesm2022/eui-components-eui-timepicker.mjs.map +1 -1
  87. package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
  88. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  89. package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
  90. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  91. package/fesm2022/eui-components-externals-charts.mjs.map +1 -1
  92. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  93. package/fesm2022/eui-components-externals-helpers.mjs.map +1 -1
  94. package/fesm2022/eui-components-externals-quill.mjs.map +1 -1
  95. package/fesm2022/eui-components-externals-search-favourite-queries.mjs.map +1 -1
  96. package/fesm2022/eui-components-layout.mjs.map +1 -1
  97. package/fesm2022/eui-components-pipes.mjs.map +1 -1
  98. package/fesm2022/eui-components-shared.mjs.map +1 -1
  99. package/fesm2022/eui-components-validators.mjs.map +1 -1
  100. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-accordion.mjs","sources":["../../eui-accordion/eui-accordion.component.ts","../../eui-accordion/eui-accordion.component.html","../../eui-accordion/eui-accordion-item.component.ts","../../eui-accordion/eui-accordion-item.component.html","../../eui-accordion/eui-accordion.module.ts","../../eui-accordion/eui-components-eui-accordion.ts"],"sourcesContent":["import { CdkAccordion } from '@angular/cdk/accordion';\nimport { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'eui-accordion',\n templateUrl: './eui-accordion.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: CdkAccordion,\n inputs: [ 'multi: isMulti' ],\n },\n ],\n})\nexport class EuiAccordionComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-accordion',\n ].join(' ').trim();\n }\n\n}\n","<ng-content></ng-content>\n","import { CdkAccordionItem } from '@angular/cdk/accordion';\nimport { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Directive, Output, EventEmitter } from '@angular/core';\nimport { consumeEvent } from '@eui/core';\nimport { euiAnimationCollapse } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-accordion-item',\n templateUrl: './eui-accordion-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: CdkAccordionItem,\n inputs: [\n 'expanded: isExpanded',\n ],\n },\n ],\n animations: [\n euiAnimationCollapse,\n ],\n})\nexport class EuiAccordionItemComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-accordion-item',\n ].join(' ').trim();\n }\n\n @Output() toggleItem = new EventEmitter<boolean>();\n\n constructor(\n protected accItem: CdkAccordionItem,\n ) {\n }\n\n onToggle(event: Event): void {\n this.accItem.toggle();\n this.toggleItem.emit(this.accItem.expanded);\n consumeEvent(event);\n }\n\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-accordion-item-header' })\nexport class EuiAccordionItemHeaderDirective{ }\n/* eslint-enable */\n","<button class=\"eui-accordion-item__header\" (click)=\"onToggle($event)\" (keydown.enter)=\"onToggle($event)\">\n <ng-content select=\"eui-accordion-item-header\"></ng-content>\n\n <div class=\"eui-accordion-item__header-expander\">\n @if (accItem.expanded) {\n <eui-icon-svg icon=\"eui-ecl-minus\" size=\"s\" fillColor=\"primary\"></eui-icon-svg>\n } @else {\n <eui-icon-svg icon=\"eui-ecl-plus\" size=\"s\" fillColor=\"primary\"></eui-icon-svg>\n }\n </div>\n</button>\n<div [@euiAnimationCollapse]=\"!accItem.expanded\" class=\"eui-accordion-item__body\">\n <ng-content></ng-content>\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiAccordionComponent } from './eui-accordion.component';\nimport { EuiAccordionItemComponent, EuiAccordionItemHeaderDirective } from './eui-accordion-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n@NgModule({\n imports: [CommonModule, EuiIconModule, CdkAccordionModule, BaseStatesDirective],\n exports: [EuiAccordionComponent, EuiAccordionItemComponent, EuiAccordionItemHeaderDirective],\n declarations: [EuiAccordionComponent, EuiAccordionItemComponent, EuiAccordionItemHeaderDirective],\n})\nexport class EuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-accordion.mjs","sources":["../../eui-accordion/eui-accordion.component.ts","../../eui-accordion/eui-accordion.component.html","../../eui-accordion/eui-accordion-item.component.ts","../../eui-accordion/eui-accordion-item.component.html","../../eui-accordion/eui-accordion.module.ts","../../eui-accordion/eui-components-eui-accordion.ts"],"sourcesContent":["import { CdkAccordion } from '@angular/cdk/accordion';\nimport { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'eui-accordion',\n templateUrl: './eui-accordion.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: CdkAccordion,\n inputs: [ 'multi: isMulti' ],\n },\n ],\n})\nexport class EuiAccordionComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-accordion',\n ].join(' ').trim();\n }\n\n}\n","<ng-content></ng-content>\n","import { CdkAccordionItem } from '@angular/cdk/accordion';\nimport { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Directive, Output, EventEmitter } from '@angular/core';\nimport { consumeEvent } from '@eui/core';\nimport { euiAnimationCollapse } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-accordion-item',\n templateUrl: './eui-accordion-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: CdkAccordionItem,\n inputs: [\n 'expanded: isExpanded',\n ],\n },\n ],\n animations: [\n euiAnimationCollapse,\n ],\n})\nexport class EuiAccordionItemComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-accordion-item',\n ].join(' ').trim();\n }\n\n @Output() toggleItem = new EventEmitter<boolean>();\n\n constructor(\n protected accItem: CdkAccordionItem,\n ) {\n }\n\n onToggle(event: Event): void {\n this.accItem.toggle();\n this.toggleItem.emit(this.accItem.expanded);\n consumeEvent(event);\n }\n\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-accordion-item-header' })\nexport class EuiAccordionItemHeaderDirective{ }\n/* eslint-enable */\n","<button class=\"eui-accordion-item__header\" (click)=\"onToggle($event)\" (keydown.enter)=\"onToggle($event)\">\n <ng-content select=\"eui-accordion-item-header\"></ng-content>\n\n <div class=\"eui-accordion-item__header-expander\">\n @if (accItem.expanded) {\n <eui-icon-svg icon=\"eui-ecl-minus\" size=\"s\" fillColor=\"primary\"></eui-icon-svg>\n } @else {\n <eui-icon-svg icon=\"eui-ecl-plus\" size=\"s\" fillColor=\"primary\"></eui-icon-svg>\n }\n </div>\n</button>\n<div [@euiAnimationCollapse]=\"!accItem.expanded\" class=\"eui-accordion-item__body\">\n <ng-content></ng-content>\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CdkAccordionModule } from '@angular/cdk/accordion';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiAccordionComponent } from './eui-accordion.component';\nimport { EuiAccordionItemComponent, EuiAccordionItemHeaderDirective } from './eui-accordion-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n@NgModule({\n imports: [CommonModule, EuiIconModule, CdkAccordionModule, BaseStatesDirective],\n exports: [EuiAccordionComponent, EuiAccordionItemComponent, EuiAccordionItemHeaderDirective],\n declarations: [EuiAccordionComponent, EuiAccordionItemComponent, EuiAccordionItemHeaderDirective],\n})\nexport class EuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-alert.mjs","sources":["../../eui-alert/components/eui-alert-title.component.ts","../../eui-alert/eui-alert.component.ts","../../eui-alert/eui-alert.component.html","../../eui-alert/eui-alert.module.ts","../../eui-alert/eui-components-eui-alert.ts"],"sourcesContent":["import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'eui-alert-title',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAlertTitleComponent {\n // host binding class assignment for the content directive, avoiding extra DOM templates wrapper\n @HostBinding('class') class = 'eui-alert-title';\n}\n","import {\n Component,\n HostBinding,\n EventEmitter,\n Input,\n ChangeDetectionStrategy,\n Output,\n OnInit,\n ContentChild,\n forwardRef,\n QueryList,\n booleanAttribute,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiAlertTitleComponent } from './components/eui-alert-title.component';\n\n@Component({\n templateUrl: './eui-alert.component.html',\n selector: 'div[euiAlert], eui-alert',\n styleUrl: './styles/_index.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiAlertComponent implements OnInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-alert'),\n this.isMuted ? 'eui-alert--muted' : '',\n this.isFocusable ? 'eui-alert--focusable' : '',\n this.isCloseable ? 'eui-alert--closeable' : '',\n this.isBordered ? 'eui-alert--bordered': '',\n !this.isVisible ? 'eui-alert--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.role') role = 'alert';\n @HostBinding('attr.aria-describedby')\n @Input()\n get ariaDescribedBy(): string {\n return `alertContent-${this.uniqueId}`;\n }\n @HostBinding('attr.tabindex')\n get tabindex(): string {\n return this.isFocusable ? '0' : '-1';\n }\n\n @HostBinding('attr.data-e2e')\n @Input()\n e2eAttr = 'eui-alert';\n\n @Input({ transform: booleanAttribute }) isMuted = false;\n @Input({ transform: booleanAttribute }) isBordered = false;\n @Input({ transform: booleanAttribute }) isCloseable = false;\n @Input({ transform: booleanAttribute }) isFocusable = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n\n @Output() closeAlert = new EventEmitter<boolean>();\n\n @ContentChild(forwardRef(() => EuiAlertTitleComponent), { static: false }) alertTitle: QueryList<EuiAlertTitleComponent>;\n\n alertIconType: string;\n alertIconFillColor: string;\n\n private uniqueId: string;\n\n constructor(public baseStatesDirective: BaseStatesDirective) {}\n\n ngOnInit(): void {\n if (!this.baseStatesDirective.euiVariant) {\n this.baseStatesDirective.euiInfo = true;\n }\n this.uniqueId = crypto.randomUUID();\n }\n\n onCloseClick(): void {\n this.isVisible = false;\n this.closeAlert.emit(false);\n }\n}\n","@if (alertTitle) {\n <div class=\"eui-alert-container\">\n <div class=\"eui-alert-title-wrapper\">\n @if (!isMuted) {\n <ng-content *ngTemplateOutlet=\"icon\"/>\n }\n <ng-content select=\"eui-alert-title\"/>\n </div>\n <ng-content *ngTemplateOutlet=\"body\"/>\n </div>\n\n} @else {\n @if (!isMuted) {\n <ng-content *ngTemplateOutlet=\"icon\"/>\n }\n <ng-content *ngTemplateOutlet=\"body\"/>\n}\n\n<ng-template #icon>\n <eui-icon-state [euiVariant]=\"baseStatesDirective.euiVariant\" class=\"eui-alert-icon\"/>\n</ng-template>\n\n<ng-template #body>\n <div class=\"eui-alert-content\">\n <ng-content/>\n </div>\n</ng-template>\n\n@if (isCloseable) {\n <eui-icon-button class=\"eui-alert-close\"\n icon=\"close:outline\"\n euiRounded\n (buttonClick)=\"onCloseClick()\"\n fillColor=\"neutral-light\"\n ariaLabel=\"Close alert icon\"/>\n}\n","// Angular\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// 3rd party\nimport { TranslateModule } from '@ngx-translate/core';\n\n// eUI internals\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { EuiIconStateModule } from '@eui/components/eui-icon-state';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\n\nconst EUI_MODULES = [\n EuiIconModule, EuiLabelModule, EuiButtonModule, EuiIconStateModule, EuiIconButtonModule,\n];\n\n// component internals\nimport { EuiAlertComponent } from './eui-alert.component';\nimport { EuiAlertTitleComponent } from './components/eui-alert-title.component';\n\nconst COMPONENTS = [\n EuiAlertComponent, EuiAlertTitleComponent,\n];\n\n// component main module\n@NgModule({\n imports: [\n // Angular and 3rd party\n CommonModule, TranslateModule,\n // eUI internals\n BaseStatesDirective,\n ...EUI_MODULES,\n ],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\n// Always same naming convention for all : Eui[CMP_NAME]Module\nexport class EuiAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-alert.mjs","sources":["../../eui-alert/components/eui-alert-title.component.ts","../../eui-alert/eui-alert.component.ts","../../eui-alert/eui-alert.component.html","../../eui-alert/eui-alert.module.ts","../../eui-alert/eui-components-eui-alert.ts"],"sourcesContent":["import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'eui-alert-title',\n template: '<ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAlertTitleComponent {\n // host binding class assignment for the content directive, avoiding extra DOM templates wrapper\n @HostBinding('class') class = 'eui-alert-title';\n}\n","import {\n Component,\n HostBinding,\n EventEmitter,\n Input,\n ChangeDetectionStrategy,\n Output,\n OnInit,\n ContentChild,\n forwardRef,\n QueryList,\n booleanAttribute,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiAlertTitleComponent } from './components/eui-alert-title.component';\n\n@Component({\n templateUrl: './eui-alert.component.html',\n selector: 'div[euiAlert], eui-alert',\n styleUrl: './styles/_index.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiAlertComponent implements OnInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-alert'),\n this.isMuted ? 'eui-alert--muted' : '',\n this.isFocusable ? 'eui-alert--focusable' : '',\n this.isCloseable ? 'eui-alert--closeable' : '',\n this.isBordered ? 'eui-alert--bordered': '',\n !this.isVisible ? 'eui-alert--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.role') role = 'alert';\n @HostBinding('attr.aria-describedby')\n @Input()\n get ariaDescribedBy(): string {\n return `alertContent-${this.uniqueId}`;\n }\n @HostBinding('attr.tabindex')\n get tabindex(): string {\n return this.isFocusable ? '0' : '-1';\n }\n\n @HostBinding('attr.data-e2e')\n @Input()\n e2eAttr = 'eui-alert';\n\n @Input({ transform: booleanAttribute }) isMuted = false;\n @Input({ transform: booleanAttribute }) isBordered = false;\n @Input({ transform: booleanAttribute }) isCloseable = false;\n @Input({ transform: booleanAttribute }) isFocusable = false;\n @Input({ transform: booleanAttribute }) isVisible = true;\n\n @Output() closeAlert = new EventEmitter<boolean>();\n\n @ContentChild(forwardRef(() => EuiAlertTitleComponent), { static: false }) alertTitle: QueryList<EuiAlertTitleComponent>;\n\n alertIconType: string;\n alertIconFillColor: string;\n\n private uniqueId: string;\n\n constructor(public baseStatesDirective: BaseStatesDirective) {}\n\n ngOnInit(): void {\n if (!this.baseStatesDirective.euiVariant) {\n this.baseStatesDirective.euiInfo = true;\n }\n this.uniqueId = crypto.randomUUID();\n }\n\n onCloseClick(): void {\n this.isVisible = false;\n this.closeAlert.emit(false);\n }\n}\n","@if (alertTitle) {\n <div class=\"eui-alert-container\">\n <div class=\"eui-alert-title-wrapper\">\n @if (!isMuted) {\n <ng-content *ngTemplateOutlet=\"icon\"/>\n }\n <ng-content select=\"eui-alert-title\"/>\n </div>\n <ng-content *ngTemplateOutlet=\"body\"/>\n </div>\n\n} @else {\n @if (!isMuted) {\n <ng-content *ngTemplateOutlet=\"icon\"/>\n }\n <ng-content *ngTemplateOutlet=\"body\"/>\n}\n\n<ng-template #icon>\n <eui-icon-state [euiVariant]=\"baseStatesDirective.euiVariant\" class=\"eui-alert-icon\"/>\n</ng-template>\n\n<ng-template #body>\n <div class=\"eui-alert-content\">\n <ng-content/>\n </div>\n</ng-template>\n\n@if (isCloseable) {\n <eui-icon-button class=\"eui-alert-close\"\n icon=\"close:outline\"\n euiRounded\n (buttonClick)=\"onCloseClick()\"\n fillColor=\"neutral-light\"\n ariaLabel=\"Close alert icon\"/>\n}\n","// Angular\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// 3rd party\nimport { TranslateModule } from '@ngx-translate/core';\n\n// eUI internals\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\nimport { EuiIconStateModule } from '@eui/components/eui-icon-state';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\n\nconst EUI_MODULES = [\n EuiIconModule, EuiLabelModule, EuiButtonModule, EuiIconStateModule, EuiIconButtonModule,\n];\n\n// component internals\nimport { EuiAlertComponent } from './eui-alert.component';\nimport { EuiAlertTitleComponent } from './components/eui-alert-title.component';\n\nconst COMPONENTS = [\n EuiAlertComponent, EuiAlertTitleComponent,\n];\n\n// component main module\n@NgModule({\n imports: [\n // Angular and 3rd party\n CommonModule, TranslateModule,\n // eUI internals\n BaseStatesDirective,\n ...EUI_MODULES,\n ],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\n// Always same naming convention for all : Eui[CMP_NAME]Module\nexport class EuiAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -497,9 +497,15 @@ class EuiAutocompleteComponent {
497
497
  this.add(this.autocompleteControl.value.trim());
498
498
  }
499
499
  if (this.isForceSelection) {
500
- this.input.nativeElement.value = '';
501
- this.autocompleteControl.setValue(null, { emitEvent: false });
502
- this.setOptions('', this.isItemsSorted);
500
+ const foundItem = this.autocompleteData.find((d) => d.label.toLowerCase().trim() === this.autocompleteControl.value?.toLowerCase().trim());
501
+ if (this.hasChips || (!this.hasChips && !foundItem)) {
502
+ this.input.nativeElement.value = '';
503
+ this.autocompleteControl.setValue(null, { emitEvent: false });
504
+ this.setOptions('', this.isItemsSorted);
505
+ if (!this.hasChips) {
506
+ this.autocompleteDataSelected = [];
507
+ }
508
+ }
503
509
  }
504
510
  this.closePanel();
505
511
  }
@@ -518,9 +524,15 @@ class EuiAutocompleteComponent {
518
524
  if (this.isForceSelection) {
519
525
  this.isForceSelectionSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event) => {
520
526
  if (!event.target.classList.contains('eui-autocomplete-option')) {
521
- this.input.nativeElement.value = '';
522
- this.autocompleteControl.setValue(null, { emitEvent: false });
523
- this.setOptions('', this.isItemsSorted);
527
+ const foundItem = this.autocompleteData.find((d) => d.label.toLowerCase().trim() === this.autocompleteControl.value?.toLowerCase().trim());
528
+ if (this.hasChips || (!this.hasChips && !foundItem)) {
529
+ this.input.nativeElement.value = '';
530
+ this.autocompleteControl.setValue(null, { emitEvent: false });
531
+ this.setOptions('', this.isItemsSorted);
532
+ if (!this.hasChips) {
533
+ this.autocompleteDataSelected = [];
534
+ }
535
+ }
524
536
  }
525
537
  });
526
538
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/validators/force-selection-from-data.validator.ts","../../eui-autocomplete/animations/animations.ts","../../eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.ts","../../eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.html","../../eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.ts","../../eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.html","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { 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 * @usageNotes\n * ```typescript\n * autocompleteData: EuiAutoCompleteItem[] = [\n * { id: 1, label: 'Ananas' },\n * { id: 2, label: 'Apple' },\n * { id: 3, label: 'Banana' },\n * ]\n * const autocomplete = new FormControl({ label: 'abcdef' }, euiAutocompleteForceSelectionFromData);\n * console.log(autocomplete.errors); // { isInData: { isInData: false, invalidValues: { label: 'abcdef' } } }\n * ```\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 { 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 { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-autocomplete-option',\n templateUrl: './eui-autocomplete-option.component.html',\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 @HostBinding('attr.role') role = 'option';\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 @Input({ transform: booleanAttribute }) isActive = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isGroupItem = false;\n\n constructor(private baseStatesDirective: BaseStatesDirective) {}\n\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-autocomplete-option-group',\n templateUrl: './eui-autocomplete-option-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteOptionGroupComponent {\n @HostBinding('attr.role') role = 'optgroup';\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-autocomplete-option-group'].join(' ').trim();\n }\n\n @Input() label: string;\n\n}\n","<ng-content></ng-content>\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 { isPlatformBrowser } from '@angular/common';\nimport { ControlValueAccessor, FormControl, NgControl, Validators } from '@angular/forms';\nimport { BehaviorSubject, Subject, Subscription, filter, fromEvent, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayRef, PositionStrategy, RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { CdkScrollable, CdkVirtualScrollViewport, ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\n\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiChipDragDrop } from '@eui/components/eui-chip-list';\nimport { EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\nimport { panelAnimation } from './animations/animations';\nimport { BaseStatesDirective } from '@eui/components/shared';\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 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 @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 @Input() inputId: string;\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() visibleOptions = 5;\n @Input() matching: 'startWith' | 'contains' = 'contains';\n @Input() placeholder = '';\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n @Input() groupBy: string;\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() classList: string = null;\n @Input() panelWidth: string | number;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n @Input({ transform: booleanAttribute }) isFreeValueAllowed = true;\n @Input({ transform: booleanAttribute }) isReadonly = false;\n @Input({ transform: booleanAttribute }) isLoading = false;\n @Input({ transform: booleanAttribute }) hasChips = false;\n @Input({ transform: booleanAttribute }) isAsync = false;\n @Input({ transform: booleanAttribute }) isChipsSorted = false;\n @Input({ transform: booleanAttribute }) isItemsSorted = false;\n @Input({ transform: booleanAttribute }) isChipsRemovable = true;\n @Input({ transform: booleanAttribute }) isDuplicateValueAllowed = false;\n @Input({ transform: booleanAttribute }) isAddOnBlur = false;\n @Input({ transform: booleanAttribute }) isForceSelection = false;\n @Input({ transform: numberAttribute }) maxVisibleChipsCount = null;\n @Input({ transform: numberAttribute }) chipsLabelTruncateCount = null;\n @Input({ transform: booleanAttribute }) isMaxVisibleChipsOpened = false;\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 @Output() panelClose = new EventEmitter();\n @Output() panelOpen = new EventEmitter();\n @Output() inputFocus = new EventEmitter();\n @Output() inputBlur = new EventEmitter();\n @Output() clear = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n 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 fromEvent(this.elementRef.nativeElement, 'focus')\n\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 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 this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\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 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 get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n get hasOptionsResult(): boolean {\n return this.autocompleteOptions.value.length > 0;\n }\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-18')) {\n el.classList.add('eui-18');\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 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 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 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 this.isDisabled = isDisabled;\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 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 public onBlur(): void {\n this.keyboardSubscription.unsubscribe();\n this.inputBlur.emit();\n this.onTouch();\n }\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 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 public onChipDragStarted(e: EuiChipDragDrop): void {\n this.chipDragStart.emit(e);\n }\n\n public onChipDragReleased(e: EuiChipDragDrop): void {\n this.chipDragRelease.emit(e);\n }\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 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 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 private getScrollStrategy(): RepositionScrollStrategy {\n return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n }\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 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 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 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 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 <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n </ng-template>\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 <div *ngIf=\"!hasChips || (hasChips && !isReadonly)\" 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</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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/eui-icon';\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@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n OverlayModule,\n EuiInputTextModule,\n ScrollingModule,\n A11yModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n ],\n declarations: [\n EuiAutocompleteComponent,\n EuiAutocompleteOptionComponent,\n EuiAutocompleteOptionGroupComponent,\n ],\n exports: [EuiAutocompleteComponent],\n})\nexport class EuiAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5","i11.EuiAutocompleteOptionComponent","i12.EuiAutocompleteOptionGroupComponent"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/validators/force-selection-from-data.validator.ts","../../eui-autocomplete/animations/animations.ts","../../eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.ts","../../eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.html","../../eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.ts","../../eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.html","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { 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 * @usageNotes\n * ```typescript\n * autocompleteData: EuiAutoCompleteItem[] = [\n * { id: 1, label: 'Ananas' },\n * { id: 2, label: 'Apple' },\n * { id: 3, label: 'Banana' },\n * ]\n * const autocomplete = new FormControl({ label: 'abcdef' }, euiAutocompleteForceSelectionFromData);\n * console.log(autocomplete.errors); // { isInData: { isInData: false, invalidValues: { label: 'abcdef' } } }\n * ```\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 { 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 { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-autocomplete-option',\n templateUrl: './eui-autocomplete-option.component.html',\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 @HostBinding('attr.role') role = 'option';\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 @Input({ transform: booleanAttribute }) isActive = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isGroupItem = false;\n\n constructor(private baseStatesDirective: BaseStatesDirective) {}\n\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-autocomplete-option-group',\n templateUrl: './eui-autocomplete-option-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteOptionGroupComponent {\n @HostBinding('attr.role') role = 'optgroup';\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-autocomplete-option-group'].join(' ').trim();\n }\n\n @Input() label: string;\n\n}\n","<ng-content></ng-content>\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 { isPlatformBrowser } from '@angular/common';\nimport { ControlValueAccessor, FormControl, NgControl, Validators } from '@angular/forms';\nimport { BehaviorSubject, Subject, Subscription, filter, fromEvent, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayRef, PositionStrategy, RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { CdkScrollable, CdkVirtualScrollViewport, ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\n\nimport { EuiAppShellService } from '@eui/core';\nimport { EuiChipDragDrop } from '@eui/components/eui-chip-list';\nimport { EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\nimport { panelAnimation } from './animations/animations';\nimport { BaseStatesDirective } from '@eui/components/shared';\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 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 @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 @Input() inputId: string;\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() visibleOptions = 5;\n @Input() matching: 'startWith' | 'contains' = 'contains';\n @Input() placeholder = '';\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n @Input() groupBy: string;\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() classList: string = null;\n @Input() panelWidth: string | number;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n @Input({ transform: booleanAttribute }) isFreeValueAllowed = true;\n @Input({ transform: booleanAttribute }) isReadonly = false;\n @Input({ transform: booleanAttribute }) isLoading = false;\n @Input({ transform: booleanAttribute }) hasChips = false;\n @Input({ transform: booleanAttribute }) isAsync = false;\n @Input({ transform: booleanAttribute }) isChipsSorted = false;\n @Input({ transform: booleanAttribute }) isItemsSorted = false;\n @Input({ transform: booleanAttribute }) isChipsRemovable = true;\n @Input({ transform: booleanAttribute }) isDuplicateValueAllowed = false;\n @Input({ transform: booleanAttribute }) isAddOnBlur = false;\n @Input({ transform: booleanAttribute }) isForceSelection = false;\n @Input({ transform: numberAttribute }) maxVisibleChipsCount = null;\n @Input({ transform: numberAttribute }) chipsLabelTruncateCount = null;\n @Input({ transform: booleanAttribute }) isMaxVisibleChipsOpened = false;\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 @Output() panelClose = new EventEmitter();\n @Output() panelOpen = new EventEmitter();\n @Output() inputFocus = new EventEmitter();\n @Output() inputBlur = new EventEmitter();\n @Output() clear = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n 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 fromEvent(this.elementRef.nativeElement, 'focus')\n\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 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 this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\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 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 get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n get hasOptionsResult(): boolean {\n return this.autocompleteOptions.value.length > 0;\n }\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-18')) {\n el.classList.add('eui-18');\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 const foundItem = this.autocompleteData.find((d) => d.label.toLowerCase().trim() === this.autocompleteControl.value?.toLowerCase().trim());\n if (this.hasChips || (!this.hasChips && !foundItem)) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n\n if (!this.hasChips) {\n this.autocompleteDataSelected = [];\n }\n }\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 const foundItem = this.autocompleteData.find((d) => d.label.toLowerCase().trim() === this.autocompleteControl.value?.toLowerCase().trim());\n if (this.hasChips || (!this.hasChips && !foundItem)) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n\n if (!this.hasChips) {\n this.autocompleteDataSelected = [];\n }\n } \n }\n });\n }\n\n this.isOpen$.next(true);\n this.panelOpen.emit();\n }\n }\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 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 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 this.isDisabled = isDisabled;\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 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 public onBlur(): void {\n this.keyboardSubscription.unsubscribe();\n this.inputBlur.emit();\n this.onTouch();\n }\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 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 public onChipDragStarted(e: EuiChipDragDrop): void {\n this.chipDragStart.emit(e);\n }\n\n public onChipDragReleased(e: EuiChipDragDrop): void {\n this.chipDragRelease.emit(e);\n }\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 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 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 private getScrollStrategy(): RepositionScrollStrategy {\n return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n }\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 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 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 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 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 <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n </ng-template>\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 <div *ngIf=\"!hasChips || (hasChips && !isReadonly)\" 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</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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/eui-icon';\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@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n OverlayModule,\n EuiInputTextModule,\n ScrollingModule,\n A11yModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n ],\n declarations: [\n EuiAutocompleteComponent,\n EuiAutocompleteOptionComponent,\n EuiAutocompleteOptionGroupComponent,\n ],\n exports: [EuiAutocompleteComponent],\n})\nexport class EuiAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5","i11.EuiAutocompleteOptionComponent","i12.EuiAutocompleteOptionGroupComponent"],"mappings":"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"}