@syncfusion/ej2-base 24.2.7 → 25.1.35

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 (65) hide show
  1. package/CHANGELOG.md +0 -36
  2. package/bin/syncfusion-license.js +1 -1
  3. package/dist/ej2-base.min.js +2 -2
  4. package/dist/ej2-base.umd.min.js +2 -2
  5. package/dist/ej2-base.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-base.es2015.js +121 -52
  7. package/dist/es6/ej2-base.es2015.js.map +1 -1
  8. package/dist/es6/ej2-base.es5.js +114 -43
  9. package/dist/es6/ej2-base.es5.js.map +1 -1
  10. package/dist/global/ej2-base.min.js +2 -2
  11. package/dist/global/ej2-base.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/e2e/protractor.config.js +58 -1
  14. package/package.json +59 -8
  15. package/src/ajax.js +0 -1
  16. package/src/animation.d.ts +6 -6
  17. package/src/animation.js +6 -6
  18. package/src/base.d.ts +2 -1
  19. package/src/base.js +9 -7
  20. package/src/component.d.ts +9 -3
  21. package/src/component.js +33 -2
  22. package/src/draggable.d.ts +2 -0
  23. package/src/draggable.js +26 -10
  24. package/src/event-handler.js +2 -1
  25. package/src/intl/date-parser.js +1 -0
  26. package/src/intl/intl-base.js +0 -8
  27. package/src/intl/number-formatter.d.ts +3 -0
  28. package/src/intl/number-formatter.js +7 -7
  29. package/src/intl/number-parser.js +1 -0
  30. package/src/module-loader.d.ts +12 -0
  31. package/src/module-loader.js +11 -0
  32. package/src/notify-property-change.js +3 -2
  33. package/src/observer.js +2 -0
  34. package/src/sanitize-helper.js +5 -0
  35. package/src/template-engine.js +1 -0
  36. package/src/template.js +3 -2
  37. package/src/validate-lic.d.ts +1 -1
  38. package/src/validate-lic.js +7 -5
  39. package/styles/_bds-dark-definition.scss +15 -0
  40. package/styles/_bds-definition.scss +15 -0
  41. package/styles/bootstrap-dark.css +10 -1
  42. package/styles/bootstrap.css +10 -1
  43. package/styles/bootstrap4.css +10 -1
  44. package/styles/bootstrap5-dark.css +10 -1
  45. package/styles/bootstrap5.css +10 -1
  46. package/styles/definition/_bds-dark.scss +1178 -0
  47. package/styles/definition/_bds.scss +1458 -0
  48. package/styles/fabric-dark.css +10 -1
  49. package/styles/fabric.css +10 -1
  50. package/styles/fluent-dark.css +10 -1
  51. package/styles/fluent.css +10 -1
  52. package/styles/highcontrast-light.css +10 -1
  53. package/styles/highcontrast.css +10 -1
  54. package/styles/material-dark.css +10 -1
  55. package/styles/material.css +10 -1
  56. package/styles/material3-dark.css +10 -1
  57. package/styles/material3.css +10 -1
  58. package/styles/offline-theme/material-dark.css +10 -1
  59. package/styles/offline-theme/material.css +10 -1
  60. package/styles/offline-theme/tailwind-dark.css +10 -1
  61. package/styles/offline-theme/tailwind.css +10 -1
  62. package/styles/tailwind-dark.css +10 -1
  63. package/styles/tailwind.css +10 -1
  64. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -60
  65. package/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -42
@@ -1572,6 +1572,7 @@ var NumberFormat = /** @__PURE__ @class */ (function () {
1572
1572
  * @param {number} value ?
1573
1573
  * @param {base.GenericFormatOptions} fOptions ?
1574
1574
  * @param {CommonOptions} dOptions ?
1575
+ * @param {NumberFormatOptions} [option] ?
1575
1576
  * @returns {string} ?
1576
1577
  */
1577
1578
  NumberFormat.intNumberFormatter = function (value, fOptions, dOptions, option) {
@@ -1623,7 +1624,7 @@ var NumberFormat = /** @__PURE__ @class */ (function () {
1623
1624
  fValue = fValue.replace('e', dOptions.numberMapper.numberSymbols[mapper$1[4]]);
1624
1625
  }
1625
1626
  fValue = fValue.replace('.', dOptions.numberMapper.numberSymbols[mapper$1[3]]);
1626
- fValue = curData.format === "#,###,,;(#,###,,)" ? this.customPivotFormat(parseInt(fValue)) : fValue;
1627
+ fValue = curData.format === '#,###,,;(#,###,,)' ? this.customPivotFormat(parseInt(fValue, 10)) : fValue;
1627
1628
  if (curData.useGrouping) {
1628
1629
  /* eslint-disable @typescript-eslint/no-explicit-any */
1629
1630
  fValue = this.groupNumbers(fValue, curData.groupData.primary, curData.groupSeparator || ',', dOptions.numberMapper.numberSymbols[mapper$1[3]] || '.', curData.groupData.secondary);
@@ -1695,6 +1696,7 @@ var NumberFormat = /** @__PURE__ @class */ (function () {
1695
1696
  * @param {number} value ?
1696
1697
  * @param {number} min ?
1697
1698
  * @param {number} max ?
1699
+ * @param {NumberFormatOptions} [option] ?
1698
1700
  * @returns {string} ?
1699
1701
  */
1700
1702
  NumberFormat.processFraction = function (value, min, max, option) {
@@ -1746,16 +1748,18 @@ var NumberFormat = /** @__PURE__ @class */ (function () {
1746
1748
  * Returns custom format for pivot table
1747
1749
  *
1748
1750
  * @param {number} value ?
1751
+ * @returns {string} ?
1749
1752
  */
1750
1753
  NumberFormat.customPivotFormat = function (value) {
1751
1754
  if (value >= 500000) {
1752
1755
  value /= 1000000;
1753
- var _a = value.toString().split("."), integer = _a[0], decimal = _a[1];
1756
+ // eslint-disable-next-line
1757
+ var _a = value.toString().split('.'), integer = _a[0], decimal = _a[1];
1754
1758
  return decimal && +decimal.substring(0, 1) >= 5
1755
1759
  ? Math.ceil(value).toString()
1756
1760
  : Math.floor(value).toString();
1757
1761
  }
1758
- return "";
1762
+ return '';
1759
1763
  };
1760
1764
  return NumberFormat;
1761
1765
  }());
@@ -2099,6 +2103,7 @@ var DateParser = /** @__PURE__ @class */ (function () {
2099
2103
  // eslint-disable-next-line
2100
2104
  matchString = ((prop === 'month') && (!parseOptions.isIslamic) && (parseOptions.culture === 'en' || parseOptions.culture === 'en-GB' || parseOptions.culture === 'en-US'))
2101
2105
  ? matchString[0].toUpperCase() + matchString.substring(1).toLowerCase() : matchString;
2106
+ // eslint-disable-next-line
2102
2107
  matchString = ((prop !== 'month') && (prop === 'designator') && parseOptions.culture && parseOptions.culture.indexOf('en-') !== -1 && cultureOptions.indexOf(parseOptions.culture) === -1)
2103
2108
  ? matchString.toLowerCase() : matchString;
2104
2109
  // eslint-disable-next-line
@@ -2177,6 +2182,7 @@ var DateParser = /** @__PURE__ @class */ (function () {
2177
2182
  }());
2178
2183
 
2179
2184
  var regExp$1 = RegExp;
2185
+ // eslint-disable-next-line
2180
2186
  var parseRegex = new regExp$1('^([^0-9]*)' + '(([0-9,]*[0-9]+)(\.[0-9]+)?)' + '([Ee][+-]?[0-9]+)?([^0-9]*)$');
2181
2187
  var groupRegex = /,/g;
2182
2188
  var keys = ['minusSign', 'infinity'];
@@ -2481,9 +2487,11 @@ var Observer = /** @__PURE__ @class */ (function () {
2481
2487
  * @returns {void} ?
2482
2488
  */
2483
2489
  Observer.prototype.offIntlEvents = function () {
2490
+ // eslint-disable-next-line
2484
2491
  var eventsArr = this.boundedEvents['notifyExternalChange'];
2485
2492
  if (eventsArr) {
2486
2493
  for (var i = 0; i < eventsArr.length; i++) {
2494
+ // eslint-disable-next-line
2487
2495
  var curContext = eventsArr["" + i].context;
2488
2496
  if (curContext && curContext.detectFunction && curContext.randomId && !curContext.isRendered) {
2489
2497
  this.off('notifyExternalChange', curContext.detectFunction, curContext.randomId);
@@ -3580,7 +3588,6 @@ var IntlBase;
3580
3588
  var ret = {};
3581
3589
  var pattern = matches[1].toUpperCase();
3582
3590
  ret.isAccount = (pattern === 'A');
3583
- // eslint-disable-next-line
3584
3591
  ret.type = IntlBase.patternMatcher[pattern];
3585
3592
  if (skeleton.length > 1) {
3586
3593
  ret.fractionDigits = parseInt(matches[2], 10);
@@ -3668,7 +3675,6 @@ var IntlBase;
3668
3675
  var formatSplit = format.split(';');
3669
3676
  var data = ['pData', 'nData', 'zeroData'];
3670
3677
  for (var i = 0; i < formatSplit.length; i++) {
3671
- // eslint-disable-next-line
3672
3678
  options[data[i]] = customNumberFormat(formatSplit[i], dOptions, obj);
3673
3679
  }
3674
3680
  if (isNullOrUndefined(options.nData)) {
@@ -3728,7 +3734,6 @@ var IntlBase;
3728
3734
  if (!isNullOrUndefined(numObject)) {
3729
3735
  var symbolPattern = getSymbolPattern(cOptions.type, dOptions.numberMapper.numberSystem, numObject, false);
3730
3736
  if (cOptions.useGrouping) {
3731
- // eslint-disable-next-line
3732
3737
  cOptions.groupSeparator = spaceGrouping ? ' ' : dOptions.numberMapper.numberSymbols[mapper[2]];
3733
3738
  cOptions.groupData = NumberFormat.getGroupingDetails(symbolPattern.split(';')[0]);
3734
3739
  }
@@ -3753,9 +3758,7 @@ var IntlBase;
3753
3758
  var part = parts[parseInt(i.toString(), 10)];
3754
3759
  var loc = part.indexOf(actual);
3755
3760
  if ((loc !== -1) && ((loc < part.indexOf('\'')) || (loc > part.lastIndexOf('\'')))) {
3756
- // eslint-disable-next-line
3757
3761
  options[typeMapper[i]] = part.substr(0, loc) + symbol + part.substr(loc + 1);
3758
- // eslint-disable-next-line
3759
3762
  options[typeMapper[actual]] = true;
3760
3763
  options.type = options.isCurrency ? 'currency' : 'percent';
3761
3764
  break;
@@ -3794,7 +3797,6 @@ var IntlBase;
3794
3797
  var actualPattern = options.format || getResultantPattern(options.skeleton, dependable.dateObject, options.type);
3795
3798
  if (isExcelFormat) {
3796
3799
  actualPattern = actualPattern.replace(patternRegex, function (pattern) {
3797
- // eslint-disable-next-line
3798
3800
  return patternMatch[pattern];
3799
3801
  });
3800
3802
  if (actualPattern.indexOf('z') !== -1) {
@@ -3827,10 +3829,8 @@ var IntlBase;
3827
3829
  * @param {any} option ?
3828
3830
  * @returns {any} ?
3829
3831
  */
3830
- // eslint-disable-next-line
3831
3832
  function processSymbol(actual, option) {
3832
3833
  if (actual.indexOf(',') !== -1) {
3833
- // eslint-disable-next-line
3834
3834
  var split = actual.split(',');
3835
3835
  actual = (split[0] + getValue('numberMapper.numberSymbols.group', option) +
3836
3836
  split[1].replace('.', getValue('numberMapper.numberSymbols.decimal', option)));
@@ -4129,7 +4129,6 @@ var Ajax = /** @__PURE__ @class */ (function () {
4129
4129
  if (!isNullOrUndefined(_this.onUploadProgress)) {
4130
4130
  _this.httpRequest.upload.onprogress = _this.onUploadProgress;
4131
4131
  }
4132
- // eslint-disable-next-line
4133
4132
  _this.httpRequest.open(_this.type, _this.url, _this.mode);
4134
4133
  // Set default headers
4135
4134
  if (!isNullOrUndefined(_this.data) && _this.contentType !== null) {
@@ -4821,7 +4820,8 @@ var EventHandler = /** @__PURE__ @class */ (function () {
4821
4820
  // eslint-disable-next-line
4822
4821
  copyData = extend([], copyData, eventData);
4823
4822
  for (var i = 0; i < copyData.length; i++) {
4824
- element.removeEventListener(copyData[parseInt(i.toString(), 10)].name, copyData[parseInt(i.toString(), 10)].debounce);
4823
+ var parseValue = copyData[parseInt(i.toString(), 10)];
4824
+ element.removeEventListener(parseValue.name, parseValue.debounce);
4825
4825
  eventData.shift();
4826
4826
  }
4827
4827
  };
@@ -5577,12 +5577,13 @@ var Base = /** @__PURE__ @class */ (function () {
5577
5577
  var _this = this;
5578
5578
  // eslint-disable-next-line
5579
5579
  this.element.ej2_instances =
5580
- this.element.ej2_instances ? this.element.ej2_instances.filter(function (i) {
5581
- if (proxyToRaw) {
5582
- return proxyToRaw(i) !== proxyToRaw(_this);
5583
- }
5584
- return i !== _this;
5585
- })
5580
+ this.element.ej2_instances ?
5581
+ this.element.ej2_instances.filter(function (i) {
5582
+ if (proxyToRaw) {
5583
+ return proxyToRaw(i) !== proxyToRaw(_this);
5584
+ }
5585
+ return i !== _this;
5586
+ })
5586
5587
  : [];
5587
5588
  removeClass([this.element], ['e-' + this.getModuleName()]);
5588
5589
  if (this.element.ej2_instances.length === 0) {
@@ -5892,8 +5893,9 @@ function complexArrayDefinedCallback(dFunc, curKey, type, prop) {
5892
5893
  switch (dFunc) {
5893
5894
  case 'push':
5894
5895
  for (var i = 0; i < newValue.length; i++) {
5895
- Array.prototype["" + dFunc].apply(prop, [newValue[parseInt(i.toString(), 10)]]);
5896
- var model_1 = getArrayModel(keyString + (prop.length - 1), newValue[parseInt(i.toString(), 10)], !this.controlParent, dFunc);
5896
+ var newValueParse = newValue[parseInt(i.toString(), 10)];
5897
+ Array.prototype["" + dFunc].apply(prop, [newValueParse]);
5898
+ var model_1 = getArrayModel(keyString + (prop.length - 1), newValueParse, !this.controlParent, dFunc);
5897
5899
  this.serverDataBind(model_1, newValue[parseInt(i.toString(), 10)], false, dFunc);
5898
5900
  }
5899
5901
  break;
@@ -6684,16 +6686,16 @@ function setGlobalAnimation(value) {
6684
6686
  var GlobalAnimationMode;
6685
6687
  (function (GlobalAnimationMode) {
6686
6688
  /**
6687
- * Defines the global animation mode as Default. Animation is enabled or disabled based on the component's animation settings.
6688
- */
6689
+ * Defines the global animation mode as Default. Animation is enabled or disabled based on the component's animation settings.
6690
+ */
6689
6691
  GlobalAnimationMode["Default"] = "Default";
6690
6692
  /**
6691
- * Defines the global animation mode as Enable. Enables the animation for all components, regardless of the individual component's animation settings.
6692
- */
6693
+ * Defines the global animation mode as Enable. Enables the animation for all components, regardless of the individual component's animation settings.
6694
+ */
6693
6695
  GlobalAnimationMode["Enable"] = "Enable";
6694
6696
  /**
6695
- * Defines the global animation mode as Disable. Disables the animation for all components, regardless of the individual component's animation settings.
6696
- */
6697
+ * Defines the global animation mode as Disable. Disables the animation for all components, regardless of the individual component's animation settings.
6698
+ */
6697
6699
  GlobalAnimationMode["Disable"] = "Disable";
6698
6700
  })(GlobalAnimationMode || (GlobalAnimationMode = {}));
6699
6701
 
@@ -6757,6 +6759,17 @@ var ModuleLoader = /** @__PURE__ @class */ (function () {
6757
6759
  }
6758
6760
  this.loadedModules = [];
6759
6761
  };
6762
+ /**
6763
+ * Returns the array of modules that are not loaded in the component library.
6764
+ *
6765
+ * @param {ModuleDeclaration[]} requiredModules - Array of modules to be required
6766
+ * @returns {ModuleDeclaration[]} ?
6767
+ * @private
6768
+ */
6769
+ ModuleLoader.prototype.getNonInjectedModules = function (requiredModules) {
6770
+ var _this = this;
6771
+ return requiredModules.filter(function (module) { return !_this.isModuleLoaded(module.member); });
6772
+ };
6760
6773
  /**
6761
6774
  * Removes all unused modules
6762
6775
  *
@@ -6994,7 +7007,7 @@ var LicenseValidator = /** @__PURE__ @class */ (function () {
6994
7007
  function LicenseValidator(key) {
6995
7008
  this.isValidated = false;
6996
7009
  this.isLicensed = true;
6997
- this.version = '24';
7010
+ this.version = '25';
6998
7011
  this.platform = /JavaScript|ASPNET|ASPNETCORE|ASPNETMVC|FileFormats|essentialstudio/i;
6999
7012
  this.errors = {
7000
7013
  noLicense: '<span>This application was built using a trial version of Syncfusion Essential Studio.' +
@@ -7047,7 +7060,9 @@ var LicenseValidator = /** @__PURE__ @class */ (function () {
7047
7060
  }
7048
7061
  /**
7049
7062
  * To validate the provided license key.
7050
- */
7063
+ *
7064
+ * @returns {boolean} ?
7065
+ */
7051
7066
  LicenseValidator.prototype.validate = function () {
7052
7067
  var contentKey = [115, 121, 110, 99, 102, 117, 115, 105, 111, 110, 46,
7053
7068
  108, 105, 99, 101, 110, 115, 101, 67, 111, 110, 116, 101, 110, 116];
@@ -7096,7 +7111,7 @@ var LicenseValidator = /** @__PURE__ @class */ (function () {
7096
7111
  }
7097
7112
  }
7098
7113
  if (validateMsg && typeof document !== 'undefined' && !isNullOrUndefined(document)) {
7099
- accountURL = (validateURL && validateURL !== '') ? validateURL : "https://www.syncfusion.com/account/claim-license-key?pl=SmF2YVNjcmlwdA==&vs=MjQ=&utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information";
7114
+ accountURL = (validateURL && validateURL !== '') ? validateURL : 'https://www.syncfusion.com/account/claim-license-key?pl=SmF2YVNjcmlwdA==&vs=MjU=&utm_source=es_license_validation_banner&utm_medium=listing&utm_campaign=license-information';
7100
7115
  var errorDiv = createElement('div', {
7101
7116
  innerHTML: "<img src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE5OV80KSI+CjxwYXRoIGQ9Ik0xMiAyMUMxNi45NzA2IDIxIDIxIDE2Ljk3MDYgMjEgMTJDMjEgNy4wMjk0NCAxNi45NzA2IDMgMTIgM0M3LjAyOTQ0IDMgMyA3LjAyOTQ0IDMgMTJDMyAxNi45NzA2IDcuMDI5NDQgMjEgMTIgMjFaIiBzdHJva2U9IiM3MzczNzMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMS4yNSAxMS4yNUgxMlYxNi41SDEyLjc1IiBmaWxsPSIjNjE2MDYzIi8+CjxwYXRoIGQ9Ik0xMS4yNSAxMS4yNUgxMlYxNi41SDEyLjc1IiBzdHJva2U9IiM3MzczNzMiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xMS44MTI1IDlDMTIuNDMzOCA5IDEyLjkzNzUgOC40OTYzMiAxMi45Mzc1IDcuODc1QzEyLjkzNzUgNy4yNTM2OCAxMi40MzM4IDYuNzUgMTEuODEyNSA2Ljc1QzExLjE5MTIgNi43NSAxMC42ODc1IDcuMjUzNjggMTAuNjg3NSA3Ljg3NUMxMC42ODc1IDguNDk2MzIgMTEuMTkxMiA5IDExLjgxMjUgOVoiIGZpbGw9IiM3MzczNzMiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xOTlfNCI+CjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K' style=\"top: 6px;\n position: absolute;\n left: 16px;\n width: 24px;\n height: 24px;\"/>" + validateMsg + ' ' + '<a style="text-decoration: none;color: #0D6EFD;font-weight: 500;" href=' + accountURL + '>Claim your free account</a>'
7102
7117
  });
@@ -7161,7 +7176,7 @@ var LicenseValidator = /** @__PURE__ @class */ (function () {
7161
7176
  var charKey = decodeStr[decodeStr.length - 1];
7162
7177
  var decryptedKey = [];
7163
7178
  for (var i = 0; i < decodeStr.length; i++) {
7164
- decryptedKey[parseInt(i.toString(), 10)] = decodeStr[parseInt(i.toString(), 10)].charCodeAt(0) - charKey.charCodeAt(0);
7179
+ decryptedKey["" + i] = decodeStr["" + i].charCodeAt(0) - charKey.charCodeAt(0);
7165
7180
  }
7166
7181
  for (var i = 0; i < decryptedKey.length; i++) {
7167
7182
  buffr += String.fromCharCode(decryptedKey[parseInt(i.toString(), 10)]);
@@ -7199,7 +7214,7 @@ var licenseValidator = new LicenseValidator();
7199
7214
  * Converts the given number to characters.
7200
7215
  *
7201
7216
  * @param {number} cArr - Specifies the license key as number.
7202
- * @returns {string}
7217
+ * @returns {string} ?
7203
7218
  */
7204
7219
  function convertToChar(cArr) {
7205
7220
  var ret = '';
@@ -7309,7 +7324,7 @@ var Component = /** @__PURE__ @class */ (function (_super) {
7309
7324
  // tslint:disable-next-line:no-function-constructor-with-string-args
7310
7325
  onIntlChange.on('notifyExternalChange', _this.detectFunction, _this, _this.randomId);
7311
7326
  // Based on the considered control list we have count the instance
7312
- if (typeof window !== "undefined" && typeof document !== "undefined" && !validateLicense()) {
7327
+ if (typeof window !== 'undefined' && typeof document !== 'undefined' && !validateLicense()) {
7313
7328
  if (componentList.indexOf(_this.getModuleName()) !== -1) {
7314
7329
  instancecount = instancecount + 1;
7315
7330
  if (instancecount > 5) {
@@ -7400,6 +7415,8 @@ var Component = /** @__PURE__ @class */ (function (_super) {
7400
7415
  };
7401
7416
  /**
7402
7417
  * Adding unload event to persist data when enable persistence true
7418
+ *
7419
+ * @returns {void}
7403
7420
  */
7404
7421
  Component.prototype.attachUnloadEvent = function () {
7405
7422
  this.handleUnload = this.handleUnload.bind(this);
@@ -7407,12 +7424,16 @@ var Component = /** @__PURE__ @class */ (function (_super) {
7407
7424
  };
7408
7425
  /**
7409
7426
  * Handling unload event to persist data when enable persistence true
7427
+ *
7428
+ * @returns {void}
7410
7429
  */
7411
7430
  Component.prototype.handleUnload = function () {
7412
7431
  this.setPersistData();
7413
7432
  };
7414
7433
  /**
7415
7434
  * Removing unload event to persist data when enable persistence true
7435
+ *
7436
+ * @returns {void}
7416
7437
  */
7417
7438
  Component.prototype.detachUnloadEvent = function () {
7418
7439
  window.removeEventListener('unload', this.handleUnload);
@@ -7447,7 +7468,32 @@ var Component = /** @__PURE__ @class */ (function (_super) {
7447
7468
  }
7448
7469
  this.preRender();
7449
7470
  this.injectModules();
7450
- // Checked weather cases are valid or not. If control leads to more than five counts
7471
+ // Throw a warning for the required modules to be injected.
7472
+ var ignoredComponents = {
7473
+ schedule: 'all',
7474
+ diagram: 'all',
7475
+ PdfViewer: 'all',
7476
+ grid: ['logger'],
7477
+ richtexteditor: ['link', 'table', 'image', 'audio', 'video', 'formatPainter', 'emojiPicker', 'pasteCleanup', 'htmlEditor', 'toolbar'],
7478
+ treegrid: ['filter'],
7479
+ gantt: ['tooltip'],
7480
+ chart: ['Export', 'Zoom'],
7481
+ accumulationchart: ['Export']
7482
+ };
7483
+ var component = this.getModuleName();
7484
+ if (this.requiredModules && (!ignoredComponents["" + component] || ignoredComponents["" + component] !== 'all')) {
7485
+ var modulesRequired = this.requiredModules();
7486
+ for (var _i = 0, _a = this.moduleLoader.getNonInjectedModules(modulesRequired); _i < _a.length; _i++) {
7487
+ var module = _a[_i];
7488
+ var moduleName = module.name ? module.name : module.member;
7489
+ if (ignoredComponents["" + component] && ignoredComponents["" + component].indexOf(module.member) !== -1) {
7490
+ continue;
7491
+ }
7492
+ var componentName = component.charAt(0).toUpperCase() + component.slice(1); // To capitalize the component name
7493
+ console.warn("[WARNING] :: Module \"" + moduleName + "\" is not available in " + componentName + " component! You either misspelled the module name or forgot to load it.");
7494
+ }
7495
+ }
7496
+ // Checked weather cases are valid or not. If control leads to more than five counts
7451
7497
  if (!isvalid && !isBannerAdded) {
7452
7498
  createLicenseOverlay();
7453
7499
  isBannerAdded = true;
@@ -7893,6 +7939,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
7893
7939
  return this.getScrollableParent(element.parentNode, axis);
7894
7940
  }
7895
7941
  };
7942
+ /* eslint-disable */
7896
7943
  Draggable.prototype.getScrollableValues = function () {
7897
7944
  this.parentScrollX = 0;
7898
7945
  this.parentScrollY = 0;
@@ -7900,6 +7947,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
7900
7947
  var verticalScrollParent = this.getScrollableParent(this.element.parentNode, 'vertical');
7901
7948
  var horizontalScrollParent = this.getScrollableParent(this.element.parentNode, 'horizontal');
7902
7949
  };
7950
+ /* eslint-enable */
7903
7951
  Draggable.prototype.initialize = function (evt, curTarget) {
7904
7952
  this.currentStateTarget = evt.target;
7905
7953
  if (this.isDragStarted()) {
@@ -7913,6 +7961,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
7913
7961
  this.dragProcessStarted = false;
7914
7962
  if (this.abort) {
7915
7963
  /* tslint:disable no-any */
7964
+ // eslint-disable-next-line
7916
7965
  var abortSelectors = this.abort;
7917
7966
  if (typeof abortSelectors === 'string') {
7918
7967
  abortSelectors = [abortSelectors];
@@ -7983,6 +8032,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
7983
8032
  }
7984
8033
  /* istanbul ignore next */
7985
8034
  if (this.isReplaceDragEle) {
8035
+ // eslint-disable-next-line
7986
8036
  element = this.currentStateCheck(evt.target, element);
7987
8037
  }
7988
8038
  this.offset = this.calculateParentPosition(element);
@@ -8135,6 +8185,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8135
8185
  }
8136
8186
  }
8137
8187
  if (flag) {
8188
+ // eslint-disable-next-line
8138
8189
  eleObj.instance.dragData[this.scope] = this.droppables[this.scope];
8139
8190
  eleObj.instance.intOver(evt, eleObj.target);
8140
8191
  this.hoverObject = eleObj;
@@ -8284,6 +8335,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8284
8335
  elements = this.getPathElements(evt);
8285
8336
  }
8286
8337
  /* tslint:disable no-any */
8338
+ // eslint-disable-next-line
8287
8339
  var scrollParent = this.getScrollParent(elements, false);
8288
8340
  if (this.elementInViewport(this.helperElement)) {
8289
8341
  this.getScrollPosition(scrollParent, draEleTop);
@@ -8306,8 +8358,10 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8306
8358
  this.pageY = pagey;
8307
8359
  };
8308
8360
  /* tslint:disable no-any */
8361
+ // eslint-disable-next-line
8309
8362
  Draggable.prototype.getScrollParent = function (node, reverse) {
8310
8363
  /* tslint:disable no-any */
8364
+ // eslint-disable-next-line
8311
8365
  var nodeEl = reverse ? node.reverse() : node;
8312
8366
  var hasScroll;
8313
8367
  for (var i = nodeEl.length - 1; i >= 0; i--) {
@@ -8334,10 +8388,12 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8334
8388
  }
8335
8389
  }
8336
8390
  else if (nodeEle && nodeEle !== document.scrollingElement) {
8337
- if ((nodeEle.clientHeight + nodeEle.getBoundingClientRect().top - this.helperElement.clientHeight + document.scrollingElement.scrollTop) < draEleTop) {
8391
+ var docScrollTop = document.scrollingElement.scrollTop;
8392
+ var helperClientHeight = this.helperElement.clientHeight;
8393
+ if ((nodeEle.clientHeight + nodeEle.getBoundingClientRect().top - helperClientHeight + docScrollTop) < draEleTop) {
8338
8394
  nodeEle.scrollTop += this.helperElement.clientHeight;
8339
8395
  }
8340
- else if (nodeEle.getBoundingClientRect().top > (draEleTop - this.helperElement.clientHeight - document.scrollingElement.scrollTop)) {
8396
+ else if (nodeEle.getBoundingClientRect().top > (draEleTop - helperClientHeight - docScrollTop)) {
8341
8397
  nodeEle.scrollTop -= this.helperElement.clientHeight;
8342
8398
  }
8343
8399
  }
@@ -8389,6 +8445,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8389
8445
  var eleObj = this.checkTargetElement(evt);
8390
8446
  if (eleObj.target && eleObj.instance) {
8391
8447
  eleObj.instance.dragStopCalled = true;
8448
+ // eslint-disable-next-line
8392
8449
  eleObj.instance.dragData[this.scope] = this.droppables[this.scope];
8393
8450
  eleObj.instance.intDrop(evt, eleObj.target);
8394
8451
  }
@@ -8396,8 +8453,11 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8396
8453
  document.body.classList.remove('e-prevent-select');
8397
8454
  };
8398
8455
  /**
8456
+ * @param {MouseEvent | TouchEvent} evt ?
8457
+ * @returns {void}
8399
8458
  * @private
8400
8459
  */
8460
+ // eslint-disable-next-line
8401
8461
  Draggable.prototype.intDestroy = function (evt) {
8402
8462
  this.dragProcessStarted = false;
8403
8463
  this.toggleEvents();
@@ -8412,6 +8472,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8412
8472
  }
8413
8473
  };
8414
8474
  // triggers when property changed
8475
+ // eslint-disable-next-line
8415
8476
  Draggable.prototype.onPropertyChanged = function (newProp, oldProp) {
8416
8477
  //No Code to handle
8417
8478
  };
@@ -8442,6 +8503,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8442
8503
  eleWidthBound = ele.scrollWidth ? ele.scrollWidth : elementArea.right - elementArea.left;
8443
8504
  eleHeightBound = ele.scrollHeight ? (this.dragArea && !isNullOrUndefined(this.helperElement) && this.helperElement.classList.contains('e-treeview')) ? ele.clientHeight : ele.scrollHeight : elementArea.bottom - elementArea.top;
8444
8505
  var keys = ['Top', 'Left', 'Bottom', 'Right'];
8506
+ /* eslint-disable */
8445
8507
  var styles = getComputedStyle(ele);
8446
8508
  for (var i = 0; i < keys.length; i++) {
8447
8509
  var key = keys[parseInt(i.toString(), 10)];
@@ -8451,6 +8513,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8451
8513
  this.borderWidth["" + lowerKey] = isNaN(parseFloat(tborder)) ? 0 : parseFloat(tborder);
8452
8514
  this.padding["" + lowerKey] = isNaN(parseFloat(tpadding)) ? 0 : parseFloat(tpadding);
8453
8515
  }
8516
+ /* eslint-enable */
8454
8517
  if (this.dragArea && !isNullOrUndefined(this.helperElement) && this.helperElement.classList.contains('e-treeview')) {
8455
8518
  top = elementArea.top + document.scrollingElement.scrollTop;
8456
8519
  }
@@ -8468,7 +8531,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8468
8531
  var intCoord = this.getCoordinates(evt);
8469
8532
  var ele;
8470
8533
  var prevStyle = this.helperElement.style.pointerEvents || '';
8471
- var isPointer = evt.type.indexOf('pointer') !== -1 && Browser.info.name === 'safari' && parseInt(Browser.info.version) > 12;
8534
+ var isPointer = evt.type.indexOf('pointer') !== -1 && Browser.info.name === 'safari' && parseInt(Browser.info.version, 10) > 12;
8472
8535
  if (compareElementParent(evt.target, this.helperElement) || evt.type.indexOf('touch') !== -1 || isPointer) {
8473
8536
  this.helperElement.style.pointerEvents = 'none';
8474
8537
  ele = document.elementFromPoint(intCoord.clientX, intCoord.clientY);
@@ -8492,6 +8555,7 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8492
8555
  };
8493
8556
  Draggable.prototype.getMousePosition = function (evt, isdragscroll) {
8494
8557
  /* tslint:disable no-any */
8558
+ // eslint-disable-next-line
8495
8559
  var dragEle = evt.srcElement !== undefined ? evt.srcElement : evt.target;
8496
8560
  var intCoord = this.getCoordinates(evt);
8497
8561
  var pageX;
@@ -8509,10 +8573,11 @@ var Draggable = /** @__PURE__ @class */ (function (_super) {
8509
8573
  pageY = this.clone ? intCoord.pageY : (intCoord.pageY + window.pageYOffset) - this.relativeYPosition;
8510
8574
  }
8511
8575
  if (document.scrollingElement && (!isdragscroll && !this.clone)) {
8512
- var isVerticalScroll = document.scrollingElement.scrollHeight > 0 && document.scrollingElement.scrollHeight > document.scrollingElement.clientHeight && document.scrollingElement.scrollTop > 0;
8513
- var isHorrizontalScroll = document.scrollingElement.scrollWidth > 0 && document.scrollingElement.scrollWidth > document.scrollingElement.clientWidth && document.scrollingElement.scrollLeft > 0;
8514
- pageX = isHorrizontalScroll ? pageX - document.scrollingElement.scrollLeft : pageX;
8515
- pageY = isVerticalScroll ? pageY - document.scrollingElement.scrollTop : pageY;
8576
+ var ele = document.scrollingElement;
8577
+ var isVerticalScroll = ele.scrollHeight > 0 && ele.scrollHeight > ele.clientHeight && ele.scrollTop > 0;
8578
+ var isHorrizontalScroll = ele.scrollWidth > 0 && ele.scrollWidth > ele.clientWidth && ele.scrollLeft > 0;
8579
+ pageX = isHorrizontalScroll ? pageX - ele.scrollLeft : pageX;
8580
+ pageY = isVerticalScroll ? pageY - ele.scrollTop : pageY;
8516
8581
  }
8517
8582
  return {
8518
8583
  left: pageX - (this.margin.left + this.cursorAt.left),
@@ -9510,9 +9575,10 @@ function compile$1(template, helper, ignorePrefix) {
9510
9575
  else {
9511
9576
  var argName = 'data';
9512
9577
  var evalExpResult = evalExp(template, argName, helper, ignorePrefix);
9513
- // eslint-disable-next-line
9578
+ /* eslint-disable */
9514
9579
  var condtion = "var valueRegEx = (/value=\\'([A-Za-z0-9 _]*)((.)([\\w)(!-;?-\u25A0\\s]+)['])/g);\n var hrefRegex = (/(?:href)([\\s='\"./]+)([\\w-./?=&\\\\#\"]+)((.)([\\w)(!-;/?-\u25A0\\s]+)['])/g);\n if(str.match(valueRegEx)){\n var check = str.match(valueRegEx);\n var str1 = str;\n for (var i=0; i < check.length; i++) {\n var check1 = str.match(valueRegEx)[i].split('value=')[1];\n var change = check1.match(/^'/) !== null ? check1.replace(/^'/, '\"') : check1;\n change =change.match(/.$/)[0] === '\\'' ? change.replace(/.$/,'\"') : change;\n str1 = str1.replace(check1, change);\n }\n str = str.replace(str, str1);\n }\n else if (str.match(/(?:href='')/) === null) {\n if(str.match(hrefRegex)) {\n var check = str.match(hrefRegex);\n var str1 = str;\n for (var i=0; i < check.length; i++) {\n var check1 = str.match(hrefRegex)[i].split('href=')[1];\n if (check1) {\n var change = check1.match(/^'/) !== null ? check1.replace(/^'/, '\"') : check1;\n change =change.match(/.$/)[0] === '\\'' ? change.replace(/.$/,'\"') : change;\n str1 = str1.replace(check1, change);\n }\n }\n str = str.replace(str, str1);\n }\n }\n ";
9515
9580
  var fnCode = 'var str=\"' + evalExpResult + '\";' + condtion + ' return str;';
9581
+ /* eslint-enable */
9516
9582
  var fn = new Function(argName, fnCode);
9517
9583
  return fn.bind(helper);
9518
9584
  }
@@ -9659,7 +9725,7 @@ function evalExp(str, nameSpace, helper, ignorePrefix) {
9659
9725
  * @returns {string} ?
9660
9726
  */
9661
9727
  function addNameSpace(str, addNS, nameSpace, ignoreList, ignorePrefix) {
9662
- return ((addNS && !(NOT_NUMBER.test(str)) && ignoreList.indexOf(str.split('.')[0]) === -1 && !ignorePrefix && str !== "true" && str !== "false") ? nameSpace + '.' + str : str);
9728
+ return ((addNS && !(NOT_NUMBER.test(str)) && ignoreList.indexOf(str.split('.')[0]) === -1 && !ignorePrefix && str !== 'true' && str !== 'false') ? nameSpace + '.' + str : str);
9663
9729
  }
9664
9730
  /**
9665
9731
  *
@@ -9882,6 +9948,7 @@ function getTemplateEngine() {
9882
9948
  * @returns {Function} ?
9883
9949
  * @private
9884
9950
  */
9951
+ // eslint-disable-next-line
9885
9952
  function initializeCSPTemplate(template, helper) {
9886
9953
  var boundFunc;
9887
9954
  template.prototype.CSPTemplate = true;
@@ -10028,6 +10095,9 @@ var SanitizeHtmlHelper = /** @__PURE__ @class */ (function () {
10028
10095
  };
10029
10096
  };
10030
10097
  SanitizeHtmlHelper.sanitize = function (value) {
10098
+ if (isNullOrUndefined(value)) {
10099
+ return value;
10100
+ }
10031
10101
  var item = this.beforeSanitize();
10032
10102
  var output = this.serializeValue(item, value);
10033
10103
  return output;
@@ -10042,6 +10112,7 @@ var SanitizeHtmlHelper = /** @__PURE__ @class */ (function () {
10042
10112
  this.removeXssAttrs();
10043
10113
  var tempEleValue = this.wrapElement.innerHTML;
10044
10114
  this.removeElement();
10115
+ this.wrapElement = null;
10045
10116
  return tempEleValue.replace(/&amp;/g, '&');
10046
10117
  };
10047
10118
  SanitizeHtmlHelper.removeElement = function () {