@syncfusion/ej2-angular-dropdowns 28.2.9-ngcc → 28.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +2662 -0
  2. package/esm2020/public_api.mjs +2 -0
  3. package/esm2020/src/auto-complete/autocomplete-all.module.mjs +23 -0
  4. package/esm2020/src/auto-complete/autocomplete.component.mjs +129 -0
  5. package/esm2020/src/auto-complete/autocomplete.module.mjs +25 -0
  6. package/esm2020/src/combo-box/combobox-all.module.mjs +23 -0
  7. package/esm2020/src/combo-box/combobox.component.mjs +129 -0
  8. package/esm2020/src/combo-box/combobox.module.mjs +25 -0
  9. package/esm2020/src/drop-down-list/dropdownlist-all.module.mjs +29 -0
  10. package/esm2020/src/drop-down-list/dropdownlist.component.mjs +135 -0
  11. package/esm2020/src/drop-down-list/dropdownlist.module.mjs +25 -0
  12. package/esm2020/src/drop-down-tree/dropdowntree-all.module.mjs +23 -0
  13. package/esm2020/src/drop-down-tree/dropdowntree.component.mjs +122 -0
  14. package/esm2020/src/drop-down-tree/dropdowntree.module.mjs +25 -0
  15. package/esm2020/src/index.mjs +23 -0
  16. package/esm2020/src/list-box/listbox-all.module.mjs +23 -0
  17. package/esm2020/src/list-box/listbox.component.mjs +104 -0
  18. package/esm2020/src/list-box/listbox.module.mjs +25 -0
  19. package/esm2020/src/mention/mention-all.module.mjs +23 -0
  20. package/esm2020/src/mention/mention.component.mjs +84 -0
  21. package/esm2020/src/mention/mention.module.mjs +25 -0
  22. package/esm2020/src/multi-select/multiselect-all.module.mjs +29 -0
  23. package/esm2020/src/multi-select/multiselect.component.mjs +142 -0
  24. package/esm2020/src/multi-select/multiselect.module.mjs +25 -0
  25. package/esm2020/syncfusion-ej2-angular-dropdowns.mjs +5 -0
  26. package/fesm2015/syncfusion-ej2-angular-dropdowns.mjs +1095 -0
  27. package/fesm2015/syncfusion-ej2-angular-dropdowns.mjs.map +1 -0
  28. package/fesm2020/syncfusion-ej2-angular-dropdowns.mjs +1095 -0
  29. package/fesm2020/syncfusion-ej2-angular-dropdowns.mjs.map +1 -0
  30. package/package.json +24 -11
  31. package/src/auto-complete/autocomplete-all.module.d.ts +6 -0
  32. package/src/auto-complete/autocomplete.component.d.ts +7 -4
  33. package/src/auto-complete/autocomplete.module.d.ts +6 -0
  34. package/src/combo-box/combobox-all.module.d.ts +6 -0
  35. package/src/combo-box/combobox.component.d.ts +7 -4
  36. package/src/combo-box/combobox.module.d.ts +6 -0
  37. package/src/drop-down-list/dropdownlist-all.module.d.ts +6 -0
  38. package/src/drop-down-list/dropdownlist.component.d.ts +5 -2
  39. package/src/drop-down-list/dropdownlist.module.d.ts +6 -0
  40. package/src/drop-down-tree/dropdowntree-all.module.d.ts +6 -0
  41. package/src/drop-down-tree/dropdowntree.component.d.ts +3 -0
  42. package/src/drop-down-tree/dropdowntree.module.d.ts +6 -0
  43. package/src/list-box/listbox-all.module.d.ts +6 -0
  44. package/src/list-box/listbox.component.d.ts +4 -1
  45. package/src/list-box/listbox.module.d.ts +6 -0
  46. package/src/mention/mention-all.module.d.ts +6 -0
  47. package/src/mention/mention.component.d.ts +3 -0
  48. package/src/mention/mention.module.d.ts +6 -0
  49. package/src/multi-select/multiselect-all.module.d.ts +6 -0
  50. package/src/multi-select/multiselect.component.d.ts +3 -0
  51. package/src/multi-select/multiselect.module.d.ts +6 -0
  52. package/syncfusion-ej2-angular-dropdowns.d.ts +5 -0
  53. package/@syncfusion/ej2-angular-dropdowns.es5.js +0 -1487
  54. package/@syncfusion/ej2-angular-dropdowns.es5.js.map +0 -1
  55. package/@syncfusion/ej2-angular-dropdowns.js +0 -1402
  56. package/@syncfusion/ej2-angular-dropdowns.js.map +0 -1
  57. package/dist/ej2-angular-dropdowns.umd.js +0 -1557
  58. package/dist/ej2-angular-dropdowns.umd.js.map +0 -1
  59. package/dist/ej2-angular-dropdowns.umd.min.js +0 -11
  60. package/dist/ej2-angular-dropdowns.umd.min.js.map +0 -1
  61. package/ej2-angular-dropdowns.d.ts +0 -11
  62. package/ej2-angular-dropdowns.metadata.json +0 -1
  63. package/license +0 -10
@@ -0,0 +1,2 @@
1
+ export * from './src/index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9pbmRleCc7Il19
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AutoCompleteModule } from './autocomplete.module';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * NgModule definition for the AutoComplete component with providers.
7
+ */
8
+ export class AutoCompleteAllModule {
9
+ }
10
+ AutoCompleteAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ AutoCompleteAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteAllModule, imports: [CommonModule, AutoCompleteModule], exports: [AutoCompleteModule] });
12
+ AutoCompleteAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteAllModule, providers: [], imports: [[CommonModule, AutoCompleteModule], AutoCompleteModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteAllModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [CommonModule, AutoCompleteModule],
17
+ exports: [
18
+ AutoCompleteModule
19
+ ],
20
+ providers: []
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWFsbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0by1jb21wbGV0ZS9hdXRvY29tcGxldGUtYWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTTNEOztHQUVHO0FBVUgsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLFlBUnBCLFlBQVksRUFBRSxrQkFBa0IsYUFFdEMsa0JBQWtCO21IQU1iLHFCQUFxQixhQUpwQixFQUVULFlBTlEsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsRUFFdkMsa0JBQWtCOzJGQU1iLHFCQUFxQjtrQkFUakMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUM7b0JBQzNDLE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBQyxFQUVUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnLi9hdXRvY29tcGxldGUubW9kdWxlJztcblxuXG5cblxuXG4vKipcbiAqIE5nTW9kdWxlIGRlZmluaXRpb24gZm9yIHRoZSBBdXRvQ29tcGxldGUgY29tcG9uZW50IHdpdGggcHJvdmlkZXJzLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEF1dG9Db21wbGV0ZU1vZHVsZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBBdXRvQ29tcGxldGVNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczpbXG4gICAgICAgIFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0b0NvbXBsZXRlQWxsTW9kdWxlIHsgfSJdfQ==
@@ -0,0 +1,129 @@
1
+ var AutoCompleteComponent_1;
2
+ import { __decorate } from "tslib";
3
+ import { Component, ChangeDetectionStrategy, forwardRef, ContentChild } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { ComponentBase, ComponentMixins, FormBase, setValue } from '@syncfusion/ej2-angular-base';
6
+ import { AutoComplete } from '@syncfusion/ej2-dropdowns';
7
+ import { Template } from '@syncfusion/ej2-angular-base';
8
+ import * as i0 from "@angular/core";
9
+ export const inputs = ['actionFailureTemplate', 'allowCustom', 'allowFiltering', 'allowObjectBinding', 'allowResize', 'autofill', 'cssClass', 'dataSource', 'enablePersistence', 'enableRtl', 'enableVirtualization', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'highlight', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'index', 'isDeviceFullScreen', 'itemTemplate', 'locale', 'minLength', 'noRecordsTemplate', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'showClearButton', 'showPopupButton', 'sortOrder', 'suggestionCount', 'text', 'value', 'valueTemplate', 'width', 'zIndex'];
10
+ export const outputs = ['actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'customValueSpecifier', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'resizeStart', 'resizeStop', 'resizing', 'select', 'valueChange'];
11
+ export const twoWays = ['value'];
12
+ /**
13
+ *The AutoComplete component provides the matched suggestion list when type into the input, from which the user can select one.
14
+ *```html
15
+ *<ejs-autocomplete></ejs-autocomplete>
16
+ *```
17
+ */
18
+ let AutoCompleteComponent = AutoCompleteComponent_1 = class AutoCompleteComponent extends AutoComplete {
19
+ constructor(ngEle, srenderer, viewContainerRef, injector, cdr) {
20
+ super();
21
+ this.ngEle = ngEle;
22
+ this.srenderer = srenderer;
23
+ this.viewContainerRef = viewContainerRef;
24
+ this.injector = injector;
25
+ this.cdr = cdr;
26
+ this.skipFromEvent = true;
27
+ this.element = this.ngEle.nativeElement;
28
+ this.injectedModules = this.injectedModules || [];
29
+ try {
30
+ let mod = this.injector.get('DropDownsVirtualScroll');
31
+ if (this.injectedModules.indexOf(mod) === -1) {
32
+ this.injectedModules.push(mod);
33
+ }
34
+ }
35
+ catch { }
36
+ this.registerEvents(outputs);
37
+ this.addTwoWay.call(this, twoWays);
38
+ setValue('currentInstance', this, this.viewContainerRef);
39
+ this.formContext = new FormBase();
40
+ this.formCompContext = new ComponentBase();
41
+ }
42
+ registerOnChange(registerFunction) {
43
+ }
44
+ registerOnTouched(registerFunction) {
45
+ }
46
+ writeValue(value) {
47
+ }
48
+ setDisabledState(disabled) {
49
+ }
50
+ ngOnInit() {
51
+ this.formCompContext.ngOnInit(this);
52
+ }
53
+ ngAfterViewInit() {
54
+ this.formContext.ngAfterViewInit(this);
55
+ }
56
+ ngOnDestroy() {
57
+ this.formCompContext.ngOnDestroy(this);
58
+ }
59
+ ngAfterContentChecked() {
60
+ this.formCompContext.ngAfterContentChecked(this);
61
+ }
62
+ };
63
+ AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
64
+ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AutoCompleteComponent, selector: "ejs-autocomplete", inputs: { actionFailureTemplate: "actionFailureTemplate", allowCustom: "allowCustom", allowFiltering: "allowFiltering", allowObjectBinding: "allowObjectBinding", allowResize: "allowResize", autofill: "autofill", cssClass: "cssClass", dataSource: "dataSource", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableVirtualization: "enableVirtualization", enabled: "enabled", fields: "fields", filterBarPlaceholder: "filterBarPlaceholder", filterType: "filterType", floatLabelType: "floatLabelType", footerTemplate: "footerTemplate", groupTemplate: "groupTemplate", headerTemplate: "headerTemplate", highlight: "highlight", htmlAttributes: "htmlAttributes", ignoreAccent: "ignoreAccent", ignoreCase: "ignoreCase", index: "index", isDeviceFullScreen: "isDeviceFullScreen", itemTemplate: "itemTemplate", locale: "locale", minLength: "minLength", noRecordsTemplate: "noRecordsTemplate", placeholder: "placeholder", popupHeight: "popupHeight", popupWidth: "popupWidth", query: "query", readonly: "readonly", showClearButton: "showClearButton", showPopupButton: "showPopupButton", sortOrder: "sortOrder", suggestionCount: "suggestionCount", text: "text", value: "value", valueTemplate: "valueTemplate", width: "width", zIndex: "zIndex" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforeOpen: "beforeOpen", blur: "blur", change: "change", close: "close", created: "created", customValueSpecifier: "customValueSpecifier", dataBound: "dataBound", destroyed: "destroyed", filtering: "filtering", focus: "focus", open: "open", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", select: "select", valueChange: "valueChange" }, providers: [
65
+ {
66
+ provide: NG_VALUE_ACCESSOR,
67
+ useExisting: forwardRef(() => AutoCompleteComponent_1),
68
+ multi: true
69
+ }
70
+ ], queries: [{ propertyName: "footerTemplate", first: true, predicate: ["footerTemplate"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true }, { propertyName: "groupTemplate", first: true, predicate: ["groupTemplate"], descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }, { propertyName: "noRecordsTemplate", first: true, predicate: ["noRecordsTemplate"], descendants: true }, { propertyName: "actionFailureTemplate", first: true, predicate: ["actionFailureTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
+ __decorate([
72
+ Template()
73
+ ], AutoCompleteComponent.prototype, "footerTemplate", void 0);
74
+ __decorate([
75
+ Template()
76
+ ], AutoCompleteComponent.prototype, "headerTemplate", void 0);
77
+ __decorate([
78
+ Template()
79
+ ], AutoCompleteComponent.prototype, "groupTemplate", void 0);
80
+ __decorate([
81
+ Template()
82
+ ], AutoCompleteComponent.prototype, "itemTemplate", void 0);
83
+ __decorate([
84
+ Template('No records found')
85
+ ], AutoCompleteComponent.prototype, "noRecordsTemplate", void 0);
86
+ __decorate([
87
+ Template('Request failed')
88
+ ], AutoCompleteComponent.prototype, "actionFailureTemplate", void 0);
89
+ AutoCompleteComponent = AutoCompleteComponent_1 = __decorate([
90
+ ComponentMixins([ComponentBase, FormBase])
91
+ ], AutoCompleteComponent);
92
+ export { AutoCompleteComponent };
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteComponent, decorators: [{
94
+ type: Component,
95
+ args: [{
96
+ selector: 'ejs-autocomplete',
97
+ inputs: inputs,
98
+ outputs: outputs,
99
+ template: '',
100
+ changeDetection: ChangeDetectionStrategy.OnPush,
101
+ providers: [
102
+ {
103
+ provide: NG_VALUE_ACCESSOR,
104
+ useExisting: forwardRef(() => AutoCompleteComponent),
105
+ multi: true
106
+ }
107
+ ],
108
+ queries: {}
109
+ }]
110
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { footerTemplate: [{
111
+ type: ContentChild,
112
+ args: ['footerTemplate']
113
+ }], headerTemplate: [{
114
+ type: ContentChild,
115
+ args: ['headerTemplate']
116
+ }], groupTemplate: [{
117
+ type: ContentChild,
118
+ args: ['groupTemplate']
119
+ }], itemTemplate: [{
120
+ type: ContentChild,
121
+ args: ['itemTemplate']
122
+ }], noRecordsTemplate: [{
123
+ type: ContentChild,
124
+ args: ['noRecordsTemplate']
125
+ }], actionFailureTemplate: [{
126
+ type: ContentChild,
127
+ args: ['actionFailureTemplate']
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRvLWNvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvRSx1QkFBdUIsRUFBcUIsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsTCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2SixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUd4RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyx1QkFBdUIsRUFBQyxhQUFhLEVBQUMsZ0JBQWdCLEVBQUMsb0JBQW9CLEVBQUMsYUFBYSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsWUFBWSxFQUFDLG1CQUFtQixFQUFDLFdBQVcsRUFBQyxzQkFBc0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLHNCQUFzQixFQUFDLFlBQVksRUFBQyxnQkFBZ0IsRUFBQyxnQkFBZ0IsRUFBQyxlQUFlLEVBQUMsZ0JBQWdCLEVBQUMsV0FBVyxFQUFDLGdCQUFnQixFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLGNBQWMsRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLG1CQUFtQixFQUFDLGFBQWEsRUFBQyxhQUFhLEVBQUMsWUFBWSxFQUFDLE9BQU8sRUFBQyxVQUFVLEVBQUMsaUJBQWlCLEVBQUMsaUJBQWlCLEVBQUMsV0FBVyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sRUFBQyxPQUFP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YWluZXJSZWYsIFZhbHVlUHJvdmlkZXIsIFJlbmRlcmVyMiwgSW5qZWN0b3IsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgZm9yd2FyZFJlZiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBGb3JtQmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1kcm9wZG93bnMnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5leHBvcnQgY29uc3QgaW5wdXRzOiBzdHJpbmdbXSA9IFsnYWN0aW9uRmFpbHVyZVRlbXBsYXRlJywnYWxsb3dDdXN0b20nLCdhbGxvd0ZpbHRlcmluZycsJ2FsbG93T2JqZWN0QmluZGluZycsJ2FsbG93UmVzaXplJywnYXV0b2ZpbGwnLCdjc3NDbGFzcycsJ2RhdGFTb3VyY2UnLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJ0bCcsJ2VuYWJsZVZpcnR1YWxpemF0aW9uJywnZW5hYmxlZCcsJ2ZpZWxkcycsJ2ZpbHRlckJhclBsYWNlaG9sZGVyJywnZmlsdGVyVHlwZScsJ2Zsb2F0TGFiZWxUeXBlJywnZm9vdGVyVGVtcGxhdGUnLCdncm91cFRlbXBsYXRlJywnaGVhZGVyVGVtcGxhdGUnLCdoaWdobGlnaHQnLCdodG1sQXR0cmlidXRlcycsJ2lnbm9yZUFjY2VudCcsJ2lnbm9yZUNhc2UnLCdpbmRleCcsJ2lzRGV2aWNlRnVsbFNjcmVlbicsJ2l0ZW1UZW1wbGF0ZScsJ2xvY2FsZScsJ21pbkxlbmd0aCcsJ25vUmVjb3Jkc1RlbXBsYXRlJywncGxhY2Vob2xkZXInLCdwb3B1cEhlaWdodCcsJ3BvcHVwV2lkdGgnLCdxdWVyeScsJ3JlYWRvbmx5Jywnc2hvd0NsZWFyQnV0dG9uJywnc2hvd1BvcHVwQnV0dG9uJywnc29ydE9yZGVyJywnc3VnZ2VzdGlvbkNvdW50JywndGV4dCcsJ3ZhbHVlJywndmFsdWVUZW1wbGF0ZScsJ3dpZHRoJywnekluZGV4J107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2FjdGlvbkJlZ2luJywnYWN0aW9uQ29tcGxldGUnLCdhY3Rpb25GYWlsdXJlJywnYmVmb3JlT3BlbicsJ2JsdXInLCdjaGFuZ2UnLCdjbG9zZScsJ2NyZWF0ZWQnLCdjdXN0b21WYWx1ZVNwZWNpZmllcicsJ2RhdGFCb3VuZCcsJ2Rlc3Ryb3llZCcsJ2ZpbHRlcmluZycsJ2ZvY3VzJywnb3BlbicsJ3Jlc2l6ZVN0YXJ0JywncmVzaXplU3RvcCcsJ3Jlc2l6aW5nJywnc2VsZWN0JywndmFsdWVDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsndmFsdWUnXTtcblxuLyoqXG4gKlRoZSBBdXRvQ29tcGxldGUgY29tcG9uZW50IHByb3ZpZGVzIHRoZSBtYXRjaGVkIHN1Z2dlc3Rpb24gbGlzdCB3aGVuIHR5cGUgaW50byB0aGUgaW5wdXQsIGZyb20gd2hpY2ggdGhlIHVzZXIgY2FuIHNlbGVjdCBvbmUuXG4qYGBgaHRtbFxuKjxlanMtYXV0b2NvbXBsZXRlPjwvZWpzLWF1dG9jb21wbGV0ZT5cbipgYGBcbiovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1hdXRvY29tcGxldGUnLFxuICAgIGlucHV0czogaW5wdXRzLFxuICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEF1dG9Db21wbGV0ZUNvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuQENvbXBvbmVudE1peGlucyhbQ29tcG9uZW50QmFzZSwgRm9ybUJhc2VdKVxuZXhwb3J0IGNsYXNzIEF1dG9Db21wbGV0ZUNvbXBvbmVudCBleHRlbmRzIEF1dG9Db21wbGV0ZSBpbXBsZW1lbnRzIElDb21wb25lbnRCYXNlIHtcbiAgICBwdWJsaWMgZm9ybUNvbXBDb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyBmb3JtQ29udGV4dCA6IGFueTtcbiAgICBwdWJsaWMgdGFnT2JqZWN0czogYW55O1xuXHRhY3Rpb25CZWdpbjogYW55O1xuXHRhY3Rpb25Db21wbGV0ZTogYW55O1xuXHRhY3Rpb25GYWlsdXJlOiBhbnk7XG5cdGJlZm9yZU9wZW46IGFueTtcblx0Ymx1cjogYW55O1xuXHRjaGFuZ2U6IGFueTtcblx0Y2xvc2U6IGFueTtcblx0Y3JlYXRlZDogYW55O1xuXHRjdXN0b21WYWx1ZVNwZWNpZmllcjogYW55O1xuXHRkYXRhQm91bmQ6IGFueTtcblx0ZGVzdHJveWVkOiBhbnk7XG5cdGZpbHRlcmluZzogYW55O1xuXHRmb2N1czogYW55O1xuXHRvcGVuOiBhbnk7XG5cdHJlc2l6ZVN0YXJ0OiBhbnk7XG5cdHJlc2l6ZVN0b3A6IGFueTtcblx0cmVzaXppbmc6IGFueTtcblx0c2VsZWN0OiBhbnk7XG5cdHB1YmxpYyB2YWx1ZUNoYW5nZTogYW55O1xuXG5cbiAgICAvKiogXG4gICAgICogQWNjZXB0cyB0aGUgdGVtcGxhdGUgZGVzaWduIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBmb290ZXIgY29udGFpbmVyIG9mIHRoZSBwb3B1cCBsaXN0LiBcbiAgICAgKiA+IEZvciBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGF2YWlsYWJsZSB0ZW1wbGF0ZSBvcHRpb25zIHJlZmVyIHRvIFtgVGVtcGxhdGVgXSguLi8uLi9kcm9wLWRvd24tbGlzdC90ZW1wbGF0ZXMpIGRvY3VtZW50YXRpb24uXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqIEBkZXByZWNhdGVkIFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Zvb3RlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBY2NlcHRzIHRoZSB0ZW1wbGF0ZSBkZXNpZ24gYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGhlYWRlciBjb250YWluZXIgb2YgdGhlIHBvcHVwIGxpc3QuIFxuICAgICAqID4gRm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgYXZhaWxhYmxlIHRlbXBsYXRlIG9wdGlvbnMgcmVmZXIgdG8gW2BUZW1wbGF0ZWBdKC4uLy4uL2Ryb3AtZG93bi1saXN0L3RlbXBsYXRlcykgZG9jdW1lbnRhdGlvbi5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICogQGRlcHJlY2F0ZWQgXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFjY2VwdHMgdGhlIHRlbXBsYXRlIGRlc2lnbiBhbmQgYXNzaWducyBpdCB0byB0aGUgZ3JvdXAgaGVhZGVycyBwcmVzZW50IGluIHRoZSBwb3B1cCBsaXN0LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdncm91cFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBncm91cFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFjY2VwdHMgdGhlIHRlbXBsYXRlIGRlc2lnbiBhbmQgYXNzaWducyBpdCB0byBlYWNoIGxpc3QgaXRlbSBwcmVzZW50IGluIHRoZSBwb3B1cC4gXG4gICAgICogV2UgaGF2ZSBidWlsdC1pbiBgdGVtcGxhdGUgZW5naW5lYFxuICAgICAqIFxuICAgICAqIHdoaWNoIHByb3ZpZGVzIG9wdGlvbnMgdG8gY29tcGlsZSB0ZW1wbGF0ZSBzdHJpbmcgaW50byBhIGV4ZWN1dGFibGUgZnVuY3Rpb24uXG4gICAgICpGb3IgRVg6IFdlIGhhdmUgZXhwcmVzc2lvbiBldm9sdXRpb24gYXMgbGlrZSBFUzYgZXhwcmVzc2lvbiBzdHJpbmcgbGl0ZXJhbHMuXG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdpdGVtVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGl0ZW1UZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ25vUmVjb3Jkc1RlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoJ05vIHJlY29yZHMgZm91bmQnKVxuICAgIHB1YmxpYyBub1JlY29yZHNUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2FjdGlvbkZhaWx1cmVUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKCdSZXF1ZXN0IGZhaWxlZCcpXG4gICAgcHVibGljIGFjdGlvbkZhaWx1cmVUZW1wbGF0ZTogYW55O1xuXG4gICAgcHJpdmF0ZSBza2lwRnJvbUV2ZW50OmJvb2xlYW4gPSB0cnVlO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdFbGU6IEVsZW1lbnRSZWYsIHByaXZhdGUgc3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMubmdFbGUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMgPSB0aGlzLmluamVjdGVkTW9kdWxlcyB8fCBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0Ryb3BEb3duc1ZpcnR1YWxTY3JvbGwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5mb3JtQ29udGV4dCAgPSBuZXcgRm9ybUJhc2UoKTtcbiAgICAgICAgdGhpcy5mb3JtQ29tcENvbnRleHQgID0gbmV3IENvbXBvbmVudEJhc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShyZWdpc3RlckZ1bmN0aW9uOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKHJlZ2lzdGVyRnVuY3Rpb246ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgfVxuICAgIFxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZvcm1Db21wQ29udGV4dC5uZ09uSW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Db250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUNvbXBDb250ZXh0Lm5nT25EZXN0cm95KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmZvcm1Db21wQ29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AutoCompleteComponent } from './autocomplete.component';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * NgModule definition for the AutoComplete component.
7
+ */
8
+ export class AutoCompleteModule {
9
+ }
10
+ AutoCompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ AutoCompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteModule, declarations: [AutoCompleteComponent], imports: [CommonModule], exports: [AutoCompleteComponent] });
12
+ AutoCompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteModule, imports: [[CommonModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AutoCompleteModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [CommonModule],
17
+ declarations: [
18
+ AutoCompleteComponent
19
+ ],
20
+ exports: [
21
+ AutoCompleteComponent
22
+ ]
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRvLWNvbXBsZXRlL2F1dG9jb21wbGV0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWpFOztHQUVHO0FBVUgsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQU52QixxQkFBcUIsYUFGZixZQUFZLGFBS2xCLHFCQUFxQjtnSEFHaEIsa0JBQWtCLFlBUmxCLENBQUMsWUFBWSxDQUFDOzJGQVFkLGtCQUFrQjtrQkFUOUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDVixxQkFBcUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxxQkFBcUI7cUJBQ3hCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIE5nTW9kdWxlIGRlZmluaXRpb24gZm9yIHRoZSBBdXRvQ29tcGxldGUgY29tcG9uZW50LlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBBdXRvQ29tcGxldGVDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQXV0b0NvbXBsZXRlQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvQ29tcGxldGVNb2R1bGUgeyB9Il19
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ComboBoxModule } from './combobox.module';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * NgModule definition for the ComboBox component with providers.
7
+ */
8
+ export class ComboBoxAllModule {
9
+ }
10
+ ComboBoxAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ ComboBoxAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxAllModule, imports: [CommonModule, ComboBoxModule], exports: [ComboBoxModule] });
12
+ ComboBoxAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxAllModule, providers: [], imports: [[CommonModule, ComboBoxModule], ComboBoxModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxAllModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [CommonModule, ComboBoxModule],
17
+ exports: [
18
+ ComboBoxModule
19
+ ],
20
+ providers: []
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtYWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21iby1ib3gvY29tYm9ib3gtYWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1uRDs7R0FFRztBQVVILE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixZQVJoQixZQUFZLEVBQUUsY0FBYyxhQUVsQyxjQUFjOytHQU1ULGlCQUFpQixhQUpoQixFQUVULFlBTlEsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLEVBRW5DLGNBQWM7MkZBTVQsaUJBQWlCO2tCQVQ3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRTt3QkFDTCxjQUFjO3FCQUNqQjtvQkFDRCxTQUFTLEVBQUMsRUFFVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tYm9Cb3hDb21wb25lbnQgfSBmcm9tICcuL2NvbWJvYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21ib0JveE1vZHVsZSB9IGZyb20gJy4vY29tYm9ib3gubW9kdWxlJztcblxuXG5cblxuXG4vKipcbiAqIE5nTW9kdWxlIGRlZmluaXRpb24gZm9yIHRoZSBDb21ib0JveCBjb21wb25lbnQgd2l0aCBwcm92aWRlcnMuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29tYm9Cb3hNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQ29tYm9Cb3hNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczpbXG4gICAgICAgIFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29tYm9Cb3hBbGxNb2R1bGUgeyB9Il19
@@ -0,0 +1,129 @@
1
+ var ComboBoxComponent_1;
2
+ import { __decorate } from "tslib";
3
+ import { Component, ChangeDetectionStrategy, forwardRef, ContentChild } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { ComponentBase, ComponentMixins, FormBase, setValue } from '@syncfusion/ej2-angular-base';
6
+ import { ComboBox } from '@syncfusion/ej2-dropdowns';
7
+ import { Template } from '@syncfusion/ej2-angular-base';
8
+ import * as i0 from "@angular/core";
9
+ export const inputs = ['actionFailureTemplate', 'allowCustom', 'allowFiltering', 'allowObjectBinding', 'allowResize', 'autofill', 'cssClass', 'dataSource', 'enablePersistence', 'enableRtl', 'enableVirtualization', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'index', 'isDeviceFullScreen', 'itemTemplate', 'locale', 'noRecordsTemplate', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'showClearButton', 'sortOrder', 'text', 'value', 'valueTemplate', 'width', 'zIndex'];
10
+ export const outputs = ['actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'customValueSpecifier', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'resizeStart', 'resizeStop', 'resizing', 'select', 'valueChange'];
11
+ export const twoWays = ['value'];
12
+ /**
13
+ *The ComboBox component allows the user to type a value or choose an option from the list of predefined options.
14
+ *```html
15
+ *<ejs-combobox></ejs-combobox>
16
+ *```
17
+ */
18
+ let ComboBoxComponent = ComboBoxComponent_1 = class ComboBoxComponent extends ComboBox {
19
+ constructor(ngEle, srenderer, viewContainerRef, injector, cdr) {
20
+ super();
21
+ this.ngEle = ngEle;
22
+ this.srenderer = srenderer;
23
+ this.viewContainerRef = viewContainerRef;
24
+ this.injector = injector;
25
+ this.cdr = cdr;
26
+ this.skipFromEvent = true;
27
+ this.element = this.ngEle.nativeElement;
28
+ this.injectedModules = this.injectedModules || [];
29
+ try {
30
+ let mod = this.injector.get('DropDownsVirtualScroll');
31
+ if (this.injectedModules.indexOf(mod) === -1) {
32
+ this.injectedModules.push(mod);
33
+ }
34
+ }
35
+ catch { }
36
+ this.registerEvents(outputs);
37
+ this.addTwoWay.call(this, twoWays);
38
+ setValue('currentInstance', this, this.viewContainerRef);
39
+ this.formContext = new FormBase();
40
+ this.formCompContext = new ComponentBase();
41
+ }
42
+ registerOnChange(registerFunction) {
43
+ }
44
+ registerOnTouched(registerFunction) {
45
+ }
46
+ writeValue(value) {
47
+ }
48
+ setDisabledState(disabled) {
49
+ }
50
+ ngOnInit() {
51
+ this.formCompContext.ngOnInit(this);
52
+ }
53
+ ngAfterViewInit() {
54
+ this.formContext.ngAfterViewInit(this);
55
+ }
56
+ ngOnDestroy() {
57
+ this.formCompContext.ngOnDestroy(this);
58
+ }
59
+ ngAfterContentChecked() {
60
+ this.formCompContext.ngAfterContentChecked(this);
61
+ }
62
+ };
63
+ ComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
64
+ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ComboBoxComponent, selector: "ejs-combobox", inputs: { actionFailureTemplate: "actionFailureTemplate", allowCustom: "allowCustom", allowFiltering: "allowFiltering", allowObjectBinding: "allowObjectBinding", allowResize: "allowResize", autofill: "autofill", cssClass: "cssClass", dataSource: "dataSource", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableVirtualization: "enableVirtualization", enabled: "enabled", fields: "fields", filterBarPlaceholder: "filterBarPlaceholder", filterType: "filterType", floatLabelType: "floatLabelType", footerTemplate: "footerTemplate", groupTemplate: "groupTemplate", headerTemplate: "headerTemplate", htmlAttributes: "htmlAttributes", ignoreAccent: "ignoreAccent", ignoreCase: "ignoreCase", index: "index", isDeviceFullScreen: "isDeviceFullScreen", itemTemplate: "itemTemplate", locale: "locale", noRecordsTemplate: "noRecordsTemplate", placeholder: "placeholder", popupHeight: "popupHeight", popupWidth: "popupWidth", query: "query", readonly: "readonly", showClearButton: "showClearButton", sortOrder: "sortOrder", text: "text", value: "value", valueTemplate: "valueTemplate", width: "width", zIndex: "zIndex" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforeOpen: "beforeOpen", blur: "blur", change: "change", close: "close", created: "created", customValueSpecifier: "customValueSpecifier", dataBound: "dataBound", destroyed: "destroyed", filtering: "filtering", focus: "focus", open: "open", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", select: "select", valueChange: "valueChange" }, providers: [
65
+ {
66
+ provide: NG_VALUE_ACCESSOR,
67
+ useExisting: forwardRef(() => ComboBoxComponent_1),
68
+ multi: true
69
+ }
70
+ ], queries: [{ propertyName: "footerTemplate", first: true, predicate: ["footerTemplate"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["headerTemplate"], descendants: true }, { propertyName: "groupTemplate", first: true, predicate: ["groupTemplate"], descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }, { propertyName: "noRecordsTemplate", first: true, predicate: ["noRecordsTemplate"], descendants: true }, { propertyName: "actionFailureTemplate", first: true, predicate: ["actionFailureTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
+ __decorate([
72
+ Template()
73
+ ], ComboBoxComponent.prototype, "footerTemplate", void 0);
74
+ __decorate([
75
+ Template()
76
+ ], ComboBoxComponent.prototype, "headerTemplate", void 0);
77
+ __decorate([
78
+ Template()
79
+ ], ComboBoxComponent.prototype, "groupTemplate", void 0);
80
+ __decorate([
81
+ Template()
82
+ ], ComboBoxComponent.prototype, "itemTemplate", void 0);
83
+ __decorate([
84
+ Template('No records found')
85
+ ], ComboBoxComponent.prototype, "noRecordsTemplate", void 0);
86
+ __decorate([
87
+ Template('Request failed')
88
+ ], ComboBoxComponent.prototype, "actionFailureTemplate", void 0);
89
+ ComboBoxComponent = ComboBoxComponent_1 = __decorate([
90
+ ComponentMixins([ComponentBase, FormBase])
91
+ ], ComboBoxComponent);
92
+ export { ComboBoxComponent };
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxComponent, decorators: [{
94
+ type: Component,
95
+ args: [{
96
+ selector: 'ejs-combobox',
97
+ inputs: inputs,
98
+ outputs: outputs,
99
+ template: '',
100
+ changeDetection: ChangeDetectionStrategy.OnPush,
101
+ providers: [
102
+ {
103
+ provide: NG_VALUE_ACCESSOR,
104
+ useExisting: forwardRef(() => ComboBoxComponent),
105
+ multi: true
106
+ }
107
+ ],
108
+ queries: {}
109
+ }]
110
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { footerTemplate: [{
111
+ type: ContentChild,
112
+ args: ['footerTemplate']
113
+ }], headerTemplate: [{
114
+ type: ContentChild,
115
+ args: ['headerTemplate']
116
+ }], groupTemplate: [{
117
+ type: ContentChild,
118
+ args: ['groupTemplate']
119
+ }], itemTemplate: [{
120
+ type: ContentChild,
121
+ args: ['itemTemplate']
122
+ }], noRecordsTemplate: [{
123
+ type: ContentChild,
124
+ args: ['noRecordsTemplate']
125
+ }], actionFailureTemplate: [{
126
+ type: ContentChild,
127
+ args: ['actionFailureTemplate']
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbWJvLWJveC9jb21ib2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvRSx1QkFBdUIsRUFBcUIsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsTCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2SixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUd4RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyx1QkFBdUIsRUFBQyxhQUFhLEVBQUMsZ0JBQWdCLEVBQUMsb0JBQW9CLEVBQUMsYUFBYSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsWUFBWSxFQUFDLG1CQUFtQixFQUFDLFdBQVcsRUFBQyxzQkFBc0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLHNCQUFzQixFQUFDLFlBQVksRUFBQyxnQkFBZ0IsRUFBQyxnQkFBZ0IsRUFBQyxlQUFlLEVBQUMsZ0JBQWdCLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxFQUFDLFlBQVksRUFBQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsY0FBYyxFQUFDLFFBQVEsRUFBQyxtQkFBbUIsRUFBQyxhQUFhLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxPQUFPLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLFdBQVcsRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxPQUFPLEVBQUMsUUFBUSxDQUFDLENBQUM7QUFDaGxCLE1BQU0sQ0FB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M0I7SUFEQyxRQUFRLEVBQUU7eURBQ2dCO0FBUzNCO0lBREMsUUFBUSxFQUFFO3dEQUNlO0FBYzFCO0lBREMsUUFBUSxFQUFFO3VEQUNjO0FBR3pCO0lBREMsUUFBUSxDQUFDLGtCQUFrQixDQUFDOzREQUNDO0FBRzlCO0lBREMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO2dFQUNPO0FBekV6QixpQkFBaUI7SUFEN0IsZUFBZSxDQUFDLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0dBQzlCLGlCQUFpQixDQTZIN0I7U0E3SFksaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBbEI3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixNQUFNLEVBQUUsTUFBTTtvQkFDZCxPQUFPLEVBQUUsT0FBTztvQkFDaEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7b0JBQ0QsT0FBTyxFQUFFLEVBRVI7aUJBQ0o7K01Bb0NVLGNBQWM7c0JBRnBCLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQVl2QixjQUFjO3NCQUZwQixZQUFZO3VCQUFDLGdCQUFnQjtnQkFXdkIsYUFBYTtzQkFGbkIsWUFBWTt1QkFBQyxlQUFlO2dCQWdCdEIsWUFBWTtzQkFGbEIsWUFBWTt1QkFBQyxjQUFjO2dCQUtyQixpQkFBaUI7c0JBRnZCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQUsxQixxQkFBcUI7c0JBRjNCLFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBWYWx1ZVByb3ZpZGVyLCBSZW5kZXJlcjIsIEluamVjdG9yLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIGZvcndhcmRSZWYsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlLCBJQ29tcG9uZW50QmFzZSwgYXBwbHlNaXhpbnMsIENvbXBvbmVudE1peGlucywgUHJvcGVydHlDb2xsZWN0aW9uSW5mbywgRm9ybUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBDb21ib0JveCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1kcm9wZG93bnMnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcblxuXG5leHBvcnQgY29uc3QgaW5wdXRzOiBzdHJpbmdbXSA9IFsnYWN0aW9uRmFpbHVyZVRlbXBsYXRlJywnYWxsb3dDdXN0b20nLCdhbGxvd0ZpbHRlcmluZycsJ2FsbG93T2JqZWN0QmluZGluZycsJ2FsbG93UmVzaXplJywnYXV0b2ZpbGwnLCdjc3NDbGFzcycsJ2RhdGFTb3VyY2UnLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJ0bCcsJ2VuYWJsZVZpcnR1YWxpemF0aW9uJywnZW5hYmxlZCcsJ2ZpZWxkcycsJ2ZpbHRlckJhclBsYWNlaG9sZGVyJywnZmlsdGVyVHlwZScsJ2Zsb2F0TGFiZWxUeXBlJywnZm9vdGVyVGVtcGxhdGUnLCdncm91cFRlbXBsYXRlJywnaGVhZGVyVGVtcGxhdGUnLCdodG1sQXR0cmlidXRlcycsJ2lnbm9yZUFjY2VudCcsJ2lnbm9yZUNhc2UnLCdpbmRleCcsJ2lzRGV2aWNlRnVsbFNjcmVlbicsJ2l0ZW1UZW1wbGF0ZScsJ2xvY2FsZScsJ25vUmVjb3Jkc1RlbXBsYXRlJywncGxhY2Vob2xkZXInLCdwb3B1cEhlaWdodCcsJ3BvcHVwV2lkdGgnLCdxdWVyeScsJ3JlYWRvbmx5Jywnc2hvd0NsZWFyQnV0dG9uJywnc29ydE9yZGVyJywndGV4dCcsJ3ZhbHVlJywndmFsdWVUZW1wbGF0ZScsJ3dpZHRoJywnekluZGV4J107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2FjdGlvbkJlZ2luJywnYWN0aW9uQ29tcGxldGUnLCdhY3Rpb25GYWlsdXJlJywnYmVmb3JlT3BlbicsJ2JsdXInLCdjaGFuZ2UnLCdjbG9zZScsJ2NyZWF0ZWQnLCdjdXN0b21WYWx1ZVNwZWNpZmllcicsJ2RhdGFCb3VuZCcsJ2Rlc3Ryb3llZCcsJ2ZpbHRlcmluZycsJ2ZvY3VzJywnb3BlbicsJ3Jlc2l6ZVN0YXJ0JywncmVzaXplU3RvcCcsJ3Jlc2l6aW5nJywnc2VsZWN0JywndmFsdWVDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsndmFsdWUnXTtcblxuLyoqXG4qVGhlIENvbWJvQm94IGNvbXBvbmVudCBhbGxvd3MgdGhlIHVzZXIgdG8gdHlwZSBhIHZhbHVlIG9yIGNob29zZSBhbiBvcHRpb24gZnJvbSB0aGUgbGlzdCBvZiBwcmVkZWZpbmVkIG9wdGlvbnMuXG4qYGBgaHRtbFxuKjxlanMtY29tYm9ib3g+PC9lanMtY29tYm9ib3g+XG4qYGBgXG4qL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlanMtY29tYm9ib3gnLFxuICAgIGlucHV0czogaW5wdXRzLFxuICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvbWJvQm94Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIHF1ZXJpZXM6IHtcblxuICAgIH1cbn0pXG5AQ29tcG9uZW50TWl4aW5zKFtDb21wb25lbnRCYXNlLCBGb3JtQmFzZV0pXG5leHBvcnQgY2xhc3MgQ29tYm9Cb3hDb21wb25lbnQgZXh0ZW5kcyBDb21ib0JveCBpbXBsZW1lbnRzIElDb21wb25lbnRCYXNlIHtcbiAgICBwdWJsaWMgZm9ybUNvbXBDb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyBmb3JtQ29udGV4dCA6IGFueTtcbiAgICBwdWJsaWMgdGFnT2JqZWN0czogYW55O1xuXHRhY3Rpb25CZWdpbjogYW55O1xuXHRhY3Rpb25Db21wbGV0ZTogYW55O1xuXHRhY3Rpb25GYWlsdXJlOiBhbnk7XG5cdGJlZm9yZU9wZW46IGFueTtcblx0Ymx1cjogYW55O1xuXHRjaGFuZ2U6IGFueTtcblx0Y2xvc2U6IGFueTtcblx0Y3JlYXRlZDogYW55O1xuXHRjdXN0b21WYWx1ZVNwZWNpZmllcjogYW55O1xuXHRkYXRhQm91bmQ6IGFueTtcblx0ZGVzdHJveWVkOiBhbnk7XG5cdGZpbHRlcmluZzogYW55O1xuXHRmb2N1czogYW55O1xuXHRvcGVuOiBhbnk7XG5cdHJlc2l6ZVN0YXJ0OiBhbnk7XG5cdHJlc2l6ZVN0b3A6IGFueTtcblx0cmVzaXppbmc6IGFueTtcblx0c2VsZWN0OiBhbnk7XG5cdHB1YmxpYyB2YWx1ZUNoYW5nZTogYW55O1xuXG5cbiAgICAvKiogXG4gICAgICogQWNjZXB0cyB0aGUgdGVtcGxhdGUgZGVzaWduIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBmb290ZXIgY29udGFpbmVyIG9mIHRoZSBwb3B1cCBsaXN0LiBcbiAgICAgKiA+IEZvciBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGF2YWlsYWJsZSB0ZW1wbGF0ZSBvcHRpb25zIHJlZmVyIHRvIFtgVGVtcGxhdGVgXSguLi8uLi9kcm9wLWRvd24tbGlzdC90ZW1wbGF0ZXMpIGRvY3VtZW50YXRpb24uXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqIEBkZXByZWNhdGVkIFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Zvb3RlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBY2NlcHRzIHRoZSB0ZW1wbGF0ZSBkZXNpZ24gYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGhlYWRlciBjb250YWluZXIgb2YgdGhlIHBvcHVwIGxpc3QuIFxuICAgICAqID4gRm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgYXZhaWxhYmxlIHRlbXBsYXRlIG9wdGlvbnMgcmVmZXIgdG8gW2BUZW1wbGF0ZWBdKC4uLy4uL2Ryb3AtZG93bi1saXN0L3RlbXBsYXRlcykgZG9jdW1lbnRhdGlvbi5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICogQGRlcHJlY2F0ZWQgXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGhlYWRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFjY2VwdHMgdGhlIHRlbXBsYXRlIGRlc2lnbiBhbmQgYXNzaWducyBpdCB0byB0aGUgZ3JvdXAgaGVhZGVycyBwcmVzZW50IGluIHRoZSBwb3B1cCBsaXN0LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdncm91cFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBncm91cFRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEFjY2VwdHMgdGhlIHRlbXBsYXRlIGRlc2lnbiBhbmQgYXNzaWducyBpdCB0byBlYWNoIGxpc3QgaXRlbSBwcmVzZW50IGluIHRoZSBwb3B1cC4gXG4gICAgICogV2UgaGF2ZSBidWlsdC1pbiBgdGVtcGxhdGUgZW5naW5lYFxuICAgICAqIFxuICAgICAqIHdoaWNoIHByb3ZpZGVzIG9wdGlvbnMgdG8gY29tcGlsZSB0ZW1wbGF0ZSBzdHJpbmcgaW50byBhIGV4ZWN1dGFibGUgZnVuY3Rpb24uXG4gICAgICpGb3IgRVg6IFdlIGhhdmUgZXhwcmVzc2lvbiBldm9sdXRpb24gYXMgbGlrZSBFUzYgZXhwcmVzc2lvbiBzdHJpbmcgbGl0ZXJhbHMuXG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKiBAZGVwcmVjYXRlZCBcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdpdGVtVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGl0ZW1UZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ25vUmVjb3Jkc1RlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoJ05vIHJlY29yZHMgZm91bmQnKVxuICAgIHB1YmxpYyBub1JlY29yZHNUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2FjdGlvbkZhaWx1cmVUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKCdSZXF1ZXN0IGZhaWxlZCcpXG4gICAgcHVibGljIGFjdGlvbkZhaWx1cmVUZW1wbGF0ZTogYW55O1xuXG4gICAgcHJpdmF0ZSBza2lwRnJvbUV2ZW50OmJvb2xlYW4gPSB0cnVlO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdFbGU6IEVsZW1lbnRSZWYsIHByaXZhdGUgc3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjpWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMubmdFbGUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMgPSB0aGlzLmluamVjdGVkTW9kdWxlcyB8fCBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0Ryb3BEb3duc1ZpcnR1YWxTY3JvbGwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5mb3JtQ29udGV4dCAgPSBuZXcgRm9ybUJhc2UoKTtcbiAgICAgICAgdGhpcy5mb3JtQ29tcENvbnRleHQgID0gbmV3IENvbXBvbmVudEJhc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShyZWdpc3RlckZ1bmN0aW9uOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKHJlZ2lzdGVyRnVuY3Rpb246ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgfVxuICAgIFxuICAgIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZvcm1Db21wQ29udGV4dC5uZ09uSW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Db250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUNvbXBDb250ZXh0Lm5nT25EZXN0cm95KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmZvcm1Db21wQ29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ComboBoxComponent } from './combobox.component';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * NgModule definition for the ComboBox component.
7
+ */
8
+ export class ComboBoxModule {
9
+ }
10
+ ComboBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ ComboBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxModule, declarations: [ComboBoxComponent], imports: [CommonModule], exports: [ComboBoxComponent] });
12
+ ComboBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxModule, imports: [[CommonModule]] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ComboBoxModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [CommonModule],
17
+ declarations: [
18
+ ComboBoxComponent
19
+ ],
20
+ exports: [
21
+ ComboBoxComponent
22
+ ]
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbWJvLWJveC9jb21ib2JveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXpEOztHQUVHO0FBVUgsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFObkIsaUJBQWlCLGFBRlgsWUFBWSxhQUtsQixpQkFBaUI7NEdBR1osY0FBYyxZQVJkLENBQUMsWUFBWSxDQUFDOzJGQVFkLGNBQWM7a0JBVDFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3FCQUNwQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tYm9Cb3hDb21wb25lbnQgfSBmcm9tICcuL2NvbWJvYm94LmNvbXBvbmVudCc7XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIENvbWJvQm94IGNvbXBvbmVudC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQ29tYm9Cb3hDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQ29tYm9Cb3hDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvQm94TW9kdWxlIHsgfSJdfQ==
@@ -0,0 +1,29 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DropDownListModule } from './dropdownlist.module';
4
+ import { VirtualScroll } from '@syncfusion/ej2-dropdowns';
5
+ import * as i0 from "@angular/core";
6
+ export const VirtualScrollService = { provide: 'DropDownsVirtualScroll', useValue: VirtualScroll };
7
+ /**
8
+ * NgModule definition for the DropDownList component with providers.
9
+ */
10
+ export class DropDownListAllModule {
11
+ }
12
+ DropDownListAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DropDownListAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ DropDownListAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DropDownListAllModule, imports: [CommonModule, DropDownListModule], exports: [DropDownListModule] });
14
+ DropDownListAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DropDownListAllModule, providers: [
15
+ VirtualScrollService
16
+ ], imports: [[CommonModule, DropDownListModule], DropDownListModule] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DropDownListAllModule, decorators: [{
18
+ type: NgModule,
19
+ args: [{
20
+ imports: [CommonModule, DropDownListModule],
21
+ exports: [
22
+ DropDownListModule
23
+ ],
24
+ providers: [
25
+ VirtualScrollService
26
+ ]
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd25saXN0LWFsbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZHJvcC1kb3duLWxpc3QvZHJvcGRvd25saXN0LWFsbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQTs7QUFHdkQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUMsQ0FBQztBQUVqSDs7R0FFRztBQVVILE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixZQVJwQixZQUFZLEVBQUUsa0JBQWtCLGFBRXRDLGtCQUFrQjttSEFNYixxQkFBcUIsYUFKcEI7UUFDTixvQkFBb0I7S0FDdkIsWUFOUSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxFQUV2QyxrQkFBa0I7MkZBTWIscUJBQXFCO2tCQVRqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztvQkFDM0MsT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFDO3dCQUNOLG9CQUFvQjtxQkFDdkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgVmFsdWVQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERyb3BEb3duTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd25saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wRG93bkxpc3RNb2R1bGUgfSBmcm9tICcuL2Ryb3Bkb3dubGlzdC5tb2R1bGUnO1xuaW1wb3J0IHtWaXJ0dWFsU2Nyb2xsfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZHJvcGRvd25zJ1xuXG5cbmV4cG9ydCBjb25zdCBWaXJ0dWFsU2Nyb2xsU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0Ryb3BEb3duc1ZpcnR1YWxTY3JvbGwnLCB1c2VWYWx1ZTogVmlydHVhbFNjcm9sbH07XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIERyb3BEb3duTGlzdCBjb21wb25lbnQgd2l0aCBwcm92aWRlcnMuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJvcERvd25MaXN0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIERyb3BEb3duTGlzdE1vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOltcbiAgICAgICAgVmlydHVhbFNjcm9sbFNlcnZpY2VcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERyb3BEb3duTGlzdEFsbE1vZHVsZSB7IH0iXX0=