@syncfusion/ej2-inputs 22.2.12 → 23.1.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 (274) hide show
  1. package/CHANGELOG.md +4 -82
  2. package/dist/ej2-inputs.min.js +3 -3
  3. package/dist/ej2-inputs.umd.min.js +3 -3
  4. package/dist/ej2-inputs.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-inputs.es2015.js +69 -41
  6. package/dist/es6/ej2-inputs.es2015.js.map +1 -1
  7. package/dist/es6/ej2-inputs.es5.js +69 -41
  8. package/dist/es6/ej2-inputs.es5.js.map +1 -1
  9. package/dist/global/ej2-inputs.min.js +3 -3
  10. package/dist/global/ej2-inputs.min.js.map +1 -1
  11. package/dist/global/index.d.ts +2 -2
  12. package/package.json +10 -10
  13. package/src/color-picker/color-picker-model.d.ts +1 -1
  14. package/src/color-picker/color-picker.js +10 -2
  15. package/src/common/signature-base.d.ts +3 -1
  16. package/src/common/signature-base.js +53 -34
  17. package/src/form-validator/form-validator.js +5 -5
  18. package/src/rating/rating-model.d.ts +12 -0
  19. package/src/rating/rating.d.ts +12 -0
  20. package/src/uploader/uploader.js +1 -0
  21. package/styles/bootstrap-dark.css +0 -4
  22. package/styles/bootstrap.css +0 -4
  23. package/styles/bootstrap4.css +0 -4
  24. package/styles/bootstrap5-dark.css +0 -4
  25. package/styles/bootstrap5.css +0 -4
  26. package/styles/color-picker/bootstrap-dark.scss +1 -1
  27. package/styles/color-picker/bootstrap.scss +1 -1
  28. package/styles/color-picker/bootstrap4.scss +1 -1
  29. package/styles/color-picker/bootstrap5-dark.scss +1 -1
  30. package/styles/color-picker/bootstrap5.scss +1 -1
  31. package/styles/color-picker/fabric-dark.scss +1 -1
  32. package/styles/color-picker/fabric.scss +1 -1
  33. package/styles/color-picker/fluent-dark.scss +1 -1
  34. package/styles/color-picker/fluent.scss +1 -1
  35. package/styles/color-picker/highcontrast-light.scss +1 -1
  36. package/styles/color-picker/highcontrast.scss +1 -1
  37. package/styles/color-picker/material-dark.css +0 -1
  38. package/styles/color-picker/material-dark.scss +1 -1
  39. package/styles/color-picker/material.css +0 -1
  40. package/styles/color-picker/material.scss +1 -1
  41. package/styles/color-picker/material3-dark.css +0 -1
  42. package/styles/color-picker/material3-dark.scss +1 -1
  43. package/styles/color-picker/material3.css +0 -1
  44. package/styles/color-picker/material3.scss +1 -1
  45. package/styles/color-picker/tailwind-dark.css +0 -1
  46. package/styles/color-picker/tailwind-dark.scss +1 -1
  47. package/styles/color-picker/tailwind.css +0 -1
  48. package/styles/color-picker/tailwind.scss +1 -1
  49. package/styles/fabric-dark.css +0 -4
  50. package/styles/fabric.css +0 -4
  51. package/styles/fluent-dark.css +0 -4
  52. package/styles/fluent.css +0 -4
  53. package/styles/highcontrast-light.css +0 -4
  54. package/styles/highcontrast.css +0 -4
  55. package/styles/input/_layout.scss +1 -1
  56. package/styles/input/bootstrap-dark.scss +1 -1
  57. package/styles/input/bootstrap.scss +1 -1
  58. package/styles/input/bootstrap4.scss +1 -1
  59. package/styles/input/bootstrap5-dark.scss +1 -1
  60. package/styles/input/bootstrap5.scss +1 -1
  61. package/styles/input/fabric-dark.scss +1 -1
  62. package/styles/input/fabric.scss +1 -1
  63. package/styles/input/fluent-dark.scss +1 -1
  64. package/styles/input/fluent.scss +1 -1
  65. package/styles/input/highcontrast-light.scss +1 -1
  66. package/styles/input/highcontrast.scss +1 -1
  67. package/styles/input/material-dark.css +0 -1
  68. package/styles/input/material-dark.scss +1 -1
  69. package/styles/input/material.css +0 -1
  70. package/styles/input/material.scss +1 -1
  71. package/styles/input/material3-dark.css +0 -1
  72. package/styles/input/material3-dark.scss +1 -1
  73. package/styles/input/material3.css +0 -1
  74. package/styles/input/material3.scss +1 -1
  75. package/styles/input/tailwind-dark.css +0 -1
  76. package/styles/input/tailwind-dark.scss +1 -1
  77. package/styles/input/tailwind.css +0 -1
  78. package/styles/input/tailwind.scss +1 -1
  79. package/styles/maskedtextbox/bootstrap-dark.scss +1 -1
  80. package/styles/maskedtextbox/bootstrap.scss +1 -1
  81. package/styles/maskedtextbox/bootstrap4.scss +1 -1
  82. package/styles/maskedtextbox/bootstrap5-dark.scss +1 -1
  83. package/styles/maskedtextbox/bootstrap5.scss +1 -1
  84. package/styles/maskedtextbox/fabric-dark.scss +1 -1
  85. package/styles/maskedtextbox/fabric.scss +1 -1
  86. package/styles/maskedtextbox/fluent-dark.scss +1 -1
  87. package/styles/maskedtextbox/fluent.scss +1 -1
  88. package/styles/maskedtextbox/highcontrast-light.scss +1 -1
  89. package/styles/maskedtextbox/highcontrast.scss +1 -1
  90. package/styles/maskedtextbox/material-dark.css +0 -1
  91. package/styles/maskedtextbox/material-dark.scss +1 -1
  92. package/styles/maskedtextbox/material.css +0 -1
  93. package/styles/maskedtextbox/material.scss +1 -1
  94. package/styles/maskedtextbox/material3-dark.css +0 -1
  95. package/styles/maskedtextbox/material3-dark.scss +1 -1
  96. package/styles/maskedtextbox/material3.css +0 -1
  97. package/styles/maskedtextbox/material3.scss +1 -1
  98. package/styles/maskedtextbox/tailwind-dark.css +0 -1
  99. package/styles/maskedtextbox/tailwind-dark.scss +1 -1
  100. package/styles/maskedtextbox/tailwind.css +0 -1
  101. package/styles/maskedtextbox/tailwind.scss +1 -1
  102. package/styles/material-dark.css +0 -5
  103. package/styles/material.css +0 -5
  104. package/styles/material3-dark.css +1 -6
  105. package/styles/material3-dark.scss +1 -1
  106. package/styles/material3.css +1 -6
  107. package/styles/material3.scss +1 -1
  108. package/styles/numerictextbox/bootstrap-dark.scss +1 -1
  109. package/styles/numerictextbox/bootstrap.scss +1 -1
  110. package/styles/numerictextbox/bootstrap4.scss +1 -1
  111. package/styles/numerictextbox/bootstrap5-dark.scss +1 -1
  112. package/styles/numerictextbox/bootstrap5.scss +1 -1
  113. package/styles/numerictextbox/fabric-dark.scss +1 -1
  114. package/styles/numerictextbox/fabric.scss +1 -1
  115. package/styles/numerictextbox/fluent-dark.scss +1 -1
  116. package/styles/numerictextbox/fluent.scss +1 -1
  117. package/styles/numerictextbox/highcontrast-light.scss +1 -1
  118. package/styles/numerictextbox/highcontrast.scss +1 -1
  119. package/styles/numerictextbox/material-dark.css +0 -1
  120. package/styles/numerictextbox/material-dark.scss +1 -1
  121. package/styles/numerictextbox/material.css +0 -1
  122. package/styles/numerictextbox/material.scss +1 -1
  123. package/styles/numerictextbox/material3-dark.css +0 -1
  124. package/styles/numerictextbox/material3-dark.scss +1 -1
  125. package/styles/numerictextbox/material3.css +0 -1
  126. package/styles/numerictextbox/material3.scss +1 -1
  127. package/styles/numerictextbox/tailwind-dark.css +0 -1
  128. package/styles/numerictextbox/tailwind-dark.scss +1 -1
  129. package/styles/numerictextbox/tailwind.css +0 -1
  130. package/styles/numerictextbox/tailwind.scss +1 -1
  131. package/styles/rating/_bootstrap-dark-definition.scss +0 -4
  132. package/styles/rating/_bootstrap-definition.scss +0 -4
  133. package/styles/rating/_bootstrap4-definition.scss +0 -4
  134. package/styles/rating/_bootstrap5-definition.scss +0 -4
  135. package/styles/rating/_fabric-dark-definition.scss +0 -4
  136. package/styles/rating/_fabric-definition.scss +0 -4
  137. package/styles/rating/_fluent-definition.scss +0 -4
  138. package/styles/rating/_fusionnew-definition.scss +0 -4
  139. package/styles/rating/_highcontrast-definition.scss +0 -4
  140. package/styles/rating/_highcontrast-light-definition.scss +0 -4
  141. package/styles/rating/_layout.scss +0 -4
  142. package/styles/rating/_material-dark-definition.scss +0 -4
  143. package/styles/rating/_material-definition.scss +0 -4
  144. package/styles/rating/_material3-definition.scss +0 -4
  145. package/styles/rating/_tailwind-definition.scss +0 -4
  146. package/styles/rating/_theme.scss +3 -0
  147. package/styles/rating/bootstrap-dark.css +0 -4
  148. package/styles/rating/bootstrap-dark.scss +1 -1
  149. package/styles/rating/bootstrap.css +0 -4
  150. package/styles/rating/bootstrap.scss +1 -1
  151. package/styles/rating/bootstrap4.css +0 -4
  152. package/styles/rating/bootstrap4.scss +1 -1
  153. package/styles/rating/bootstrap5-dark.css +0 -4
  154. package/styles/rating/bootstrap5-dark.scss +1 -1
  155. package/styles/rating/bootstrap5.css +0 -4
  156. package/styles/rating/bootstrap5.scss +1 -1
  157. package/styles/rating/fabric-dark.css +0 -4
  158. package/styles/rating/fabric-dark.scss +1 -1
  159. package/styles/rating/fabric.css +0 -4
  160. package/styles/rating/fabric.scss +1 -1
  161. package/styles/rating/fluent-dark.css +0 -4
  162. package/styles/rating/fluent-dark.scss +1 -1
  163. package/styles/rating/fluent.css +0 -4
  164. package/styles/rating/fluent.scss +1 -1
  165. package/styles/rating/highcontrast-light.css +0 -4
  166. package/styles/rating/highcontrast-light.scss +1 -1
  167. package/styles/rating/highcontrast.css +0 -4
  168. package/styles/rating/highcontrast.scss +1 -1
  169. package/styles/rating/material-dark.css +0 -5
  170. package/styles/rating/material-dark.scss +1 -1
  171. package/styles/rating/material.css +0 -5
  172. package/styles/rating/material.scss +1 -1
  173. package/styles/rating/material3-dark.css +1 -6
  174. package/styles/rating/material3-dark.scss +1 -1
  175. package/styles/rating/material3.css +1 -6
  176. package/styles/rating/material3.scss +1 -1
  177. package/styles/rating/tailwind-dark.css +0 -5
  178. package/styles/rating/tailwind-dark.scss +1 -1
  179. package/styles/rating/tailwind.css +0 -5
  180. package/styles/rating/tailwind.scss +1 -1
  181. package/styles/signature/bootstrap-dark.scss +1 -1
  182. package/styles/signature/bootstrap.scss +1 -1
  183. package/styles/signature/bootstrap4.scss +1 -1
  184. package/styles/signature/bootstrap5-dark.scss +1 -1
  185. package/styles/signature/bootstrap5.scss +1 -1
  186. package/styles/signature/fabric-dark.scss +1 -1
  187. package/styles/signature/fabric.scss +1 -1
  188. package/styles/signature/fluent-dark.scss +1 -1
  189. package/styles/signature/fluent.scss +1 -1
  190. package/styles/signature/highcontrast-light.scss +1 -1
  191. package/styles/signature/highcontrast.scss +1 -1
  192. package/styles/signature/material-dark.css +0 -1
  193. package/styles/signature/material-dark.scss +1 -1
  194. package/styles/signature/material.css +0 -1
  195. package/styles/signature/material.scss +1 -1
  196. package/styles/signature/material3-dark.css +0 -1
  197. package/styles/signature/material3-dark.scss +1 -1
  198. package/styles/signature/material3.css +0 -1
  199. package/styles/signature/material3.scss +1 -1
  200. package/styles/signature/tailwind-dark.css +0 -1
  201. package/styles/signature/tailwind-dark.scss +1 -1
  202. package/styles/signature/tailwind.css +0 -1
  203. package/styles/signature/tailwind.scss +1 -1
  204. package/styles/slider/bootstrap-dark.scss +1 -1
  205. package/styles/slider/bootstrap.scss +1 -1
  206. package/styles/slider/bootstrap4.scss +1 -1
  207. package/styles/slider/bootstrap5-dark.scss +1 -1
  208. package/styles/slider/bootstrap5.scss +1 -1
  209. package/styles/slider/fabric-dark.scss +1 -1
  210. package/styles/slider/fabric.scss +1 -1
  211. package/styles/slider/fluent-dark.scss +1 -1
  212. package/styles/slider/fluent.scss +1 -1
  213. package/styles/slider/highcontrast-light.scss +1 -1
  214. package/styles/slider/highcontrast.scss +1 -1
  215. package/styles/slider/material-dark.css +0 -1
  216. package/styles/slider/material-dark.scss +1 -1
  217. package/styles/slider/material.css +0 -1
  218. package/styles/slider/material.scss +1 -1
  219. package/styles/slider/material3-dark.css +0 -1
  220. package/styles/slider/material3-dark.scss +1 -1
  221. package/styles/slider/material3.css +0 -1
  222. package/styles/slider/material3.scss +1 -1
  223. package/styles/slider/tailwind-dark.css +0 -1
  224. package/styles/slider/tailwind-dark.scss +1 -1
  225. package/styles/slider/tailwind.css +0 -1
  226. package/styles/slider/tailwind.scss +1 -1
  227. package/styles/tailwind-dark.css +0 -13
  228. package/styles/tailwind.css +0 -13
  229. package/styles/textbox/bootstrap-dark.scss +1 -1
  230. package/styles/textbox/bootstrap.scss +1 -1
  231. package/styles/textbox/bootstrap4.scss +1 -1
  232. package/styles/textbox/bootstrap5-dark.scss +1 -1
  233. package/styles/textbox/bootstrap5.scss +1 -1
  234. package/styles/textbox/fabric-dark.scss +1 -1
  235. package/styles/textbox/fabric.scss +1 -1
  236. package/styles/textbox/fluent-dark.scss +1 -1
  237. package/styles/textbox/fluent.scss +1 -1
  238. package/styles/textbox/highcontrast-light.scss +1 -1
  239. package/styles/textbox/highcontrast.scss +1 -1
  240. package/styles/textbox/material-dark.css +0 -1
  241. package/styles/textbox/material-dark.scss +1 -1
  242. package/styles/textbox/material.css +0 -1
  243. package/styles/textbox/material.scss +1 -1
  244. package/styles/textbox/material3-dark.css +0 -1
  245. package/styles/textbox/material3-dark.scss +1 -1
  246. package/styles/textbox/material3.css +0 -1
  247. package/styles/textbox/material3.scss +1 -1
  248. package/styles/textbox/tailwind-dark.css +0 -1
  249. package/styles/textbox/tailwind-dark.scss +1 -1
  250. package/styles/textbox/tailwind.css +0 -1
  251. package/styles/textbox/tailwind.scss +1 -1
  252. package/styles/uploader/bootstrap-dark.scss +1 -1
  253. package/styles/uploader/bootstrap.scss +1 -1
  254. package/styles/uploader/bootstrap4.scss +1 -1
  255. package/styles/uploader/bootstrap5-dark.scss +1 -1
  256. package/styles/uploader/bootstrap5.scss +1 -1
  257. package/styles/uploader/fabric-dark.scss +1 -1
  258. package/styles/uploader/fabric.scss +1 -1
  259. package/styles/uploader/fluent-dark.scss +1 -1
  260. package/styles/uploader/fluent.scss +1 -1
  261. package/styles/uploader/highcontrast-light.scss +1 -1
  262. package/styles/uploader/highcontrast.scss +1 -1
  263. package/styles/uploader/material-dark.css +0 -1
  264. package/styles/uploader/material-dark.scss +1 -1
  265. package/styles/uploader/material.css +0 -1
  266. package/styles/uploader/material.scss +1 -1
  267. package/styles/uploader/material3-dark.css +0 -1
  268. package/styles/uploader/material3-dark.scss +1 -1
  269. package/styles/uploader/material3.css +0 -1
  270. package/styles/uploader/material3.scss +1 -1
  271. package/styles/uploader/tailwind-dark.css +0 -1
  272. package/styles/uploader/tailwind-dark.scss +1 -1
  273. package/styles/uploader/tailwind.css +0 -1
  274. package/styles/uploader/tailwind.scss +1 -1
@@ -1,5 +1,5 @@
1
1
  import { Ajax, Animation, Base, Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, SanitizeHtmlHelper, addClass, append, attributes, classList, closest, compile, createElement, detach, extend, formatUnit, getInstance, getNumericObject, getUniqueID, getValue, initializeCSPTemplate, isNullOrUndefined, merge, onIntlChange, remove, removeClass, rippleEffect, select, selectAll, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
2
- import { Popup, Tooltip, createSpinner, getZindexPartial, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
2
+ import { Popup, Tooltip, createSpinner, getZindexPartial, hideSpinner, isCollide, showSpinner } from '@syncfusion/ej2-popups';
3
3
  import { Deferred, SplitButton, getModel } from '@syncfusion/ej2-splitbuttons';
4
4
 
5
5
  /* eslint-disable valid-jsdoc, jsdoc/require-jsdoc, jsdoc/require-returns, jsdoc/require-param */
@@ -7299,7 +7299,7 @@ var FormValidator = /** @__PURE__ @class */ (function (_super) {
7299
7299
  input.removeAttribute('aria-invalid');
7300
7300
  var inputParent = input.parentElement;
7301
7301
  var grandParent = inputParent.parentElement;
7302
- if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
7302
+ if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (input.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
7303
7303
  inputParent.classList.remove(this.errorClass);
7304
7304
  }
7305
7305
  else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') || grandParent.classList.contains('e-wrapper'))) {
@@ -7313,7 +7313,7 @@ var FormValidator = /** @__PURE__ @class */ (function (_super) {
7313
7313
  this.getErrorElement(input.name);
7314
7314
  this.hideMessage(input.name);
7315
7315
  }
7316
- if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
7316
+ if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (input.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
7317
7317
  inputParent.classList.remove(this.validClass);
7318
7318
  }
7319
7319
  else if ((grandParent != null) && (grandParent.classList.contains('e-control-wrapper') || grandParent.classList.contains('e-wrapper'))) {
@@ -7571,7 +7571,7 @@ var FormValidator = /** @__PURE__ @class */ (function (_super) {
7571
7571
  this.inputElement.setAttribute('aria-describedby', this.inputElement.id + '-info');
7572
7572
  var inputParent = this.inputElement.parentElement;
7573
7573
  var grandParent = inputParent.parentElement;
7574
- if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
7574
+ if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
7575
7575
  inputParent.classList.add(this.errorClass);
7576
7576
  inputParent.classList.remove(this.validClass);
7577
7577
  }
@@ -7591,7 +7591,7 @@ var FormValidator = /** @__PURE__ @class */ (function (_super) {
7591
7591
  }
7592
7592
  eventArgs.errorElement = this.infoElement;
7593
7593
  eventArgs.status = 'failure';
7594
- if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
7594
+ if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
7595
7595
  inputParent.classList.add(this.errorClass);
7596
7596
  inputParent.classList.remove(this.validClass);
7597
7597
  }
@@ -7746,7 +7746,7 @@ var FormValidator = /** @__PURE__ @class */ (function (_super) {
7746
7746
  this.removeErrorRules(name);
7747
7747
  var inputParent = this.inputElement.parentElement;
7748
7748
  var grandParent = inputParent.parentElement;
7749
- if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper')) {
7749
+ if (inputParent.classList.contains('e-control-wrapper') || inputParent.classList.contains('e-wrapper') || (this.inputElement.classList.contains('e-input') && inputParent.classList.contains('e-input-group'))) {
7750
7750
  inputParent.classList.add(this.validClass);
7751
7751
  inputParent.classList.remove(this.errorClass);
7752
7752
  }
@@ -9188,6 +9188,7 @@ var Uploader = /** @__PURE__ @class */ (function (_super) {
9188
9188
  var fileData = [];
9189
9189
  if (!this.multiple) {
9190
9190
  this.clearData(true);
9191
+ this.actionCompleteCount = 0;
9191
9192
  targetFiles = [targetFiles[0]];
9192
9193
  }
9193
9194
  for (var i = 0; i < targetFiles.length; i++) {
@@ -11642,6 +11643,15 @@ var ColorPicker = /** @__PURE__ @class */ (function (_super) {
11642
11643
  };
11643
11644
  ColorPicker.prototype.onOpen = function () {
11644
11645
  this.trigger('open', { element: this.container });
11646
+ if (!Browser.isDevice) {
11647
+ var popupInst = this.getPopupInst();
11648
+ var collision = isCollide(popupInst.element);
11649
+ if (collision.length > 0) {
11650
+ popupInst.collision = { X: 'flip', Y: 'fit' };
11651
+ popupInst.position = { X: 'right', Y: 'bottom' };
11652
+ popupInst.targetType = 'container';
11653
+ }
11654
+ }
11645
11655
  };
11646
11656
  ColorPicker.prototype.getPopupInst = function () {
11647
11657
  return getInstance(this.getPopupEle(), Popup);
@@ -12057,7 +12067,6 @@ var ColorPicker = /** @__PURE__ @class */ (function (_super) {
12057
12067
  });
12058
12068
  tooltip.createElement = this.createElement;
12059
12069
  tooltip.appendTo(this.container);
12060
- // eslint-disable-next-line
12061
12070
  tooltip.open(this.container);
12062
12071
  this.tooltipEle.style.zIndex = getZindexPartial(this.tooltipEle).toString();
12063
12072
  select('.e-tip-content', this.tooltipEle).appendChild(this.createElement('div', { className: 'e-tip-transparent' }));
@@ -14203,20 +14212,28 @@ var SignatureBase = /** @__PURE__ @class */ (function (_super) {
14203
14212
  }
14204
14213
  };
14205
14214
  SignatureBase.prototype.setHTMLProperties = function () {
14206
- if (this.element.height === 150 && this.element.width === 300) {
14215
+ if (this.element.height === 150 && this.element.width === 300 && this.element.offsetHeight !== 0 && this.element.offsetWidth !== 0) {
14207
14216
  this.element.height = this.element.offsetHeight;
14208
14217
  this.element.width = this.element.offsetWidth;
14209
14218
  this.isResponsive = true;
14210
14219
  }
14211
- else if (this.element.height !== this.element.offsetHeight - 1 || this.element.width !== this.element.offsetWidth - 1) {
14220
+ else if ((this.element.height !== this.element.offsetHeight - 1 || this.element.width !== this.element.offsetWidth - 1)
14221
+ && this.element.offsetHeight !== 0 && this.element.offsetWidth !== 0) {
14212
14222
  this.element.height = this.element.offsetHeight;
14213
14223
  this.element.width = this.element.offsetWidth;
14214
14224
  }
14215
14225
  this.canvasContext.scale(1, 1);
14216
14226
  this.canvasContext.fillStyle = this.strokeColor;
14227
+ this.tempCanvas = this.createElement('canvas', { className: 'e-' + this.getModuleName() + '-temp' });
14228
+ this.tempContext = this.tempCanvas.getContext('2d');
14229
+ this.tempCanvas.width = this.element.width;
14230
+ this.tempCanvas.height = this.element.height;
14217
14231
  if (this.backgroundImage) {
14218
14232
  this.canvasContext.canvas.style.backgroundImage = 'url(' + this.backgroundImage + ')';
14219
14233
  this.canvasContext.canvas.style.backgroundRepeat = 'no-repeat';
14234
+ if (this.saveWithBackground) {
14235
+ this.setBackgroundImage(this.backgroundImage, 'temp');
14236
+ }
14220
14237
  }
14221
14238
  else if (this.backgroundColor) {
14222
14239
  this.canvasContext.canvas.style.backgroundColor = this.backgroundColor;
@@ -14323,7 +14340,7 @@ var SignatureBase = /** @__PURE__ @class */ (function (_super) {
14323
14340
  }
14324
14341
  };
14325
14342
  SignatureBase.prototype.beginStroke = function (e) {
14326
- this.refresh();
14343
+ this.internalRefresh();
14327
14344
  this.updateStroke(e);
14328
14345
  };
14329
14346
  SignatureBase.prototype.updateStroke = function (e) {
@@ -14574,19 +14591,27 @@ var SignatureBase = /** @__PURE__ @class */ (function (_super) {
14574
14591
  this.clearArray.push(this.incStep);
14575
14592
  }
14576
14593
  };
14577
- SignatureBase.prototype.setBackgroundImage = function (imageSrc) {
14594
+ SignatureBase.prototype.setBackgroundImage = function (imageSrc, type) {
14578
14595
  // eslint-disable-next-line @typescript-eslint/no-this-alias
14579
14596
  var proxy = this;
14580
14597
  var imageObj = new Image();
14581
14598
  imageObj.crossOrigin = 'anonymous';
14582
14599
  imageObj.src = imageSrc;
14583
- imageObj.onload = function () {
14584
- proxy.canvasContext.globalCompositeOperation = 'source-over';
14585
- proxy.canvasContext.drawImage(imageObj, 0, 0, proxy.element.width, proxy.element.height);
14586
- proxy.updateSnapCollection();
14587
- proxy.saveBackground(true);
14588
- };
14589
- this.canvasContext.clearRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
14600
+ if (type == 'temp') {
14601
+ imageObj.onload = function () {
14602
+ proxy.tempContext.globalCompositeOperation = 'source-over';
14603
+ proxy.tempContext.drawImage(imageObj, 0, 0, proxy.element.width, proxy.element.height);
14604
+ };
14605
+ }
14606
+ else {
14607
+ imageObj.onload = function () {
14608
+ proxy.canvasContext.globalCompositeOperation = 'source-over';
14609
+ proxy.canvasContext.drawImage(imageObj, 0, 0, proxy.element.width, proxy.element.height);
14610
+ proxy.updateSnapCollection();
14611
+ proxy.saveBackground(true);
14612
+ };
14613
+ this.canvasContext.clearRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
14614
+ }
14590
14615
  };
14591
14616
  SignatureBase.prototype.setBackgroundColor = function (color) {
14592
14617
  var canvasEle = this.canvasContext;
@@ -14642,16 +14667,21 @@ var SignatureBase = /** @__PURE__ @class */ (function (_super) {
14642
14667
  a.click();
14643
14668
  a.parentNode.removeChild(a);
14644
14669
  };
14670
+ SignatureBase.prototype.internalRefresh = function () {
14671
+ this.pointColl = [];
14672
+ this.lastVelocity = 0;
14673
+ this.lastWidth = (this.minStrokeWidth + this.maxStrokeWidth) / 2;
14674
+ };
14645
14675
  /**
14646
14676
  * To refresh the signature.
14647
14677
  *
14648
- * @private
14649
14678
  * @returns {void}.
14650
14679
  */
14651
14680
  SignatureBase.prototype.refresh = function () {
14652
- this.pointColl = [];
14653
- this.lastVelocity = 0;
14654
- this.lastWidth = (this.minStrokeWidth + this.maxStrokeWidth) / 2;
14681
+ this.isResponsive = false;
14682
+ this.setHTMLProperties();
14683
+ this.resizeHandler();
14684
+ this.internalRefresh();
14655
14685
  };
14656
14686
  /**
14657
14687
  * Erases all the signature strokes signed by user.
@@ -14661,7 +14691,7 @@ var SignatureBase = /** @__PURE__ @class */ (function (_super) {
14661
14691
  SignatureBase.prototype.clear = function () {
14662
14692
  var args = { actionName: 'clear' };
14663
14693
  this.canvasContext.clearRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
14664
- this.refresh();
14694
+ this.internalRefresh();
14665
14695
  this.signRatioPointsColl = [];
14666
14696
  this.updateSnapCollection(true);
14667
14697
  this.isSignatureEmpty = true;
@@ -14936,8 +14966,7 @@ var SignatureBase = /** @__PURE__ @class */ (function (_super) {
14936
14966
  this.snapColl.pop();
14937
14967
  this.incStep--;
14938
14968
  };
14939
- SignatureBase.prototype.toSVG = function (fileName) {
14940
- var dataUrl = this.canvasContext.canvas.toDataURL();
14969
+ SignatureBase.prototype.toSVG = function (fileName, dataUrl) {
14941
14970
  var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
14942
14971
  svg.setAttribute('width', this.canvasContext.canvas.width.toString());
14943
14972
  svg.setAttribute('height', this.canvasContext.canvas.height.toString());
@@ -14978,27 +15007,23 @@ var SignatureBase = /** @__PURE__ @class */ (function (_super) {
14978
15007
  * @returns {string}.
14979
15008
  */
14980
15009
  SignatureBase.prototype.getSignature = function (type) {
15010
+ if (this.saveWithBackground && this.backgroundColor && !this.backgroundImage) {
15011
+ this.tempContext.fillStyle = this.backgroundColor;
15012
+ this.tempContext.fillRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
15013
+ }
15014
+ else if (!this.backgroundColor && !this.backgroundImage && type === 'Jpeg') {
15015
+ this.tempContext.fillStyle = "#fff";
15016
+ this.tempContext.fillRect(0, 0, this.canvasContext.canvas.width, this.canvasContext.canvas.height);
15017
+ }
15018
+ this.tempContext.drawImage(this.element, 0, 0);
14981
15019
  if (type === 'Jpeg') {
14982
- var imgData = this.canvasContext.getImageData(0, 0, this.element.width, this.element.height);
14983
- var data = imgData.data;
14984
- for (var i = 0; i < data.length; i += 4) {
14985
- if (data[i + 3] < 255) {
14986
- data[i] = 255 - data[i];
14987
- data[i + 1] = 255 - data[i + 1];
14988
- data[i + 2] = 255 - data[i + 2];
14989
- data[i + 3] = 255 - data[i + 3];
14990
- }
14991
- }
14992
- this.canvasContext.putImageData(imgData, 0, 0);
14993
- var dataURL = this.canvasContext.canvas.toDataURL('image/jpeg');
14994
- this.resizeHandler();
14995
- return dataURL;
15020
+ return this.tempCanvas.toDataURL('image/jpeg');
14996
15021
  }
14997
15022
  else if (type === 'Svg') {
14998
- return this.toSVG(null);
15023
+ return this.toSVG(null, this.tempCanvas.toDataURL('image/png'));
14999
15024
  }
15000
15025
  else {
15001
- return this.canvasContext.canvas.toDataURL('image/png');
15026
+ return this.tempCanvas.toDataURL('image/png');
15002
15027
  }
15003
15028
  };
15004
15029
  /**
@@ -15053,6 +15078,9 @@ var SignatureBase = /** @__PURE__ @class */ (function (_super) {
15053
15078
  case 'backgroundImage':
15054
15079
  canvasNew.canvas.style.backgroundImage = 'url(' + value + ')';
15055
15080
  this.backgroundImage = value;
15081
+ if (this.saveWithBackground) {
15082
+ this.setBackgroundImage(this.backgroundImage, 'temp');
15083
+ }
15056
15084
  break;
15057
15085
  case 'strokeColor':
15058
15086
  canvasNew.fillStyle = value;