@syncfusion/ej2-inputs 32.2.7 → 33.1.44

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 (95) hide show
  1. package/dist/ej2-inputs.min.js +2 -2
  2. package/dist/ej2-inputs.umd.min.js +2 -2
  3. package/dist/ej2-inputs.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-inputs.es2015.js +128 -76
  5. package/dist/es6/ej2-inputs.es2015.js.map +1 -1
  6. package/dist/es6/ej2-inputs.es5.js +106 -54
  7. package/dist/es6/ej2-inputs.es5.js.map +1 -1
  8. package/dist/global/ej2-inputs.min.js +2 -2
  9. package/dist/global/ej2-inputs.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +5 -5
  12. package/src/input/input.d.ts +1 -1
  13. package/src/input/input.js +46 -37
  14. package/src/maskedtextbox/maskedtextbox/maskedtextbox.js +2 -2
  15. package/src/numerictextbox/numerictextbox.js +3 -3
  16. package/src/textarea/textarea.js +3 -3
  17. package/src/textbox/textbox.js +3 -3
  18. package/src/uploader/uploader.js +49 -6
  19. package/styles/bds-lite.css +0 -11
  20. package/styles/bds.css +0 -11
  21. package/styles/bootstrap-dark-lite.css +0 -9
  22. package/styles/bootstrap-dark.css +0 -9
  23. package/styles/bootstrap-lite.css +0 -9
  24. package/styles/bootstrap.css +0 -9
  25. package/styles/bootstrap4-lite.css +0 -9
  26. package/styles/bootstrap4.css +0 -9
  27. package/styles/bootstrap5-dark-lite.css +0 -9
  28. package/styles/bootstrap5-dark.css +0 -9
  29. package/styles/bootstrap5-lite.css +0 -9
  30. package/styles/bootstrap5.3-lite.css +8 -19
  31. package/styles/bootstrap5.3.css +8 -19
  32. package/styles/bootstrap5.css +0 -9
  33. package/styles/color-picker/bds.css +0 -2
  34. package/styles/color-picker/bootstrap5.3.css +0 -2
  35. package/styles/color-picker/material3-dark.css +0 -6
  36. package/styles/color-picker/material3.css +0 -6
  37. package/styles/color-picker/tailwind3.css +0 -2
  38. package/styles/fabric-dark-lite.css +0 -9
  39. package/styles/fabric-dark.css +0 -9
  40. package/styles/fabric-lite.css +0 -9
  41. package/styles/fabric.css +0 -9
  42. package/styles/fluent-dark-lite.css +0 -9
  43. package/styles/fluent-dark.css +0 -9
  44. package/styles/fluent-lite.css +0 -9
  45. package/styles/fluent.css +0 -9
  46. package/styles/fluent2-lite.css +0 -10
  47. package/styles/fluent2.css +0 -10
  48. package/styles/highcontrast-light-lite.css +0 -9
  49. package/styles/highcontrast-light.css +0 -9
  50. package/styles/highcontrast-lite.css +0 -9
  51. package/styles/highcontrast.css +0 -9
  52. package/styles/input/_bootstrap5.3-definition.scss +3 -3
  53. package/styles/input/bootstrap5.3.css +8 -8
  54. package/styles/input/fluent2.css +0 -1
  55. package/styles/input/material3-dark.css +0 -2
  56. package/styles/input/material3.css +0 -2
  57. package/styles/material-dark-lite.css +0 -9
  58. package/styles/material-dark.css +0 -9
  59. package/styles/material-lite.css +0 -9
  60. package/styles/material.css +0 -9
  61. package/styles/material3-dark-lite.css +0 -19
  62. package/styles/material3-dark.css +0 -19
  63. package/styles/material3-lite.css +0 -19
  64. package/styles/material3.css +0 -19
  65. package/styles/rating/bds.css +0 -9
  66. package/styles/rating/bootstrap-dark.css +0 -9
  67. package/styles/rating/bootstrap.css +0 -9
  68. package/styles/rating/bootstrap4.css +0 -9
  69. package/styles/rating/bootstrap5-dark.css +0 -9
  70. package/styles/rating/bootstrap5.3.css +0 -9
  71. package/styles/rating/bootstrap5.css +0 -9
  72. package/styles/rating/fabric-dark.css +0 -9
  73. package/styles/rating/fabric.css +0 -9
  74. package/styles/rating/fluent-dark.css +0 -9
  75. package/styles/rating/fluent.css +0 -9
  76. package/styles/rating/fluent2.css +0 -9
  77. package/styles/rating/highcontrast-light.css +0 -9
  78. package/styles/rating/highcontrast.css +0 -9
  79. package/styles/rating/material-dark.css +0 -9
  80. package/styles/rating/material.css +0 -9
  81. package/styles/rating/material3-dark.css +0 -9
  82. package/styles/rating/material3.css +0 -9
  83. package/styles/rating/tailwind-dark.css +0 -9
  84. package/styles/rating/tailwind.css +0 -9
  85. package/styles/rating/tailwind3.css +0 -9
  86. package/styles/slider/material3-dark.css +0 -1
  87. package/styles/slider/material3.css +0 -1
  88. package/styles/tailwind-dark-lite.css +0 -9
  89. package/styles/tailwind-dark.css +0 -9
  90. package/styles/tailwind-lite.css +0 -9
  91. package/styles/tailwind.css +0 -9
  92. package/styles/tailwind3-lite.css +0 -11
  93. package/styles/tailwind3.css +0 -11
  94. package/styles/uploader/material3-dark.css +0 -1
  95. package/styles/uploader/material3.css +0 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 32.2.7
3
+ * version : 33.1.44
4
4
  * Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncfusion/ej2-inputs",
3
- "version": "32.2.7",
3
+ "version": "33.1.44",
4
4
  "description": "A package of Essential JS 2 input components such as Textbox, Color-picker, Masked-textbox, Numeric-textbox, Slider, Upload, and Form-validator that is used to get input from the users.",
5
5
  "author": "Syncfusion Inc.",
6
6
  "license": "SEE LICENSE IN license",
@@ -8,10 +8,10 @@
8
8
  "module": "./index.js",
9
9
  "es2015": "./dist/es6/ej2-inputs.es5.js",
10
10
  "dependencies": {
11
- "@syncfusion/ej2-base": "~32.2.6",
12
- "@syncfusion/ej2-buttons": "~32.2.7",
13
- "@syncfusion/ej2-popups": "~32.2.7",
14
- "@syncfusion/ej2-splitbuttons": "~32.2.7"
11
+ "@syncfusion/ej2-base": "~33.1.44",
12
+ "@syncfusion/ej2-buttons": "~33.1.44",
13
+ "@syncfusion/ej2-popups": "~33.1.44",
14
+ "@syncfusion/ej2-splitbuttons": "~33.1.44"
15
15
  },
16
16
  "devDependencies": {},
17
17
  "keywords": [
@@ -79,7 +79,7 @@ export declare namespace Input {
79
79
  * @param {string} placeholder - Placeholder value which is need to add.
80
80
  * @param {HTMLInputElement | HTMLTextAreaElement} element - The element on which the placeholder is need to add.
81
81
  */
82
- function setPlaceholder(placeholder: string, element: HTMLInputElement | HTMLTextAreaElement): void;
82
+ function setPlaceholder(placeholder: string, element: HTMLInputElement | HTMLTextAreaElement, moduleName?: string): void;
83
83
  /**
84
84
  * Set the read only attribute to the input element
85
85
  * ```
@@ -119,27 +119,29 @@ export var Input;
119
119
  args.element.addEventListener('focus', focusHandler);
120
120
  args.element.addEventListener('blur', blurHandler);
121
121
  args.element.addEventListener('input', inputHandler);
122
- args.element.__eventHandlers['inputFocusHandler'] = { focusHandler: focusHandler };
123
- args.element.__eventHandlers['inputBlurHandler'] = { blurHandler: blurHandler };
124
- args.element.__eventHandlers['inputHandler'] = { inputHandler: inputHandler };
122
+ args.element.__eventHandlers.inputFocusHandler = focusHandler;
123
+ args.element.__eventHandlers.inputBlurHandler = blurHandler;
124
+ args.element.__eventHandlers.inputHandler = inputHandler;
125
125
  }
126
126
  Input.bindInitialEvent = bindInitialEvent;
127
127
  function unbindInitialEvent(args) {
128
128
  if (!isNullOrUndefined(args.element)) {
129
129
  if (!isNullOrUndefined(args.element.__eventHandlers)) {
130
- if (!isNullOrUndefined(args.element.__eventHandlers['inputFocusHandler'])
131
- && !isNullOrUndefined(args.element.__eventHandlers['inputBlurHandler'])
132
- && !isNullOrUndefined(args.element.__eventHandlers['inputHandler'])) {
133
- var focusHandler_1 = args.element.__eventHandlers['inputFocusHandler'].focusHandler;
134
- var blurHandler_1 = args.element.__eventHandlers['inputBlurHandler'].blurHandler;
135
- var inputHandler_1 = args.element.__eventHandlers['inputHandler'].inputHandler;
130
+ if (!isNullOrUndefined(args.element.__eventHandlers.inputFocusHandler)
131
+ && !isNullOrUndefined(args.element.__eventHandlers.inputBlurHandler)
132
+ && !isNullOrUndefined(args.element.__eventHandlers.inputHandler)) {
133
+ var focusHandler_1 = args.element
134
+ .__eventHandlers.inputFocusHandler;
135
+ var blurHandler_1 = args.element
136
+ .__eventHandlers.inputBlurHandler;
137
+ var inputHandler_1 = args.element.__eventHandlers.inputHandler;
136
138
  args.element.removeEventListener('focus', focusHandler_1);
137
139
  args.element.removeEventListener('blur', blurHandler_1);
138
140
  args.element.removeEventListener('input', inputHandler_1);
139
141
  // Clean up stored bound functions
140
- delete args.element.__eventHandlers['inputFocusHandler'];
141
- delete args.element.__eventHandlers['inputBlurHandler'];
142
- delete args.element.__eventHandlers['inputHandler'];
142
+ args.element.__eventHandlers.inputFocusHandler = null;
143
+ args.element.__eventHandlers.inputBlurHandler = null;
144
+ args.element.__eventHandlers.inputHandler = null;
143
145
  }
144
146
  }
145
147
  }
@@ -264,8 +266,8 @@ export var Input;
264
266
  args.element.addEventListener('input', inputFloatHandler);
265
267
  args.element.addEventListener('blur', blurFloatHandler);
266
268
  // Store the event handler functions to remove them later
267
- args.element.__eventHandlers['floatInputHandler'] = { inputFloatHandler: inputFloatHandler };
268
- args.element.__eventHandlers['floatBlurHandler'] = { blurFloatHandler: blurFloatHandler };
269
+ args.element.__eventHandlers.floatInputHandler = inputFloatHandler;
270
+ args.element.__eventHandlers.floatBlurHandler = blurFloatHandler;
269
271
  }
270
272
  else {
271
273
  unWireFloatLabelEvents(args);
@@ -277,16 +279,16 @@ export var Input;
277
279
  function unWireFloatLabelEvents(args) {
278
280
  if (!isNullOrUndefined(args.element) &&
279
281
  !isNullOrUndefined(args.element.__eventHandlers)
280
- && !isNullOrUndefined(args.element.__eventHandlers['floatInputHandler'])
281
- && !isNullOrUndefined(args.element.__eventHandlers['floatBlurHandler'])) {
282
- var inputFloatHandler = args.element.__eventHandlers['floatInputHandler'].inputFloatHandler;
283
- var blurFloatHandler = args.element.__eventHandlers['floatBlurHandler'].blurFloatHandler;
282
+ && !isNullOrUndefined(args.element.__eventHandlers.floatInputHandler)
283
+ && !isNullOrUndefined(args.element.__eventHandlers.floatBlurHandler)) {
284
+ var inputFloatHandler = args.element.__eventHandlers.floatInputHandler;
285
+ var blurFloatHandler = args.element.__eventHandlers.floatBlurHandler;
284
286
  // Remove the event listeners using the defined functions
285
287
  args.element.removeEventListener('input', inputFloatHandler);
286
288
  args.element.removeEventListener('blur', blurFloatHandler);
287
289
  // Clean up stored event handler functions
288
- delete args.element.__eventHandlers['floatInputHandler'];
289
- delete args.element.__eventHandlers['floatBlurHandler'];
290
+ args.element.__eventHandlers.floatInputHandler = null;
291
+ args.element.__eventHandlers.floatBlurHandler = null;
290
292
  }
291
293
  }
292
294
  function checkFloatLabelType(type, container) {
@@ -405,7 +407,7 @@ export var Input;
405
407
  if (isBindClearAction === undefined || isBindClearAction) {
406
408
  var clickHandlerEvent = function (e) { return clickHandler(e, element, button); };
407
409
  button.addEventListener('click', clickHandlerEvent);
408
- element.__eventHandlers['clearClickHandler'] = { clickHandlerEvent: clickHandlerEvent };
410
+ element.__eventHandlers.clearClickHandler = clickHandlerEvent;
409
411
  }
410
412
  var inputHandlerEvent = function () { return inputHandler(element, button); };
411
413
  var focusHandlerEvent = function () { return focusHandler(element, button); };
@@ -414,36 +416,36 @@ export var Input;
414
416
  element.addEventListener('focus', focusHandlerEvent);
415
417
  element.addEventListener('blur', blurHandlerEvent);
416
418
  // Store the bound functions to remove them later
417
- element.__eventHandlers['clearInputHandler'] = { inputHandlerEvent: inputHandlerEvent };
418
- element.__eventHandlers['clearFocusHandler'] = { focusHandlerEvent: focusHandlerEvent };
419
- element.__eventHandlers['clearBlurHandler'] = { blurHandlerEvent: blurHandlerEvent };
419
+ element.__eventHandlers.clearInputHandler = inputHandlerEvent;
420
+ element.__eventHandlers.clearFocusHandler = focusHandlerEvent;
421
+ element.__eventHandlers.clearBlurHandler = blurHandlerEvent;
420
422
  }
421
423
  Input.wireClearBtnEvents = wireClearBtnEvents;
422
424
  function unWireClearBtnEvents(element, button) {
423
425
  if (!isNullOrUndefined(element) &&
424
426
  !isNullOrUndefined(element.__eventHandlers)) {
425
- if (!isNullOrUndefined(element.__eventHandlers['clearClickHandler'])) {
426
- var clickHandlerEvent = element.__eventHandlers['clearClickHandler'].clickHandlerEvent;
427
+ if (!isNullOrUndefined(element.__eventHandlers.clearClickHandler)) {
428
+ var clickHandlerEvent = element.__eventHandlers.clearClickHandler;
427
429
  if (isBindClearAction === undefined || isBindClearAction) {
428
430
  if (!isNullOrUndefined(button)) {
429
431
  button.removeEventListener('click', clickHandlerEvent);
430
432
  }
431
433
  }
432
- delete element.__eventHandlers['clearClickHandler'];
434
+ element.__eventHandlers.clearClickHandler = null;
433
435
  }
434
- if (!isNullOrUndefined(element.__eventHandlers['clearInputHandler'])
435
- && !isNullOrUndefined(element.__eventHandlers['clearFocusHandler'])
436
- && !isNullOrUndefined(element.__eventHandlers['clearBlurHandler'])) {
437
- var inputHandlerEvent = element.__eventHandlers['clearInputHandler'].inputHandlerEvent;
438
- var focusHandlerEvent = element.__eventHandlers['clearFocusHandler'].focusHandlerEvent;
439
- var blurHandlerEvent = element.__eventHandlers['clearBlurHandler'].blurHandlerEvent;
436
+ if (!isNullOrUndefined(element.__eventHandlers.clearInputHandler)
437
+ && !isNullOrUndefined(element.__eventHandlers.clearFocusHandler)
438
+ && !isNullOrUndefined(element.__eventHandlers.clearBlurHandler)) {
439
+ var inputHandlerEvent = element.__eventHandlers.clearInputHandler;
440
+ var focusHandlerEvent = element.__eventHandlers.clearFocusHandler;
441
+ var blurHandlerEvent = element.__eventHandlers.clearBlurHandler;
440
442
  element.removeEventListener('input', inputHandlerEvent);
441
443
  element.removeEventListener('focus', focusHandlerEvent);
442
444
  element.removeEventListener('blur', blurHandlerEvent);
443
445
  // Clean up stored Event functions
444
- delete element.__eventHandlers['clearInputHandler'];
445
- delete element.__eventHandlers['clearFocusHandler'];
446
- delete element.__eventHandlers['clearBlurHandler'];
446
+ element.__eventHandlers.clearInputHandler = null;
447
+ element.__eventHandlers.clearFocusHandler = null;
448
+ element.__eventHandlers.clearBlurHandler = null;
447
449
  }
448
450
  }
449
451
  }
@@ -622,7 +624,11 @@ export var Input;
622
624
  * @param {string} placeholder - Placeholder value which is need to add.
623
625
  * @param {HTMLInputElement | HTMLTextAreaElement} element - The element on which the placeholder is need to add.
624
626
  */
625
- function setPlaceholder(placeholder, element) {
627
+ function setPlaceholder(placeholder, element, moduleName) {
628
+ var modules = [
629
+ 'textbox', 'numerictextbox', 'textarea', 'combobox',
630
+ 'datepicker', 'daterangepicker', 'datetimepicker'
631
+ ];
626
632
  placeholder = encodePlaceHolder(placeholder);
627
633
  var parentElement = getParentNode(element);
628
634
  if (parentElement.classList.contains(CLASSNAMES.FLOATINPUT)) {
@@ -631,6 +637,9 @@ export var Input;
631
637
  if (floatTextContent && floatTextContent.children[0]) {
632
638
  floatTextContent.children[0].textContent = placeholder;
633
639
  }
640
+ else if (modules.indexOf(moduleName) !== -1 && floatTextContent) {
641
+ floatTextContent.textContent = placeholder;
642
+ }
634
643
  else {
635
644
  var floatText = parentElement.getElementsByClassName(CLASSNAMES.FLOATTEXT)[0];
636
645
  if (!isNullOrUndefined(floatText)) {
@@ -109,9 +109,8 @@ var MaskedTextBox = /** @class */ (function (_super) {
109
109
  this.element.classList.remove('e-control', 'e-maskedtextbox');
110
110
  this.element.classList.add('e-mask-container');
111
111
  this.element.appendChild(input);
112
- setValue('ej2_instances', ejInstance, input);
113
- setValue('ej2_instances', null, this.element);
114
112
  this.element = input;
113
+ setValue('ej2_instances', ejInstance, this.element);
115
114
  }
116
115
  this.updateHTMLAttrToElement();
117
116
  this.checkHtmlAttributes(false);
@@ -595,6 +594,7 @@ var MaskedTextBox = /** @class */ (function (_super) {
595
594
  }, this.clearButton);
596
595
  this.changeEventArgs = null;
597
596
  this.inputObj = null;
597
+ setValue('ej2_instances', null, this.element);
598
598
  _super.prototype.destroy.call(this);
599
599
  };
600
600
  __decorate([
@@ -95,9 +95,8 @@ var NumericTextBox = /** @class */ (function (_super) {
95
95
  }
96
96
  this.element.classList.remove('e-control', 'e-numerictextbox');
97
97
  this.element.appendChild(input);
98
- setValue('ej2_instances', ejInstance, input);
99
- setValue('ej2_instances', null, this.element);
100
98
  this.element = input;
99
+ setValue('ej2_instances', ejInstance, this.element);
101
100
  }
102
101
  attributes(this.element, { 'role': 'spinbutton', 'tabindex': '0', 'autocomplete': 'off' });
103
102
  var localeText = {
@@ -1294,6 +1293,7 @@ var NumericTextBox = /** @class */ (function (_super) {
1294
1293
  floatLabelType: this.floatLabelType,
1295
1294
  properties: this.properties
1296
1295
  }, this.clearButton);
1296
+ setValue('ej2_instances', null, this.element);
1297
1297
  _super.prototype.destroy.call(this);
1298
1298
  };
1299
1299
  /**
@@ -1379,7 +1379,7 @@ var NumericTextBox = /** @class */ (function (_super) {
1379
1379
  Input.validateInputType(this.container, this.element);
1380
1380
  break;
1381
1381
  case 'placeholder':
1382
- Input.setPlaceholder(newProp.placeholder, this.element);
1382
+ Input.setPlaceholder(newProp.placeholder, this.element, this.getModuleName());
1383
1383
  Input.calculateWidth(this.element, this.container);
1384
1384
  break;
1385
1385
  case 'step':
@@ -125,7 +125,7 @@ var TextArea = /** @class */ (function (_super) {
125
125
  this.handleAdornmentFloatLabel();
126
126
  break;
127
127
  case 'placeholder':
128
- Input.setPlaceholder(this.placeholder, this.element);
128
+ Input.setPlaceholder(this.placeholder, this.element, this.getModuleName());
129
129
  Input.calculateWidth(this.element, this.textareaWrapper.container);
130
130
  break;
131
131
  case 'cssClass':
@@ -219,9 +219,8 @@ var TextArea = /** @class */ (function (_super) {
219
219
  }
220
220
  }
221
221
  this.element.appendChild(inputElement);
222
- setValue('ej2_instances', ejInstance, inputElement);
223
- setValue('ej2_instances', null, this.element);
224
222
  this.element = inputElement;
223
+ setValue('ej2_instances', ejInstance, this.element);
225
224
  }
226
225
  this.updateHTMLAttributesToElement();
227
226
  this.checkAttributes(false);
@@ -538,6 +537,7 @@ var TextArea = /** @class */ (function (_super) {
538
537
  properties: this.properties
539
538
  }, this.clearButton);
540
539
  this.formElement = null;
540
+ setValue('ej2_instances', null, this.element);
541
541
  _super.prototype.destroy.call(this);
542
542
  };
543
543
  TextArea.prototype.focusHandler = function (args) {
@@ -130,7 +130,7 @@ var TextBox = /** @class */ (function (_super) {
130
130
  this.handleFloatLabel();
131
131
  break;
132
132
  case 'placeholder':
133
- Input.setPlaceholder(this.placeholder, this.respectiveElement);
133
+ Input.setPlaceholder(this.placeholder, this.respectiveElement, this.getModuleName());
134
134
  Input.calculateWidth(this.respectiveElement, this.textboxWrapper.container);
135
135
  break;
136
136
  case 'autocomplete':
@@ -195,9 +195,8 @@ var TextBox = /** @class */ (function (_super) {
195
195
  }
196
196
  }
197
197
  this.element.appendChild(inputElement);
198
- setValue('ej2_instances', ejInstance, inputElement);
199
- setValue('ej2_instances', null, this.element);
200
198
  this.element = inputElement;
199
+ setValue('ej2_instances', ejInstance, this.element);
201
200
  }
202
201
  this.updateHTMLAttributesToElement();
203
202
  this.checkAttributes(false);
@@ -696,6 +695,7 @@ var TextBox = /** @class */ (function (_super) {
696
695
  floatLabelType: this.floatLabelType,
697
696
  properties: this.properties
698
697
  }, this.clearButton);
698
+ setValue('ej2_instances', null, this.element);
699
699
  _super.prototype.destroy.call(this);
700
700
  };
701
701
  /**
@@ -305,6 +305,7 @@ var Uploader = /** @class */ (function (_super) {
305
305
  }
306
306
  }
307
307
  }
308
+ element = null;
308
309
  };
309
310
  Uploader.prototype.reRenderFileList = function () {
310
311
  if (this.listParent) {
@@ -353,10 +354,8 @@ var Uploader = /** @class */ (function (_super) {
353
354
  inputElement.setAttribute('name', 'UploadFiles');
354
355
  }
355
356
  this.element.appendChild(inputElement);
356
- setValue('ej2_instances', ejInstance, inputElement);
357
- // Clear reference from this.element to avoid retaining component instance
358
- setValue('ej2_instances', null, this.element);
359
357
  this.element = inputElement;
358
+ setValue('ej2_instances', ejInstance, this.element);
360
359
  }
361
360
  /* istanbul ignore next */
362
361
  if (ejInstance[0].isPureReactComponent) {
@@ -624,6 +623,7 @@ var Uploader = /** @class */ (function (_super) {
624
623
  if (!enableDropText && dropTextArea) {
625
624
  remove(dropTextArea);
626
625
  }
626
+ element = null;
627
627
  }
628
628
  else if (!isNullOrUndefined(this.uploaderOptions) && this.uploaderOptions.dropArea === undefined) {
629
629
  this.createDropTextHint();
@@ -944,6 +944,7 @@ var Uploader = /** @class */ (function (_super) {
944
944
  for (var j = startIndex; j < (startIndex + nameElements); j++) {
945
945
  data.push(allFiles[j]);
946
946
  }
947
+ liElement = null;
947
948
  return data;
948
949
  };
949
950
  Uploader.prototype.removeFiles = function (args) {
@@ -987,6 +988,8 @@ var Uploader = /** @class */ (function (_super) {
987
988
  this.clearButton.removeAttribute('disabled');
988
989
  }
989
990
  }
991
+ liElement = null;
992
+ selectedElement = null;
990
993
  };
991
994
  Uploader.prototype.removeFilesData = function (file, customTemplate) {
992
995
  var index;
@@ -1002,6 +1005,10 @@ var Uploader = /** @class */ (function (_super) {
1002
1005
  return;
1003
1006
  }
1004
1007
  this.element.value = '';
1008
+ var iconElement = selectedElement.querySelector('.e-icons');
1009
+ if (iconElement) {
1010
+ EventHandler.remove(iconElement, 'click', this.removeFiles);
1011
+ }
1005
1012
  detach(selectedElement);
1006
1013
  index = this.fileList.indexOf(selectedElement);
1007
1014
  this.fileList.splice(index, 1);
@@ -1070,6 +1077,7 @@ var Uploader = /** @class */ (function (_super) {
1070
1077
  formData.append(name, selectedFiles.name);
1071
1078
  }
1072
1079
  this.updateFormData(formData, eventArgs.customFormData);
1080
+ liElement = null;
1073
1081
  };
1074
1082
  /* istanbul ignore next */
1075
1083
  Uploader.prototype.updateFormData = function (formData, customData) {
@@ -1137,6 +1145,7 @@ var Uploader = /** @class */ (function (_super) {
1137
1145
  statusElement.classList.add(UPLOAD_FAILED);
1138
1146
  }
1139
1147
  }
1148
+ rootElement = null;
1140
1149
  this.checkActionButtonStatus();
1141
1150
  }
1142
1151
  this.trigger('failure', args);
@@ -1147,6 +1156,7 @@ var Uploader = /** @class */ (function (_super) {
1147
1156
  hideSpinner(spinnerTarget);
1148
1157
  detach(liElement.querySelector('.e-spinner-pane'));
1149
1158
  }
1159
+ liElement = null;
1150
1160
  };
1151
1161
  /* istanbul ignore next */
1152
1162
  Uploader.prototype.getFilesFromFolder = function (event) {
@@ -1425,6 +1435,10 @@ var Uploader = /** @class */ (function (_super) {
1425
1435
  };
1426
1436
  Uploader.prototype.clearData = function (singleUpload) {
1427
1437
  if (!isNullOrUndefined(this.listParent)) {
1438
+ var fileItems = this.listParent.querySelectorAll('.e-icons');
1439
+ for (var i = 0; i < fileItems.length; i++) {
1440
+ EventHandler.remove(fileItems[i], 'click', this.removeFiles);
1441
+ }
1428
1442
  detach(this.listParent);
1429
1443
  this.listParent = null;
1430
1444
  }
@@ -1436,9 +1450,10 @@ var Uploader = /** @class */ (function (_super) {
1436
1450
  if (hiddenElement) {
1437
1451
  this.uploadWrapper.querySelector('.' + INPUT_WRAPPER).removeChild(hiddenElement);
1438
1452
  }
1453
+ hiddenElement = null;
1439
1454
  }
1440
- this.fileList = [];
1441
- this.filesData = [];
1455
+ this.fileList.length = 0;
1456
+ this.filesData.length = 0;
1442
1457
  this.removeActionButtons();
1443
1458
  };
1444
1459
  Uploader.prototype.updateSortedFileList = function (filesData) {
@@ -1448,6 +1463,7 @@ var Uploader = /** @class */ (function (_super) {
1448
1463
  for (var i = 0; i < this.listParent.querySelectorAll('li').length; i++) {
1449
1464
  var liElement = this.listParent.querySelectorAll('li')[i];
1450
1465
  previousListClone.appendChild(liElement.cloneNode(true));
1466
+ liElement = null;
1451
1467
  }
1452
1468
  this.removeActionButtons();
1453
1469
  var oldList = [].slice.call(previousListClone.childNodes);
@@ -1465,6 +1481,8 @@ var Uploader = /** @class */ (function (_super) {
1465
1481
  this.internalCreateFileList([filesData[index]]);
1466
1482
  }
1467
1483
  }
1484
+ previousListClone.innerHTML = '';
1485
+ oldList.length = 0;
1468
1486
  }
1469
1487
  else {
1470
1488
  this.internalCreateFileList(filesData);
@@ -1577,6 +1595,7 @@ var Uploader = /** @class */ (function (_super) {
1577
1595
  this.trigger('fileListRendering', eventsArgs);
1578
1596
  this.listParent.appendChild(listElement);
1579
1597
  this.fileList.push(listElement);
1598
+ listElement = null;
1580
1599
  }
1581
1600
  this.renderReactTemplates();
1582
1601
  };
@@ -1900,6 +1919,7 @@ var Uploader = /** @class */ (function (_super) {
1900
1919
  this.checkActionComplete(true);
1901
1920
  this.flag = preventActionComplete;
1902
1921
  }
1922
+ liElement = null;
1903
1923
  }
1904
1924
  }
1905
1925
  };
@@ -1960,6 +1980,7 @@ var Uploader = /** @class */ (function (_super) {
1960
1980
  filterFiles.push(files[i]);
1961
1981
  }
1962
1982
  }
1983
+ li = null;
1963
1984
  return filterFiles;
1964
1985
  };
1965
1986
  Uploader.prototype.updateStatus = function (files, status, statusCode, updateLiStatus) {
@@ -1975,6 +1996,7 @@ var Uploader = /** @class */ (function (_super) {
1975
1996
  li.querySelector('.' + STATUS).textContent = status;
1976
1997
  }
1977
1998
  }
1999
+ li = null;
1978
2000
  }
1979
2001
  return files;
1980
2002
  };
@@ -2048,6 +2070,7 @@ var Uploader = /** @class */ (function (_super) {
2048
2070
  }
2049
2071
  var args = { e: e, operation: 'upload', file: this.updateStatus(files, this.localizedTexts('inProgress'), '3') };
2050
2072
  this.trigger('progress', args);
2073
+ li = null;
2051
2074
  };
2052
2075
  /* istanbul ignore next */
2053
2076
  Uploader.prototype.cancelUploadingFile = function (files, e, request, li) {
@@ -2114,6 +2137,7 @@ var Uploader = /** @class */ (function (_super) {
2114
2137
  var requestResponse = e && e.currentTarget ? this.getResponse(e) : null;
2115
2138
  var args = { event: e, response: requestResponse, operation: 'cancel', file: file };
2116
2139
  this.trigger('success', args);
2140
+ liElement = null;
2117
2141
  };
2118
2142
  Uploader.prototype.renderFailureState = function (e, file, liElement) {
2119
2143
  var _this = this;
@@ -2233,6 +2257,7 @@ var Uploader = /** @class */ (function (_super) {
2233
2257
  _this.checkActionComplete(true);
2234
2258
  }
2235
2259
  });
2260
+ liElement = null;
2236
2261
  };
2237
2262
  Uploader.prototype.uploadFailed = function (e, file) {
2238
2263
  var _this = this;
@@ -2251,6 +2276,7 @@ var Uploader = /** @class */ (function (_super) {
2251
2276
  _this.uploadSequential();
2252
2277
  _this.checkActionComplete(true);
2253
2278
  });
2279
+ li = null;
2254
2280
  };
2255
2281
  Uploader.prototype.uploadSequential = function () {
2256
2282
  if (this.sequentialUpload) {
@@ -2534,6 +2560,7 @@ var Uploader = /** @class */ (function (_super) {
2534
2560
  }, false);
2535
2561
  this.checkActionButtonStatus();
2536
2562
  }
2563
+ liElement = null;
2537
2564
  };
2538
2565
  Uploader.prototype.checkChunkUpload = function () {
2539
2566
  return (this.asyncSettings.chunkSize <= 0 || isNullOrUndefined(this.asyncSettings.chunkSize)) ? false : true;
@@ -2627,6 +2654,7 @@ var Uploader = /** @class */ (function (_super) {
2627
2654
  else {
2628
2655
  this.chunkUploadFailed(e, metaData);
2629
2656
  }
2657
+ liElement = null;
2630
2658
  };
2631
2659
  Uploader.prototype.sendNextRequest = function (metaData) {
2632
2660
  metaData.start = metaData.end;
@@ -2659,6 +2687,7 @@ var Uploader = /** @class */ (function (_super) {
2659
2687
  hideSpinner(spinnerTarget);
2660
2688
  detach(liElement.querySelector('.e-spinner-pane'));
2661
2689
  }
2690
+ liElement = null;
2662
2691
  }
2663
2692
  };
2664
2693
  Uploader.prototype.pauseUpload = function (metaData, e, custom) {
@@ -2699,6 +2728,7 @@ var Uploader = /** @class */ (function (_super) {
2699
2728
  }
2700
2729
  this.pausedData.push(metaData);
2701
2730
  this.trigger('pausing', eventArgs);
2731
+ liElement = null;
2702
2732
  };
2703
2733
  Uploader.prototype.resumeUpload = function (metaData, e, custom) {
2704
2734
  var liElement = this.getLiElement(metaData.file);
@@ -2739,6 +2769,7 @@ var Uploader = /** @class */ (function (_super) {
2739
2769
  }
2740
2770
  }
2741
2771
  }
2772
+ liElement = null;
2742
2773
  };
2743
2774
  Uploader.prototype.updateMetaData = function (metaData) {
2744
2775
  if (this.uploadMetaData.indexOf(metaData) === -1) {
@@ -2761,6 +2792,7 @@ var Uploader = /** @class */ (function (_super) {
2761
2792
  cancelButton.classList.remove(ABORT_ICON, UPLOAD_INPROGRESS);
2762
2793
  }
2763
2794
  }
2795
+ liElement = null;
2764
2796
  };
2765
2797
  Uploader.prototype.chunkUploadFailed = function (e, metaData, custom) {
2766
2798
  var _this = this;
@@ -2830,6 +2862,7 @@ var Uploader = /** @class */ (function (_super) {
2830
2862
  }
2831
2863
  }
2832
2864
  });
2865
+ liElement = null;
2833
2866
  };
2834
2867
  Uploader.prototype.retryRequest = function (liElement, metaData, custom) {
2835
2868
  if (isNullOrUndefined(this.template) && (isNullOrUndefined(custom) || !custom) && liElement) {
@@ -2940,6 +2973,7 @@ var Uploader = /** @class */ (function (_super) {
2940
2973
  _this.checkPausePlayAction(e);
2941
2974
  }, false);
2942
2975
  }
2976
+ liElement = null;
2943
2977
  };
2944
2978
  /**
2945
2979
  * It is used to convert bytes value into kilobytes or megabytes depending on the size based
@@ -3018,15 +3052,23 @@ var Uploader = /** @class */ (function (_super) {
3018
3052
  this.uploadWrapper.parentElement.appendChild(this.element);
3019
3053
  detach(this.uploadWrapper);
3020
3054
  }
3021
- this.uploadWrapper = null;
3055
+ this.fileList = [];
3056
+ this.filesData = [];
3057
+ this.fileList.length = 0;
3058
+ this.filesData.length = 0;
3022
3059
  this.uploadWrapper = null;
3023
3060
  this.browseButton = null;
3061
+ this.listParent = null;
3024
3062
  this.dropAreaWrapper = null;
3025
3063
  this.dropZoneElement = null;
3064
+ this.actionButtons = null;
3065
+ this.pauseButton = null;
3066
+ this.formElement = null;
3026
3067
  this.dropArea = null;
3027
3068
  this.keyboardModule = null;
3028
3069
  this.clearButton = null;
3029
3070
  this.uploadButton = null;
3071
+ setValue('ej2_instances', null, this.element);
3030
3072
  _super.prototype.destroy.call(this);
3031
3073
  };
3032
3074
  /**
@@ -3214,6 +3256,7 @@ var Uploader = /** @class */ (function (_super) {
3214
3256
  for (var j = endIndex; j >= startIndex; j--) {
3215
3257
  allFiles.splice(j, 1);
3216
3258
  }
3259
+ liElement = null;
3217
3260
  };
3218
3261
  /* eslint-disable valid-jsdoc, jsdoc/require-param */
3219
3262
  /**