UNPKG

@syncfusion/ej2-angular-dropdowns

Version:
1 lines 98 kB
{"version":3,"file":"syncfusion-ej2-angular-dropdowns.mjs","sources":["../../src/drop-down-list/dropdownlist.component.ts","../../src/drop-down-list/dropdownlist.module.ts","../../src/drop-down-list/dropdownlist-all.module.ts","../../src/combo-box/combobox.component.ts","../../src/combo-box/combobox.module.ts","../../src/combo-box/combobox-all.module.ts","../../src/auto-complete/autocomplete.component.ts","../../src/auto-complete/autocomplete.module.ts","../../src/auto-complete/autocomplete-all.module.ts","../../src/multi-select/multiselect.component.ts","../../src/multi-select/multiselect.module.ts","../../src/multi-select/multiselect-all.module.ts","../../src/list-box/listbox.component.ts","../../src/list-box/listbox.module.ts","../../src/list-box/listbox-all.module.ts","../../src/drop-down-tree/dropdowntree.component.ts","../../src/drop-down-tree/dropdowntree.module.ts","../../src/drop-down-tree/dropdowntree-all.module.ts","../../src/mention/mention.component.ts","../../src/mention/mention.module.ts","../../src/mention/mention-all.module.ts","../../syncfusion-ej2-angular-dropdowns.ts"],"sourcesContent":["import { Component, ElementRef, ViewContainerRef, ValueProvider, Renderer2, Injector, ChangeDetectionStrategy, ChangeDetectorRef, forwardRef, ContentChild } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, FormBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { DropDownList } from '@syncfusion/ej2-dropdowns';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nexport const inputs: string[] = ['actionFailureTemplate','allowFiltering','allowObjectBinding','allowResize','cssClass','dataSource','debounceDelay','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'];\nexport const outputs: string[] = ['actionBegin','actionComplete','actionFailure','beforeOpen','blur','change','close','created','dataBound','destroyed','filtering','focus','open','resizeStart','resizeStop','resizing','select','valueChange'];\nexport const twoWays: string[] = ['value'];\n\n/**\n*The DropDownList component contains a list of predefined values, from which the user can choose a single value.\n*```html\n*<ejs-dropdownlist></ejs-dropdownlist>\n*```\n*/\n@Component({\n selector: 'ejs-dropdownlist',\n inputs: inputs,\n outputs: outputs,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropDownListComponent),\n multi: true\n }\n ],\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase, FormBase])\nexport class DropDownListComponent extends DropDownList implements IComponentBase {\n public formCompContext : any;\n public formContext : any;\n public tagObjects: any;\n\tactionBegin: any;\n\tactionComplete: any;\n\tactionFailure: any;\n\tbeforeOpen: any;\n\tblur: any;\n\tchange: any;\n\tclose: any;\n\tcreated: any;\n\tdataBound: any;\n\tdestroyed: any;\n\tfiltering: any;\n\tfocus: any;\n\topen: any;\n\tresizeStart: any;\n\tresizeStop: any;\n\tresizing: any;\n\tselect: any;\n\tpublic valueChange: any;\n\n\n /** \n * Accepts the template design and assigns it to the footer container of the popup list. \n * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.\n * @default null\n * @asptype string\n */\n @ContentChild('footerTemplate')\n @Template()\n public footerTemplate: any;\n /** \n * Accepts the template design and assigns it to the header container of the popup list. \n * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.\n * @default null\n * @asptype string\n */\n @ContentChild('headerTemplate')\n @Template()\n public headerTemplate: any;\n /** \n * Accepts the template design and assigns it to the selected list item in the input element of the component. \n * For more details about the available template options refer to \n * [`Template`](../../drop-down-list/templates) documentation.\n * \n * We have built-in `template engine`\n *which provides options to compile template string into a executable function.\n *For EX: We have expression evolution as like ES6 expression string literals.\n * \n * @default null\n * @asptype string\n */\n @ContentChild('valueTemplate')\n @Template()\n public valueTemplate: any;\n /** \n * Accepts the template design and assigns it to the group headers present in the popup list.\n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('groupTemplate')\n @Template()\n public groupTemplate: any;\n /** \n * Accepts the template design and assigns it to each list item present in the popup. \n * We have built-in `template engine`\n * \n * which provides options to compile template string into a executable function.\n *For EX: We have expression evolution as like ES6 expression string literals.\n * \n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('itemTemplate')\n @Template()\n public itemTemplate: any;\n @ContentChild('noRecordsTemplate')\n @Template('No records found')\n public noRecordsTemplate: any;\n @ContentChild('actionFailureTemplate')\n @Template('Request failed')\n public actionFailureTemplate: any;\n\n private skipFromEvent:boolean = true;\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector, private cdr: ChangeDetectorRef) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n try {\n let mod = this.injector.get('DropDownsVirtualScroll');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.formContext = new FormBase();\n this.formCompContext = new ComponentBase();\n }\n\n public registerOnChange(registerFunction: (_: any) => void): void {\n }\n\n public registerOnTouched(registerFunction: () => void): void {\n }\n\n public writeValue(value: any): void {\n }\n \n public setDisabledState(disabled: boolean): void {\n }\n\n public ngOnInit() {\n this.formCompContext.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.formContext.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.formCompContext.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.formCompContext.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DropDownListComponent } from './dropdownlist.component';\n\n/**\n * NgModule definition for the DropDownList component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n DropDownListComponent\n ],\n exports: [\n DropDownListComponent\n ]\n})\nexport class DropDownListModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DropDownListComponent } from './dropdownlist.component';\nimport { DropDownListModule } from './dropdownlist.module';\nimport {VirtualScroll} from '@syncfusion/ej2-dropdowns'\n\n\nexport const VirtualScrollService: ValueProvider = { provide: 'DropDownsVirtualScroll', useValue: VirtualScroll};\n\n/**\n * NgModule definition for the DropDownList component with providers.\n */\n@NgModule({\n imports: [CommonModule, DropDownListModule],\n exports: [\n DropDownListModule\n ],\n providers:[\n VirtualScrollService\n ]\n})\nexport class DropDownListAllModule { }","import { Component, ElementRef, ViewContainerRef, ValueProvider, Renderer2, Injector, ChangeDetectionStrategy, ChangeDetectorRef, forwardRef, ContentChild } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, FormBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { ComboBox } from '@syncfusion/ej2-dropdowns';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nexport const inputs: string[] = ['actionFailureTemplate','allowCustom','allowFiltering','allowObjectBinding','allowResize','autofill','cssClass','dataSource','debounceDelay','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'];\nexport const outputs: string[] = ['actionBegin','actionComplete','actionFailure','beforeOpen','blur','change','close','created','customValueSpecifier','dataBound','destroyed','filtering','focus','open','resizeStart','resizeStop','resizing','select','valueChange'];\nexport const twoWays: string[] = ['value'];\n\n/**\n*The ComboBox component allows the user to type a value or choose an option from the list of predefined options.\n*```html\n*<ejs-combobox></ejs-combobox>\n*```\n*/\n@Component({\n selector: 'ejs-combobox',\n inputs: inputs,\n outputs: outputs,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ComboBoxComponent),\n multi: true\n }\n ],\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase, FormBase])\nexport class ComboBoxComponent extends ComboBox implements IComponentBase {\n public formCompContext : any;\n public formContext : any;\n public tagObjects: any;\n\tactionBegin: any;\n\tactionComplete: any;\n\tactionFailure: any;\n\tbeforeOpen: any;\n\tblur: any;\n\tchange: any;\n\tclose: any;\n\tcreated: any;\n\tcustomValueSpecifier: any;\n\tdataBound: any;\n\tdestroyed: any;\n\tfiltering: any;\n\tfocus: any;\n\topen: any;\n\tresizeStart: any;\n\tresizeStop: any;\n\tresizing: any;\n\tselect: any;\n\tpublic valueChange: any;\n\n\n /** \n * Accepts the template design and assigns it to the footer container of the popup list. \n * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.\n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('footerTemplate')\n @Template()\n public footerTemplate: any;\n /** \n * Accepts the template design and assigns it to the header container of the popup list. \n * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.\n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('headerTemplate')\n @Template()\n public headerTemplate: any;\n /** \n * Accepts the template design and assigns it to the group headers present in the popup list.\n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('groupTemplate')\n @Template()\n public groupTemplate: any;\n /** \n * Accepts the template design and assigns it to each list item present in the popup. \n * We have built-in `template engine`\n * \n * which provides options to compile template string into a executable function.\n *For EX: We have expression evolution as like ES6 expression string literals.\n * \n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('itemTemplate')\n @Template()\n public itemTemplate: any;\n @ContentChild('noRecordsTemplate')\n @Template('No records found')\n public noRecordsTemplate: any;\n @ContentChild('actionFailureTemplate')\n @Template('Request failed')\n public actionFailureTemplate: any;\n\n private skipFromEvent:boolean = true;\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector, private cdr: ChangeDetectorRef) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n try {\n let mod = this.injector.get('DropDownsVirtualScroll');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.formContext = new FormBase();\n this.formCompContext = new ComponentBase();\n }\n\n public registerOnChange(registerFunction: (_: any) => void): void {\n }\n\n public registerOnTouched(registerFunction: () => void): void {\n }\n\n public writeValue(value: any): void {\n }\n \n public setDisabledState(disabled: boolean): void {\n }\n\n public ngOnInit() {\n this.formCompContext.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.formContext.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.formCompContext.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.formCompContext.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ComboBoxComponent } from './combobox.component';\n\n/**\n * NgModule definition for the ComboBox component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n ComboBoxComponent\n ],\n exports: [\n ComboBoxComponent\n ]\n})\nexport class ComboBoxModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ComboBoxComponent } from './combobox.component';\nimport { ComboBoxModule } from './combobox.module';\n\n\n\n\n\n/**\n * NgModule definition for the ComboBox component with providers.\n */\n@NgModule({\n imports: [CommonModule, ComboBoxModule],\n exports: [\n ComboBoxModule\n ],\n providers:[\n \n ]\n})\nexport class ComboBoxAllModule { }","import { Component, ElementRef, ViewContainerRef, ValueProvider, Renderer2, Injector, ChangeDetectionStrategy, ChangeDetectorRef, forwardRef, ContentChild } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, FormBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { AutoComplete } from '@syncfusion/ej2-dropdowns';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nexport const inputs: string[] = ['actionFailureTemplate','allowCustom','allowFiltering','allowObjectBinding','allowResize','autofill','cssClass','dataSource','debounceDelay','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'];\nexport const outputs: string[] = ['actionBegin','actionComplete','actionFailure','beforeOpen','blur','change','close','created','customValueSpecifier','dataBound','destroyed','filtering','focus','open','resizeStart','resizeStop','resizing','select','valueChange'];\nexport const twoWays: string[] = ['value'];\n\n/**\n *The AutoComplete component provides the matched suggestion list when type into the input, from which the user can select one.\n*```html\n*<ejs-autocomplete></ejs-autocomplete>\n*```\n*/\n@Component({\n selector: 'ejs-autocomplete',\n inputs: inputs,\n outputs: outputs,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoCompleteComponent),\n multi: true\n }\n ],\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase, FormBase])\nexport class AutoCompleteComponent extends AutoComplete implements IComponentBase {\n public formCompContext : any;\n public formContext : any;\n public tagObjects: any;\n\tactionBegin: any;\n\tactionComplete: any;\n\tactionFailure: any;\n\tbeforeOpen: any;\n\tblur: any;\n\tchange: any;\n\tclose: any;\n\tcreated: any;\n\tcustomValueSpecifier: any;\n\tdataBound: any;\n\tdestroyed: any;\n\tfiltering: any;\n\tfocus: any;\n\topen: any;\n\tresizeStart: any;\n\tresizeStop: any;\n\tresizing: any;\n\tselect: any;\n\tpublic valueChange: any;\n\n\n /** \n * Accepts the template design and assigns it to the footer container of the popup list. \n * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.\n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('footerTemplate')\n @Template()\n public footerTemplate: any;\n /** \n * Accepts the template design and assigns it to the header container of the popup list. \n * > For more details about the available template options refer to [`Template`](../../drop-down-list/templates) documentation.\n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('headerTemplate')\n @Template()\n public headerTemplate: any;\n /** \n * Accepts the template design and assigns it to the group headers present in the popup list.\n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('groupTemplate')\n @Template()\n public groupTemplate: any;\n /** \n * Accepts the template design and assigns it to each list item present in the popup. \n * We have built-in `template engine`\n * \n * which provides options to compile template string into a executable function.\n *For EX: We have expression evolution as like ES6 expression string literals.\n * \n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('itemTemplate')\n @Template()\n public itemTemplate: any;\n @ContentChild('noRecordsTemplate')\n @Template('No records found')\n public noRecordsTemplate: any;\n @ContentChild('actionFailureTemplate')\n @Template('Request failed')\n public actionFailureTemplate: any;\n\n private skipFromEvent:boolean = true;\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector, private cdr: ChangeDetectorRef) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n try {\n let mod = this.injector.get('DropDownsVirtualScroll');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.formContext = new FormBase();\n this.formCompContext = new ComponentBase();\n }\n\n public registerOnChange(registerFunction: (_: any) => void): void {\n }\n\n public registerOnTouched(registerFunction: () => void): void {\n }\n\n public writeValue(value: any): void {\n }\n \n public setDisabledState(disabled: boolean): void {\n }\n\n public ngOnInit() {\n this.formCompContext.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.formContext.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.formCompContext.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.formCompContext.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutoCompleteComponent } from './autocomplete.component';\n\n/**\n * NgModule definition for the AutoComplete component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n AutoCompleteComponent\n ],\n exports: [\n AutoCompleteComponent\n ]\n})\nexport class AutoCompleteModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutoCompleteComponent } from './autocomplete.component';\nimport { AutoCompleteModule } from './autocomplete.module';\n\n\n\n\n\n/**\n * NgModule definition for the AutoComplete component with providers.\n */\n@NgModule({\n imports: [CommonModule, AutoCompleteModule],\n exports: [\n AutoCompleteModule\n ],\n providers:[\n \n ]\n})\nexport class AutoCompleteAllModule { }","import { Component, ElementRef, ViewContainerRef, ValueProvider, Renderer2, Injector, ChangeDetectionStrategy, ChangeDetectorRef, forwardRef, ContentChild } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, FormBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { MultiSelect } from '@syncfusion/ej2-dropdowns';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nexport const inputs: string[] = ['actionFailureTemplate','addTagOnBlur','allowCustomValue','allowFiltering','allowObjectBinding','allowResize','changeOnBlur','closePopupOnSelect','cssClass','dataSource','debounceDelay','delimiterChar','enableGroupCheckBox','enableHtmlSanitizer','enablePersistence','enableRtl','enableSelectionOrder','enableVirtualization','enabled','fields','filterBarPlaceholder','filterType','floatLabelType','footerTemplate','groupTemplate','headerTemplate','hideSelectedItem','htmlAttributes','ignoreAccent','ignoreCase','isDeviceFullScreen','itemTemplate','locale','maximumSelectionLength','mode','noRecordsTemplate','openOnClick','placeholder','popupHeight','popupWidth','query','readonly','selectAllText','showClearButton','showDropDownIcon','showSelectAll','sortOrder','text','unSelectAllText','value','valueTemplate','width','zIndex'];\nexport const outputs: string[] = ['actionBegin','actionComplete','actionFailure','beforeOpen','beforeSelectAll','blur','change','chipSelection','close','created','customValueSelection','dataBound','destroyed','filtering','focus','open','removed','removing','resizeStart','resizeStop','resizing','select','selectedAll','tagging','valueChange'];\nexport const twoWays: string[] = ['value'];\n\n/**\n* The MultiSelect allows the user to pick a values from the predefined list of values.\n*```html\n*<ejs-multiselect></ejs-multiselect>\n*```\n*/\n@Component({\n selector: 'ejs-multiselect',\n inputs: inputs,\n outputs: outputs,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectComponent),\n multi: true\n }\n ],\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase, FormBase])\nexport class MultiSelectComponent extends MultiSelect implements IComponentBase {\n public formCompContext : any;\n public formContext : any;\n public tagObjects: any;\n\tactionBegin: any;\n\tactionComplete: any;\n\tactionFailure: any;\n\tbeforeOpen: any;\n\tbeforeSelectAll: any;\n\tblur: any;\n\tchange: any;\n\tchipSelection: any;\n\tclose: any;\n\tcreated: any;\n\tcustomValueSelection: any;\n\tdataBound: any;\n\tdestroyed: any;\n\tfiltering: any;\n\tfocus: any;\n\topen: any;\n\tremoved: any;\n\tremoving: any;\n\tresizeStart: any;\n\tresizeStop: any;\n\tresizing: any;\n\tselect: any;\n\tselectedAll: any;\n\ttagging: any;\n\tpublic valueChange: any;\n\n\n /** \n * Accepts the template design and assigns it to the footer container of the popup list. \n * > For more details about the available template options refer to [`Template`](../../multi-select/templates) documentation.\n * @default null\n * @asptype string\n */\n @ContentChild('footerTemplate')\n @Template()\n public footerTemplate: any;\n /** \n * Accepts the template design and assigns it to the header container of the popup list. \n * > For more details about the available template options refer to [`Template`](../../multi-select/templates) documentation.\n * @default null\n * @asptype string\n */\n @ContentChild('headerTemplate')\n @Template()\n public headerTemplate: any;\n /** \n * Accepts the template design and assigns it to the selected list item in the input element of the component. \n * For more details about the available template options refer to \n * [`Template`](../../multi-select/templates) documentation.\n * \n * We have built-in `template engine`\n *which provides options to compile template string into a executable function.\n *For EX: We have expression evolution as like ES6 expression string literals.\n * \n * @default null\n * @asptype string\n */\n @ContentChild('valueTemplate')\n @Template()\n public valueTemplate: any;\n /** \n * Accepts the template design and assigns it to each list item present in the popup. \n * > For more details about the available template options refer to [`Template`](../../multi-select/templates) documentation.\n * \n * We have built-in `template engine`\n *which provides options to compile template string into a executable function.\n *For EX: We have expression evolution as like ES6 expression string literals.\n * \n * @default null\n * @asptype string\n */\n @ContentChild('itemTemplate')\n @Template()\n public itemTemplate: any;\n /** \n * Accepts the template design and assigns it to the group headers present in the MultiSelect popup list.\n * @default null\n * @asptype string\n */\n @ContentChild('groupTemplate')\n @Template()\n public groupTemplate: any;\n @ContentChild('noRecordsTemplate')\n @Template('No records found')\n public noRecordsTemplate: any;\n @ContentChild('actionFailureTemplate')\n @Template('Request failed')\n public actionFailureTemplate: any;\n\n private skipFromEvent:boolean = true;\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector, private cdr: ChangeDetectorRef) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n try {\n let mod = this.injector.get('DropDownsCheckBoxSelection');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r try {\n let mod = this.injector.get('DropDownsVirtualScroll');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.formContext = new FormBase();\n this.formCompContext = new ComponentBase();\n }\n\n public registerOnChange(registerFunction: (_: any) => void): void {\n }\n\n public registerOnTouched(registerFunction: () => void): void {\n }\n\n public writeValue(value: any): void {\n }\n \n public setDisabledState(disabled: boolean): void {\n }\n\n public ngOnInit() {\n this.formCompContext.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.formContext.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.formCompContext.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.formCompContext.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MultiSelectComponent } from './multiselect.component';\n\n/**\n * NgModule definition for the MultiSelect component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n MultiSelectComponent\n ],\n exports: [\n MultiSelectComponent\n ]\n})\nexport class MultiSelectModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MultiSelectComponent } from './multiselect.component';\nimport { MultiSelectModule } from './multiselect.module';\nimport {CheckBoxSelection} from '@syncfusion/ej2-dropdowns'\n\n\nexport const CheckBoxSelectionService: ValueProvider = { provide: 'DropDownsCheckBoxSelection', useValue: CheckBoxSelection};\n\n/**\n * NgModule definition for the MultiSelect component with providers.\n */\n@NgModule({\n imports: [CommonModule, MultiSelectModule],\n exports: [\n MultiSelectModule\n ],\n providers:[\n CheckBoxSelectionService\n ]\n})\nexport class MultiSelectAllModule { }","import { Component, ElementRef, ViewContainerRef, ValueProvider, Renderer2, Injector, ChangeDetectionStrategy, ChangeDetectorRef, forwardRef, ContentChild } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, FormBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { ListBox } from '@syncfusion/ej2-dropdowns';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nexport const inputs: string[] = ['actionFailureTemplate','allowDragAndDrop','allowFiltering','cssClass','dataSource','enablePersistence','enableRtl','enabled','fields','filterBarPlaceholder','filterType','groupTemplate','height','ignoreAccent','ignoreCase','itemTemplate','locale','maximumSelectionLength','noRecordsTemplate','query','scope','selectionSettings','sortOrder','toolbarSettings','value','zIndex'];\nexport const outputs: string[] = ['focus', 'blur', 'actionBegin','actionComplete','actionFailure','beforeDrop','beforeItemRender','change','created','dataBound','destroyed','drag','dragStart','drop','filtering','select','valueChange'];\nexport const twoWays: string[] = ['value'];\n\n/**\n* The ListBox allows the user to select values from the predefined list of values.\n*```html\n*<ejs-listbox [dataSource]='data'></ejs-listbox>\n*```\n*/\n@Component({\n selector: 'ejs-listbox',\n inputs: inputs,\n outputs: outputs,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ListBoxComponent),\n multi: true\n }\n ],\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase, FormBase])\nexport class ListBoxComponent extends ListBox implements IComponentBase {\n public formCompContext : any;\n public formContext : any;\n public tagObjects: any;\n\tactionBegin: any;\n\tactionComplete: any;\n\tactionFailure: any;\n\tbeforeDrop: any;\n\tbeforeItemRender: any;\n\tchange: any;\n\tcreated: any;\n\tdataBound: any;\n\tdestroyed: any;\n\tdrag: any;\n\tdragStart: any;\n\tdrop: any;\n\tfiltering: any;\n\tselect: any;\n\tpublic valueChange: any;\n\n\n /** \n * Accepts the template design and assigns it to each list item present in the popup. \n * We have built-in `template engine`\n * \n * which provides options to compile template string into a executable function.\n *For EX: We have expression evolution as like ES6 expression string literals.\n * \n * @default null\n * @asptype string\n * @deprecated \n */\n @ContentChild('itemTemplate')\n @Template()\n public itemTemplate: any;\n @ContentChild('noRecordsTemplate')\n @Template('No records found')\n public noRecordsTemplate: any;\n\n public focus: any;\n public blur: any;\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector, private cdr: ChangeDetectorRef) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n try {\n let mod = this.injector.get('DropDownsCheckBoxSelection');\n if(this.injectedModules.indexOf(mod) === -1) {\n this.injectedModules.push(mod)\n }\n } catch { }\n\r\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.formContext = new FormBase();\n this.formCompContext = new ComponentBase();\n }\n\n public registerOnChange(registerFunction: (_: any) => void): void {\n }\n\n public registerOnTouched(registerFunction: () => void): void {\n }\n\n public writeValue(value: any): void {\n }\n \n public setDisabledState(disabled: boolean): void {\n }\n\n public ngOnInit() {\n this.formCompContext.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.formContext.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.formCompContext.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.formCompContext.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListBoxComponent } from './listbox.component';\n\n/**\n * NgModule definition for the ListBox component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n ListBoxComponent\n ],\n exports: [\n ListBoxComponent\n ]\n})\nexport class ListBoxModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListBoxComponent } from './listbox.component';\nimport { ListBoxModule } from './listbox.module';\n\n\n\n\n\n/**\n * NgModule definition for the ListBox component with providers.\n */\n@NgModule({\n imports: [CommonModule, ListBoxModule],\n exports: [\n ListBoxModule\n ],\n providers:[\n \n ]\n})\nexport class ListBoxAllModule { }","import { Component, ElementRef, ViewContainerRef, ValueProvider, Renderer2, Injector, ChangeDetectionStrategy, ChangeDetectorRef, forwardRef, ContentChild } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ComponentBase, IComponentBase, applyMixins, ComponentMixins, PropertyCollectionInfo, FormBase, setValue } from '@syncfusion/ej2-angular-base';\nimport { DropDownTree } from '@syncfusion/ej2-dropdowns';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nexport const inputs: string[] = ['actionFailureTemplate','allowFiltering','allowMultiSelection','changeOnBlur','cssClass','customTemplate','delimiterChar','destroyPopupOnHide','enableHtmlSanitizer','enablePersistence','enableRtl','enabled','fields','filterBarPlaceholder','filterType','floatLabelType','footerTemplate','headerTemplate','htmlAttributes','ignoreAccent','ignoreCase','itemTemplate','locale','mode','noRecordsTemplate','placeholder','popupHeight','popupWidth','readonly','selectAllText','showCheckBox','showClearButton','showDropDownIcon','showSelectAll','sortOrder','text','treeSettings','unSelectAllText','value','valueTemplate','width','wrapText','zIndex'];\nexport const outputs: string[] = ['actionFailure','beforeOpen','blur','change','close','created','dataBound','destroyed','filtering','focus','keyPress','open','select','valueChange'];\nexport const twoWays: string[] = ['value'];\n\n/**\n*The DropDownTree component contains a list of predefined values from which you can choose a single or multiple values.\n*```html\n*<ejs-dropdowntree></ejs-dropdowntree>\n*```\n*/\n@Component({\n selector: 'ejs-dropdowntree',\n inputs: inputs,\n outputs: outputs,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropDownTreeComponent),\n multi: true\n }\n ],\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase, FormBase])\nexport class DropDownTreeComponent extends DropDownTree implements IComponentBase {\n public formCompContext : any;\n public formContext : any;\n public tagObjects: any;\n\tactionFailure: any;\n\tbeforeOpen: any;\n\tblur: any;\n\tchange: any;\n\tclose: any;\n\tcreated: any;\n\tdataBound: any;\n\tdestroyed: any;\n\tfiltering: any;\n\tfocus: any;\n\tkeyPress: any;\n\topen: any;\n\tselect: any;\n\tpublic valueChange: any;\n\n\n /** \n * Specifies the template that renders a customized footer container at the bottom of the pop-up list. \n * By default, the footerTemplate will be null and there will be no footer container for the pop-up list.\n * @default null\n * @angulartype string | object\n * @reacttype string | function | JSX.Element\n * @vuetype string | function\n * @asptype string\n */\n @ContentChild('footerTemplate')\n @Template()\n public footerTemplate: any;\n /** \n * Specifies the template that renders a customized header container at the top of the pop-up list. \n * By default, the headerTemplate will be null and there will be no header container for the pop-up list.\n * @default null\n * @angulartype string | object\n * @reacttype string | function | JSX.Element\n * @vuetype string | function\n * @asptype string\n */\n @ContentChild('headerTemplate')\n @Template()\n public headerTemplate: any;\n /** \n * Specifies the way to customize the selected values in the Dropdown Tree component based on application needs. If the **valueTemplate** property is set, the template content overrides the displayed item text. \n * The property accepts [template string] (https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID holding the content. The context for the valueTemplate comes from the data object passed to it.\n * @default null\n * @angulartype string | object\n * @reacttype string | function | JSX.Element\n * @vuetype string | function\n * @asptype string\n */\n @ContentChild('valueTemplate')\n @Template()\n public valueTemplate: any;\n /** \n * Specifies a template to render customized content for all the items. \n * If the **itemTemplate** property is set, the template content overrides the displayed item text. \n * The property accepts [template string](https://ej2.syncfusion.com/documentation/common/template-engine/) \n * or HTML element ID holding the content.\n * @default null\n * @angulartype string | object\n * @reacttype string | function | JSX.Element\n * @vuetype string | function\n * @asptype string\n */\n @ContentChild('itemTemplate')\n @Template()\n public itemTemplate: any;\n @ContentChild('noRecordsTemplate')\n @Template('No Records Found')\n public noRecordsTemplate: any;\n @ContentChild('actionFailureTemplate')\n @Template('The Request Failed')\n public actionFailureTemplate: any;\n\n private skipFromEvent:boolean = true;\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector, private cdr: ChangeDetectorRef) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.formContext = new FormBase();\n this.formCompContext = new ComponentBase();\n }\n\n public registerOnChange(registerFunction: (_: any) => void): void {\n }\n\n public registerOnTouched(registerFunction: () => void): void {\n }\n\n public writeValue(value: any): void {\n }\n \n public setDisabledState(disabled: boolean): void {\n }\n\n public ngOnInit() {\n this.formCompContext.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.formContext.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.formCompContext.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.formCompContext.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DropDownTreeComponent } from './dropdowntree.component';\n\n/**\n * NgModule definition for the DropDownTree component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n DropDownTreeComponent\n ],\n exports: [\n DropDownTreeComponent\n ]\n})\nexport class DropDownTreeModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DropDownTreeComponent } from './dropdowntree.component';\nimport { DropDownTreeModule } from './dropdowntree.module';\n\n\n\n\n\n/**\n * NgModule definition for the DropDownTree component with providers.\n */\n@NgModule({\n imports: [CommonModule, DropDownTreeModule],\n exports: [\n DropDownTreeModule\n ],\n providers:[\n \n ]\n})\nexport class DropDownTreeAllModule { }","import { Component, ElementRef, ViewContainerRef, Renderer2, Injector, ChangeDetectionStrategy, QueryList, ValueProvider, ContentChild } from '@angular/core';\nimport { ComponentBase, ComponentMixins, IComponentBase, applyMixins, PropertyCollectionInfo, setValue } from '@syncfusion/ej2-angular-base';\nimport { Mention } from '@syncfusion/ej2-dropdowns';\nimport { Template } from '@syncfusion/ej2-angular-base';\n\n\nexport const inputs: string[] = ['allowSpaces','cssClass','dataSource','debounceDelay','displayTemplate','fields','filterType','highlight','ignoreCase','itemTemplate','locale','mentionChar','minLength','noRecordsTemplate','popupHeight','popupWidth','query','requireLeadingSpace','showMentionChar','sortOrder','spinnerTemplate','suffixText','suggestionCount','target'];\nexport const outputs: string[] = ['actionBegin','actionComplete','actionFailure','beforeOpen','change','closed','created','destroyed','filtering','opened','select'];\nexport const twoWays: string[] = [''];\n\n/**\n*The Mention component contains a list of predefined values, from which the user can choose a single value.\n*```html\n*<ejs-mention></ejs-mention>\n*```\n*/\n@Component({\n selector: 'ejs-mention',\n inputs: inputs,\n outputs: outputs,\n template: `<ng-content ></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n queries: {\n\n }\n})\n@ComponentMixins([ComponentBase])\nexport class MentionComponent extends Mention implements IComponentBase {\n public containerContext : any;\n public tagObjects: any;\n\tactionBegin: any;\n\tactionComplete: any;\n\tactionFailure: any;\n\tbeforeOpen: any;\n\tchange: any;\n\tclosed: any;\n\tcreated: any;\n\tdestroyed: any;\n\tfiltering: any;\n\topened: any;\n\tpublic select: any;\n\n\n /** \n * Specifies the template for the selected value from the suggestion list.\n * @default null\n * @asptype string\n */\n @ContentChild('displayTemplate')\n @Template()\n public displayTemplate: any;\n /** \n * Specifies the template for the suggestion list.\n * @default null\n */\n @ContentChild('itemTemplate')\n @Template()\n public itemTemplate: any;\n /** \n * Specifies the template for showing until data is loaded in the popup.\n * @default null\n * @asptype string\n */\n @ContentChild('spinnerTemplate')\n @Template()\n public spinnerTemplate: any;\n @ContentChild('noRecordsTemplate')\n @Template('No records found')\n public noRecordsTemplate: any;\n\n constructor(private ngEle: ElementRef, private srenderer: Renderer2, private viewContainerRef:ViewContainerRef, private injector: Injector) {\n super();\n this.element = this.ngEle.nativeElement;\n this.injectedModules = this.injectedModules || [];\n\n this.registerEvents(outputs);\n this.addTwoWay.call(this, twoWays);\n setValue('currentInstance', this, this.viewContainerRef);\n this.containerContext = new ComponentBase();\n }\n\n public ngOnInit() {\n this.containerContext.ngOnInit(this);\n }\n\n public ngAfterViewInit(): void {\n this.containerContext.ngAfterViewInit(this);\n }\n\n public ngOnDestroy(): void {\n this.containerContext.ngOnDestroy(this);\n }\n\n public ngAfterContentChecked(): void {\n \n this.containerContext.ngAfterContentChecked(this);\n }\n\n public registerEvents: (eventList: string[]) => void;\n public addTwoWay: (propList: string[]) => void;\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MentionComponent } from './mention.component';\n\n/**\n * NgModule definition for the Mention component.\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [\n MentionComponent\n ],\n exports: [\n MentionComponent\n ]\n})\nexport class MentionModule { }","import { NgModule, ValueProvider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MentionComponent } from './mention.component';\nimport { MentionModule } from './mention.module';\n\n\n\n\n\n/**\n * NgModule definition for the Mention component with providers.\n */\n@NgModule({\n imports: [CommonModule, MentionModule],\n exports: [\n MentionModule\n ],\n providers:[\n \n ]\n})\nexport class MentionAllModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["inputs","outputs","twoWays"],"mappings":";;;;;;;;;;AAOO,MAAMA,QAAM,GAAa,CAAC,uBAAuB,EAAC,gBAAgB,EAAC,oBAAoB,EAAC,aAAa,EAAC,UAAU,EAAC,YAAY,EAAC,eAAe,EAAC,mBAAmB,EAAC,WAAW,EAAC,sBAAsB,EAAC,SAAS,EAAC,QAAQ,EAAC,sBAAsB,EAAC,YAAY,EAAC,gBAAgB,EAAC,gBAAgB,EAAC,eAAe,EAAC,gBAAgB,EAAC,gBAAgB,EAAC,cAAc,EAAC,YAAY,EAAC,OAAO,EAAC,oBAAoB,EAAC,cAAc,EAAC,QAAQ,EAAC,mBAAmB,EAAC,aAAa,EAAC,aAAa,EAAC,YAAY,EAAC,OAAO,EAAC,UAAU,EAAC,iBAAiB,EAAC,WAAW,EAAC,MAAM,EAAC,OAAO,EAAC,eAAe,EAAC,OAAO,EAAC,QAAQ,CAAC,CAAC;AAChkB,MAAMC,SAAO,GAAa,CAAC,aAAa,EAAC,gBAAgB,EAAC,eAAe,EAAC,YAAY,EAAC,MAAM,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,YAAY,EAAC,UAAU,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC;AAC1O,MAAMC,SAAO,GAAa,CAAC,OAAO,CAAC,CAAC;AAE3C;;;;;AAKE;IAmBW,qBAAqB,GAAA,uBAAA,GAAA,MAArB,qBAAsB,SAAQ,YAAY,CAAA;IAwFnD,WAAoB,CAAA,KAAiB,EAAU,SAAoB,EAAU,gBAAiC,EAAU,QAAkB,EAAU,GAAsB,EAAA;AACtK,QAAA,KAAK,EAAE,CAAC;QADQ,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;QAAU,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAAU,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAiB;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QADlK,IAAa,CAAA,aAAA,GAAW,IAAI,CAAC;QAGjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QAClD,IAAI;YACI,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtD,IAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;AACzC,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAA