@syncfusion/ej2-base 20.3.56 → 20.4.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.eslintrc.json +16 -1
  2. package/CHANGELOG.md +1 -19
  3. package/README.md +4 -5
  4. package/bin/syncfusion-license.js +1 -1
  5. package/dist/ej2-base.min.js +2 -2
  6. package/dist/ej2-base.umd.min.js +2 -2
  7. package/dist/ej2-base.umd.min.js.map +1 -1
  8. package/dist/es6/ej2-base.es2015.js +494 -280
  9. package/dist/es6/ej2-base.es2015.js.map +1 -1
  10. package/dist/es6/ej2-base.es5.js +282 -209
  11. package/dist/es6/ej2-base.es5.js.map +1 -1
  12. package/dist/global/ej2-base.min.js +2 -2
  13. package/dist/global/ej2-base.min.js.map +1 -1
  14. package/dist/global/index.d.ts +1 -1
  15. package/e2e/modified-protractor/protractor.config.js +316 -0
  16. package/e2e/protractor.config.js +28 -15
  17. package/package.json +6 -6
  18. package/src/animation.d.ts +4 -0
  19. package/src/animation.js +7 -1
  20. package/src/base.js +12 -12
  21. package/src/browser.js +7 -7
  22. package/src/child-property.js +10 -10
  23. package/src/component-model.d.ts +1 -1
  24. package/src/component.js +26 -7
  25. package/src/dom.js +10 -10
  26. package/src/draggable-model.d.ts +21 -8
  27. package/src/draggable.d.ts +24 -6
  28. package/src/draggable.js +25 -12
  29. package/src/event-handler.js +6 -6
  30. package/src/hijri-parser.js +1 -1
  31. package/src/intl/date-parser.js +4 -4
  32. package/src/intl/intl-base.js +4 -4
  33. package/src/intl/number-formatter.js +3 -3
  34. package/src/intl/parser-base.js +2 -2
  35. package/src/keyboard.js +4 -4
  36. package/src/l10n.js +5 -5
  37. package/src/module-loader.js +2 -2
  38. package/src/notify-property-change.js +28 -28
  39. package/src/observer.js +9 -9
  40. package/src/sanitize-helper.js +2 -2
  41. package/src/template-engine.js +14 -14
  42. package/src/template.js +2 -1
  43. package/src/util.js +30 -28
  44. package/src/validate-lic.d.ts +3 -0
  45. package/src/validate-lic.js +69 -37
  46. package/styles/bootstrap-dark.css +34 -4
  47. package/styles/bootstrap.css +34 -4
  48. package/styles/bootstrap4.css +34 -4
  49. package/styles/bootstrap5-dark.css +34 -4
  50. package/styles/bootstrap5.css +34 -4
  51. package/styles/definition/_bootstrap5-dark.scss +9 -0
  52. package/styles/definition/_bootstrap5.scss +9 -0
  53. package/styles/definition/_fluent-dark.scss +9 -0
  54. package/styles/definition/_fluent.scss +9 -0
  55. package/styles/definition/_material.scss +3 -0
  56. package/styles/definition/_tailwind-dark.scss +9 -0
  57. package/styles/definition/_tailwind.scss +9 -0
  58. package/styles/fabric-dark.css +38 -5
  59. package/styles/fabric.css +38 -5
  60. package/styles/fluent-dark.css +35 -5
  61. package/styles/fluent.css +35 -5
  62. package/styles/highcontrast-light.css +41 -5
  63. package/styles/highcontrast.css +41 -5
  64. package/styles/material-dark.css +34 -4
  65. package/styles/material.css +34 -4
  66. package/styles/offline-theme/material-dark.css +34 -4
  67. package/styles/offline-theme/material.css +34 -4
  68. package/styles/offline-theme/tailwind-dark.css +34 -4
  69. package/styles/offline-theme/tailwind.css +34 -4
  70. package/styles/tailwind-dark.css +34 -4
  71. package/styles/tailwind.css +34 -4
@@ -1,4 +1,4 @@
1
- import { isUndefined, getValue, isNullOrUndefined, setValue, uniqueID, isBlazor } from './util';import { ModuleLoader, ModuleDeclaration } from './module-loader';import { Base } from './base';import { Observer, BoundOptions } from './observer';import { ChildProperty } from './child-property';import { Property, NotifyPropertyChanges } from './notify-property-change';import { onIntlChange, rightToLeft, defaultCulture } from './internationalization';import { createElement, addClass, removeClass, ElementProperties, select } from './dom';import {validateLicense} from './validate-lic';
1
+ import { isUndefined, getValue, isNullOrUndefined, setValue, uniqueID, isBlazor } from './util';import { ModuleLoader, ModuleDeclaration } from './module-loader';import { Base } from './base';import { Observer, BoundOptions } from './observer';import { ChildProperty } from './child-property';import { Property, NotifyPropertyChanges } from './notify-property-change';import { onIntlChange, rightToLeft, defaultCulture } from './internationalization';import { createElement, addClass, removeClass, ElementProperties, select } from './dom';import { validateLicense, createLicenseOverlay, componentList } from './validate-lic';
2
2
 
3
3
  /**
4
4
  * Interface for a class Component
package/src/component.js CHANGED
@@ -25,10 +25,16 @@ import { ChildProperty } from './child-property';
25
25
  import { Property, NotifyPropertyChanges } from './notify-property-change';
26
26
  import { onIntlChange, rightToLeft, defaultCulture } from './internationalization';
27
27
  import { createElement, addClass, removeClass, select } from './dom';
28
- import { validateLicense } from './validate-lic';
28
+ import { validateLicense, createLicenseOverlay, componentList } from './validate-lic';
29
29
  var componentCount = 0;
30
30
  var lastPageID;
31
31
  var lastHistoryLen = 0;
32
+ // Decalre the static variable to count the instance
33
+ var instancecount = 0;
34
+ // Decalre the static variable to find if control limit exceed or not
35
+ var isvalid = true;
36
+ // We have added styles to inline type so here declare the static variable to detect if banner is added or not
37
+ var isBannerAdded = false;
32
38
  export var versionBasedStatePersistence = false;
33
39
  /**
34
40
  * To enable or disable version based statePersistence functionality for all components globally.
@@ -71,7 +77,15 @@ var Component = /** @class */ (function (_super) {
71
77
  _this.localObserver = new Observer(_this);
72
78
  // tslint:disable-next-line:no-function-constructor-with-string-args
73
79
  onIntlChange.on('notifyExternalChange', _this.detectFunction, _this, _this.randomId);
74
- validateLicense();
80
+ // Based on the considered control list we have count the instance
81
+ if (!validateLicense()) {
82
+ if (componentList.indexOf(_this.getModuleName()) !== -1) {
83
+ instancecount = instancecount + 1;
84
+ if (instancecount > 5) {
85
+ isvalid = false;
86
+ }
87
+ }
88
+ }
75
89
  if (!isUndefined(selector)) {
76
90
  _this.appendTo();
77
91
  }
@@ -182,6 +196,11 @@ var Component = /** @class */ (function (_super) {
182
196
  }
183
197
  this.preRender();
184
198
  this.injectModules();
199
+ // Checked weather cases are valid or not. If control leads to more than five counts
200
+ if (!isvalid && !isBannerAdded) {
201
+ createLicenseOverlay();
202
+ isBannerAdded = true;
203
+ }
185
204
  this.render();
186
205
  if (!this.mount) {
187
206
  this.trigger('created');
@@ -291,8 +310,8 @@ var Component = /** @class */ (function (_super) {
291
310
  this.prototype.injectedModules = [];
292
311
  }
293
312
  for (var i = 0; i < moduleList.length; i++) {
294
- if (this.prototype.injectedModules.indexOf(moduleList[i]) === -1) {
295
- this.prototype.injectedModules.push(moduleList[i]);
313
+ if (this.prototype.injectedModules.indexOf(moduleList[parseInt(i.toString(), 10)]) === -1) {
314
+ this.prototype.injectedModules.push(moduleList[parseInt(i.toString(), 10)]);
296
315
  }
297
316
  }
298
317
  };
@@ -359,7 +378,7 @@ var Component = /** @class */ (function (_super) {
359
378
  }
360
379
  }
361
380
  };
362
- //tslint:disable-next-line
381
+ // eslint-disable-next-line
363
382
  Component.prototype.renderReactTemplates = function (callback) {
364
383
  if (!isNullOrUndefined(callback)) {
365
384
  callback();
@@ -431,10 +450,10 @@ var Component = /** @class */ (function (_super) {
431
450
  }).map(function (str) {
432
451
  return str.replace(key + '.', '');
433
452
  });
434
- newObj[key] = this_1.iterateJsonProperties(this_1.getActualProperties(value), newList);
453
+ newObj["" + key] = this_1.iterateJsonProperties(this_1.getActualProperties(value), newList);
435
454
  }
436
455
  else {
437
- newObj[key] = value;
456
+ newObj["" + key] = value;
438
457
  }
439
458
  }
440
459
  };
package/src/dom.js CHANGED
@@ -233,10 +233,10 @@ export function attributes(element, attributes) {
233
233
  if (key === 'tabindex') {
234
234
  iKey = 'tabIndex';
235
235
  }
236
- ele.attributes[iKey] = attributes[key];
236
+ ele.attributes["" + iKey] = attributes["" + key];
237
237
  }
238
238
  else {
239
- ele.setAttribute(key, attributes[key]);
239
+ ele.setAttribute(key, attributes["" + key]);
240
240
  }
241
241
  }
242
242
  return ele;
@@ -284,20 +284,20 @@ function querySelectId(selector) {
284
284
  if (selector.match(/#[0-9]/g) || selector.match(charRegex)) {
285
285
  var idList = selector.split(',');
286
286
  for (var i = 0; i < idList.length; i++) {
287
- var list = idList[i].split(' ');
287
+ var list = idList[parseInt(i.toString(), 10)].split(' ');
288
288
  for (var j = 0; j < list.length; j++) {
289
- if (list[j].indexOf('#') > -1) {
290
- if (!list[j].match(/\[.*\]/)) {
291
- var splitId = list[j].split('#');
289
+ if (list[parseInt(j.toString(), 10)].indexOf('#') > -1) {
290
+ if (!list[parseInt(j.toString(), 10)].match(/\[.*\]/)) {
291
+ var splitId = list[parseInt(j.toString(), 10)].split('#');
292
292
  if (splitId[1].match(/^\d/) || splitId[1].match(charRegex)) {
293
- var setId = list[j].split('.');
293
+ var setId = list[parseInt(j.toString(), 10)].split('.');
294
294
  setId[0] = setId[0].replace(/#/, '[id=\'') + '\']';
295
- list[j] = setId.join('.');
295
+ list[parseInt(j.toString(), 10)] = setId.join('.');
296
296
  }
297
297
  }
298
298
  }
299
299
  }
300
- idList[i] = list.join(' ');
300
+ idList[parseInt(i.toString(), 10)] = list.join(' ');
301
301
  }
302
302
  return idList.join(',');
303
303
  }
@@ -365,7 +365,7 @@ export function getAttributeOrDefault(element, property, value) {
365
365
  element.setAttribute(property, value.toString());
366
366
  }
367
367
  else {
368
- element.attributes[property] = value;
368
+ element.attributes["" + property] = value;
369
369
  }
370
370
  attrVal = value;
371
371
  }
@@ -29,7 +29,8 @@ export interface DraggableModel {
29
29
  cursorAt?: PositionModel;
30
30
 
31
31
  /**
32
- * If `clone` set to true, drag operations are performed in duplicate element of the draggable element.
32
+ * If `clone` set to true, drag operations are performed in duplicate element of the draggable element.
33
+ *
33
34
  * @default true
34
35
  */
35
36
  clone?: boolean;
@@ -46,37 +47,42 @@ export interface DraggableModel {
46
47
 
47
48
  /**
48
49
  * Defines wheather need to replace drag element by currentstateTarget.
50
+ *
49
51
  * @private
50
52
  */
51
53
  isReplaceDragEle?: boolean;
52
54
 
53
55
  /**
54
56
  * Defines wheather need to add prevent select class to body or not.
57
+ *
55
58
  * @private
56
59
  */
57
60
  isPreventSelect?: boolean;
58
61
 
59
62
  /**
60
63
  * Specifies the callback function for drag event.
61
-
62
- * @event
64
+ *
65
+ * @event drag
63
66
  */
64
67
  drag?: Function;
65
68
 
66
69
  /**
67
70
  * Specifies the callback function for dragStart event.
68
- * @event
71
+ *
72
+ * @event dragStart
69
73
  */
70
74
  dragStart?: Function;
71
75
 
72
76
  /**
73
77
  * Specifies the callback function for dragStop event.
74
- * @event
78
+ *
79
+ * @event dragStop
75
80
  */
76
81
  dragStop?: Function;
77
82
 
78
83
  /**
79
84
  * Defines the minimum distance draggable element to be moved to trigger the drag operation.
85
+ *
80
86
  * @default 1
81
87
  */
82
88
  distance?: number;
@@ -97,38 +103,42 @@ export interface DraggableModel {
97
103
  helper?: Function;
98
104
 
99
105
  /**
100
- * Defines the scope value to group sets of draggable and droppable items.
106
+ * Defines the scope value to group sets of draggable and droppable items.
101
107
  * A draggable with the same scope value will be accepted by the droppable.
102
108
  */
103
109
  scope?: string;
104
110
 
105
111
  /**
106
112
  * Specifies the dragTarget by which the clone element is positioned if not given current context element will be considered.
113
+ *
107
114
  * @private
108
115
  */
109
116
  dragTarget?: string;
110
117
 
111
118
  /**
112
- * Defines the axis to limit the draggable element drag path.The possible axis path values are
113
- * * `x` - Allows drag movement in horizontal direction only.
119
+ * Defines the axis to limit the draggable element drag path.The possible axis path values are
120
+ * * `x` - Allows drag movement in horizontal direction only.
114
121
  * * `y` - Allows drag movement in vertical direction only.
115
122
  */
116
123
  axis?: DragDirection;
117
124
 
118
125
  /**
119
126
  * Defines the function to change the position value.
127
+ *
120
128
  * @private
121
129
  */
122
130
  queryPositionInfo?: Function;
123
131
 
124
132
  /**
125
133
  * Defines whether the drag clone element will be split form the cursor pointer.
134
+ *
126
135
  * @private
127
136
  */
128
137
  enableTailMode?: boolean;
129
138
 
130
139
  /**
131
140
  * Defines whether to skip the previous drag movement comparison.
141
+ *
132
142
  * @private
133
143
  */
134
144
  skipDistanceCheck?: boolean;
@@ -141,6 +151,7 @@ export interface DraggableModel {
141
151
  /**
142
152
  * Defines whether to enable autoscroll on drag movement of draggable element.
143
153
  * enableAutoScroll
154
+ *
144
155
  * @private
145
156
  */
146
157
  enableAutoScroll?: boolean;
@@ -148,12 +159,14 @@ export interface DraggableModel {
148
159
  /**
149
160
  * Defines whether to enable taphold on mobile devices.
150
161
  * enableAutoScroll
162
+ *
151
163
  * @private
152
164
  */
153
165
  enableTapHold?: boolean;
154
166
 
155
167
  /**
156
168
  * Specifies the time delay for tap hold.
169
+ *
157
170
  * @default 750
158
171
  * @private
159
172
  */
@@ -25,6 +25,7 @@ interface PageInfo {
25
25
  }
26
26
  /**
27
27
  * Coordinates for element position
28
+ *
28
29
  * @private
29
30
  */
30
31
  export interface Coordinates {
@@ -68,6 +69,7 @@ export interface DropObject {
68
69
  }
69
70
  /**
70
71
  * Used to access values
72
+ *
71
73
  * @private
72
74
  */
73
75
  export interface DragPosition {
@@ -76,6 +78,7 @@ export interface DragPosition {
76
78
  }
77
79
  /**
78
80
  * Used for accessing the interface.
81
+ *
79
82
  * @private
80
83
  */
81
84
  export interface Instance extends HTMLElement {
@@ -88,6 +91,7 @@ export interface Instance extends HTMLElement {
88
91
  }
89
92
  /**
90
93
  * Droppable function to be invoked from draggable
94
+ *
91
95
  * @private
92
96
  */
93
97
  export interface DropOption {
@@ -131,6 +135,7 @@ export interface DragEventArgs {
131
135
  }
132
136
  /**
133
137
  * Used for accessing the BlazorEventArgs.
138
+ *
134
139
  * @private
135
140
  */
136
141
  export interface BlazorDragEventArgs {
@@ -166,6 +171,7 @@ export declare class Draggable extends Base<HTMLElement> implements INotifyPrope
166
171
  cursorAt: PositionModel;
167
172
  /**
168
173
  * If `clone` set to true, drag operations are performed in duplicate element of the draggable element.
174
+ *
169
175
  * @default true
170
176
  */
171
177
  clone: boolean;
@@ -179,32 +185,37 @@ export declare class Draggable extends Base<HTMLElement> implements INotifyPrope
179
185
  isDragScroll: boolean;
180
186
  /**
181
187
  * Defines wheather need to replace drag element by currentstateTarget.
188
+ *
182
189
  * @private
183
190
  */
184
191
  isReplaceDragEle: boolean;
185
192
  /**
186
193
  * Defines wheather need to add prevent select class to body or not.
194
+ *
187
195
  * @private
188
196
  */
189
197
  isPreventSelect: boolean;
190
198
  /**
191
199
  * Specifies the callback function for drag event.
192
-
193
- * @event
200
+ *
201
+ * @event drag
194
202
  */
195
203
  drag: Function;
196
204
  /**
197
205
  * Specifies the callback function for dragStart event.
198
- * @event
206
+ *
207
+ * @event dragStart
199
208
  */
200
209
  dragStart: Function;
201
210
  /**
202
211
  * Specifies the callback function for dragStop event.
203
- * @event
212
+ *
213
+ * @event dragStop
204
214
  */
205
215
  dragStop: Function;
206
216
  /**
207
217
  * Defines the minimum distance draggable element to be moved to trigger the drag operation.
218
+ *
208
219
  * @default 1
209
220
  */
210
221
  distance: number;
@@ -227,6 +238,7 @@ export declare class Draggable extends Base<HTMLElement> implements INotifyPrope
227
238
  scope: string;
228
239
  /**
229
240
  * Specifies the dragTarget by which the clone element is positioned if not given current context element will be considered.
241
+ *
230
242
  * @private
231
243
  */
232
244
  dragTarget: string;
@@ -238,16 +250,19 @@ export declare class Draggable extends Base<HTMLElement> implements INotifyPrope
238
250
  axis: DragDirection;
239
251
  /**
240
252
  * Defines the function to change the position value.
253
+ *
241
254
  * @private
242
255
  */
243
256
  queryPositionInfo: Function;
244
257
  /**
245
258
  * Defines whether the drag clone element will be split form the cursor pointer.
259
+ *
246
260
  * @private
247
261
  */
248
262
  enableTailMode: boolean;
249
263
  /**
250
264
  * Defines whether to skip the previous drag movement comparison.
265
+ *
251
266
  * @private
252
267
  */
253
268
  skipDistanceCheck: boolean;
@@ -258,24 +273,27 @@ export declare class Draggable extends Base<HTMLElement> implements INotifyPrope
258
273
  /**
259
274
  * Defines whether to enable autoscroll on drag movement of draggable element.
260
275
  * enableAutoScroll
276
+ *
261
277
  * @private
262
278
  */
263
279
  enableAutoScroll: boolean;
264
280
  /**
265
281
  * Defines whether to enable taphold on mobile devices.
266
282
  * enableAutoScroll
283
+ *
267
284
  * @private
268
285
  */
269
286
  enableTapHold: boolean;
270
287
  /**
271
288
  * Specifies the time delay for tap hold.
289
+ *
272
290
  * @default 750
273
291
  * @private
274
292
  */
275
293
  tapHoldThreshold: number;
276
294
  /**
277
- * @private
278
- */
295
+ * @private
296
+ */
279
297
  enableScrollHandler: boolean;
280
298
  private target;
281
299
  /**
package/src/draggable.js CHANGED
@@ -74,8 +74,8 @@ var Draggable = /** @class */ (function (_super) {
74
74
  _this.prevLeft = 0;
75
75
  _this.prevTop = 0;
76
76
  _this.dragProcessStarted = false;
77
- /* tslint:disable no-any */
78
77
  _this.eleTop = 0;
78
+ /* eslint-disable @typescript-eslint/no-explicit-any */
79
79
  _this.tapHoldTimer = 0;
80
80
  _this.externalInitialize = false;
81
81
  _this.diffY = 0;
@@ -134,7 +134,7 @@ var Draggable = /** @class */ (function (_super) {
134
134
  if (isNullOrUndefined(element)) {
135
135
  return null;
136
136
  }
137
- if (element[scroll[axis]] > element[client[axis]]) {
137
+ if (element[scroll["" + axis]] > element[client["" + axis]]) {
138
138
  if (axis === 'vertical' ? element.scrollTop > 0 : element.scrollLeft > 0) {
139
139
  if (axis === 'vertical') {
140
140
  this.parentScrollY = this.parentScrollY +
@@ -186,7 +186,7 @@ var Draggable = /** @class */ (function (_super) {
186
186
  abortSelectors = [abortSelectors];
187
187
  }
188
188
  for (var i = 0; i < abortSelectors.length; i++) {
189
- if (!isNullOrUndefined(closest(evt.target, abortSelectors[i]))) {
189
+ if (!isNullOrUndefined(closest(evt.target, abortSelectors[parseInt(i.toString(), 10)]))) {
190
190
  /* istanbul ignore next */
191
191
  if (this.isDragStarted()) {
192
192
  this.isDragStarted(true);
@@ -240,7 +240,7 @@ var Draggable = /** @class */ (function (_super) {
240
240
  left: parseInt(styleProp.marginLeft, 10),
241
241
  top: parseInt(styleProp.marginTop, 10),
242
242
  right: parseInt(styleProp.marginRight, 10),
243
- bottom: parseInt(styleProp.marginBottom, 10),
243
+ bottom: parseInt(styleProp.marginBottom, 10)
244
244
  };
245
245
  var element = this.element;
246
246
  if (this.clone && this.dragTarget) {
@@ -312,6 +312,9 @@ var Draggable = /** @class */ (function (_super) {
312
312
  top: (pos.top - this.diffY) + 'px',
313
313
  left: (pos.left - this.diffX) + 'px'
314
314
  });
315
+ if (this.dragArea && typeof this.dragArea !== 'string' && this.dragArea.classList.contains('e-kanban-content') && this.dragArea.style.position === 'relative') {
316
+ pos.top += this.dragArea.scrollTop;
317
+ }
315
318
  this.dragElePosition = { top: pos.top, left: pos.left };
316
319
  setStyleAttribute(dragTargetElement, this.getDragPosition({ position: 'absolute', left: posValue.left, top: posValue.top }));
317
320
  EventHandler.remove(document, Browser.touchMoveEvent, this.intDragStart);
@@ -528,6 +531,9 @@ var Draggable = /** @class */ (function (_super) {
528
531
  draEleTop -= this.parentScrollY;
529
532
  draEleLeft -= this.parentScrollX;
530
533
  }
534
+ if (this.dragArea && typeof this.dragArea !== 'string' && this.dragArea.classList.contains('e-kanban-content') && this.dragArea.style.position === 'relative') {
535
+ draEleTop += this.dragArea.scrollTop;
536
+ }
531
537
  var dragValue = this.getProcessedPositionValue({ top: draEleTop + 'px', left: draEleLeft + 'px' });
532
538
  setStyleAttribute(helperElement, this.getDragPosition(dragValue));
533
539
  if (!this.elementInViewport(helperElement) && this.enableAutoScroll && !this.helperElement.classList.contains('e-treeview')) {
@@ -566,10 +572,10 @@ var Draggable = /** @class */ (function (_super) {
566
572
  var nodeEl = reverse ? node.reverse() : node;
567
573
  var hasScroll;
568
574
  for (var i = nodeEl.length - 1; i >= 0; i--) {
569
- hasScroll = window.getComputedStyle(nodeEl[i])['overflow-y'];
575
+ hasScroll = window.getComputedStyle(nodeEl[parseInt(i.toString(), 10)])['overflow-y'];
570
576
  if ((hasScroll === 'auto' || hasScroll === 'scroll')
571
- && nodeEl[i].scrollHeight > nodeEl[i].clientHeight) {
572
- return nodeEl[i];
577
+ && nodeEl[parseInt(i.toString(), 10)].scrollHeight > nodeEl[parseInt(i.toString(), 10)].clientHeight) {
578
+ return nodeEl[parseInt(i.toString(), 10)];
573
579
  }
574
580
  }
575
581
  hasScroll = window.getComputedStyle(document.scrollingElement)['overflow-y'];
@@ -699,12 +705,12 @@ var Draggable = /** @class */ (function (_super) {
699
705
  var keys = ['Top', 'Left', 'Bottom', 'Right'];
700
706
  var styles = getComputedStyle(ele);
701
707
  for (var i = 0; i < keys.length; i++) {
702
- var key = keys[i];
708
+ var key = keys[parseInt(i.toString(), 10)];
703
709
  var tborder = styles['border' + key + 'Width'];
704
710
  var tpadding = styles['padding' + key];
705
711
  var lowerKey = key.toLowerCase();
706
- this.borderWidth[lowerKey] = isNaN(parseFloat(tborder)) ? 0 : parseFloat(tborder);
707
- this.padding[lowerKey] = isNaN(parseFloat(tpadding)) ? 0 : parseFloat(tpadding);
712
+ this.borderWidth["" + lowerKey] = isNaN(parseFloat(tborder)) ? 0 : parseFloat(tborder);
713
+ this.padding["" + lowerKey] = isNaN(parseFloat(tpadding)) ? 0 : parseFloat(tpadding);
708
714
  }
709
715
  if (this.dragArea && !isNullOrUndefined(this.helperElement) && this.helperElement.classList.contains('e-treeview')) {
710
716
  top = elementArea.top + document.scrollingElement.scrollTop;
@@ -723,7 +729,8 @@ var Draggable = /** @class */ (function (_super) {
723
729
  var intCoord = this.getCoordinates(evt);
724
730
  var ele;
725
731
  var prevStyle = this.helperElement.style.pointerEvents || '';
726
- if (compareElementParent(evt.target, this.helperElement) || evt.type.indexOf('touch') !== -1) {
732
+ var isPointer = evt.type.indexOf('pointer') !== -1 && Browser.info.name === 'safari' && parseInt(Browser.info.version) > 12;
733
+ if (compareElementParent(evt.target, this.helperElement) || evt.type.indexOf('touch') !== -1 || isPointer) {
727
734
  this.helperElement.style.pointerEvents = 'none';
728
735
  ele = document.elementFromPoint(intCoord.clientX, intCoord.clientY);
729
736
  this.helperElement.style.pointerEvents = prevStyle;
@@ -762,6 +769,12 @@ var Draggable = /** @class */ (function (_super) {
762
769
  pageX = this.clone ? intCoord.pageX : (intCoord.pageX + window.pageXOffset) - this.relativeXPosition;
763
770
  pageY = this.clone ? intCoord.pageY : (intCoord.pageY + window.pageYOffset) - this.relativeYPosition;
764
771
  }
772
+ if (document.scrollingElement) {
773
+ var isVerticalScroll = document.scrollingElement.scrollHeight > 0 && document.scrollingElement.scrollHeight > document.scrollingElement.clientHeight && document.scrollingElement.scrollTop > 0;
774
+ var isHorrizontalScroll = document.scrollingElement.scrollWidth > 0 && document.scrollingElement.scrollWidth > document.scrollingElement.clientWidth && document.scrollingElement.scrollLeft > 0;
775
+ pageX = isHorrizontalScroll ? pageX - document.scrollingElement.scrollLeft : pageX;
776
+ pageY = isVerticalScroll ? pageY - document.scrollingElement.scrollTop : pageY;
777
+ }
765
778
  return {
766
779
  left: pageX - (this.margin.left + this.cursorAt.left),
767
780
  top: pageY - (this.margin.top + this.cursorAt.top)
@@ -814,7 +827,7 @@ var Draggable = /** @class */ (function (_super) {
814
827
  if (eleInst) {
815
828
  for (var _i = 0, eleInst_1 = eleInst; _i < eleInst_1.length; _i++) {
816
829
  var inst = eleInst_1[_i];
817
- if (inst[name]() === 'droppable') {
830
+ if (inst["" + name]() === 'droppable') {
818
831
  drop = inst;
819
832
  break;
820
833
  }
@@ -57,15 +57,15 @@ var EventHandler = /** @class */ (function () {
57
57
  var event = eventName.split(' ');
58
58
  for (var i = 0; i < event.length; i++) {
59
59
  eventData.push({
60
- name: event[i],
60
+ name: event[parseInt(i.toString(), 10)],
61
61
  listener: listener,
62
62
  debounce: debounceListener
63
63
  });
64
64
  if (Browser.isIE) {
65
- element.addEventListener(event[i], debounceListener);
65
+ element.addEventListener(event[parseInt(i.toString(), 10)], debounceListener);
66
66
  }
67
67
  else {
68
- element.addEventListener(event[i], debounceListener, { passive: false });
68
+ element.addEventListener(event[parseInt(i.toString(), 10)], debounceListener, { passive: false });
69
69
  }
70
70
  }
71
71
  return debounceListener;
@@ -86,7 +86,7 @@ var EventHandler = /** @class */ (function () {
86
86
  var debounceListener;
87
87
  if (eventData && eventData.length !== 0) {
88
88
  eventData.some(function (x, i) {
89
- return x.name === event[j] && x.listener === listener ?
89
+ return x.name === event[parseInt(j.toString(), 10)] && x.listener === listener ?
90
90
  (index = i, debounceListener = x.debounce, true) : false;
91
91
  });
92
92
  }
@@ -94,7 +94,7 @@ var EventHandler = /** @class */ (function () {
94
94
  eventData.splice(index, 1);
95
95
  }
96
96
  if (debounceListener) {
97
- element.removeEventListener(event[j], debounceListener);
97
+ element.removeEventListener(event[parseInt(j.toString(), 10)], debounceListener);
98
98
  }
99
99
  };
100
100
  for (var j = 0; j < event.length; j++) {
@@ -115,7 +115,7 @@ var EventHandler = /** @class */ (function () {
115
115
  // eslint-disable-next-line
116
116
  copyData = extend([], copyData, eventData);
117
117
  for (var i = 0; i < copyData.length; i++) {
118
- element.removeEventListener(copyData[i].name, copyData[i].debounce);
118
+ element.removeEventListener(copyData[parseInt(i.toString(), 10)].name, copyData[parseInt(i.toString(), 10)].debounce);
119
119
  eventData.shift();
120
120
  }
121
121
  };
@@ -151,7 +151,7 @@ export var HijriParser;
151
151
  var tempDay = z - Math.floor(29.5001 * im - 29);
152
152
  var i = 0;
153
153
  for (; i < dateCorrection.length; i++) {
154
- if (dateCorrection[i] > modifiedJulianDate) {
154
+ if (dateCorrection[parseInt(i.toString(), 10)] > modifiedJulianDate) {
155
155
  break;
156
156
  }
157
157
  }
@@ -59,7 +59,7 @@ var DateParser = /** @class */ (function () {
59
59
  var numMapper = isBlazor() ? dependable.parserObject.numbers :
60
60
  parser.getNumberMapper(dependable.parserObject, parser.getNumberingSystem(cldr));
61
61
  for (var i = 0; i < length_1; i++) {
62
- var str = patternMatch[i];
62
+ var str = patternMatch[parseInt(i.toString(), 10)];
63
63
  var len = str.length;
64
64
  var char = (str[0] === 'K') ? 'h' : str[0];
65
65
  var isNumber = void 0;
@@ -189,7 +189,7 @@ var DateParser = /** @class */ (function () {
189
189
  break;
190
190
  }
191
191
  if (canUpdate) {
192
- parseOptions.evalposition[charKey] = { isNumber: isNumber, pos: i + 1 + gmtCorrection, hourOnly: hourOnly };
192
+ parseOptions.evalposition["" + charKey] = { isNumber: isNumber, pos: i + 1 + gmtCorrection, hourOnly: hourOnly };
193
193
  }
194
194
  if (i === length_1 - 1 && !isNullOrUndefined(regexString)) {
195
195
  parseOptions.parserRegex = new RegExp('^' + regexString + '$', 'i');
@@ -313,7 +313,7 @@ var DateParser = /** @class */ (function () {
313
313
  var props = Object.keys(parseOptions.evalposition);
314
314
  for (var _i = 0, props_1 = props; _i < props_1.length; _i++) {
315
315
  var prop = props_1[_i];
316
- var curObject = parseOptions.evalposition[prop];
316
+ var curObject = parseOptions.evalposition["" + prop];
317
317
  var matchString = matches[curObject.pos];
318
318
  if (curObject.isNumber) {
319
319
  // eslint-disable-next-line
@@ -333,7 +333,7 @@ var DateParser = /** @class */ (function () {
333
333
  val += this.getZoneValue(flag, matches[pos + 4], matches[pos + 10], num);
334
334
  }
335
335
  if (!isNullOrUndefined(val)) {
336
- retOptions[prop] = val;
336
+ retOptions["" + prop] = val;
337
337
  }
338
338
  }
339
339
  else {
@@ -939,7 +939,7 @@ export var IntlBase;
939
939
  function isCurrencyPercent(parts, actual, symbol) {
940
940
  var options = { nlead: parts[0], nend: parts[1] };
941
941
  for (var i = 0; i < 2; i++) {
942
- var part = parts[i];
942
+ var part = parts[parseInt(i.toString(), 10)];
943
943
  var loc = part.indexOf(actual);
944
944
  if ((loc !== -1) && ((loc < part.indexOf('\'')) || (loc > part.lastIndexOf('\'')))) {
945
945
  // eslint-disable-next-line
@@ -1158,7 +1158,7 @@ export var IntlBase;
1158
1158
  integer = hash + integer;
1159
1159
  pattern = '';
1160
1160
  for (var x = integer.length - 1; x > 0; x = x - 3) {
1161
- pattern = ',' + integer[x - 2] + integer[x - 1] + integer[x] + pattern;
1161
+ pattern = ',' + integer[x - 2] + integer[x - 1] + integer[parseInt(x.toString(), 10)] + pattern;
1162
1162
  }
1163
1163
  pattern = pattern.slice(1);
1164
1164
  return temp[1] ? (pattern + '.' + temp[1]) : pattern;
@@ -1179,9 +1179,9 @@ export var IntlBase;
1179
1179
  }
1180
1180
  iCulture = iCulture.slice(0, 2).toUpperCase() + iCulture.substr(2);
1181
1181
  if (mapper) {
1182
- firstDay = mapper[iCulture] || mapper[iCulture.slice(0, 2)] || defaultFirstDay;
1182
+ firstDay = mapper["" + iCulture] || mapper[iCulture.slice(0, 2)] || defaultFirstDay;
1183
1183
  }
1184
- return firstDayMapper[firstDay];
1184
+ return firstDayMapper["" + firstDay];
1185
1185
  }
1186
1186
  IntlBase.getWeekData = getWeekData;
1187
1187
  /**
@@ -6,7 +6,7 @@ var errorText = {
6
6
  'ms': 'minimumSignificantDigits',
7
7
  'ls': 'maximumSignificantDigits',
8
8
  'mf': 'minimumFractionDigits',
9
- 'lf': 'maximumFractionDigits',
9
+ 'lf': 'maximumFractionDigits'
10
10
  };
11
11
  var integerError = 'minimumIntegerDigits';
12
12
  var percentSign = 'percentSign';
@@ -44,9 +44,9 @@ var NumberFormat = /** @class */ (function () {
44
44
  dOptions.currencySymbol = isBlazor() ? getValue('currencySymbol', numObject) : base.getCurrencySymbol(dependable.numericObject, fOptions.currency || defaultCurrencyCode, option.altSymbol);
45
45
  /* eslint-disable @typescript-eslint/no-explicit-any */
46
46
  dOptions.percentSymbol = isBlazor() ? getValue('numberSymbols.percentSign', numObject) :
47
- dOptions.numberMapper.numberSymbols[percentSign];
47
+ dOptions.numberMapper.numberSymbols["" + percentSign];
48
48
  dOptions.minusSymbol = isBlazor() ? getValue('numberSymbols.minusSign', numObject) :
49
- dOptions.numberMapper.numberSymbols[minusSign];
49
+ dOptions.numberMapper.numberSymbols["" + minusSign];
50
50
  var symbols = dOptions.numberMapper.numberSymbols;
51
51
  if ((option.format) && !(base.formatRegex.test(option.format))) {
52
52
  cOptions = base.customFormat(option.format, dOptions, dependable.numericObject);