@syncfusion/ej2-image-editor 31.2.16 → 32.1.19

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 (195) hide show
  1. package/README.md +2 -12
  2. package/aceconfig.js +17 -0
  3. package/dist/ej2-image-editor.umd.min.js +1 -10
  4. package/dist/ej2-image-editor.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-image-editor.es2015.js +28 -82
  6. package/dist/es6/ej2-image-editor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-image-editor.es5.js +28 -82
  8. package/dist/es6/ej2-image-editor.es5.js.map +1 -1
  9. package/dist/global/ej2-image-editor.min.js +1 -10
  10. package/dist/global/ej2-image-editor.min.js.map +1 -1
  11. package/dist/global/index.d.ts +0 -9
  12. package/package.json +8 -8
  13. package/src/image-editor/action/draw.js +1 -1
  14. package/src/image-editor/action/export.js +1 -5
  15. package/src/image-editor/action/freehand-draw.js +0 -5
  16. package/src/image-editor/action/selection.js +6 -14
  17. package/src/image-editor/action/shape.d.ts +0 -1
  18. package/src/image-editor/action/shape.js +2 -20
  19. package/src/image-editor/base/image-editor.js +3 -11
  20. package/src/image-editor/renderer/toolbar.js +15 -26
  21. package/styles/bds-lite.css +58 -57
  22. package/styles/bds-lite.scss +12 -13
  23. package/styles/bds.css +82 -60
  24. package/styles/bds.scss +13 -14
  25. package/styles/bootstrap-dark-lite.css +58 -57
  26. package/styles/bootstrap-dark-lite.scss +12 -13
  27. package/styles/bootstrap-dark.css +82 -60
  28. package/styles/bootstrap-dark.scss +13 -14
  29. package/styles/bootstrap-lite.css +58 -57
  30. package/styles/bootstrap-lite.scss +12 -13
  31. package/styles/bootstrap.css +82 -60
  32. package/styles/bootstrap.scss +13 -14
  33. package/styles/bootstrap4-lite.css +58 -57
  34. package/styles/bootstrap4-lite.scss +12 -13
  35. package/styles/bootstrap4.css +82 -60
  36. package/styles/bootstrap4.scss +13 -14
  37. package/styles/bootstrap5-dark-lite.css +58 -57
  38. package/styles/bootstrap5-dark-lite.scss +12 -13
  39. package/styles/bootstrap5-dark.css +82 -60
  40. package/styles/bootstrap5-dark.scss +13 -14
  41. package/styles/bootstrap5-lite.css +58 -57
  42. package/styles/bootstrap5-lite.scss +13 -13
  43. package/styles/bootstrap5.3-lite.css +138 -57
  44. package/styles/bootstrap5.3-lite.scss +13 -13
  45. package/styles/bootstrap5.3.css +162 -60
  46. package/styles/bootstrap5.3.scss +14 -14
  47. package/styles/bootstrap5.css +82 -60
  48. package/styles/bootstrap5.scss +14 -14
  49. package/styles/fabric-dark-lite.css +58 -57
  50. package/styles/fabric-dark-lite.scss +13 -13
  51. package/styles/fabric-dark.css +82 -60
  52. package/styles/fabric-dark.scss +14 -14
  53. package/styles/fabric-lite.css +58 -57
  54. package/styles/fabric-lite.scss +13 -13
  55. package/styles/fabric.css +82 -60
  56. package/styles/fabric.scss +14 -14
  57. package/styles/fluent-dark-lite.css +58 -57
  58. package/styles/fluent-dark-lite.scss +13 -13
  59. package/styles/fluent-dark.css +82 -60
  60. package/styles/fluent-dark.scss +14 -14
  61. package/styles/fluent-lite.css +58 -57
  62. package/styles/fluent-lite.scss +13 -13
  63. package/styles/fluent.css +82 -60
  64. package/styles/fluent.scss +14 -14
  65. package/styles/fluent2-lite.css +139 -60
  66. package/styles/fluent2-lite.scss +13 -13
  67. package/styles/fluent2.css +163 -63
  68. package/styles/fluent2.scss +14 -14
  69. package/styles/highcontrast-light-lite.css +58 -57
  70. package/styles/highcontrast-light-lite.scss +13 -13
  71. package/styles/highcontrast-light.css +82 -60
  72. package/styles/highcontrast-light.scss +14 -14
  73. package/styles/highcontrast-lite.css +57 -57
  74. package/styles/highcontrast-lite.scss +13 -13
  75. package/styles/highcontrast.css +81 -60
  76. package/styles/highcontrast.scss +14 -14
  77. package/styles/image-editor/_all.scss +2 -2
  78. package/styles/image-editor/_bds-definition.scss +51 -0
  79. package/styles/image-editor/_bigger.scss +61 -9
  80. package/styles/image-editor/_bootstrap-dark-definition.scss +51 -0
  81. package/styles/image-editor/_bootstrap-definition.scss +51 -0
  82. package/styles/image-editor/_bootstrap4-definition.scss +55 -0
  83. package/styles/image-editor/_bootstrap5-dark-definition.scss +81 -1
  84. package/styles/image-editor/_bootstrap5-definition.scss +52 -0
  85. package/styles/image-editor/_bootstrap5.3-definition.scss +51 -0
  86. package/styles/image-editor/_fabric-dark-definition.scss +51 -0
  87. package/styles/image-editor/_fabric-definition.scss +51 -0
  88. package/styles/image-editor/_fluent-dark-definition.scss +81 -1
  89. package/styles/image-editor/_fluent-definition.scss +52 -0
  90. package/styles/image-editor/_fluent2-definition.scss +51 -0
  91. package/styles/image-editor/_fusionnew-definition.scss +51 -0
  92. package/styles/image-editor/_highcontrast-definition.scss +51 -0
  93. package/styles/image-editor/_highcontrast-light-definition.scss +51 -0
  94. package/styles/image-editor/_layout.scss +198 -115
  95. package/styles/image-editor/_material-dark-definition.scss +51 -0
  96. package/styles/image-editor/_material-definition.scss +51 -0
  97. package/styles/image-editor/_material3-dark-definition.scss +82 -1
  98. package/styles/image-editor/_material3-definition.scss +53 -0
  99. package/styles/image-editor/_tailwind-dark-definition.scss +81 -1
  100. package/styles/image-editor/_tailwind-definition.scss +52 -0
  101. package/styles/image-editor/_tailwind3-definition.scss +75 -1
  102. package/styles/image-editor/_theme-variables.scss +1 -0
  103. package/styles/image-editor/_theme.scss +59 -11
  104. package/styles/image-editor/bds.css +82 -60
  105. package/styles/image-editor/bds.scss +14 -14
  106. package/styles/image-editor/bootstrap-dark.css +82 -60
  107. package/styles/image-editor/bootstrap-dark.scss +14 -14
  108. package/styles/image-editor/bootstrap.css +82 -60
  109. package/styles/image-editor/bootstrap.scss +14 -14
  110. package/styles/image-editor/bootstrap4.css +82 -60
  111. package/styles/image-editor/bootstrap4.scss +14 -14
  112. package/styles/image-editor/bootstrap5-dark.css +82 -60
  113. package/styles/image-editor/bootstrap5-dark.scss +14 -14
  114. package/styles/image-editor/bootstrap5.3.css +162 -60
  115. package/styles/image-editor/bootstrap5.3.scss +14 -14
  116. package/styles/image-editor/bootstrap5.css +82 -60
  117. package/styles/image-editor/bootstrap5.scss +14 -14
  118. package/styles/image-editor/fabric-dark.css +82 -60
  119. package/styles/image-editor/fabric-dark.scss +14 -14
  120. package/styles/image-editor/fabric.css +82 -60
  121. package/styles/image-editor/fabric.scss +14 -14
  122. package/styles/image-editor/fluent-dark.css +82 -60
  123. package/styles/image-editor/fluent-dark.scss +14 -14
  124. package/styles/image-editor/fluent.css +82 -60
  125. package/styles/image-editor/fluent.scss +14 -14
  126. package/styles/image-editor/fluent2.css +163 -63
  127. package/styles/image-editor/fluent2.scss +14 -14
  128. package/styles/image-editor/highcontrast-light.css +82 -60
  129. package/styles/image-editor/highcontrast-light.scss +14 -14
  130. package/styles/image-editor/highcontrast.css +81 -60
  131. package/styles/image-editor/highcontrast.scss +14 -14
  132. package/styles/image-editor/icons/_bds.scss +1 -0
  133. package/styles/image-editor/icons/_bootstrap-dark.scss +1 -0
  134. package/styles/image-editor/icons/_bootstrap.scss +1 -0
  135. package/styles/image-editor/icons/_bootstrap4.scss +1 -0
  136. package/styles/image-editor/icons/_bootstrap5-dark.scss +1 -1
  137. package/styles/image-editor/icons/_bootstrap5.3.scss +1 -0
  138. package/styles/image-editor/icons/_bootstrap5.scss +1 -0
  139. package/styles/image-editor/icons/_fabric-dark.scss +1 -0
  140. package/styles/image-editor/icons/_fabric.scss +1 -0
  141. package/styles/image-editor/icons/_fluent-dark.scss +1 -1
  142. package/styles/image-editor/icons/_fluent.scss +1 -0
  143. package/styles/image-editor/icons/_fluent2.scss +1 -0
  144. package/styles/image-editor/icons/_fusionnew.scss +1 -0
  145. package/styles/image-editor/icons/_highcontrast-light.scss +1 -0
  146. package/styles/image-editor/icons/_highcontrast.scss +1 -0
  147. package/styles/image-editor/icons/_material-dark.scss +1 -0
  148. package/styles/image-editor/icons/_material.scss +1 -0
  149. package/styles/image-editor/icons/_material3-dark.scss +1 -1
  150. package/styles/image-editor/icons/_material3.scss +1 -0
  151. package/styles/image-editor/icons/_tailwind-dark.scss +1 -1
  152. package/styles/image-editor/icons/_tailwind.scss +1 -0
  153. package/styles/image-editor/icons/_tailwind3.scss +1 -0
  154. package/styles/image-editor/material-dark.css +82 -60
  155. package/styles/image-editor/material-dark.scss +14 -14
  156. package/styles/image-editor/material.css +82 -60
  157. package/styles/image-editor/material.scss +14 -14
  158. package/styles/image-editor/material3-dark.css +161 -60
  159. package/styles/image-editor/material3-dark.scss +14 -15
  160. package/styles/image-editor/material3.css +161 -60
  161. package/styles/image-editor/material3.scss +14 -15
  162. package/styles/image-editor/tailwind-dark.css +82 -60
  163. package/styles/image-editor/tailwind-dark.scss +14 -14
  164. package/styles/image-editor/tailwind.css +82 -60
  165. package/styles/image-editor/tailwind.scss +14 -14
  166. package/styles/image-editor/tailwind3.css +235 -84
  167. package/styles/image-editor/tailwind3.scss +14 -14
  168. package/styles/material-dark-lite.css +58 -57
  169. package/styles/material-dark-lite.scss +13 -13
  170. package/styles/material-dark.css +82 -60
  171. package/styles/material-dark.scss +14 -14
  172. package/styles/material-lite.css +58 -57
  173. package/styles/material-lite.scss +12 -13
  174. package/styles/material.css +82 -60
  175. package/styles/material.scss +13 -14
  176. package/styles/material3-dark-lite.css +137 -57
  177. package/styles/material3-dark-lite.scss +13 -13
  178. package/styles/material3-dark.css +161 -60
  179. package/styles/material3-dark.scss +14 -16
  180. package/styles/material3-lite.css +137 -57
  181. package/styles/material3-lite.scss +13 -13
  182. package/styles/material3.css +161 -60
  183. package/styles/material3.scss +14 -16
  184. package/styles/tailwind-dark-lite.css +58 -57
  185. package/styles/tailwind-dark-lite.scss +13 -13
  186. package/styles/tailwind-dark.css +82 -60
  187. package/styles/tailwind-dark.scss +14 -14
  188. package/styles/tailwind-lite.css +58 -57
  189. package/styles/tailwind-lite.scss +13 -13
  190. package/styles/tailwind.css +82 -60
  191. package/styles/tailwind.scss +14 -14
  192. package/styles/tailwind3-lite.css +195 -72
  193. package/styles/tailwind3-lite.scss +13 -13
  194. package/styles/tailwind3.css +235 -84
  195. package/styles/tailwind3.scss +14 -14
@@ -5000,7 +5000,7 @@ class Draw {
5000
5000
  this.errorLoading();
5001
5001
  parent.showDialogPopup('unsupported', fileTypeError);
5002
5002
  if (dropArea && !parent.isImageLoaded) {
5003
- dropArea.style.display = 'block';
5003
+ dropArea.style.display = 'flex';
5004
5004
  }
5005
5005
  }
5006
5006
  else {
@@ -6379,12 +6379,8 @@ class Export {
6379
6379
  type = type ? type : 'Png';
6380
6380
  parent.notify('shape', { prop: 'redrawActObj', onPropertyChange: false,
6381
6381
  value: { x: null, y: null, isMouseDown: null } });
6382
- const imageQualityObj = { currentImageQuality: 1 };
6383
- if (type.toLowerCase() === 'jpeg') {
6384
- parent.notify('toolbar', { prop: 'getcurrentImageQuality', onPropertyChange: false, value: { obj: imageQualityObj } });
6385
- }
6386
6382
  const beforeSave = { cancel: false, fileName: fileName ? fileName : imageName,
6387
- fileType: type, imageQuality: imgQuality || imageQualityObj['currentImageQuality'] };
6383
+ fileType: type, imageQuality: imgQuality };
6388
6384
  parent.trigger('beforeSave', beforeSave);
6389
6385
  this.beforeSaveEvent(beforeSave, type, fileName, imageName, imgQuality);
6390
6386
  }
@@ -8886,11 +8882,6 @@ class FreehandDrawing {
8886
8882
  const parent = this.parent;
8887
8883
  const point = parent.pointColl[this.fhdSelIdx];
8888
8884
  parent.trigger('shapeChanging', shapeChangingArgs);
8889
- if (shapeChangingArgs.cancel) {
8890
- parent.editCompleteArgs = shapeChangingArgs;
8891
- this.cancelFhd();
8892
- return;
8893
- }
8894
8885
  if (parent.element.getAttribute('data-value') === 'mask-drawing' && !this.isMasking) {
8895
8886
  this.isMasking = true;
8896
8887
  parent.upperCanvas.style.cursor = 'crosshair';
@@ -12158,6 +12149,10 @@ class Selection {
12158
12149
  }
12159
12150
  mouseDownEventHandler(e) {
12160
12151
  const parent = this.parent;
12152
+ if (parent.isSafari && e.buttons === 0 && (this.parent.isShapeDrawing || this.parent.togglePen) && this.parent.drawingShape !== 'path') {
12153
+ e.stopImmediatePropagation();
12154
+ return;
12155
+ }
12161
12156
  parent.isKBDNavigation = false;
12162
12157
  this.mouseDown = e.currentTarget === parent.lowerCanvas || e.currentTarget === parent.upperCanvas ?
12163
12158
  'canvas' : '';
@@ -12435,9 +12430,6 @@ class Selection {
12435
12430
  const objColl = extend([], parent.objColl, [], true);
12436
12431
  if (!isNullOrUndefined(obj['index']) && obj['index'] > -1) {
12437
12432
  parent.notify('freehand-draw', { prop: 'selectFhd', value: { type: 'ok' } });
12438
- if (!this.isFhdPoint) {
12439
- return;
12440
- }
12441
12433
  parent.notify('freehand-draw', { prop: 'hoverFhd', onPropertyChange: false,
12442
12434
  value: { strokeColor: null, strokeWidth: null } });
12443
12435
  parent.notify('toolbar', { prop: 'renderQAT', onPropertyChange: false, value: { isPenEdit: true } });
@@ -12982,9 +12974,7 @@ class Selection {
12982
12974
  this.currentDrawingShape = parent.drawingShape.toLowerCase();
12983
12975
  if (dummyClick) {
12984
12976
  parent.enableShapeDrawing(parent.toPascalCase(parent.drawingShape), true);
12985
- if (parent.cursor !== 'move') {
12986
- parent.upperCanvas.style.cursor = 'crosshair';
12987
- }
12977
+ parent.upperCanvas.style.cursor = 'crosshair';
12988
12978
  }
12989
12979
  }
12990
12980
  parent.isShapeDrawing = false;
@@ -14006,14 +13996,7 @@ class Selection {
14006
13996
  }
14007
13997
  if (!this.isCropSelection && parent.activeObj.shape !== 'redact') {
14008
13998
  parent.trigger('shapeChanging', shapeChangingArgs);
14009
- if (shapeChangingArgs.cancel) {
14010
- parent.objColl.splice(i, 0, temp);
14011
- parent.notify('shape', { prop: 'refreshActiveObj', onPropertyChange: false });
14012
- parent.notify('draw', { prop: 'render-image', value: { isMouseWheel: null } });
14013
- }
14014
- else {
14015
- this.shapeEvent(shapeChangingArgs);
14016
- }
13999
+ this.shapeEvent(shapeChangingArgs);
14017
14000
  parent.editCompleteArgs = shapeChangingArgs;
14018
14001
  }
14019
14002
  else {
@@ -14682,7 +14665,6 @@ class Shape {
14682
14665
  this.keyHistory = ''; // text history
14683
14666
  this.preventFrameAnnotation = false;
14684
14667
  this.redactType = 'blur';
14685
- this.isPublicUpdateShape = false;
14686
14668
  this.parent = parent;
14687
14669
  this.addEventListener();
14688
14670
  }
@@ -14956,9 +14938,6 @@ class Shape {
14956
14938
  case 'setRedactType':
14957
14939
  this.redactType = args.value['redactType'];
14958
14940
  break;
14959
- case 'setPublicUpdateShape':
14960
- this.isPublicUpdateShape = args.value['isPublicUpdateShape'];
14961
- break;
14962
14941
  }
14963
14942
  }
14964
14943
  getModuleName() {
@@ -14985,7 +14964,7 @@ class Shape {
14985
14964
  this.textSettings =
14986
14965
  { text: 'Enter Text', fontFamily: this.parent.fontFamily.default, fontSize: null, fontRatio: null, bold: false, italic: false, underline: false, strikethrough: false };
14987
14966
  this.strokeSettings = { strokeColor: '#fff', fillColor: '', strokeWidth: null, radius: null, outlineColor: '', outlineWidth: null };
14988
- this.preventFrameAnnotation = this.isPublicUpdateShape = false;
14967
+ this.preventFrameAnnotation = false;
14989
14968
  }
14990
14969
  drawEllipse(x, y, radiusX, radiusY, strokeWidth, strokeColor, fillColor, degree, isSelected) {
14991
14970
  this.initializeShape('ellipse');
@@ -15698,7 +15677,7 @@ class Shape {
15698
15677
  }
15699
15678
  parent.notify('selection', { prop: 'setTextSelection', onPropertyChange: false,
15700
15679
  value: { width: width, height: height } });
15701
- if (parent.activeObj.rotatedAngle !== 0 && !this.isPublicUpdateShape) {
15680
+ if (parent.activeObj.rotatedAngle !== 0) {
15702
15681
  const width = parent.activeObj.activePoint.width - tempActiveObj.activePoint.width;
15703
15682
  const height = parent.activeObj.activePoint.height - tempActiveObj.activePoint.height;
15704
15683
  let value = '';
@@ -15717,20 +15696,6 @@ class Shape {
15717
15696
  parent.notify('shape', { prop: 'updateFontSize', onPropertyChange: false,
15718
15697
  value: { obj: parent.activeObj } });
15719
15698
  }
15720
- else if (this.isPublicUpdateShape) {
15721
- const width = parent.activeObj.activePoint.width - tempActiveObj.activePoint.width;
15722
- const height = parent.activeObj.activePoint.height - tempActiveObj.activePoint.height;
15723
- let value = '';
15724
- if (parent.transform.degree === 0 || parent.transform.degree === 180) {
15725
- value = 'width';
15726
- }
15727
- else if (parent.transform.degree === 90 || parent.transform.degree === 270) {
15728
- value = 'height';
15729
- }
15730
- parent.activeObj.activePoint = extend({}, tempActiveObj.activePoint, {}, true);
15731
- parent.notify('selection', { prop: 'adjustRotationPoints', onPropertyChange: false, value: { rectangle: parent.activeObj.activePoint,
15732
- x: width, y: height, angle: parent.activeObj.rotatedAngle, type: 'text', elem: value } });
15733
- }
15734
15699
  parent.notify('draw', { prop: 'updateActiveObject', onPropertyChange: false, value: { actPoint: parent.activeObj.activePoint, obj: parent.activeObj,
15735
15700
  isMouseMove: null, x: null, y: null } });
15736
15701
  this.updImgRatioForActObj();
@@ -23275,12 +23240,10 @@ let ImageEditor = ImageEditor_1 = class ImageEditor extends Component {
23275
23240
  const dropAreaElement = this.createElement('div', { id: this.element.id + '_dropArea', className: 'e-ie-drop-area' });
23276
23241
  dropAreaElement.style.position = 'relative';
23277
23242
  const dropIconElement = this.createElement('span', { className: 'e-ie-drop-icon e-icons e-image' });
23278
- dropIconElement.style.position = 'absolute';
23279
23243
  const dropContentElement = this.createElement('span', { className: 'e-ie-drop-content' });
23280
- dropContentElement.style.cssText = 'position: absolute; display: none;';
23244
+ dropContentElement.style.cssText = 'display: none;';
23281
23245
  dropContentElement.textContent = dragObj['value'] + ' ';
23282
23246
  const minDropContentElem = this.createElement('span', { className: 'e-ie-min-drop-content' });
23283
- minDropContentElem.style.position = 'absolute';
23284
23247
  minDropContentElem.textContent = dropObj['value'] + ' ';
23285
23248
  const dropAnchorElement = this.createElement('a', { id: this.element.id + '_dropBrowse', className: 'e-ie-drop-browse' });
23286
23249
  dropAnchorElement.textContent = browseObj['value'];
@@ -23290,7 +23253,7 @@ let ImageEditor = ImageEditor_1 = class ImageEditor extends Component {
23290
23253
  minDropContentElem.appendChild(minDropAnchorElem);
23291
23254
  dropAnchorElement.href = '';
23292
23255
  minDropAnchorElem.href = '';
23293
- const dropInfoElement = this.createElement('span', { className: 'e-ie-drop-info', attrs: { position: 'absolute' } });
23256
+ const dropInfoElement = this.createElement('span', { className: 'e-ie-drop-info' });
23294
23257
  this.updateDropInfoContent(dropInfoElement);
23295
23258
  const dropUploader = dropAreaElement.appendChild(this.createElement('input', {
23296
23259
  id: this.element.id + '_dropfileUpload', className: 'e-fileUpload e-image-upload'
@@ -24154,9 +24117,6 @@ let ImageEditor = ImageEditor_1 = class ImageEditor extends Component {
24154
24117
  *
24155
24118
  */
24156
24119
  updateShape(setting, isSelected) {
24157
- if (setting.type.toLowerCase() === 'text') {
24158
- this.notify('shape', { prop: 'setPublicUpdateShape', onPropertyChange: false, value: { isPublicUpdateShape: true } });
24159
- }
24160
24120
  const obj = { isSelected: false };
24161
24121
  let isTextArea = false;
24162
24122
  const freehandObj = { bool: false };
@@ -24228,9 +24188,6 @@ let ImageEditor = ImageEditor_1 = class ImageEditor extends Component {
24228
24188
  }
24229
24189
  }
24230
24190
  }
24231
- if (setting.type.toLowerCase() === 'text') {
24232
- this.notify('shape', { prop: 'setPublicUpdateShape', onPropertyChange: false, value: { isPublicUpdateShape: false } });
24233
- }
24234
24191
  return obj['isSelected'];
24235
24192
  }
24236
24193
  /**
@@ -24861,7 +24818,7 @@ let ImageEditor = ImageEditor_1 = class ImageEditor extends Component {
24861
24818
  this.notify('toolbar', { prop: 'create-contextual-toolbar', onPropertyChange: false });
24862
24819
  const dropArea = document.getElementById(this.element.id + '_dropArea');
24863
24820
  if (dropArea) {
24864
- dropArea.style.display = 'block';
24821
+ dropArea.style.display = 'flex';
24865
24822
  }
24866
24823
  }
24867
24824
  // AI related codes
@@ -27925,9 +27882,6 @@ class ToolbarModule {
27925
27882
  case 'getToolbarHeight':
27926
27883
  args.value['obj']['toolbarHeight'] = this.toolbarHeight;
27927
27884
  break;
27928
- case 'getcurrentImageQuality':
27929
- args.value['obj']['currentImageQuality'] = this.currentQuality;
27930
- break;
27931
27885
  case 'setToolbarHeight':
27932
27886
  if (isNullOrUndefined(parent.toolbar) || (parent.toolbar && parent.toolbar.length > 0 && parent.toolbar.indexOf('Open') > -1)) {
27933
27887
  this.toolbarHeight = args.value['height'];
@@ -32707,10 +32661,10 @@ class ToolbarModule {
32707
32661
  isDisabled = order > orderObj['order'] ? true : false;
32708
32662
  }
32709
32663
  if (isDisabled) {
32710
- document.getElementById(parent.element.id + '_bringToFront').classList.add('e-overlay');
32664
+ document.getElementById(parent.element.id + '_bringToFront').parentElement.classList.add('e-overlay');
32711
32665
  }
32712
32666
  else {
32713
- document.getElementById(parent.element.id + '_bringToFront').classList.remove('e-overlay');
32667
+ document.getElementById(parent.element.id + '_bringToFront').parentElement.classList.remove('e-overlay');
32714
32668
  }
32715
32669
  parent.notify('undo-redo', { prop: 'updateUndoRedoStack', onPropertyChange: false });
32716
32670
  break;
@@ -33657,29 +33611,25 @@ class ToolbarModule {
33657
33611
  }
33658
33612
  hdrWrapper = canvasWrapper.appendChild(parent.createElement('div', {
33659
33613
  id: id + '_headWrapper',
33614
+ className: 'e-ie-head-wrapper',
33660
33615
  styles: 'position: relative'
33661
33616
  }));
33662
33617
  if (type === 'transparency') {
33663
33618
  labelWrapper = hdrWrapper.appendChild(parent.createElement('label', {
33664
33619
  id: id + '_labelWrapper',
33665
- className: 'e-ie-finetune-slider-label',
33666
- styles: Browser.isDevice ? 'position: absolute; top: 31%; left: calc(50% - 150px); font-size: 15px; text-transform: capitalize; font-weight: 400;'
33667
- : 'position: absolute; top: 31%; left: calc(50% - 220px); font-size: 15px; text-transform: capitalize; font-weight: 400;'
33620
+ className: 'e-ie-finetune-slider-label'
33668
33621
  }));
33669
33622
  }
33670
33623
  else {
33671
33624
  labelWrapper = hdrWrapper.appendChild(parent.createElement('label', {
33672
33625
  id: id + '_labelWrapper',
33673
- className: 'e-ie-finetune-slider-label',
33674
- styles: Browser.isDevice ? ('position: absolute; top: 31%; left: calc(50% - 160px); font-size: 15px; text-transform: capitalize; font-weight: 400;')
33675
- : 'position: absolute; top: 25%; left: calc(50% - 226px); font-size: 15px; text-transform: capitalize; font-weight: 400;'
33626
+ className: 'e-ie-finetune-slider-label'
33676
33627
  }));
33677
33628
  }
33678
33629
  labelWrapper.textContent = this.l10n.getConstant(parent.toPascalCase(type === 'transparency' ? 'opacity' : type));
33679
33630
  const sliderWrapper = hdrWrapper.appendChild(parent.createElement('div', {
33680
33631
  id: id + '_sliderWrapper',
33681
- className: 'e-ie-finetune-slider-wrap',
33682
- styles: 'position: absolute'
33632
+ className: 'e-ie-finetune-slider-wrap'
33683
33633
  }));
33684
33634
  let value = parent.getCurrAdjustmentValue(type);
33685
33635
  if (isSelect && type === 'straighten' && Browser.isDevice) {
@@ -33757,8 +33707,7 @@ class ToolbarModule {
33757
33707
  if (type === 'straighten' && Browser.isDevice) {
33758
33708
  const sLabelWrapper = hdrWrapper.appendChild(parent.createElement('label', {
33759
33709
  id: id + '_sLabelWrapper',
33760
- className: 'e-ie-straighten-value-span e-ie-finetune-value-span',
33761
- styles: 'position: absolute; top: 31%; margin-left: 20px; font-size: 15px; text-transform: capitalize; font-weight: 400;'
33710
+ className: 'e-ie-straighten-value-span e-ie-finetune-value-span'
33762
33711
  }));
33763
33712
  sLabelWrapper.innerHTML = parent.transform.straighten.toString() + '&#176';
33764
33713
  sliderWrapper.parentElement.classList.add('e-straighten-slider');
@@ -33766,9 +33715,7 @@ class ToolbarModule {
33766
33715
  if (type !== 'straighten') {
33767
33716
  hdrWrapper.appendChild(parent.createElement('label', {
33768
33717
  id: id + '_finetuneSpan',
33769
- className: 'e-ie-finetune-value-span',
33770
- styles: Browser.isDevice ? ('position: absolute; top: 25%; margin-left: 20px; font-size: 15px; text-transform: capitalize; font-weight: 400;') :
33771
- 'position: absolute; top: 25%; left: calc(50% + 190px); font-size: 15px; text-transform: capitalize; font-weight: 400;'
33718
+ className: 'e-ie-finetune-value-span'
33772
33719
  }));
33773
33720
  sliderWrapper.parentElement.classList.add('e-finetune-slider');
33774
33721
  if (type === 'transparency' && Browser.isDevice) {
@@ -34282,26 +34229,22 @@ class ToolbarModule {
34282
34229
  }
34283
34230
  hdrWrapper = canvasWrapper.appendChild(parent.createElement('div', {
34284
34231
  id: id + '_headWrapper',
34232
+ className: 'e-ie-head-wrapper',
34285
34233
  styles: 'position: relative'
34286
34234
  }));
34287
34235
  labelWrapper = hdrWrapper.appendChild(parent.createElement('label', {
34288
34236
  id: id + '_labelWrapper',
34289
- className: 'e-ie-finetune-slider-label',
34290
- styles: Browser.isDevice ? ('position: absolute; top: 31%; left: calc(50% - 160px); font-size: 15px; text-transform: capitalize; font-weight: 400;')
34291
- : 'position: absolute; top: 25%; left: calc(50% - 226px); font-size: 15px; text-transform: capitalize; font-weight: 400;'
34237
+ className: 'e-ie-finetune-slider-label'
34292
34238
  }));
34293
34239
  const text = type === 'blur' ? this.l10n.getConstant('Blur') : this.l10n.getConstant('PixelSize');
34294
34240
  labelWrapper.textContent = text;
34295
34241
  const sliderWrapper = hdrWrapper.appendChild(parent.createElement('div', {
34296
34242
  id: id + '_sliderWrapper',
34297
- className: 'e-ie-finetune-slider-wrap',
34298
- styles: 'position: absolute'
34243
+ className: 'e-ie-finetune-slider-wrap'
34299
34244
  }));
34300
34245
  hdrWrapper.appendChild(parent.createElement('label', {
34301
34246
  id: id + '_redactSpan',
34302
- className: 'e-ie-redact-value-span',
34303
- styles: Browser.isDevice ? ('position: absolute; top: 30%; margin-left: 20px; font-size: 15px; text-transform: capitalize; font-weight: 400;') :
34304
- 'position: absolute; top: 30%; left: calc(50% + 190px); font-size: 15px; text-transform: capitalize; font-weight: 400;'
34247
+ className: 'e-ie-redact-value-span'
34305
34248
  }));
34306
34249
  sliderWrapper.parentElement.classList.add('e-finetune-slider');
34307
34250
  const value = parent.activeObj.redactType === 'blur' ? parent.activeObj.redactBlur :
@@ -34341,6 +34284,9 @@ class ToolbarModule {
34341
34284
  const ht = parent.element.querySelector('#' + id + '_canvasWrapper').offsetHeight;
34342
34285
  contextualToolbarArea.style.top = this.toolbarHeight + 1 + ht - cHt + 'px';
34343
34286
  }
34287
+ else {
34288
+ contextualToolbarArea.style.top = parent.element.querySelector('#' + parent.element.id + '_toolbarArea').clientHeight + 'px';
34289
+ }
34344
34290
  }
34345
34291
  }
34346
34292