@syncfusion/ej2-vue-dropdowns 20.3.59 → 20.4.38

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ej2-vue-dropdowns.es5.js","sources":["../../src/drop-down-list/dropdownlist.component.js","../../src/combo-box/combobox.component.js","../../src/auto-complete/autocomplete.component.js","../../src/multi-select/multiselect.component.js","../../src/list-box/listbox.component.js","../../src/drop-down-tree/dropdowntree.component.js","../../src/mention/mention.component.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { DropDownList } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'allowFiltering', 'cssClass', 'dataSource', 'enablePersistence', 'enableRtl', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'index', 'itemTemplate', 'locale', 'noRecordsTemplate', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'showClearButton', 'sortOrder', 'text', 'value', 'valueTemplate', 'width', 'zIndex', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * DropDownList contains a list of predefined values from which the user can choose\n * ```html\n * <ejs-dropdownlist :dataSource='data'></ejs-dropdownlist>\n * ```\n */\nvar DropDownListComponent = /** @class */ (function (_super) {\n __extends(DropDownListComponent, _super);\n function DropDownListComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new DropDownList({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n DropDownListComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n DropDownListComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n DropDownListComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n DropDownListComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n DropDownListComponent.prototype.custom = function () {\n this.updated();\n };\n DropDownListComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n DropDownListComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n DropDownListComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n DropDownListComponent.prototype.focusIn = function (e) {\n return this.ej2Instances.focusIn(e);\n };\n DropDownListComponent.prototype.focusOut = function (e) {\n return this.ej2Instances.focusOut(e);\n };\n DropDownListComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n DropDownListComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n DropDownListComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n DropDownListComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n DropDownListComponent.prototype.showPopup = function (e) {\n return this.ej2Instances.showPopup(e);\n };\n DropDownListComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n DropDownListComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], DropDownListComponent);\n return DropDownListComponent;\n}(ComponentBase));\nexport { DropDownListComponent };\nexport var DropDownListPlugin = {\n name: 'ejs-dropdownlist',\n install: function (Vue) {\n Vue.component(DropDownListPlugin.name, DropDownListComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { ComboBox } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'allowCustom', 'allowFiltering', 'autofill', 'cssClass', 'dataSource', 'enablePersistence', 'enableRtl', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'index', 'itemTemplate', 'locale', 'noRecordsTemplate', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'showClearButton', 'sortOrder', 'text', 'value', 'valueTemplate', 'width', 'zIndex', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'customValueSpecifier', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * ComboBox component allows the user to type a value or choose an option from the list of predefined options available\n * ```html\n * <ejs-combobox :dataSource='data'></ejs-combobox>\n * ```\n */\nvar ComboBoxComponent = /** @class */ (function (_super) {\n __extends(ComboBoxComponent, _super);\n function ComboBoxComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new ComboBox({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n ComboBoxComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n ComboBoxComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n ComboBoxComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n ComboBoxComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n ComboBoxComponent.prototype.custom = function () {\n this.updated();\n };\n ComboBoxComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n ComboBoxComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n ComboBoxComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n ComboBoxComponent.prototype.focusIn = function () {\n return this.ej2Instances.focusIn();\n };\n ComboBoxComponent.prototype.focusOut = function (e) {\n return this.ej2Instances.focusOut(e);\n };\n ComboBoxComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n ComboBoxComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n ComboBoxComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n ComboBoxComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n ComboBoxComponent.prototype.showPopup = function (e) {\n return this.ej2Instances.showPopup(e);\n };\n ComboBoxComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n ComboBoxComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], ComboBoxComponent);\n return ComboBoxComponent;\n}(ComponentBase));\nexport { ComboBoxComponent };\nexport var ComboBoxPlugin = {\n name: 'ejs-combobox',\n install: function (Vue) {\n Vue.component(ComboBoxPlugin.name, ComboBoxComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { AutoComplete } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'allowCustom', 'allowFiltering', 'autofill', 'cssClass', 'dataSource', 'enablePersistence', 'enableRtl', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'highlight', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'index', 'itemTemplate', 'locale', 'minLength', 'noRecordsTemplate', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'showClearButton', 'showPopupButton', 'sortOrder', 'suggestionCount', 'text', 'value', 'valueTemplate', 'width', 'zIndex', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'customValueSpecifier', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * The AutoComplete component provides all the matched suggestion list on typing the input from which the user can select one.\n * ```html\n * <ejs-autocomplete :dataSource='data'></ejs-autocomplete>\n * ```\n */\nvar AutoCompleteComponent = /** @class */ (function (_super) {\n __extends(AutoCompleteComponent, _super);\n function AutoCompleteComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new AutoComplete({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n AutoCompleteComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n AutoCompleteComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n AutoCompleteComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n AutoCompleteComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n AutoCompleteComponent.prototype.custom = function () {\n this.updated();\n };\n AutoCompleteComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n AutoCompleteComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n AutoCompleteComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n AutoCompleteComponent.prototype.focusIn = function () {\n return this.ej2Instances.focusIn();\n };\n AutoCompleteComponent.prototype.focusOut = function (e) {\n return this.ej2Instances.focusOut(e);\n };\n AutoCompleteComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n AutoCompleteComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n AutoCompleteComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n AutoCompleteComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n AutoCompleteComponent.prototype.showPopup = function (e) {\n return this.ej2Instances.showPopup(e);\n };\n AutoCompleteComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n AutoCompleteComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], AutoCompleteComponent);\n return AutoCompleteComponent;\n}(ComponentBase));\nexport { AutoCompleteComponent };\nexport var AutoCompletePlugin = {\n name: 'ejs-autocomplete',\n install: function (Vue) {\n Vue.component(AutoCompletePlugin.name, AutoCompleteComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { MultiSelect } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'addTagOnBlur', 'allowCustomValue', 'allowFiltering', 'changeOnBlur', 'closePopupOnSelect', 'cssClass', 'dataSource', 'delimiterChar', 'enableGroupCheckBox', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableSelectionOrder', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'hideSelectedItem', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'itemTemplate', 'locale', 'maximumSelectionLength', 'mode', 'noRecordsTemplate', 'openOnClick', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'selectAllText', 'showClearButton', 'showDropDownIcon', 'showSelectAll', 'sortOrder', 'text', 'unSelectAllText', 'value', 'valueTemplate', 'width', 'zIndex', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'beforeSelectAll', 'blur', 'change', 'chipSelection', 'close', 'created', 'customValueSelection', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'removed', 'removing', 'select', 'selectedAll', 'tagging'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * MultiSelect component allows the user to select a value from the predefined list of values.\n * ```html\n * <ejs-multiselect :dataSource='data'></ejs-multiselect>\n * ```\n */\nvar MultiSelectComponent = /** @class */ (function (_super) {\n __extends(MultiSelectComponent, _super);\n function MultiSelectComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = true;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new MultiSelect({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n MultiSelectComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n MultiSelectComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n MultiSelectComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n MultiSelectComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n MultiSelectComponent.prototype.custom = function () {\n this.updated();\n };\n MultiSelectComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n MultiSelectComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n MultiSelectComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n MultiSelectComponent.prototype.focusIn = function () {\n return this.ej2Instances.focusIn();\n };\n MultiSelectComponent.prototype.focusOut = function () {\n return this.ej2Instances.focusOut();\n };\n MultiSelectComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n MultiSelectComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n MultiSelectComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n MultiSelectComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n MultiSelectComponent.prototype.requiredModules = function () {\n return this.ej2Instances.requiredModules();\n };\n MultiSelectComponent.prototype.selectAll = function (state) {\n return this.ej2Instances.selectAll(state);\n };\n MultiSelectComponent.prototype.showPopup = function (e) {\n return this.ej2Instances.showPopup(e);\n };\n MultiSelectComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n MultiSelectComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], MultiSelectComponent);\n return MultiSelectComponent;\n}(ComponentBase));\nexport { MultiSelectComponent };\nexport var MultiSelectPlugin = {\n name: 'ejs-multiselect',\n install: function (Vue) {\n Vue.component(MultiSelectPlugin.name, MultiSelectComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { ListBox } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', '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', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeDrop', 'beforeItemRender', 'change', 'created', 'dataBound', 'destroyed', 'drag', 'dragStart', 'drop', 'filtering', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * ListBox component allows the user to select values from the predefined list of values.\n * ```html\n * <ejs-listbox :dataSource='data'></ejs-listbox>\n * ```\n */\nvar ListBoxComponent = /** @class */ (function (_super) {\n __extends(ListBoxComponent, _super);\n function ListBoxComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = true;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new ListBox({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n ListBoxComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n ListBoxComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n ListBoxComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n ListBoxComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n ListBoxComponent.prototype.custom = function () {\n this.updated();\n };\n ListBoxComponent.prototype.addItems = function (items, itemIndex) {\n return this.ej2Instances.addItems(items, itemIndex);\n };\n ListBoxComponent.prototype.enableItems = function (items, enable, isValue) {\n return this.ej2Instances.enableItems(items, enable, isValue);\n };\n ListBoxComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n ListBoxComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n ListBoxComponent.prototype.getDataByValues = function (value) {\n return this.ej2Instances.getDataByValues(value);\n };\n ListBoxComponent.prototype.getDataList = function () {\n return this.ej2Instances.getDataList();\n };\n ListBoxComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n ListBoxComponent.prototype.getSortedList = function () {\n return this.ej2Instances.getSortedList();\n };\n ListBoxComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n ListBoxComponent.prototype.moveAllTo = function (targetId, index) {\n return this.ej2Instances.moveAllTo(targetId, index);\n };\n ListBoxComponent.prototype.moveDown = function (value) {\n return this.ej2Instances.moveDown(value);\n };\n ListBoxComponent.prototype.moveTo = function (value, index, targetId) {\n return this.ej2Instances.moveTo(value, index, targetId);\n };\n ListBoxComponent.prototype.moveUp = function (value) {\n return this.ej2Instances.moveUp(value);\n };\n ListBoxComponent.prototype.removeItem = function (items, itemIndex) {\n return this.ej2Instances.removeItem(items, itemIndex);\n };\n ListBoxComponent.prototype.removeItems = function (items, itemIndex) {\n return this.ej2Instances.removeItems(items, itemIndex);\n };\n ListBoxComponent.prototype.requiredModules = function () {\n return this.ej2Instances.requiredModules();\n };\n ListBoxComponent.prototype.selectAll = function (state) {\n return this.ej2Instances.selectAll(state);\n };\n ListBoxComponent.prototype.selectItems = function (items, state, isValue) {\n return this.ej2Instances.selectItems(items, state, isValue);\n };\n ListBoxComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n ListBoxComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], ListBoxComponent);\n return ListBoxComponent;\n}(ComponentBase));\nexport { ListBoxComponent };\nexport var ListBoxPlugin = {\n name: 'ejs-listbox',\n install: function (Vue) {\n Vue.component(ListBoxPlugin.name, ListBoxComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { DropDownTree } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'allowFiltering', 'allowMultiSelection', 'changeOnBlur', 'cssClass', 'customTemplate', 'delimiterChar', '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', 'width', 'wrapText', 'zIndex', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'dataBound', 'destroyed', 'filtering', 'focus', 'keyPress', 'open', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\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 */\nvar DropDownTreeComponent = /** @class */ (function (_super) {\n __extends(DropDownTreeComponent, _super);\n function DropDownTreeComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new DropDownTree({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n DropDownTreeComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n DropDownTreeComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n DropDownTreeComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n DropDownTreeComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n DropDownTreeComponent.prototype.custom = function () {\n this.updated();\n };\n DropDownTreeComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n DropDownTreeComponent.prototype.ensureVisible = function (item) {\n return this.ej2Instances.ensureVisible(item);\n };\n DropDownTreeComponent.prototype.getData = function (item) {\n return this.ej2Instances.getData(item);\n };\n DropDownTreeComponent.prototype.getLocaleName = function () {\n return this.ej2Instances.getLocaleName();\n };\n DropDownTreeComponent.prototype.hidePopup = function () {\n return this.ej2Instances.hidePopup();\n };\n DropDownTreeComponent.prototype.selectAll = function (state) {\n return this.ej2Instances.selectAll(state);\n };\n DropDownTreeComponent.prototype.showPopup = function () {\n return this.ej2Instances.showPopup();\n };\n DropDownTreeComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], DropDownTreeComponent);\n return DropDownTreeComponent;\n}(ComponentBase));\nexport { DropDownTreeComponent };\nexport var DropDownTreePlugin = {\n name: 'ejs-dropdowntree',\n install: function (Vue) {\n Vue.component(DropDownTreePlugin.name, DropDownTreeComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Mention } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'allowSpaces', 'cssClass', 'dataSource', 'displayTemplate', 'fields', 'filterType', 'highlight', 'ignoreCase', 'itemTemplate', 'locale', 'mentionChar', 'minLength', 'noRecordsTemplate', 'popupHeight', 'popupWidth', 'query', 'showMentionChar', 'sortOrder', 'spinnerTemplate', 'suffixText', 'suggestionCount', 'target', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'change', 'closed', 'created', 'destroyed', 'filtering', 'opened', 'select'];\nexport var modelProps = [];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * The Mention contains a list of predefined values from which the user can choose\n * ```html\n * <ejs-mention :dataSource='data'></ejs-dropdownlist>\n * ```\n */\nvar MentionComponent = /** @class */ (function (_super) {\n __extends(MentionComponent, _super);\n function MentionComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new Mention({});\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n MentionComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n MentionComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n MentionComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n };\n MentionComponent.prototype.custom = function () {\n this.updated();\n };\n MentionComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n MentionComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n MentionComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n MentionComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n MentionComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n MentionComponent.prototype.renderTemplates = function (callBack) {\n return this.ej2Instances.renderTemplates(callBack);\n };\n MentionComponent.prototype.search = function (text, positionX, positionY) {\n return this.ej2Instances.search(text, positionX, positionY);\n };\n MentionComponent.prototype.showPopup = function () {\n return this.ej2Instances.showPopup();\n };\n MentionComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], MentionComponent);\n return MentionComponent;\n}(ComponentBase));\nexport { MentionComponent };\nexport var MentionPlugin = {\n name: 'ejs-mention',\n install: function (Vue) {\n Vue.component(MentionPlugin.name, MentionComponent);\n }\n};\n"],"names":["this","__extends","__decorate","properties","modelProps","testProp","props","watch","emitProbs","_i","modelProps_1","props_1"],"mappings":"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"}
1
+ {"version":3,"file":"ej2-vue-dropdowns.es5.js","sources":["../../src/drop-down-list/dropdownlist.component.js","../../src/combo-box/combobox.component.js","../../src/auto-complete/autocomplete.component.js","../../src/multi-select/multiselect.component.js","../../src/list-box/listbox.component.js","../../src/drop-down-tree/dropdowntree.component.js","../../src/mention/mention.component.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { DropDownList } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'allowFiltering', 'cssClass', 'dataSource', 'enablePersistence', 'enableRtl', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'index', 'itemTemplate', 'locale', 'noRecordsTemplate', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'showClearButton', 'sortOrder', 'text', 'value', 'valueTemplate', 'width', 'zIndex', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * DropDownList contains a list of predefined values from which the user can choose\n * ```html\n * <ejs-dropdownlist :dataSource='data'></ejs-dropdownlist>\n * ```\n */\nvar DropDownListComponent = /** @class */ (function (_super) {\n __extends(DropDownListComponent, _super);\n function DropDownListComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new DropDownList({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n DropDownListComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n DropDownListComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n DropDownListComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n DropDownListComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n DropDownListComponent.prototype.custom = function () {\n this.updated();\n };\n DropDownListComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n DropDownListComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n DropDownListComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n DropDownListComponent.prototype.focusIn = function (e) {\n return this.ej2Instances.focusIn(e);\n };\n DropDownListComponent.prototype.focusOut = function (e) {\n return this.ej2Instances.focusOut(e);\n };\n DropDownListComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n DropDownListComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n DropDownListComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n DropDownListComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n DropDownListComponent.prototype.showPopup = function (e) {\n return this.ej2Instances.showPopup(e);\n };\n DropDownListComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n DropDownListComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], DropDownListComponent);\n return DropDownListComponent;\n}(ComponentBase));\nexport { DropDownListComponent };\nexport var DropDownListPlugin = {\n name: 'ejs-dropdownlist',\n install: function (Vue) {\n Vue.component(DropDownListPlugin.name, DropDownListComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { ComboBox } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'allowCustom', 'allowFiltering', 'autofill', 'cssClass', 'dataSource', 'enablePersistence', 'enableRtl', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'index', 'itemTemplate', 'locale', 'noRecordsTemplate', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'showClearButton', 'sortOrder', 'text', 'value', 'valueTemplate', 'width', 'zIndex', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'customValueSpecifier', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * ComboBox component allows the user to type a value or choose an option from the list of predefined options available\n * ```html\n * <ejs-combobox :dataSource='data'></ejs-combobox>\n * ```\n */\nvar ComboBoxComponent = /** @class */ (function (_super) {\n __extends(ComboBoxComponent, _super);\n function ComboBoxComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new ComboBox({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n ComboBoxComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n ComboBoxComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n ComboBoxComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n ComboBoxComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n ComboBoxComponent.prototype.custom = function () {\n this.updated();\n };\n ComboBoxComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n ComboBoxComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n ComboBoxComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n ComboBoxComponent.prototype.focusIn = function () {\n return this.ej2Instances.focusIn();\n };\n ComboBoxComponent.prototype.focusOut = function (e) {\n return this.ej2Instances.focusOut(e);\n };\n ComboBoxComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n ComboBoxComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n ComboBoxComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n ComboBoxComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n ComboBoxComponent.prototype.showPopup = function (e) {\n return this.ej2Instances.showPopup(e);\n };\n ComboBoxComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n ComboBoxComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], ComboBoxComponent);\n return ComboBoxComponent;\n}(ComponentBase));\nexport { ComboBoxComponent };\nexport var ComboBoxPlugin = {\n name: 'ejs-combobox',\n install: function (Vue) {\n Vue.component(ComboBoxPlugin.name, ComboBoxComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { AutoComplete } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'allowCustom', 'allowFiltering', 'autofill', 'cssClass', 'dataSource', 'enablePersistence', 'enableRtl', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'highlight', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'index', 'itemTemplate', 'locale', 'minLength', 'noRecordsTemplate', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'showClearButton', 'showPopupButton', 'sortOrder', 'suggestionCount', 'text', 'value', 'valueTemplate', 'width', 'zIndex', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'customValueSpecifier', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * The AutoComplete component provides all the matched suggestion list on typing the input from which the user can select one.\n * ```html\n * <ejs-autocomplete :dataSource='data'></ejs-autocomplete>\n * ```\n */\nvar AutoCompleteComponent = /** @class */ (function (_super) {\n __extends(AutoCompleteComponent, _super);\n function AutoCompleteComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new AutoComplete({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n AutoCompleteComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n AutoCompleteComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n AutoCompleteComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n AutoCompleteComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n AutoCompleteComponent.prototype.custom = function () {\n this.updated();\n };\n AutoCompleteComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n AutoCompleteComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n AutoCompleteComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n AutoCompleteComponent.prototype.focusIn = function () {\n return this.ej2Instances.focusIn();\n };\n AutoCompleteComponent.prototype.focusOut = function (e) {\n return this.ej2Instances.focusOut(e);\n };\n AutoCompleteComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n AutoCompleteComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n AutoCompleteComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n AutoCompleteComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n AutoCompleteComponent.prototype.showPopup = function (e) {\n return this.ej2Instances.showPopup(e);\n };\n AutoCompleteComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n AutoCompleteComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], AutoCompleteComponent);\n return AutoCompleteComponent;\n}(ComponentBase));\nexport { AutoCompleteComponent };\nexport var AutoCompletePlugin = {\n name: 'ejs-autocomplete',\n install: function (Vue) {\n Vue.component(AutoCompletePlugin.name, AutoCompleteComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { MultiSelect } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'addTagOnBlur', 'allowCustomValue', 'allowFiltering', 'changeOnBlur', 'closePopupOnSelect', 'cssClass', 'dataSource', 'delimiterChar', 'enableGroupCheckBox', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableSelectionOrder', 'enabled', 'fields', 'filterBarPlaceholder', 'filterType', 'floatLabelType', 'footerTemplate', 'groupTemplate', 'headerTemplate', 'hideSelectedItem', 'htmlAttributes', 'ignoreAccent', 'ignoreCase', 'itemTemplate', 'locale', 'maximumSelectionLength', 'mode', 'noRecordsTemplate', 'openOnClick', 'placeholder', 'popupHeight', 'popupWidth', 'query', 'readonly', 'selectAllText', 'showClearButton', 'showDropDownIcon', 'showSelectAll', 'sortOrder', 'text', 'unSelectAllText', 'value', 'valueTemplate', 'width', 'zIndex', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'beforeSelectAll', 'blur', 'change', 'chipSelection', 'close', 'created', 'customValueSelection', 'dataBound', 'destroyed', 'filtering', 'focus', 'open', 'removed', 'removing', 'select', 'selectedAll', 'tagging'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * MultiSelect component allows the user to select a value from the predefined list of values.\n * ```html\n * <ejs-multiselect :dataSource='data'></ejs-multiselect>\n * ```\n */\nvar MultiSelectComponent = /** @class */ (function (_super) {\n __extends(MultiSelectComponent, _super);\n function MultiSelectComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = true;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new MultiSelect({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n MultiSelectComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n MultiSelectComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n MultiSelectComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n MultiSelectComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n MultiSelectComponent.prototype.custom = function () {\n this.updated();\n };\n MultiSelectComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n MultiSelectComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n MultiSelectComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n MultiSelectComponent.prototype.focusIn = function () {\n return this.ej2Instances.focusIn();\n };\n MultiSelectComponent.prototype.focusOut = function () {\n return this.ej2Instances.focusOut();\n };\n MultiSelectComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n MultiSelectComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n MultiSelectComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n MultiSelectComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n MultiSelectComponent.prototype.requiredModules = function () {\n return this.ej2Instances.requiredModules();\n };\n MultiSelectComponent.prototype.selectAll = function (state) {\n return this.ej2Instances.selectAll(state);\n };\n MultiSelectComponent.prototype.showPopup = function (e) {\n return this.ej2Instances.showPopup(e);\n };\n MultiSelectComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n MultiSelectComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], MultiSelectComponent);\n return MultiSelectComponent;\n}(ComponentBase));\nexport { MultiSelectComponent };\nexport var MultiSelectPlugin = {\n name: 'ejs-multiselect',\n install: function (Vue) {\n Vue.component(MultiSelectPlugin.name, MultiSelectComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { ListBox } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', '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', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeDrop', 'beforeItemRender', 'change', 'created', 'dataBound', 'destroyed', 'drag', 'dragStart', 'drop', 'filtering', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * ListBox component allows the user to select values from the predefined list of values.\n * ```html\n * <ejs-listbox :dataSource='data'></ejs-listbox>\n * ```\n */\nvar ListBoxComponent = /** @class */ (function (_super) {\n __extends(ListBoxComponent, _super);\n function ListBoxComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = true;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new ListBox({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n ListBoxComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n ListBoxComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n ListBoxComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n ListBoxComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n ListBoxComponent.prototype.custom = function () {\n this.updated();\n };\n ListBoxComponent.prototype.addItems = function (items, itemIndex) {\n return this.ej2Instances.addItems(items, itemIndex);\n };\n ListBoxComponent.prototype.enableItems = function (items, enable, isValue) {\n return this.ej2Instances.enableItems(items, enable, isValue);\n };\n ListBoxComponent.prototype.filter = function (dataSource, query, fields) {\n return this.ej2Instances.filter(dataSource, query, fields);\n };\n ListBoxComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n ListBoxComponent.prototype.getDataByValues = function (value) {\n return this.ej2Instances.getDataByValues(value);\n };\n ListBoxComponent.prototype.getDataList = function () {\n return this.ej2Instances.getDataList();\n };\n ListBoxComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n ListBoxComponent.prototype.getSortedList = function () {\n return this.ej2Instances.getSortedList();\n };\n ListBoxComponent.prototype.hideSpinner = function () {\n return this.ej2Instances.hideSpinner();\n };\n ListBoxComponent.prototype.moveAllTo = function (targetId, index) {\n return this.ej2Instances.moveAllTo(targetId, index);\n };\n ListBoxComponent.prototype.moveDown = function (value) {\n return this.ej2Instances.moveDown(value);\n };\n ListBoxComponent.prototype.moveTo = function (value, index, targetId) {\n return this.ej2Instances.moveTo(value, index, targetId);\n };\n ListBoxComponent.prototype.moveUp = function (value) {\n return this.ej2Instances.moveUp(value);\n };\n ListBoxComponent.prototype.removeItem = function (items, itemIndex) {\n return this.ej2Instances.removeItem(items, itemIndex);\n };\n ListBoxComponent.prototype.removeItems = function (items, itemIndex) {\n return this.ej2Instances.removeItems(items, itemIndex);\n };\n ListBoxComponent.prototype.requiredModules = function () {\n return this.ej2Instances.requiredModules();\n };\n ListBoxComponent.prototype.selectAll = function (state) {\n return this.ej2Instances.selectAll(state);\n };\n ListBoxComponent.prototype.selectItems = function (items, state, isValue) {\n return this.ej2Instances.selectItems(items, state, isValue);\n };\n ListBoxComponent.prototype.showSpinner = function () {\n return this.ej2Instances.showSpinner();\n };\n ListBoxComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], ListBoxComponent);\n return ListBoxComponent;\n}(ComponentBase));\nexport { ListBoxComponent };\nexport var ListBoxPlugin = {\n name: 'ejs-listbox',\n install: function (Vue) {\n Vue.component(ListBoxPlugin.name, ListBoxComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { isUndefined } from '@syncfusion/ej2-base';\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { DropDownTree } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'actionFailureTemplate', 'allowFiltering', 'allowMultiSelection', 'changeOnBlur', 'cssClass', 'customTemplate', 'delimiterChar', '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', 'width', 'wrapText', 'zIndex', 'actionFailure', 'beforeOpen', 'blur', 'change', 'close', 'created', 'dataBound', 'destroyed', 'filtering', 'focus', 'keyPress', 'open', 'select'];\nexport var modelProps = ['value'];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\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 */\nvar DropDownTreeComponent = /** @class */ (function (_super) {\n __extends(DropDownTreeComponent, _super);\n function DropDownTreeComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new DropDownTree({});\n _this.ej2Instances._trigger = _this.ej2Instances.trigger;\n _this.ej2Instances.trigger = _this.trigger;\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n DropDownTreeComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n DropDownTreeComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n DropDownTreeComponent.prototype.trigger = function (eventName, eventProp, successHandler) {\n if (!isExecute) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if ((eventName === 'change' || eventName === 'input') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/checked|value/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('update:modelValue', eventProp[propKey]);\n }\n else {\n if (eventName === 'change' || (this.$props && !this.$props.isLazyUpdate)) {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n }\n else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n var key = this.models.toString().match(/currentView|selectedDate/) || [];\n var propKey = key[0];\n if (eventProp && key && !isUndefined(eventProp[propKey])) {\n if (!isExecute) {\n this.ej2Instances.vueInstance.$emit('update:' + propKey, eventProp[propKey]);\n this.ej2Instances.vueInstance.$emit('modelchanged', eventProp[propKey]);\n }\n else {\n this.$emit('update:' + propKey, eventProp[propKey]);\n this.$emit('modelchanged', eventProp[propKey]);\n }\n }\n }\n if ((this.ej2Instances && this.ej2Instances._trigger)) {\n this.ej2Instances._trigger(eventName, eventProp, successHandler);\n }\n };\n DropDownTreeComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('input', slots);\n };\n DropDownTreeComponent.prototype.custom = function () {\n this.updated();\n };\n DropDownTreeComponent.prototype.clear = function () {\n return this.ej2Instances.clear();\n };\n DropDownTreeComponent.prototype.ensureVisible = function (item) {\n return this.ej2Instances.ensureVisible(item);\n };\n DropDownTreeComponent.prototype.getData = function (item) {\n return this.ej2Instances.getData(item);\n };\n DropDownTreeComponent.prototype.getLocaleName = function () {\n return this.ej2Instances.getLocaleName();\n };\n DropDownTreeComponent.prototype.hidePopup = function () {\n return this.ej2Instances.hidePopup();\n };\n DropDownTreeComponent.prototype.selectAll = function (state) {\n return this.ej2Instances.selectAll(state);\n };\n DropDownTreeComponent.prototype.showPopup = function () {\n return this.ej2Instances.showPopup();\n };\n DropDownTreeComponent = __decorate([\n EJComponentDecorator({\n props: properties,\n model: {\n event: 'modelchanged'\n }\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], DropDownTreeComponent);\n return DropDownTreeComponent;\n}(ComponentBase));\nexport { DropDownTreeComponent };\nexport var DropDownTreePlugin = {\n name: 'ejs-dropdowntree',\n install: function (Vue) {\n Vue.component(DropDownTreePlugin.name, DropDownTreeComponent);\n }\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ComponentBase, EJComponentDecorator, getProps, gh, isExecute } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Mention } from '@syncfusion/ej2-dropdowns';\n// {{VueImport}}\nexport var properties = ['isLazyUpdate', 'plugins', 'allowSpaces', 'cssClass', 'dataSource', 'displayTemplate', 'fields', 'filterType', 'highlight', 'ignoreCase', 'itemTemplate', 'locale', 'mentionChar', 'minLength', 'noRecordsTemplate', 'popupHeight', 'popupWidth', 'query', 'showMentionChar', 'sortOrder', 'spinnerTemplate', 'suffixText', 'suggestionCount', 'target', 'actionBegin', 'actionComplete', 'actionFailure', 'beforeOpen', 'change', 'closed', 'created', 'destroyed', 'filtering', 'opened', 'select'];\nexport var modelProps = [];\nexport var testProp = getProps({ props: properties });\nexport var props = testProp[0];\nexport var watch = testProp[1];\nexport var emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged', 'update:modelValue');\nfor (var _i = 0, modelProps_1 = modelProps; _i < modelProps_1.length; _i++) {\n var props_1 = modelProps_1[_i];\n emitProbs.push('update:' + props_1);\n}\n/**\n * The Mention contains a list of predefined values from which the user can choose\n * ```html\n * <ejs-mention :dataSource='data'></ejs-mention>\n * ```\n */\nvar MentionComponent = /** @class */ (function (_super) {\n __extends(MentionComponent, _super);\n function MentionComponent() {\n var _this = _super.call(this, arguments) || this;\n _this.propKeys = properties;\n _this.models = modelProps;\n _this.hasChildDirective = false;\n _this.hasInjectedModules = false;\n _this.tagMapper = {};\n _this.tagNameMapper = {};\n _this.isVue3 = !isExecute;\n _this.ej2Instances = new Mention({});\n _this.bindProperties();\n _this.ej2Instances._setProperties = _this.ej2Instances.setProperties;\n _this.ej2Instances.setProperties = _this.setProperties;\n _this.ej2Instances.clearTemplate = _this.clearTemplate;\n _this.updated = _this.updated;\n return _this;\n }\n MentionComponent.prototype.clearTemplate = function (templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (var _i = 0, templateNames_1 = templateNames; _i < templateNames_1.length; _i++) {\n var tempName = templateNames_1[_i];\n var elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (var _a = 0, elementCollection_1 = elementCollection; _a < elementCollection_1.length; _a++) {\n var ele = elementCollection_1[_a];\n var destroy = getValue('__vue__.$destroy', ele);\n if (destroy) {\n ele.__vue__.$destroy();\n }\n if (ele.innerHTML) {\n ele.innerHTML = '';\n }\n }\n delete this.templateCollection[tempName];\n }\n }\n }\n };\n MentionComponent.prototype.setProperties = function (prop, muteOnChange) {\n var _this = this;\n if (this.isVue3) {\n this.models = !this.models ? this.ej2Instances.referModels : this.models;\n }\n if (this.ej2Instances && this.ej2Instances._setProperties) {\n this.ej2Instances._setProperties(prop, muteOnChange);\n }\n if (prop && this.models && this.models.length) {\n Object.keys(prop).map(function (key) {\n _this.models.map(function (model) {\n if ((key === model) && !(/datasource/i.test(key))) {\n if (_this.isVue3) {\n _this.ej2Instances.vueInstance.$emit('update:' + key, prop[key]);\n }\n else {\n _this.$emit('update:' + key, prop[key]);\n _this.$emit('modelchanged', prop[key]);\n }\n }\n });\n });\n }\n };\n MentionComponent.prototype.render = function (createElement) {\n var h = !isExecute ? gh : createElement;\n var slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = !isExecute ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n };\n MentionComponent.prototype.custom = function () {\n this.updated();\n };\n MentionComponent.prototype.addItem = function (items, itemIndex) {\n return this.ej2Instances.addItem(items, itemIndex);\n };\n MentionComponent.prototype.getDataByValue = function (value) {\n return this.ej2Instances.getDataByValue(value);\n };\n MentionComponent.prototype.getItems = function () {\n return this.ej2Instances.getItems();\n };\n MentionComponent.prototype.hidePopup = function (e) {\n return this.ej2Instances.hidePopup(e);\n };\n MentionComponent.prototype.search = function (text, positionX, positionY) {\n return this.ej2Instances.search(text, positionX, positionY);\n };\n MentionComponent.prototype.showPopup = function () {\n return this.ej2Instances.showPopup();\n };\n MentionComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs,\n provide: function provide() {\n return {\n custom: this.custom\n };\n }\n }) End */\n ], MentionComponent);\n return MentionComponent;\n}(ComponentBase));\nexport { MentionComponent };\nexport var MentionPlugin = {\n name: 'ejs-mention',\n install: function (Vue) {\n Vue.component(MentionPlugin.name, MentionComponent);\n }\n};\n"],"names":["this","__extends","__decorate","properties","modelProps","testProp","props","watch","emitProbs","_i","modelProps_1","props_1"],"mappings":"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"}