@syncfusion/ej2-angular-base 19.3.55 → 19.3.60

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 (52) hide show
  1. package/.github/PULL_REQUEST_TEMPLATE/bug.md +60 -0
  2. package/.github/PULL_REQUEST_TEMPLATE/feature.md +37 -0
  3. package/CHANGELOG.md +80 -11
  4. package/dist/ej2-angular-base.umd.min.js +1 -10
  5. package/dist/ej2-angular-base.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-angular-base.es2015.js +122 -33
  7. package/dist/es6/ej2-angular-base.es2015.js.map +1 -1
  8. package/dist/es6/ej2-angular-base.es5.js +130 -36
  9. package/dist/es6/ej2-angular-base.es5.js.map +1 -1
  10. package/dist/global/ej2-angular-base.min.js +1 -10
  11. package/dist/global/ej2-angular-base.min.js.map +1 -1
  12. package/dist/global/index.d.ts +0 -9
  13. package/package.json +71 -82
  14. package/schematics/generators/component-builder.js +14 -14
  15. package/schematics/generators/template/schema.json +1 -1
  16. package/schematics/ng-add/index.js +2 -2
  17. package/schematics/ng-add/schema.json +1 -1
  18. package/schematics/ng-add/theme.js +5 -4
  19. package/schematics/utils/get-project.js +3 -0
  20. package/schematics/utils/helpers/helpers.d.ts +1 -1
  21. package/schematics/utils/project-style-file.js +2 -2
  22. package/src/complex-array-base.js +14 -5
  23. package/src/component-base.js +76 -19
  24. package/src/form-base.d.ts +2 -1
  25. package/src/form-base.js +12 -3
  26. package/src/template.js +7 -2
  27. package/src/util.js +21 -7
  28. package/styles/bootstrap-dark.scss +1 -1
  29. package/styles/bootstrap.scss +1 -1
  30. package/styles/bootstrap4.scss +1 -1
  31. package/styles/bootstrap5-dark.scss +1 -1
  32. package/styles/bootstrap5.scss +1 -1
  33. package/styles/fabric-dark.scss +1 -1
  34. package/styles/fabric.scss +1 -1
  35. package/styles/fluent-dark.css +0 -0
  36. package/styles/fluent-dark.scss +1 -0
  37. package/styles/fluent.css +0 -0
  38. package/styles/fluent.scss +1 -0
  39. package/styles/highcontrast-light.scss +1 -1
  40. package/styles/highcontrast.scss +1 -1
  41. package/styles/material-dark.css +0 -1
  42. package/styles/material-dark.scss +1 -1
  43. package/styles/material.css +0 -1
  44. package/styles/material.scss +1 -1
  45. package/styles/material3-dark.css +54 -0
  46. package/styles/material3-dark.scss +1 -0
  47. package/styles/material3.css +110 -0
  48. package/styles/material3.scss +1 -0
  49. package/styles/tailwind-dark.css +0 -1
  50. package/styles/tailwind-dark.scss +1 -1
  51. package/styles/tailwind.css +0 -1
  52. package/styles/tailwind.scss +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ej2-angular-base.min.js","sources":["../../src/util.js","../../src/template.js","../../src/complex-array-base.js","../../src/component-base.js","../../src/form-base.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!derivedClass.prototype.hasOwnProperty(name) || baseClass.isFormBase) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[event_1] = new EventEmitter(false);\n obj[event_1] = obj.propCollection[event_1];\n }\n else {\n ngEventsEmitter[event_1] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n for (var _i = 0, _a = (regProperties && regProperties || regTemplates); _i < _a.length; _i++) {\n var registeredTemplate = _a[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n var rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (var _b = 0, _c = _this.registeredTemplate[registeredTemplate]; _b < _c.length; _b++) {\n var rt = _c[_b];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _d = 0, _e = _this.tagObjects; _d < _e.length; _d++) {\n var tagObject = _e[_d];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string') {\n return stringCompiler(templateEle, helper);\n }\n else {\n var contRef_1 = templateEle.elementRef.nativeElement._viewContainerRef;\n var pName_1 = templateEle.elementRef.nativeElement.propName;\n //tslint:disable-next-line \n return function (data, component, propName) {\n var context = { $implicit: data };\n /* istanbul ignore next */\n var conRef = contRef_1 ? contRef_1 : component.viewContainerRef;\n var viewRef = conRef.createEmbeddedView(templateEle, context);\n viewRef.markForCheck();\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp.elementRef && !getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', tempProp, this);\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[k];\n if (propList.indexOf(dirPropName) !== -1 && getValue(dirPropName, this)) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[propName];\n this.propCollection[propName] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[d]])) {\n var val = getValue(props[d], this);\n var propVal = this.propCollection[this.property][0][props[d]];\n if (!isNullOrUndefined(val) && this.propCollection[props[d]] !== val\n && propVal !== val) {\n setValue(props[d], val, this.propCollection[this.property][0]);\n setValue(props[d], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n // tslint:disable-next-line\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[i].propCollection.dataSource) {\n if (this.list[i].dataSource && this.list[i].propCollection.dataSource !== this.list[i].dataSource) {\n this.list[i].propCollection.dataSource = this.list[i].dataSource;\n this.list[i].hasChanges = true;\n }\n isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n return new RegExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar SVG_REG = /^svg|^path|^g/;\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n //tslint:disable-next-line\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _i = 0, templateProperties_1 = templateProperties; _i < templateProperties_1.length; _i++) {\n var tempName = templateProperties_1[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName + 'Ref', tempAfterViewThis), tempAfterViewThis);\n }\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n setTimeout(function () {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && document.body.contains(tempAfterViewThis.element)) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n });\n };\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(function () {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n tempOnDestroyThis.ngBoundedEvents = {};\n tempOnDestroyThis.tagObjects = {};\n tempOnDestroyThis.ngEle = null;\n }\n });\n };\n //tslint:disable-next-line\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n if (tagObject.instance.isInitChanges) {\n var propObj = {};\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n for (var i = 0; i < tagObject.instance.list[h].tags.length; i++) {\n var tag = tagObject.instance.list[h].tags[i];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n if (innerchildObj) {\n for (var j = 0; j < innerchildObj.list.length; j++) {\n var innerTag = innerchildObj.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchildObj.list[j]);\n if (innerchildTag) {\n innerchildObj.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });\n }\n }\n }\n }\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n }\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (tempAfterContentThis.getModuleName() === 'diagram')) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0 && /chart/.test(tempAfterContentThis.getModuleName())) {\n for (var _d = 0, complexTemplates_2 = complexTemplates; _d < complexTemplates_2.length; _d++) {\n var complexPropName = complexTemplates_2[_d];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[complexPropName];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_1 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_1(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n //tslint:disable-next-line\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n //tslint:disable-next-line\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n // tslint:disable-next-line:no-any\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n // setTimeout(() => {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n // });\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n if (value === null) {\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n"],"names":["applyMixins","derivedClass","baseClass","forEach","Object","getOwnPropertyNames","prototype","name","hasOwnProperty","isFormBase","ComponentMixins","registerEvents","eventList","obj","direct","ngEventsEmitter","length","_i","eventList_1","event_1","propCollection","EventEmitter","setProperties","clearTemplate","_this","templateNames","index","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","_a","e","m","template","rootNodes","rt","destroy","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","value","object","replace","split","fromObj","i","key","undefined","compile","templateEle","helper","stringCompiler","contRef_1","elementRef","nativeElement","_viewContainerRef","pName_1","propName","data","component","context","$implicit","conRef","viewContainerRef","viewRef","createEmbeddedView","markForCheck","viewCollection","getValue","push","Template","defaultValue","target","propertyDescriptor","set","setter","get","getter","enumerable","configurable","defineProperty","this","saveChanges","dataBind","refRegex","ComplexBase","hasChanges","dataSource","tags","ngOnInit","tag","objInstance","substring","toUpperCase","templateProperties","tempProp","indexOf","templateProperties_1","propList","directivePropList","k","dirPropName","isInitChanges","ngOnChanges","changes","changedVal","currentValue","isUpdated","getProperties","isChanged","result","property","tempProps","props","d","propVal","item","ngAfterContentChecked","templateProperties_2","ngAfterViewChecked","ngAfterViewInit","ngOnDestroy","ArrayBase","propertyName","list","ngAfterContentInit","children","map","child","dirIndex","onlyProp","isSourceChanged","childrenDataSource","JSON","stringify","hasNewChildren","ComponentBase","isProtectedOnChange","isFormInit","newValue","oldValue","oldProperties","changedProperties","finalUpdate","changeTime","setTimeout","bind","clearUpdate","clearTimeout","isTempRef","tempOnThis","ngBoundedEvents","isAngular","complexTemplate","ngAttr","getAngularAttr","element","createElement","tagName","prop","ele","srenderer","innerHTML","className","id","styles","setAttribute","attrs","attributes","complexTemplates","complexTemplates_1","ngAr","tempAfterViewThis","ngEle","outerHTML","style","visibility","window","document","body","contains","appendTo","tempOnDestroyThis","classList","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","getModuleName","compDirPropList","h","complexPropName","childObj","innerchildObj","j","innerTag","innerchildTag","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","this_1","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","removeEventListener","unsubscribe","trigger","eventArgs","success","prevDetection","next","localEventObj","charAt","slice","call","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","optionalValue","registerOnChange","registerFunction","registerOnTouched","inputElement","tempFormAfterViewThis","ngOnFocus","ngOnBlur","setDisabledState","disabled","enabled","writeValue","regExp","skipFromEvent","focus","blur","getTemplateEngine","setTemplateEngine"],"mappings":"oEAMA,SAAgBA,GAAYC,EAAcC,GACtCA,EAAUC,QAAQ,SAAUD,GACxBE,OAAOC,oBAAoBH,EAAUI,WAAWH,QAAQ,SAAUI,GACzDN,EAAaK,UAAUE,eAAeD,KAASL,EAAUO,aAC1DR,EAAaK,UAAUC,GAAQL,EAAUI,UAAUC,QAMnE,QAAgBG,GAAgBR,GAC5B,MAAO,UAAUD,GACbD,EAAYC,EAAcC,IAMlC,QAAgBS,GAAeC,EAAWC,EAAKC,GAC3C,GAAIC,KACJ,IAAIH,GAAaA,EAAUI,OAAQ,CAC/B,IAAK,GAAIC,GAAK,EAAGC,EAAcN,EAAWK,EAAKC,EAAYF,OAAQC,IAAM,CACrE,GAAIE,GAAUD,EAAYD,IACX,IAAXH,GACAD,EAAIO,eAAeD,GAAW,GAAIE,iBAAa,GAC/CR,EAAIM,GAAWN,EAAIO,eAAeD,IAGlCJ,EAAgBI,GAAW,GAAIE,iBAAa,IAGrC,IAAXP,GACAD,EAAIS,cAAcP,GAAiB,IAO/C,QAAgBQ,GAAcC,EAAOC,EAAeC,GAChD,GAAIC,GAAevB,OAAOwB,KAAKJ,EAAMK,mBACrC,IAAIF,EAAaX,OAKb,IAAK,GAHDc,GAAgBL,GAAiBA,EAAcM,OAAO,SAAUC,GAChE,OAAQ,MAAMC,KAAKD,KAEdf,EAAK,EAAGiB,EAAMJ,GAAiBA,GAAiBH,EAAeV,EAAKiB,EAAGlB,OAAQC,IAAM,CAC1F,GAAIY,GAAqBK,EAAGjB,EAE5B,IAAIS,GAASA,EAAMV,OACf,IAAK,GAAImB,GAAI,EAAGA,EAAIT,EAAMV,OAAQmB,IAC9B,IAASC,EAAI,EAAGA,EAAIZ,EAAMK,mBAAmBQ,SAASrB,OAAQoB,IAC9CZ,EAAMK,mBAAmBQ,SAASD,GAAGE,UAAU,KAC7CZ,EAAMS,KACZI,EAAKf,EAAMK,mBAAmBA,IAC/BO,GAAGI,cAMlB,IAAIhB,EAAMK,mBAAmBA,GACzB,IAAK,GAAIY,GAAK,EAAGC,EAAKlB,EAAMK,mBAAmBA,GAAqBY,EAAKC,EAAG1B,OAAQyB,IAAM,CACtF,GAAIF,GAAKG,EAAGD,EACZ,KAAKF,EAAGI,UAAW,CACf,GAAIJ,EAAGK,MAAO,CACV,GAAIC,GAAQN,EAAGK,MAAME,SAASC,WAAWR,EAAGD,UAAU,GACtD,KAAKU,oBAAkBH,GACnB,IAAK,GAAIT,GAAI,EAAGA,EAAIG,EAAGD,UAAUtB,OAAQoB,IACrCS,EAAMI,YAAYV,EAAGD,UAAUF,IAI3CG,EAAGC,iBAKZhB,GAAMK,mBAAmBA,GAWxC,IAAK,GAAIqB,GAAK,EAAGC,EAAK3B,EAAM4B,WAAYF,EAAKC,EAAGnC,OAAQkC,KAR1C,SAAUG,GAChBA,EAAUC,UAEVD,EAAUC,SAAS/B,cAAeE,GAAiBA,EAAcM,OAAO,SAAUC,GAC9E,QAAQ,GAAIuB,QAAOF,EAAU9C,MAAM0B,KAAKD,OAKhCmB,EAAGD,IAY3B,QAAgBM,GAASC,EAAWC,EAAOC,GAIvC,IAAK,GAHD/B,GAAO6B,EAAUG,QAAQ,MAAO,KAAKA,QAAQ,MAAO,IAAIC,MAAM,KAE9DC,EAAUH,MACLI,EAAI,EAAGA,EAAInC,EAAKZ,OAAQ+C,IAAK,CAClC,GAAIC,GAAMpC,EAAKmC,EACXA,GAAI,IAAMnC,EAAKZ,OACf8C,EAAQE,OAAiBC,KAAVP,KAA2BA,MAEpBO,KAAjBH,EAAQE,KACbF,EAAQE,OAEZF,EAAUA,EAAQE,GAEtB,MAAOF,GCpHX,QAAgBI,GAAQC,EAAaC,GACjC,GAA2B,gBAAhBD,GACP,MAAOE,GAAeF,EAAaC,EAGnC,IAAIE,GAAYH,EAAYI,WAAWC,cAAcC,kBACjDC,EAAUP,EAAYI,WAAWC,cAAcG,QAEnD,OAAO,UAAUC,EAAMC,EAAWF,GAC9B,GAAIG,IAAYC,UAAWH,GAEvBI,EAASV,GAAwBO,EAAUI,iBAC3CC,EAAUF,EAAOG,mBAAmBhB,EAAaW,EACrDI,GAAQE,cAER,IAAIC,GAAkBR,GAAaA,EAAUhD,mBACzCgD,EAAUhD,mBAAqByD,WAAS,qCAAsCN,EAMlF,OALAL,GAAYA,GAAYE,EAAUhD,mBAAsB8C,EAAWD,MAC3B,KAA7BW,EAAeV,KACtBU,EAAeV,OAEnBU,EAAeV,GAAUY,KAAKL,GACvBA,EAAQ5C,WAO3B,QAAgBkD,GAASC,GACrB,MAAO,UAAUC,EAAQ1B,GACrB,GAAI2B,IACAC,IAAKC,EAAO7B,GACZ8B,IAAKC,EAAO/B,EAAKyB,GACjBO,YAAY,EACZC,cAAc,EAElB7F,QAAO8F,eAAeR,EAAQ1B,EAAK2B,IAG3C,QAASE,GAAO7B,GACZ,MAAO,UAAUhC,OACDiC,KAARjC,IAGJwB,WAASQ,EAAM,MAAOhC,EAAKmE,MACR,gBAARnE,IACPA,EAAIuC,WAAWC,cAAcC,kBAAoB0B,KAAKlB,iBACtDjD,EAAIuC,WAAWC,cAAcG,SAAWX,GAGpCmC,KAAKC,cACLD,KAAKC,YAAYpC,EAAKhC,MAAKiC,IAC3BkC,KAAKE,cAKrB,QAASN,GAAO/B,EAAKyB,GACjB,MAAO,YAEH,MAAOH,YAAStB,EAAM,MAAOmC,OAASV,GCjE9C,GAAIa,GAAW,OACXC,EAA6B,WAC7B,QAASA,KACLJ,KAAKK,YAAa,EAClBL,KAAK/E,kBACL+E,KAAKM,cACLN,KAAKO,QACLP,KAAK/C,cAwHT,MAtHAmD,GAAYjG,UAAUqG,SAAW,WAC7BR,KAAKtE,qBACL,KAAK,GAAIZ,GAAK,EAAGiB,EAAKiE,KAAKO,KAAMzF,EAAKiB,EAAGlB,OAAQC,IAAM,CACnD,GAAI2F,GAAM1E,EAAGjB,GACT4F,EAAcvB,WAAS,QAAUsB,EAAIE,UAAU,EAAG,GAAGC,cAAgBH,EAAIE,UAAU,GAAIX,KACvFU,IACAV,KAAK/C,WAAWmC,MAAOjC,SAAUuD,EAAatG,KAAMqG,IAI5D,IAAK,GADDI,GAAqB5G,OAAOwB,KAAKuE,MAC5BpC,EAAI,EAAGA,EAAIiD,EAAmBhG,OAAQ+C,IAAK,CAChD,GAAIkD,GAAW3B,WAAS0B,EAAmBjD,GAAIoC,KACvB,iBAAbc,IAAyBA,EAAS1C,aAAee,YAAmD,IAA1C0B,EAAmBjD,GAAGmD,QAAQ,OAAgBF,EAAmBjD,GAAKiD,EAAmBjD,GAAK,MAAOoC,OACtK3C,YAAmD,IAA1CwD,EAAmBjD,GAAGmD,QAAQ,OAAgBF,EAAmBjD,GAAKiD,EAAmBjD,GAAK,MAAOkD,EAAUd,MAOhI,IAAK,GAAI1D,GAAK,EAAG0E,EAHjBH,GADAA,EAAqB5G,OAAOwB,KAAKuE,OACOpE,OAAO,SAAUC,GACrD,MAAO,QAAQC,KAAKD,KAEoCS,EAAK0E,EAAqBnG,OAAQyB,IAAM,CAChG,GACIkC,GADWwC,EAAqB1E,GACZmB,QAAQ,MAAO,GACvCJ,YAASmB,EAASf,QAAQ,IAAK,KAAM0B,WAASX,EAAUwB,MAAOA,KAAK/E,gBAIxE,GAAIgG,GAAWhH,OAAOwB,KAAKuE,KAE3B,IAAIA,KAAKkB,kBAAmB,CACxB,IAAK,GAAIC,GAAI,EAAGA,EAAInB,KAAKkB,kBAAkBrG,OAAQsG,IAAK,CACpD,GAAIC,GAAcpB,KAAKkB,kBAAkBC,IACF,IAAnCF,EAASF,QAAQK,IAAuBjC,WAASiC,EAAapB,OAC9D3C,WAAS+D,EAAajC,WAASiC,EAAapB,MAAOA,KAAK/E,gBAGhE+E,KAAKK,YAAa,EAEtBL,KAAKqB,eAAgB,GAEzBjB,EAAYjG,UAAUK,eAAiB,SAAUC,GAC7CD,EAAeC,EAAWuF,MAAM,IAEpCI,EAAYjG,UAAUmH,YAAc,SAAUC,GAC1C,IAAK,GAAIzG,GAAK,EAAGiB,EAAK9B,OAAOwB,KAAK8F,GAAUzG,EAAKiB,EAAGlB,OAAQC,IAAM,CAC9D,GAAI0D,GAAWzC,EAAGjB,GACd0G,EAAaD,EAAQ/C,EACzBwB,MAAK/E,eAAeuD,GAAYgD,EAAWC,aAE/CzB,KAAK0B,WAAY,EACjB1B,KAAKK,YAAa,GAGtBD,EAAYjG,UAAUiB,cAAgB,SAAUE,GAC5CF,EAAc4E,KAAM1E,IAExB8E,EAAYjG,UAAUwH,cAAgB,WAElC,IAAK,GAAI7G,GAAK,EAAGiB,EAAKiE,KAAK/C,WAAYnC,EAAKiB,EAAGlB,OAAQC,IAAM,CACzD,GAAIoC,GAAYnB,EAAGjB,EACnBkF,MAAK/E,eAAeiC,EAAU9C,MAAQ8C,EAAUC,SAASwE,gBAE7D,MAAO3B,MAAK/E,gBAEhBmF,EAAYjG,UAAUyH,UAAY,WAC9B,GAAIC,GAAS7B,KAAKK,UAClB,KAAKxD,oBAAkBmD,KAAK/E,eAAe+E,KAAK8B,WAG5C,IAAK,GAFDC,GAAY/B,KAAK/E,eAAe+E,KAAK8B,UACrCE,EAAQ/H,OAAOwB,KAAKsG,EAAU,IACzBE,EAAI,EAAGA,EAAID,EAAMnH,OAAQoH,IAC9B,IAAKpF,oBAAkBmD,KAAK/E,eAAe+G,EAAMC,KAAM,CACnD,GAAIpG,GAAMsD,WAAS6C,EAAMC,GAAIjC,MACzBkC,EAAUlC,KAAK/E,eAAe+E,KAAK8B,UAAU,GAAGE,EAAMC,GACrDpF,qBAAkBhB,IAAQmE,KAAK/E,eAAe+G,EAAMC,MAAQpG,GAC1DqG,IAAYrG,IACfwB,WAAS2E,EAAMC,GAAIpG,EAAKmE,KAAK/E,eAAe+E,KAAK8B,UAAU,IAC3DzE,WAAS2E,EAAMC,GAAIpG,EAAKmE,KAAK/E,gBAC7B+E,KAAKK,YAAa,EAClBL,KAAK0B,WAAY,GAMjC,IAAK,GAAI5G,GAAK,EAAGiB,EAAKiE,KAAK/C,WAAYnC,EAAKiB,EAAGlB,OAAQC,IAAM,CACzD,GAAIqH,GAAOpG,EAAGjB,EACd+G,GAASA,GAAUM,EAAKhF,SAASkD,WAErC,MAAOwB,IAAU7B,KAAKK,YAE1BD,EAAYjG,UAAUiI,sBAAwB,WAE1C,GADApC,KAAKK,WAAaL,KAAK4B,YACnB5B,KAAKqB,eAAiBrB,KAAKK,WAK3B,IAAK,GAJDQ,GAAqB5G,OAAOwB,KAAKuE,MAI5BlF,EAAK,EAAGuH,EAHjBxB,EAAqBA,EAAmBjF,OAAO,SAAUC,GACrD,MAAOsE,GAASrE,KAAKD,KAEmCf,EAAKuH,EAAqBxH,OAAQC,IAAM,CAChG,GACI0D,GADW6D,EAAqBvH,GACZ2C,QAAQ,MAAO,GACvCJ,YAASmB,EAASf,QAAQ,IAAK,KAAM0B,WAASX,EAAUwB,MAAOA,KAAK/E,kBAIhFmF,EAAYjG,UAAUmI,mBAAqB,WAEnCtC,KAAK0B,YACL1B,KAAKK,YAAa,IAG1BD,EAAYjG,UAAUoI,gBAAkB,WAEpCvC,KAAKqB,eAAgB,GAEzBjB,EAAYjG,UAAUqI,YAAc,WAEhCxC,KAAKkB,sBAEFd,KAGPqC,EAA2B,WAC3B,QAASA,GAAUC,GACf1C,KAAK2C,QACL3C,KAAKK,YAAa,EAClBL,KAAK0C,aAAeA,EAsFxB,MApFAD,GAAUtI,UAAUqG,SAAW,WAC3BR,KAAKqB,eAAgB,GAEzBoB,EAAUtI,UAAUyI,mBAAqB,WACrC,GAAIvH,GAAQ2E,KACRzE,EAAQ,CAEZyE,MAAK2C,KAAO3C,KAAK6C,SAASC,IAAI,SAAUC,GAGpC,MAFAA,GAAMC,SAAWzH,IACjBwH,EAAMjB,SAAWzG,EAAMqH,aAChBK,IAEX/C,KAAKK,YAAa,GAEtBoC,EAAUtI,UAAUwH,cAAgB,WAEhC,IAAK,GADDsB,MACKnI,EAAK,EAAGiB,EAAKiE,KAAK2C,KAAM7H,EAAKiB,EAAGlB,OAAQC,IAAM,CACnD,GAAIqH,GAAOpG,EAAGjB,EACdmI,GAAS7D,KAAK+C,EAAKR,iBAEvB,MAAOsB,IAEXR,EAAUtI,UAAUyH,UAAY,WAC5B,GAAIvG,GAAQ2E,KACR6B,GAAS,EACTtG,EAAQ,EACR2H,GAAkB,EAElBC,EAAqBnD,KAAK6C,SAASC,IAAI,SAAUC,GACjD,MAAOA,IAGX,IAAI/C,KAAK2C,KAAK9H,SAAWmF,KAAK6C,SAAShI,OACnC,IAAK,GAAI+C,GAAI,EAAGA,EAAIoC,KAAK2C,KAAK9H,OAAQ+C,IAC9BoC,KAAK2C,KAAK/E,GAAG3C,eAAeqF,aACxBN,KAAK2C,KAAK/E,GAAG0C,YAAcN,KAAK2C,KAAK/E,GAAG3C,eAAeqF,aAAeN,KAAK2C,KAAK/E,GAAG0C,aACnFN,KAAK2C,KAAK/E,GAAG3C,eAAeqF,WAAaN,KAAK2C,KAAK/E,GAAG0C,WACtDN,KAAK2C,KAAK/E,GAAGyC,YAAa,GAE9B6C,EAAmBE,KAAKC,UAAUrD,KAAK2C,KAAK/E,GAAG3C,eAAeqF,cAC1D8C,KAAKC,UAAUF,EAAmBvF,GAAG3C,eAAeqF,YAIpEN,MAAKsD,iBAAkBtD,KAAK2C,KAAK9H,SAAWmF,KAAK6C,SAAShI,SAAUqI,IAA0B,KAC1FlD,KAAKsD,iBACLtD,KAAK2C,KAAO3C,KAAK6C,SAASC,IAAI,SAAUC,GAGpC,MAFAA,GAAMC,SAAWzH,IACjBwH,EAAMjB,SAAWzG,EAAMqH,aAChBK,IAIf,KAAK,GAAIjI,GAAK,EAAGiB,EAAKiE,KAAK2C,KAAM7H,EAAKiB,EAAGlB,OAAQC,IAAM,CACnD,GAAIqH,GAAOpG,EAAGjB,EACd+G,GAASA,GAAUM,EAAK9B,WAE5B,QAASL,KAAK2C,KAAK9H,QAAUgH,GAEjCY,EAAUtI,UAAUiB,cAAgB,SAAUE,GAG1C,IAAK,GAFDD,GAAQ2E,KAEHlF,EAAK,EAAGiB,EAAKiE,KAAK2C,KAAM7H,EAAKiB,EAAGlB,OAAQC,IAClCiB,EAAGjB,GACTM,cAAcE,GAAiBA,EAAcwH,IAAI,SAAUjH,GAC5D,MAAO,IAAIuB,QAAO/B,EAAMqH,cAAc5G,KAAKD,GAAOA,EAAI4B,QAAQpC,EAAMqH,aAAe,IAAK,IAAM7G,MAI1G4G,EAAUtI,UAAUiI,sBAAwB,WACxCpC,KAAKK,WAAaL,KAAK4B,WACvB,KAAK,GAAIhE,GAAI,EAAGA,EAAIoC,KAAK2C,KAAK9H,OAAQ+C,IAC9BuB,WAAS,eAAgBa,KAAK2C,KAAK/E,KAA8C,YAAvCuB,WAAS,WAAYa,KAAK2C,KAAK/E,KACzEP,WAAS,UAAW8B,WAAS,eAAgBa,KAAK2C,KAAK/E,IAAI+D,gBAAiB3B,KAAK2C,KAAK/E,GAAG3C,gBAE7F+E,KAAK2C,KAAK/E,GAAG8D,WAAY,GAGjCe,EAAUtI,UAAUoI,gBAAkB,WAClCvC,KAAKqB,eAAgB,GAEzBoB,EAAUtI,UAAUqI,YAAc,WAC9BxC,KAAK2C,SAEFF,KCvNPc,EAA+B,WAC/B,QAASA,KACLvD,KAAKwD,qBAAsB,EAC3BxD,KAAKyD,YAAa,EAuTtB,MArTAF,GAAcpJ,UAAU8F,YAAc,SAAUpC,EAAK6F,EAAUC,GAC3D,IAAI3D,KAAKwD,oBAAT,CAGAxD,KAAK4D,cAAc/F,GAAO8F,EAC1B3D,KAAK6D,kBAAkBhG,GAAO6F,EAC9B1D,KAAK8D,aAEL,IAAIC,GAAaC,WAAWhE,KAAKE,SAAS+D,KAAKjE,OAC3CkE,EAAc,WACdC,aAAaJ,GAEjB/D,MAAK8D,YAAcI,IAIvBX,EAAcpJ,UAAUqG,SAAW,SAAU4D,GAEzC,GAAIC,GAAaD,GAAapE,IAC9BqE,GAAW3I,sBACX2I,EAAWC,mBACXD,EAAWE,WAAY,EACvBF,EAAWZ,YAAa,EAEpBW,IACApE,KAAKO,KAAO6D,EAAU7D,MAE1B8D,EAAW9D,KAAOP,KAAKO,SACvB8D,EAAWG,gBAAkBxE,KAAKwE,oBAClCH,EAAWpH,cACXoH,EAAWI,OAASzE,KAAK0E,eAAeL,EAAWM,SAEnDN,EAAWO,cAAgB,SAAUC,EAASC,GAE1C,GAAIC,GAAMV,EAAWW,UAAYX,EAAWW,UAAUJ,cAAcC,GAAWD,gBAAcC,EAC7F,YAAsB,OACXE,GAEXA,EAAIE,UAAaH,EAAKG,UAAYH,EAAKG,UAAY,OAC5BnH,KAAnBgH,EAAKI,YACLH,EAAIG,UAAYJ,EAAKI,eAETpH,KAAZgH,EAAKK,KACLJ,EAAII,GAAKL,EAAKK,QAEErH,KAAhBgH,EAAKM,QACLL,EAAIM,aAAa,QAASP,EAAKM,YAETtH,KAAtBuG,EAAWI,QACXM,EAAIM,aAAahB,EAAWI,OAAQ,QAErB3G,KAAfgH,EAAKQ,OACLC,aAAWR,EAAKD,EAAKQ,OAElBP,GAEX,KAAK,GAAIjK,GAAK,EAAGiB,EAAKsI,EAAW9D,KAAMzF,EAAKiB,EAAGlB,OAAQC,IAAM,CACzD,GAAI2F,GAAM1E,EAAGjB,GACToC,GACAC,SAAUgC,WAAS,QAAUsB,EAAIE,UAAU,EAAG,GAAGC,cAAgBH,EAAIE,UAAU,GAAI0D,GACnFjK,KAAMqG,EAEV4D,GAAWpH,WAAWmC,KAAKlC,GAM/B,IAAK,GAJDsI,GAAmBvL,OAAOwB,KAAK4I,GAI1B/H,EAAK,EAAGmJ,EAHjBD,EAAmBA,EAAiB5J,OAAO,SAAUC,GACjD,MAAO,QAAQC,KAAKD,IAAQ,MAAMC,KAAKD,KAEaS,EAAKmJ,EAAmB5K,OAAQyB,IAAM,CAC1F,GACIkC,GADWiH,EAAmBnJ,GACVmB,QAAQ,MAAO,IACnC5B,IACJwB,YAASmB,EAASf,QAAQ,IAAK,KAAM0B,WAASX,EAAU6F,GAAaxI,GACrEwI,EAAWlJ,cAAcU,GAAK,KAGtC0H,EAAcpJ,UAAUuK,eAAiB,SAAUK,GAI/C,IAAK,GADDW,GAFAH,EAAaR,EAAIQ,WACjB1K,EAAS0K,EAAW1K,OAEf+C,EAAI,EAAGA,EAAI/C,EAAQ+C,IAEpB,cAAc9B,KAAKyJ,EAAW3H,GAAGxD,QACjCsL,EAAOH,EAAW3H,GAAGxD,KAG7B,OAAOsL,IAIXnC,EAAcpJ,UAAUoI,gBAAkB,SAAU6B,GAEhD,GAAIuB,GAAoBvB,GAAapE,IACxB,0BAEFlE,KAAK6J,EAAkBC,MAAMvH,cAAcwH,aAClDF,EAAkBC,MAAMvH,cAAcyH,MAAMC,WAAa,SAkB7D,KAAK,GAJDlF,GAAqB5G,OAAOwB,KAAKkK,GAI5B7K,EAAK,EAAGkG,EAHjBH,EAAqBA,EAAmBjF,OAAO,SAAUC,GACrD,MAAO,QAAQC,KAAKD,KAEoCf,EAAKkG,EAAqBnG,OAAQC,IAAM,CAChG,GACI0D,GADWwC,EAAqBlG,GACZ2C,QAAQ,MAAO,GACvCJ,YAASmB,EAASf,QAAQ,IAAK,KAAM0B,WAASX,EAAW,MAAOmH,GAAoBA,GAIxF3B,WAAW,WAEe,mBAAXgC,SAA0BC,SAASC,KAAKC,SAASR,EAAkBhB,WAC1EgB,EAAkBS,SAAST,EAAkBhB,SAC7CgB,EAAkBC,MAAMvH,cAAcyH,MAAMC,WAAa,OAKrExC,EAAcpJ,UAAUqI,YAAc,SAAU4B,GAE5C,GAAIiC,GAAoBjC,GAAapE,IAErCgE,YAAW,WACe,mBAAXgC,SAA2BK,EAAkB1B,QAAQ2B,UAAUH,SAAS,eAC/EE,EAAkBhK,UAClBgK,EAAkBjL,cAAc,MAEhCiL,EAAkB/B,mBAClB+B,EAAkBpJ,cAClBoJ,EAAkBT,MAAQ,SAKtCrC,EAAcpJ,UAAUiB,cAAgB,SAAUE,EAAeC,GAC7DH,EAAc4E,KAAM1E,EAAeC,IAIvCgI,EAAcpJ,UAAUiI,sBAAwB,SAAUgC,GAGtD,IAAK,GADDmC,GAAuBnC,GAAapE,KAC/BlF,EAAK,EAAGiB,EAAKwK,EAAqBtJ,WAAYnC,EAAKiB,EAAGlB,OAAQC,IAAM,CACzE,GAAIoC,GAAYnB,EAAGjB,EACnB,KAAK0L,cAAYtJ,EAAUC,YACtBD,EAAUC,SAASkE,eAAiBnE,EAAUC,SAASkD,YAAcnD,EAAUC,SAASmG,gBACzF,GAAIpG,EAAUC,SAASkE,cAAe,CAClC,GAAIoF,MAIAC,MAAkB,IAClB/D,EAAOxD,WAAS,gBAAiBjC,KACzByF,EAAK9H,SACb6L,EAAkB/D,EAAK,GAAGzB,kBAE9B,IAAIyF,IAAO,CAIX,IAHIJ,EAAqBK,eAA0D,UAAzCL,EAAqBK,kBAC3DD,GAAO,GAEPD,GAAmBC,IAAsE,IAA9DD,EAAgB3F,QAAQ7D,EAAUC,SAASuF,cAEtE,IAAK,GADDmE,GAAkB5M,OAAOwB,KAAKyB,EAAUC,SAASwF,KAAK,GAAG1H,gBACpD6L,EAAI,EAAGA,EAAI5J,EAAUC,SAASwF,KAAK9H,OAAQiM,IAAK,CACrD5J,EAAUC,SAASwF,KAAKmE,GAAG7L,eAAeiC,EAAUC,SAASuF,gBAE7D,KAAK,GADDhI,MACKyG,EAAI,EAAGA,EAAI0F,EAAgBhM,OAAQsG,IAExCzG,EADIqM,EAAkBF,EAAgB1F,IACfjE,EAAUC,SAASwF,KAAKmE,GAAG7L,eAAe8L,EAErE,KAAK,GAAInJ,GAAI,EAAGA,EAAIV,EAAUC,SAASwF,KAAKmE,GAAGvG,KAAK1F,OAAQ+C,IAAK,CAC7D,GAAI6C,GAAMvD,EAAUC,SAASwF,KAAKmE,GAAGvG,KAAK3C,GACtCoJ,EAAW7H,WAAS,QAAUsB,EAAIE,UAAU,EAAG,GAAGC,cAAgBH,EAAIE,UAAU,GAAIzD,EAAUC,SAASwF,KAAKmE,GAChH,IAAIE,EAAU,CACV,GAAIC,GAAgB/J,EAAUC,SAASwF,KAAKmE,GAAG,QAAUrG,EAAIE,UAAU,EAAG,GAAGC,cAAgBH,EAAIE,UAAU,GAC3G,IAAIsG,EACA,IAAK,GAAIC,GAAI,EAAGA,EAAID,EAActE,KAAK9H,OAAQqM,IAAK,CAChD,GAAIC,GAAWF,EAActE,KAAK,GAAGpC,KAAK,EAC1C,IAAI4G,EAAU,CACV,GAAIC,GAAgBjI,WAAS,QAAUgI,EAASxG,UAAU,EAAG,GAAGC,cAAgBuG,EAASxG,UAAU,GAAIsG,EAActE,KAAKuE,GACtHE,IACAH,EAActE,KAAKuE,GAAGjK,WAAWmC,MAAOjC,SAAUiK,EAAehN,KAAM+M,KAKvFjK,EAAUC,SAASwF,KAAKmE,GAAG7J,WAAWmC,MAAOjC,SAAU6J,EAAU5M,KAAMqG,KAG/EvD,EAAUC,SAASwF,KAAKmE,GAAG7L,eAAeiC,EAAUC,SAASuF,cAActD,KAAK1E,GAIxF+L,EAAQvJ,EAAU9C,MAAQ8C,EAAUC,SAASwE,gBAC7C4E,EAAqBpL,cAAcsL,EAASvJ,EAAUC,SAASkE,mBAE9D,CAEIkF,EAAqBrJ,EAAU9C,MAAMS,SAAWqC,EAAUC,SAASwF,KAAK9H,QAAqD,YAAzC0L,EAAqBK,kBAC1GL,EAAqBrJ,EAAU9C,MAAQ8C,EAAUC,SAASwF,KAE9D,KAAK,GAAIrG,GAAK,EAAGC,EAAKW,EAAUC,SAASwF,KAAMrG,EAAKC,EAAG1B,OAAQyB,IAAM,CACjE,GAAIqG,GAAOpG,EAAGD,GACV+K,EAAWnK,EAAUC,SAASwF,KAAK5B,QAAQ4B,GAC3C2E,EAAWnI,WAASjC,EAAU9C,KAAMmM,GAAsBc,GAC1D7B,EAAmBvL,OAAOwB,KAAK6L,EAInC,IAHA9B,EAAmBA,EAAiB5J,OAAO,SAAUC,GACjD,MAAO,QAAQC,KAAKD,KAEpByL,EAASC,YAA0D,IAA5CtN,OAAOwB,KAAK6L,EAASC,YAAY1M,QAAgB,QAAQiB,KAAKyK,EAAqBK,iBAC1G,IAAK,GAAI7J,GAAK,EAAGyK,EAAqBhC,EAAkBzI,EAAKyK,EAAmB3M,OAAQkC,IAAM,CAC1F,GAAIgK,GAAkBS,EAAmBzK,EACzCgK,GAAkBA,EAAgBtJ,QAAQ,MAAO,IACjD6J,EAASC,WAAWR,GAAoBO,EAASC,WAAWR,GACbO,EAASC,WAAWR,GAA/DO,EAASrM,eAAe8L,GAG/BP,cAAYc,IAAcd,cAAYc,EAASnM,iBAC5C,0BAA0BW,KAAKyK,EAAqBK,iBACpDU,EAASnM,cAAcwH,EAAKhB,iBAAiB,GAG7C2F,EAASnM,cAAcwH,EAAKhB,kBAGpCgB,EAAKjB,WAAY,MAMrC6B,EAAcpJ,UAAUK,eAAiB,SAAUC,GAC/CD,EAAeC,EAAWuF,OAE9BuD,EAAcpJ,UAAUsN,aAAe,SAAUC,EAAQ5C,GACrD,GAAI6C,GAASxI,WAAS2F,EAAM9E,KAAKuH,WAC7BI,KAAWD,IAGf1H,KAAKC,YAAY6E,EAAM4C,EAAQC,GAC/BtK,WAASyH,EAAOjI,oBAAkB6K,GAAU,KAAOA,EAAS1H,KAAKuH,YACjEpI,WAAS2F,EAAO,SAAU9E,MAAM4H,KAAKF,KAEzCnE,EAAcpJ,UAAU0N,UAAY,SAAU5G,GAa1C,IAAK,GAZD5F,GAAQ2E,KAWR8H,EAAS9H,KACJlF,EAAK,EAAGiN,EAAa9G,EAAUnG,EAAKiN,EAAWlN,OAAQC,KAXlD,SAAUgK,GACpB3F,WAAS2F,EAAMgD,GACf7N,OAAO8F,eAAe+H,EAAQhD,GAC1BnF,IAAK,WACD,MAAOR,YAAS2F,EAAMzJ,EAAMkM,aAEhC9H,IAAK,SAAUiI,GAAU,MAAOrM,GAAMoM,aAAaC,EAAQ5C,MAE/DzH,WAASyH,EAAO,SAAU,GAAI5J,gBAAgB4M,IAInCC,EAAWjN,KAI9ByI,EAAcpJ,UAAU6N,iBAAmB,SAAUC,EAAWC,GAC5D,GAAIC,GAAWhJ,WAAS8I,EAAWjI,KAC9BwG,eAAY2B,KACRnI,KAAKsE,gBAAgB2D,KACtBjI,KAAKsE,gBAAgB2D,GAAa,GAAIG,MAE1CpI,KAAKsE,gBAAgB2D,GAAWxI,IAAIyI,EAASC,EAASE,UAAUH,MAGxE3E,EAAcpJ,UAAUmO,oBAAsB,SAAUL,EAAWC,GAC/D,GAAIC,GAAWhJ,WAAS8I,EAAWjI,KAC9BwG,eAAY2B,IACbnI,KAAKsE,gBAAgB2D,GAAWtI,IAAIuI,GAASK,eAGrDhF,EAAcpJ,UAAUqO,QAAU,SAAUP,EAAWQ,EAAWC,GAC9D,GAAIP,GAAWhJ,WAAS8I,EAAWjI,MAC/B2I,EAAgB3I,KAAKwD,mBACzBxD,MAAKwD,qBAAsB,EACvBiF,IACAA,EAAUrO,KAAO6N,GAEhBzB,cAAY2B,IACbA,EAASS,KAAKH,EAElB,IAAII,GAAgB1J,WAAS,QAAU8I,EAAUa,OAAO,GAAGlI,cAAgBqH,EAAUc,MAAM,GAAI/I,KAC1FwG,eAAYqC,IACbA,EAAcG,KAAKhJ,KAAMyI,GAE7BzI,KAAKwD,oBAAsBmF,EAEvBD,IACA1I,KAAKiJ,cAAgBjJ,KAAKkJ,gBAC1BR,EAAQM,KAAKhJ,KAAMyI,IAEvBzI,KAAKkJ,iBAAkB,GAEpB3F,KC7TP4F,EAA0B,WAC1B,QAASA,MA0HT,MAxHAA,GAAShP,UAAUiP,gBAAkB,SAAUC,KAC/CF,EAAShP,UAAUmP,eAAiB,aACpCH,EAAShP,UAAUoP,YAAc,SAAUvN,GAEvC,GAAIuB,OAAuBO,KAAd9B,EAAEwN,QAAwBxN,EAAEuB,MAAQvB,EAAEwN,OAKnD,IAJAxJ,KAAKyJ,SAAWC,WAASnM,IACF,IAAnByC,KAAK0B,YACL1B,KAAK2J,aAAe3J,KAAK2D,WAEP,IAAlB3D,KAAKyJ,SACLzJ,KAAK4J,eAAiBxG,KAAKC,UAAU9F,GACrCyC,KAAK6J,sBAAwBzG,KAAKC,UAAUrD,KAAK2J,cAC7C3J,KAAK4J,iBAAmB5J,KAAK6J,2BAAkD/L,KAAzBkC,KAAKoJ,qBAA2CtL,KAAVP,IAE5FyC,KAAKoJ,gBAAgB7L,GACrByC,KAAK2J,aAAepM,OAIxB,IAAIA,IAAUyC,KAAK2J,kBAAyC7L,KAAzBkC,KAAKoJ,qBAA2CtL,KAAVP,EAErE,GAAc,KAAVA,GAA0B,OAAVA,EAEhByC,KAAKoJ,gBAAgB7L,GACrByC,KAAK2J,aAAepM,MAEnB,CAED,GAAIuM,GAAgBvM,CACpByC,MAAKoJ,gBAAgBU,GACrB9J,KAAK2J,aAAepM,IAKpC4L,EAAShP,UAAU4P,iBAAmB,SAAUC,GAC5ChK,KAAKoJ,gBAAkBY,GAE3Bb,EAAShP,UAAU8P,kBAAoB,SAAUD,GAC7ChK,KAAKsJ,eAAiBU,GAE1Bb,EAAShP,UAAUsN,aAAe,SAAUC,EAAQ5C,GAChD,GAAI6C,GAAS3H,KAAK2D,UAAYxE,WAAS2F,EAAM9E,KAAKuH,YAC9CxC,EAAM/E,KAAKkK,cAAgBlK,KAAK2E,UAChCI,GAAO4C,IAAWD,GAAU1H,KAAKzC,QAAUmK,OAC5B5J,KAAdiH,EAAIxH,OAAqC,KAAdwH,EAAIxH,SAGpCyC,KAAKC,YAAY6E,EAAM4C,EAAQC,GAC/BtK,WAASyH,EAAOjI,oBAAkB6K,GAAU,KAAOA,EAAS1H,KAAKuH,YACjEpI,WAAS2F,EAAO,SAAU9E,MAAM4H,KAAKF,KAGzCyB,EAAShP,UAAUoI,gBAAkB,SAAU6B,GAE3C,GAAI+F,GAAwB/F,GAAapE,IAMzC,IAAsB,mBAAXgG,QAAwB,CAC/BmE,EAAsB/D,SAAS+D,EAAsBxF,QACrD,IAAII,GAAMoF,EAAsBD,cAAgBC,EAAsBxF,OACtEI,GAAIiD,iBAAiB,QAASmC,EAAsBC,UAAUnG,KAAKkG,IACnEpF,EAAIiD,iBAAiB,OAAQmC,EAAsBE,SAASpG,KAAKkG,IAErEnK,KAAKyD,YAAa,GAGtB0F,EAAShP,UAAUmQ,iBAAmB,SAAUC,GAC5CvK,KAAKwK,SAAWD,EAChBvK,KAAKuK,SAAWA,GAEpBpB,EAAShP,UAAUsQ,WAAa,SAAUlN,GACtC,GAAImN,GAAS,uBAEQ5M,KAAjBkC,KAAKwJ,QACLxJ,KAAKzC,MAAQA,EAKTyC,KAAK4F,QACgB,iBAAVrI,GACHmN,EAAO5O,KAAKkE,KAAK4F,MAAMvH,cAAcwH,WACrC7F,KAAKwJ,QAAUjM,IAAUyC,KAAKzC,MAG9ByC,KAAKwJ,QAAUjM,EAInByC,KAAKwJ,QAAUjM,IAAUyC,KAAKzC,OAI1CyC,KAAK2J,aAAepM,EACpByC,KAAK0B,WAAY,EAGjB1B,KAAKiJ,eAAgBjJ,KAAKyD,YAK9B0F,EAAShP,UAAUiQ,UAAY,SAAUpO,IAEV,IAAvBgE,KAAK2K,eACL3K,KAAK4K,MAAMhD,KAAK5L,IAGxBmN,EAAShP,UAAUkQ,SAAW,SAAUrO,GACpCgE,KAAKsJ,kBAEsB,IAAvBtJ,KAAK2K,eACL3K,KAAK6K,KAAKjD,KAAK5L,IAGvBmN,EAAS7O,YAAa,EACf6O,KH7HPjL,EAAiB4M,4BAqErBC,sBAAoBhN,QAASA"}
1
+ {"version":3,"file":"ej2-angular-base.min.js","sources":["../../src/util.js","../../src/template.js","../../src/complex-array-base.js","../../src/component-base.js","../../src/form-base.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!derivedClass.prototype.hasOwnProperty(name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[event_1] = new EventEmitter(false);\n obj[event_1] = obj.propCollection[event_1];\n }\n else {\n ngEventsEmitter[event_1] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabaccordionTemp = /tab|accordion|toolbar/.test(_this.getModuleName());\n for (var _i = 0, _a = (regProperties && regProperties || regTemplates); _i < _a.length; _i++) {\n var registeredTemplate = _a[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabaccordionTemp) {\n for (var m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {\n var value = _this.registeredTemplate[registeredTemplate][m];\n if (value && value === index[e]) {\n value.destroy();\n _this.registeredTemplate[registeredTemplate].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n var rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (var _b = 0, _c = _this.registeredTemplate[registeredTemplate]; _b < _c.length; _b++) {\n var rt = _c[_b];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _d = 0, _e = _this.tagObjects; _d < _e.length; _d++) {\n var tagObject = _e[_d];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string' || (typeof templateEle === 'function' && templateEle.prototype && templateEle.prototype.CSPTemplate)) {\n return stringCompiler(templateEle, helper);\n }\n else {\n var contRef_1 = templateEle.elementRef.nativeElement._viewContainerRef;\n var pName_1 = templateEle.elementRef.nativeElement.propName;\n //tslint:disable-next-line \n return function (data, component, propName) {\n var context = { $implicit: data };\n /* istanbul ignore next */\n var conRef = contRef_1 ? contRef_1 : component.viewContainerRef;\n var viewRef = conRef.createEmbeddedView(templateEle, context);\n if (getValue('currentInstance.element.nodeName', conRef) === 'EJS-MENTION') {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', tempProp, this);\n }\n if (getValue(\"viewContainerRef\", this) && !getValue(\"_viewContainerRef\", tempProp.elementRef.nativeElement) && !getValue(\"propName\", tempProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", getValue(\"viewContainerRef\", this), tempProp.elementRef.nativeElement);\n setValue(\"propName\", templateProperties[i].replace(\"Ref\", ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[k];\n if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[propName];\n this.propCollection[propName] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[d]])) {\n var val = getValue(props[d], this);\n var propVal = this.propCollection[this.property][0][props[d]];\n if (!isNullOrUndefined(val) && this.propCollection[props[d]] !== val\n && propVal !== val) {\n setValue(props[d], val, this.propCollection[this.property][0]);\n setValue(props[d], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n // tslint:disable-next-line\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[i].propCollection.dataSource) {\n if (this.list[i].dataSource && this.list[i].propCollection.dataSource !== this.list[i].dataSource) {\n this.list[i].propCollection.dataSource = this.list[i].dataSource;\n this.list[i].hasChanges = true;\n }\n if (this.list[i].property !== \"series\") {\n isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n }\n isSourceChanged = this.list[i].hasChanges !== childrenDataSource[i].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n return new RegExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar SVG_REG = /^svg|^path|^g/;\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n //tslint:disable-next-line\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[i], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {\n setValue(complexTemplates[i] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue(\"_viewContainerRef\", compProp.elementRef.nativeElement) && !getValue(\"propName\", compProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue(\"propName\", complexTemplates[i].replace(\"Ref\", ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n var ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (var _i = 0, templateProperties_1 = templateProperties; _i < templateProperties_1.length; _i++) {\n var tempName = templateProperties_1[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName + 'Ref', tempAfterViewThis), tempAfterViewThis);\n }\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n var appendToComponent = function (tempAfterViewThis) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element || tempAfterViewThis.getModuleName().includes('btn')) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef) {\n setTimeout(function () {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n };\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(function () {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = tempOnDestroyThis[key];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[key]); _b < _c.length; _b++) {\n var propKey = _c[_b];\n var propValue = value[propKey];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[key][propKey] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[key] = null;\n }\n }\n }\n }\n });\n }\n });\n };\n //tslint:disable-next-line\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n if (tagObject.instance.isInitChanges) {\n var propObj = {};\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[h].tags[i];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n var updateChildTag_1 = function (innerchild) {\n var innerLevelTag = [];\n if (innerchild) {\n for (var j = 0; j < innerchild.list.length; j++) {\n var innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[j]);\n if (innerchildTag) {\n innerchild.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });\n innerLevelTag.push(innerchildTag);\n }\n }\n }\n }\n // check for inner level tag\n if (innerLevelTag.length !== 0) {\n for (var l = 0; l < innerLevelTag.length; l++) {\n updateChildTag_1(innerLevelTag[l]);\n }\n }\n ;\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[h].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _d = 0, complexTemplates_2 = complexTemplates; _d < complexTemplates_2.length; _d++) {\n var complexPropName = complexTemplates_2[_d];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[complexPropName];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_2 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_2(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n //tslint:disable-next-line\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n //tslint:disable-next-line\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n // tslint:disable-next-line:no-any\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n if ((tempFormAfterViewThis.getModuleName()).includes('dropdown')) {\n setTimeout(function () {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n });\n }\n else {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n }\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n this.cdr.markForCheck();\n if (value === null) {\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n"],"names":["applyMixins","derivedClass","baseClass","forEach","Object","getOwnPropertyNames","prototype","name","hasOwnProperty","isFormBase","ComponentMixins","registerEvents","eventList","obj","direct","ngEventsEmitter","length","_i","eventList_1","event_1","propCollection","EventEmitter","setProperties","clearTemplate","_this","templateNames","index","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","tabaccordionTemp","getModuleName","_a","e","m","value","destroy","splice","template","rootNodes","rt","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","object","replace","split","fromObj","i","key","undefined","compile","templateEle","helper","CSPTemplate","stringCompiler","contRef_1","elementRef","nativeElement","_viewContainerRef","pName_1","propName","data","component","context","$implicit","conRef","viewContainerRef","viewRef","createEmbeddedView","getValue","detectChanges","markForCheck","viewCollection","push","Template","defaultValue","target","propertyDescriptor","set","setter","get","getter","enumerable","configurable","defineProperty","this","saveChanges","dataBind","refRegex","ComplexBase","hasChanges","dataSource","tags","ngOnInit","tag","objInstance","substring","toUpperCase","templateProperties","tempProp","indexOf","templateProperties_1","propList","directivePropList","k","dirPropName","isInitChanges","ngOnChanges","changes","changedVal","currentValue","isUpdated","getProperties","isChanged","result","property","tempProps","props","d","propVal","item","ngAfterContentChecked","templateProperties_2","ngAfterViewChecked","ngAfterViewInit","ngOnDestroy","ArrayBase","propertyName","list","ngAfterContentInit","children","map","child","dirIndex","onlyProp","isSourceChanged","childrenDataSource","JSON","stringify","hasNewChildren","ComponentBase","isProtectedOnChange","isFormInit","newValue","oldValue","oldProperties","changedProperties","finalUpdate","changeTime","setTimeout","bind","clearUpdate","clearTimeout","isTempRef","tempOnThis","ngBoundedEvents","isAngular","complexTemplate","ngAttr","getAngularAttr","element","createElement","tagName","prop","ele","srenderer","innerHTML","className","id","styles","setAttribute","attrs","attributes","complexTemplates","compProp","complexTemplates_1","ngAr","tempAfterViewThis","ngEle","outerHTML","style","visibility","ngtempRef","appendToComponent","window","includes","appendTo","tempOnDestroyThis","classList","contains","propKey","propValue","parent","parentObj","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","updateChildTag_1","innerchild","innerLevelTag","j","innerTag","innerchildTag","l","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","this_1","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","removeEventListener","unsubscribe","trigger","eventArgs","success","prevDetection","next","localEventObj","charAt","slice","call","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","optionalValue","cdr","registerOnChange","registerFunction","registerOnTouched","inputElement","tempFormAfterViewThis","ngOnFocus","ngOnBlur","setDisabledState","disabled","enabled","writeValue","regExp","skipFromEvent","focus","blur","getTemplateEngine","setTemplateEngine"],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- /*!
2
- * filename: index.d.ts
3
- * version : 19.3.55
4
- * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
- * Use of this code is subject to the terms of our license.
6
- * A copy of the current license can be obtained at any time by e-mailing
7
- * licensing@syncfusion.com. Any infringement will be prosecuted under
8
- * applicable laws.
9
- */
10
1
  import * as _angularbase from '@syncfusion/ej2-angular-base';
11
2
 
12
3
  export declare namespace ej {
package/package.json CHANGED
@@ -1,83 +1,72 @@
1
1
  {
2
- "_from": "@syncfusion/ej2-angular-base@*",
3
- "_id": "@syncfusion/ej2-angular-base@19.3.53",
4
- "_inBundle": false,
5
- "_integrity": "sha512-FLKyuQRt/ynBo+O/sTmtrcYvUB6O+a+jJIc0UpI3d/Ta75yRAxKuoPweQLsdx9LH7TaJ+ev5dOb3/9k2EsObHw==",
6
- "_location": "/@syncfusion/ej2-angular-base",
7
- "_phantomChildren": {},
8
- "_requested": {
9
- "type": "range",
10
- "registry": true,
11
- "raw": "@syncfusion/ej2-angular-base@*",
12
- "name": "@syncfusion/ej2-angular-base",
13
- "escapedName": "@syncfusion%2fej2-angular-base",
14
- "scope": "@syncfusion",
15
- "rawSpec": "*",
16
- "saveSpec": null,
17
- "fetchSpec": "*"
18
- },
19
- "_requiredBy": [
20
- "/",
21
- "/@syncfusion/ej2-angular-calendars",
22
- "/@syncfusion/ej2-angular-charts",
23
- "/@syncfusion/ej2-angular-diagrams",
24
- "/@syncfusion/ej2-angular-documenteditor",
25
- "/@syncfusion/ej2-angular-dropdowns",
26
- "/@syncfusion/ej2-angular-filemanager",
27
- "/@syncfusion/ej2-angular-gantt",
28
- "/@syncfusion/ej2-angular-grids",
29
- "/@syncfusion/ej2-angular-kanban",
30
- "/@syncfusion/ej2-angular-pivotview",
31
- "/@syncfusion/ej2-angular-richtexteditor",
32
- "/@syncfusion/ej2-angular-schedule",
33
- "/@syncfusion/ej2-angular-spreadsheet",
34
- "/@syncfusion/ej2-angular-treegrid"
35
- ],
36
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix/@syncfusion/ej2-angular-base/-/ej2-angular-base-19.3.53.tgz",
37
- "_shasum": "bd9a545648cde657b863904bd5b0f423cc403e0f",
38
- "_spec": "@syncfusion/ej2-angular-base@*",
39
- "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
40
- "author": {
41
- "name": "Syncfusion Inc."
42
- },
43
- "bugs": {
44
- "url": "https://github.com/syncfusion/ej2-angular-ui-components/issues"
45
- },
46
- "bundleDependencies": false,
47
- "dependencies": {
48
- "@syncfusion/ej2-base": "~19.3.54",
49
- "@syncfusion/ej2-icons": "~19.3.53",
50
- "core-js": "^3.4.8",
51
- "reflect-metadata": "^0.1.9",
52
- "rxjs": "^6.5.4",
53
- "rxjs-compat": "^6.5.4",
54
- "zone.js": "^0.10.2"
55
- },
56
- "deprecated": false,
57
- "description": "A common package of Essential JS 2 base Angular libraries, methods and class definitions",
58
- "devDependencies": {},
59
- "homepage": "https://www.syncfusion.com/angular-ui-components",
60
- "keywords": [
61
- "ej2",
62
- "syncfusion",
63
- "web-components",
64
- "ej2-angular-base",
65
- "angular",
66
- "ng"
67
- ],
68
- "license": "SEE LICENSE IN license",
69
- "main": "./dist/ej2-angular-base.umd.min.js",
70
- "module": "./index.js",
71
- "name": "@syncfusion/ej2-angular-base",
72
- "repository": {
73
- "type": "git",
74
- "url": "git+https://github.com/syncfusion/ej2-angular-ui-components.git"
75
- },
76
- "schematics": "./schematics/collection.json",
77
- "scripts": {
78
- "postinstall": "node ./postinstall.js"
79
- },
80
- "typings": "index.d.ts",
81
- "version": "19.3.55",
82
- "sideEffects": true
83
- }
2
+ "_from": "@syncfusion/ej2-angular-base@*",
3
+ "_id": "@syncfusion/ej2-angular-base@19.3.55",
4
+ "_inBundle": false,
5
+ "_integrity": "sha512-0ELdBZkrOdSKrbtawZC1/DH4JgdnnjYCdWvZoNiCJMQfbpkeQlH2R702lS6TQ8cV7xWuvwJD1qJnSgjvKhDyeA==",
6
+ "_location": "/@syncfusion/ej2-angular-base",
7
+ "_phantomChildren": {},
8
+ "_requested": {
9
+ "type": "range",
10
+ "registry": true,
11
+ "raw": "@syncfusion/ej2-angular-base@*",
12
+ "name": "@syncfusion/ej2-angular-base",
13
+ "escapedName": "@syncfusion%2fej2-angular-base",
14
+ "scope": "@syncfusion",
15
+ "rawSpec": "*",
16
+ "saveSpec": null,
17
+ "fetchSpec": "*"
18
+ },
19
+ "_requiredBy": [
20
+ "/",
21
+ "/@syncfusion/ej2-angular-charts",
22
+ "/@syncfusion/ej2-angular-diagrams",
23
+ "/@syncfusion/ej2-angular-spreadsheet"
24
+ ],
25
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-angular-base/-/ej2-angular-base-19.3.55.tgz",
26
+ "_shasum": "9807c36b3ea8c01049614d024ae824b3443e5876",
27
+ "_spec": "@syncfusion/ej2-angular-base@*",
28
+ "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
29
+ "author": {
30
+ "name": "Syncfusion Inc."
31
+ },
32
+ "bugs": {
33
+ "url": "https://github.com/syncfusion/ej2-angular-ui-components/issues"
34
+ },
35
+ "bundleDependencies": false,
36
+ "dependencies": {
37
+ "@syncfusion/ej2-base": "~19.3.57",
38
+ "@syncfusion/ej2-icons": "~19.3.53",
39
+ "core-js": "^3.4.8",
40
+ "reflect-metadata": "^0.1.9",
41
+ "rxjs": "^6.5.4",
42
+ "rxjs-compat": "^6.5.4",
43
+ "zone.js": "^0.10.2"
44
+ },
45
+ "deprecated": false,
46
+ "description": "A common package of Essential JS 2 base Angular libraries, methods and class definitions",
47
+ "devDependencies": {},
48
+ "homepage": "https://www.syncfusion.com/angular-ui-components",
49
+ "keywords": [
50
+ "ej2",
51
+ "syncfusion",
52
+ "web-components",
53
+ "ej2-angular-base",
54
+ "angular",
55
+ "ng"
56
+ ],
57
+ "license": "SEE LICENSE IN license",
58
+ "main": "./dist/ej2-angular-base.umd.min.js",
59
+ "module": "./index.js",
60
+ "name": "@syncfusion/ej2-angular-base",
61
+ "repository": {
62
+ "type": "git",
63
+ "url": "git+https://github.com/syncfusion/ej2-angular-ui-components.git"
64
+ },
65
+ "schematics": "./schematics/collection.json",
66
+ "scripts": {
67
+ "postinstall": "node ./postinstall.js"
68
+ },
69
+ "typings": "index.d.ts",
70
+ "version": "19.3.60",
71
+ "sideEffects": true
72
+ }
@@ -2,31 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@angular-devkit/core");
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
- const config_1 = require("@schematics/angular/utility/config");
5
+ const helpers_1 = require("../utils/helpers/helpers");
6
6
  const ts = require("typescript");
7
7
  const get_project_1 = require("../utils/get-project");
8
- const helpers_1 = require("../utils/helpers/helpers");
8
+ const helpers_2 = require("../utils/helpers/helpers");
9
9
  const ast_1 = require("../utils/ast");
10
10
  function componentBuilder(options, sampleDetails) {
11
11
  return (host, context) => {
12
- const workspace = config_1.getWorkspace(host);
12
+ const workspace = helpers_1.getWorkspace(host);
13
13
  const project = get_project_1.getProjectFromWorkspace(workspace, options.project);
14
14
  options.selector = options.selector || core_1.strings.dasherize(options.name);
15
15
  if (options.path === undefined) {
16
16
  options.path = `/${project.root}/src/app/`;
17
17
  }
18
- const parsedPath = helpers_1.parseName(options.path, options.name);
18
+ const parsedPath = helpers_2.parseName(options.path, options.name);
19
19
  options.name = parsedPath.name;
20
20
  options.path = parsedPath.path;
21
- helpers_1.validateName(options.name);
22
- helpers_1.validateHtmlSelector(options.selector);
21
+ helpers_2.validateName(options.name);
22
+ helpers_2.validateHtmlSelector(options.selector);
23
23
  options.selector = options.selector || buildSelector(options, project.prefix);
24
- options.module = helpers_1.findModuleFromOptions(host, options);
24
+ options.module = helpers_2.findModuleFromOptions(host, options);
25
25
  const templateSource = schematics_1.apply(schematics_1.url('./samples'), [
26
26
  schematics_1.template(Object.assign({}, core_1.strings, { 'if-flat': (s) => options.flat ? '' : s }, options)),
27
27
  schematics_1.move(null, parsedPath.path)
28
28
  ]);
29
- const parsedImagePath = helpers_1.parseName(`/${project.root}/src/assets/${sampleDetails.componentName}`, `${sampleDetails.sampleName}`);
29
+ const parsedImagePath = helpers_2.parseName(`/${project.root}/src/assets/${sampleDetails.componentName}`, `${sampleDetails.sampleName}`);
30
30
  let imagesExists = host.getDir(`${parsedImagePath.path}/${parsedImagePath.name}`).subfiles.length ?
31
31
  true : false, optionsClone = Object.assign({}, options), copyImages;
32
32
  optionsClone.path = parsedImagePath.path;
@@ -72,12 +72,12 @@ function addModuleToRoot(options, sampleDetails) {
72
72
  + (options.flat ? '' : core_1.strings.dasherize(options.name) + '/')
73
73
  + core_1.strings.dasherize(options.name)
74
74
  + '.component';
75
- const relativePath = helpers_1.buildRelativePath(modulePath, componentPath);
75
+ const relativePath = helpers_2.buildRelativePath(modulePath, componentPath);
76
76
  const classifiedName = core_1.strings.classify(`${options.name}Component`);
77
- const declarationChanges = helpers_1.addDeclarationToModule(source, modulePath, classifiedName, relativePath);
77
+ const declarationChanges = helpers_2.addDeclarationToModule(source, modulePath, classifiedName, relativePath);
78
78
  const declarationRecorder = host.beginUpdate(modulePath);
79
79
  for (const change of declarationChanges) {
80
- if (change instanceof helpers_1.InsertChange) {
80
+ if (change instanceof helpers_2.InsertChange) {
81
81
  declarationRecorder.insertLeft(change.pos, change.toAdd);
82
82
  }
83
83
  }
@@ -86,12 +86,12 @@ function addModuleToRoot(options, sampleDetails) {
86
86
  const providers = sampleDetails.diModules ? sampleDetails.diModules.split(',') : null;
87
87
  if (providers)
88
88
  providers.forEach((provider) => {
89
- if (!helpers_1.isImported(source, provider.trim(), sampleDetails.packageName)) {
89
+ if (!helpers_2.isImported(source, provider.trim(), sampleDetails.packageName)) {
90
90
  source = readIntoSourceFile(host, modulePath);
91
- const providerChanges = helpers_1.addProviderToModule(source, modulePath, provider, sampleDetails.packageName);
91
+ const providerChanges = helpers_2.addProviderToModule(source, modulePath, provider, sampleDetails.packageName);
92
92
  const providerRecorder = host.beginUpdate(modulePath);
93
93
  for (const change of providerChanges) {
94
- if (change instanceof helpers_1.InsertChange) {
94
+ if (change instanceof helpers_2.InsertChange) {
95
95
  providerRecorder.insertLeft(change.pos, change.toAdd);
96
96
  }
97
97
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
- "id": "EJ2SchemaTemplateID",
3
+ "$id": "EJ2SchemaTemplateID",
4
4
  "title": "EJ2SchemaTemplateTitle",
5
5
  "type": "object",
6
6
  "properties": {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@angular-devkit/core");
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const tasks_1 = require("@angular-devkit/schematics/tasks");
6
- const config_1 = require("@schematics/angular/utility/config");
6
+ const helpers_1 = require("../utils/helpers/helpers");
7
7
  const ast_1 = require("../utils/ast");
8
8
  const get_project_1 = require("../utils/get-project");
9
9
  const theme_1 = require("./theme");
@@ -57,7 +57,7 @@ function addModuleImportToCustomModule(host, options, validModules, libOptions)
57
57
  */
58
58
  function addEJ2PackageRootConfig(options, libOptions) {
59
59
  return (host) => {
60
- const workspace = config_1.getWorkspace(host);
60
+ const workspace = helpers_1.getWorkspace(host);
61
61
  const project = get_project_1.getProjectFromWorkspace(workspace, options.project);
62
62
  let validModules;
63
63
  let availableModules = libOptions.moduleName.replace(/Module/g, '').trim();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
- "id": "ngAdd",
3
+ "$id": "ngAdd",
4
4
  "title": "Add Essential JS 2 Angular packages",
5
5
  "type": "object",
6
6
  "properties": {