@syncfusion/ej2-inputs 20.2.48 → 20.3.49

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 (240) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/dist/ej2-inputs.min.js +10 -0
  3. package/dist/ej2-inputs.umd.min.js +2 -2
  4. package/dist/ej2-inputs.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-inputs.es2015.js +84 -48
  6. package/dist/es6/ej2-inputs.es2015.js.map +1 -1
  7. package/dist/es6/ej2-inputs.es5.js +84 -48
  8. package/dist/es6/ej2-inputs.es5.js.map +1 -1
  9. package/dist/global/ej2-inputs.min.js +2 -2
  10. package/dist/global/ej2-inputs.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +11 -10
  13. package/src/color-picker/color-picker.js +3 -3
  14. package/src/common/signature-base.d.ts +77 -1
  15. package/src/common/signature-base.js +41 -8
  16. package/src/input/input.d.ts +11 -11
  17. package/src/input/input.js +26 -22
  18. package/src/maskedtextbox/base/mask-base.js +2 -3
  19. package/src/maskedtextbox/maskedtextbox/maskedtextbox.js +1 -3
  20. package/src/numerictextbox/numerictextbox.js +10 -8
  21. package/src/textbox/textbox.js +1 -1
  22. package/styles/bootstrap-dark.css +31 -13
  23. package/styles/bootstrap.css +31 -13
  24. package/styles/bootstrap4.css +31 -13
  25. package/styles/bootstrap5-dark.css +32 -13
  26. package/styles/bootstrap5.css +32 -13
  27. package/styles/color-picker/_all.scss +1 -1
  28. package/styles/color-picker/_bootstrap-dark-definition.scss +2 -1
  29. package/styles/color-picker/_bootstrap5-definition.scss +0 -1
  30. package/styles/color-picker/_fabric-dark-definition.scss +2 -1
  31. package/styles/color-picker/_fluent-definition.scss +0 -1
  32. package/styles/color-picker/_fusionnew-definition.scss +0 -1
  33. package/styles/color-picker/_highcontrast-light-definition.scss +2 -1
  34. package/styles/color-picker/_layout.scss +2 -3
  35. package/styles/color-picker/_material-dark-definition.scss +2 -1
  36. package/styles/color-picker/_material3-definition.scss +0 -1
  37. package/styles/color-picker/_theme.scss +3 -3
  38. package/styles/color-picker/bootstrap-dark.css +2 -0
  39. package/styles/color-picker/bootstrap.css +2 -0
  40. package/styles/color-picker/bootstrap4.css +2 -0
  41. package/styles/color-picker/bootstrap5-dark.css +3 -0
  42. package/styles/color-picker/bootstrap5.css +3 -0
  43. package/styles/color-picker/fabric-dark.css +2 -0
  44. package/styles/color-picker/fabric.css +2 -0
  45. package/styles/color-picker/fluent-dark.css +3 -0
  46. package/styles/color-picker/fluent.css +3 -0
  47. package/styles/color-picker/highcontrast-light.css +2 -0
  48. package/styles/color-picker/highcontrast.css +2 -0
  49. package/styles/color-picker/icons/_bootstrap4.scss +1 -2
  50. package/styles/color-picker/icons/_bootstrap5.scss +1 -2
  51. package/styles/color-picker/icons/_fabric-dark.scss +2 -3
  52. package/styles/color-picker/icons/_fluent.scss +1 -2
  53. package/styles/color-picker/icons/_fusionnew.scss +1 -2
  54. package/styles/color-picker/icons/_material3.scss +1 -2
  55. package/styles/color-picker/icons/_tailwind-dark.scss +1 -2
  56. package/styles/color-picker/icons/_tailwind.scss +1 -2
  57. package/styles/color-picker/material-dark.css +2 -0
  58. package/styles/color-picker/material.css +2 -0
  59. package/styles/color-picker/tailwind-dark.css +3 -0
  60. package/styles/color-picker/tailwind.css +3 -0
  61. package/styles/fabric-dark.css +31 -13
  62. package/styles/fabric.css +31 -13
  63. package/styles/fluent-dark.css +32 -13
  64. package/styles/fluent.css +32 -13
  65. package/styles/highcontrast-light.css +31 -13
  66. package/styles/highcontrast.css +31 -13
  67. package/styles/input/_all.scss +1 -1
  68. package/styles/input/_bootstrap-dark-definition.scss +19 -1
  69. package/styles/input/_bootstrap-definition.scss +18 -2
  70. package/styles/input/_bootstrap4-definition.scss +17 -1
  71. package/styles/input/_bootstrap5-definition.scss +17 -2
  72. package/styles/input/_definition.scss +16 -1
  73. package/styles/input/_fabric-dark-definition.scss +16 -2
  74. package/styles/input/_fabric-definition.scss +15 -1
  75. package/styles/input/_fluent-definition.scss +19 -4
  76. package/styles/input/_fusionnew-definition.scss +17 -2
  77. package/styles/input/_highcontrast-definition.scss +17 -1
  78. package/styles/input/_highcontrast-light-definition.scss +18 -2
  79. package/styles/input/_layout.scss +313 -351
  80. package/styles/input/_material-dark-definition.scss +24 -7
  81. package/styles/input/_material-definition.scss +23 -7
  82. package/styles/input/_material3-definition.scss +17 -2
  83. package/styles/input/_responsive.scss +1 -1
  84. package/styles/input/_tailwind-definition.scss +17 -1
  85. package/styles/input/_theme.scss +248 -256
  86. package/styles/input/bootstrap-dark.css +22 -14
  87. package/styles/input/bootstrap.css +22 -14
  88. package/styles/input/bootstrap4.css +22 -14
  89. package/styles/input/bootstrap5-dark.css +22 -14
  90. package/styles/input/bootstrap5.css +22 -14
  91. package/styles/input/fabric-dark.css +22 -14
  92. package/styles/input/fabric.css +22 -14
  93. package/styles/input/fluent-dark.css +22 -14
  94. package/styles/input/fluent.css +22 -14
  95. package/styles/input/highcontrast-light.css +22 -14
  96. package/styles/input/highcontrast.css +22 -14
  97. package/styles/input/material-dark.css +26 -18
  98. package/styles/input/material.css +26 -18
  99. package/styles/input/tailwind-dark.css +22 -14
  100. package/styles/input/tailwind.css +22 -14
  101. package/styles/maskedtextbox/_all.scss +1 -1
  102. package/styles/maskedtextbox/_bootstrap-dark-definition.scss +2 -1
  103. package/styles/maskedtextbox/_bootstrap-definition.scss +0 -1
  104. package/styles/maskedtextbox/_bootstrap4-definition.scss +0 -1
  105. package/styles/maskedtextbox/_fabric-dark-definition.scss +1 -0
  106. package/styles/maskedtextbox/_highcontrast-light-definition.scss +1 -0
  107. package/styles/maskedtextbox/_layout.scss +7 -6
  108. package/styles/maskedtextbox/_material-dark-definition.scss +1 -0
  109. package/styles/maskedtextbox/_theme.scss +4 -3
  110. package/styles/maskedtextbox/bootstrap-dark.css +1 -0
  111. package/styles/maskedtextbox/bootstrap.css +1 -0
  112. package/styles/maskedtextbox/bootstrap4.css +1 -0
  113. package/styles/maskedtextbox/bootstrap5-dark.css +1 -0
  114. package/styles/maskedtextbox/bootstrap5.css +1 -0
  115. package/styles/maskedtextbox/fabric-dark.css +1 -0
  116. package/styles/maskedtextbox/fabric.css +1 -0
  117. package/styles/maskedtextbox/fluent-dark.css +1 -0
  118. package/styles/maskedtextbox/fluent.css +1 -0
  119. package/styles/maskedtextbox/highcontrast-light.css +1 -0
  120. package/styles/maskedtextbox/highcontrast.css +1 -0
  121. package/styles/maskedtextbox/material-dark.css +1 -0
  122. package/styles/maskedtextbox/material.css +1 -0
  123. package/styles/maskedtextbox/tailwind-dark.css +1 -0
  124. package/styles/maskedtextbox/tailwind.css +1 -0
  125. package/styles/material-dark.css +50 -18
  126. package/styles/material.css +50 -18
  127. package/styles/numerictextbox/_all.scss +1 -1
  128. package/styles/numerictextbox/_bootstrap-dark-definition.scss +2 -1
  129. package/styles/numerictextbox/_fabric-dark-definition.scss +2 -1
  130. package/styles/numerictextbox/_highcontrast-light-definition.scss +2 -1
  131. package/styles/numerictextbox/_material-dark-definition.scss +2 -1
  132. package/styles/numerictextbox/bootstrap-dark.css +1 -0
  133. package/styles/numerictextbox/bootstrap.css +1 -0
  134. package/styles/numerictextbox/bootstrap4.css +1 -0
  135. package/styles/numerictextbox/bootstrap5-dark.css +1 -0
  136. package/styles/numerictextbox/bootstrap5.css +1 -0
  137. package/styles/numerictextbox/fabric-dark.css +1 -0
  138. package/styles/numerictextbox/fabric.css +1 -0
  139. package/styles/numerictextbox/fluent-dark.css +1 -0
  140. package/styles/numerictextbox/fluent.css +1 -0
  141. package/styles/numerictextbox/highcontrast-light.css +1 -0
  142. package/styles/numerictextbox/highcontrast.css +1 -0
  143. package/styles/numerictextbox/icons/_bootstrap5.scss +0 -1
  144. package/styles/numerictextbox/icons/_fluent.scss +0 -1
  145. package/styles/numerictextbox/icons/_fusionnew.scss +0 -1
  146. package/styles/numerictextbox/icons/_material3.scss +0 -1
  147. package/styles/numerictextbox/icons/_tailwind.scss +0 -1
  148. package/styles/numerictextbox/material-dark.css +1 -0
  149. package/styles/numerictextbox/material.css +1 -0
  150. package/styles/numerictextbox/tailwind-dark.css +1 -0
  151. package/styles/numerictextbox/tailwind.css +1 -0
  152. package/styles/signature/_all.scss +1 -1
  153. package/styles/slider/_all.scss +1 -1
  154. package/styles/slider/_bootstrap-dark-definition.scss +1 -0
  155. package/styles/slider/_fabric-dark-definition.scss +1 -0
  156. package/styles/slider/_highcontrast-light-definition.scss +1 -0
  157. package/styles/slider/_icons.scss +1 -0
  158. package/styles/slider/_layout.scss +23 -26
  159. package/styles/slider/_material-dark-definition.scss +1 -0
  160. package/styles/slider/_theme.scss +2 -1
  161. package/styles/slider/bootstrap-dark.css +4 -0
  162. package/styles/slider/bootstrap.css +4 -0
  163. package/styles/slider/bootstrap4.css +4 -0
  164. package/styles/slider/bootstrap5-dark.css +4 -0
  165. package/styles/slider/bootstrap5.css +4 -0
  166. package/styles/slider/fabric-dark.css +4 -0
  167. package/styles/slider/fabric.css +4 -0
  168. package/styles/slider/fluent-dark.css +4 -0
  169. package/styles/slider/fluent.css +4 -0
  170. package/styles/slider/highcontrast-light.css +4 -0
  171. package/styles/slider/highcontrast.css +4 -0
  172. package/styles/slider/material-dark.css +19 -1
  173. package/styles/slider/material.css +19 -1
  174. package/styles/slider/tailwind-dark.css +4 -0
  175. package/styles/slider/tailwind.css +4 -0
  176. package/styles/tailwind-dark.css +33 -13
  177. package/styles/tailwind.css +33 -13
  178. package/styles/textbox/_all.scss +1 -1
  179. package/styles/textbox/_bootstrap-dark-definition.scss +1 -1
  180. package/styles/textbox/_bootstrap-definition.scss +1 -1
  181. package/styles/textbox/_bootstrap4-definition.scss +1 -1
  182. package/styles/textbox/_bootstrap5-definition.scss +1 -0
  183. package/styles/textbox/_fabric-dark-definition.scss +1 -1
  184. package/styles/textbox/_fabric-definition.scss +1 -1
  185. package/styles/textbox/_fluent-definition.scss +1 -0
  186. package/styles/textbox/_fusionnew-definition.scss +1 -0
  187. package/styles/textbox/_highcontrast-definition.scss +1 -1
  188. package/styles/textbox/_highcontrast-light-definition.scss +1 -1
  189. package/styles/textbox/_material-dark-definition.scss +1 -1
  190. package/styles/textbox/_material-definition.scss +1 -1
  191. package/styles/textbox/_material3-definition.scss +1 -0
  192. package/styles/textbox/_tailwind-definition.scss +1 -0
  193. package/styles/textbox/_theme.scss +1 -0
  194. package/styles/textbox/bootstrap-dark.css +2 -0
  195. package/styles/textbox/bootstrap.css +2 -0
  196. package/styles/textbox/bootstrap4.css +2 -0
  197. package/styles/textbox/bootstrap5-dark.css +2 -0
  198. package/styles/textbox/bootstrap5.css +2 -0
  199. package/styles/textbox/fabric-dark.css +2 -0
  200. package/styles/textbox/fabric.css +2 -0
  201. package/styles/textbox/fluent-dark.css +2 -0
  202. package/styles/textbox/fluent.css +2 -0
  203. package/styles/textbox/highcontrast-light.css +2 -0
  204. package/styles/textbox/highcontrast.css +2 -0
  205. package/styles/textbox/material-dark.css +3 -1
  206. package/styles/textbox/material.css +3 -1
  207. package/styles/textbox/tailwind-dark.css +3 -1
  208. package/styles/textbox/tailwind.css +3 -1
  209. package/styles/uploader/_all.scss +1 -1
  210. package/styles/uploader/_bootstrap-dark-definition.scss +3 -1
  211. package/styles/uploader/_bootstrap-definition.scss +2 -1
  212. package/styles/uploader/_bootstrap4-definition.scss +2 -1
  213. package/styles/uploader/_bootstrap5-definition.scss +1 -1
  214. package/styles/uploader/_fabric-dark-definition.scss +3 -1
  215. package/styles/uploader/_fabric-definition.scss +2 -0
  216. package/styles/uploader/_fluent-definition.scss +1 -1
  217. package/styles/uploader/_fusionnew-definition.scss +1 -1
  218. package/styles/uploader/_highcontrast-definition.scss +2 -0
  219. package/styles/uploader/_highcontrast-light-definition.scss +5 -2
  220. package/styles/uploader/_layout.scss +2 -3
  221. package/styles/uploader/_material-dark-definition.scss +4 -1
  222. package/styles/uploader/_material-definition.scss +1 -0
  223. package/styles/uploader/_material3-definition.scss +1 -1
  224. package/styles/uploader/_tailwind-definition.scss +2 -1
  225. package/styles/uploader/_theme.scss +2 -5
  226. package/styles/uploader/bootstrap-dark.css +1 -0
  227. package/styles/uploader/bootstrap.css +1 -0
  228. package/styles/uploader/bootstrap4.css +1 -0
  229. package/styles/uploader/bootstrap5-dark.css +1 -0
  230. package/styles/uploader/bootstrap5.css +1 -0
  231. package/styles/uploader/fabric-dark.css +1 -0
  232. package/styles/uploader/fabric.css +1 -0
  233. package/styles/uploader/fluent-dark.css +1 -0
  234. package/styles/uploader/fluent.css +1 -0
  235. package/styles/uploader/highcontrast-light.css +1 -0
  236. package/styles/uploader/highcontrast.css +1 -0
  237. package/styles/uploader/material-dark.css +1 -0
  238. package/styles/uploader/material.css +1 -0
  239. package/styles/uploader/tailwind-dark.css +2 -0
  240. package/styles/uploader/tailwind.css +2 -0
@@ -69,7 +69,7 @@ var Input;
69
69
  }
70
70
  validateInputType(inputObject.container, args.element);
71
71
  inputObject = setPropertyValue(args, inputObject);
72
- createSpanElement(inputObject, makeElement);
72
+ createSpanElement(inputObject.container, makeElement);
73
73
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
74
74
  return inputObject;
75
75
  }
@@ -82,6 +82,9 @@ var Input;
82
82
  || parent.classList.contains('e-filled')) {
83
83
  parent.classList.add('e-input-focus');
84
84
  }
85
+ setTimeout(() => {
86
+ Input.calculateWidth(args.element, parent);
87
+ }, 80);
85
88
  });
86
89
  args.element.addEventListener('blur', function () {
87
90
  const parent = getParentNode(this);
@@ -89,6 +92,9 @@ var Input;
89
92
  || parent.classList.contains('e-filled')) {
90
93
  parent.classList.remove('e-input-focus');
91
94
  }
95
+ setTimeout(() => {
96
+ Input.calculateWidth(args.element, parent);
97
+ }, 80);
92
98
  });
93
99
  args.element.addEventListener('input', () => {
94
100
  checkInputValue(floatType, args.element);
@@ -364,9 +370,7 @@ var Input;
364
370
  */
365
371
  function setValue$$1(value, element, floatLabelType, clearButton) {
366
372
  element.value = value;
367
- if (isNullOrUndefined(element.getAttribute('value'))) {
368
- calculateWidth(element, element.parentElement);
369
- }
373
+ calculateWidth(element, element.parentElement);
370
374
  if ((!isNullOrUndefined(floatLabelType)) && floatLabelType === 'Auto') {
371
375
  validateLabel(element, floatLabelType);
372
376
  }
@@ -417,11 +421,12 @@ var Input;
417
421
  * @param {HTMLElement} container - The parent element which is need to get the label span to calculate width
418
422
  */
419
423
  function calculateWidth(element, container) {
424
+ let elementWidth = element.clientWidth - parseInt(getComputedStyle(element, null).getPropertyValue('padding-left'));
420
425
  if (!isNullOrUndefined(container.getElementsByClassName('e-float-text-content')[0])) {
421
426
  if (container.getElementsByClassName('e-float-text-content')[0].classList.contains('e-float-text-overflow')) {
422
427
  container.getElementsByClassName('e-float-text-content')[0].classList.remove('e-float-text-overflow');
423
428
  }
424
- if (element.clientWidth < container.getElementsByClassName('e-float-text-content')[0].clientWidth || element.clientWidth === container.getElementsByClassName('e-float-text-content')[0].clientWidth) {
429
+ if (elementWidth < container.getElementsByClassName('e-float-text-content')[0].clientWidth || elementWidth === container.getElementsByClassName('e-float-text-content')[0].clientWidth) {
425
430
  container.getElementsByClassName('e-float-text-content')[0].classList.add('e-float-text-overflow');
426
431
  }
427
432
  }
@@ -471,11 +476,10 @@ var Input;
471
476
  }
472
477
  else {
473
478
  if (!isNullOrUndefined(placeholder) && placeholder !== '') {
474
- attributes(element, { 'placeholder': placeholder, 'aria-placeholder': placeholder });
479
+ attributes(element, { 'placeholder': placeholder });
475
480
  }
476
481
  else {
477
482
  element.removeAttribute('placeholder');
478
- element.removeAttribute('aria-placeholder');
479
483
  }
480
484
  }
481
485
  }
@@ -657,7 +661,7 @@ var Input;
657
661
  const inputObj = { container: container };
658
662
  input.classList.remove(CLASSNAMES.INPUT);
659
663
  createFloatingInput(args, inputObj, makeElement);
660
- createSpanElement(inputObj, makeElement);
664
+ createSpanElement(inputObj.container, makeElement);
661
665
  calculateWidth(args.element, inputObj.container);
662
666
  const isPrependIcon = container.classList.contains('e-float-icon-left');
663
667
  if (isNullOrUndefined(iconEle)) {
@@ -690,22 +694,22 @@ var Input;
690
694
  }
691
695
  Input.addFloating = addFloating;
692
696
  /**
693
- * Create the span inside the label and add the label text into the span textcontent
694
- * ```
695
- * E.g : Input.createSpanElement(inputObject, makeElement);
696
- * ```
697
- *
698
- * @param {InputObject} inputObject
699
- * - Element which is need to get the label
700
- * @param {createElementParams} makeElement
701
- * - Element which is need to create the span
702
- */
697
+ * Create the span inside the label and add the label text into the span textcontent
698
+ * ```
699
+ * E.g : Input.createSpanElement(inputObject, makeElement);
700
+ * ```
701
+ *
702
+ * @param {InputObject} inputObject
703
+ * - Element which is need to get the label
704
+ * @param {createElementParams} makeElement
705
+ * - Element which is need to create the span
706
+ */
703
707
  function createSpanElement(inputObject, makeElement) {
704
- if (inputObject.container.classList.contains('e-outline') && inputObject.container.getElementsByClassName('e-float-text')[0]) {
708
+ if (inputObject.classList.contains('e-outline') && inputObject.getElementsByClassName('e-float-text')[0]) {
705
709
  const labelSpanElement = makeElement('span', { className: CLASSNAMES.FLOATTEXTCONTENT });
706
- labelSpanElement.innerHTML = inputObject.container.getElementsByClassName('e-float-text')[0].innerHTML;
707
- inputObject.container.getElementsByClassName('e-float-text')[0].innerHTML = '';
708
- inputObject.container.getElementsByClassName('e-float-text')[0].appendChild(labelSpanElement);
710
+ labelSpanElement.innerHTML = inputObject.getElementsByClassName('e-float-text')[0].innerHTML;
711
+ inputObject.getElementsByClassName('e-float-text')[0].innerHTML = '';
712
+ inputObject.getElementsByClassName('e-float-text')[0].appendChild(labelSpanElement);
709
713
  }
710
714
  }
711
715
  Input.createSpanElement = createSpanElement;
@@ -1210,13 +1214,11 @@ let NumericTextBox = class NumericTextBox extends Component {
1210
1214
  spinBtnCreation() {
1211
1215
  this.spinDown = Input.appendSpan(SPINICON + ' ' + SPINDOWN, this.container, this.createElement);
1212
1216
  attributes(this.spinDown, {
1213
- 'title': this.l10n.getConstant('decrementTitle'),
1214
- 'aria-label': this.l10n.getConstant('decrementTitle')
1217
+ 'title': this.l10n.getConstant('decrementTitle')
1215
1218
  });
1216
1219
  this.spinUp = Input.appendSpan(SPINICON + ' ' + SPINUP, this.container, this.createElement);
1217
1220
  attributes(this.spinUp, {
1218
- 'title': this.l10n.getConstant('incrementTitle'),
1219
- 'aria-label': this.l10n.getConstant('incrementTitle')
1221
+ 'title': this.l10n.getConstant('incrementTitle')
1220
1222
  });
1221
1223
  this.wireSpinBtnEvents();
1222
1224
  }
@@ -1236,7 +1238,12 @@ let NumericTextBox = class NumericTextBox extends Component {
1236
1238
  }
1237
1239
  }
1238
1240
  this.setProperties({ min: this.min > this.max ? this.max : this.min }, true);
1239
- attributes(this.element, { 'aria-valuemin': this.min.toString(), 'aria-valuemax': this.max.toString() });
1241
+ if (this.min !== -(Number.MAX_VALUE)) {
1242
+ attributes(this.element, { 'aria-valuemin': this.min.toString() });
1243
+ }
1244
+ if (this.max !== (Number.MAX_VALUE)) {
1245
+ attributes(this.element, { 'aria-valuemax': this.max.toString() });
1246
+ }
1240
1247
  }
1241
1248
  formattedValue(decimals, value) {
1242
1249
  return this.instance.getNumberFormat({
@@ -1943,9 +1950,8 @@ let NumericTextBox = class NumericTextBox extends Component {
1943
1950
  detach(this.spinDown);
1944
1951
  }
1945
1952
  const attrArray = ['aria-labelledby', 'role', 'autocomplete', 'aria-readonly',
1946
- 'autocorrect', 'aria-disabled', 'aria-placeholder', 'autocapitalize',
1947
- 'spellcheck', 'aria-autocomplete', 'tabindex', 'aria-valuemin',
1948
- 'aria-valuemax', 'aria-live', 'aria-valuenow', 'aria-invalid'];
1953
+ 'aria-disabled', 'autocapitalize', 'spellcheck', 'aria-autocomplete', 'tabindex',
1954
+ 'aria-valuemin', 'aria-valuemax', 'aria-live', 'aria-valuenow', 'aria-invalid'];
1949
1955
  for (let i = 0; i < attrArray.length; i++) {
1950
1956
  this.element.removeAttribute(attrArray[i]);
1951
1957
  }
@@ -2244,8 +2250,8 @@ const regularExpressions = {
2244
2250
  */
2245
2251
  function createMask() {
2246
2252
  attributes(this.element, {
2247
- 'role': 'textbox', 'autocomplete': 'off', 'autocorrect': 'off', 'autocapitalize': 'off',
2248
- 'spellcheck': 'false', 'aria-live': 'assertive', 'aria-valuenow': ''
2253
+ 'role': 'textbox', 'autocomplete': 'off', 'autocapitalize': 'off',
2254
+ 'spellcheck': 'false', 'aria-live': 'assertive'
2249
2255
  });
2250
2256
  if (this.mask) {
2251
2257
  const splitMask = this.mask.split(']');
@@ -2934,7 +2940,6 @@ function triggerMaskChangeEvent(event, oldValue) {
2934
2940
  }
2935
2941
  this.preEleVal = this.element.value;
2936
2942
  this.prevValue = strippedValue.call(this, this.element);
2937
- attributes(this.element, { 'aria-valuenow': this.element.value });
2938
2943
  }
2939
2944
  function maskInputKeyUpHandler(event) {
2940
2945
  if (this.mask && !this.readonly) {
@@ -3769,9 +3774,7 @@ let MaskedTextBox = class MaskedTextBox extends Component {
3769
3774
  destroy() {
3770
3775
  unwireEvents.call(this);
3771
3776
  const attrArray = ['aria-labelledby', 'role', 'autocomplete', 'aria-readonly',
3772
- 'autocorrect', 'aria-disabled', 'aria-placeholder', 'autocapitalize',
3773
- 'spellcheck', 'aria-autocomplete',
3774
- 'aria-live', 'aria-valuenow', 'aria-invalid'];
3777
+ 'aria-disabled', 'autocapitalize', 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-invalid'];
3775
3778
  for (let i = 0; i < attrArray.length; i++) {
3776
3779
  this.element.removeAttribute(attrArray[i]);
3777
3780
  }
@@ -11042,7 +11045,7 @@ let ColorPicker = class ColorPicker extends Component {
11042
11045
  const wrapper = this.createElement('div', { className: 'e-' + this.getModuleName() + '-wrapper' });
11043
11046
  this.element.parentNode.insertBefore(wrapper, this.element);
11044
11047
  wrapper.appendChild(this.element);
11045
- attributes(this.element, { 'tabindex': '-1', 'spellcheck': 'false' });
11048
+ attributes(this.element, { 'tabindex': '-1', 'spellcheck': 'false', 'aria-label': 'colorpicker' });
11046
11049
  this.container = this.createElement('div', { className: CONTAINER });
11047
11050
  this.getWrapper().appendChild(this.container);
11048
11051
  let value = this.value ? this.roundValue(this.value).toLowerCase() : '#008000ff';
@@ -11239,7 +11242,7 @@ let ColorPicker = class ColorPicker extends Component {
11239
11242
  }
11240
11243
  }
11241
11244
  appendPalette(colors, key, refEle) {
11242
- const palette = this.createElement('div', { className: PALETTES, attrs: { 'tabindex': '0' } });
11245
+ const palette = this.createElement('div', { className: PALETTES, attrs: { 'tabindex': '0', 'role': 'grid' } });
11243
11246
  if (refEle) {
11244
11247
  refEle.appendChild(palette);
11245
11248
  }
@@ -11252,7 +11255,7 @@ let ColorPicker = class ColorPicker extends Component {
11252
11255
  for (let i = 0, len = colors.length; i < len; i++) {
11253
11256
  if (i === 0 || i % this.columns === 0) {
11254
11257
  row = this.createElement('div', {
11255
- className: 'e-row', attrs: { 'role': 'presentation' }
11258
+ className: 'e-row', attrs: { 'role': 'row' }
11256
11259
  });
11257
11260
  palette.appendChild(row);
11258
11261
  }
@@ -13347,7 +13350,7 @@ let TextBox = class TextBox extends Component {
13347
13350
  }
13348
13351
  this.respectiveElement.value = this.respectiveElement.defaultValue;
13349
13352
  this.respectiveElement.classList.remove('e-input');
13350
- this.removeAttributes(['aria-placeholder', 'aria-disabled', 'aria-readonly', 'aria-labelledby']);
13353
+ this.removeAttributes(['aria-disabled', 'aria-readonly', 'aria-labelledby']);
13351
13354
  if (!isNullOrUndefined(this.textboxWrapper)) {
13352
13355
  this.textboxWrapper.container.insertAdjacentElement('afterend', this.respectiveElement);
13353
13356
  detach(this.textboxWrapper.container);
@@ -13542,6 +13545,7 @@ class SignatureBase extends Component {
13542
13545
  this.clearArray = [];
13543
13546
  this.isBlazor = false;
13544
13547
  this.isResponsive = false;
13548
+ this.imageEditorPointsColl = [];
13545
13549
  }
13546
13550
  /**
13547
13551
  * To Initialize the component rendering
@@ -13605,18 +13609,23 @@ class SignatureBase extends Component {
13605
13609
  this.canvasContext.fillStyle = this.strokeColor;
13606
13610
  if (this.backgroundImage) {
13607
13611
  this.canvasContext.canvas.style.backgroundImage = 'url(' + this.backgroundImage + ')';
13608
- this.canvasContext.canvas.style.backgroundRepeat = "no-repeat";
13612
+ this.canvasContext.canvas.style.backgroundRepeat = 'no-repeat';
13609
13613
  }
13610
13614
  else if (this.backgroundColor) {
13611
13615
  this.canvasContext.canvas.style.backgroundColor = this.backgroundColor;
13612
13616
  }
13613
13617
  }
13614
- mouseDownHandler(e) {
13618
+ mouseDownHandler(e, canvas, panStart, zoomState) {
13615
13619
  if (e.buttons === 1 || e.buttons === 2 || e.type === 'touchstart') {
13616
13620
  if (e.type === 'touchstart') {
13617
13621
  e.preventDefault();
13618
13622
  e.stopPropagation();
13619
13623
  }
13624
+ if (canvas) {
13625
+ this.canvasContext = canvas.getContext('2d');
13626
+ this.scale = zoomState;
13627
+ this.panStart = panStart;
13628
+ }
13620
13629
  this.beginStroke(e);
13621
13630
  this.wireEvents();
13622
13631
  }
@@ -13733,10 +13742,34 @@ class SignatureBase extends Component {
13733
13742
  createPoint(e) {
13734
13743
  const rect = this.canvasContext.canvas.getBoundingClientRect();
13735
13744
  if (e.type === 'mousedown' || e.type === 'mousemove') {
13736
- return this.point(e.clientX - rect.left, e.clientY - rect.top, new Date().getTime());
13745
+ // signature
13746
+ if (this.canvasRatio === undefined) {
13747
+ return this.point(e.clientX - rect.left, e.clientY - rect.top, new Date().getTime());
13748
+ }
13749
+ // image editor
13750
+ else if (this.scale === 1) {
13751
+ return this.point(((e.clientX - rect.left) * this.canvasRatio.width) / this.scale, ((e.clientY - rect.top) * this.canvasRatio.height) / this.scale, new Date().getTime());
13752
+ }
13753
+ else {
13754
+ return this.point((((e.clientX - rect.left) + ((this.panStart.startX) / this.canvasRatio.width
13755
+ * this.scale)) / this.scale) * this.canvasRatio.width, (((e.clientY - rect.top) + ((this.panStart.startY) / this.canvasRatio.height
13756
+ * this.scale)) / this.scale) * this.canvasRatio.height, new Date().getTime());
13757
+ }
13737
13758
  }
13738
13759
  else {
13739
- return this.point(e.touches[0].clientX - rect.left, e.touches[0].clientY - rect.top, new Date().getTime());
13760
+ // signature
13761
+ if (this.canvasRatio === undefined) {
13762
+ return this.point(e.touches[0].clientX - rect.left, e.touches[0].clientY - rect.top, new Date().getTime());
13763
+ }
13764
+ // image editor
13765
+ else if (this.scale === 1) {
13766
+ return this.point(((e.touches[0].clientX - rect.left) * this.canvasRatio.width) / this.scale, ((e.touches[0].clientY - rect.top) * this.canvasRatio.height) / this.scale, new Date().getTime());
13767
+ }
13768
+ else {
13769
+ return this.point((e.touches[0].clientX - rect.left) + this.panStart.startX / (this.canvasRatio.width
13770
+ * this.scale), (e.touches[0].clientY - rect.top) + this.panStart.startY / (this.canvasRatio.height
13771
+ * this.scale), new Date().getTime());
13772
+ }
13740
13773
  }
13741
13774
  }
13742
13775
  /* Returns the current point corrdinates(x, y) and time.*/
@@ -13754,6 +13787,7 @@ class SignatureBase extends Component {
13754
13787
  const isLastPointTooClose = lastPoint ? this.distanceTo(lastPoint) <= this.minDistance : false;
13755
13788
  if (!lastPoint || !(lastPoint && isLastPointTooClose)) {
13756
13789
  points.push(point);
13790
+ this.imageEditorPointsColl.push(point);
13757
13791
  if (points.length > 2) {
13758
13792
  if (points.length === 3) {
13759
13793
  points.unshift(points[0]);
@@ -14391,10 +14425,12 @@ class SignatureBase extends Component {
14391
14425
  * @returns {void}
14392
14426
  */
14393
14427
  destroy() {
14394
- this.unwireEvents(null);
14395
- removeClass([this.element], 'e-' + this.getModuleName());
14396
- this.element.removeAttribute('tabindex');
14397
- this.pointColl = null;
14428
+ if (this.getModuleName() !== 'image-editor') {
14429
+ this.unwireEvents(null);
14430
+ removeClass([this.element], 'e-' + this.getModuleName());
14431
+ this.element.removeAttribute('tabindex');
14432
+ this.pointColl = null;
14433
+ }
14398
14434
  super.destroy();
14399
14435
  }
14400
14436
  /**