@syncfusion/ej2-vue-navigations 19.3.43 → 19.3.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +179 -1
  3. package/dist/ej2-vue-navigations.umd.min.js +1 -1
  4. package/dist/es6/ej2-vue-navigations.es2015.js +20 -14
  5. package/dist/es6/ej2-vue-navigations.es2015.js.map +1 -1
  6. package/dist/es6/ej2-vue-navigations.es5.js +20 -14
  7. package/dist/es6/ej2-vue-navigations.es5.js.map +1 -1
  8. package/dist/global/ej2-vue-navigations.min.js +2 -2
  9. package/package.json +20 -8
  10. package/src/accordion/accordion.component.js +5 -3
  11. package/src/breadcrumb/breadcrumb.component.js +5 -3
  12. package/src/context-menu/contextmenu.component.js +1 -1
  13. package/src/menu/menu.component.js +1 -1
  14. package/src/sidebar/sidebar.component.js +5 -3
  15. package/src/tab/tab.component.js +1 -1
  16. package/src/toolbar/toolbar.component.js +1 -1
  17. package/src/treeview/treeview.component.js +1 -1
  18. package/styles/bootstrap-dark.css +15 -2
  19. package/styles/bootstrap.css +15 -2
  20. package/styles/bootstrap4.css +15 -2
  21. package/styles/bootstrap5-dark.css +19 -3
  22. package/styles/bootstrap5.css +19 -3
  23. package/styles/breadcrumb/bootstrap-dark.css +13 -0
  24. package/styles/breadcrumb/bootstrap.css +13 -0
  25. package/styles/breadcrumb/bootstrap4.css +13 -0
  26. package/styles/breadcrumb/bootstrap5-dark.css +16 -0
  27. package/styles/breadcrumb/bootstrap5.css +16 -0
  28. package/styles/breadcrumb/fabric-dark.css +16 -0
  29. package/styles/breadcrumb/fabric.css +16 -0
  30. package/styles/breadcrumb/highcontrast-light.css +17 -1
  31. package/styles/breadcrumb/highcontrast.css +17 -1
  32. package/styles/breadcrumb/material-dark.css +16 -0
  33. package/styles/breadcrumb/material.css +16 -0
  34. package/styles/breadcrumb/tailwind-dark.css +16 -0
  35. package/styles/breadcrumb/tailwind.css +16 -0
  36. package/styles/fabric-dark.css +16 -0
  37. package/styles/fabric.css +16 -0
  38. package/styles/highcontrast-light.css +17 -1
  39. package/styles/highcontrast.css +17 -1
  40. package/styles/material-dark.css +16 -0
  41. package/styles/material.css +16 -0
  42. package/styles/tab/bootstrap-dark.css +2 -2
  43. package/styles/tab/bootstrap.css +2 -2
  44. package/styles/tab/bootstrap4.css +2 -2
  45. package/styles/tab/bootstrap5-dark.css +3 -3
  46. package/styles/tab/bootstrap5.css +3 -3
  47. package/styles/tailwind-dark.css +16 -0
  48. package/styles/tailwind.css +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ej2-vue-navigations.es2015.js","sources":["../src/es6/accordion/items.directive.js","../src/es6/accordion/accordion.component.js","../src/es6/toolbar/items.directive.js","../src/es6/toolbar/toolbar.component.js","../src/es6/context-menu/contextmenu.component.js","../src/es6/breadcrumb/items.directive.js","../src/es6/breadcrumb/breadcrumb.component.js","../src/es6/tab/items.directive.js","../src/es6/tab/tab.component.js","../src/es6/treeview/treeview.component.js","../src/es6/sidebar/sidebar.component.js","../src/es6/menu/items.directive.js","../src/es6/menu/menu.component.js"],"sourcesContent":["var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet AccordionItemsDirective = class AccordionItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-accordionitems';\n }\n};\nAccordionItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], AccordionItemsDirective);\nexport { AccordionItemsDirective };\nexport const AccordionItemsPlugin = {\n name: 'e-accordionitems',\n install(Vue) {\n Vue.component(AccordionItemsPlugin.name, AccordionItemsDirective);\n }\n};\n/**\n * 'e-accordionitem' directive represent a item of Vue Accordion\n * It must be contained in a Accordion component(`ejs-accordion`).\n * ```html\n * <ejs-accordion>\n * <e-accordionitems>\n * <e-accordionitem header='Header1'></e-accordionitem>\n * <e-accordionitem header='Header2' content='Content2'></e-accordionitem>\n * </e-accordionitems>\n * </ejs-accordion>\n * ```\n */\nlet AccordionItemDirective = class AccordionItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-accordionitem';\n }\n};\nAccordionItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], AccordionItemDirective);\nexport { AccordionItemDirective };\nexport const AccordionItemPlugin = {\n name: 'e-accordionitem',\n install(Vue) {\n Vue.component(AccordionItemPlugin.name, AccordionItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Accordion } from '@syncfusion/ej2-navigations';\nimport { AccordionItemsDirective, AccordionItemDirective, AccordionItemsPlugin, AccordionItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['animation', 'dataSource', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'expandMode', 'expandedIndices', 'headerTemplate', 'height', 'itemTemplate', 'items', 'locale', 'width', 'clicked', 'created', 'destroyed', 'expanded', 'expanding'];\nexport const modelProps = ['expandedIndices'];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the VueJS Accoridon Component.\n * ```html\n * <ejs-accordion></ejs-accordion>\n * ```\n */\nlet AccordionComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass AccordionComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-accordionitems\": \"e-accordionitem\" };\n this.tagNameMapper = { \"e-accordionitems\": \"e-items\" };\n this.isVue3 = !isExecute;\n this.ej2Instances = new Accordion({});\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 }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 trigger(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 let key = this.models.toString().match(/checked|value/) || [];\n let 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 else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n let key = this.models.toString().match(/currentView|selectedDate/) || [];\n let 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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n addItem(item, index) {\n return this.ej2Instances.addItem(item, index);\n }\n enableItem(index, isEnable) {\n return this.ej2Instances.enableItem(index, isEnable);\n }\n expandItem(isExpand, index) {\n return this.ej2Instances.expandItem(isExpand, index);\n }\n hideItem(index, isHidden) {\n return this.ej2Instances.hideItem(index, isHidden);\n }\n removeItem(index) {\n return this.ej2Instances.removeItem(index);\n }\n select(index) {\n return this.ej2Instances.select(index);\n }\n};\nAccordionComponent = __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 }) End */\n], AccordionComponent);\nexport { AccordionComponent };\nexport const AccordionPlugin = {\n name: 'ejs-accordion',\n install(Vue) {\n Vue.component(AccordionPlugin.name, AccordionComponent);\n Vue.component(AccordionItemPlugin.name, AccordionItemDirective);\n Vue.component(AccordionItemsPlugin.name, AccordionItemsDirective);\n }\n};\n","var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet ItemsDirective = class ItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-items';\n }\n};\nItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], ItemsDirective);\nexport { ItemsDirective };\nexport const ItemsPlugin = {\n name: 'e-items',\n install(Vue) {\n Vue.component(ItemsPlugin.name, ItemsDirective);\n }\n};\n/**\n * 'e-item' directive represent a item of Vue Toolbar\n * It must be contained in a Toolbar component(`ejs-toolbar`).\n * ```html\n * <ejs-toolbar>\n * <e-items>\n * <e-item text='Cut'></e-item>\n * <e-item text='Copy'></e-item>\n * </e-items>\n * </ejs-toolbar>\n * ```\n */\nlet ItemDirective = class ItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-item';\n }\n};\nItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], ItemDirective);\nexport { ItemDirective };\nexport const ItemPlugin = {\n name: 'e-item',\n install(Vue) {\n Vue.component(ItemPlugin.name, ItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Toolbar } from '@syncfusion/ej2-navigations';\nimport { ItemsDirective, ItemDirective, ItemsPlugin, ItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['allowKeyboard', 'cssClass', 'enableCollision', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'height', 'items', 'locale', 'overflowMode', 'scrollStep', 'width', 'beforeCreate', 'clicked', 'created', 'destroyed'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the VueJS Toolbar Component.\n * ```html\n * <ejs-toolbar></ejs-toolbar>\n * ```\n */\nlet ToolbarComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass ToolbarComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-items\": \"e-item\" };\n this.tagNameMapper = {};\n this.isVue3 = !isExecute;\n this.ej2Instances = new Toolbar({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n addItems(items, index) {\n return this.ej2Instances.addItems(items, index);\n }\n disable(value) {\n return this.ej2Instances.disable(value);\n }\n enableItems(items, isEnable) {\n return this.ej2Instances.enableItems(items, isEnable);\n }\n hideItem(index, value) {\n return this.ej2Instances.hideItem(index, value);\n }\n refreshOverflow() {\n return this.ej2Instances.refreshOverflow();\n }\n removeItems(args) {\n return this.ej2Instances.removeItems(args);\n }\n};\nToolbarComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], ToolbarComponent);\nexport { ToolbarComponent };\nexport const ToolbarPlugin = {\n name: 'ejs-toolbar',\n install(Vue) {\n Vue.component(ToolbarPlugin.name, ToolbarComponent);\n Vue.component(ItemPlugin.name, ItemDirective);\n Vue.component(ItemsPlugin.name, ItemsDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { ContextMenu } from '@syncfusion/ej2-navigations';\n// {{VueImport}}\nexport const properties = ['animationSettings', 'cssClass', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableScrolling', 'fields', 'filter', 'hoverDelay', 'items', 'locale', 'showItemOnClick', 'target', 'template', 'beforeClose', 'beforeItemRender', 'beforeOpen', 'created', 'onClose', 'onOpen', 'select'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the Essential JS 2 VueJS ContextMenu Component.\n * ```html\n * <div id='target'>Right click / Touch hold to open the ContextMenu</div>\n * <ejs-contextmenu target='#target' :items='menuItems'></ejs-contextmenu>\n * ```\n */\nlet ContextMenuComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass ContextMenuComponent extends ComponentBase {\n constructor() {\n super(arguments);\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 ContextMenu({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('ul', slots);\n }\n close() {\n return this.ej2Instances.close();\n }\n enableItems(items, enable, isUniqueId) {\n return this.ej2Instances.enableItems(items, enable, isUniqueId);\n }\n getItemIndex(item, isUniqueId) {\n return this.ej2Instances.getItemIndex(item, isUniqueId);\n }\n hideItems(items, isUniqueId) {\n return this.ej2Instances.hideItems(items, isUniqueId);\n }\n insertAfter(items, text, isUniqueId) {\n return this.ej2Instances.insertAfter(items, text, isUniqueId);\n }\n insertBefore(items, text, isUniqueId) {\n return this.ej2Instances.insertBefore(items, text, isUniqueId);\n }\n open(top, left, target) {\n return this.ej2Instances.open(top, left, target);\n }\n removeItems(items, isUniqueId) {\n return this.ej2Instances.removeItems(items, isUniqueId);\n }\n setItem(item, id, isUniqueId) {\n return this.ej2Instances.setItem(item, id, isUniqueId);\n }\n showItems(items, isUniqueId) {\n return this.ej2Instances.showItems(items, isUniqueId);\n }\n};\nContextMenuComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], ContextMenuComponent);\nexport { ContextMenuComponent };\nexport const ContextMenuPlugin = {\n name: 'ejs-contextmenu',\n install(Vue) {\n Vue.component(ContextMenuPlugin.name, ContextMenuComponent);\n }\n};\n","var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet BreadcrumbItemsDirective = class BreadcrumbItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-breadcrumb-items';\n }\n};\nBreadcrumbItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], BreadcrumbItemsDirective);\nexport { BreadcrumbItemsDirective };\nexport const BreadcrumbItemsPlugin = {\n name: 'e-breadcrumb-items',\n install(Vue) {\n Vue.component(BreadcrumbItemsPlugin.name, BreadcrumbItemsDirective);\n }\n};\n/**\n * `e-breadcrumb-item` directive represent a item of the Vue Breadcrumb.\n * It must be contained in a Breadcrumb component(`ejs-breadcrumb`).\n * ```html\n * <ejs-breadcrumb>\n * <e-breadcrumb-items>\n * <e-breadcrumb-item text='Home' url='/'></e-breadcrumb-item>\n * <e-breadcrumb-item text='Index' url='./index'></e-breadcrumb-item>\n * </e-breadcrumb-items>\n * </ejs-breadcrumb>\n * ```\n */\nlet BreadcrumbItemDirective = class BreadcrumbItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-breadcrumb-item';\n }\n};\nBreadcrumbItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], BreadcrumbItemDirective);\nexport { BreadcrumbItemDirective };\nexport const BreadcrumbItemPlugin = {\n name: 'e-breadcrumb-item',\n install(Vue) {\n Vue.component(BreadcrumbItemPlugin.name, BreadcrumbItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Breadcrumb } from '@syncfusion/ej2-navigations';\nimport { BreadcrumbItemsDirective, BreadcrumbItemDirective, BreadcrumbItemsPlugin, BreadcrumbItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['activeItem', 'cssClass', 'enableActiveItemNavigation', 'enableNavigation', 'enablePersistence', 'enableRtl', 'itemTemplate', 'items', 'locale', 'maxItems', 'overflowMode', 'separatorTemplate', 'url', 'width', 'beforeItemRender', 'created', 'itemClick'];\nexport const modelProps = ['activeItem'];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the VueJS Breadcrumb Component.\n * ```html\n * <ejs-breadcrumb :items='breadcrumbItems'></ejs-breadcrumb>\n * ```\n */\nlet BreadcrumbComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass BreadcrumbComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-breadcrumb-items\": \"e-breadcrumb-item\" };\n this.tagNameMapper = { \"e-breadcrumb-items\": \"e-items\" };\n this.isVue3 = !isExecute;\n this.ej2Instances = new Breadcrumb({});\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 }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 trigger(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 let key = this.models.toString().match(/checked|value/) || [];\n let 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 else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n let key = this.models.toString().match(/currentView|selectedDate/) || [];\n let 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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('nav', slots);\n }\n};\nBreadcrumbComponent = __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 }) End */\n], BreadcrumbComponent);\nexport { BreadcrumbComponent };\nexport const BreadcrumbPlugin = {\n name: 'ejs-breadcrumb',\n install(Vue) {\n Vue.component(BreadcrumbPlugin.name, BreadcrumbComponent);\n Vue.component(BreadcrumbItemPlugin.name, BreadcrumbItemDirective);\n Vue.component(BreadcrumbItemsPlugin.name, BreadcrumbItemsDirective);\n }\n};\n","var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet TabItemsDirective = class TabItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-tabitems';\n }\n};\nTabItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], TabItemsDirective);\nexport { TabItemsDirective };\nexport const TabItemsPlugin = {\n name: 'e-tabitems',\n install(Vue) {\n Vue.component(TabItemsPlugin.name, TabItemsDirective);\n }\n};\n/**\n * 'e-tabitem' directive represent a item of the Vue Tab\n * It must be contained in a Tab component(`ejs-tab`).\n * ```html\n * <ejs-tab>\n * <e-tabitems>\n * <e-tabitem :header='Header 1' :content='Content 1'></e-tabitem>\n * <e-tabitem :header='Header 2' :content='Content 2'></e-tabitem>\n * <e-tabitems>\n * </ejs-tab>\n * ```\n */\nlet TabItemDirective = class TabItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-tabitem';\n }\n};\nTabItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], TabItemDirective);\nexport { TabItemDirective };\nexport const TabItemPlugin = {\n name: 'e-tabitem',\n install(Vue) {\n Vue.component(TabItemPlugin.name, TabItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Tab } from '@syncfusion/ej2-navigations';\nimport { TabItemsDirective, TabItemDirective, TabItemsPlugin, TabItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['allowDragAndDrop', 'animation', 'cssClass', 'dragArea', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'headerPlacement', 'height', 'heightAdjustMode', 'items', 'loadOn', 'locale', 'overflowMode', 'scrollStep', 'selectedItem', 'showCloseButton', 'width', 'added', 'adding', 'created', 'destroyed', 'dragged', 'dragging', 'onDragStart', 'removed', 'removing', 'selected', 'selecting'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the VueJS Tab Component.\n * ```html\n * <ejs-tab></ejs-tab>\n * ```\n */\nlet TabComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass TabComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-tabitems\": \"e-tabitem\" };\n this.tagNameMapper = { \"e-tabitems\": \"e-items\" };\n this.isVue3 = !isExecute;\n this.ej2Instances = new Tab({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n addTab(items, index) {\n return this.ej2Instances.addTab(items, index);\n }\n disable(value) {\n return this.ej2Instances.disable(value);\n }\n enableTab(index, value) {\n return this.ej2Instances.enableTab(index, value);\n }\n getItemIndex(tabItemId) {\n return this.ej2Instances.getItemIndex(tabItemId);\n }\n hideTab(index, value) {\n return this.ej2Instances.hideTab(index, value);\n }\n refresh() {\n return this.ej2Instances.refresh();\n }\n refreshActiveTab() {\n return this.ej2Instances.refreshActiveTab();\n }\n removeTab(index) {\n return this.ej2Instances.removeTab(index);\n }\n select(args, event) {\n return this.ej2Instances.select(args, event);\n }\n};\nTabComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], TabComponent);\nexport { TabComponent };\nexport const TabPlugin = {\n name: 'ejs-tab',\n install(Vue) {\n Vue.component(TabPlugin.name, TabComponent);\n Vue.component(TabItemPlugin.name, TabItemDirective);\n Vue.component(TabItemsPlugin.name, TabItemsDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { TreeView } from '@syncfusion/ej2-navigations';\n// {{VueImport}}\nexport const properties = ['allowDragAndDrop', 'allowEditing', 'allowMultiSelection', 'animation', 'autoCheck', 'checkedNodes', 'cssClass', 'disabled', 'dragArea', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'expandOn', 'expandedNodes', 'fields', 'fullRowNavigable', 'fullRowSelect', 'loadOnDemand', 'locale', 'nodeTemplate', 'selectedNodes', 'showCheckBox', 'sortOrder', 'actionFailure', 'created', 'dataBound', 'dataSourceChanged', 'destroyed', 'drawNode', 'keyPress', 'nodeChecked', 'nodeChecking', 'nodeClicked', 'nodeCollapsed', 'nodeCollapsing', 'nodeDragStart', 'nodeDragStop', 'nodeDragging', 'nodeDropped', 'nodeEdited', 'nodeEditing', 'nodeExpanded', 'nodeExpanding', 'nodeSelected', 'nodeSelecting'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the EJ2 VueJS TreeView Component.\n * ```html\n * <ejs-treeview></ejs-treeview>\n * ```\n */\nlet TreeViewComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass TreeViewComponent extends ComponentBase {\n constructor() {\n super(arguments);\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 TreeView({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n addNodes(nodes, target, index, preventTargetExpand) {\n return this.ej2Instances.addNodes(nodes, target, index, preventTargetExpand);\n }\n beginEdit(node) {\n return this.ej2Instances.beginEdit(node);\n }\n checkAll(nodes) {\n return this.ej2Instances.checkAll(nodes);\n }\n collapseAll(nodes, level, excludeHiddenNodes) {\n return this.ej2Instances.collapseAll(nodes, level, excludeHiddenNodes);\n }\n disableNodes(nodes) {\n return this.ej2Instances.disableNodes(nodes);\n }\n enableNodes(nodes) {\n return this.ej2Instances.enableNodes(nodes);\n }\n ensureVisible(node) {\n return this.ej2Instances.ensureVisible(node);\n }\n expandAll(nodes, level, excludeHiddenNodes) {\n return this.ej2Instances.expandAll(nodes, level, excludeHiddenNodes);\n }\n getAllCheckedNodes() {\n return this.ej2Instances.getAllCheckedNodes();\n }\n getDisabledNodes() {\n return this.ej2Instances.getDisabledNodes();\n }\n getNode(node) {\n return this.ej2Instances.getNode(node);\n }\n getTreeData(node) {\n return this.ej2Instances.getTreeData(node);\n }\n moveNodes(sourceNodes, target, index, preventTargetExpand) {\n return this.ej2Instances.moveNodes(sourceNodes, target, index, preventTargetExpand);\n }\n refreshNode(target, newData) {\n return this.ej2Instances.refreshNode(target, newData);\n }\n removeNodes(nodes) {\n return this.ej2Instances.removeNodes(nodes);\n }\n uncheckAll(nodes) {\n return this.ej2Instances.uncheckAll(nodes);\n }\n updateNode(target, newText) {\n return this.ej2Instances.updateNode(target, newText);\n }\n};\nTreeViewComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], TreeViewComponent);\nexport { TreeViewComponent };\nexport const TreeViewPlugin = {\n name: 'ejs-treeview',\n install(Vue) {\n Vue.component(TreeViewPlugin.name, TreeViewComponent);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Sidebar } from '@syncfusion/ej2-navigations';\n// {{VueImport}}\nexport const properties = ['animate', 'closeOnDocumentClick', 'dockSize', 'enableDock', 'enableGestures', 'enablePersistence', 'enableRtl', 'height', 'isOpen', 'locale', 'mediaQuery', 'position', 'showBackdrop', 'target', 'type', 'width', 'zIndex', 'change', 'close', 'created', 'destroyed', 'open'];\nexport const modelProps = ['isOpen'];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the Essential JS 2 VueJS Sidebar Component.\n * ```html\n * <ejs-sidebar></ejs-sidebar>\n * ```\n */\nlet SidebarComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass SidebarComponent extends ComponentBase {\n constructor() {\n super(arguments);\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 Sidebar({});\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 }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 trigger(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 let key = this.models.toString().match(/checked|value/) || [];\n let 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 else if ((eventName === 'actionBegin' && eventProp.requestType === 'dateNavigate') && this.models && (this.models.length !== 0)) {\n let key = this.models.toString().match(/currentView|selectedDate/) || [];\n let 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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n hide(e) {\n return this.ej2Instances.hide(e);\n }\n show(e) {\n return this.ej2Instances.show(e);\n }\n toggle() {\n return this.ej2Instances.toggle();\n }\n};\nSidebarComponent = __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 }) End */\n], SidebarComponent);\nexport { SidebarComponent };\nexport const SidebarPlugin = {\n name: 'ejs-sidebar',\n install(Vue) {\n Vue.component(SidebarPlugin.name, SidebarComponent);\n }\n};\n","var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet MenuItemsDirective = class MenuItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-menu-items';\n }\n};\nMenuItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], MenuItemsDirective);\nexport { MenuItemsDirective };\nexport const MenuItemsPlugin = {\n name: 'e-menu-items',\n install(Vue) {\n Vue.component(MenuItemsPlugin.name, MenuItemsDirective);\n }\n};\nlet MenuItemDirective = class MenuItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-';\n }\n};\nMenuItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], MenuItemDirective);\nexport { MenuItemDirective };\nexport const MenuItemPlugin = {\n name: 'e-',\n install(Vue) {\n Vue.component(MenuItemPlugin.name, MenuItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Menu } from '@syncfusion/ej2-navigations';\nimport { MenuItemsDirective, MenuItemDirective, MenuItemsPlugin, MenuItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['animationSettings', 'cssClass', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableScrolling', 'fields', 'filter', 'hamburgerMode', 'hoverDelay', 'items', 'locale', 'orientation', 'showItemOnClick', 'target', 'template', 'title', 'beforeClose', 'beforeItemRender', 'beforeOpen', 'created', 'onClose', 'onOpen', 'select'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the Essential JS 2 VueJS Menu Component.\n * ```html\n * <ejs-menu :items='menuItems'></ejs-menu>\n * ```\n */\nlet MenuComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass MenuComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-menu-items\": \"e-\" };\n this.tagNameMapper = { \"e-menu-items\": \"e-items\" };\n this.isVue3 = !isExecute;\n this.ej2Instances = new Menu({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('ul', slots);\n }\n close() {\n return this.ej2Instances.close();\n }\n enableItems(items, enable, isUniqueId) {\n return this.ej2Instances.enableItems(items, enable, isUniqueId);\n }\n getItemIndex(item, isUniqueId) {\n return this.ej2Instances.getItemIndex(item, isUniqueId);\n }\n hideItems(items, isUniqueId) {\n return this.ej2Instances.hideItems(items, isUniqueId);\n }\n insertAfter(items, text, isUniqueId) {\n return this.ej2Instances.insertAfter(items, text, isUniqueId);\n }\n insertBefore(items, text, isUniqueId) {\n return this.ej2Instances.insertBefore(items, text, isUniqueId);\n }\n open() {\n return this.ej2Instances.open();\n }\n removeItems(items, isUniqueId) {\n return this.ej2Instances.removeItems(items, isUniqueId);\n }\n setItem(item, id, isUniqueId) {\n return this.ej2Instances.setItem(item, id, isUniqueId);\n }\n showItems(items, isUniqueId) {\n return this.ej2Instances.showItems(items, isUniqueId);\n }\n};\nMenuComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], MenuComponent);\nexport { MenuComponent };\nexport const MenuPlugin = {\n name: 'ejs-menu',\n install(Vue) {\n Vue.component(MenuPlugin.name, MenuComponent);\n Vue.component(MenuItemPlugin.name, MenuItemDirective);\n Vue.component(MenuItemsPlugin.name, MenuItemsDirective);\n }\n};\n"],"names":["this","Vue3.Vue","Vue","__decorate","isExecute","vueImport","properties","modelProps","testProp","props","watch","emitProbs"],"mappings":"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"}
1
+ {"version":3,"file":"ej2-vue-navigations.es2015.js","sources":["../src/es6/accordion/items.directive.js","../src/es6/accordion/accordion.component.js","../src/es6/toolbar/items.directive.js","../src/es6/toolbar/toolbar.component.js","../src/es6/context-menu/contextmenu.component.js","../src/es6/breadcrumb/items.directive.js","../src/es6/breadcrumb/breadcrumb.component.js","../src/es6/tab/items.directive.js","../src/es6/tab/tab.component.js","../src/es6/treeview/treeview.component.js","../src/es6/sidebar/sidebar.component.js","../src/es6/menu/items.directive.js","../src/es6/menu/menu.component.js"],"sourcesContent":["var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet AccordionItemsDirective = class AccordionItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-accordionitems';\n }\n};\nAccordionItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], AccordionItemsDirective);\nexport { AccordionItemsDirective };\nexport const AccordionItemsPlugin = {\n name: 'e-accordionitems',\n install(Vue) {\n Vue.component(AccordionItemsPlugin.name, AccordionItemsDirective);\n }\n};\n/**\n * 'e-accordionitem' directive represent a item of Vue Accordion\n * It must be contained in a Accordion component(`ejs-accordion`).\n * ```html\n * <ejs-accordion>\n * <e-accordionitems>\n * <e-accordionitem header='Header1'></e-accordionitem>\n * <e-accordionitem header='Header2' content='Content2'></e-accordionitem>\n * </e-accordionitems>\n * </ejs-accordion>\n * ```\n */\nlet AccordionItemDirective = class AccordionItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-accordionitem';\n }\n};\nAccordionItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], AccordionItemDirective);\nexport { AccordionItemDirective };\nexport const AccordionItemPlugin = {\n name: 'e-accordionitem',\n install(Vue) {\n Vue.component(AccordionItemPlugin.name, AccordionItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Accordion } from '@syncfusion/ej2-navigations';\nimport { AccordionItemsDirective, AccordionItemDirective, AccordionItemsPlugin, AccordionItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['islazyUpdate', 'animation', 'dataSource', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'expandMode', 'expandedIndices', 'headerTemplate', 'height', 'itemTemplate', 'items', 'locale', 'width', 'clicked', 'created', 'destroyed', 'expanded', 'expanding'];\nexport const modelProps = ['expandedIndices'];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the VueJS Accoridon Component.\n * ```html\n * <ejs-accordion></ejs-accordion>\n * ```\n */\nlet AccordionComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass AccordionComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-accordionitems\": \"e-accordionitem\" };\n this.tagNameMapper = { \"e-accordionitems\": \"e-items\" };\n this.isVue3 = !isExecute;\n this.ej2Instances = new Accordion({});\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 }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 trigger(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 let key = this.models.toString().match(/checked|value/) || [];\n let 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 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 let key = this.models.toString().match(/currentView|selectedDate/) || [];\n let 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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n addItem(item, index) {\n return this.ej2Instances.addItem(item, index);\n }\n enableItem(index, isEnable) {\n return this.ej2Instances.enableItem(index, isEnable);\n }\n expandItem(isExpand, index) {\n return this.ej2Instances.expandItem(isExpand, index);\n }\n hideItem(index, isHidden) {\n return this.ej2Instances.hideItem(index, isHidden);\n }\n removeItem(index) {\n return this.ej2Instances.removeItem(index);\n }\n select(index) {\n return this.ej2Instances.select(index);\n }\n};\nAccordionComponent = __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 }) End */\n], AccordionComponent);\nexport { AccordionComponent };\nexport const AccordionPlugin = {\n name: 'ejs-accordion',\n install(Vue) {\n Vue.component(AccordionPlugin.name, AccordionComponent);\n Vue.component(AccordionItemPlugin.name, AccordionItemDirective);\n Vue.component(AccordionItemsPlugin.name, AccordionItemsDirective);\n }\n};\n","var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet ItemsDirective = class ItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-items';\n }\n};\nItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], ItemsDirective);\nexport { ItemsDirective };\nexport const ItemsPlugin = {\n name: 'e-items',\n install(Vue) {\n Vue.component(ItemsPlugin.name, ItemsDirective);\n }\n};\n/**\n * 'e-item' directive represent a item of Vue Toolbar\n * It must be contained in a Toolbar component(`ejs-toolbar`).\n * ```html\n * <ejs-toolbar>\n * <e-items>\n * <e-item text='Cut'></e-item>\n * <e-item text='Copy'></e-item>\n * </e-items>\n * </ejs-toolbar>\n * ```\n */\nlet ItemDirective = class ItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-item';\n }\n};\nItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], ItemDirective);\nexport { ItemDirective };\nexport const ItemPlugin = {\n name: 'e-item',\n install(Vue) {\n Vue.component(ItemPlugin.name, ItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Toolbar } from '@syncfusion/ej2-navigations';\nimport { ItemsDirective, ItemDirective, ItemsPlugin, ItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['islazyUpdate', 'allowKeyboard', 'cssClass', 'enableCollision', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'height', 'items', 'locale', 'overflowMode', 'scrollStep', 'width', 'beforeCreate', 'clicked', 'created', 'destroyed'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the VueJS Toolbar Component.\n * ```html\n * <ejs-toolbar></ejs-toolbar>\n * ```\n */\nlet ToolbarComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass ToolbarComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-items\": \"e-item\" };\n this.tagNameMapper = {};\n this.isVue3 = !isExecute;\n this.ej2Instances = new Toolbar({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n addItems(items, index) {\n return this.ej2Instances.addItems(items, index);\n }\n disable(value) {\n return this.ej2Instances.disable(value);\n }\n enableItems(items, isEnable) {\n return this.ej2Instances.enableItems(items, isEnable);\n }\n hideItem(index, value) {\n return this.ej2Instances.hideItem(index, value);\n }\n refreshOverflow() {\n return this.ej2Instances.refreshOverflow();\n }\n removeItems(args) {\n return this.ej2Instances.removeItems(args);\n }\n};\nToolbarComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], ToolbarComponent);\nexport { ToolbarComponent };\nexport const ToolbarPlugin = {\n name: 'ejs-toolbar',\n install(Vue) {\n Vue.component(ToolbarPlugin.name, ToolbarComponent);\n Vue.component(ItemPlugin.name, ItemDirective);\n Vue.component(ItemsPlugin.name, ItemsDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { ContextMenu } from '@syncfusion/ej2-navigations';\n// {{VueImport}}\nexport const properties = ['islazyUpdate', 'animationSettings', 'cssClass', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableScrolling', 'fields', 'filter', 'hoverDelay', 'items', 'locale', 'showItemOnClick', 'target', 'template', 'beforeClose', 'beforeItemRender', 'beforeOpen', 'created', 'onClose', 'onOpen', 'select'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the Essential JS 2 VueJS ContextMenu Component.\n * ```html\n * <div id='target'>Right click / Touch hold to open the ContextMenu</div>\n * <ejs-contextmenu target='#target' :items='menuItems'></ejs-contextmenu>\n * ```\n */\nlet ContextMenuComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass ContextMenuComponent extends ComponentBase {\n constructor() {\n super(arguments);\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 ContextMenu({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('ul', slots);\n }\n close() {\n return this.ej2Instances.close();\n }\n enableItems(items, enable, isUniqueId) {\n return this.ej2Instances.enableItems(items, enable, isUniqueId);\n }\n getItemIndex(item, isUniqueId) {\n return this.ej2Instances.getItemIndex(item, isUniqueId);\n }\n hideItems(items, isUniqueId) {\n return this.ej2Instances.hideItems(items, isUniqueId);\n }\n insertAfter(items, text, isUniqueId) {\n return this.ej2Instances.insertAfter(items, text, isUniqueId);\n }\n insertBefore(items, text, isUniqueId) {\n return this.ej2Instances.insertBefore(items, text, isUniqueId);\n }\n open(top, left, target) {\n return this.ej2Instances.open(top, left, target);\n }\n removeItems(items, isUniqueId) {\n return this.ej2Instances.removeItems(items, isUniqueId);\n }\n setItem(item, id, isUniqueId) {\n return this.ej2Instances.setItem(item, id, isUniqueId);\n }\n showItems(items, isUniqueId) {\n return this.ej2Instances.showItems(items, isUniqueId);\n }\n};\nContextMenuComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], ContextMenuComponent);\nexport { ContextMenuComponent };\nexport const ContextMenuPlugin = {\n name: 'ejs-contextmenu',\n install(Vue) {\n Vue.component(ContextMenuPlugin.name, ContextMenuComponent);\n }\n};\n","var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet BreadcrumbItemsDirective = class BreadcrumbItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-breadcrumb-items';\n }\n};\nBreadcrumbItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], BreadcrumbItemsDirective);\nexport { BreadcrumbItemsDirective };\nexport const BreadcrumbItemsPlugin = {\n name: 'e-breadcrumb-items',\n install(Vue) {\n Vue.component(BreadcrumbItemsPlugin.name, BreadcrumbItemsDirective);\n }\n};\n/**\n * `e-breadcrumb-item` directive represent a item of the Vue Breadcrumb.\n * It must be contained in a Breadcrumb component(`ejs-breadcrumb`).\n * ```html\n * <ejs-breadcrumb>\n * <e-breadcrumb-items>\n * <e-breadcrumb-item text='Home' url='/'></e-breadcrumb-item>\n * <e-breadcrumb-item text='Index' url='./index'></e-breadcrumb-item>\n * </e-breadcrumb-items>\n * </ejs-breadcrumb>\n * ```\n */\nlet BreadcrumbItemDirective = class BreadcrumbItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-breadcrumb-item';\n }\n};\nBreadcrumbItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], BreadcrumbItemDirective);\nexport { BreadcrumbItemDirective };\nexport const BreadcrumbItemPlugin = {\n name: 'e-breadcrumb-item',\n install(Vue) {\n Vue.component(BreadcrumbItemPlugin.name, BreadcrumbItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Breadcrumb } from '@syncfusion/ej2-navigations';\nimport { BreadcrumbItemsDirective, BreadcrumbItemDirective, BreadcrumbItemsPlugin, BreadcrumbItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['islazyUpdate', 'activeItem', 'cssClass', 'enableActiveItemNavigation', 'enableNavigation', 'enablePersistence', 'enableRtl', 'itemTemplate', 'items', 'locale', 'maxItems', 'overflowMode', 'separatorTemplate', 'url', 'width', 'beforeItemRender', 'created', 'itemClick'];\nexport const modelProps = ['activeItem'];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the VueJS Breadcrumb Component.\n * ```html\n * <ejs-breadcrumb :items='breadcrumbItems'></ejs-breadcrumb>\n * ```\n */\nlet BreadcrumbComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass BreadcrumbComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-breadcrumb-items\": \"e-breadcrumb-item\" };\n this.tagNameMapper = { \"e-breadcrumb-items\": \"e-items\" };\n this.isVue3 = !isExecute;\n this.ej2Instances = new Breadcrumb({});\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 }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 trigger(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 let key = this.models.toString().match(/checked|value/) || [];\n let 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 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 let key = this.models.toString().match(/currentView|selectedDate/) || [];\n let 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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('nav', slots);\n }\n};\nBreadcrumbComponent = __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 }) End */\n], BreadcrumbComponent);\nexport { BreadcrumbComponent };\nexport const BreadcrumbPlugin = {\n name: 'ejs-breadcrumb',\n install(Vue) {\n Vue.component(BreadcrumbPlugin.name, BreadcrumbComponent);\n Vue.component(BreadcrumbItemPlugin.name, BreadcrumbItemDirective);\n Vue.component(BreadcrumbItemsPlugin.name, BreadcrumbItemsDirective);\n }\n};\n","var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet TabItemsDirective = class TabItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-tabitems';\n }\n};\nTabItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], TabItemsDirective);\nexport { TabItemsDirective };\nexport const TabItemsPlugin = {\n name: 'e-tabitems',\n install(Vue) {\n Vue.component(TabItemsPlugin.name, TabItemsDirective);\n }\n};\n/**\n * 'e-tabitem' directive represent a item of the Vue Tab\n * It must be contained in a Tab component(`ejs-tab`).\n * ```html\n * <ejs-tab>\n * <e-tabitems>\n * <e-tabitem :header='Header 1' :content='Content 1'></e-tabitem>\n * <e-tabitem :header='Header 2' :content='Content 2'></e-tabitem>\n * <e-tabitems>\n * </ejs-tab>\n * ```\n */\nlet TabItemDirective = class TabItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-tabitem';\n }\n};\nTabItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], TabItemDirective);\nexport { TabItemDirective };\nexport const TabItemPlugin = {\n name: 'e-tabitem',\n install(Vue) {\n Vue.component(TabItemPlugin.name, TabItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Tab } from '@syncfusion/ej2-navigations';\nimport { TabItemsDirective, TabItemDirective, TabItemsPlugin, TabItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['islazyUpdate', 'allowDragAndDrop', 'animation', 'cssClass', 'dragArea', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'headerPlacement', 'height', 'heightAdjustMode', 'items', 'loadOn', 'locale', 'overflowMode', 'scrollStep', 'selectedItem', 'showCloseButton', 'width', 'added', 'adding', 'created', 'destroyed', 'dragged', 'dragging', 'onDragStart', 'removed', 'removing', 'selected', 'selecting'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the VueJS Tab Component.\n * ```html\n * <ejs-tab></ejs-tab>\n * ```\n */\nlet TabComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass TabComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-tabitems\": \"e-tabitem\" };\n this.tagNameMapper = { \"e-tabitems\": \"e-items\" };\n this.isVue3 = !isExecute;\n this.ej2Instances = new Tab({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n addTab(items, index) {\n return this.ej2Instances.addTab(items, index);\n }\n disable(value) {\n return this.ej2Instances.disable(value);\n }\n enableTab(index, value) {\n return this.ej2Instances.enableTab(index, value);\n }\n getItemIndex(tabItemId) {\n return this.ej2Instances.getItemIndex(tabItemId);\n }\n hideTab(index, value) {\n return this.ej2Instances.hideTab(index, value);\n }\n refresh() {\n return this.ej2Instances.refresh();\n }\n refreshActiveTab() {\n return this.ej2Instances.refreshActiveTab();\n }\n removeTab(index) {\n return this.ej2Instances.removeTab(index);\n }\n select(args, event) {\n return this.ej2Instances.select(args, event);\n }\n};\nTabComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], TabComponent);\nexport { TabComponent };\nexport const TabPlugin = {\n name: 'ejs-tab',\n install(Vue) {\n Vue.component(TabPlugin.name, TabComponent);\n Vue.component(TabItemPlugin.name, TabItemDirective);\n Vue.component(TabItemsPlugin.name, TabItemsDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { TreeView } from '@syncfusion/ej2-navigations';\n// {{VueImport}}\nexport const properties = ['islazyUpdate', 'allowDragAndDrop', 'allowEditing', 'allowMultiSelection', 'animation', 'autoCheck', 'checkedNodes', 'cssClass', 'disabled', 'dragArea', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'expandOn', 'expandedNodes', 'fields', 'fullRowNavigable', 'fullRowSelect', 'loadOnDemand', 'locale', 'nodeTemplate', 'selectedNodes', 'showCheckBox', 'sortOrder', 'actionFailure', 'created', 'dataBound', 'dataSourceChanged', 'destroyed', 'drawNode', 'keyPress', 'nodeChecked', 'nodeChecking', 'nodeClicked', 'nodeCollapsed', 'nodeCollapsing', 'nodeDragStart', 'nodeDragStop', 'nodeDragging', 'nodeDropped', 'nodeEdited', 'nodeEditing', 'nodeExpanded', 'nodeExpanding', 'nodeSelected', 'nodeSelecting'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the EJ2 VueJS TreeView Component.\n * ```html\n * <ejs-treeview></ejs-treeview>\n * ```\n */\nlet TreeViewComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass TreeViewComponent extends ComponentBase {\n constructor() {\n super(arguments);\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 TreeView({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n addNodes(nodes, target, index, preventTargetExpand) {\n return this.ej2Instances.addNodes(nodes, target, index, preventTargetExpand);\n }\n beginEdit(node) {\n return this.ej2Instances.beginEdit(node);\n }\n checkAll(nodes) {\n return this.ej2Instances.checkAll(nodes);\n }\n collapseAll(nodes, level, excludeHiddenNodes) {\n return this.ej2Instances.collapseAll(nodes, level, excludeHiddenNodes);\n }\n disableNodes(nodes) {\n return this.ej2Instances.disableNodes(nodes);\n }\n enableNodes(nodes) {\n return this.ej2Instances.enableNodes(nodes);\n }\n ensureVisible(node) {\n return this.ej2Instances.ensureVisible(node);\n }\n expandAll(nodes, level, excludeHiddenNodes) {\n return this.ej2Instances.expandAll(nodes, level, excludeHiddenNodes);\n }\n getAllCheckedNodes() {\n return this.ej2Instances.getAllCheckedNodes();\n }\n getDisabledNodes() {\n return this.ej2Instances.getDisabledNodes();\n }\n getNode(node) {\n return this.ej2Instances.getNode(node);\n }\n getTreeData(node) {\n return this.ej2Instances.getTreeData(node);\n }\n moveNodes(sourceNodes, target, index, preventTargetExpand) {\n return this.ej2Instances.moveNodes(sourceNodes, target, index, preventTargetExpand);\n }\n refreshNode(target, newData) {\n return this.ej2Instances.refreshNode(target, newData);\n }\n removeNodes(nodes) {\n return this.ej2Instances.removeNodes(nodes);\n }\n uncheckAll(nodes) {\n return this.ej2Instances.uncheckAll(nodes);\n }\n updateNode(target, newText) {\n return this.ej2Instances.updateNode(target, newText);\n }\n};\nTreeViewComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], TreeViewComponent);\nexport { TreeViewComponent };\nexport const TreeViewPlugin = {\n name: 'ejs-treeview',\n install(Vue) {\n Vue.component(TreeViewPlugin.name, TreeViewComponent);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Sidebar } from '@syncfusion/ej2-navigations';\n// {{VueImport}}\nexport const properties = ['islazyUpdate', 'animate', 'closeOnDocumentClick', 'dockSize', 'enableDock', 'enableGestures', 'enablePersistence', 'enableRtl', 'height', 'isOpen', 'locale', 'mediaQuery', 'position', 'showBackdrop', 'target', 'type', 'width', 'zIndex', 'change', 'close', 'created', 'destroyed', 'open'];\nexport const modelProps = ['isOpen'];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the Essential JS 2 VueJS Sidebar Component.\n * ```html\n * <ejs-sidebar></ejs-sidebar>\n * ```\n */\nlet SidebarComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass SidebarComponent extends ComponentBase {\n constructor() {\n super(arguments);\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 Sidebar({});\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 }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 trigger(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 let key = this.models.toString().match(/checked|value/) || [];\n let 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 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 let key = this.models.toString().match(/currentView|selectedDate/) || [];\n let 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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('div', slots);\n }\n hide(e) {\n return this.ej2Instances.hide(e);\n }\n show(e) {\n return this.ej2Instances.show(e);\n }\n toggle() {\n return this.ej2Instances.toggle();\n }\n};\nSidebarComponent = __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 }) End */\n], SidebarComponent);\nexport { SidebarComponent };\nexport const SidebarPlugin = {\n name: 'ejs-sidebar',\n install(Vue) {\n Vue.component(SidebarPlugin.name, SidebarComponent);\n }\n};\n","var __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 { EJComponentDecorator, allVue, gh } from '@syncfusion/ej2-vue-base';\nimport * as Vue3 from 'vue-class-component';\nimport Vue from 'vue';\nexport const isExecute = gh ? false : true;\nlet vueImport;\nif (!isExecute || parseInt(allVue.version) < 3) {\n vueImport = Vue3.Vue;\n}\nelse {\n vueImport = Vue;\n}\nlet MenuItemsDirective = class MenuItemsDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-menu-items';\n }\n};\nMenuItemsDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], MenuItemsDirective);\nexport { MenuItemsDirective };\nexport const MenuItemsPlugin = {\n name: 'e-menu-items',\n install(Vue) {\n Vue.component(MenuItemsPlugin.name, MenuItemsDirective);\n }\n};\nlet MenuItemDirective = class MenuItemDirective extends vueImport {\n render() {\n return;\n }\n getTag() {\n return 'e-';\n }\n};\nMenuItemDirective = __decorate([\n EJComponentDecorator({}, isExecute)\n], MenuItemDirective);\nexport { MenuItemDirective };\nexport const MenuItemPlugin = {\n name: 'e-',\n install(Vue) {\n Vue.component(MenuItemPlugin.name, MenuItemDirective);\n }\n};\n","var __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 } from '@syncfusion/ej2-vue-base';\nimport { isNullOrUndefined, getValue } from '@syncfusion/ej2-base';\nimport { Menu } from '@syncfusion/ej2-navigations';\nimport { MenuItemsDirective, MenuItemDirective, MenuItemsPlugin, MenuItemPlugin } from './items.directive';\n// {{VueImport}}\nexport const properties = ['islazyUpdate', 'animationSettings', 'cssClass', 'enableHtmlSanitizer', 'enablePersistence', 'enableRtl', 'enableScrolling', 'fields', 'filter', 'hamburgerMode', 'hoverDelay', 'items', 'locale', 'orientation', 'showItemOnClick', 'target', 'template', 'title', 'beforeClose', 'beforeItemRender', 'beforeOpen', 'created', 'onClose', 'onOpen', 'select'];\nexport const modelProps = [];\nexport const testProp = getProps({ props: properties });\nexport const props = testProp[0];\nexport const watch = testProp[1];\nexport const emitProbs = Object.keys(watch);\nemitProbs.push('modelchanged');\nfor (let props of modelProps) {\n emitProbs.push('update:' + props);\n}\nexport const isExecute = gh ? false : true;\n/**\n * Represents the Essential JS 2 VueJS Menu Component.\n * ```html\n * <ejs-menu :items='menuItems'></ejs-menu>\n * ```\n */\nlet MenuComponent = \n/* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n}) End */\nclass MenuComponent extends ComponentBase {\n constructor() {\n super(arguments);\n this.propKeys = properties;\n this.models = modelProps;\n this.hasChildDirective = true;\n this.hasInjectedModules = false;\n this.tagMapper = { \"e-menu-items\": \"e-\" };\n this.tagNameMapper = { \"e-menu-items\": \"e-items\" };\n this.isVue3 = !isExecute;\n this.ej2Instances = new Menu({});\n this.bindProperties();\n this.ej2Instances._setProperties = this.ej2Instances.setProperties;\n this.ej2Instances.setProperties = this.setProperties;\n this.ej2Instances.clearTemplate = this.clearTemplate;\n }\n clearTemplate(templateNames) {\n if (!templateNames) {\n templateNames = Object.keys(this.templateCollection || {});\n }\n if (templateNames.length && this.templateCollection) {\n for (let tempName of templateNames) {\n let elementCollection = this.templateCollection[tempName];\n if (elementCollection && elementCollection.length) {\n for (let ele of elementCollection) {\n let 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 setProperties(prop, muteOnChange) {\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((key) => {\n this.models.map((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 render(createElement) {\n let h = gh || createElement;\n let slots = null;\n if (!isNullOrUndefined(this.$slots.default)) {\n slots = gh ? this.$slots.default() : this.$slots.default;\n }\n return h('ul', slots);\n }\n close() {\n return this.ej2Instances.close();\n }\n enableItems(items, enable, isUniqueId) {\n return this.ej2Instances.enableItems(items, enable, isUniqueId);\n }\n getItemIndex(item, isUniqueId) {\n return this.ej2Instances.getItemIndex(item, isUniqueId);\n }\n hideItems(items, isUniqueId) {\n return this.ej2Instances.hideItems(items, isUniqueId);\n }\n insertAfter(items, text, isUniqueId) {\n return this.ej2Instances.insertAfter(items, text, isUniqueId);\n }\n insertBefore(items, text, isUniqueId) {\n return this.ej2Instances.insertBefore(items, text, isUniqueId);\n }\n open() {\n return this.ej2Instances.open();\n }\n removeItems(items, isUniqueId) {\n return this.ej2Instances.removeItems(items, isUniqueId);\n }\n setItem(item, id, isUniqueId) {\n return this.ej2Instances.setItem(item, id, isUniqueId);\n }\n showItems(items, isUniqueId) {\n return this.ej2Instances.showItems(items, isUniqueId);\n }\n};\nMenuComponent = __decorate([\n EJComponentDecorator({\n props: properties\n }, isExecute)\n /* Start Options({\n props: props,\n watch: watch,\n emits: emitProbs\n }) End */\n], MenuComponent);\nexport { MenuComponent };\nexport const MenuPlugin = {\n name: 'ejs-menu',\n install(Vue) {\n Vue.component(MenuPlugin.name, MenuComponent);\n Vue.component(MenuItemPlugin.name, MenuItemDirective);\n Vue.component(MenuItemsPlugin.name, MenuItemsDirective);\n }\n};\n"],"names":["this","Vue3.Vue","Vue","__decorate","isExecute","vueImport","properties","modelProps","testProp","props","watch","emitProbs"],"mappings":"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"}