@eui/components 17.0.0-next.24 → 17.0.0-next.25

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 (224) hide show
  1. package/docs/classes/EuiAutoCompleteItem.html +1 -1
  2. package/docs/components/ChartComponent.html +1 -1
  3. package/docs/components/CollapsedBreadcrumbComponent.html +1 -1
  4. package/docs/components/EclMessageWcComponent.html +1 -1
  5. package/docs/components/EuiAccessibleButtonIconComponent.html +2 -2
  6. package/docs/components/EuiAlertComponent.html +1 -1
  7. package/docs/components/EuiAppBreadcrumbComponent.html +1 -1
  8. package/docs/components/EuiAppComponent.html +1 -1
  9. package/docs/components/EuiAppFooterComponent.html +1 -1
  10. package/docs/components/EuiAppHeaderComponent.html +1 -1
  11. package/docs/components/EuiAppSidebarBodyComponent.html +1 -1
  12. package/docs/components/EuiAppSidebarComponent.html +1 -1
  13. package/docs/components/EuiAppSidebarDrawerComponent.html +1 -1
  14. package/docs/components/EuiAppSidebarFooterComponent.html +1 -1
  15. package/docs/components/EuiAppSidebarHeaderComponent.html +1 -1
  16. package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +1 -1
  17. package/docs/components/EuiAppSidebarMenuComponent.html +1 -1
  18. package/docs/components/EuiAppToolbarComponent.html +1 -1
  19. package/docs/components/EuiAppTopMessageComponent.html +1 -1
  20. package/docs/components/EuiAutocompleteAsyncTestComponent.html +5 -4
  21. package/docs/components/EuiAutocompleteChipsAsyncTestComponent.html +3 -3
  22. package/docs/components/EuiAutocompleteChipsTestComponent.html +3 -4
  23. package/docs/components/EuiAutocompleteComponent.html +621 -2340
  24. package/docs/components/EuiAutocompleteOptionComponent.html +531 -0
  25. package/docs/components/EuiAutocompleteOptionGroupComponent.html +427 -0
  26. package/docs/components/EuiAutocompleteTestComponent.html +10 -9
  27. package/docs/components/EuiAvatarBadgeComponent.html +1 -1
  28. package/docs/components/EuiAvatarComponent.html +1 -1
  29. package/docs/components/EuiAvatarIconComponent.html +1 -1
  30. package/docs/components/EuiAvatarImageComponent.html +1 -1
  31. package/docs/components/EuiAvatarListComponent.html +1 -1
  32. package/docs/components/EuiAvatarTextComponent.html +1 -1
  33. package/docs/components/EuiBadgeComponent.html +1 -1
  34. package/docs/components/EuiBlockContentComponent.html +1 -1
  35. package/docs/components/EuiBlockDocumentComponent.html +1 -1
  36. package/docs/components/EuiBreadcrumbComponent.html +1 -1
  37. package/docs/components/EuiBreadcrumbItemComponent.html +1 -1
  38. package/docs/components/EuiButtonComponent.html +1 -1
  39. package/docs/components/EuiButtonGroupComponent.html +1 -1
  40. package/docs/components/EuiButtonsComponent.html +1 -1
  41. package/docs/components/EuiCardComponent.html +1 -1
  42. package/docs/components/EuiCardContentComponent.html +1 -1
  43. package/docs/components/EuiCardFooterActionButtonsComponent.html +1 -1
  44. package/docs/components/EuiCardFooterActionIconsComponent.html +1 -1
  45. package/docs/components/EuiCardFooterComponent.html +1 -1
  46. package/docs/components/EuiCardFooterMenuContentComponent.html +1 -1
  47. package/docs/components/EuiCardHeaderBodyComponent.html +1 -1
  48. package/docs/components/EuiCardHeaderComponent.html +1 -1
  49. package/docs/components/EuiCardHeaderLeftContentComponent.html +1 -1
  50. package/docs/components/EuiCardHeaderRightContentComponent.html +1 -1
  51. package/docs/components/EuiCardHeaderSubtitleComponent.html +1 -1
  52. package/docs/components/EuiCardHeaderTitleComponent.html +1 -1
  53. package/docs/components/EuiCardMediaComponent.html +1 -1
  54. package/docs/components/EuiChipComponent.html +1 -1
  55. package/docs/components/EuiChipListComponent.html +1 -1
  56. package/docs/components/EuiCommonHeaderComponent.html +1 -1
  57. package/docs/components/EuiDashboardButtonComponent.html +1 -1
  58. package/docs/components/EuiDashboardCardComponent.html +1 -1
  59. package/docs/components/EuiDateRangeSelectorComponent.html +1 -1
  60. package/docs/components/EuiDatepickerComponent.html +1 -1
  61. package/docs/components/EuiDialogComponent.html +1 -1
  62. package/docs/components/EuiDialogContainerComponent.html +1 -1
  63. package/docs/components/EuiDimmerComponent.html +1 -1
  64. package/docs/components/EuiDisableContentComponent.html +1 -1
  65. package/docs/components/EuiDiscussionThreadComponent.html +1 -1
  66. package/docs/components/EuiDiscussionThreadItemComponent.html +1 -1
  67. package/docs/components/EuiDropdownComponent.html +1 -1
  68. package/docs/components/EuiDropdownItemComponent.html +1 -1
  69. package/docs/components/EuiEclBannerComponent.html +1 -1
  70. package/docs/components/EuiEclButtonComponent.html +1 -1
  71. package/docs/components/EuiEclCarouselComponent.html +1 -1
  72. package/docs/components/EuiEclCarouselItemComponent.html +1 -1
  73. package/docs/components/EuiEclIconComponent.html +1 -1
  74. package/docs/components/EuiEclMessageComponent.html +1 -1
  75. package/docs/components/EuiEditorComponent.html +1 -1
  76. package/docs/components/EuiEditorCountersComponent.html +1 -1
  77. package/docs/components/EuiEditorHtmlViewComponent.html +1 -1
  78. package/docs/components/EuiEditorImageDialogComponent.html +1 -1
  79. package/docs/components/EuiEditorJsonViewComponent.html +1 -1
  80. package/docs/components/EuiExpandContentComponent.html +1 -1
  81. package/docs/components/EuiFeedbackMessageComponent.html +1 -1
  82. package/docs/components/EuiFieldsetComponent.html +1 -1
  83. package/docs/components/EuiFilePreviewComponent.html +1 -1
  84. package/docs/components/EuiFileUploadComponent.html +1 -1
  85. package/docs/components/EuiFileUploadProgressComponent.html +1 -1
  86. package/docs/components/EuiFooterComponent.html +1 -1
  87. package/docs/components/EuiGrowlComponent.html +1 -1
  88. package/docs/components/EuiHeaderAppComponent.html +1 -1
  89. package/docs/components/EuiHeaderAppNameComponent.html +1 -1
  90. package/docs/components/EuiHeaderAppNameLogoComponent.html +1 -1
  91. package/docs/components/EuiHeaderAppSubtitleComponent.html +1 -1
  92. package/docs/components/EuiHeaderComponent.html +1 -1
  93. package/docs/components/EuiHeaderEnvironmentComponent.html +1 -1
  94. package/docs/components/EuiHeaderLogoComponent.html +1 -1
  95. package/docs/components/EuiHeaderUserProfileComponent.html +1 -1
  96. package/docs/components/EuiIconColorComponent.html +1 -1
  97. package/docs/components/EuiIconComponent.html +1 -1
  98. package/docs/components/EuiIconSvgComponent.html +1 -1
  99. package/docs/components/EuiIconToggleComponent.html +1 -1
  100. package/docs/components/EuiInputCheckboxComponent.html +1 -1
  101. package/docs/components/EuiInputGroupComponent.html +1 -1
  102. package/docs/components/EuiInputNumberComponent.html +1 -1
  103. package/docs/components/EuiInputRadioComponent.html +1 -1
  104. package/docs/components/EuiInputTextComponent.html +1 -1
  105. package/docs/components/EuiLabelComponent.html +1 -1
  106. package/docs/components/EuiLanguageSelectorComponent.html +1 -1
  107. package/docs/components/EuiListComponent.html +1 -1
  108. package/docs/components/EuiListItemComponent.html +1 -1
  109. package/docs/components/EuiMenuComponent.html +1 -1
  110. package/docs/components/EuiMenuItemComponent.html +1 -1
  111. package/docs/components/EuiMessageBoxComponent.html +1 -1
  112. package/docs/components/EuiModalSelectorComponent.html +1 -1
  113. package/docs/components/EuiNotificationItemComponent.html +1 -1
  114. package/docs/components/EuiNotificationItemV2Component.html +1 -1
  115. package/docs/components/EuiNotificationsComponent.html +1 -1
  116. package/docs/components/EuiNotificationsV2Component.html +1 -1
  117. package/docs/components/EuiOverlayBodyComponent.html +1 -1
  118. package/docs/components/EuiOverlayComponent.html +1 -1
  119. package/docs/components/EuiOverlayFooterComponent.html +1 -1
  120. package/docs/components/EuiOverlayHeaderComponent.html +1 -1
  121. package/docs/components/EuiOverlayHeaderTitleComponent.html +1 -1
  122. package/docs/components/EuiPageBreadcrumbComponent.html +1 -1
  123. package/docs/components/EuiPageColumnComponent.html +1 -1
  124. package/docs/components/EuiPageColumnsComponent.html +1 -1
  125. package/docs/components/EuiPageComponent.html +1 -1
  126. package/docs/components/EuiPageContentComponent.html +1 -1
  127. package/docs/components/EuiPageFooterComponent.html +1 -1
  128. package/docs/components/EuiPageHeaderComponent.html +1 -1
  129. package/docs/components/EuiPageHeroHeaderComponent.html +1 -1
  130. package/docs/components/EuiPageTopContentComponent.html +1 -1
  131. package/docs/components/EuiPaginatorComponent.html +1 -1
  132. package/docs/components/EuiPopoverComponent.html +1 -1
  133. package/docs/components/EuiProgressBarComponent.html +1 -1
  134. package/docs/components/EuiProgressCircleComponent.html +1 -1
  135. package/docs/components/EuiResizableComponent.html +1 -1
  136. package/docs/components/EuiSearchComponent.html +1 -1
  137. package/docs/components/EuiSelectComponent.html +1 -1
  138. package/docs/components/EuiSidebarMenuComponent.html +1 -1
  139. package/docs/components/EuiSidebarToggleComponent.html +1 -1
  140. package/docs/components/EuiSlideToggleComponent.html +1 -1
  141. package/docs/components/EuiSlideToggleTestComponent.html +1 -1
  142. package/docs/components/EuiTabComponent.html +1 -1
  143. package/docs/components/EuiTabContentComponent.html +1 -1
  144. package/docs/components/EuiTabLabelComponent.html +1 -1
  145. package/docs/components/EuiTableComponent.html +1 -1
  146. package/docs/components/EuiTableExpandableRowComponent.html +1 -1
  147. package/docs/components/EuiTableFilterComponent.html +1 -1
  148. package/docs/components/EuiTableSelectableHeaderComponent.html +1 -1
  149. package/docs/components/EuiTableSelectableRowComponent.html +1 -1
  150. package/docs/components/EuiTableSortableColComponent.html +1 -1
  151. package/docs/components/EuiTabsComponent.html +1 -1
  152. package/docs/components/EuiTextareaComponent.html +1 -1
  153. package/docs/components/EuiTimebarComponent.html +1 -1
  154. package/docs/components/EuiTimelineComponent.html +1 -1
  155. package/docs/components/EuiTimelineItemComponent.html +1 -1
  156. package/docs/components/EuiTimepickerComponent.html +1 -1
  157. package/docs/components/EuiToolbarAppComponent.html +1 -1
  158. package/docs/components/EuiToolbarCenterComponent.html +1 -1
  159. package/docs/components/EuiToolbarComponent.html +1 -1
  160. package/docs/components/EuiToolbarEnvironmentComponent.html +1 -1
  161. package/docs/components/EuiToolbarItemComponent.html +1 -1
  162. package/docs/components/EuiToolbarItemNotificationsComponent.html +1 -1
  163. package/docs/components/EuiToolbarItemSearchComponent.html +1 -1
  164. package/docs/components/EuiToolbarItemUserProfileComponent.html +1 -1
  165. package/docs/components/EuiToolbarItemsComponent.html +1 -1
  166. package/docs/components/EuiToolbarLogoComponent.html +1 -1
  167. package/docs/components/EuiToolbarMenuComponent.html +1 -1
  168. package/docs/components/EuiTooltipContainerComponent.html +1 -1
  169. package/docs/components/EuiTreeComponent.html +1 -1
  170. package/docs/components/EuiTreeListComponent.html +1 -1
  171. package/docs/components/EuiTreeListItemComponent.html +1 -1
  172. package/docs/components/EuiTreeListItemContentComponent.html +1 -1
  173. package/docs/components/EuiTreeListToolbarComponent.html +1 -1
  174. package/docs/components/EuiUserProfileCardComponent.html +1 -1
  175. package/docs/components/EuiUserProfileComponent.html +1 -1
  176. package/docs/components/EuiUserProfileMenuComponent.html +1 -1
  177. package/docs/components/EuiUserProfileMenuItemComponent.html +1 -1
  178. package/docs/components/EuiUxTreeComponent.html +1 -1
  179. package/docs/components/EuiUxTreeNodeComponent.html +1 -1
  180. package/docs/components/EuiUxTreeToolbarComponent.html +1 -1
  181. package/docs/components/EuiWizardComponent.html +1 -1
  182. package/docs/components/EuiWizardStepComponent.html +1 -1
  183. package/docs/components/QuillEditorComponent.html +1 -1
  184. package/docs/dependencies.html +2 -2
  185. package/docs/index.html +1 -1
  186. package/docs/js/menu-wc.js +9 -3
  187. package/docs/js/menu-wc_es5.js +1 -1
  188. package/docs/js/search/search_index.js +2 -2
  189. package/docs/miscellaneous/variables.html +83 -0
  190. package/docs/modules/EuiAutocompleteModule.html +6 -3
  191. package/esm2022/eui-autocomplete/animations/animations.mjs +15 -0
  192. package/esm2022/eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.mjs +60 -0
  193. package/esm2022/eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.mjs +25 -0
  194. package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +627 -560
  195. package/esm2022/eui-autocomplete/eui-autocomplete.module.mjs +29 -21
  196. package/esm2022/eui-autocomplete/index.mjs +2 -1
  197. package/esm2022/eui-autocomplete/models/eui-autocomplete-item.model.mjs +1 -3
  198. package/esm2022/eui-autocomplete/validators/force-selection-from-data.validator.mjs +27 -0
  199. package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +2 -2
  200. package/esm2022/eui-dropdown/eui-dropdown.component.mjs +3 -3
  201. package/esm2022/shared/eui-accessible-button-icon/eui-accessible-button-icon.component.mjs +3 -3
  202. package/eui-autocomplete/animations/animations.d.ts +3 -0
  203. package/eui-autocomplete/animations/animations.d.ts.map +1 -0
  204. package/eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.d.ts +16 -0
  205. package/eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.d.ts.map +1 -0
  206. package/eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.d.ts +9 -0
  207. package/eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.d.ts.map +1 -0
  208. package/eui-autocomplete/eui-autocomplete.component.d.ts +111 -137
  209. package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
  210. package/eui-autocomplete/eui-autocomplete.module.d.ts +11 -9
  211. package/eui-autocomplete/eui-autocomplete.module.d.ts.map +1 -1
  212. package/eui-autocomplete/index.d.ts +1 -0
  213. package/eui-autocomplete/index.d.ts.map +1 -1
  214. package/eui-autocomplete/models/eui-autocomplete-item.model.d.ts +2 -2
  215. package/eui-autocomplete/models/eui-autocomplete-item.model.d.ts.map +1 -1
  216. package/eui-autocomplete/validators/force-selection-from-data.validator.d.ts +27 -0
  217. package/eui-autocomplete/validators/force-selection-from-data.validator.d.ts.map +1 -0
  218. package/fesm2022/eui-components-eui-autocomplete.mjs +765 -578
  219. package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
  220. package/fesm2022/eui-components-eui-dropdown.mjs +4 -4
  221. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  222. package/fesm2022/eui-components-shared.mjs +2 -2
  223. package/fesm2022/eui-components-shared.mjs.map +1 -1
  224. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/models/eui-autocomplete-item.model.ts","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { EuiChipTooltip } from '@eui/components/eui-chip';\n\n// TODO: on v17 replace any with no object as a type and declare it as breaking change\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EuiAutoCompleteItem<METADATA = any> {\n id: string | number;\n euiInternalId: string;\n label: string;\n typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger';\n sizeClass: 'euiSizeS' | 'euiSizeM' | 'euiSizeL' | 'euiSizeXL' | 'euiSize2XL';\n iconClass: string;\n isRemovable: boolean;\n isOutline: boolean;\n isRounded: boolean;\n dragAndDropSource: string;\n isDisabled = false;\n tooltip?: EuiChipTooltip;\n metadata?: METADATA;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n OnDestroy,\n ElementRef,\n ViewChild,\n OnChanges,\n ChangeDetectorRef,\n Output,\n EventEmitter,\n SimpleChanges,\n QueryList,\n AfterViewInit,\n TemplateRef,\n ContentChildren,\n HostBinding,\n Self,\n Optional,\n DoCheck,\n} from '@angular/core';\nimport { FormControl, ControlValueAccessor, NgControl } from '@angular/forms';\nimport { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { skip, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject, BehaviorSubject, of, Observable, Subscription, fromEvent, filter } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { CdkScrollable, ScrollDispatcher, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiChipDragDrop, EuiChipListComponent } from '@eui/components/eui-chip-list';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\n\n@Component({\n templateUrl: './eui-autocomplete.component.html',\n selector: 'eui-autocomplete, input[euiAutocomplete]',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteComponent\n extends BaseDirective\n implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() placeholder = '';\n @Input() matching: 'startWith' | 'contains' = 'contains';\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n @Input() panelWidth: string | number;\n @Input() visibleOptions = 5;\n @Input() classList: string;\n @Input() groupBy: string;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n // euiInputText does not send event when the the field is cleared\n @Output() clear = new EventEmitter();\n @Output() panelClose = new EventEmitter();\n @Output() panelOpen = new EventEmitter();\n @Output() inputBlur = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [this.hasChips ? 'eui-autocomplete--has-chips' : '', super.getCssClasses('eui-autocomplete')].join(' ').trim();\n }\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('autocompleteInput', { read: ElementRef }) autocompleteInput: ElementRef<HTMLInputElement>;\n @ViewChild('autocompleteInputTrigger', { read: MatAutocompleteTrigger }) autocompleteInputTrigger: MatAutocompleteTrigger;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n @ViewChild('chipList') chipList: EuiChipListComponent;\n @ViewChild('virtualScrolling') virtualScrolling: CdkVirtualScrollViewport;\n\n public autocompleteOptionTemplate: TemplateRef<{ $implicit: { label: string } }>;\n public autocompleteOptGroupTemplate: TemplateRef<{ $implicit: { label: string } }>;\n public separatorKeysCodes: number[] = [ENTER, COMMA];\n public autocompleteControl = new FormControl();\n public autocompleteOptions: BehaviorSubject<EuiAutoCompleteItem[]> = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedItems: { [id: string]: Observable<EuiAutoCompleteItem[]> };\n public autocompleteId = `eui-autocomplete-${uniqueId()}`;\n public isDisabled = false;\n public selectedOptionIndex = -1;\n public itemSize = 48;\n\n @Input()\n get hasChips(): boolean {\n return this._hasChips;\n }\n set hasChips(value: BooleanInput) {\n this._hasChips = coerceBooleanProperty(value);\n }\n private _hasChips = false;\n @Input()\n get isGrid(): boolean {\n return this._isGrid;\n }\n set isGrid(value: BooleanInput) {\n this._isGrid = coerceBooleanProperty(value);\n }\n private _isGrid = true;\n @Input()\n get async(): boolean {\n return this._async;\n }\n set async(value: BooleanInput) {\n this._async = coerceBooleanProperty(value);\n }\n private _async = false;\n @Input()\n get addOnBlur(): boolean {\n return this._addOnBlur;\n }\n set addOnBlur(value: BooleanInput) {\n this._addOnBlur = coerceBooleanProperty(value);\n }\n private _addOnBlur = false;\n @Input()\n get isFreeValueAllowed(): boolean {\n return this._isFreeValueAllowed;\n }\n set isFreeValueAllowed(value: BooleanInput) {\n this._isFreeValueAllowed = coerceBooleanProperty(value);\n }\n private _isFreeValueAllowed = true;\n @Input()\n get isDuplicateValueAllowed(): boolean {\n return this._isDuplicateValueAllowed;\n }\n set isDuplicateValueAllowed(value: BooleanInput) {\n this._isDuplicateValueAllowed = coerceBooleanProperty(value);\n }\n private _isDuplicateValueAllowed = false;\n @Input()\n get isLoading(): boolean {\n return this._isLoading;\n }\n set isLoading(value: BooleanInput) {\n this._isLoading = coerceBooleanProperty(value);\n }\n private _isLoading = false;\n @Input()\n get isChipsRemovable(): boolean {\n return this._isChipsRemovable;\n }\n set isChipsRemovable(value: BooleanInput) {\n this._isChipsRemovable = coerceBooleanProperty(value);\n }\n private _isChipsRemovable = true;\n @Input()\n get maxVisibleChipsCount(): number {\n return this._maxVisibleChipsCount;\n }\n set maxVisibleChipsCount(value: NumberInput) {\n this._maxVisibleChipsCount = coerceNumberProperty(value);\n }\n private _maxVisibleChipsCount = null;\n @Input()\n get chipsLabelTruncateCount(): number {\n return this._chipsLabelTruncateCount;\n }\n set chipsLabelTruncateCount(value: NumberInput) {\n this._chipsLabelTruncateCount = coerceNumberProperty(value);\n }\n private _chipsLabelTruncateCount = null;\n @Input()\n get isMaxVisibleChipsOpened(): boolean {\n return this._isMaxVisibleChipsOpened;\n }\n set isMaxVisibleChipsOpened(value: BooleanInput) {\n this._isMaxVisibleChipsOpened = coerceBooleanProperty(value);\n }\n private _isMaxVisibleChipsOpened = false;\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n private _readonly = false;\n @Input()\n get isChipsSorted(): boolean {\n return this._isChipsSorted;\n }\n set isChipsSorted(value: BooleanInput) {\n this._isChipsSorted = coerceBooleanProperty(value);\n }\n private _isChipsSorted = false;\n @Input()\n get isItemsSorted(): boolean {\n return this._isItemsSorted;\n }\n set isItemsSorted(value: BooleanInput) {\n this._isItemsSorted = coerceBooleanProperty(value);\n }\n private _isItemsSorted = false;\n @Input()\n get isChipsDragAndDrop(): boolean {\n return this._isChipsDragAndDrop;\n }\n set isChipsDragAndDrop(value: BooleanInput) {\n this._isChipsDragAndDrop = coerceBooleanProperty(value);\n }\n private _isChipsDragAndDrop = false;\n @Input()\n get isForceSelection(): boolean {\n return this._isForceSelection;\n }\n set isForceSelection(value: BooleanInput) {\n this._isForceSelection = coerceBooleanProperty(value);\n }\n private _isForceSelection = false;\n @Input()\n get autoActiveFirstOption(): boolean {\n return this._autoActiveFirstOption;\n }\n set autoActiveFirstOption(value: BooleanInput) {\n this._autoActiveFirstOption = coerceBooleanProperty(value);\n }\n private _autoActiveFirstOption = true;\n\n get isChipsGrid(): boolean {\n if (this._isGrid) {\n return this._isChipsDragAndDrop && this.dragAndDropConnectedTo.length === 0;\n } else {\n return this._isGrid;\n }\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nbClick = 0;\n private ignoreOpenCloseEvents = false;\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private fieldValue = null;\n private scrollDispatcherSubscription = new Subscription();\n private keyboardOptionSelectorHandlerSubscription = new Subscription();\n\n constructor(\n private cd: ChangeDetectorRef,\n @Self() @Optional() private control: NgControl,\n private scrollDispatcher: ScrollDispatcher,\n private elementRef: ElementRef,\n ) {\n super();\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.autocompleteData) {\n this.autocompleteOptions.next(this._filter(''));\n\n if (this.groupBy) {\n this.groupingHandler();\n }\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n }\n\n if (c && c.visibleOptions) {\n this.classList = 'eui-autocomplete--no-max-height';\n }\n }\n\n ngOnInit(): void {\n const start = Array.isArray(this.value) ? null : this.value?.label;\n this.autocompleteOptions.next(this._filter(start));\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$), startWith(start), skip(1)).subscribe((value) => {\n this.fieldValue = value;\n this.inputValueHandler(value);\n });\n\n if (this.groupBy) {\n this.groupingHandler();\n }\n }\n\n // TODO: Refactor ngDoCheck when euiInput Text will refactor this hooks\n ngDoCheck(): void {\n if (this.control) {\n this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\n this.control.invalid ? this.autocompleteControl.setErrors({ invalid: true }) : this.autocompleteControl.setErrors(null);\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'dropdownOption') {\n this.autocompleteOptionTemplate = item.template;\n }\n if (item.getType() === 'dropdownOptGroup') {\n this.autocompleteOptGroupTemplate = item.template;\n }\n });\n\n if (this.hasChips) {\n this.chips = this.mapAsChip();\n this.cd.detectChanges();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get nbOptionsVisible(): number {\n return this.visibleOptions;\n }\n\n get cdkVirtualScrollViewport(): number {\n if (this.visibleOptions !== 5) {\n return this.visibleOptions * this.itemSize;\n } else {\n if (this.groupBy) {\n const filteredOptionGroups = this.autocompleteOptions.value\n .map((item) => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self))\n .filter((optionGroup, index, array) => {\n return (\n this.autocompleteOptions.value.some(\n (option) => option.metadata !== undefined && optionGroup.includes(option.metadata.continent),\n ) &&\n\n array.indexOf(optionGroup) === index\n );\n });\n\n return this.autocompleteOptions.value.length >= this.nbOptionsVisible ?\n 5 * this.itemSize :\n (this.autocompleteOptions.value.length + filteredOptionGroups.length) * this.itemSize;\n } else {\n return this.autocompleteOptions.value.length >= this.nbOptionsVisible ?\n 5 * this.itemSize :\n this.autocompleteOptions.value.length * this.itemSize;\n }\n }\n }\n\n public addOnBlurHandler(event: FocusEvent): void {\n if (this.addOnBlur) {\n const target: HTMLElement = event.relatedTarget as HTMLElement;\n if (!target || target.tagName !== 'MAT-OPTION') {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n }\n }\n\n public addOnEnterHandler(): void {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n\n public add(newValue: string): void {\n if (this.isFreeValueAllowed) {\n if ((newValue || '').trim()) {\n const foundItem = !this.isDuplicateValueAllowed\n ? this.autocompleteDataSelected.find((selectedItem) => selectedItem.label.toString().trim() === newValue.trim())\n : false;\n\n if (!foundItem) {\n this.autocompleteDataSelected.push(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.chips = this.mapAsChip();\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.autocompleteInputTrigger.closePanel();\n\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n }\n }\n }\n }\n\n public onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const value = event.option.value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected.push(value);\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n } else {\n this.autocompleteDataSelected = value;\n this.autocompleteInput.nativeElement.value = value.label;\n this.autocompleteControl.setValue(value.label, { emitEvent: false });\n }\n\n if (this.hasChips) {\n this.autocompleteOptions.next(this._filter(''));\n }\n\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(value);\n }\n\n public onChipRemove(e: { chips: EuiChip[]; removed: EuiChip | { chip: EuiChip; event: Event } }): void {\n const autocompleteDataRemoved = this.autocompleteDataSelected.find((data) =>\n e.removed instanceof EuiChip\n ? data.euiInternalId === e.removed.euiInternalId\n : data.euiInternalId === e.removed.chip.euiInternalId,\n );\n\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter((data) =>\n e.removed instanceof EuiChip\n ? data.euiInternalId !== e.removed.euiInternalId\n : data.euiInternalId !== e.removed.chip.euiInternalId,\n );\n\n if (!this.isDuplicateValueAllowed) {\n this.autocompleteOptions.next(\n this.isItemsSorted ? (this.orderItems(this._filter(''), this.itemsSortOrder) as EuiAutoCompleteItem[]) : this._filter(''),\n );\n }\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemove.emit(autocompleteDataRemoved);\n if (\n !(e.removed instanceof EuiChip) &&\n e.removed.event instanceof KeyboardEvent &&\n (e.removed.event as KeyboardEvent).code === 'Backspace' &&\n this.chipList.euiChipItems.length > 1\n ) {\n this.chipList.euiChipItems\n .get(this.chipList.euiChipItems.length - 2)\n .nativeElement.querySelector('.eui-chip__remove-icon')\n .focus();\n }\n }\n\n public onFocus(): void {\n if (this.isForceSelection) {\n this.autocompleteControl.setValue(null);\n }\n }\n\n public onFocusOut(): void {\n this.onTouch();\n\n if (this.isForceSelection) {\n setTimeout(() => {\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n }, 250);\n }\n\n this.inputBlur.emit();\n }\n\n public trackByFn(index: number): number {\n return index;\n }\n\n public onClose(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n if (!this.ignoreOpenCloseEvents) {\n this.panelClose.emit();\n }\n this.virtualScrolling.scrollToIndex(0);\n this.selectedOptionIndex = -1;\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n }\n\n public onOpen(): void {\n this.itemSize = (this.matAutocomplete.options?.first['_element']?.nativeElement?.clientHeight + 1) || 48;\n\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.autocompleteInput)\n .subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(this.autocompleteInput.nativeElement, scrollableParent)) {\n this.autocompleteInputTrigger.closePanel();\n }\n });\n if (!this.ignoreOpenCloseEvents) {\n this.panelOpen.emit();\n }\n\n let visibleRangeStart = 0;\n let visibleRangeEnd = 4;\n\n if (this.autocompleteOptions.value.length < this.nbOptionsVisible) {\n visibleRangeEnd = this.autocompleteOptions.value.length - 1;\n }\n\n this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.elementRef.nativeElement, 'keydown')\n .pipe(\n takeUntil(this.destroy$),\n filter((e: KeyboardEvent) => e.code === 'ArrowDown' || e.code === 'ArrowUp'),\n startWith(this.autoActiveFirstOption ? { code: 'ArrowDown' } : null),\n )\n .subscribe((e: KeyboardEvent) => {\n if (e) {\n if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions.value.length - 1) {\n this.selectedOptionIndex++;\n }\n\n if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {\n this.selectedOptionIndex--;\n }\n\n const cIndex = this.selectedOptionIndex - this.virtualScrolling.getRenderedRange().start;\n\n this.matAutocomplete._keyManager.setActiveItem(cIndex);\n this.matAutocomplete.options.toArray()[cIndex]?.setActiveStyles();\n\n if (e.code === 'ArrowDown' && cIndex > visibleRangeEnd - visibleRangeStart - visibleRangeEnd) {\n if (this.selectedOptionIndex > visibleRangeEnd) {\n this.virtualScrolling.scrollToIndex(this.selectedOptionIndex - visibleRangeEnd + visibleRangeStart);\n visibleRangeStart++;\n visibleRangeEnd++;\n }\n }\n if (e.code === 'ArrowUp' && cIndex < visibleRangeStart) {\n if (this.selectedOptionIndex < visibleRangeStart) {\n this.virtualScrolling.scrollToIndex(this.selectedOptionIndex);\n visibleRangeStart--;\n visibleRangeEnd--;\n }\n }\n }\n });\n }\n\n public writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void {\n this.value = value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected = value ? (value as EuiAutoCompleteItem[]) : [];\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n this.chips = [...this.mapAsChip()];\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n\n this.autocompleteOptions.next(this._filter(''));\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n this.fieldValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.autocompleteOptions.next(this._filter(this.fieldValue));\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n }\n\n public registerOnChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDropped(e: any): void {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.autocompleteDataSelected = e.chips.map((c: any) => {\n const found = this.autocompleteDataSelected.find((a) => a.id === c.id);\n return found ? found : new EuiAutoCompleteItem({ ...c.data, euiInternalId: c.euiInternalId });\n });\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n\n this.chipDrop.emit(e);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDragStarted(e: any): void {\n this.chipDragStart.emit(e);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onChipDragReleased(e: any): void {\n this.chipDragRelease.emit(e);\n }\n\n public onClear(): void {\n this.clear.next(undefined);\n }\n\n public onChipListFocus(): void {\n this.autocompleteInputTrigger.closePanel();\n }\n\n public onKeyDownBackspace(): void {\n if (this.chipsPosition === 'inside' && this.autocompleteInput.nativeElement.value === '' && this.chipList.euiChipItems.length > 0) {\n this.onChipListFocus();\n this.chipList.euiChipItems.last.nativeElement.querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private inputValueHandler(value: string | EuiAutoCompleteItem): void {\n if (this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map(\n (selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })),\n );\n\n this.chips = this.mapAsChip();\n\n // value is null when chips is added, testing value prevent having two valuechanges triggered\n if (!value) {\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const foundItem = this.autocompleteData.find((data) =>\n data && data.label && value && typeof value === 'string'\n ? data.label.toLowerCase().trim() === value.toLowerCase().trim()\n : false,\n );\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n value ? this.onChange(new EuiAutoCompleteItem({ label: value })) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n }\n\n this.inputChange.emit(value as string);\n\n if (!this.async) {\n const filterValue = typeof value === 'string' || !value ? value : value.label;\n this.autocompleteOptions.next(\n this.isItemsSorted\n ? (this.orderItems(this._filter(filterValue as string), this.itemsSortOrder) as EuiAutoCompleteItem[])\n : this._filter(filterValue as string),\n );\n }\n }\n\n private onChange = <T>(change?: T): void => {\n /** empty */\n };\n\n private onTouch = (): void => {\n /** empty */\n };\n\n private _filter(str: string): EuiAutoCompleteItem[] {\n const filteredItems: EuiAutoCompleteItem[] = [];\n this.autocompleteData.forEach((item: EuiAutoCompleteItem) => {\n const foundItem =\n !this.isDuplicateValueAllowed && Array.isArray(this.autocompleteDataSelected)\n ? this.autocompleteDataSelected.find((selectedItem: EuiAutoCompleteItem) => {\n if (item.id) {\n return selectedItem.id === item.id;\n } else {\n return selectedItem.label.toLowerCase() === item.label.toLowerCase();\n }\n })\n : false;\n\n if (!foundItem) {\n if (str) {\n if (this.matching === 'contains' && item.label.toLowerCase().indexOf(str.toString().toLowerCase()) !== -1) {\n filteredItems.push(item);\n }\n if (this.matching === 'startWith' && item.label.toLowerCase().substr(0, str.toString().length) === str.toLowerCase()) {\n filteredItems.push(item);\n }\n } else {\n filteredItems.push(item);\n }\n }\n });\n\n return this.isItemsSorted ? (this.orderItems(filteredItems, this.itemsSortOrder) as EuiAutoCompleteItem[]) : filteredItems;\n }\n\n private mapAsChip(): EuiChip[] {\n const chips = this.autocompleteDataSelected.map(\n (selected) =>\n new EuiChip({\n id: selected.id,\n euiInternalId: selected.euiInternalId,\n label: selected.label,\n typeClass: selected.typeClass,\n isOutline: selected.isOutline,\n isRounded: selected.isRounded,\n sizeClass: selected.sizeClass,\n isRemovable: selected.isRemovable,\n tooltipMessage: selected.tooltip?.tooltipMessage,\n tooltip: new EuiChipTooltip(selected.tooltip),\n iconClass: selected.iconClass,\n }),\n );\n\n return this.isChipsSorted ? (this.orderItems(chips, this.chipsSortOrder) as EuiChip[]) : chips;\n }\n\n private generateId(): string {\n return '_' + Math.random().toString(36).substr(2, 9);\n }\n\n private orderItems(tab: EuiAutoCompleteItem[] | EuiChip[], sortOrder: 'ASC' | 'DESC'): EuiAutoCompleteItem[] | EuiChip[] {\n tab.sort((a: EuiAutoCompleteItem | EuiChip, b: EuiAutoCompleteItem | EuiChip) => {\n const aObj = a.label.toLowerCase();\n const bObj = b.label.toLowerCase();\n\n if (sortOrder === 'ASC') {\n if (aObj < bObj) {\n return -1;\n }\n if (aObj > bObj) {\n return 1;\n }\n return 0;\n } else {\n if (aObj > bObj) {\n return -1;\n }\n if (aObj < bObj) {\n return 1;\n }\n return 0;\n }\n });\n\n return tab;\n }\n\n private groupingHandler(): void {\n this.distinctOptionGroups = this.autocompleteData.map((item) =>\n this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self),\n );\n\n this.distinctOptionGroups = this.distinctOptionGroups\n .filter((n, i) => this.distinctOptionGroups.indexOf(n) === i)\n .sort((a: string, b: string) => (a > b ? 1 : -1));\n\n this.autocompleteOptions.pipe(takeUntil(this.destroy$)).subscribe((autocompleteOptions) => {\n let groupedItems: EuiAutoCompleteItem[];\n this.distinctOptionGroups.forEach((group) => {\n groupedItems = autocompleteOptions.filter((item) => {\n const f = this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self);\n\n return f === group;\n });\n\n if (this.isItemsSorted) {\n groupedItems = this.orderItems(groupedItems, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n this.groupedItems = {\n ...this.groupedItems,\n [group]: of(groupedItems),\n } as { [id: string]: Observable<EuiAutoCompleteItem[]> };\n });\n });\n }\n}\n","<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isGrid]=\"isChipsGrid\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n (focus)=\"onFocus()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (focus)=\"onFocus()\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth === 'auto' ? null : panelWidth\"\n [class]=\"classList\"\n [autoActiveFirstOption]=\"autoActiveFirstOption\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [disabled]=\"groupedItem.isDisabled\"\n [class]=\"\n groupedItem.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <mat-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: trackByFn\"\n [disabled]=\"autocompleteOption.isDisabled\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [class.mat-mdc-option-active]=\"i === selectedOptionIndex\"\n [class.mdc-list-item--selected]=\"false\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">{{ autocompleteOption.label }}</ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n EuiInputTextModule,\n ScrollingModule,\n ],\n declarations: [EuiAutocompleteComponent],\n exports: [EuiAutocompleteComponent],\n})\nexport class EuiAutocompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;MACa,mBAAmB,CAAA;IAe5B,WAAY,CAAA,MAAM,GAAG,EAAE,EAAA;QAJvB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAKf,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AACJ;;ACwBK,MAAO,wBACT,SAAQ,aAAa,CAAA;AA+BrB,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,6BAA6B,GAAG,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;KACzH;AAuBD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IACD,IAAI,QAAQ,CAAC,KAAmB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;AAED,IAAA,IACI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;IACD,IAAI,MAAM,CAAC,KAAmB,EAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC/C;AAED,IAAA,IACI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IACD,IAAI,KAAK,CAAC,KAAmB,EAAA;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC9C;AAED,IAAA,IACI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;IACD,IAAI,SAAS,CAAC,KAAmB,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAClD;AAED,IAAA,IACI,kBAAkB,GAAA;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACnC;IACD,IAAI,kBAAkB,CAAC,KAAmB,EAAA;AACtC,QAAA,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC3D;AAED,IAAA,IACI,uBAAuB,GAAA;QACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;IACD,IAAI,uBAAuB,CAAC,KAAmB,EAAA;AAC3C,QAAA,IAAI,CAAC,wBAAwB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAChE;AAED,IAAA,IACI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;IACD,IAAI,SAAS,CAAC,KAAmB,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAClD;AAED,IAAA,IACI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;IACD,IAAI,gBAAgB,CAAC,KAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACzD;AAED,IAAA,IACI,oBAAoB,GAAA;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC;KACrC;IACD,IAAI,oBAAoB,CAAC,KAAkB,EAAA;AACvC,QAAA,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;KAC5D;AAED,IAAA,IACI,uBAAuB,GAAA;QACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;IACD,IAAI,uBAAuB,CAAC,KAAkB,EAAA;AAC1C,QAAA,IAAI,CAAC,wBAAwB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;KAC/D;AAED,IAAA,IACI,uBAAuB,GAAA;QACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC;KACxC;IACD,IAAI,uBAAuB,CAAC,KAAmB,EAAA;AAC3C,QAAA,IAAI,CAAC,wBAAwB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAChE;AAED,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IACD,IAAI,QAAQ,CAAC,KAAmB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;AAED,IAAA,IACI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IACD,IAAI,aAAa,CAAC,KAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACtD;AAED,IAAA,IACI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IACD,IAAI,aAAa,CAAC,KAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACtD;AAED,IAAA,IACI,kBAAkB,GAAA;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC;KACnC;IACD,IAAI,kBAAkB,CAAC,KAAmB,EAAA;AACtC,QAAA,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC3D;AAED,IAAA,IACI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KACjC;IACD,IAAI,gBAAgB,CAAC,KAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACzD;AAED,IAAA,IACI,qBAAqB,GAAA;QACrB,OAAO,IAAI,CAAC,sBAAsB,CAAC;KACtC;IACD,IAAI,qBAAqB,CAAC,KAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC9D;AAGD,IAAA,IAAI,WAAW,GAAA;QACX,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,OAAO,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/E,SAAA;AAAM,aAAA;YACH,OAAO,IAAI,CAAC,OAAO,CAAC;AACvB,SAAA;KACJ;AAUD,IAAA,WAAA,CACY,EAAqB,EACD,OAAkB,EACtC,gBAAkC,EAClC,UAAsB,EAAA;AAE9B,QAAA,KAAK,EAAE,CAAC;QALA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QACD,IAAO,CAAA,OAAA,GAAP,OAAO,CAAW;QACtC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAClC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QApNzB,IAAmB,CAAA,mBAAA,GAAW,IAAI,CAAC;QACnC,IAAmB,CAAA,mBAAA,GAAW,IAAI,CAAC;QACnC,IAAgB,CAAA,gBAAA,GAA0B,EAAE,CAAC;QAC7C,IAAwB,CAAA,wBAAA,GAA0B,EAAE,CAAC;QACrD,IAAc,CAAA,cAAA,GAAmB,KAAK,CAAC;QACvC,IAAc,CAAA,cAAA,GAAmB,KAAK,CAAC;QACvC,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QACjB,IAAQ,CAAA,QAAA,GAA6B,UAAU,CAAC;QAChD,IAAa,CAAA,aAAA,GAAgC,KAAK,CAAC;QAEnD,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;QAInB,IAAsB,CAAA,sBAAA,GAAa,EAAE,CAAC;;AAGrC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAC3B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAChC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;AAC/B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;AAC/B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAyB,CAAC;AAC5D,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAuB,CAAC;AAClD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAuB,CAAC;AACrD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAmB,CAAC;AACpD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAmB,CAAC;AACtD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAmB,CAAC;AAiBlD,QAAA,IAAA,CAAA,kBAAkB,GAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,WAAW,EAAE,CAAC;QACxC,IAAmB,CAAA,mBAAA,GAA2C,IAAI,eAAe,CAAwB,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChI,IAAK,CAAA,KAAA,GAAc,EAAE,CAAC;AAGtB,QAAA,IAAA,CAAA,cAAc,GAAG,CAAA,iBAAA,EAAoB,QAAQ,EAAE,EAAE,CAAC;QAClD,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAmB,CAAA,mBAAA,GAAG,CAAC,CAAC,CAAC;QACzB,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;QASb,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAQlB,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;QAQf,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QAQf,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAQnB,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;QAQ3B,IAAwB,CAAA,wBAAA,GAAG,KAAK,CAAC;QAQjC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAQnB,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QAQzB,IAAqB,CAAA,qBAAA,GAAG,IAAI,CAAC;QAQ7B,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAC;QAQhC,IAAwB,CAAA,wBAAA,GAAG,KAAK,CAAC;QAQjC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAQlB,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;QAQvB,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;QAQvB,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;QAQ5B,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAQ1B,IAAsB,CAAA,sBAAA,GAAG,IAAI,CAAC;AAU9B,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;QACpD,IAAO,CAAA,OAAA,GAAG,CAAC,CAAC;QACZ,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAK,CAAA,KAAA,GAAgD,IAAI,CAAC;QAC1D,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAClB,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,YAAY,EAAE,CAAC;AAClD,QAAA,IAAA,CAAA,yCAAyC,GAAG,IAAI,YAAY,EAAE,CAAC;AAgb/D,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAI,MAAU,KAAU;;AAE3C,SAAC,CAAC;QAEM,IAAO,CAAA,OAAA,GAAG,MAAW;;AAE7B,SAAC,CAAC;QA7aE,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;AACrC,SAAA;KACJ;AAED,IAAA,WAAW,CAAC,CAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1B,aAAA;AACJ,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,CAAC,wBAAwB,IAAI,IAAI,CAAC,QAAQ,EAAE;AAClD,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAC7D,CAAC,QAAQ,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAC3G,CAAC;AAEF,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,GAAG,iCAAiC,CAAC;AACtD,SAAA;KACJ;IAED,QAAQ,GAAA;QACJ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AACnE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChH,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1B,SAAA;KACJ;;IAGD,SAAS,GAAA;QACL,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;AAC7G,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACxH,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAA;KACJ;IAED,eAAe,GAAA;QACX,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC5B,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,gBAAgB,EAAE;AACrC,gBAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC;AACnD,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,kBAAkB,EAAE;AACvC,gBAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,QAAQ,CAAC;AACrD,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;AAED,IAAA,IAAI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED,IAAA,IAAI,wBAAwB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE;AAC3B,YAAA,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC9C,SAAA;AAAM,aAAA;YACH,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK;AACtD,qBAAA,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;qBACvG,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,KAAI;AAClC,oBAAA,QACI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAC/B,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC/F;wBAED,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,KAAK,EACtC;AACN,iBAAC,CAAC,CAAC;AAEP,gBAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB;AACjE,oBAAA,CAAC,GAAG,IAAI,CAAC,QAAQ;AACjB,oBAAA,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC;AAC7F,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB;AACjE,oBAAA,CAAC,GAAG,IAAI,CAAC,QAAQ;oBACjB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC7D,aAAA;AACJ,SAAA;KACJ;AAEM,IAAA,gBAAgB,CAAC,KAAiB,EAAA;QACrC,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,MAAM,MAAM,GAAgB,KAAK,CAAC,aAA4B,CAAC;YAC/D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE;gBAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5D,gBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtB,aAAA;AACJ,SAAA;KACJ;IAEM,iBAAiB,GAAA;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5D,QAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACtB;AAEM,IAAA,GAAG,CAAC,QAAgB,EAAA;QACvB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;AACzB,gBAAA,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,uBAAuB;sBACzC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;sBAC9G,KAAK,CAAC;gBAEZ,IAAI,CAAC,SAAS,EAAE;AACZ,oBAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACxF,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC9B,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;AAChD,oBAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxC,oBAAA,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC;oBAE3C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACzD,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1E,iBAAA;AACJ,aAAA;AACJ,SAAA;KACJ;AAEM,IAAA,gBAAgB,CAAC,KAAmC,EAAA;AACvD,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAEjC,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;AAChD,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACzD,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AACxE,SAAA;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,SAAA;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;AAEM,IAAA,YAAY,CAAC,CAA2E,EAAA;AAC3F,QAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,KACpE,CAAC,CAAC,OAAO,YAAY,OAAO;cACtB,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa;AAChD,cAAE,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAC5D,CAAC;AAEF,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAI,KACtE,CAAC,CAAC,OAAO,YAAY,OAAO;cACtB,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa;AAChD,cAAE,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAC5D,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;AAC/B,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CACzB,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAC5H,CAAC;AACL,SAAA;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;QAC/F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAC9C,QAAA,IACI,EAAE,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC;AAC/B,YAAA,CAAC,CAAC,OAAO,CAAC,KAAK,YAAY,aAAa;AACvC,YAAA,CAAC,CAAC,OAAO,CAAC,KAAuB,CAAC,IAAI,KAAK,WAAW;YACvD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EACvC;YACE,IAAI,CAAC,QAAQ,CAAC,YAAY;iBACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C,iBAAA,aAAa,CAAC,aAAa,CAAC,wBAAwB,CAAC;AACrD,iBAAA,KAAK,EAAE,CAAC;AAChB,SAAA;KACJ;IAEM,OAAO,GAAA;QACV,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC3C,SAAA;KACJ;IAEM,UAAU,GAAA;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,UAAU,CAAC,MAAK;gBACZ,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;AAChD,gBAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC3C,EAAE,GAAG,CAAC,CAAC;AACX,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACzB;AAEM,IAAA,SAAS,CAAC,KAAa,EAAA;AAC1B,QAAA,OAAO,KAAK,CAAC;KAChB;IAEM,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,CAAC;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,yCAAyC,CAAC,WAAW,EAAE,CAAC;KAChE;IAEM,MAAM,GAAA;QACT,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC;AAEzG,QAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,gBAAgB;AACpD,aAAA,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACxC,aAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;YAChC,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACtG,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE;AACzE,gBAAA,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC;AAC9C,aAAA;AACL,SAAC,CAAC,CAAC;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACzB,SAAA;QAED,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC/D,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,SAAA;AAED,QAAA,IAAI,CAAC,yCAAyC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC;aAC/F,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,MAAM,CAAC,CAAC,CAAgB,KAAK,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAC5E,SAAS,CAAC,IAAI,CAAC,qBAAqB,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,CACvE;AACA,aAAA,SAAS,CAAC,CAAC,CAAgB,KAAI;AAC5B,YAAA,IAAI,CAAC,EAAE;AACH,gBAAA,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC9B,iBAAA;gBAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE;oBACtD,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC9B,iBAAA;AAED,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC;gBAEzF,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACvD,gBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;AAElE,gBAAA,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,EAAE;AAC1F,oBAAA,IAAI,IAAI,CAAC,mBAAmB,GAAG,eAAe,EAAE;AAC5C,wBAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,CAAC,CAAC;AACpG,wBAAA,iBAAiB,EAAE,CAAC;AACpB,wBAAA,eAAe,EAAE,CAAC;AACrB,qBAAA;AACJ,iBAAA;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,GAAG,iBAAiB,EAAE;AACpD,oBAAA,IAAI,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,EAAE;wBAC9C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9D,wBAAA,iBAAiB,EAAE,CAAC;AACpB,wBAAA,eAAe,EAAE,CAAC;AACrB,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;KACV;AAEM,IAAA,UAAU,CAAC,KAAkD,EAAA;AAChE,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,GAAI,KAA+B,GAAG,EAAE,CAAC;AAC9E,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAC7D,CAAC,QAAQ,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAC3G,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACnC,YAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAEhE,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,GAAI,KAA6B,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/G,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,GAAI,KAA6B,CAAC,KAAK,GAAG,IAAI,CAAC;AACtE,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAChE,SAAA;KACJ;AAEM,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACvC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;KACvF;AAEM,IAAA,gBAAgB,CAAC,EAAc,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAEM,IAAA,iBAAiB,CAAC,EAAc,EAAA;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACrB;;;AAIM,IAAA,aAAa,CAAC,CAAM,EAAA;;;AAGvB,QAAA,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,KAAI;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO,KAAK,GAAG,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;AAClG,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;QAC/F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAEzD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACzB;;;AAIM,IAAA,iBAAiB,CAAC,CAAM,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC9B;;;AAIM,IAAA,kBAAkB,CAAC,CAAM,EAAA;AAC5B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChC;IAEM,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9B;IAEM,eAAe,GAAA;AAClB,QAAA,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC;KAC9C;IAEM,kBAAkB,GAAA;QACrB,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/H,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;AACjG,SAAA;KACJ;IAEO,SAAS,CAAC,MAAmB,EAAE,gBAA6B,EAAA;QAChE,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;AACjD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;QAEpF,QACI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,sBAAsB;AAChD,aAAC,OAAO,GAAG,iBAAiB,GAAG,CAAC,IAAI,OAAO,GAAG,iBAAiB,GAAG,sBAAsB,CAAC,EAC3F;KACL;AAEO,IAAA,iBAAiB,CAAC,KAAmC,EAAA;QACzD,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAC7D,CAAC,QAAQ,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAC3G,CAAC;AAEF,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;;YAG9B,IAAI,CAAC,KAAK,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC;AAClG,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,KAC9C,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;AACpD,sBAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;sBAC9D,KAAK,CACd,CAAC;AAEF,gBAAA,IAAI,SAAS,EAAE;AACX,oBAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5B,iBAAA;AAAM,qBAAA;oBACH,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1F,iBAAA;AACJ,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,EAAE;AACR,oBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;AAEvC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACb,YAAA,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9E,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CACzB,IAAI,CAAC,aAAa;AACd,kBAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAqB,CAAC,EAAE,IAAI,CAAC,cAAc,CAA2B;kBACpG,IAAI,CAAC,OAAO,CAAC,WAAqB,CAAC,CAC5C,CAAC;AACL,SAAA;KACJ;AAUO,IAAA,OAAO,CAAC,GAAW,EAAA;QACvB,MAAM,aAAa,GAA0B,EAAE,CAAC;QAChD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAyB,KAAI;AACxD,YAAA,MAAM,SAAS,GACX,CAAC,IAAI,CAAC,uBAAuB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC;kBACvE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,YAAiC,KAAI;oBACrE,IAAI,IAAI,CAAC,EAAE,EAAE;AACT,wBAAA,OAAO,YAAY,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;AACtC,qBAAA;AAAM,yBAAA;AACH,wBAAA,OAAO,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AACxE,qBAAA;AACL,iBAAC,CAAC;kBACF,KAAK,CAAC;YAEhB,IAAI,CAAC,SAAS,EAAE;AACZ,gBAAA,IAAI,GAAG,EAAE;oBACL,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;AACvG,wBAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,qBAAA;AACD,oBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,WAAW,EAAE,EAAE;AAClH,wBAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAA2B,GAAG,aAAa,CAAC;KAC9H;IAEO,SAAS,GAAA;AACb,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAC3C,CAAC,QAAQ,KACL,IAAI,OAAO,CAAC;YACR,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;AACjC,YAAA,cAAc,EAAE,QAAQ,CAAC,OAAO,EAAE,cAAc;AAChD,YAAA,OAAO,EAAE,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7C,SAAS,EAAE,QAAQ,CAAC,SAAS;AAChC,SAAA,CAAC,CACT,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAe,GAAG,KAAK,CAAC;KAClG;IAEO,UAAU,GAAA;AACd,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACxD;IAEO,UAAU,CAAC,GAAsC,EAAE,SAAyB,EAAA;QAChF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAgC,EAAE,CAAgC,KAAI;YAC5E,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAEnC,IAAI,SAAS,KAAK,KAAK,EAAE;gBACrB,IAAI,IAAI,GAAG,IAAI,EAAE;oBACb,OAAO,CAAC,CAAC,CAAC;AACb,iBAAA;gBACD,IAAI,IAAI,GAAG,IAAI,EAAE;AACb,oBAAA,OAAO,CAAC,CAAC;AACZ,iBAAA;AACD,gBAAA,OAAO,CAAC,CAAC;AACZ,aAAA;AAAM,iBAAA;gBACH,IAAI,IAAI,GAAG,IAAI,EAAE;oBACb,OAAO,CAAC,CAAC,CAAC;AACb,iBAAA;gBACD,IAAI,IAAI,GAAG,IAAI,EAAE;AACb,oBAAA,OAAO,CAAC,CAAC;AACZ,iBAAA;AACD,gBAAA,OAAO,CAAC,CAAC;AACZ,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,GAAG,CAAC;KACd;IAEO,eAAe,GAAA;QACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,KACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAC3F,CAAC;AAEF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;AAChD,aAAA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC5D,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtD,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,mBAAmB,KAAI;AACtF,YAAA,IAAI,YAAmC,CAAC;YACxC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;gBACxC,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC/C,oBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;oBAEnG,OAAO,CAAC,KAAK,KAAK,CAAC;AACvB,iBAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpB,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAA0B,CAAC;AAC9F,iBAAA;gBAED,IAAI,CAAC,YAAY,GAAG;oBAChB,GAAG,IAAI,CAAC,YAAY;AACpB,oBAAA,CAAC,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC;iBAC2B,CAAC;AAC7D,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;iIAxvBQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,ukDAqChB,oBAAoB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAEG,UAAU,EACH,EAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,sBAAsB,iWCtFzE,y4UA6KA,EAAA,MAAA,EAAA,CAAA,mlJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,8BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,gCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FD/Ha,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0CAA0C,mBAEnC,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,y4UAAA,EAAA,MAAA,EAAA,CAAA,mlJAAA,CAAA,EAAA,CAAA;;0BAuNhC,IAAI;;0BAAI,QAAQ;iGAlNZ,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBAGI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAGH,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO,CAAA;gBAKmB,SAAS,EAAA,CAAA;sBAA/C,eAAe;uBAAC,oBAAoB,CAAA;gBAEiB,iBAAiB,EAAA,CAAA;sBAAtE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBACqB,wBAAwB,EAAA,CAAA;sBAAhG,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,0BAA0B,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAA;gBACpD,eAAe,EAAA,CAAA;sBAAjC,SAAS;uBAAC,MAAM,CAAA;gBACM,QAAQ,EAAA,CAAA;sBAA9B,SAAS;uBAAC,UAAU,CAAA;gBACU,gBAAgB,EAAA,CAAA;sBAA9C,SAAS;uBAAC,kBAAkB,CAAA;gBAgBzB,QAAQ,EAAA,CAAA;sBADX,KAAK;gBASF,MAAM,EAAA,CAAA;sBADT,KAAK;gBASF,KAAK,EAAA,CAAA;sBADR,KAAK;gBASF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBASF,kBAAkB,EAAA,CAAA;sBADrB,KAAK;gBASF,uBAAuB,EAAA,CAAA;sBAD1B,KAAK;gBASF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBASF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBASF,oBAAoB,EAAA,CAAA;sBADvB,KAAK;gBASF,uBAAuB,EAAA,CAAA;sBAD1B,KAAK;gBASF,uBAAuB,EAAA,CAAA;sBAD1B,KAAK;gBASF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBASF,aAAa,EAAA,CAAA;sBADhB,KAAK;gBASF,aAAa,EAAA,CAAA;sBADhB,KAAK;gBASF,kBAAkB,EAAA,CAAA;sBADrB,KAAK;gBASF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBASF,qBAAqB,EAAA,CAAA;sBADxB,KAAK;;;ME7MG,qBAAqB,CAAA;iIAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;kIAArB,qBAAqB,EAAA,YAAA,EAAA,CAHf,wBAAwB,CAAA,EAAA,OAAA,EAAA,CATnC,YAAY;YACZ,mBAAmB;YACnB,qBAAqB;YACrB,iBAAiB;YACjB,aAAa;YACb,aAAa;YACb,kBAAkB;AAClB,YAAA,eAAe,aAGT,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEzB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAZ1B,YAAY;YACZ,mBAAmB;YACnB,qBAAqB;YACrB,iBAAiB;YACjB,aAAa;YACb,aAAa;YACb,kBAAkB;YAClB,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKV,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAdjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;wBACnB,qBAAqB;wBACrB,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,kBAAkB;wBAClB,eAAe;AAClB,qBAAA;oBACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACtC,iBAAA,CAAA;;;AC1BD;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/models/eui-autocomplete-item.model.ts","../../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 { EuiChipTooltip } from '@eui/components/eui-chip';\n\nexport class EuiAutoCompleteItem {\n id: string | number;\n euiInternalId: string;\n label: string;\n typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger';\n sizeClass: 'euiSizeS' | 'euiSizeM' | 'euiSizeL' | 'euiSizeXL' | 'euiSize2XL';\n iconClass: string;\n isRemovable: boolean;\n isOutline: boolean;\n isRounded: boolean;\n dragAndDropSource: string;\n isDisabled = false;\n tooltip?: EuiChipTooltip;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: any;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import { AbstractControl } from '@angular/forms';\n\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n/**\n * @description\n * Validator checking if the user choose the value in the panel.\n * \n * @usageNotes\n * ```typescript\n * autocompleteData: EuiAutoCompleteItem[] = [\n * new EuiAutoCompleteItem({ id: 1, label: 'Ananas' }),\n * new EuiAutoCompleteItem({ id: 2, label: 'Apple' }),\n * new EuiAutoCompleteItem({ 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.075s linear', style({ opacity: 0 }))]),\n]);\n","import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';\nimport { BooleanInput } from '@angular/cdk/coercion';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { coerceBoolean } from '@eui/base';\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() @coerceBoolean isActive: BooleanInput = false;\n @Input() @coerceBoolean isDisabled: BooleanInput = false;\n @Input() @coerceBoolean isGroupItem: BooleanInput = 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 { Component, ChangeDetectionStrategy, ViewEncapsulation, OnInit, OnDestroy, OnChanges, SimpleChanges, HostBinding, AfterViewInit, ViewContainerRef,\n ViewChild, TemplateRef, ElementRef, Input, EventEmitter, Output, Self, Optional, ChangeDetectorRef, ContentChildren, QueryList } from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl } 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 { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport * as uuid from 'uuid';\n\nimport { EuiChipDragDrop } from '@eui/components/eui-chip-list';\nimport { EuiChip, EuiChipTooltip } from '@eui/components/eui-chip';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { coerceBoolean, coerceNumber } from '@eui/base';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\nimport { panelAnimation } from './animations/animations';\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 {\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 @Input() @coerceBoolean isFreeValueAllowed: BooleanInput = true;\n @Input() @coerceBoolean isReadonly: BooleanInput = false;\n @Input() @coerceBoolean isLoading: BooleanInput = false;\n @Input() @coerceBoolean hasChips: BooleanInput = false;\n @Input() @coerceBoolean isAsync: BooleanInput = false;\n @Input() @coerceBoolean isChipsSorted: BooleanInput = false;\n @Input() @coerceBoolean isItemsSorted: BooleanInput = false;\n @Input() @coerceBoolean isChipsRemovable: BooleanInput = true;\n @Input() @coerceBoolean isDuplicateValueAllowed: BooleanInput = false;\n @Input() @coerceBoolean isAddOnBlur : BooleanInput = false;\n @Input() @coerceBoolean isForceSelection: BooleanInput = false;\n @Input() @coerceNumber maxVisibleChipsCount: NumberInput = null;\n @Input() @coerceNumber chipsLabelTruncateCount: NumberInput = null;\n @Input() @coerceBoolean isMaxVisibleChipsOpened: BooleanInput = false;\n @Input() @coerceBoolean isChipsDragAndDrop: BooleanInput = 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 = 48;\n public autocompleteOptionTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n public autocompleteOptGroupTemplate: TemplateRef<{ $implicit: { label: string } }>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-autocomplete',\n 'eui-autocomplete--chips-position-' + this.chipsPosition,\n ].join(' ').trim();\n }\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 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 @Self() @Optional() private control: NgControl,\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) => (new EuiAutoCompleteItem({ ...s, euiInternalId: uuid.v4() })));\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.setOptions('', this.isItemsSorted);\n }\n }\n\n ngOnInit(): void {\n if (this.control) {\n this.control.statusChanges.pipe(takeUntil(this.destroy$)).subscribe((status) => {\n this.autocompleteControl.setErrors(this.control.errors);\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(new EuiAutoCompleteItem({ 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.itemSize = this.getItemSize();\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 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) {\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.input)\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: CdkScrollable) => {\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 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 setTimeout(() => {\n this.itemSize = this.getItemSize();\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 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 this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(this.autocompleteOptions.value[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 this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(this.autocompleteOptions.value[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.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(new EuiAutoCompleteItem({ ...e, euiInternalId: uuid.v4() }));\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()) || new EuiAutoCompleteItem({ label: value.trim(), euiInternalId: uuid.v4() });\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 groupsTrackByFn(index: number, group: string): string {\n return group;\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') {\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 selected = this.autocompleteDataSelected;\n this.autocompleteDataSelected = e.chips.map(c => selected.find((a) => a.id === c.id));\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: BooleanInput): 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 });\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","<div class=\"eui-autocomplete__wrapper\">\n <ng-container *ngIf=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"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 </ng-container>\n <ng-container *ngIf=\"chipsPosition === 'top'\">\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #control>\n <div class=\"eui-autocomplete__input-container\" #inputContainerRef>\n <input\n #input\n euiInputText\n [euiClearable]=\"!isReadonly && !isDisabled\"\n [euiLoading]=\"isLoading\"\n [formControl]=\"autocompleteControl\"\n class=\"eui-autocomplete__input {{ classList }}\"\n placeholder=\"{{ placeholder }}\"\n [readonly]=\"isReadonly\"\n (clear)=\"onClear()\"\n (click)=\"openPanel()\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"eui-autocomplete__panel\" />\n </div>\n</ng-template>\n\n<ng-template #templatePortalContent>\n <div id=\"eui-autocomplete__panel\" class=\"eui-autocomplete__panel\" [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\" role=\"listbox\" aria-live=\"polite\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <ng-container *ngIf=\"!groupBy\">\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 <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n {{ autocompleteOption.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n </ng-container>\n </eui-autocomplete-option>\n </ng-container>\n <ng-container *ngIf=\"groupBy\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups; let i = index; trackBy: groupsTrackByFn\">\n <eui-autocomplete-option-group *ngIf=\"(groupedOptions | async)[distinctOptionGroup].options.length > 0\" [label]=\"distinctOptionGroup\">\n <div class=\"eui-autocomplete-option-group__label\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\">\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!autocompleteOptGroupTemplate\">\n {{ distinctOptionGroup }}\n </ng-container>\n </div>\n <div class=\"eui-autocomplete-option-group__options\">\n <ng-container *ngFor=\"let autocompleteOption of (groupedOptions | async)[distinctOptionGroup].options; let j = index; trackBy: optionsTrackByFn\">\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 <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n {{ autocompleteOption.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n </ng-container>\n </eui-autocomplete-option>\n </ng-container>\n </div>\n </eui-autocomplete-option-group>\n </ng-container>\n </ng-container>\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';\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 ],\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":["i1","i9.EuiAutocompleteOptionComponent","i10.EuiAutocompleteOptionGroupComponent"],"mappings":"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"}
@@ -53,11 +53,11 @@ class EuiDropdownItemComponent {
53
53
  this.elementRef.nativeElement.dispatchEvent(mouseenterEvent);
54
54
  }
55
55
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: EuiDropdownItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
56
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: { subDropdown: "subDropdown", isActive: "isActive" }, host: { properties: { "attr.role": "this.role", "class": "this.cssClasses" } }, ngImport: i0, template: "<div class=\"eui-dropdown-item__container\">\n <div class=\"eui-dropdown-item__content\">\n <div class=\"eui-dropdown-item__content-text\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"subDropdown\" class=\"eui-dropdown-item__content-icon\">\n <eui-icon-svg icon=\"eui-chevron-forward\" set=\"eui\" size=\"s\" fillColor=\"grey-100\"></eui-icon-svg>\n </div>\n </div>\n</div>\n", styles: [".eui-dropdown .eui-dropdown{display:none}.eui-dropdown .eui-dropdown__trigger-container{display:inline-flex}.eui-dropdown__panel{position:inherit}.eui-dropdown__panel eui-dropdown-content{display:block}.eui-dropdown__panel-container{background:var(--eui-base-color-white);border-radius:var(--eui-base-border-radius);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-base-color-grey-5)}.eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-dropdown__panel-container .eui-dropdown-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s)}.eui-dropdown__panel-container .eui-dropdown-item:hover{background-color:var(--eui-base-color-grey-10)}.eui-dropdown__panel-container .eui-dropdown-item:disabled{cursor:default}.eui-dropdown__panel-container .eui-dropdown-item:disabled:hover,.eui-dropdown__panel-container .eui-dropdown-item:disabled:focus{background:none}.eui-dropdown__panel-container .eui-dropdown-item--active{background-color:var(--eui-base-color-primary-10)}.eui-dropdown__panel-container .eui-dropdown-item--active:active:not([readonly]),.eui-dropdown__panel-container .eui-dropdown-item--active:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-dropdown__panel-container .eui-dropdown-item--active [tabindex=\"0\"]:active:not([readonly]),.eui-dropdown__panel-container .eui-dropdown-item--active [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-dropdown__panel-container .eui-dropdown-item--active:disabled{background:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
56
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: EuiDropdownItemComponent, selector: "eui-dropdown-item, [euiDropdownItem]", inputs: { subDropdown: "subDropdown", isActive: "isActive" }, host: { properties: { "attr.role": "this.role", "class": "this.cssClasses" } }, ngImport: i0, template: "<div class=\"eui-dropdown-item__container\">\n <div class=\"eui-dropdown-item__content\">\n <div class=\"eui-dropdown-item__content-text\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"subDropdown\" class=\"eui-dropdown-item__content-icon\">\n <eui-icon-svg icon=\"eui-chevron-forward\" set=\"eui\" size=\"s\" fillColor=\"grey-100\"></eui-icon-svg>\n </div>\n </div>\n</div>\n", styles: [".eui-dropdown .eui-dropdown{display:none}.eui-dropdown .eui-dropdown__trigger-container{display:inline-flex}.eui-dropdown__panel{position:inherit}.eui-dropdown__panel eui-dropdown-content{display:block}.eui-dropdown__panel-container{background:var(--eui-base-color-white);border-radius:var(--eui-base-border-radius);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-base-color-grey-5)}.eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-dropdown__panel-container .eui-dropdown-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex;min-height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs))}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s)}.eui-dropdown-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-dropdown-item:disabled{pointer-events:none;color:var(--eui-base-color-grey-50);font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-style:italic}.eui-dropdown-item:disabled:hover,.eui-dropdown-item:disabled:focus{background:none}.eui-dropdown-item--active{background-color:var(--eui-base-color-primary-10)!important;outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:-2px!important}.eui-dropdown-item--active:disabled{background:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
57
57
  }
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: EuiDropdownItemComponent, decorators: [{
59
59
  type: Component,
60
- args: [{ selector: 'eui-dropdown-item, [euiDropdownItem]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-dropdown-item__container\">\n <div class=\"eui-dropdown-item__content\">\n <div class=\"eui-dropdown-item__content-text\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"subDropdown\" class=\"eui-dropdown-item__content-icon\">\n <eui-icon-svg icon=\"eui-chevron-forward\" set=\"eui\" size=\"s\" fillColor=\"grey-100\"></eui-icon-svg>\n </div>\n </div>\n</div>\n", styles: [".eui-dropdown .eui-dropdown{display:none}.eui-dropdown .eui-dropdown__trigger-container{display:inline-flex}.eui-dropdown__panel{position:inherit}.eui-dropdown__panel eui-dropdown-content{display:block}.eui-dropdown__panel-container{background:var(--eui-base-color-white);border-radius:var(--eui-base-border-radius);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-base-color-grey-5)}.eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-dropdown__panel-container .eui-dropdown-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s)}.eui-dropdown__panel-container .eui-dropdown-item:hover{background-color:var(--eui-base-color-grey-10)}.eui-dropdown__panel-container .eui-dropdown-item:disabled{cursor:default}.eui-dropdown__panel-container .eui-dropdown-item:disabled:hover,.eui-dropdown__panel-container .eui-dropdown-item:disabled:focus{background:none}.eui-dropdown__panel-container .eui-dropdown-item--active{background-color:var(--eui-base-color-primary-10)}.eui-dropdown__panel-container .eui-dropdown-item--active:active:not([readonly]),.eui-dropdown__panel-container .eui-dropdown-item--active:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-dropdown__panel-container .eui-dropdown-item--active [tabindex=\"0\"]:active:not([readonly]),.eui-dropdown__panel-container .eui-dropdown-item--active [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-dropdown__panel-container .eui-dropdown-item--active:disabled{background:none}\n"] }]
60
+ args: [{ selector: 'eui-dropdown-item, [euiDropdownItem]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-dropdown-item__container\">\n <div class=\"eui-dropdown-item__content\">\n <div class=\"eui-dropdown-item__content-text\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"subDropdown\" class=\"eui-dropdown-item__content-icon\">\n <eui-icon-svg icon=\"eui-chevron-forward\" set=\"eui\" size=\"s\" fillColor=\"grey-100\"></eui-icon-svg>\n </div>\n </div>\n</div>\n", styles: [".eui-dropdown .eui-dropdown{display:none}.eui-dropdown .eui-dropdown__trigger-container{display:inline-flex}.eui-dropdown__panel{position:inherit}.eui-dropdown__panel eui-dropdown-content{display:block}.eui-dropdown__panel-container{background:var(--eui-base-color-white);border-radius:var(--eui-base-border-radius);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-base-color-grey-5)}.eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-dropdown__panel-container .eui-dropdown-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex;min-height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs))}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s)}.eui-dropdown-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-dropdown-item:disabled{pointer-events:none;color:var(--eui-base-color-grey-50);font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-style:italic}.eui-dropdown-item:disabled:hover,.eui-dropdown-item:disabled:focus{background:none}.eui-dropdown-item--active{background-color:var(--eui-base-color-primary-10)!important;outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:-2px!important}.eui-dropdown-item--active:disabled{background:none!important}\n"] }]
61
61
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { subDropdown: [{
62
62
  type: Input
63
63
  }], role: [{
@@ -463,11 +463,11 @@ class EuiDropdownComponent extends BaseDirective {
463
463
  }
464
464
  }
465
465
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: EuiDropdownComponent, deps: [{ token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i1$1.ScrollDispatcher }, { token: EuiDropdownService }], target: i0.ɵɵFactoryTarget.Component }); }
466
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: EuiDropdownComponent, selector: "eui-dropdown", inputs: { e2eAttr: "e2eAttr", tabIndex: "tabIndex", width: "width", position: "position", isDropDownRightAligned: "isDropDownRightAligned", isClosedOnClickInside: "isClosedOnClickInside", isLabelUpdatedFromSelectedItem: "isLabelUpdatedFromSelectedItem", isExpandOnHover: "isExpandOnHover", hasTabNavigation: "hasTabNavigation" }, host: { properties: { "attr.role": "this.role", "class": "this.cssClasses" } }, queries: [{ propertyName: "euiDropdownItems", predicate: EuiDropdownItemComponent, descendants: true }], viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true }, { propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #triggerRef class=\"eui-dropdown__trigger-container\" (click)=\"onTriggerClicked($event)\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n class=\"eui-dropdown__panel-container\"\n [style.width]=\"width\"\n [tabindex]=\"tabIndex\"\n (click)=\"onClick()\">\n <ng-content select=\"eui-dropdown-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".eui-dropdown .eui-dropdown{display:none}.eui-dropdown .eui-dropdown__trigger-container{display:inline-flex}.eui-dropdown__panel{position:inherit}.eui-dropdown__panel eui-dropdown-content{display:block}.eui-dropdown__panel-container{background:var(--eui-base-color-white);border-radius:var(--eui-base-border-radius);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-base-color-grey-5)}.eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-dropdown__panel-container .eui-dropdown-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s)}.eui-dropdown__panel-container .eui-dropdown-item:hover{background-color:var(--eui-base-color-grey-10)}.eui-dropdown__panel-container .eui-dropdown-item:disabled{cursor:default}.eui-dropdown__panel-container .eui-dropdown-item:disabled:hover,.eui-dropdown__panel-container .eui-dropdown-item:disabled:focus{background:none}.eui-dropdown__panel-container .eui-dropdown-item--active{background-color:var(--eui-base-color-primary-10)}.eui-dropdown__panel-container .eui-dropdown-item--active:active:not([readonly]),.eui-dropdown__panel-container .eui-dropdown-item--active:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-dropdown__panel-container .eui-dropdown-item--active [tabindex=\"0\"]:active:not([readonly]),.eui-dropdown__panel-container .eui-dropdown-item--active [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-dropdown__panel-container .eui-dropdown-item--active:disabled{background:none}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [openClose], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
466
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.1", type: EuiDropdownComponent, selector: "eui-dropdown", inputs: { e2eAttr: "e2eAttr", tabIndex: "tabIndex", width: "width", position: "position", isDropDownRightAligned: "isDropDownRightAligned", isClosedOnClickInside: "isClosedOnClickInside", isLabelUpdatedFromSelectedItem: "isLabelUpdatedFromSelectedItem", isExpandOnHover: "isExpandOnHover", hasTabNavigation: "hasTabNavigation" }, host: { properties: { "attr.role": "this.role", "class": "this.cssClasses" } }, queries: [{ propertyName: "euiDropdownItems", predicate: EuiDropdownItemComponent, descendants: true }], viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true }, { propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div #triggerRef class=\"eui-dropdown__trigger-container\" (click)=\"onTriggerClicked($event)\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n class=\"eui-dropdown__panel-container\"\n [style.width]=\"width\"\n [tabindex]=\"tabIndex\"\n (click)=\"onClick()\">\n <ng-content select=\"eui-dropdown-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".eui-dropdown .eui-dropdown{display:none}.eui-dropdown .eui-dropdown__trigger-container{display:inline-flex}.eui-dropdown__panel{position:inherit}.eui-dropdown__panel eui-dropdown-content{display:block}.eui-dropdown__panel-container{background:var(--eui-base-color-white);border-radius:var(--eui-base-border-radius);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-base-color-grey-5)}.eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-dropdown__panel-container .eui-dropdown-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex;min-height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs))}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s)}.eui-dropdown-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-dropdown-item:disabled{pointer-events:none;color:var(--eui-base-color-grey-50);font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-style:italic}.eui-dropdown-item:disabled:hover,.eui-dropdown-item:disabled:focus{background:none}.eui-dropdown-item--active{background-color:var(--eui-base-color-primary-10)!important;outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:-2px!important}.eui-dropdown-item--active:disabled{background:none!important}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [openClose], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
467
467
  }
468
468
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.1", ngImport: i0, type: EuiDropdownComponent, decorators: [{
469
469
  type: Component,
470
- args: [{ selector: 'eui-dropdown', animations: [openClose], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div #triggerRef class=\"eui-dropdown__trigger-container\" (click)=\"onTriggerClicked($event)\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n class=\"eui-dropdown__panel-container\"\n [style.width]=\"width\"\n [tabindex]=\"tabIndex\"\n (click)=\"onClick()\">\n <ng-content select=\"eui-dropdown-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".eui-dropdown .eui-dropdown{display:none}.eui-dropdown .eui-dropdown__trigger-container{display:inline-flex}.eui-dropdown__panel{position:inherit}.eui-dropdown__panel eui-dropdown-content{display:block}.eui-dropdown__panel-container{background:var(--eui-base-color-white);border-radius:var(--eui-base-border-radius);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-base-color-grey-5)}.eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-dropdown__panel-container .eui-dropdown-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s)}.eui-dropdown__panel-container .eui-dropdown-item:hover{background-color:var(--eui-base-color-grey-10)}.eui-dropdown__panel-container .eui-dropdown-item:disabled{cursor:default}.eui-dropdown__panel-container .eui-dropdown-item:disabled:hover,.eui-dropdown__panel-container .eui-dropdown-item:disabled:focus{background:none}.eui-dropdown__panel-container .eui-dropdown-item--active{background-color:var(--eui-base-color-primary-10)}.eui-dropdown__panel-container .eui-dropdown-item--active:active:not([readonly]),.eui-dropdown__panel-container .eui-dropdown-item--active:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-dropdown__panel-container .eui-dropdown-item--active [tabindex=\"0\"]:active:not([readonly]),.eui-dropdown__panel-container .eui-dropdown-item--active [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-dropdown__panel-container .eui-dropdown-item--active:disabled{background:none}\n"] }]
470
+ args: [{ selector: 'eui-dropdown', animations: [openClose], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div #triggerRef class=\"eui-dropdown__trigger-container\" (click)=\"onTriggerClicked($event)\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n class=\"eui-dropdown__panel-container\"\n [style.width]=\"width\"\n [tabindex]=\"tabIndex\"\n (click)=\"onClick()\">\n <ng-content select=\"eui-dropdown-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".eui-dropdown .eui-dropdown{display:none}.eui-dropdown .eui-dropdown__trigger-container{display:inline-flex}.eui-dropdown__panel{position:inherit}.eui-dropdown__panel eui-dropdown-content{display:block}.eui-dropdown__panel-container{background:var(--eui-base-color-white);border-radius:var(--eui-base-border-radius);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-base-color-grey-5)}.eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-dropdown__panel-container .eui-dropdown-item{background:none;border:none;box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex;min-height:calc(var(--eui-base-spacing-m) + var(--eui-base-spacing-2xs))}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex;margin-left:var(--eui-base-spacing-s)}.eui-dropdown-item:hover{background-color:var(--eui-base-color-grey-5)}.eui-dropdown-item:disabled{pointer-events:none;color:var(--eui-base-color-grey-50);font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-style:italic}.eui-dropdown-item:disabled:hover,.eui-dropdown-item:disabled:focus{background:none}.eui-dropdown-item--active{background-color:var(--eui-base-color-primary-10)!important;outline:2px solid var(--eui-base-color-accessible-focus)!important;outline-offset:-2px!important}.eui-dropdown-item--active:disabled{background:none!important}\n"] }]
471
471
  }], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ViewContainerRef }, { type: i1$1.ScrollDispatcher }, { type: EuiDropdownService }], propDecorators: { e2eAttr: [{
472
472
  type: Input
473
473
  }], tabIndex: [{