@eui/components 16.0.0-next.4 → 16.0.0-next.6
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/EuiAutocompleteComponent.html +195 -82
- package/docs/dependencies.html +2 -2
- package/docs/js/menu-wc.js +3 -3
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +71 -18
- package/esm2022/eui-autocomplete/eui-autocomplete.module.mjs +7 -3
- package/eui-autocomplete/eui-autocomplete.component.d.ts +24 -7
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-autocomplete/eui-autocomplete.module.d.ts +2 -1
- package/eui-autocomplete/eui-autocomplete.module.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +76 -19
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -2,6 +2,7 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
4
4
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
5
6
|
import { EuiChipListModule } from '@eui/components/eui-chip-list';
|
|
6
7
|
import { EuiChipModule } from '@eui/components/eui-chip';
|
|
7
8
|
import { EuiIconModule } from '@eui/components/eui-icon';
|
|
@@ -16,14 +17,16 @@ export class EuiAutocompleteModule {
|
|
|
16
17
|
EuiChipListModule,
|
|
17
18
|
EuiChipModule,
|
|
18
19
|
EuiIconModule,
|
|
19
|
-
EuiInputTextModule
|
|
20
|
+
EuiInputTextModule,
|
|
21
|
+
ScrollingModule], exports: [EuiAutocompleteComponent] }); }
|
|
20
22
|
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EuiAutocompleteModule, imports: [CommonModule,
|
|
21
23
|
ReactiveFormsModule,
|
|
22
24
|
MatAutocompleteModule,
|
|
23
25
|
EuiChipListModule,
|
|
24
26
|
EuiChipModule,
|
|
25
27
|
EuiIconModule,
|
|
26
|
-
EuiInputTextModule
|
|
28
|
+
EuiInputTextModule,
|
|
29
|
+
ScrollingModule] }); }
|
|
27
30
|
}
|
|
28
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EuiAutocompleteModule, decorators: [{
|
|
29
32
|
type: NgModule,
|
|
@@ -36,9 +39,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
36
39
|
EuiChipModule,
|
|
37
40
|
EuiIconModule,
|
|
38
41
|
EuiInputTextModule,
|
|
42
|
+
ScrollingModule,
|
|
39
43
|
],
|
|
40
44
|
declarations: [EuiAutocompleteComponent],
|
|
41
45
|
exports: [EuiAutocompleteComponent],
|
|
42
46
|
}]
|
|
43
47
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWF1dG9jb21wbGV0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktYXV0b2NvbXBsZXRlL2V1aS1hdXRvY29tcGxldGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWdCeEUsTUFBTSxPQUFPLHFCQUFxQjtpSUFBckIscUJBQXFCO2tJQUFyQixxQkFBcUIsaUJBSGYsd0JBQXdCLGFBVG5DLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlLGFBR1Qsd0JBQXdCO2tJQUV6QixxQkFBcUIsWUFaMUIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7OzJGQUtWLHFCQUFxQjtrQkFkakMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixlQUFlO3FCQUNsQjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuXG5pbXBvcnQgeyBFdWlDaGlwTGlzdE1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktY2hpcC1saXN0JztcbmltcG9ydCB7IEV1aUNoaXBNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWNoaXAnO1xuaW1wb3J0IHsgRXVpSWNvbk1vZHVsZSB9IGZyb20gJ0BldWkvY29tcG9uZW50cy9ldWktaWNvbic7XG5pbXBvcnQgeyBFdWlJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLWlucHV0LXRleHQnO1xuXG5pbXBvcnQgeyBFdWlBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2V1aS1hdXRvY29tcGxldGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBFdWlDaGlwTGlzdE1vZHVsZSxcbiAgICAgICAgRXVpQ2hpcE1vZHVsZSxcbiAgICAgICAgRXVpSWNvbk1vZHVsZSxcbiAgICAgICAgRXVpSW5wdXRUZXh0TW9kdWxlLFxuICAgICAgICBTY3JvbGxpbmdNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtFdWlBdXRvY29tcGxldGVDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtFdWlBdXRvY29tcGxldGVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlBdXRvY29tcGxldGVNb2R1bGUge31cbiJdfQ==
|
|
@@ -3,7 +3,7 @@ import { FormControl, ControlValueAccessor, NgControl } from '@angular/forms';
|
|
|
3
3
|
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
4
4
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
5
5
|
import { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
6
|
-
import { ScrollDispatcher } from '@angular/cdk/scrolling';
|
|
6
|
+
import { ScrollDispatcher, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
7
7
|
import { EuiChip } from '@eui/components/eui-chip';
|
|
8
8
|
import { EuiChipDragDrop, EuiChipListComponent } from '@eui/components/eui-chip-list';
|
|
9
9
|
import { EuiTemplateDirective } from '@eui/components/directives';
|
|
@@ -14,6 +14,7 @@ export declare class EuiAutocompleteComponent extends BaseDirective implements O
|
|
|
14
14
|
private cd;
|
|
15
15
|
private control;
|
|
16
16
|
private scrollDispatcher;
|
|
17
|
+
private elementRef;
|
|
17
18
|
toggleLinkMoreLabel: string;
|
|
18
19
|
toggleLinkLessLabel: string;
|
|
19
20
|
autocompleteData: EuiAutoCompleteItem[];
|
|
@@ -63,8 +64,17 @@ export declare class EuiAutocompleteComponent extends BaseDirective implements O
|
|
|
63
64
|
autocompleteInputTrigger: MatAutocompleteTrigger;
|
|
64
65
|
matAutocomplete: MatAutocomplete;
|
|
65
66
|
chipList: EuiChipListComponent;
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
virtualScrolling: CdkVirtualScrollViewport;
|
|
68
|
+
autocompleteOptionTemplate: TemplateRef<{
|
|
69
|
+
$implicit: {
|
|
70
|
+
label: string;
|
|
71
|
+
};
|
|
72
|
+
}>;
|
|
73
|
+
autocompleteOptGroupTemplate: TemplateRef<{
|
|
74
|
+
$implicit: {
|
|
75
|
+
label: string;
|
|
76
|
+
};
|
|
77
|
+
}>;
|
|
68
78
|
separatorKeysCodes: number[];
|
|
69
79
|
autocompleteControl: FormControl<any>;
|
|
70
80
|
autocompleteOptions: BehaviorSubject<EuiAutoCompleteItem[]>;
|
|
@@ -75,6 +85,7 @@ export declare class EuiAutocompleteComponent extends BaseDirective implements O
|
|
|
75
85
|
};
|
|
76
86
|
autocompleteId: string;
|
|
77
87
|
isDisabled: boolean;
|
|
88
|
+
selectedOptionIndex: number;
|
|
78
89
|
get hasChips(): boolean;
|
|
79
90
|
set hasChips(value: BooleanInput);
|
|
80
91
|
private _hasChips;
|
|
@@ -123,6 +134,9 @@ export declare class EuiAutocompleteComponent extends BaseDirective implements O
|
|
|
123
134
|
get isForceSelection(): boolean;
|
|
124
135
|
set isForceSelection(value: BooleanInput);
|
|
125
136
|
private _isForceSelection;
|
|
137
|
+
get autoActiveFirstOption(): boolean;
|
|
138
|
+
set autoActiveFirstOption(value: BooleanInput);
|
|
139
|
+
private _autoActiveFirstOption;
|
|
126
140
|
get isChipsGrid(): boolean;
|
|
127
141
|
private destroy$;
|
|
128
142
|
private nbClick;
|
|
@@ -130,12 +144,15 @@ export declare class EuiAutocompleteComponent extends BaseDirective implements O
|
|
|
130
144
|
private value;
|
|
131
145
|
private fieldValue;
|
|
132
146
|
private scrollDispatcherSubscription;
|
|
133
|
-
|
|
147
|
+
private keyboardOptionSelectorHandlerSubscription;
|
|
148
|
+
constructor(cd: ChangeDetectorRef, control: NgControl, scrollDispatcher: ScrollDispatcher, elementRef: ElementRef);
|
|
134
149
|
ngOnChanges(c: SimpleChanges): void;
|
|
135
150
|
ngOnInit(): void;
|
|
136
151
|
ngDoCheck(): void;
|
|
137
152
|
ngAfterViewInit(): void;
|
|
138
153
|
ngOnDestroy(): void;
|
|
154
|
+
get nbOptionsVisible(): number;
|
|
155
|
+
get cdkVirtualScrollViewport(): number;
|
|
139
156
|
addOnBlurHandler(event: FocusEvent): void;
|
|
140
157
|
addOnEnterHandler(): void;
|
|
141
158
|
add(newValue: string): void;
|
|
@@ -155,7 +172,6 @@ export declare class EuiAutocompleteComponent extends BaseDirective implements O
|
|
|
155
172
|
trackByFn(index: number, item: EuiAutoCompleteItem): number;
|
|
156
173
|
onClose(): void;
|
|
157
174
|
onOpen(): void;
|
|
158
|
-
isVisible(origin: ElementRef, scrollableParent: HTMLElement): boolean;
|
|
159
175
|
writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void;
|
|
160
176
|
setDisabledState(isDisabled: boolean): void;
|
|
161
177
|
registerOnChange(fn: any): void;
|
|
@@ -166,6 +182,7 @@ export declare class EuiAutocompleteComponent extends BaseDirective implements O
|
|
|
166
182
|
onClear(): void;
|
|
167
183
|
onChipListFocus(): void;
|
|
168
184
|
onKeyDownBackspace(): void;
|
|
185
|
+
private isVisible;
|
|
169
186
|
private inputValueHandler;
|
|
170
187
|
private onChange;
|
|
171
188
|
private onTouch;
|
|
@@ -174,7 +191,7 @@ export declare class EuiAutocompleteComponent extends BaseDirective implements O
|
|
|
174
191
|
private generateId;
|
|
175
192
|
private orderItems;
|
|
176
193
|
private groupingHandler;
|
|
177
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EuiAutocompleteComponent, [null, { optional: true; self: true; }, null]>;
|
|
178
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EuiAutocompleteComponent, "eui-autocomplete, input[euiAutocomplete]", never, { "toggleLinkMoreLabel": { "alias": "toggleLinkMoreLabel"; "required": false; }; "toggleLinkLessLabel": { "alias": "toggleLinkLessLabel"; "required": false; }; "autocompleteData": { "alias": "autocompleteData"; "required": false; }; "autocompleteDataSelected": { "alias": "autocompleteDataSelected"; "required": false; }; "chipsSortOrder": { "alias": "chipsSortOrder"; "required": false; }; "itemsSortOrder": { "alias": "itemsSortOrder"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "matching": { "alias": "matching"; "required": false; }; "chipsPosition": { "alias": "chipsPosition"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "classList": { "alias": "classList"; "required": false; }; "groupBy": { "alias": "groupBy"; "required": false; }; "dragAndDropSourceName": { "alias": "dragAndDropSourceName"; "required": false; }; "dragAndDropConnectedTo": { "alias": "dragAndDropConnectedTo"; "required": false; }; "hasChips": { "alias": "hasChips"; "required": false; }; "isGrid": { "alias": "isGrid"; "required": false; }; "async": { "alias": "async"; "required": false; }; "addOnBlur": { "alias": "addOnBlur"; "required": false; }; "isFreeValueAllowed": { "alias": "isFreeValueAllowed"; "required": false; }; "isDuplicateValueAllowed": { "alias": "isDuplicateValueAllowed"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "isChipsRemovable": { "alias": "isChipsRemovable"; "required": false; }; "maxVisibleChipsCount": { "alias": "maxVisibleChipsCount"; "required": false; }; "chipsLabelTruncateCount": { "alias": "chipsLabelTruncateCount"; "required": false; }; "isMaxVisibleChipsOpened": { "alias": "isMaxVisibleChipsOpened"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "isChipsSorted": { "alias": "isChipsSorted"; "required": false; }; "isItemsSorted": { "alias": "isItemsSorted"; "required": false; }; "isChipsDragAndDrop": { "alias": "isChipsDragAndDrop"; "required": false; }; "isForceSelection": { "alias": "isForceSelection"; "required": false; }; }, { "closed": "closed"; "opened": "opened"; "selectionChanged": "selectionChanged"; "itemAdded": "itemAdded"; "itemRemoved": "itemRemoved"; "inputChanged": "inputChanged"; "chipDragStarted": "chipDragStarted"; "chipDragReleased": "chipDragReleased"; "chipDropped": "chipDropped"; "clear": "clear"; "close": "close"; "open": "open"; "blur": "blur"; "selectionChange": "selectionChange"; "itemAdd": "itemAdd"; "itemRemove": "itemRemove"; "inputChange": "inputChange"; "chipDragStart": "chipDragStart"; "chipDragRelease": "chipDragRelease"; "chipDrop": "chipDrop"; }, ["templates"], never, false, never>;
|
|
194
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EuiAutocompleteComponent, [null, { optional: true; self: true; }, null, null]>;
|
|
195
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EuiAutocompleteComponent, "eui-autocomplete, input[euiAutocomplete]", never, { "toggleLinkMoreLabel": { "alias": "toggleLinkMoreLabel"; "required": false; }; "toggleLinkLessLabel": { "alias": "toggleLinkLessLabel"; "required": false; }; "autocompleteData": { "alias": "autocompleteData"; "required": false; }; "autocompleteDataSelected": { "alias": "autocompleteDataSelected"; "required": false; }; "chipsSortOrder": { "alias": "chipsSortOrder"; "required": false; }; "itemsSortOrder": { "alias": "itemsSortOrder"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "matching": { "alias": "matching"; "required": false; }; "chipsPosition": { "alias": "chipsPosition"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "classList": { "alias": "classList"; "required": false; }; "groupBy": { "alias": "groupBy"; "required": false; }; "dragAndDropSourceName": { "alias": "dragAndDropSourceName"; "required": false; }; "dragAndDropConnectedTo": { "alias": "dragAndDropConnectedTo"; "required": false; }; "hasChips": { "alias": "hasChips"; "required": false; }; "isGrid": { "alias": "isGrid"; "required": false; }; "async": { "alias": "async"; "required": false; }; "addOnBlur": { "alias": "addOnBlur"; "required": false; }; "isFreeValueAllowed": { "alias": "isFreeValueAllowed"; "required": false; }; "isDuplicateValueAllowed": { "alias": "isDuplicateValueAllowed"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "isChipsRemovable": { "alias": "isChipsRemovable"; "required": false; }; "maxVisibleChipsCount": { "alias": "maxVisibleChipsCount"; "required": false; }; "chipsLabelTruncateCount": { "alias": "chipsLabelTruncateCount"; "required": false; }; "isMaxVisibleChipsOpened": { "alias": "isMaxVisibleChipsOpened"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "isChipsSorted": { "alias": "isChipsSorted"; "required": false; }; "isItemsSorted": { "alias": "isItemsSorted"; "required": false; }; "isChipsDragAndDrop": { "alias": "isChipsDragAndDrop"; "required": false; }; "isForceSelection": { "alias": "isForceSelection"; "required": false; }; "autoActiveFirstOption": { "alias": "autoActiveFirstOption"; "required": false; }; }, { "closed": "closed"; "opened": "opened"; "selectionChanged": "selectionChanged"; "itemAdded": "itemAdded"; "itemRemoved": "itemRemoved"; "inputChanged": "inputChanged"; "chipDragStarted": "chipDragStarted"; "chipDragReleased": "chipDragReleased"; "chipDropped": "chipDropped"; "clear": "clear"; "close": "close"; "open": "open"; "blur": "blur"; "selectionChange": "selectionChange"; "itemAdd": "itemAdd"; "itemRemove": "itemRemove"; "inputChange": "inputChange"; "chipDragStart": "chipDragStart"; "chipDragRelease": "chipDragRelease"; "chipDrop": "chipDrop"; }, ["templates"], never, false, never>;
|
|
179
196
|
}
|
|
180
197
|
//# sourceMappingURL=eui-autocomplete.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-autocomplete.component.d.ts","sourceRoot":"","sources":["../../eui-autocomplete/eui-autocomplete.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,MAAM,EACN,SAAS,EACT,UAAU,EAEV,SAAS,EACT,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,aAAa,EACb,WAAW,EAKX,OAAO,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAA+C,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAG/G,OAAO,EAAW,eAAe,EAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"eui-autocomplete.component.d.ts","sourceRoot":"","sources":["../../eui-autocomplete/eui-autocomplete.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,10 @@ import * as i5 from "@eui/components/eui-chip-list";
|
|
|
7
7
|
import * as i6 from "@eui/components/eui-chip";
|
|
8
8
|
import * as i7 from "@eui/components/eui-icon";
|
|
9
9
|
import * as i8 from "@eui/components/eui-input-text";
|
|
10
|
+
import * as i9 from "@angular/cdk/scrolling";
|
|
10
11
|
export declare class EuiAutocompleteModule {
|
|
11
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<EuiAutocompleteModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<EuiAutocompleteModule, [typeof i1.EuiAutocompleteComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.MatAutocompleteModule, typeof i5.EuiChipListModule, typeof i6.EuiChipModule, typeof i7.EuiIconModule, typeof i8.EuiInputTextModule], [typeof i1.EuiAutocompleteComponent]>;
|
|
13
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<EuiAutocompleteModule, [typeof i1.EuiAutocompleteComponent], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.MatAutocompleteModule, typeof i5.EuiChipListModule, typeof i6.EuiChipModule, typeof i7.EuiIconModule, typeof i8.EuiInputTextModule, typeof i9.ScrollingModule], [typeof i1.EuiAutocompleteComponent]>;
|
|
13
14
|
static ɵinj: i0.ɵɵInjectorDeclaration<EuiAutocompleteModule>;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=eui-autocomplete.module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-autocomplete.module.d.ts","sourceRoot":"","sources":["../../eui-autocomplete/eui-autocomplete.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eui-autocomplete.module.d.ts","sourceRoot":"","sources":["../../eui-autocomplete/eui-autocomplete.module.ts"],"names":[],"mappings":";;;;;;;;;;AAaA,qBAca,qBAAqB;yCAArB,qBAAqB;0CAArB,qBAAqB;0CAArB,qBAAqB;CAAG"}
|
|
@@ -5,7 +5,7 @@ import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
|
5
5
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
6
6
|
import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
|
7
7
|
import { takeUntil, startWith, skip } from 'rxjs/operators';
|
|
8
|
-
import { BehaviorSubject, Subject, Subscription, of } from 'rxjs';
|
|
8
|
+
import { BehaviorSubject, Subject, Subscription, fromEvent, filter, of } from 'rxjs';
|
|
9
9
|
import * as i4 from '@angular/material/autocomplete';
|
|
10
10
|
import { MatAutocompleteTrigger, MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
11
11
|
import { uniqueId } from '@eui/core';
|
|
@@ -13,6 +13,7 @@ import { EuiChip, EuiChipTooltip, EuiChipModule } from '@eui/components/eui-chip
|
|
|
13
13
|
import { EuiTemplateDirective } from '@eui/components/directives';
|
|
14
14
|
import { BaseDirective } from '@eui/components/shared';
|
|
15
15
|
import * as i2 from '@angular/cdk/scrolling';
|
|
16
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
16
17
|
import * as i3 from '@angular/common';
|
|
17
18
|
import { CommonModule } from '@angular/common';
|
|
18
19
|
import * as i5 from '@angular/material/core';
|
|
@@ -65,6 +66,8 @@ class EuiAutocompleteComponent extends BaseDirective {
|
|
|
65
66
|
set isChipsDragAndDrop(value) { this._isChipsDragAndDrop = coerceBooleanProperty(value); }
|
|
66
67
|
get isForceSelection() { return this._isForceSelection; }
|
|
67
68
|
set isForceSelection(value) { this._isForceSelection = coerceBooleanProperty(value); }
|
|
69
|
+
get autoActiveFirstOption() { return this._autoActiveFirstOption; }
|
|
70
|
+
set autoActiveFirstOption(value) { this._autoActiveFirstOption = coerceBooleanProperty(value); }
|
|
68
71
|
/* eslint-enable prettier/prettier */
|
|
69
72
|
get isChipsGrid() {
|
|
70
73
|
if (this._isGrid) {
|
|
@@ -74,11 +77,12 @@ class EuiAutocompleteComponent extends BaseDirective {
|
|
|
74
77
|
return this._isGrid;
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
|
-
constructor(cd, control, scrollDispatcher) {
|
|
80
|
+
constructor(cd, control, scrollDispatcher, elementRef) {
|
|
78
81
|
super();
|
|
79
82
|
this.cd = cd;
|
|
80
83
|
this.control = control;
|
|
81
84
|
this.scrollDispatcher = scrollDispatcher;
|
|
85
|
+
this.elementRef = elementRef;
|
|
82
86
|
this.toggleLinkMoreLabel = null;
|
|
83
87
|
this.toggleLinkLessLabel = null;
|
|
84
88
|
this.autocompleteData = [];
|
|
@@ -128,6 +132,7 @@ class EuiAutocompleteComponent extends BaseDirective {
|
|
|
128
132
|
this.chips = [];
|
|
129
133
|
this.autocompleteId = `eui-autocomplete-${uniqueId()}`;
|
|
130
134
|
this.isDisabled = false;
|
|
135
|
+
this.selectedOptionIndex = -1;
|
|
131
136
|
this._hasChips = false;
|
|
132
137
|
this._isGrid = true;
|
|
133
138
|
this._async = false;
|
|
@@ -144,12 +149,14 @@ class EuiAutocompleteComponent extends BaseDirective {
|
|
|
144
149
|
this._isItemsSorted = false;
|
|
145
150
|
this._isChipsDragAndDrop = false;
|
|
146
151
|
this._isForceSelection = false;
|
|
152
|
+
this._autoActiveFirstOption = true;
|
|
147
153
|
this.destroy$ = new Subject();
|
|
148
154
|
this.nbClick = 0;
|
|
149
155
|
this.ignoreOpenCloseEvents = false;
|
|
150
156
|
this.value = null;
|
|
151
157
|
this.fieldValue = null;
|
|
152
158
|
this.scrollDispatcherSubscription = new Subscription();
|
|
159
|
+
this.keyboardOptionSelectorHandlerSubscription = new Subscription();
|
|
153
160
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
154
161
|
this.onChange = () => { };
|
|
155
162
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
@@ -208,6 +215,12 @@ class EuiAutocompleteComponent extends BaseDirective {
|
|
|
208
215
|
this.destroy$.next(true);
|
|
209
216
|
this.destroy$.unsubscribe();
|
|
210
217
|
}
|
|
218
|
+
get nbOptionsVisible() {
|
|
219
|
+
return 5;
|
|
220
|
+
}
|
|
221
|
+
get cdkVirtualScrollViewport() {
|
|
222
|
+
return this.autocompleteOptions.value.length >= this.nbOptionsVisible ? 240 : this.autocompleteOptions.value.length * 48;
|
|
223
|
+
}
|
|
211
224
|
addOnBlurHandler(event) {
|
|
212
225
|
if (this.addOnBlur) {
|
|
213
226
|
const target = event.relatedTarget;
|
|
@@ -319,28 +332,57 @@ class EuiAutocompleteComponent extends BaseDirective {
|
|
|
319
332
|
this.closed.emit();
|
|
320
333
|
this.close.emit();
|
|
321
334
|
}
|
|
335
|
+
this.virtualScrolling.scrollToIndex(0);
|
|
336
|
+
this.selectedOptionIndex = -1;
|
|
337
|
+
this.keyboardOptionSelectorHandlerSubscription.unsubscribe();
|
|
322
338
|
}
|
|
323
339
|
onOpen() {
|
|
324
340
|
this.scrollDispatcherSubscription = this.scrollDispatcher
|
|
325
341
|
.ancestorScrolled(this.autocompleteInput)
|
|
326
342
|
.subscribe((event) => {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
}
|
|
343
|
+
const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');
|
|
344
|
+
if (!this.isVisible(this.autocompleteInput.nativeElement, scrollableParent)) {
|
|
345
|
+
this.autocompleteInputTrigger.closePanel();
|
|
331
346
|
}
|
|
332
347
|
});
|
|
333
348
|
if (!this.ignoreOpenCloseEvents) {
|
|
334
349
|
this.opened.emit();
|
|
335
350
|
this.open.emit();
|
|
336
351
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
352
|
+
let visibleRangeStart = 0;
|
|
353
|
+
let visibleRangeEnd = 4;
|
|
354
|
+
if (this.autocompleteOptions.value.length < this.nbOptionsVisible) {
|
|
355
|
+
visibleRangeEnd = this.autocompleteOptions.value.length - 1;
|
|
356
|
+
}
|
|
357
|
+
this.keyboardOptionSelectorHandlerSubscription = fromEvent(this.elementRef.nativeElement, 'keydown')
|
|
358
|
+
.pipe(takeUntil(this.destroy$), filter((e) => e.code === 'ArrowDown' || e.code === 'ArrowUp'), startWith(this.autoActiveFirstOption ? { code: 'ArrowDown' } : null))
|
|
359
|
+
.subscribe((e) => {
|
|
360
|
+
if (e) {
|
|
361
|
+
if (e.code === 'ArrowDown' && this.selectedOptionIndex < this.autocompleteOptions.value.length - 1) {
|
|
362
|
+
this.selectedOptionIndex++;
|
|
363
|
+
}
|
|
364
|
+
if (e.code === 'ArrowUp' && this.selectedOptionIndex > 0) {
|
|
365
|
+
this.selectedOptionIndex--;
|
|
366
|
+
}
|
|
367
|
+
const cIndex = this.selectedOptionIndex - this.virtualScrolling.getRenderedRange().start;
|
|
368
|
+
this.matAutocomplete._keyManager.setActiveItem(cIndex);
|
|
369
|
+
this.matAutocomplete.options.toArray()[cIndex]?.setActiveStyles();
|
|
370
|
+
if (e.code === 'ArrowDown' && cIndex > visibleRangeEnd - visibleRangeStart - visibleRangeEnd) {
|
|
371
|
+
if (this.selectedOptionIndex > visibleRangeEnd) {
|
|
372
|
+
this.virtualScrolling.scrollToIndex(this.selectedOptionIndex - visibleRangeEnd + visibleRangeStart);
|
|
373
|
+
visibleRangeStart++;
|
|
374
|
+
visibleRangeEnd++;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
if (e.code === 'ArrowUp' && cIndex < visibleRangeStart) {
|
|
378
|
+
if (this.selectedOptionIndex < visibleRangeStart) {
|
|
379
|
+
this.virtualScrolling.scrollToIndex(this.selectedOptionIndex);
|
|
380
|
+
visibleRangeStart--;
|
|
381
|
+
visibleRangeEnd--;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
});
|
|
344
386
|
}
|
|
345
387
|
writeValue(value) {
|
|
346
388
|
this.value = value;
|
|
@@ -400,6 +442,13 @@ class EuiAutocompleteComponent extends BaseDirective {
|
|
|
400
442
|
this.chipList.euiChipItems.last.nativeElement.querySelector('.eui-chip__remove-icon').focus();
|
|
401
443
|
}
|
|
402
444
|
}
|
|
445
|
+
isVisible(origin, scrollableParent) {
|
|
446
|
+
const originY = origin.getBoundingClientRect().y;
|
|
447
|
+
const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);
|
|
448
|
+
const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;
|
|
449
|
+
return ((originY > 0 && originY < scrollableParentHeight) ||
|
|
450
|
+
(originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight));
|
|
451
|
+
}
|
|
403
452
|
inputValueHandler(value) {
|
|
404
453
|
if (this.hasChips) {
|
|
405
454
|
this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) => new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })));
|
|
@@ -532,17 +581,17 @@ class EuiAutocompleteComponent extends BaseDirective {
|
|
|
532
581
|
});
|
|
533
582
|
});
|
|
534
583
|
}
|
|
535
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EuiAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
536
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: EuiAutocompleteComponent, selector: "eui-autocomplete, input[euiAutocomplete]", inputs: { toggleLinkMoreLabel: "toggleLinkMoreLabel", toggleLinkLessLabel: "toggleLinkLessLabel", autocompleteData: "autocompleteData", autocompleteDataSelected: "autocompleteDataSelected", chipsSortOrder: "chipsSortOrder", itemsSortOrder: "itemsSortOrder", placeholder: "placeholder", matching: "matching", chipsPosition: "chipsPosition", panelWidth: "panelWidth", classList: "classList", groupBy: "groupBy", dragAndDropSourceName: "dragAndDropSourceName", dragAndDropConnectedTo: "dragAndDropConnectedTo", hasChips: "hasChips", isGrid: "isGrid", async: "async", addOnBlur: "addOnBlur", isFreeValueAllowed: "isFreeValueAllowed", isDuplicateValueAllowed: "isDuplicateValueAllowed", isLoading: "isLoading", isChipsRemovable: "isChipsRemovable", maxVisibleChipsCount: "maxVisibleChipsCount", chipsLabelTruncateCount: "chipsLabelTruncateCount", isMaxVisibleChipsOpened: "isMaxVisibleChipsOpened", readonly: "readonly", isChipsSorted: "isChipsSorted", isItemsSorted: "isItemsSorted", isChipsDragAndDrop: "isChipsDragAndDrop", isForceSelection: "isForceSelection" }, outputs: { closed: "closed", opened: "opened", selectionChanged: "selectionChanged", itemAdded: "itemAdded", itemRemoved: "itemRemoved", inputChanged: "inputChanged", chipDragStarted: "chipDragStarted", chipDragReleased: "chipDragReleased", chipDropped: "chipDropped", clear: "clear", close: "close", open: "open", blur: "blur", selectionChange: "selectionChange", itemAdd: "itemAdd", itemRemove: "itemRemove", inputChange: "inputChange", chipDragStart: "chipDragStart", chipDragRelease: "chipDragRelease", chipDrop: "chipDrop" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "autocompleteInput", first: true, predicate: ["autocompleteInput"], descendants: true, read: ElementRef }, { propertyName: "autocompleteInputTrigger", first: true, predicate: ["autocompleteInputTrigger"], descendants: true, read: MatAutocompleteTrigger }, { propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }, { propertyName: "chipList", first: true, predicate: ["chipList"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isGrid]=\"isChipsGrid\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n\n <mat-autocomplete\n autoActiveFirstOption\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"classList\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"></ng-template>\n <!-- [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template> TODO check v16 issue -->\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [class]=\"\n groupedItem.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\"></ng-template>\n <!-- [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template> TODO check v16 issue -->\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <mat-option\n *ngFor=\"let autocompleteOption of autocompleteOptions | async; trackBy: trackByFn\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ autocompleteOption.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\"></ng-template>\n <!-- [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template> TODO v16 check issue -->\n </ng-container>\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n </div>\n</div>\n", styles: [".eui-autocomplete{--eui-autocomplete-input-width: var(--eui-base-spacing-3xl);width:100%}.eui-autocomplete__container .eui-autocomplete__field-wrapper{display:flex;position:relative;width:100%}.eui-autocomplete__container .eui-autocomplete__field-wrapper input{min-width:var(--eui-autocomplete-input-width)}.eui-autocomplete__option{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);border-left:var(--eui-border-state-width) solid transparent;display:flex;height:auto!important;min-height:var(--eui-base-spacing-3xl)!important}.eui-autocomplete__option .eui-icon,.eui-autocomplete__option .eui-icon-svg,.eui-autocomplete__option .eui-flag-icon{margin-right:var(--eui-base-spacing-xs)}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-input-text{border:0}.eui-autocomplete .eui-autocomplete__wrapper--inside euichiplistappendcontent{display:inline-flex;flex-grow:1}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-chip-list-container{width:100%}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-chip-list-container .eui-chip-list__list{flex-wrap:inherit!important;width:100%}.eui-autocomplete--has-chips .eui-input-text[readonly]{display:none}.mat-mdc-autocomplete-panel{padding:0!important}.mat-mdc-autocomplete-panel .mat-mdc-optgroup-label{align-items:center;background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-grey-80);display:flex;font-family:var(--eui-base-font-family);font-size:var(--eui-base-font-size);font-weight:700;margin-bottom:0}.mat-mdc-autocomplete-panel .eui-autocomplete__optgroup--custom .mat-mdc-optgroup-label{display:none}.mat-mdc-autocomplete-panel .eui-autocomplete__optgroup--custom-optgroup-wrapper{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-grey-80);font-size:var(--eui-base-font-size);font-weight:700;height:auto;line-height:var(--eui-base-spacing-3xl);min-height:var(--eui-base-spacing-3xl);padding:0 var(--eui-base-spacing-s)}.mat-mdc-autocomplete-panel .mdc-list-item--selected{background:none!important}.mat-mdc-autocomplete-panel .mdc-list-item--selected:hover{background:rgba(0,0,0,.04)!important}.mat-mdc-autocomplete-panel .mdc-list-item--selected .mdc-list-item__primary-text{color:inherit!important}.eui-autocomplete--primary input{background-color:var(--eui-base-color-primary-10)}.eui-autocomplete--secondary input{background-color:var(--eui-base-color-grey-10)}.eui-autocomplete--info input{background-color:var(--eui-base-color-info-10)}.eui-autocomplete--success input{background-color:var(--eui-base-color-success-10)}.eui-autocomplete--warning input{background-color:var(--eui-base-color-warning-10)}.eui-autocomplete--danger input{background-color:var(--eui-base-color-danger-10)}.eui-autocomplete--accent input{background-color:var(--eui-base-color-accent-10)}.eui-autocomplete__wrapper--bottom .eui-autocomplete__field-wrapper{display:block;margin-bottom:var(--eui-base-spacing-2xs)}.eui-autocomplete__wrapper--inside{background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-2xs) 0 var(--eui-base-spacing-2xs)}.eui-autocomplete__wrapper--inside .mat-chip-list .mat-chip-list-wrapper,.eui-autocomplete__wrapper--inside .mat-chip-list .mat-standard-chip{align-items:center;margin-bottom:0}.eui-autocomplete__wrapper--inside .mat-autocomplete-trigger{background:none;border:0}.eui-autocomplete__wrapper--inside .mat-autocomplete-trigger:focus{border:0;box-shadow:var(--eui-base-shadow-0)}.eui-autocomplete__option--primary{border-left-color:var(--eui-base-color-primary-100)}.eui-autocomplete__option--secondary{border-left-color:var(--eui-base-color-grey-25)}.eui-autocomplete__option--info{border-left-color:var(--eui-base-color-info-100)}.eui-autocomplete__option--success{border-left-color:var(--eui-base-color-success-100)}.eui-autocomplete__option--warning{border-left-color:var(--eui-base-color-warning-100)}.eui-autocomplete__option--danger{border-left-color:var(--eui-base-color-danger-100)}.eui-autocomplete__option--accent{border-left-color:var(--eui-base-color-accent-100)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i4.MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"] }, { kind: "component", type: i6.EuiChipListComponent, selector: "eui-chip-list, div[euiChipList], ul[euiChipList]", inputs: ["chips", "toggleLinkMoreLabel", "toggleLinkLessLabel", "chipsSortOrder", "dragAndDropSourceName", "dragAndDropConnectedTo", "ariaLabel", "dropListOrientation", "isSquared", "isChipsRemovable", "maxVisibleChipsCount", "chipsLabelTruncateCount", "isMaxVisibleChipsOpened", "isChipsSorted", "isChipsDragAndDrop", "isGrid"], outputs: ["chipsInit", "chipRemove", "chipDragStarted", "chipDragReleased", "chipDropped", "chiplistFocus"] }, { kind: "directive", type: i6.EuiChipListAppendContentDirective, selector: "euiChipListAppendContent" }, { kind: "component", type: i7.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
584
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EuiAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NgControl, optional: true, self: true }, { token: i2.ScrollDispatcher }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
585
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: EuiAutocompleteComponent, selector: "eui-autocomplete, input[euiAutocomplete]", inputs: { toggleLinkMoreLabel: "toggleLinkMoreLabel", toggleLinkLessLabel: "toggleLinkLessLabel", autocompleteData: "autocompleteData", autocompleteDataSelected: "autocompleteDataSelected", chipsSortOrder: "chipsSortOrder", itemsSortOrder: "itemsSortOrder", placeholder: "placeholder", matching: "matching", chipsPosition: "chipsPosition", panelWidth: "panelWidth", classList: "classList", groupBy: "groupBy", dragAndDropSourceName: "dragAndDropSourceName", dragAndDropConnectedTo: "dragAndDropConnectedTo", hasChips: "hasChips", isGrid: "isGrid", async: "async", addOnBlur: "addOnBlur", isFreeValueAllowed: "isFreeValueAllowed", isDuplicateValueAllowed: "isDuplicateValueAllowed", isLoading: "isLoading", isChipsRemovable: "isChipsRemovable", maxVisibleChipsCount: "maxVisibleChipsCount", chipsLabelTruncateCount: "chipsLabelTruncateCount", isMaxVisibleChipsOpened: "isMaxVisibleChipsOpened", readonly: "readonly", isChipsSorted: "isChipsSorted", isItemsSorted: "isItemsSorted", isChipsDragAndDrop: "isChipsDragAndDrop", isForceSelection: "isForceSelection", autoActiveFirstOption: "autoActiveFirstOption" }, outputs: { closed: "closed", opened: "opened", selectionChanged: "selectionChanged", itemAdded: "itemAdded", itemRemoved: "itemRemoved", inputChanged: "inputChanged", chipDragStarted: "chipDragStarted", chipDragReleased: "chipDragReleased", chipDropped: "chipDropped", clear: "clear", close: "close", open: "open", blur: "blur", selectionChange: "selectionChange", itemAdd: "itemAdd", itemRemove: "itemRemove", inputChange: "inputChange", chipDragStart: "chipDragStart", chipDragRelease: "chipDragRelease", chipDrop: "chipDrop" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "autocompleteInput", first: true, predicate: ["autocompleteInput"], descendants: true, read: ElementRef }, { propertyName: "autocompleteInputTrigger", first: true, predicate: ["autocompleteInputTrigger"], descendants: true, read: MatAutocompleteTrigger }, { propertyName: "matAutocomplete", first: true, predicate: ["auto"], descendants: true }, { propertyName: "chipList", first: true, predicate: ["chipList"], descendants: true }, { propertyName: "virtualScrolling", first: true, predicate: ["virtualScrolling"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isGrid]=\"isChipsGrid\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"classList\"\n [autoActiveFirstOption]=\"autoActiveFirstOption\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n itemSize=\"48\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [class]=\"\n groupedItem.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n itemSize=\"48\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <mat-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: trackByFn\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [class.mat-mdc-option-active]=\"i === selectedOptionIndex\"\n [class.mdc-list-item--selected]=\"false\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">{{ autocompleteOption.label }}</ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n </div>\n</div>\n", styles: [".eui-autocomplete{--eui-autocomplete-input-width: var(--eui-base-spacing-3xl);width:100%}.eui-autocomplete__container .eui-autocomplete__field-wrapper{display:flex;position:relative;width:100%}.eui-autocomplete__container .eui-autocomplete__field-wrapper input{min-width:var(--eui-autocomplete-input-width)}.eui-autocomplete .virtual-scroll-viewport{height:256px}.eui-autocomplete__option{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);border-left:var(--eui-border-state-width) solid transparent;display:flex;height:auto!important;min-height:var(--eui-base-spacing-3xl)!important}.eui-autocomplete__option .eui-icon,.eui-autocomplete__option .eui-icon-svg,.eui-autocomplete__option .eui-flag-icon{margin-right:var(--eui-base-spacing-xs)}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-input-text{border:0}.eui-autocomplete .eui-autocomplete__wrapper--inside euichiplistappendcontent{display:inline-flex;flex-grow:1}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-chip-list-container{width:100%}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-chip-list-container .eui-chip-list__list{flex-wrap:inherit!important;width:100%}.eui-autocomplete--has-chips .eui-input-text[readonly]{display:none}.mat-mdc-autocomplete-panel{padding:0!important}.mat-mdc-autocomplete-panel .mat-mdc-optgroup-label{align-items:center;background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-grey-80);display:flex;font-family:var(--eui-base-font-family);font-size:var(--eui-base-font-size);font-weight:700;margin-bottom:0}.mat-mdc-autocomplete-panel .eui-autocomplete__optgroup--custom .mat-mdc-optgroup-label{display:none}.mat-mdc-autocomplete-panel .eui-autocomplete__optgroup--custom-optgroup-wrapper{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-grey-80);font-size:var(--eui-base-font-size);font-weight:700;height:auto;line-height:var(--eui-base-spacing-3xl);min-height:var(--eui-base-spacing-3xl);padding:0 var(--eui-base-spacing-s)}.mat-mdc-autocomplete-panel .mdc-list-item--selected{background:none!important}.mat-mdc-autocomplete-panel .mdc-list-item--selected:hover{background:rgba(0,0,0,.04)!important}.mat-mdc-autocomplete-panel .mdc-list-item--selected .mdc-list-item__primary-text{color:inherit!important}.eui-autocomplete--primary input{background-color:var(--eui-base-color-primary-10)}.eui-autocomplete--secondary input{background-color:var(--eui-base-color-grey-10)}.eui-autocomplete--info input{background-color:var(--eui-base-color-info-10)}.eui-autocomplete--success input{background-color:var(--eui-base-color-success-10)}.eui-autocomplete--warning input{background-color:var(--eui-base-color-warning-10)}.eui-autocomplete--danger input{background-color:var(--eui-base-color-danger-10)}.eui-autocomplete--accent input{background-color:var(--eui-base-color-accent-10)}.eui-autocomplete__wrapper--bottom .eui-autocomplete__field-wrapper{display:block;margin-bottom:var(--eui-base-spacing-2xs)}.eui-autocomplete__wrapper--inside{background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-2xs) 0 var(--eui-base-spacing-2xs)}.eui-autocomplete__wrapper--inside .mat-chip-list .mat-chip-list-wrapper,.eui-autocomplete__wrapper--inside .mat-chip-list .mat-standard-chip{align-items:center;margin-bottom:0}.eui-autocomplete__wrapper--inside .mat-autocomplete-trigger{background:none;border:0}.eui-autocomplete__wrapper--inside .mat-autocomplete-trigger:focus{border:0;box-shadow:var(--eui-base-shadow-0)}.eui-autocomplete__option--primary{border-left-color:var(--eui-base-color-primary-100)}.eui-autocomplete__option--secondary{border-left-color:var(--eui-base-color-grey-25)}.eui-autocomplete__option--info{border-left-color:var(--eui-base-color-info-100)}.eui-autocomplete__option--success{border-left-color:var(--eui-base-color-success-100)}.eui-autocomplete__option--warning{border-left-color:var(--eui-base-color-warning-100)}.eui-autocomplete__option--danger{border-left-color:var(--eui-base-color-danger-100)}.eui-autocomplete__option--accent{border-left-color:var(--eui-base-color-accent-100)}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i4.MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"] }, { kind: "component", type: i6.EuiChipListComponent, selector: "eui-chip-list, div[euiChipList], ul[euiChipList]", inputs: ["chips", "toggleLinkMoreLabel", "toggleLinkLessLabel", "chipsSortOrder", "dragAndDropSourceName", "dragAndDropConnectedTo", "ariaLabel", "dropListOrientation", "isSquared", "isChipsRemovable", "maxVisibleChipsCount", "chipsLabelTruncateCount", "isMaxVisibleChipsOpened", "isChipsSorted", "isChipsDragAndDrop", "isGrid"], outputs: ["chipsInit", "chipRemove", "chipDragStarted", "chipDragReleased", "chipDropped", "chiplistFocus"] }, { kind: "directive", type: i6.EuiChipListAppendContentDirective, selector: "euiChipListAppendContent" }, { kind: "component", type: i7.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
537
586
|
}
|
|
538
587
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EuiAutocompleteComponent, decorators: [{
|
|
539
588
|
type: Component,
|
|
540
|
-
args: [{ selector: 'eui-autocomplete, input[euiAutocomplete]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isGrid]=\"isChipsGrid\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n\n <mat-autocomplete\n autoActiveFirstOption\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"classList\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"></ng-template>\n <!-- [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template> TODO check v16 issue -->\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [class]=\"\n groupedItem.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\"></ng-template>\n <!-- [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template> TODO check v16 issue -->\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <mat-option\n *ngFor=\"let autocompleteOption of autocompleteOptions | async; trackBy: trackByFn\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ autocompleteOption.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\"></ng-template>\n <!-- [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template> TODO v16 check issue -->\n </ng-container>\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n </div>\n</div>\n", styles: [".eui-autocomplete{--eui-autocomplete-input-width: var(--eui-base-spacing-3xl);width:100%}.eui-autocomplete__container .eui-autocomplete__field-wrapper{display:flex;position:relative;width:100%}.eui-autocomplete__container .eui-autocomplete__field-wrapper input{min-width:var(--eui-autocomplete-input-width)}.eui-autocomplete__option{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);border-left:var(--eui-border-state-width) solid transparent;display:flex;height:auto!important;min-height:var(--eui-base-spacing-3xl)!important}.eui-autocomplete__option .eui-icon,.eui-autocomplete__option .eui-icon-svg,.eui-autocomplete__option .eui-flag-icon{margin-right:var(--eui-base-spacing-xs)}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-input-text{border:0}.eui-autocomplete .eui-autocomplete__wrapper--inside euichiplistappendcontent{display:inline-flex;flex-grow:1}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-chip-list-container{width:100%}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-chip-list-container .eui-chip-list__list{flex-wrap:inherit!important;width:100%}.eui-autocomplete--has-chips .eui-input-text[readonly]{display:none}.mat-mdc-autocomplete-panel{padding:0!important}.mat-mdc-autocomplete-panel .mat-mdc-optgroup-label{align-items:center;background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-grey-80);display:flex;font-family:var(--eui-base-font-family);font-size:var(--eui-base-font-size);font-weight:700;margin-bottom:0}.mat-mdc-autocomplete-panel .eui-autocomplete__optgroup--custom .mat-mdc-optgroup-label{display:none}.mat-mdc-autocomplete-panel .eui-autocomplete__optgroup--custom-optgroup-wrapper{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-grey-80);font-size:var(--eui-base-font-size);font-weight:700;height:auto;line-height:var(--eui-base-spacing-3xl);min-height:var(--eui-base-spacing-3xl);padding:0 var(--eui-base-spacing-s)}.mat-mdc-autocomplete-panel .mdc-list-item--selected{background:none!important}.mat-mdc-autocomplete-panel .mdc-list-item--selected:hover{background:rgba(0,0,0,.04)!important}.mat-mdc-autocomplete-panel .mdc-list-item--selected .mdc-list-item__primary-text{color:inherit!important}.eui-autocomplete--primary input{background-color:var(--eui-base-color-primary-10)}.eui-autocomplete--secondary input{background-color:var(--eui-base-color-grey-10)}.eui-autocomplete--info input{background-color:var(--eui-base-color-info-10)}.eui-autocomplete--success input{background-color:var(--eui-base-color-success-10)}.eui-autocomplete--warning input{background-color:var(--eui-base-color-warning-10)}.eui-autocomplete--danger input{background-color:var(--eui-base-color-danger-10)}.eui-autocomplete--accent input{background-color:var(--eui-base-color-accent-10)}.eui-autocomplete__wrapper--bottom .eui-autocomplete__field-wrapper{display:block;margin-bottom:var(--eui-base-spacing-2xs)}.eui-autocomplete__wrapper--inside{background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-2xs) 0 var(--eui-base-spacing-2xs)}.eui-autocomplete__wrapper--inside .mat-chip-list .mat-chip-list-wrapper,.eui-autocomplete__wrapper--inside .mat-chip-list .mat-standard-chip{align-items:center;margin-bottom:0}.eui-autocomplete__wrapper--inside .mat-autocomplete-trigger{background:none;border:0}.eui-autocomplete__wrapper--inside .mat-autocomplete-trigger:focus{border:0;box-shadow:var(--eui-base-shadow-0)}.eui-autocomplete__option--primary{border-left-color:var(--eui-base-color-primary-100)}.eui-autocomplete__option--secondary{border-left-color:var(--eui-base-color-grey-25)}.eui-autocomplete__option--info{border-left-color:var(--eui-base-color-info-100)}.eui-autocomplete__option--success{border-left-color:var(--eui-base-color-success-100)}.eui-autocomplete__option--warning{border-left-color:var(--eui-base-color-warning-100)}.eui-autocomplete__option--danger{border-left-color:var(--eui-base-color-danger-100)}.eui-autocomplete__option--accent{border-left-color:var(--eui-base-color-accent-100)}\n"] }]
|
|
589
|
+
args: [{ selector: 'eui-autocomplete, input[euiAutocomplete]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isGrid]=\"isChipsGrid\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\" />\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"classList\"\n [autoActiveFirstOption]=\"autoActiveFirstOption\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n itemSize=\"48\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [class]=\"\n groupedItem.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n itemSize=\"48\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"cdkVirtualScrollViewport + 'px'\">\n <mat-option\n *cdkVirtualFor=\"let autocompleteOption of autocompleteOptions | async; let i = index; trackBy: trackByFn\"\n [class]=\"\n autocompleteOption.typeClass\n ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass\n : 'mat-option eui-autocomplete__option'\n \"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [class.mat-mdc-option-active]=\"i === selectedOptionIndex\"\n [class.mdc-list-item--selected]=\"false\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">{{ autocompleteOption.label }}</ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template\n [ngTemplateOutlet]=\"autocompleteOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n </div>\n</div>\n", styles: [".eui-autocomplete{--eui-autocomplete-input-width: var(--eui-base-spacing-3xl);width:100%}.eui-autocomplete__container .eui-autocomplete__field-wrapper{display:flex;position:relative;width:100%}.eui-autocomplete__container .eui-autocomplete__field-wrapper input{min-width:var(--eui-autocomplete-input-width)}.eui-autocomplete .virtual-scroll-viewport{height:256px}.eui-autocomplete__option{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);border-left:var(--eui-border-state-width) solid transparent;display:flex;height:auto!important;min-height:var(--eui-base-spacing-3xl)!important}.eui-autocomplete__option .eui-icon,.eui-autocomplete__option .eui-icon-svg,.eui-autocomplete__option .eui-flag-icon{margin-right:var(--eui-base-spacing-xs)}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-input-text{border:0}.eui-autocomplete .eui-autocomplete__wrapper--inside euichiplistappendcontent{display:inline-flex;flex-grow:1}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-chip-list-container{width:100%}.eui-autocomplete .eui-autocomplete__wrapper--inside .eui-chip-list-container .eui-chip-list__list{flex-wrap:inherit!important;width:100%}.eui-autocomplete--has-chips .eui-input-text[readonly]{display:none}.mat-mdc-autocomplete-panel{padding:0!important}.mat-mdc-autocomplete-panel .mat-mdc-optgroup-label{align-items:center;background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-grey-80);display:flex;font-family:var(--eui-base-font-family);font-size:var(--eui-base-font-size);font-weight:700;margin-bottom:0}.mat-mdc-autocomplete-panel .eui-autocomplete__optgroup--custom .mat-mdc-optgroup-label{display:none}.mat-mdc-autocomplete-panel .eui-autocomplete__optgroup--custom-optgroup-wrapper{background-color:var(--eui-base-color-grey-10);color:var(--eui-base-color-grey-80);font-size:var(--eui-base-font-size);font-weight:700;height:auto;line-height:var(--eui-base-spacing-3xl);min-height:var(--eui-base-spacing-3xl);padding:0 var(--eui-base-spacing-s)}.mat-mdc-autocomplete-panel .mdc-list-item--selected{background:none!important}.mat-mdc-autocomplete-panel .mdc-list-item--selected:hover{background:rgba(0,0,0,.04)!important}.mat-mdc-autocomplete-panel .mdc-list-item--selected .mdc-list-item__primary-text{color:inherit!important}.eui-autocomplete--primary input{background-color:var(--eui-base-color-primary-10)}.eui-autocomplete--secondary input{background-color:var(--eui-base-color-grey-10)}.eui-autocomplete--info input{background-color:var(--eui-base-color-info-10)}.eui-autocomplete--success input{background-color:var(--eui-base-color-success-10)}.eui-autocomplete--warning input{background-color:var(--eui-base-color-warning-10)}.eui-autocomplete--danger input{background-color:var(--eui-base-color-danger-10)}.eui-autocomplete--accent input{background-color:var(--eui-base-color-accent-10)}.eui-autocomplete__wrapper--bottom .eui-autocomplete__field-wrapper{display:block;margin-bottom:var(--eui-base-spacing-2xs)}.eui-autocomplete__wrapper--inside{background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);padding:var(--eui-base-spacing-2xs) var(--eui-base-spacing-2xs) 0 var(--eui-base-spacing-2xs)}.eui-autocomplete__wrapper--inside .mat-chip-list .mat-chip-list-wrapper,.eui-autocomplete__wrapper--inside .mat-chip-list .mat-standard-chip{align-items:center;margin-bottom:0}.eui-autocomplete__wrapper--inside .mat-autocomplete-trigger{background:none;border:0}.eui-autocomplete__wrapper--inside .mat-autocomplete-trigger:focus{border:0;box-shadow:var(--eui-base-shadow-0)}.eui-autocomplete__option--primary{border-left-color:var(--eui-base-color-primary-100)}.eui-autocomplete__option--secondary{border-left-color:var(--eui-base-color-grey-25)}.eui-autocomplete__option--info{border-left-color:var(--eui-base-color-info-100)}.eui-autocomplete__option--success{border-left-color:var(--eui-base-color-success-100)}.eui-autocomplete__option--warning{border-left-color:var(--eui-base-color-warning-100)}.eui-autocomplete__option--danger{border-left-color:var(--eui-base-color-danger-100)}.eui-autocomplete__option--accent{border-left-color:var(--eui-base-color-accent-100)}\n"] }]
|
|
541
590
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NgControl, decorators: [{
|
|
542
591
|
type: Self
|
|
543
592
|
}, {
|
|
544
593
|
type: Optional
|
|
545
|
-
}] }, { type: i2.ScrollDispatcher }]; }, propDecorators: { toggleLinkMoreLabel: [{
|
|
594
|
+
}] }, { type: i2.ScrollDispatcher }, { type: i0.ElementRef }]; }, propDecorators: { toggleLinkMoreLabel: [{
|
|
546
595
|
type: Input
|
|
547
596
|
}], toggleLinkLessLabel: [{
|
|
548
597
|
type: Input
|
|
@@ -628,6 +677,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
628
677
|
}], chipList: [{
|
|
629
678
|
type: ViewChild,
|
|
630
679
|
args: ['chipList']
|
|
680
|
+
}], virtualScrolling: [{
|
|
681
|
+
type: ViewChild,
|
|
682
|
+
args: ['virtualScrolling']
|
|
631
683
|
}], hasChips: [{
|
|
632
684
|
type: Input
|
|
633
685
|
}], isGrid: [{
|
|
@@ -660,6 +712,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
660
712
|
type: Input
|
|
661
713
|
}], isForceSelection: [{
|
|
662
714
|
type: Input
|
|
715
|
+
}], autoActiveFirstOption: [{
|
|
716
|
+
type: Input
|
|
663
717
|
}] } });
|
|
664
718
|
|
|
665
719
|
class EuiAutocompleteModule {
|
|
@@ -670,14 +724,16 @@ class EuiAutocompleteModule {
|
|
|
670
724
|
EuiChipListModule,
|
|
671
725
|
EuiChipModule,
|
|
672
726
|
EuiIconModule,
|
|
673
|
-
EuiInputTextModule
|
|
727
|
+
EuiInputTextModule,
|
|
728
|
+
ScrollingModule], exports: [EuiAutocompleteComponent] }); }
|
|
674
729
|
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EuiAutocompleteModule, imports: [CommonModule,
|
|
675
730
|
ReactiveFormsModule,
|
|
676
731
|
MatAutocompleteModule,
|
|
677
732
|
EuiChipListModule,
|
|
678
733
|
EuiChipModule,
|
|
679
734
|
EuiIconModule,
|
|
680
|
-
EuiInputTextModule
|
|
735
|
+
EuiInputTextModule,
|
|
736
|
+
ScrollingModule] }); }
|
|
681
737
|
}
|
|
682
738
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EuiAutocompleteModule, decorators: [{
|
|
683
739
|
type: NgModule,
|
|
@@ -690,6 +746,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
690
746
|
EuiChipModule,
|
|
691
747
|
EuiIconModule,
|
|
692
748
|
EuiInputTextModule,
|
|
749
|
+
ScrollingModule,
|
|
693
750
|
],
|
|
694
751
|
declarations: [EuiAutocompleteComponent],
|
|
695
752
|
exports: [EuiAutocompleteComponent],
|