@eui/components 18.0.0-next.31 → 18.0.0-next.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/components/CollapsedBreadcrumbComponent.html +1 -1
- package/docs/components/EuiAlertComponent.html +1 -1
- package/docs/components/EuiDateRangeSelectorComponent.html +1 -20
- package/docs/components/EuiDatepickerComponent.html +1 -20
- package/docs/components/EuiDiscussionThreadItemComponent.html +1 -1
- package/docs/components/EuiMenuComponent.html +2 -42
- package/docs/components/EuiNotificationItemV2Component.html +1 -1
- package/docs/components/EuiTableFilterComponent.html +1 -1
- package/docs/components/EuiTableSortableColComponent.html +1 -1
- package/docs/components/EuiTimepickerComponent.html +1 -1
- package/docs/dependencies.html +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/directives/eui-resizable/eui-resizable.component.mjs +2 -2
- package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +3 -3
- package/esm2022/eui-alert/eui-alert.component.mjs +3 -3
- package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +6 -3
- package/esm2022/eui-avatar/eui-avatar.component.mjs +2 -2
- package/esm2022/eui-badge/eui-badge.component.mjs +2 -2
- package/esm2022/eui-block-content/eui-block-content.component.mjs +2 -2
- package/esm2022/eui-block-document/eui-block-document.component.mjs +2 -2
- package/esm2022/eui-button/eui-button.component.mjs +2 -2
- package/esm2022/eui-button-group/eui-button-group.component.mjs +2 -2
- package/esm2022/eui-button-v2/eui-button-v2.component.mjs +2 -2
- package/esm2022/eui-card/eui-card.component.mjs +2 -2
- package/esm2022/eui-chip/eui-chip.component.mjs +2 -2
- package/esm2022/eui-dashboard-button/eui-dashboard-button.component.mjs +2 -2
- package/esm2022/eui-dashboard-card/eui-dashboard-card.component.mjs +2 -2
- package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +3 -5
- package/esm2022/eui-datepicker/eui-datepicker.component.mjs +3 -5
- package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +2 -2
- package/esm2022/eui-dialog/eui-dialog.component.mjs +2 -2
- package/esm2022/eui-discussion-thread/eui-discussion-thread-item.component.mjs +3 -3
- package/esm2022/eui-discussion-thread/eui-discussion-thread.component.mjs +2 -2
- package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +2 -2
- package/esm2022/eui-dropdown/eui-dropdown.component.mjs +3 -3
- package/esm2022/eui-ecl-date-block/eui-ecl-date-block.component.mjs +2 -2
- package/esm2022/eui-ecl-label/eui-ecl-label.component.mjs +2 -2
- package/esm2022/eui-feedback-message/eui-feedback-message.component.mjs +2 -2
- package/esm2022/eui-fieldset/eui-fieldset.component.mjs +2 -2
- package/esm2022/eui-file-upload/eui-file-upload.component.mjs +2 -2
- package/esm2022/eui-growl/eui-growl.component.mjs +2 -2
- package/esm2022/eui-icon/eui-icon-svg-button/eui-icon-svg-button.component.mjs +2 -2
- package/esm2022/eui-icon/eui-icon-svg.component.mjs +4 -4
- package/esm2022/eui-icon-toggle/eui-icon-toggle.component.mjs +2 -2
- package/esm2022/eui-input-checkbox/eui-input-checkbox.component.mjs +2 -2
- package/esm2022/eui-input-group/eui-input-group.component.mjs +2 -2
- package/esm2022/eui-input-number/eui-input-number.component.mjs +2 -2
- package/esm2022/eui-input-radio/eui-input-radio.component.mjs +2 -2
- package/esm2022/eui-input-text/eui-input-text.component.mjs +2 -2
- package/esm2022/eui-label/eui-label.component.mjs +2 -2
- package/esm2022/eui-language-selector/language-selector.component.mjs +2 -2
- package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +2 -2
- package/esm2022/eui-list/eui-list.component.mjs +2 -2
- package/esm2022/eui-menu/eui-menu-item.component.mjs +2 -2
- package/esm2022/eui-menu/eui-menu.component.mjs +3 -6
- package/esm2022/eui-overlay/eui-overlay.component.mjs +2 -2
- package/esm2022/eui-page/eui-page.component.mjs +2 -2
- package/esm2022/eui-popover/eui-popover.component.mjs +2 -2
- package/esm2022/eui-progress-bar/eui-progress-bar.component.mjs +2 -2
- package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +2 -2
- package/esm2022/eui-select/eui-select.component.mjs +2 -2
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +2 -2
- package/esm2022/eui-skeleton/eui-skeleton.component.mjs +2 -2
- package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +3 -3
- package/esm2022/eui-table/eui-table.component.mjs +2 -2
- package/esm2022/eui-table/filter/eui-table-filter.component.mjs +3 -3
- package/esm2022/eui-table/sortable-col/eui-table-sortable-col.component.mjs +3 -3
- package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +2 -2
- package/esm2022/eui-tabs/eui-tabs.component.mjs +2 -2
- package/esm2022/eui-textarea/eui-textarea.component.mjs +2 -2
- package/esm2022/eui-timebar/eui-timebar.component.mjs +2 -2
- package/esm2022/eui-timeline/eui-timeline-item.component.mjs +2 -2
- package/esm2022/eui-timeline/eui-timeline.component.mjs +2 -2
- package/esm2022/eui-timepicker/eui-timepicker.component.mjs +3 -3
- package/esm2022/eui-tree/eui-tree.component.mjs +2 -2
- package/esm2022/eui-tree-list/eui-tree-list.component.mjs +2 -2
- package/esm2022/eui-wizard/eui-wizard-step.component.mjs +2 -2
- package/esm2022/eui-wizard/eui-wizard.component.mjs +2 -2
- package/esm2022/externals/charts/chart/chart.component.mjs +2 -2
- package/esm2022/externals/eui-editor/eui-editor.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-footer/footer.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-header/header.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header-user-profile/sidebar-header-user-profile.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-top-message/top-message.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app.component.mjs +2 -2
- package/esm2022/layout/eui-breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2022/layout/eui-breadcrumb/collapsed-breadcrumb/collapsed-breadcrumb.component.mjs +3 -3
- package/esm2022/layout/eui-breadcrumb/item/breadcrumb-item.component.mjs +2 -2
- package/esm2022/layout/eui-footer/footer.component.mjs +2 -2
- package/esm2022/layout/eui-header/header.component.mjs +2 -2
- package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +2 -2
- package/esm2022/layout/eui-notifications-v2/eui-notification-item.component.mjs +3 -3
- package/esm2022/layout/eui-notifications-v2/eui-notifications.component.mjs +2 -2
- package/esm2022/layout/eui-search/search.component.mjs +2 -2
- package/esm2022/layout/eui-toolbar/toolbar.component.mjs +2 -2
- package/esm2022/layout/eui-user-profile/user-profile.component.mjs +2 -2
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts +1 -2
- package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
- package/eui-datepicker/eui-datepicker.component.d.ts +1 -2
- package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
- package/eui-icon/eui-icon-svg.component.d.ts.map +1 -1
- package/eui-menu/eui-menu.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +4 -4
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/fesm2022/eui-components-eui-alert.mjs +10 -10
- package/fesm2022/eui-components-eui-alert.mjs.map +2 -2
- package/fesm2022/eui-components-eui-autocomplete.mjs +5 -2
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +2 -2
- package/fesm2022/eui-components-eui-avatar.mjs +2 -2
- package/fesm2022/eui-components-eui-avatar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-badge.mjs +2 -2
- package/fesm2022/eui-components-eui-badge.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-content.mjs +2 -2
- package/fesm2022/eui-components-eui-block-content.mjs.map +1 -1
- package/fesm2022/eui-components-eui-block-document.mjs +2 -2
- package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button-group.mjs +2 -2
- package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button-v2.mjs +2 -2
- package/fesm2022/eui-components-eui-button-v2.mjs.map +1 -1
- package/fesm2022/eui-components-eui-button.mjs +2 -2
- package/fesm2022/eui-components-eui-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-card.mjs +2 -2
- package/fesm2022/eui-components-eui-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip.mjs +2 -2
- package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-button.mjs +2 -2
- package/fesm2022/eui-components-eui-dashboard-button.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dashboard-card.mjs +2 -2
- package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
- package/fesm2022/eui-components-eui-date-range-selector.mjs +5 -7
- package/fesm2022/eui-components-eui-date-range-selector.mjs.map +2 -2
- package/fesm2022/eui-components-eui-datepicker.mjs +5 -7
- package/fesm2022/eui-components-eui-datepicker.mjs.map +2 -2
- package/fesm2022/eui-components-eui-dialog.mjs +4 -4
- package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2022/eui-components-eui-discussion-thread.mjs +4 -4
- package/fesm2022/eui-components-eui-discussion-thread.mjs.map +2 -2
- package/fesm2022/eui-components-eui-dropdown.mjs +4 -4
- package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
- package/fesm2022/eui-components-eui-ecl-date-block.mjs +2 -2
- package/fesm2022/eui-components-eui-ecl-date-block.mjs.map +1 -1
- package/fesm2022/eui-components-eui-ecl-label.mjs +2 -2
- package/fesm2022/eui-components-eui-feedback-message.mjs +2 -2
- package/fesm2022/eui-components-eui-feedback-message.mjs.map +1 -1
- package/fesm2022/eui-components-eui-fieldset.mjs +2 -2
- package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
- package/fesm2022/eui-components-eui-file-upload.mjs +2 -2
- package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2022/eui-components-eui-growl.mjs +2 -2
- package/fesm2022/eui-components-eui-growl.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs +2 -2
- package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-icon.mjs +2 -5
- package/fesm2022/eui-components-eui-icon.mjs.map +2 -2
- package/fesm2022/eui-components-eui-input-checkbox.mjs +2 -2
- package/fesm2022/eui-components-eui-input-checkbox.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-group.mjs +2 -2
- package/fesm2022/eui-components-eui-input-group.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-number.mjs +2 -2
- package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-radio.mjs +2 -2
- package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-text.mjs +2 -2
- package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
- package/fesm2022/eui-components-eui-label.mjs +2 -2
- package/fesm2022/eui-components-eui-label.mjs.map +1 -1
- package/fesm2022/eui-components-eui-language-selector.mjs +2 -2
- package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
- package/fesm2022/eui-components-eui-list.mjs +4 -4
- package/fesm2022/eui-components-eui-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +4 -7
- package/fesm2022/eui-components-eui-menu.mjs.map +2 -2
- package/fesm2022/eui-components-eui-overlay.mjs +2 -2
- package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
- package/fesm2022/eui-components-eui-page.mjs +2 -2
- package/fesm2022/eui-components-eui-page.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +2 -2
- package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-bar.mjs +2 -2
- package/fesm2022/eui-components-eui-progress-bar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-progress-circle.mjs +2 -2
- package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-select.mjs +2 -2
- package/fesm2022/eui-components-eui-select.mjs.map +1 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +2 -2
- package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-skeleton.mjs +2 -2
- package/fesm2022/eui-components-eui-skeleton.mjs.map +1 -1
- package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
- package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +6 -6
- package/fesm2022/eui-components-eui-table.mjs.map +2 -2
- package/fesm2022/eui-components-eui-tabs.mjs +4 -4
- package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
- package/fesm2022/eui-components-eui-textarea.mjs +2 -2
- package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timebar.mjs +2 -2
- package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timeline.mjs +4 -4
- package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
- package/fesm2022/eui-components-eui-timepicker.mjs +14 -14
- package/fesm2022/eui-components-eui-timepicker.mjs.map +2 -2
- package/fesm2022/eui-components-eui-tree-list.mjs +2 -2
- package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree.mjs +2 -2
- package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
- package/fesm2022/eui-components-eui-wizard.mjs +4 -4
- package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
- package/fesm2022/eui-components-externals-charts.mjs +2 -2
- package/fesm2022/eui-components-externals-charts.mjs.map +1 -1
- package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +36 -102
- package/fesm2022/eui-components-layout.mjs.map +2 -2
- package/package.json +9 -9
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../eui-autocomplete/validators/force-selection-from-data.validator.ts", "../../eui-autocomplete/animations/animations.ts", "../../eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.ts", "../../eui-autocomplete/eui-autocomplete-option/eui-autocomplete-option.component.html", "../../eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.ts", "../../eui-autocomplete/eui-autocomplete-option-group/eui-autocomplete-option-group.component.html", "../../eui-autocomplete/eui-autocomplete.component.ts", "../../eui-autocomplete/eui-autocomplete.component.html", "../../eui-autocomplete/eui-autocomplete.module.ts"],
|
4
|
-
"sourcesContent": ["import { AbstractControl } from '@angular/forms';\n\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n/**\n * @description\n * Validator checking if the user choose the value in the panel.\n * \n * @usageNotes\n * ```typescript\n * autocompleteData: EuiAutoCompleteItem[] = [\n * { id: 1, label: 'Ananas' },\n * { id: 2, label: 'Apple' },\n * { id: 3, label: 'Banana' },\n * ]\n * const autocomplete = new FormControl({ label: 'abcdef' }, euiAutocompleteForceSelectionFromData);\n * console.log(autocomplete.errors); // { isInData: { isInData: false, invalidValues: { label: 'abcdef' } } }\n * ```\n *\n * @returns A validator function that returns an error with the `isInData` to false and a list of invalid values if the validation\n * check fails, otherwise `null`.\n */\nexport const euiAutocompleteForceSelectionFromData = (control: AbstractControl<EuiAutoCompleteItem | EuiAutoCompleteItem[]>):\n { isInData: { isInData: boolean; invalidValues: EuiAutoCompleteItem | EuiAutoCompleteItem[] } } | null => {\n if (control.value) {\n const isInData = Array.isArray(control.value) ? control.value.every(obj => 'id' in obj) : control.value.id !== undefined;\n const invalidValues = Array.isArray(control.value) ? control.value.filter(v => v.id === undefined) : control.value;\n\n return !isInData ? { isInData: { isInData, invalidValues } } : null;\n }\n\n return null;\n};\n", "import { animate, AnimationTriggerMetadata, group, state, style, transition, trigger } from '@angular/animations';\n\nexport const panelAnimation: AnimationTriggerMetadata = trigger('panelAnimation', [\n state(\n 'void, hidden',\n style({\n opacity: 0,\n transform: 'scaleY(0.8)',\n }),\n ),\n transition(':enter, hidden => visible', [\n group([\n animate('0.03s linear', style({ opacity: 1 })),\n animate('0.12s cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scaleY(1)' })),\n ]),\n ]),\n transition(':leave, visible => hidden', [animate('0.075s linear', style({ opacity: 0 }))]),\n]);\n", "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-autocomplete-option',\n templateUrl: './eui-autocomplete-option.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiAutocompleteOptionComponent {\n @HostBinding('attr.role') role = 'option';\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-autocomplete-option'),\n this.isActive ? 'eui-autocomplete-option--active' : '',\n this.isDisabled ? 'eui-autocomplete-option--disabled' : '',\n this.isGroupItem ? 'eui-autocomplete-option--group-item' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input({ transform: booleanAttribute }) isActive = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isGroupItem = false;\n\n constructor(private baseStatesDirective: BaseStatesDirective) {}\n\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-autocomplete-option-group',\n templateUrl: './eui-autocomplete-option-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteOptionGroupComponent {\n @HostBinding('attr.role') role = 'optgroup';\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-autocomplete-option-group'].join(' ').trim();\n }\n\n @Input() label: string;\n\n}\n", "<ng-content></ng-content>\n", "import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n HostBinding,\n AfterViewInit,\n ViewContainerRef,\n ViewChild,\n TemplateRef,\n ElementRef,\n Input,\n EventEmitter,\n Output,\n Self,\n Optional,\n ChangeDetectorRef,\n ContentChildren,\n QueryList,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl, Validators } from '@angular/forms';\nimport { BehaviorSubject, Subject, Subscription, filter, fromEvent, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayRef, PositionStrategy, RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { CdkScrollable, CdkVirtualScrollViewport, ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\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 { 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 @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-autocomplete'),\n 'eui-autocomplete--chips-position-' + this.chipsPosition,\n ]\n .join(' ')\n .trim();\n }\n\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() visibleOptions = 5;\n @Input() matching: 'startWith' | 'contains' = 'contains';\n @Input() placeholder = '';\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n @Input() groupBy: string;\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() classList: string = null;\n @Input() panelWidth: string | number;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n @Input({ transform: booleanAttribute }) isFreeValueAllowed = true;\n @Input({ transform: booleanAttribute }) isReadonly = false;\n @Input({ transform: booleanAttribute }) isLoading = false;\n @Input({ transform: booleanAttribute }) hasChips = false;\n @Input({ transform: booleanAttribute }) isAsync = false;\n @Input({ transform: booleanAttribute }) isChipsSorted = false;\n @Input({ transform: booleanAttribute }) isItemsSorted = false;\n @Input({ transform: booleanAttribute }) isChipsRemovable = true;\n @Input({ transform: booleanAttribute }) isDuplicateValueAllowed = false;\n @Input({ transform: booleanAttribute }) isAddOnBlur = false;\n @Input({ transform: booleanAttribute }) isForceSelection = false;\n @Input({ transform: numberAttribute }) maxVisibleChipsCount = null;\n @Input({ transform: numberAttribute }) chipsLabelTruncateCount = null;\n @Input({ transform: booleanAttribute }) isMaxVisibleChipsOpened = false;\n @Input({ transform: booleanAttribute }) isChipsDragAndDrop = false;\n\n public autocompleteOptions = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public selectedOptionIndex = 0;\n public autocompleteControl = new FormControl<string>('');\n public isDisabled = false;\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedOptions = new BehaviorSubject<{ [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }>({});\n public globalOptionIndex = 0;\n public itemSize = 48;\n public autocompleteOptionTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n public autocompleteOptGroupTemplate: TemplateRef<{ $implicit: { label: string } }>;\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<ElementRef>;\n @ViewChild('inputContainerRef') inputContainerRef: ElementRef;\n @ViewChild('virtualScrolling') virtualScrolling: CdkVirtualScrollViewport;\n @ViewChild('input', { read: ElementRef }) input: ElementRef;\n\n @Output() panelClose = new EventEmitter();\n @Output() panelOpen = new EventEmitter();\n @Output() inputFocus = new EventEmitter();\n @Output() inputBlur = new EventEmitter();\n @Output() clear = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private overlayRef: OverlayRef;\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private templatePortal: TemplatePortal<unknown>;\n private keyboardOptionSelectorHandlerSubscription = new Subscription();\n private addOnBlurClickHandlerSubscription = new Subscription();\n private isForceSelectionSubscription = new Subscription();\n private keyboardSubscription = new Subscription();\n private autocompleteOptionsSubscription = new Subscription();\n private scrollDispatcherSubscription = new Subscription();\n private windowResizeSubscription = new Subscription();\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private TOP = new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, 0, [\n 'eui-autocomplete-position',\n 'eui-autocomplete-position--top',\n ]);\n private BOTTOM = new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 0, [\n 'eui-autocomplete-position',\n 'eui-autocomplete-position--bottom',\n ]);\n private preferredPositons: ConnectionPositionPair[] = [this.BOTTOM, this.TOP];\n\n constructor(\n private overlay: Overlay,\n private cd: ChangeDetectorRef,\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef,\n private liveAnnouncer: LiveAnnouncer,\n private scrollDispatcher: ScrollDispatcher,\n private baseStatesDirective: BaseStatesDirective,\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) => ({ ...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.updateInputAriaRequiredAttribute(this.control);\n this.control.statusChanges.pipe(takeUntil(this.destroy$)).subscribe((status) => {\n this.autocompleteControl.setErrors(this.control.errors);\n });\n this.control.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value: string) => {\n this.selectedOptionIndex = 0;\n if (!this.isOpen) {\n this.openPanel();\n }\n\n this.setOptions(value, this.isItemsSorted);\n\n if (this.hasChips) {\n if (!value) {\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const foundItem = this.autocompleteData.find((d) => d.label.toLowerCase().trim() === value.toLowerCase().trim());\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n value ? this.onChange({ label: value }) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.setOptions('', this.isItemsSorted);\n }\n }\n }\n\n this.inputChange.emit(value as string);\n });\n\n if (!this.isAsync) {\n this.setOptions(Array.isArray(this.value) ? '' : this.value?.label, this.isItemsSorted);\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n\n this.templates.forEach((item) => {\n if (item.getType() === 'dropdownOption') {\n this.autocompleteOptionTemplate = item.template;\n }\n if (item.getType() === 'dropdownOptGroup') {\n this.autocompleteOptGroupTemplate = item.template;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n this.isForceSelectionSubscription.unsubscribe();\n this.keyboardSubscription.unsubscribe();\n this.autocompleteOptionsSubscription.unsubscribe();\n this.windowResizeSubscription.unsubscribe();\n }\n\n get cdkVirtualScrollViewport(): number {\n if (this.groupBy) {\n const filteredOptionGroups: string[] = this.autocompleteOptions.value\n .map(item => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self))\n .filter((optionGroup: string) => {\n return (\n this.autocompleteOptions.value.some(\n (option) => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === optionGroup,\n )\n );\n })\n .filter((optionGroup: string, index, array: string[]) => array.indexOf(optionGroup) === index);\n\n if (this.autocompleteOptions.value.length >= this.visibleOptions) {\n return this.visibleOptions * this.itemSize;\n } else {\n const scrollItems = this.autocompleteOptions.value.length + filteredOptionGroups.length;\n return (scrollItems > this.visibleOptions ? this.visibleOptions : scrollItems) * this.itemSize;\n }\n } else {\n return this.autocompleteOptions.value.length >= this.visibleOptions ?\n this.visibleOptions * this.itemSize :\n this.autocompleteOptions.value.length * this.itemSize;\n }\n }\n\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n get hasOptionsResult(): boolean {\n return this.autocompleteOptions.value.length > 0;\n }\n\n public openPanel(): void {\n if (!this.isOpen && !this.isReadonly) {\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.input)\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: CdkScrollable) => {\n 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 this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((e) => {\n const targetElement = e.target as HTMLElement;\n const clearElement = this.elementRef.nativeElement.querySelector('.eui-sprite-eui-close');\n const isElementOrChildOfElement = (element: HTMLElement, parentElement: HTMLElement): boolean => {\n while (element) {\n if (element === parentElement) {\n return true;\n }\n element = element.parentElement;\n }\n return false;\n };\n\n const isClearableButton = targetElement.classList.contains('eui-sprite-eui-close');\n const isInput = targetElement.classList.contains('eui-autocomplete__input');\n\n if (!isClearableButton && !isInput && !isElementOrChildOfElement(targetElement, clearElement)) {\n this.closePanel();\n }\n\n if (isClearableButton && !this.elementRef.nativeElement.contains(targetElement)) {\n this.closePanel();\n }\n\n if (isInput && !this.elementRef.nativeElement.contains(targetElement)) {\n this.closePanel();\n }\n\n if ((e.target as HTMLElement).classList.contains('eui-autocomplete__input')) {\n e.stopPropagation();\n }\n });\n this.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n this.closePanel();\n }\n });\n\n this.autocompleteOptionsSubscription = this.autocompleteOptions.subscribe((autocompleteOptions) => {\n this.overlayRef.removePanelClass('eui-autocomplete__panel-container--no-option');\n if (autocompleteOptions.length === 0) {\n this.selectedOptionIndex = 0;\n this.overlayRef.addPanelClass('eui-autocomplete__panel-container--no-option');\n }\n });\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[0]?.label);\n\n let visibleRangeStart = 0;\n let visibleRangeEnd = this.visibleOptions - 1;\n this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.input.nativeElement, 'keydown')\n .pipe(\n filter((e: KeyboardEvent) => e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Enter' || e.code === 'Tab'),\n takeUntil(this.destroy$),\n )\n .subscribe((e: KeyboardEvent) => {\n if (e) {\n if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions.value.length - 1) {\n this.selectedOptionIndex++;\n this.cd.detectChanges();\n \n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n e.preventDefault();\n }\n if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {\n this.selectedOptionIndex--;\n this.cd.detectChanges();\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n e.preventDefault();\n }\n\n const cIndex = this.selectedOptionIndex - this.virtualScrolling?.getRenderedRange().start;\n\n if (e.code === 'ArrowDown' && cIndex > visibleRangeEnd - visibleRangeStart - visibleRangeEnd) {\n let nbOptionsGroup = 0;\n const nbOptions = this.autocompleteOptions.value.length;\n if (this.groupBy) {\n Object.keys(this.groupedOptions.value).forEach(groupedOption => {\n if (this.groupedOptions.value[groupedOption].options.length > 0 &&\n this.selectedOptionIndex > this.groupedOptions.value[groupedOption].ancestorLength - 1) {\n nbOptionsGroup ++;\n }\n });\n }\n\n if ((this.selectedOptionIndex + nbOptionsGroup) > visibleRangeEnd && visibleRangeEnd <= (nbOptions + nbOptionsGroup)) {\n this.virtualScrolling.scrollToIndex((this.selectedOptionIndex + nbOptionsGroup) - visibleRangeEnd + visibleRangeStart);\n visibleRangeStart++;\n visibleRangeEnd++;\n }\n }\n if (e.code === 'ArrowUp' && cIndex < visibleRangeStart) {\n if (this.selectedOptionIndex < visibleRangeStart) {\n this.virtualScrolling.scrollToIndex(this.selectedOptionIndex);\n visibleRangeStart--;\n visibleRangeEnd--;\n }\n }\n if (e.code === 'Enter') {\n if (this.hasOptionsResult) {\n if (this.groupBy) {\n const options = [].concat(...Object.values(this.groupedOptions.value).map(group => group.options));\n this.onOptionSelected(options[this.selectedOptionIndex]);\n } else {\n this.onOptionSelected(this.autocompleteOptions.value[this.selectedOptionIndex]);\n }\n } else if (this.hasChips && this.isFreeValueAllowed) {\n this.add(this.autocompleteControl.value);\n }\n }\n if (e.code === 'Tab') {\n if (this.isOpen) {\n if (this.isAddOnBlur && this.hasChips && this.autocompleteControl.value?.trim().length > 0) {\n this.add(this.autocompleteControl.value.trim());\n }\n if (this.isForceSelection) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n }\n this.closePanel();\n }\n }\n }\n });\n \n this.addOnBlurClickHandlerSubscription.unsubscribe();\n if (this.isAddOnBlur ) {\n this.addOnBlurClickHandlerSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option') && this.hasChips && this.autocompleteControl.value?.trim().length > 0) {\n this.add(this.autocompleteControl.value.trim());\n }\n });\n }\n\n this.isForceSelectionSubscription.unsubscribe();\n if (this.isForceSelection) {\n this.isForceSelectionSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option')) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n }\n });\n }\n\n this.isOpen$.next(true);\n this.panelOpen.emit();\n }\n }\n\n public closePanel(): void {\n this.selectedOptionIndex = 0;\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.cd.detectChanges();\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n this.autocompleteOptionsSubscription.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.windowResizeSubscription.unsubscribe();\n this.panelClose.emit();\n }\n\n public onOptionSelected(e: EuiAutoCompleteItem): void {\n if (!e.isDisabled) {\n if (this.hasChips) {\n this.autocompleteDataSelected.push({ ...e, euiInternalId: 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()) || { 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 optionsTrackByFn(index: number, item: EuiAutoCompleteItem): string | number {\n return item.id;\n }\n\n public writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void {\n this.value = value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected = value ? ([...value as EuiAutoCompleteItem[]]) : [];\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n const inputValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.setOptions(inputValue, this.isItemsSorted);\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n \n if (this.isOpen) {\n this.closePanel();\n }\n\n this.cd.detectChanges();\n }\n\n public registerOnChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n public onClear(): void {\n this.clear.emit();\n }\n\n public onFocus(): void {\n this.keyboardSubscription = fromEvent(this.input.nativeElement, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => \n /^[a-zA-Z0-9]$/.test(event.key) ||\n event.key === 'Space' ||\n event.key === 'ArrowDown' ||\n event.key === 'Backspace',\n ),\n )\n .subscribe((event: KeyboardEvent) => {\n if (!this.isOpen) {\n this.openPanel();\n event.stopPropagation();\n }\n\n if (this.chipsPosition === 'inside' && event.key === 'Backspace' && (!this.autocompleteControl.value || this.autocompleteControl.value.length === 0)) {\n const removed = this.chips.pop();\n this.onChipRemove({ chips: [...this.chips], removed });\n\n this.cd.detectChanges();\n\n this.overlayRef.updateSize({ width: this.inputContainerRef.nativeElement.clientWidth });\n this.overlayRef.updatePosition();\n }\n });\n\n if (!this.isOpen) {\n this.openPanel();\n }\n\n this.inputFocus.emit();\n }\n\n public onBlur(): void {\n this.keyboardSubscription.unsubscribe();\n this.inputBlur.emit();\n this.onTouch();\n }\n\n public onChipRemove(e: { chips: EuiChip[]; removed: EuiChip | { chip: EuiChip; event: Event } }): void {\n const event = e as { chips: EuiChip[]; removed: EuiChip };\n const itemRemoved = this.autocompleteDataSelected.find(i => i.id === event.removed.id);\n\n this.autocompleteDataSelected = this.autocompleteDataSelected\n .filter(i => event.chips.find(c => c.id === i.id))\n .filter(i => event.chips.find(c => c.euiInternalId === i.euiInternalId));\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n\n this.setOptions('', this.isItemsSorted);\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemove.emit(itemRemoved);\n }\n\n public onChipDropped(e: EuiChipDragDrop): void {\n const 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: boolean): void {\n this.autocompleteOptions.next(isItemsSorted ? (this.orderArray(this.filterOptions(value), this.itemsSortOrder)) : this.filterOptions(value));\n\n if (this.groupBy) {\n const { groupedOptions, distinctOptionGroups } = this.groupingHandler(this.autocompleteOptions.value, this.groupBy);\n\n this.groupedOptions.next(groupedOptions);\n this.distinctOptionGroups = distinctOptionGroups;\n }\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.inputContainerRef.nativeElement as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private getScrollStrategy(): RepositionScrollStrategy {\n return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n }\n\n private filterOptions(inputValue: string): EuiAutoCompleteItem[] {\n let data: EuiAutoCompleteItem[] = [];\n if (inputValue) {\n data = this.autocompleteData.filter((autocompleteItem) => {\n if (\n this.matching === 'contains' &&\n autocompleteItem.label.toLowerCase().indexOf(inputValue.toString().toLowerCase()) !== -1\n ) {\n return autocompleteItem;\n }\n if (\n this.matching === 'startWith' &&\n autocompleteItem.label.toLowerCase().substr(0, inputValue.toString().length) === inputValue.toLowerCase()\n ) {\n return autocompleteItem;\n }\n });\n } else {\n data = this.autocompleteData;\n }\n\n if (this.hasChips) {\n data = data.filter(d => !this.isDuplicateValueAllowed ? !this.autocompleteDataSelected.some(selectedItem => d.id === selectedItem.id) : true);\n }\n\n if (this.isItemsSorted) {\n data = this.orderArray(data, this.itemsSortOrder);\n }\n\n return data;\n }\n\n private mapToChip(items: EuiAutoCompleteItem[]): EuiChip[] {\n const chips = items.map((selected) => {\n return new EuiChip({\n id: selected.id,\n euiInternalId: selected.euiInternalId,\n label: selected.label,\n typeClass: selected.typeClass,\n isOutline: selected.isOutline,\n isRounded: selected.isRounded,\n sizeClass: selected.sizeClass,\n isRemovable: selected.isRemovable,\n tooltipMessage: selected.tooltip?.tooltipMessage,\n tooltip: new EuiChipTooltip(selected.tooltip),\n iconClass: selected.iconClass,\n });\n });\n\n return this.isChipsSorted && chips.length > 0 ? (this.orderArray(chips, this.chipsSortOrder) as EuiChip[]) : chips;\n }\n\n private orderArray<T extends { label: string; }>(tab: T[], sortOrder: 'ASC' | 'DESC'): T[] {\n tab.sort((a: T, b: T) => {\n const aObj = a.label.toLowerCase();\n const bObj = b.label.toLowerCase();\n\n if (sortOrder === 'ASC') {\n if (aObj < bObj) {\n return -1;\n }\n if (aObj > bObj) {\n return 1;\n }\n return 0;\n } else {\n if (aObj > bObj) {\n return -1;\n }\n if (aObj < bObj) {\n return 1;\n }\n return 0;\n }\n });\n\n return tab;\n }\n\n private groupingHandler(options: EuiAutoCompleteItem[], groupBy: string): \n { groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }, distinctOptionGroups: string[] } {\n const distinctGroups: string[] = this.autocompleteData.map(item => groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self));\n const distinctOptionGroups: string[] = [...new Set(distinctGroups)].sort((a: string, b: string) => (a > b ? 1 : -1));\n const groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } } = {};\n \n let ancestorLength = 0;\n for (const group of distinctOptionGroups) {\n let o = options.filter(option => groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === group);\n if (this.isItemsSorted) {\n o = this.orderArray(o, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n groupedOptions[group] = { options: o, ancestorLength };\n ancestorLength += o.length;\n }\n \n return { groupedOptions, distinctOptionGroups };\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 55;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private onChange = <T>(change?: T): void => {\n /** empty */\n };\n\n private onTouch = (): void => {\n /** empty */\n };\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n this.cd.markForCheck();\n }\n}\n", "<div class=\"eui-autocomplete__wrapper\">\n @if (chipsPosition === 'bottom') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n @if (hasChips) {\n <eui-chip-list\n [chips]=\"chips\"\n [isChipsRemovable]=\"isChipsRemovable && !isReadonly\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDrop)=\"onChipDropped($event)\"\n (chipDragStart)=\"onChipDragStarted($event)\"\n (chipDragRelease)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n }\n @if (chipsPosition === 'top') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n</div>\n\n<ng-template #control>\n <div *ngIf=\"!hasChips || (hasChips && !isReadonly)\" class=\"eui-autocomplete__input-container\" #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 [attr.aria-controls]=\"isOpen ? 'eui-autocomplete__panel' : null\"\n [attr.aria-label]=\"autocompleteControl.value?.length > 0 ? autocompleteControl.value : 'Input field without value'\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\" />\n </div>\n</ng-template>\n\n<ng-template #templatePortalContent>\n <div\n id=\"eui-autocomplete__panel\"\n class=\"eui-autocomplete__panel\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n role=\"listbox\"\n aria-live=\"polite\"\n aria-label=\"Autocomplete panel\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n tabindex=\"0\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n @if (groupBy) {\n @for (distinctOptionGroup of distinctOptionGroups; let i = $index; track distinctOptionGroup) {\n @if ((groupedOptions | async)[distinctOptionGroup].options.length > 0) {\n <eui-autocomplete-option-group [label]=\"distinctOptionGroup\">\n <div class=\"eui-autocomplete-option-group__label\">\n @if (autocompleteOptGroupTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\">\n </ng-template>\n } @else {\n {{ distinctOptionGroup }}\n }\n </div>\n <div class=\"eui-autocomplete-option-group__options\">\n @for (autocompleteOption of (groupedOptions | async)[distinctOptionGroup].options; let j = $index; track autocompleteOption.id) {\n <eui-autocomplete-option\n isGroupItem\n [isActive]=\"selectedOptionIndex === (groupedOptions | async)[distinctOptionGroup].ancestorLength + j\"\n [isDisabled]=\"autocompleteOption.isDisabled\"\n [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n [euiVariant]=\"autocompleteOption.typeClass\"\n (click)=\"onOptionSelected(autocompleteOption)\">\n @if (autocompleteOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n } @else {\n @if (autocompleteOption.iconClass) {\n <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n }\n {{ autocompleteOption.label }}\n }\n </eui-autocomplete-option>\n }\n </div>\n </eui-autocomplete-option-group>\n }\n }\n } @else {\n <eui-autocomplete-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: optionsTrackByFn\"\n [isActive]=\"selectedOptionIndex === i\"\n [isDisabled]=\"autocompleteOption.isDisabled\"\n [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n [euiVariant]=\"autocompleteOption.typeClass\"\n (click)=\"onOptionSelected(autocompleteOption)\">\n @if (autocompleteOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n } @else {\n @if (autocompleteOption.iconClass) {\n <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n }\n {{ autocompleteOption.label }}\n }\n </eui-autocomplete-option>\n }\n </cdk-virtual-scroll-viewport>\n </div> \n</ng-template>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\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"],
|
5
|
-
"mappings": "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",
|
4
|
+
"sourcesContent": ["import { AbstractControl } from '@angular/forms';\n\nimport { EuiAutoCompleteItem } from '../models/eui-autocomplete-item.model';\n\n/**\n * @description\n * Validator checking if the user choose the value in the panel.\n * \n * @usageNotes\n * ```typescript\n * autocompleteData: EuiAutoCompleteItem[] = [\n * { id: 1, label: 'Ananas' },\n * { id: 2, label: 'Apple' },\n * { id: 3, label: 'Banana' },\n * ]\n * const autocomplete = new FormControl({ label: 'abcdef' }, euiAutocompleteForceSelectionFromData);\n * console.log(autocomplete.errors); // { isInData: { isInData: false, invalidValues: { label: 'abcdef' } } }\n * ```\n *\n * @returns A validator function that returns an error with the `isInData` to false and a list of invalid values if the validation\n * check fails, otherwise `null`.\n */\nexport const euiAutocompleteForceSelectionFromData = (control: AbstractControl<EuiAutoCompleteItem | EuiAutoCompleteItem[]>):\n { isInData: { isInData: boolean; invalidValues: EuiAutoCompleteItem | EuiAutoCompleteItem[] } } | null => {\n if (control.value) {\n const isInData = Array.isArray(control.value) ? control.value.every(obj => 'id' in obj) : control.value.id !== undefined;\n const invalidValues = Array.isArray(control.value) ? control.value.filter(v => v.id === undefined) : control.value;\n\n return !isInData ? { isInData: { isInData, invalidValues } } : null;\n }\n\n return null;\n};\n", "import { animate, AnimationTriggerMetadata, group, state, style, transition, trigger } from '@angular/animations';\n\nexport const panelAnimation: AnimationTriggerMetadata = trigger('panelAnimation', [\n state(\n 'void, hidden',\n style({\n opacity: 0,\n transform: 'scaleY(0.8)',\n }),\n ),\n transition(':enter, hidden => visible', [\n group([\n animate('0.03s linear', style({ opacity: 1 })),\n animate('0.12s cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scaleY(1)' })),\n ]),\n ]),\n transition(':leave, visible => hidden', [animate('0.075s linear', style({ opacity: 0 }))]),\n]);\n", "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-autocomplete-option',\n templateUrl: './eui-autocomplete-option.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiVariant',\n ],\n },\n ],\n})\nexport class EuiAutocompleteOptionComponent {\n @HostBinding('attr.role') role = 'option';\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-autocomplete-option'),\n this.isActive ? 'eui-autocomplete-option--active' : '',\n this.isDisabled ? 'eui-autocomplete-option--disabled' : '',\n this.isGroupItem ? 'eui-autocomplete-option--group-item' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input({ transform: booleanAttribute }) isActive = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n @Input({ transform: booleanAttribute }) isGroupItem = false;\n\n constructor(private baseStatesDirective: BaseStatesDirective) {}\n\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-autocomplete-option-group',\n templateUrl: './eui-autocomplete-option-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteOptionGroupComponent {\n @HostBinding('attr.role') role = 'optgroup';\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-autocomplete-option-group'].join(' ').trim();\n }\n\n @Input() label: string;\n\n}\n", "<ng-content></ng-content>\n", "import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n OnInit,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n HostBinding,\n AfterViewInit,\n ViewContainerRef,\n ViewChild,\n TemplateRef,\n ElementRef,\n Input,\n EventEmitter,\n Output,\n Self,\n Optional,\n ChangeDetectorRef,\n ContentChildren,\n QueryList,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormControlStatus, NgControl, Validators } from '@angular/forms';\nimport { BehaviorSubject, Subject, Subscription, filter, fromEvent, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayRef, PositionStrategy, RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { CdkScrollable, CdkVirtualScrollViewport, ScrollDispatcher } from '@angular/cdk/scrolling';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\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 { 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 @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-autocomplete'),\n 'eui-autocomplete--chips-position-' + this.chipsPosition,\n ]\n .join(' ')\n .trim();\n }\n\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() visibleOptions = 5;\n @Input() matching: 'startWith' | 'contains' = 'contains';\n @Input() placeholder = '';\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() itemsSortOrder: 'ASC' | 'DESC' = 'ASC';\n @Input() chipsPosition: 'top' | 'bottom' | 'inside' = 'top';\n @Input() groupBy: string;\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() classList: string = null;\n @Input() panelWidth: string | number;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n @Input({ transform: booleanAttribute }) isFreeValueAllowed = true;\n @Input({ transform: booleanAttribute }) isReadonly = false;\n @Input({ transform: booleanAttribute }) isLoading = false;\n @Input({ transform: booleanAttribute }) hasChips = false;\n @Input({ transform: booleanAttribute }) isAsync = false;\n @Input({ transform: booleanAttribute }) isChipsSorted = false;\n @Input({ transform: booleanAttribute }) isItemsSorted = false;\n @Input({ transform: booleanAttribute }) isChipsRemovable = true;\n @Input({ transform: booleanAttribute }) isDuplicateValueAllowed = false;\n @Input({ transform: booleanAttribute }) isAddOnBlur = false;\n @Input({ transform: booleanAttribute }) isForceSelection = false;\n @Input({ transform: numberAttribute }) maxVisibleChipsCount = null;\n @Input({ transform: numberAttribute }) chipsLabelTruncateCount = null;\n @Input({ transform: booleanAttribute }) isMaxVisibleChipsOpened = false;\n @Input({ transform: booleanAttribute }) isChipsDragAndDrop = false;\n\n public autocompleteOptions = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public selectedOptionIndex = 0;\n public autocompleteControl = new FormControl<string>('');\n public isDisabled = false;\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedOptions = new BehaviorSubject<{ [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }>({});\n public globalOptionIndex = 0;\n public itemSize = 48;\n public autocompleteOptionTemplate: TemplateRef<{ $implicit: EuiAutoCompleteItem }>;\n public autocompleteOptGroupTemplate: TemplateRef<{ $implicit: { label: string } }>;\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<ElementRef>;\n @ViewChild('inputContainerRef') inputContainerRef: ElementRef;\n @ViewChild('virtualScrolling') virtualScrolling: CdkVirtualScrollViewport;\n @ViewChild('input', { read: ElementRef }) input: ElementRef;\n\n @Output() panelClose = new EventEmitter();\n @Output() panelOpen = new EventEmitter();\n @Output() inputFocus = new EventEmitter();\n @Output() inputBlur = new EventEmitter();\n @Output() clear = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n protected hasAriaRequiredAttribute: boolean;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private overlayRef: OverlayRef;\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private templatePortal: TemplatePortal<unknown>;\n private keyboardOptionSelectorHandlerSubscription = new Subscription();\n private addOnBlurClickHandlerSubscription = new Subscription();\n private isForceSelectionSubscription = new Subscription();\n private keyboardSubscription = new Subscription();\n private autocompleteOptionsSubscription = new Subscription();\n private scrollDispatcherSubscription = new Subscription();\n private windowResizeSubscription = new Subscription();\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private TOP = new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, 0, [\n 'eui-autocomplete-position',\n 'eui-autocomplete-position--top',\n ]);\n private BOTTOM = new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 0, [\n 'eui-autocomplete-position',\n 'eui-autocomplete-position--bottom',\n ]);\n private preferredPositons: ConnectionPositionPair[] = [this.BOTTOM, this.TOP];\n\n constructor(\n private overlay: Overlay,\n private cd: ChangeDetectorRef,\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef,\n private liveAnnouncer: LiveAnnouncer,\n private scrollDispatcher: ScrollDispatcher,\n private baseStatesDirective: BaseStatesDirective,\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) => ({ ...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.updateInputAriaRequiredAttribute(this.control);\n this.control.statusChanges.pipe(takeUntil(this.destroy$)).subscribe((status: FormControlStatus) => {\n this.autocompleteControl.setErrors(this.control.errors);\n if(this.control.untouched) {\n this.autocompleteControl.markAsUntouched();\n }\n });\n this.control.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {\n this.updateInputAriaRequiredAttribute(this.control);\n });\n }\n\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value: string) => {\n this.selectedOptionIndex = 0;\n if (!this.isOpen) {\n this.openPanel();\n }\n\n this.setOptions(value, this.isItemsSorted);\n\n if (this.hasChips) {\n if (!value) {\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const foundItem = this.autocompleteData.find((d) => d.label.toLowerCase().trim() === value.toLowerCase().trim());\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n value ? this.onChange({ label: value }) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.setOptions('', this.isItemsSorted);\n }\n }\n }\n\n this.inputChange.emit(value as string);\n });\n\n if (!this.isAsync) {\n this.setOptions(Array.isArray(this.value) ? '' : this.value?.label, this.isItemsSorted);\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n\n this.templates.forEach((item) => {\n if (item.getType() === 'dropdownOption') {\n this.autocompleteOptionTemplate = item.template;\n }\n if (item.getType() === 'dropdownOptGroup') {\n this.autocompleteOptGroupTemplate = item.template;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n this.addOnBlurClickHandlerSubscription.unsubscribe();\n this.isForceSelectionSubscription.unsubscribe();\n this.keyboardSubscription.unsubscribe();\n this.autocompleteOptionsSubscription.unsubscribe();\n this.windowResizeSubscription.unsubscribe();\n }\n\n get cdkVirtualScrollViewport(): number {\n if (this.groupBy) {\n const filteredOptionGroups: string[] = this.autocompleteOptions.value\n .map(item => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self))\n .filter((optionGroup: string) => {\n return (\n this.autocompleteOptions.value.some(\n (option) => this.groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === optionGroup,\n )\n );\n })\n .filter((optionGroup: string, index, array: string[]) => array.indexOf(optionGroup) === index);\n\n if (this.autocompleteOptions.value.length >= this.visibleOptions) {\n return this.visibleOptions * this.itemSize;\n } else {\n const scrollItems = this.autocompleteOptions.value.length + filteredOptionGroups.length;\n return (scrollItems > this.visibleOptions ? this.visibleOptions : scrollItems) * this.itemSize;\n }\n } else {\n return this.autocompleteOptions.value.length >= this.visibleOptions ?\n this.visibleOptions * this.itemSize :\n this.autocompleteOptions.value.length * this.itemSize;\n }\n }\n\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n get hasOptionsResult(): boolean {\n return this.autocompleteOptions.value.length > 0;\n }\n\n public openPanel(): void {\n if (!this.isOpen && !this.isReadonly) {\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.input)\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: CdkScrollable) => {\n 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 this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((e) => {\n const targetElement = e.target as HTMLElement;\n const clearElement = this.elementRef.nativeElement.querySelector('.eui-sprite-eui-close');\n const isElementOrChildOfElement = (element: HTMLElement, parentElement: HTMLElement): boolean => {\n while (element) {\n if (element === parentElement) {\n return true;\n }\n element = element.parentElement;\n }\n return false;\n };\n\n const isClearableButton = targetElement.classList.contains('eui-sprite-eui-close');\n const isInput = targetElement.classList.contains('eui-autocomplete__input');\n\n if (!isClearableButton && !isInput && !isElementOrChildOfElement(targetElement, clearElement)) {\n this.closePanel();\n }\n\n if (isClearableButton && !this.elementRef.nativeElement.contains(targetElement)) {\n this.closePanel();\n }\n\n if (isInput && !this.elementRef.nativeElement.contains(targetElement)) {\n this.closePanel();\n }\n\n if ((e.target as HTMLElement).classList.contains('eui-autocomplete__input')) {\n e.stopPropagation();\n }\n });\n this.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n this.closePanel();\n }\n });\n\n this.autocompleteOptionsSubscription = this.autocompleteOptions.subscribe((autocompleteOptions) => {\n this.overlayRef.removePanelClass('eui-autocomplete__panel-container--no-option');\n if (autocompleteOptions.length === 0) {\n this.selectedOptionIndex = 0;\n this.overlayRef.addPanelClass('eui-autocomplete__panel-container--no-option');\n }\n });\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[0]?.label);\n\n let visibleRangeStart = 0;\n let visibleRangeEnd = this.visibleOptions - 1;\n this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.input.nativeElement, 'keydown')\n .pipe(\n filter((e: KeyboardEvent) => e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Enter' || e.code === 'Tab'),\n takeUntil(this.destroy$),\n )\n .subscribe((e: KeyboardEvent) => {\n if (e) {\n if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions.value.length - 1) {\n this.selectedOptionIndex++;\n this.cd.detectChanges();\n \n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n e.preventDefault();\n }\n if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {\n this.selectedOptionIndex--;\n this.cd.detectChanges();\n\n const liveAnnouncerSource = this.groupBy ? Object.values(this.groupedOptions.value).flatMap(group => group.options) : this.autocompleteOptions.value;\n\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(liveAnnouncerSource[this.selectedOptionIndex].label);\n\n e.preventDefault();\n }\n\n const cIndex = this.selectedOptionIndex - this.virtualScrolling?.getRenderedRange().start;\n\n if (e.code === 'ArrowDown' && cIndex > visibleRangeEnd - visibleRangeStart - visibleRangeEnd) {\n let nbOptionsGroup = 0;\n const nbOptions = this.autocompleteOptions.value.length;\n if (this.groupBy) {\n Object.keys(this.groupedOptions.value).forEach(groupedOption => {\n if (this.groupedOptions.value[groupedOption].options.length > 0 &&\n this.selectedOptionIndex > this.groupedOptions.value[groupedOption].ancestorLength - 1) {\n nbOptionsGroup ++;\n }\n });\n }\n\n if ((this.selectedOptionIndex + nbOptionsGroup) > visibleRangeEnd && visibleRangeEnd <= (nbOptions + nbOptionsGroup)) {\n this.virtualScrolling.scrollToIndex((this.selectedOptionIndex + nbOptionsGroup) - visibleRangeEnd + visibleRangeStart);\n visibleRangeStart++;\n visibleRangeEnd++;\n }\n }\n if (e.code === 'ArrowUp' && cIndex < visibleRangeStart) {\n if (this.selectedOptionIndex < visibleRangeStart) {\n this.virtualScrolling.scrollToIndex(this.selectedOptionIndex);\n visibleRangeStart--;\n visibleRangeEnd--;\n }\n }\n if (e.code === 'Enter') {\n if (this.hasOptionsResult) {\n if (this.groupBy) {\n const options = [].concat(...Object.values(this.groupedOptions.value).map(group => group.options));\n this.onOptionSelected(options[this.selectedOptionIndex]);\n } else {\n this.onOptionSelected(this.autocompleteOptions.value[this.selectedOptionIndex]);\n }\n } else if (this.hasChips && this.isFreeValueAllowed) {\n this.add(this.autocompleteControl.value);\n }\n }\n if (e.code === 'Tab') {\n if (this.isOpen) {\n if (this.isAddOnBlur && this.hasChips && this.autocompleteControl.value?.trim().length > 0) {\n this.add(this.autocompleteControl.value.trim());\n }\n if (this.isForceSelection) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n }\n this.closePanel();\n }\n }\n }\n });\n \n this.addOnBlurClickHandlerSubscription.unsubscribe();\n if (this.isAddOnBlur ) {\n this.addOnBlurClickHandlerSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option') && this.hasChips && this.autocompleteControl.value?.trim().length > 0) {\n this.add(this.autocompleteControl.value.trim());\n }\n });\n }\n\n this.isForceSelectionSubscription.unsubscribe();\n if (this.isForceSelection) {\n this.isForceSelectionSubscription = fromEvent(document, 'click').pipe(takeUntil(this.destroy$)).subscribe((event: PointerEvent) => {\n if (!(event.target as HTMLElement).classList.contains('eui-autocomplete-option')) {\n this.input.nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n }\n });\n }\n\n this.isOpen$.next(true);\n this.panelOpen.emit();\n }\n }\n\n public closePanel(): void {\n this.selectedOptionIndex = 0;\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.cd.detectChanges();\n this.keyboardOptionSelectorHandlerSubscription.unsubscribe();\n this.autocompleteOptionsSubscription.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.windowResizeSubscription.unsubscribe();\n this.panelClose.emit();\n }\n\n public onOptionSelected(e: EuiAutoCompleteItem): void {\n if (!e.isDisabled) {\n if (this.hasChips) {\n this.autocompleteDataSelected.push({ ...e, euiInternalId: 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()) || { 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 optionsTrackByFn(index: number, item: EuiAutoCompleteItem): string | number {\n return item.id;\n }\n\n public writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void {\n this.value = value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected = value ? ([...value as EuiAutoCompleteItem[]]) : [];\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted);\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n const inputValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.setOptions(inputValue, this.isItemsSorted);\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n \n if (this.isOpen) {\n this.closePanel();\n }\n\n this.cd.detectChanges();\n }\n\n public registerOnChange(fn: () => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n public onClear(): void {\n this.clear.emit();\n }\n\n public onFocus(): void {\n this.keyboardSubscription = fromEvent(this.input.nativeElement, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => \n /^[a-zA-Z0-9]$/.test(event.key) ||\n event.key === 'Space' ||\n event.key === 'ArrowDown' ||\n event.key === 'Backspace',\n ),\n )\n .subscribe((event: KeyboardEvent) => {\n if (!this.isOpen) {\n this.openPanel();\n event.stopPropagation();\n }\n\n if (this.chipsPosition === 'inside' && event.key === 'Backspace' && (!this.autocompleteControl.value || this.autocompleteControl.value.length === 0)) {\n const removed = this.chips.pop();\n this.onChipRemove({ chips: [...this.chips], removed });\n\n this.cd.detectChanges();\n\n this.overlayRef.updateSize({ width: this.inputContainerRef.nativeElement.clientWidth });\n this.overlayRef.updatePosition();\n }\n });\n\n if (!this.isOpen) {\n this.openPanel();\n }\n\n this.inputFocus.emit();\n }\n\n public onBlur(): void {\n this.keyboardSubscription.unsubscribe();\n this.inputBlur.emit();\n this.onTouch();\n }\n\n public onChipRemove(e: { chips: EuiChip[]; removed: EuiChip | { chip: EuiChip; event: Event } }): void {\n const event = e as { chips: EuiChip[]; removed: EuiChip };\n const itemRemoved = this.autocompleteDataSelected.find(i => i.id === event.removed.id);\n\n this.autocompleteDataSelected = this.autocompleteDataSelected\n .filter(i => event.chips.find(c => c.id === i.id))\n .filter(i => event.chips.find(c => c.euiInternalId === i.euiInternalId));\n this.chips = this.mapToChip(this.autocompleteDataSelected);\n\n this.setOptions('', this.isItemsSorted);\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemove.emit(itemRemoved);\n }\n\n public onChipDropped(e: EuiChipDragDrop): void {\n const 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: boolean): void {\n this.autocompleteOptions.next(isItemsSorted ? (this.orderArray(this.filterOptions(value), this.itemsSortOrder)) : this.filterOptions(value));\n\n if (this.groupBy) {\n const { groupedOptions, distinctOptionGroups } = this.groupingHandler(this.autocompleteOptions.value, this.groupBy);\n\n this.groupedOptions.next(groupedOptions);\n this.distinctOptionGroups = distinctOptionGroups;\n }\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.inputContainerRef.nativeElement as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private getScrollStrategy(): RepositionScrollStrategy {\n return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n }\n\n private filterOptions(inputValue: string): EuiAutoCompleteItem[] {\n let data: EuiAutoCompleteItem[] = [];\n if (inputValue) {\n data = this.autocompleteData.filter((autocompleteItem) => {\n if (\n this.matching === 'contains' &&\n autocompleteItem.label.toLowerCase().indexOf(inputValue.toString().toLowerCase()) !== -1\n ) {\n return autocompleteItem;\n }\n if (\n this.matching === 'startWith' &&\n autocompleteItem.label.toLowerCase().substr(0, inputValue.toString().length) === inputValue.toLowerCase()\n ) {\n return autocompleteItem;\n }\n });\n } else {\n data = this.autocompleteData;\n }\n\n if (this.hasChips) {\n data = data.filter(d => !this.isDuplicateValueAllowed ? !this.autocompleteDataSelected.some(selectedItem => d.id === selectedItem.id) : true);\n }\n\n if (this.isItemsSorted) {\n data = this.orderArray(data, this.itemsSortOrder);\n }\n\n return data;\n }\n\n private mapToChip(items: EuiAutoCompleteItem[]): EuiChip[] {\n const chips = items.map((selected) => {\n return new EuiChip({\n id: selected.id,\n euiInternalId: selected.euiInternalId,\n label: selected.label,\n typeClass: selected.typeClass,\n isOutline: selected.isOutline,\n isRounded: selected.isRounded,\n sizeClass: selected.sizeClass,\n isRemovable: selected.isRemovable,\n tooltipMessage: selected.tooltip?.tooltipMessage,\n tooltip: new EuiChipTooltip(selected.tooltip),\n iconClass: selected.iconClass,\n });\n });\n\n return this.isChipsSorted && chips.length > 0 ? (this.orderArray(chips, this.chipsSortOrder) as EuiChip[]) : chips;\n }\n\n private orderArray<T extends { label: string; }>(tab: T[], sortOrder: 'ASC' | 'DESC'): T[] {\n tab.sort((a: T, b: T) => {\n const aObj = a.label.toLowerCase();\n const bObj = b.label.toLowerCase();\n\n if (sortOrder === 'ASC') {\n if (aObj < bObj) {\n return -1;\n }\n if (aObj > bObj) {\n return 1;\n }\n return 0;\n } else {\n if (aObj > bObj) {\n return -1;\n }\n if (aObj < bObj) {\n return 1;\n }\n return 0;\n }\n });\n\n return tab;\n }\n\n private groupingHandler(options: EuiAutoCompleteItem[], groupBy: string): \n { groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } }, distinctOptionGroups: string[] } {\n const distinctGroups: string[] = this.autocompleteData.map(item => groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), item || self));\n const distinctOptionGroups: string[] = [...new Set(distinctGroups)].sort((a: string, b: string) => (a > b ? 1 : -1));\n const groupedOptions: { [id: string]: { options: EuiAutoCompleteItem[], ancestorLength: number } } = {};\n \n let ancestorLength = 0;\n for (const group of distinctOptionGroups) {\n let o = options.filter(option => groupBy.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), option || self) === group);\n if (this.isItemsSorted) {\n o = this.orderArray(o, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n groupedOptions[group] = { options: o, ancestorLength };\n ancestorLength += o.length;\n }\n \n return { groupedOptions, distinctOptionGroups };\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 55;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private onChange = <T>(change?: T): void => {\n /** empty */\n };\n\n private onTouch = (): void => {\n /** empty */\n };\n\n /**\n * Updates the `aria-required` attribute on the input element.\n * @private\n */\n private updateInputAriaRequiredAttribute(control: NgControl): void {\n this.hasAriaRequiredAttribute = control?.control?.hasValidator(Validators.required);\n this.cd.markForCheck();\n }\n}\n", "<div class=\"eui-autocomplete__wrapper\">\n @if (chipsPosition === 'bottom') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n @if (hasChips) {\n <eui-chip-list\n [chips]=\"chips\"\n [isChipsRemovable]=\"isChipsRemovable && !isReadonly\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDrop)=\"onChipDropped($event)\"\n (chipDragStart)=\"onChipDragStarted($event)\"\n (chipDragRelease)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n }\n @if (chipsPosition === 'top') {\n <ng-container *ngTemplateOutlet=\"control\"></ng-container>\n }\n</div>\n\n<ng-template #control>\n <div *ngIf=\"!hasChips || (hasChips && !isReadonly)\" class=\"eui-autocomplete__input-container\" #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 [attr.aria-controls]=\"isOpen ? 'eui-autocomplete__panel' : null\"\n [attr.aria-label]=\"autocompleteControl.value?.length > 0 ? autocompleteControl.value : 'Input field without value'\"\n [attr.aria-required]=\"hasAriaRequiredAttribute ? 'true' : null\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\" />\n </div>\n</ng-template>\n\n<ng-template #templatePortalContent>\n <div\n id=\"eui-autocomplete__panel\"\n class=\"eui-autocomplete__panel\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n role=\"listbox\"\n aria-live=\"polite\"\n aria-label=\"Autocomplete panel\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize\"\n tabindex=\"0\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n @if (groupBy) {\n @for (distinctOptionGroup of distinctOptionGroups; let i = $index; track distinctOptionGroup) {\n @if ((groupedOptions | async)[distinctOptionGroup].options.length > 0) {\n <eui-autocomplete-option-group [label]=\"distinctOptionGroup\">\n <div class=\"eui-autocomplete-option-group__label\">\n @if (autocompleteOptGroupTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\">\n </ng-template>\n } @else {\n {{ distinctOptionGroup }}\n }\n </div>\n <div class=\"eui-autocomplete-option-group__options\">\n @for (autocompleteOption of (groupedOptions | async)[distinctOptionGroup].options; let j = $index; track autocompleteOption.id) {\n <eui-autocomplete-option\n isGroupItem\n [isActive]=\"selectedOptionIndex === (groupedOptions | async)[distinctOptionGroup].ancestorLength + j\"\n [isDisabled]=\"autocompleteOption.isDisabled\"\n [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n [euiVariant]=\"autocompleteOption.typeClass\"\n (click)=\"onOptionSelected(autocompleteOption)\">\n @if (autocompleteOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n } @else {\n @if (autocompleteOption.iconClass) {\n <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n }\n {{ autocompleteOption.label }}\n }\n </eui-autocomplete-option>\n }\n </div>\n </eui-autocomplete-option-group>\n }\n }\n } @else {\n <eui-autocomplete-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: optionsTrackByFn\"\n [isActive]=\"selectedOptionIndex === i\"\n [isDisabled]=\"autocompleteOption.isDisabled\"\n [attr.aria-disabled]=\"autocompleteOption.isDisabled\"\n [euiVariant]=\"autocompleteOption.typeClass\"\n (click)=\"onOptionSelected(autocompleteOption)\">\n @if (autocompleteOptionTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\">\n </ng-template>\n } @else {\n @if (autocompleteOption.iconClass) {\n <span class=\"{{ autocompleteOption.iconClass }}\"></span>\n }\n {{ autocompleteOption.label }}\n }\n </eui-autocomplete-option>\n }\n </cdk-virtual-scroll-viewport>\n </div> \n</ng-template>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\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"],
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["Component", "HostBinding", "ChangeDetectionStrategy", "ViewEncapsulation", "Input", "i0", "Component", "ChangeDetectionStrategy", "ViewEncapsulation", "HostBinding", "Input", "booleanAttribute", "BaseStatesDirective", "group", "liveAnnouncerSource", "i0"]
|
7
7
|
}
|
@@ -27,7 +27,7 @@ var EuiAvatarComponent = class _EuiAvatarComponent {
|
|
27
27
|
this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: _EuiAvatarComponent, deps: [{ token: i1.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component });
|
28
28
|
}
|
29
29
|
static {
|
30
|
-
this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.4", type: _EuiAvatarComponent, selector: "div[euiAvatar], span[euiAvatar], eui-avatar", inputs: { e2eAttr: "e2eAttr", ariaLabel: ["aria-label", "ariaLabel"], hasShadow: ["hasShadow", "hasShadow", booleanAttribute], isShapeSquare: ["isShapeSquare", "isShapeSquare", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasNoBackground: ["hasNoBackground", "hasNoBackground", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr", "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiSizeXS", "euiSizeXS", "euiSizeS", "euiSizeS", "euiSizeL", "euiSizeL", "euiSizeXL", "euiSizeXL", "euiSize2XL", "euiSize2XL", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: '<div *ngIf="hasShadow" class="eui-avatar-shadow"></div>\n\n<div class="eui-avatar-content">\n <ng-content select="eui-avatar-icon"></ng-content>\n <ng-content select="eui-avatar-text"></ng-content>\n <ng-content select="eui-avatar-image"></ng-content>\n <ng-content select="eui-avatar-badge"></ng-content>\n</div>\n', styles: [".eui-avatar{--_size: var(--eui-avatar-size, 3rem);--_icon-size: var(--eui-avatar-icon-size, 1.5rem);--_font-size: var(--eui-avatar-font-size, var(--eui-base-font-size-xl));--_badge-offset: var(--eui-avatar-badge-offset, calc(-.3 * var(--eui-base-spacing-m)));--_bg-color: var(--eui-avatar-bg-color, var(--eui-
|
30
|
+
this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0-next.4", type: _EuiAvatarComponent, selector: "div[euiAvatar], span[euiAvatar], eui-avatar", inputs: { e2eAttr: "e2eAttr", ariaLabel: ["aria-label", "ariaLabel"], hasShadow: ["hasShadow", "hasShadow", booleanAttribute], isShapeSquare: ["isShapeSquare", "isShapeSquare", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasNoBackground: ["hasNoBackground", "hasNoBackground", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "attr.data-e2e": "this.e2eAttr", "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiSizeXS", "euiSizeXS", "euiSizeS", "euiSizeS", "euiSizeL", "euiSizeL", "euiSizeXL", "euiSizeXL", "euiSize2XL", "euiSize2XL", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: '<div *ngIf="hasShadow" class="eui-avatar-shadow"></div>\n\n<div class="eui-avatar-content">\n <ng-content select="eui-avatar-icon"></ng-content>\n <ng-content select="eui-avatar-text"></ng-content>\n <ng-content select="eui-avatar-image"></ng-content>\n <ng-content select="eui-avatar-badge"></ng-content>\n</div>\n', styles: [".eui-avatar{--_size: var(--eui-avatar-size, 3rem);--_icon-size: var(--eui-avatar-icon-size, 1.5rem);--_font-size: var(--eui-avatar-font-size, var(--eui-base-font-size-xl));--_badge-offset: var(--eui-avatar-badge-offset, calc(-.3 * var(--eui-base-spacing-m)));--_bg-color: var(--eui-avatar-bg-color, var(--eui-c-primary));--_color: var(--eui-avatar-color, var(--eui-c-primary-contrast))}.eui-avatar{display:inline-flex;position:relative}.eui-avatar-content{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--_bg-color);box-shadow:var(--eui-base-shadow-1);height:var(--_size);width:var(--_size);position:relative}.eui-avatar-shadow{position:absolute;right:.35rem;height:var(--_size);width:var(--_size);border:.5rem solid var(--eui-c-primary-lighter);border-radius:50%;bottom:.15rem}.eui-avatar-list{display:inline-flex}.eui-avatar-list .eui-avatar:not(:first-child){margin-left:-1rem}.eui-avatar-icon{color:var(--_color)}.eui-avatar-icon .eui-icon-svg{margin-right:0!important;margin-left:0!important;height:var(--_icon-size);width:var(--_icon-size)}.eui-avatar-icon .eui-icon-svg svg{height:var(--_icon-size);width:var(--_icon-size);fill:var(--_color)!important;color:var(--_color)!important}.eui-avatar-text{color:var(--_color);font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700;font-size:var(--_font-size)}.eui-avatar-image{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDUzIDUzIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MyA1MzsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIHN0eWxlPSJmaWxsOiNFN0VDRUQ7IiBkPSJNMTguNjEzLDQxLjU1MmwtNy45MDcsNC4zMTNjLTAuNDY0LDAuMjUzLTAuODgxLDAuNTY0LTEuMjY5LDAuOTAzQzE0LjA0Nyw1MC42NTUsMTkuOTk4LDUzLDI2LjUsNTNjNi40NTQsMCwxMi4zNjctMi4zMSwxNi45NjQtNi4xNDRjLTAuNDI0LTAuMzU4LTAuODg0LTAuNjgtMS4zOTQtMC45MzRsLTguNDY3LTQuMjMzYy0xLjA5NC0wLjU0Ny0xLjc4NS0xLjY2NS0xLjc4NS0yLjg4OHYtMy4zMjJjMC4yMzgtMC4yNzEsMC41MS0wLjYxOSwwLjgwMS0xLjAzYzEuMTU0LTEuNjMsMi4wMjctMy40MjMsMi42MzItNS4zMDRjMS4wODYtMC4zMzUsMS44ODYtMS4zMzgsMS44ODYtMi41M3YtMy41NDZjMC0wLjc4LTAuMzQ3LTEuNDc3LTAuODg2LTEuOTY1di01LjEyNmMwLDAsMS4wNTMtNy45NzctOS43NS03Ljk3N3MtOS43NSw3Ljk3Ny05Ljc1LDcuOTc3djUuMTI2Yy0wLjU0LDAuNDg4LTAuODg2LDEuMTg1LTAuODg2LDEuOTY1djMuNTQ2YzAsMC45MzQsMC40OTEsMS43NTYsMS4yMjYsMi4yMzFjMC44ODYsMy44NTcsMy4yMDYsNi42MzMsMy4yMDYsNi42MzN2My4yNEMyMC4yOTYsMzkuODk5LDE5LjY1LDQwLjk4NiwxOC42MTMsNDEuNTUyeiIvPjxnPjxwYXRoIHN0eWxlPSJmaWxsOiM1NTYwODA7IiBkPSJNMjYuOTUzLDAuMDA0QzEyLjMyLTAuMjQ2LDAuMjU0LDExLjQxNCwwLjAwNCwyNi4wNDdDLTAuMTM4LDM0LjM0NCwzLjU2LDQxLjgwMSw5LjQ0OCw0Ni43NmMwLjM4NS0wLjMzNiwwLjc5OC0wLjY0NCwxLjI1Ny0wLjg5NGw3LjkwNy00LjMxM2MxLjAzNy0wLjU2NiwxLjY4My0xLjY1MywxLjY4My0yLjgzNXYtMy4yNGMwLDAtMi4zMjEtMi43NzYtMy4yMDYtNi42MzNjLTAuNzM0LTAuNDc1LTEuMjI2LTEuMjk2LTEuMjI2LTIuMjMxdi0zLjU0NmMwLTAuNzgsMC4zNDctMS40NzcsMC44ODYtMS45NjV2LTUuMTI2YzAsMC0xLjA1My03Ljk3Nyw5Ljc1LTcuOTc3czkuNzUsNy45NzcsOS43NSw3Ljk3N3Y1LjEyNmMwLjU0LDAuNDg4LDAuODg2LDEuMTg1LDAuODg2LDEuOTY1djMuNTQ2YzAsMS4xOTItMC44LDIuMTk1LTEuODg2LDIuNTNjLTAuNjA1LDEuODgxLTEuNDc4LDMuNjc0LTIuNjMyLDUuMzA0Yy0wLjI5MSwwLjQxMS0wLjU2MywwLjc1OS0wLjgwMSwxLjAzVjM4LjhjMCwxLjIyMywwLjY5MSwyLjM0MiwxLjc4NSwyLjg4OGw4LjQ2Nyw0LjIzM2MwLjUwOCwwLjI1NCwwLjk2NywwLjU3NSwxLjM5LDAuOTMyYzUuNzEtNC43NjIsOS4zOTktMTEuODgyLDkuNTM2LTE5LjlDNTMuMjQ2LDEyLjMyLDQxLjU4NywwLjI1NCwyNi45NTMsMC4wMDR6Ii8+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjwvc3ZnPg==);background-size:cover;height:100%;width:100%}.eui-avatar-image img{border-radius:50%;height:100%;width:100%}.eui-avatar--no-background .eui-avatar-image img{border-radius:0;background-color:var(--eui-c-white)}.eui-avatar-badge{position:absolute;right:var(--_badge-offset)}.eui-avatar-badge--top{top:var(--_badge-offset)}.eui-avatar-badge--bottom{bottom:var(--_badge-offset)}.eui-avatar--primary{--_bg-color: var(--eui-c-primary);--_color: var(--eui-c-primary-contrast)}.eui-avatar--secondary{--_bg-color: var(--eui-c-secondary-bg-light);--_color: var(--eui-c-secondary)}.eui-avatar--info{--_bg-color: var(--eui-c-info);--_color: var(--eui-c-info-contrast)}.eui-avatar--success{--_bg-color: var(--eui-c-success);--_color: var(--eui-c-success-contrast)}.eui-avatar--warning{--_bg-color: var(--eui-c-warning);--_color: var(--eui-c-warning-contrast)}.eui-avatar--danger{--_bg-color: var(--eui-c-danger);--_color: var(--eui-c-danger-contrast)}.eui-avatar--accent{--_bg-color: var(--eui-c-accent);--_color: var(--eui-c-accent-contrast)}.eui-avatar--flat{--_bg-color: var(--eui-c-primary-bg);--_color: var(--eui-c-primary)}.eui-avatar--flat .eui-avatar-content{box-shadow:var(--eui-base-shadow-none)}.eui-avatar--flat.eui-avatar--secondary{--_bg-color: var(--eui-c-secondary-bg-light);--_color: var(--eui-c-secondary)}.eui-avatar--flat.eui-avatar--info{--_bg-color: var(--eui-c-info-bg);--_color: var(--eui-c-info)}.eui-avatar--flat.eui-avatar--success{--_bg-color: var(--eui-c-success-bg);--_color: var(--eui-c-success)}.eui-avatar--flat.eui-avatar--warning{--_bg-color: var(--eui-c-warning-bg);--_color: var(--eui-c-warning)}.eui-avatar--flat.eui-avatar--danger{--_bg-color: var(--eui-c-danger-bg);--_color: var(--eui-c-danger)}.eui-avatar--flat.eui-avatar--accent{--_bg-color: var(--eui-c-accent-bg);--_color: var(--eui-c-accent)}.eui-avatar--no-background{--_bg-color: transparent;--_color: var(--eui-c-primary)}.eui-avatar--no-background .eui-avatar-content{box-shadow:var(--eui-base-shadow-none);border-radius:none}.eui-avatar--no-background.eui-avatar--secondary{--_color: var(--eui-c-secondary)}.eui-avatar--no-background.eui-avatar--info{--_color: var(--eui-c-info)}.eui-avatar--no-background.eui-avatar--success{--_color: var(--eui-c-success)}.eui-avatar--no-background.eui-avatar--warning{--_color: var(--eui-c-warning)}.eui-avatar--no-background.eui-avatar--danger{--_color: var(--eui-c-danger)}.eui-avatar--no-background.eui-avatar--accent{--_color: var(--eui-c-accent)}.eui-avatar--size-xs{--_size: 2rem;--_font-size: var(--eui-base-font-size-xs);--_icon-size: 1rem;--_badge-font-size: var(--eui-base-font-size-xs);--_badge-size: var(--eui-base-spacing-s);--_badge-offset: calc(-.5 * var(--eui-base-spacing-xs))}.eui-avatar--size-s{--_size: 2.5rem;--_font-size: var(--eui-base-font-size-s);--_icon-size: 1.25rem;--_badge-font-size: var(--eui-base-font-size-xs);--_badge-size: var(--eui-base-spacing-s);--_badge-offset: calc(-.85 * var(--eui-base-spacing-xs))}.eui-avatar--size-m{--_size: 3rem;--_font-size: var(--eui-base-font-size-xl);--_icon-size: 1.5rem;--_badge-font-size: var(--eui-base-font-size-s);--_badge-size: var(--eui-base-spacing-m);--_badge-offset: calc(-.3 * var(--eui-base-spacing-m))}.eui-avatar--size-l{--_size: 4rem;--_font-size: var(--eui-base-font-size-2xl);--_icon-size: 1.75rem;--_badge-font-size: var(--eui-base-font-size-m);--_badge-size: var(--eui-base-spacing-m);--_badge-offset: calc(-.3 * var(--eui-base-spacing-m))}.eui-avatar--size-xl{--_size: 5rem;--_font-size: var(--eui-base-font-size-2xl);--_icon-size: 2rem;--_badge-font-size: var(--eui-base-font-size-l);--_badge-size: var(--eui-base-spacing-l);--_badge-offset: calc(-.3 * var(--eui-base-spacing-l))}.eui-avatar--size-2xl{--_size: 6rem;--_font-size: var(--eui-base-font-size-3xl);--_icon-size: 2.5rem;--_badge-font-size: var(--eui-base-font-size-xl);--_badge-size: var(--eui-base-spacing-xl);--_badge-offset: calc(-.3 * var(--eui-base-spacing-xl))}.eui-avatar.eui-avatar--shape-square .eui-avatar-content,.eui-avatar.eui-avatar--shape-square .eui-avatar-image img{border-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
31
31
|
}
|
32
32
|
};
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4", ngImport: i0, type: EuiAvatarComponent, decorators: [{
|
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.4",
|
|
51
51
|
"euiSizeVariant"
|
52
52
|
]
|
53
53
|
}
|
54
|
-
], template: '<div *ngIf="hasShadow" class="eui-avatar-shadow"></div>\n\n<div class="eui-avatar-content">\n <ng-content select="eui-avatar-icon"></ng-content>\n <ng-content select="eui-avatar-text"></ng-content>\n <ng-content select="eui-avatar-image"></ng-content>\n <ng-content select="eui-avatar-badge"></ng-content>\n</div>\n', styles: [".eui-avatar{--_size: var(--eui-avatar-size, 3rem);--_icon-size: var(--eui-avatar-icon-size, 1.5rem);--_font-size: var(--eui-avatar-font-size, var(--eui-base-font-size-xl));--_badge-offset: var(--eui-avatar-badge-offset, calc(-.3 * var(--eui-base-spacing-m)));--_bg-color: var(--eui-avatar-bg-color, var(--eui-
|
54
|
+
], template: '<div *ngIf="hasShadow" class="eui-avatar-shadow"></div>\n\n<div class="eui-avatar-content">\n <ng-content select="eui-avatar-icon"></ng-content>\n <ng-content select="eui-avatar-text"></ng-content>\n <ng-content select="eui-avatar-image"></ng-content>\n <ng-content select="eui-avatar-badge"></ng-content>\n</div>\n', styles: [".eui-avatar{--_size: var(--eui-avatar-size, 3rem);--_icon-size: var(--eui-avatar-icon-size, 1.5rem);--_font-size: var(--eui-avatar-font-size, var(--eui-base-font-size-xl));--_badge-offset: var(--eui-avatar-badge-offset, calc(-.3 * var(--eui-base-spacing-m)));--_bg-color: var(--eui-avatar-bg-color, var(--eui-c-primary));--_color: var(--eui-avatar-color, var(--eui-c-primary-contrast))}.eui-avatar{display:inline-flex;position:relative}.eui-avatar-content{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--_bg-color);box-shadow:var(--eui-base-shadow-1);height:var(--_size);width:var(--_size);position:relative}.eui-avatar-shadow{position:absolute;right:.35rem;height:var(--_size);width:var(--_size);border:.5rem solid var(--eui-c-primary-lighter);border-radius:50%;bottom:.15rem}.eui-avatar-list{display:inline-flex}.eui-avatar-list .eui-avatar:not(:first-child){margin-left:-1rem}.eui-avatar-icon{color:var(--_color)}.eui-avatar-icon .eui-icon-svg{margin-right:0!important;margin-left:0!important;height:var(--_icon-size);width:var(--_icon-size)}.eui-avatar-icon .eui-icon-svg svg{height:var(--_icon-size);width:var(--_icon-size);fill:var(--_color)!important;color:var(--_color)!important}.eui-avatar-text{color:var(--_color);font:normal normal 400 1rem/1.75rem var(--eui-base-font-family);font-weight:700;font-size:var(--_font-size)}.eui-avatar-image{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/PjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDUzIDUzIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MyA1MzsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwYXRoIHN0eWxlPSJmaWxsOiNFN0VDRUQ7IiBkPSJNMTguNjEzLDQxLjU1MmwtNy45MDcsNC4zMTNjLTAuNDY0LDAuMjUzLTAuODgxLDAuNTY0LTEuMjY5LDAuOTAzQzE0LjA0Nyw1MC42NTUsMTkuOTk4LDUzLDI2LjUsNTNjNi40NTQsMCwxMi4zNjctMi4zMSwxNi45NjQtNi4xNDRjLTAuNDI0LTAuMzU4LTAuODg0LTAuNjgtMS4zOTQtMC45MzRsLTguNDY3LTQuMjMzYy0xLjA5NC0wLjU0Ny0xLjc4NS0xLjY2NS0xLjc4NS0yLjg4OHYtMy4zMjJjMC4yMzgtMC4yNzEsMC41MS0wLjYxOSwwLjgwMS0xLjAzYzEuMTU0LTEuNjMsMi4wMjctMy40MjMsMi42MzItNS4zMDRjMS4wODYtMC4zMzUsMS44ODYtMS4zMzgsMS44ODYtMi41M3YtMy41NDZjMC0wLjc4LTAuMzQ3LTEuNDc3LTAuODg2LTEuOTY1di01LjEyNmMwLDAsMS4wNTMtNy45NzctOS43NS03Ljk3N3MtOS43NSw3Ljk3Ny05Ljc1LDcuOTc3djUuMTI2Yy0wLjU0LDAuNDg4LTAuODg2LDEuMTg1LTAuODg2LDEuOTY1djMuNTQ2YzAsMC45MzQsMC40OTEsMS43NTYsMS4yMjYsMi4yMzFjMC44ODYsMy44NTcsMy4yMDYsNi42MzMsMy4yMDYsNi42MzN2My4yNEMyMC4yOTYsMzkuODk5LDE5LjY1LDQwLjk4NiwxOC42MTMsNDEuNTUyeiIvPjxnPjxwYXRoIHN0eWxlPSJmaWxsOiM1NTYwODA7IiBkPSJNMjYuOTUzLDAuMDA0QzEyLjMyLTAuMjQ2LDAuMjU0LDExLjQxNCwwLjAwNCwyNi4wNDdDLTAuMTM4LDM0LjM0NCwzLjU2LDQxLjgwMSw5LjQ0OCw0Ni43NmMwLjM4NS0wLjMzNiwwLjc5OC0wLjY0NCwxLjI1Ny0wLjg5NGw3LjkwNy00LjMxM2MxLjAzNy0wLjU2NiwxLjY4My0xLjY1MywxLjY4My0yLjgzNXYtMy4yNGMwLDAtMi4zMjEtMi43NzYtMy4yMDYtNi42MzNjLTAuNzM0LTAuNDc1LTEuMjI2LTEuMjk2LTEuMjI2LTIuMjMxdi0zLjU0NmMwLTAuNzgsMC4zNDctMS40NzcsMC44ODYtMS45NjV2LTUuMTI2YzAsMC0xLjA1My03Ljk3Nyw5Ljc1LTcuOTc3czkuNzUsNy45NzcsOS43NSw3Ljk3N3Y1LjEyNmMwLjU0LDAuNDg4LDAuODg2LDEuMTg1LDAuODg2LDEuOTY1djMuNTQ2YzAsMS4xOTItMC44LDIuMTk1LTEuODg2LDIuNTNjLTAuNjA1LDEuODgxLTEuNDc4LDMuNjc0LTIuNjMyLDUuMzA0Yy0wLjI5MSwwLjQxMS0wLjU2MywwLjc1OS0wLjgwMSwxLjAzVjM4LjhjMCwxLjIyMywwLjY5MSwyLjM0MiwxLjc4NSwyLjg4OGw4LjQ2Nyw0LjIzM2MwLjUwOCwwLjI1NCwwLjk2NywwLjU3NSwxLjM5LDAuOTMyYzUuNzEtNC43NjIsOS4zOTktMTEuODgyLDkuNTM2LTE5LjlDNTMuMjQ2LDEyLjMyLDQxLjU4NywwLjI1NCwyNi45NTMsMC4wMDR6Ii8+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjwvc3ZnPg==);background-size:cover;height:100%;width:100%}.eui-avatar-image img{border-radius:50%;height:100%;width:100%}.eui-avatar--no-background .eui-avatar-image img{border-radius:0;background-color:var(--eui-c-white)}.eui-avatar-badge{position:absolute;right:var(--_badge-offset)}.eui-avatar-badge--top{top:var(--_badge-offset)}.eui-avatar-badge--bottom{bottom:var(--_badge-offset)}.eui-avatar--primary{--_bg-color: var(--eui-c-primary);--_color: var(--eui-c-primary-contrast)}.eui-avatar--secondary{--_bg-color: var(--eui-c-secondary-bg-light);--_color: var(--eui-c-secondary)}.eui-avatar--info{--_bg-color: var(--eui-c-info);--_color: var(--eui-c-info-contrast)}.eui-avatar--success{--_bg-color: var(--eui-c-success);--_color: var(--eui-c-success-contrast)}.eui-avatar--warning{--_bg-color: var(--eui-c-warning);--_color: var(--eui-c-warning-contrast)}.eui-avatar--danger{--_bg-color: var(--eui-c-danger);--_color: var(--eui-c-danger-contrast)}.eui-avatar--accent{--_bg-color: var(--eui-c-accent);--_color: var(--eui-c-accent-contrast)}.eui-avatar--flat{--_bg-color: var(--eui-c-primary-bg);--_color: var(--eui-c-primary)}.eui-avatar--flat .eui-avatar-content{box-shadow:var(--eui-base-shadow-none)}.eui-avatar--flat.eui-avatar--secondary{--_bg-color: var(--eui-c-secondary-bg-light);--_color: var(--eui-c-secondary)}.eui-avatar--flat.eui-avatar--info{--_bg-color: var(--eui-c-info-bg);--_color: var(--eui-c-info)}.eui-avatar--flat.eui-avatar--success{--_bg-color: var(--eui-c-success-bg);--_color: var(--eui-c-success)}.eui-avatar--flat.eui-avatar--warning{--_bg-color: var(--eui-c-warning-bg);--_color: var(--eui-c-warning)}.eui-avatar--flat.eui-avatar--danger{--_bg-color: var(--eui-c-danger-bg);--_color: var(--eui-c-danger)}.eui-avatar--flat.eui-avatar--accent{--_bg-color: var(--eui-c-accent-bg);--_color: var(--eui-c-accent)}.eui-avatar--no-background{--_bg-color: transparent;--_color: var(--eui-c-primary)}.eui-avatar--no-background .eui-avatar-content{box-shadow:var(--eui-base-shadow-none);border-radius:none}.eui-avatar--no-background.eui-avatar--secondary{--_color: var(--eui-c-secondary)}.eui-avatar--no-background.eui-avatar--info{--_color: var(--eui-c-info)}.eui-avatar--no-background.eui-avatar--success{--_color: var(--eui-c-success)}.eui-avatar--no-background.eui-avatar--warning{--_color: var(--eui-c-warning)}.eui-avatar--no-background.eui-avatar--danger{--_color: var(--eui-c-danger)}.eui-avatar--no-background.eui-avatar--accent{--_color: var(--eui-c-accent)}.eui-avatar--size-xs{--_size: 2rem;--_font-size: var(--eui-base-font-size-xs);--_icon-size: 1rem;--_badge-font-size: var(--eui-base-font-size-xs);--_badge-size: var(--eui-base-spacing-s);--_badge-offset: calc(-.5 * var(--eui-base-spacing-xs))}.eui-avatar--size-s{--_size: 2.5rem;--_font-size: var(--eui-base-font-size-s);--_icon-size: 1.25rem;--_badge-font-size: var(--eui-base-font-size-xs);--_badge-size: var(--eui-base-spacing-s);--_badge-offset: calc(-.85 * var(--eui-base-spacing-xs))}.eui-avatar--size-m{--_size: 3rem;--_font-size: var(--eui-base-font-size-xl);--_icon-size: 1.5rem;--_badge-font-size: var(--eui-base-font-size-s);--_badge-size: var(--eui-base-spacing-m);--_badge-offset: calc(-.3 * var(--eui-base-spacing-m))}.eui-avatar--size-l{--_size: 4rem;--_font-size: var(--eui-base-font-size-2xl);--_icon-size: 1.75rem;--_badge-font-size: var(--eui-base-font-size-m);--_badge-size: var(--eui-base-spacing-m);--_badge-offset: calc(-.3 * var(--eui-base-spacing-m))}.eui-avatar--size-xl{--_size: 5rem;--_font-size: var(--eui-base-font-size-2xl);--_icon-size: 2rem;--_badge-font-size: var(--eui-base-font-size-l);--_badge-size: var(--eui-base-spacing-l);--_badge-offset: calc(-.3 * var(--eui-base-spacing-l))}.eui-avatar--size-2xl{--_size: 6rem;--_font-size: var(--eui-base-font-size-3xl);--_icon-size: 2.5rem;--_badge-font-size: var(--eui-base-font-size-xl);--_badge-size: var(--eui-base-spacing-xl);--_badge-offset: calc(-.3 * var(--eui-base-spacing-xl))}.eui-avatar.eui-avatar--shape-square .eui-avatar-content,.eui-avatar.eui-avatar--shape-square .eui-avatar-image img{border-radius:.25rem}\n"] }]
|
55
55
|
}], ctorParameters: () => [{ type: i1.BaseStatesDirective }], propDecorators: { cssClasses: [{
|
56
56
|
type: HostBinding,
|
57
57
|
args: ["class"]
|
@@ -2,6 +2,6 @@
|
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../eui-avatar/eui-avatar.component.ts", "../../eui-avatar/eui-avatar.component.html", "../../eui-avatar/eui-avatar-list.component.ts", "../../eui-avatar/eui-avatar-list.component.html", "../../eui-avatar/avatar-icon/avatar-icon.component.ts", "../../eui-avatar/avatar-icon/avatar-icon.component.html", "../../eui-avatar/avatar-text/avatar-text.component.ts", "../../eui-avatar/avatar-text/avatar-text.component.html", "../../eui-avatar/avatar-image/avatar-image.component.ts", "../../eui-avatar/avatar-image/avatar-image.component.html", "../../eui-avatar/avatar-badge/avatar-badge.component.ts", "../../eui-avatar/avatar-badge/avatar-badge.component.html", "../../eui-avatar/eui-avatar.module.ts"],
|
4
4
|
"sourcesContent": ["import { Component, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Input, booleanAttribute } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'div[euiAvatar], span[euiAvatar], eui-avatar',\n templateUrl: './eui-avatar.component.html',\n styleUrl: './styles/_index.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSecondary',\n 'euiSuccess',\n 'euiInfo',\n 'euiWarning',\n 'euiDanger',\n 'euiAccent',\n 'euiVariant',\n\n 'euiSizeXS',\n 'euiSizeS',\n 'euiSizeL',\n 'euiSizeXL',\n 'euiSize2XL',\n 'euiSizeVariant',\n ],\n },\n ],\n})\nexport class EuiAvatarComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-avatar'),\n this.isShapeSquare ? 'eui-avatar--shape-square' : '',\n this.isFlat ? 'eui-avatar--flat' : '',\n this.hasNoBackground ? 'eui-avatar--no-background' : '',\n ].join(' ').trim();\n }\n\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-avatar';\n @HostBinding('attr.role') role = 'status';\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'avatar';\n\n @Input({ transform: booleanAttribute }) hasShadow = false;\n @Input({ transform: booleanAttribute }) isShapeSquare = false;\n @Input({ transform: booleanAttribute }) isFlat = false;\n @Input({ transform: booleanAttribute }) hasNoBackground = false;\n\n constructor(\n public baseStatesDirective: BaseStatesDirective,\n ) {}\n}\n", "<div *ngIf=\"hasShadow\" class=\"eui-avatar-shadow\"></div>\n\n<div class=\"eui-avatar-content\">\n <ng-content select=\"eui-avatar-icon\"></ng-content>\n <ng-content select=\"eui-avatar-text\"></ng-content>\n <ng-content select=\"eui-avatar-image\"></ng-content>\n <ng-content select=\"eui-avatar-badge\"></ng-content>\n</div>\n", "import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-avatar-list',\n templateUrl: './eui-avatar-list.component.html',\n})\nexport class EuiAvatarListComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-avatar-list',\n ].join(' ').trim();\n }\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-avatar-icon',\n templateUrl: './avatar-icon.component.html',\n})\nexport class EuiAvatarIconComponent {\n @HostBinding('class') string = 'eui-avatar-icon';\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-avatar-text',\n templateUrl: './avatar-text.component.html',\n})\nexport class EuiAvatarTextComponent {\n @HostBinding('class') string = 'eui-avatar-text';\n}\n", "<ng-content></ng-content>\n", "import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-avatar-image',\n templateUrl: './avatar-image.component.html',\n})\nexport class EuiAvatarImageComponent {\n @HostBinding('class') string = 'eui-avatar-image';\n\n @Input() imageUrl: string;\n}\n", "<ng-container *ngIf=\"imageUrl; else noImage\">\n <img [src]=\"imageUrl\" alt=\"Avatar image\"/>\n</ng-container>\n<ng-template #noImage>\n <ng-content></ng-content>\n</ng-template>\n", "import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'eui-avatar-badge',\n templateUrl: './avatar-badge.component.html',\n})\nexport class EuiAvatarBadgeComponent {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-avatar-badge',\n `eui-avatar-badge--${this.position}`,\n ].join(' ').trim();\n }\n\n @Input() position: 'top' | 'bottom' = 'top';\n}\n", "<ng-content></ng-content>\n", "import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiAvatarComponent } from './eui-avatar.component';\nimport { EuiAvatarListComponent } from './eui-avatar-list.component';\nimport { EuiAvatarIconComponent } from './avatar-icon/avatar-icon.component';\nimport { EuiAvatarTextComponent } from './avatar-text/avatar-text.component';\nimport { EuiAvatarImageComponent } from './avatar-image/avatar-image.component';\nimport { EuiAvatarBadgeComponent } from './avatar-badge/avatar-badge.component';\n\nconst COMPONENTS = [\n EuiAvatarComponent,\n EuiAvatarIconComponent,\n EuiAvatarTextComponent,\n EuiAvatarImageComponent,\n EuiAvatarBadgeComponent,\n EuiAvatarListComponent,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n BaseStatesDirective,\n ],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EuiAvatarModule {}\n"],
|
5
|
-
"mappings": ";AAAA,SAAS,WAAW,aAAa,yBAAyB,mBAAmB,OAAO,wBAAwB;AAC5G,SAAS,2BAA2B;;;;AA8B9B,IAAO,qBAAP,MAAO,oBAAkB;EAC3B,IACW,aAAU;AACjB,WAAO;MACH,KAAK,oBAAoB,cAAc,YAAY;MACnD,KAAK,gBAAgB,6BAA6B;MAClD,KAAK,SAAS,qBAAqB;MACnC,KAAK,kBAAkB,8BAA8B;MACvD,KAAK,GAAG,EAAE,KAAI;EACpB;EAWA,YACW,qBAAwC;AAAxC,SAAA,sBAAA;AAV4B,SAAA,UAAU;AACvB,SAAA,OAAO;AACoB,SAAA,YAA2B;AAExC,SAAA,YAAY;AACZ,SAAA,gBAAgB;AAChB,SAAA,SAAS;AACT,SAAA,kBAAkB;EAIvD;;4GAtBM,qBAAkB,MAAA,CAAA,EAAA,OAAA,uBAAA,CAAA,GAAA,QAAA,mBAAA,UAAA,CAAA;EAAA;;gGAAlB,qBAAkB,UAAA,+CAAA,QAAA,EAAA,SAAA,WAAA,WAAA,CAAA,cAAA,WAAA,GAAA,WAAA,CAAA,aAAA,aAeP,gBAAgB,GAAA,eAAA,CAAA,iBAAA,iBAChB,gBAAgB,GAAA,QAAA,CAAA,UAAA,UAChB,gBAAgB,GAAA,iBAAA,CAAA,mBAAA,mBAChB,gBAAgB,EAAA,GAAA,MAAA,EAAA,YAAA,EAAA,SAAA,mBAAA,iBAAA,gBAAA,aAAA,aAAA,mBAAA,iBAAA,EAAA,GAAA,gBAAA,CAAA,EAAA,WAAA,wBAAA,QAAA,CAAA,gBAAA,gBAAA,cAAA,cAAA,WAAA,WAAA,cAAA,cAAA,aAAA,aAAA,aAAA,aAAA,cAAA,cAAA,aAAA,aAAA,YAAA,YAAA,YAAA,YAAA,aAAA,aAAA,cAAA,cAAA,kBAAA,gBAAA,EAAA,CAAA,GAAA,UAAA,IAAA,UCjDxC,2UAQA,QAAA,CAAA,
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["Component", "HostBinding", "i0", "Component", "HostBinding", "i0", "Component", "HostBinding", "i0", "Component", "HostBinding", "Input", "i0", "Component", "HostBinding", "Input", "i0", "BaseStatesDirective"]
|
7
7
|
}
|