@syncfusion/ej2-richtexteditor 20.2.36 → 20.2.40

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/CHANGELOG.md +34 -0
  2. package/dist/ej2-richtexteditor.umd.min.js +2 -2
  3. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-richtexteditor.es2015.js +101 -29
  5. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es5.js +99 -26
  7. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  8. package/dist/global/ej2-richtexteditor.min.js +2 -2
  9. package/dist/global/ej2-richtexteditor.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +12 -12
  12. package/src/editor-manager/plugin/lists.js +2 -0
  13. package/src/editor-manager/plugin/toolbar-status.js +1 -1
  14. package/src/rich-text-editor/actions/full-screen.js +4 -2
  15. package/src/rich-text-editor/base/constant.d.ts +6 -1
  16. package/src/rich-text-editor/base/constant.js +6 -1
  17. package/src/rich-text-editor/base/rich-text-editor.js +21 -6
  18. package/src/rich-text-editor/base/util.js +7 -3
  19. package/src/rich-text-editor/renderer/image-module.d.ts +9 -0
  20. package/src/rich-text-editor/renderer/image-module.js +32 -7
  21. package/src/rich-text-editor/renderer/link-module.d.ts +8 -0
  22. package/src/rich-text-editor/renderer/link-module.js +10 -0
  23. package/src/rich-text-editor/renderer/render.d.ts +6 -0
  24. package/src/rich-text-editor/renderer/render.js +8 -0
  25. package/src/rich-text-editor/renderer/table-module.js +5 -3
  26. package/src/rich-text-editor/renderer/toolbar-renderer.js +2 -1
  27. package/styles/bootstrap-dark.css +49 -0
  28. package/styles/bootstrap.css +49 -0
  29. package/styles/bootstrap4.css +49 -0
  30. package/styles/bootstrap5-dark.css +49 -0
  31. package/styles/bootstrap5.css +49 -0
  32. package/styles/fabric-dark.css +49 -0
  33. package/styles/fabric.css +49 -0
  34. package/styles/fluent-dark.css +52 -3
  35. package/styles/fluent.css +49 -0
  36. package/styles/highcontrast-light.css +49 -0
  37. package/styles/highcontrast.css +49 -0
  38. package/styles/material-dark.css +49 -0
  39. package/styles/material.css +49 -0
  40. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +17 -16
  41. package/styles/rich-text-editor/_bootstrap-definition.scss +17 -16
  42. package/styles/rich-text-editor/_bootstrap4-definition.scss +17 -16
  43. package/styles/rich-text-editor/_bootstrap5-definition.scss +17 -16
  44. package/styles/rich-text-editor/_fabric-dark-definition.scss +17 -16
  45. package/styles/rich-text-editor/_fabric-definition.scss +17 -16
  46. package/styles/rich-text-editor/_fluent-definition.scss +17 -16
  47. package/styles/rich-text-editor/_fusionnew-definition.scss +17 -16
  48. package/styles/rich-text-editor/_highcontrast-definition.scss +17 -16
  49. package/styles/rich-text-editor/_highcontrast-light-definition.scss +17 -16
  50. package/styles/rich-text-editor/_layout.scss +56 -0
  51. package/styles/rich-text-editor/_material-dark-definition.scss +17 -16
  52. package/styles/rich-text-editor/_material-definition.scss +17 -16
  53. package/styles/rich-text-editor/_material3-definition.scss +17 -16
  54. package/styles/rich-text-editor/_tailwind-definition.scss +17 -16
  55. package/styles/rich-text-editor/bootstrap-dark.css +49 -0
  56. package/styles/rich-text-editor/bootstrap.css +49 -0
  57. package/styles/rich-text-editor/bootstrap4.css +49 -0
  58. package/styles/rich-text-editor/bootstrap5-dark.css +49 -0
  59. package/styles/rich-text-editor/bootstrap5.css +49 -0
  60. package/styles/rich-text-editor/fabric-dark.css +49 -0
  61. package/styles/rich-text-editor/fabric.css +49 -0
  62. package/styles/rich-text-editor/fluent-dark.css +52 -3
  63. package/styles/rich-text-editor/fluent.css +49 -0
  64. package/styles/rich-text-editor/highcontrast-light.css +49 -0
  65. package/styles/rich-text-editor/highcontrast.css +49 -0
  66. package/styles/rich-text-editor/material-dark.css +49 -0
  67. package/styles/rich-text-editor/material.css +49 -0
  68. package/styles/rich-text-editor/tailwind-dark.css +49 -0
  69. package/styles/rich-text-editor/tailwind.css +49 -0
  70. package/styles/tailwind-dark.css +49 -0
  71. package/styles/tailwind.css +49 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.2.36
3
+ * version : 20.2.40
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-richtexteditor@*",
3
- "_id": "@syncfusion/ej2-richtexteditor@19.10.1",
3
+ "_id": "@syncfusion/ej2-richtexteditor@20.2.39",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-nRcvTjn8CJx6Jc+BsAL5C8zGWA/jIfS4UA+7uCE0CGxNvW74otn0hU1phz61DYDvsmWP/oVREomhY7do8ADZqg==",
5
+ "_integrity": "sha512-yO/wGqPBdhD7xAMyXiLpzmmE9xiT18tgPaMOCsiUGj4wuJcWEF+2RVc66t2fLy2osg70SdEof4R6wByno2tN+w==",
6
6
  "_location": "/@syncfusion/ej2-richtexteditor",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -26,8 +26,8 @@
26
26
  "/@syncfusion/ej2-react-richtexteditor",
27
27
  "/@syncfusion/ej2-vue-richtexteditor"
28
28
  ],
29
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-19.10.1.tgz",
30
- "_shasum": "2368624db68c024864a84641dc195e8bb602dedd",
29
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-20.2.39.tgz",
30
+ "_shasum": "1f0a6edaf8a4f4200b391fe333a9a11116b23191",
31
31
  "_spec": "@syncfusion/ej2-richtexteditor@*",
32
32
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
33
33
  "author": {
@@ -38,13 +38,13 @@
38
38
  },
39
39
  "bundleDependencies": false,
40
40
  "dependencies": {
41
- "@syncfusion/ej2-base": "~20.2.36",
42
- "@syncfusion/ej2-buttons": "~20.2.36",
43
- "@syncfusion/ej2-filemanager": "~20.2.36",
44
- "@syncfusion/ej2-inputs": "~20.2.36",
45
- "@syncfusion/ej2-navigations": "~20.2.36",
46
- "@syncfusion/ej2-popups": "~20.2.36",
47
- "@syncfusion/ej2-splitbuttons": "~20.2.36"
41
+ "@syncfusion/ej2-base": "~20.2.39",
42
+ "@syncfusion/ej2-buttons": "~20.2.38",
43
+ "@syncfusion/ej2-filemanager": "~20.2.39",
44
+ "@syncfusion/ej2-inputs": "~20.2.38",
45
+ "@syncfusion/ej2-navigations": "~20.2.39",
46
+ "@syncfusion/ej2-popups": "~20.2.40",
47
+ "@syncfusion/ej2-splitbuttons": "~20.2.38"
48
48
  },
49
49
  "deprecated": false,
50
50
  "description": "Essential JS 2 RichTextEditor component",
@@ -70,6 +70,6 @@
70
70
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
71
71
  },
72
72
  "typings": "index.d.ts",
73
- "version": "20.2.36",
73
+ "version": "20.2.40",
74
74
  "sideEffects": false
75
75
  }
@@ -185,6 +185,8 @@ var Lists = /** @class */ (function () {
185
185
  var endNode = this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
186
186
  startNode = startNode.nodeName === 'BR' ? startNode.parentElement : startNode;
187
187
  endNode = endNode.nodeName === 'BR' ? endNode.parentElement : endNode;
188
+ startNode = startNode.nodeName !== 'LI' && !isNOU(startNode.closest('LI')) ? startNode.closest('LI') : startNode;
189
+ endNode = endNode.nodeName !== 'LI' && !isNOU(endNode.closest('LI')) ? endNode.closest('LI') : endNode;
188
190
  if (((range.commonAncestorContainer.nodeName === 'OL' || range.commonAncestorContainer.nodeName === 'UL' || range.commonAncestorContainer.nodeName === 'LI') &&
189
191
  isNOU(endNode.nextElementSibling) && endNode.textContent.length === range.endOffset &&
190
192
  isNOU(startNode.previousElementSibling) && range.startOffset === 0) ||
@@ -233,7 +233,7 @@ var ToolbarStatus = /** @class */ (function () {
233
233
  if ((name !== null && name !== '' && name !== undefined)
234
234
  && (fontName === null || fontName === undefined || (fontName.filter(function (value, pos) {
235
235
  var pattern = new RegExp(name, 'i');
236
- if ((value.replace(/"/g, '').replace(/ /g, '') === name.replace(/"/g, '').replace(/ /g, '')) ||
236
+ if ((value.replace(/"/g, '').replace(/ /g, '').toLowerCase() === name.replace(/"/g, '').replace(/ /g, '').toLowerCase()) ||
237
237
  (value.search(pattern) > -1)) {
238
238
  index = pos;
239
239
  }
@@ -42,7 +42,8 @@ var FullScreen = /** @class */ (function () {
42
42
  }
43
43
  _this.parent.element.classList.add(classes.CLS_FULL_SCREEN);
44
44
  _this.toggleParentOverflow(true);
45
- _this.parent.setContentHeight();
45
+ var isExpand = _this.parent.element.querySelectorAll('.e-toolbar-extended.e-popup-open').length > 0 ? true : false;
46
+ _this.parent.setContentHeight(null, isExpand);
46
47
  if (_this.parent.toolbarModule) {
47
48
  if (!_this.parent.getBaseToolbarObject().toolbarObj.items[0].properties) {
48
49
  _this.parent.getBaseToolbarObject().toolbarObj.removeItems(0);
@@ -89,7 +90,8 @@ var FullScreen = /** @class */ (function () {
89
90
  for (var i = 0; i < elem.length; i++) {
90
91
  removeClass([elem[i]], ['e-rte-overflow']);
91
92
  }
92
- _this.parent.setContentHeight();
93
+ var isExpand = _this.parent.element.querySelectorAll('.e-toolbar-extended.e-popup-open').length > 0 ? true : false;
94
+ _this.parent.setContentHeight(null, isExpand);
93
95
  if (_this.parent.toolbarModule) {
94
96
  if (!_this.parent.getBaseToolbarObject().toolbarObj.items[0].properties) {
95
97
  _this.parent.getBaseToolbarObject().toolbarObj.removeItems(0);
@@ -650,4 +650,9 @@ export declare const bindCssClass: string;
650
650
  * @hidden
651
651
 
652
652
  */
653
- export declare const blockInlineEmptyNodes: string;
653
+ export declare const blockEmptyNodes: string;
654
+ /**
655
+ * @hidden
656
+
657
+ */
658
+ export declare const inlineEmptyNodes: string;
@@ -650,4 +650,9 @@ export var bindCssClass = 'closeTableDialog';
650
650
  * @hidden
651
651
 
652
652
  */
653
- export var blockInlineEmptyNodes = "address:empty, article:empty, aside:empty, blockquote:empty,\n details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,\n h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, hr:empty, li:empty, main:empty, nav:empty,\n noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty,\n a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,\n canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,\n ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,\n q:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,\n template:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty";
653
+ export var blockEmptyNodes = "address:empty, article:empty, aside:empty, blockquote:empty,\n details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,\n h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, li:empty, main:empty, nav:empty,\n noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty";
654
+ /**
655
+ * @hidden
656
+
657
+ */
658
+ export var inlineEmptyNodes = "a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,\n canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,\n ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,\n q:empty, ruby:empty, s:empty, samp:empty, script:empty, select:empty, slot:empty, small:empty, span:empty, strong:empty, strike:empty, sub:empty, sup:empty, svg:empty,\n template:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty";
@@ -502,13 +502,17 @@ var RichTextEditor = /** @class */ (function (_super) {
502
502
  var closestLI = closest(endNode, 'LI');
503
503
  if (!isNOU(closestLI) && endNode.textContent.length === range.endOffset &&
504
504
  !range.collapsed && isNOU(endNode.nextElementSibling)) {
505
- closestLI.textContent = closestLI.textContent.trim();
506
- currentEndOffset = closestLI.textContent.length - 1;
505
+ for (var i = 0; i < closestLI.childNodes.length; i++) {
506
+ if (closestLI.childNodes[i].nodeName === "#text" && closestLI.childNodes[i].textContent.trim().length === 0) {
507
+ detach(closestLI.childNodes[i]);
508
+ i--;
509
+ }
510
+ }
507
511
  var currentLastElem = closestLI;
508
- while (currentLastElem.nodeName !== '#text') {
512
+ while (currentLastElem.lastChild !== null && currentLastElem.nodeName !== '#text') {
509
513
  currentLastElem = currentLastElem.lastChild;
510
514
  }
511
- this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(), isSameContainer ? currentLastElem : currentStartContainer, currentLastElem, currentStartOffset, currentLastElem.textContent.length);
515
+ this.formatter.editorManager.nodeSelection.setSelectionText(this.contentModule.getDocument(), isSameContainer ? (currentLastElem.nodeName === 'BR' && !isNOU(currentLastElem.previousSibling) ? currentLastElem.previousSibling : currentLastElem) : currentStartContainer, currentLastElem, currentStartOffset, (currentLastElem.nodeName === 'BR' ? 0 : currentLastElem.textContent.length));
512
516
  }
513
517
  };
514
518
  /**
@@ -847,8 +851,19 @@ var RichTextEditor = /** @class */ (function (_super) {
847
851
  if (this.isDestroyed || !this.isRendered) {
848
852
  return;
849
853
  }
850
- if (this.element.offsetParent === null && !isNOU(this.toolbarModule)) {
851
- this.toolbarModule.destroy();
854
+ if (this.element.offsetParent === null) {
855
+ if (!isNOU(this.toolbarModule)) {
856
+ this.toolbarModule.destroy();
857
+ }
858
+ if (!isNOU(this.imageModule)) {
859
+ this.imageModule.moduleDestroy();
860
+ }
861
+ if (!isNOU(this.linkModule)) {
862
+ this.linkModule.moduleDestroy();
863
+ }
864
+ if (!isNOU(this.renderModule)) {
865
+ this.renderModule.moduleDestroy();
866
+ }
852
867
  return;
853
868
  }
854
869
  this.notify(events.destroy, {});
@@ -414,9 +414,13 @@ export function updateTextNode(value, rteObj) {
414
414
  var previousParent = void 0;
415
415
  var insertElem = void 0;
416
416
  while (tempNode.firstChild) {
417
- var emptyElem = tempNode.querySelectorAll(CONSTANT.blockInlineEmptyNodes);
418
- for (var i = 0; i < emptyElem.length; i++) {
419
- emptyElem[i].innerHTML = '<br>';
417
+ var emptyBlockElem = tempNode.querySelectorAll(CONSTANT.blockEmptyNodes);
418
+ for (var i = 0; i < emptyBlockElem.length; i++) {
419
+ emptyBlockElem[i].innerHTML = '<br>';
420
+ }
421
+ var emptyInlineElem = tempNode.querySelectorAll(CONSTANT.inlineEmptyNodes);
422
+ for (var i = 0; i < emptyInlineElem.length; i++) {
423
+ emptyInlineElem[i].innerHTML = '&ZeroWidthSpace;';
420
424
  }
421
425
  if (rteObj.enterKey !== 'BR' && ((tempNode.firstChild.nodeName === '#text' &&
422
426
  (tempNode.firstChild.textContent.indexOf('\n') < 0 || tempNode.firstChild.textContent.trim() !== '')) ||
@@ -30,6 +30,7 @@ export declare class Image {
30
30
  private isAllowedTypes;
31
31
  private pageX;
32
32
  private pageY;
33
+ private mouseX;
33
34
  private dialogRenderObj;
34
35
  private deletedImg;
35
36
  private changedWidthValue;
@@ -164,6 +165,14 @@ export declare class Image {
164
165
 
165
166
  */
166
167
  destroy(): void;
168
+ /**
169
+ * Clears the ImageModule.
170
+ *
171
+ * @returns {void}
172
+ * @hidden
173
+
174
+ */
175
+ moduleDestroy(): void;
167
176
  /**
168
177
  * For internal use only - Get the module name.
169
178
  *
@@ -17,6 +17,7 @@ var Image = /** @class */ (function () {
17
17
  this.isAllowedTypes = true;
18
18
  this.pageX = null;
19
19
  this.pageY = null;
20
+ this.mouseX = null;
20
21
  this.deletedImg = [];
21
22
  this.parent = parent;
22
23
  this.rteID = parent.element.id;
@@ -353,8 +354,9 @@ var Image = /** @class */ (function () {
353
354
  img.style.minWidth = this.parent.insertImageSettings.minWidth === 0 ? '20px' : formatUnit(this.parent.insertImageSettings.minWidth);
354
355
  if (this.parent.insertImageSettings.resizeByPercent) {
355
356
  if (parseInt('' + img.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
356
- var percentageValue = this.pixToPerc((width / height * expectedY), (img.previousElementSibling || img.parentElement));
357
- img.style.width = Math.min(Math.round((percentageValue / img.getBoundingClientRect().width) * expectedX * 100) / 100, 100) + '%';
357
+ var original = img.offsetWidth + this.mouseX;
358
+ var finalWidthByPerc = (original / img.offsetWidth) * (parseFloat(img.style.width).toString() == 'NaN' ? (img.offsetWidth / (parseFloat(getComputedStyle(this.parent.element).width)) * 100) : parseFloat(img.style.width));
359
+ img.style.width = ((finalWidthByPerc > 3) ? finalWidthByPerc : 3) + '%';
358
360
  }
359
361
  else {
360
362
  img.style.width = this.pixToPerc((width / height * expectedY), (img.previousElementSibling || img.parentElement)) + '%';
@@ -377,13 +379,20 @@ var Image = /** @class */ (function () {
377
379
  img.style.height = expectedY + 'px';
378
380
  }
379
381
  else {
380
- img.setAttribute('width', ((width / height * expectedY) + width / height).toString());
382
+ if (this.parent.iframeSettings.enable) {
383
+ img.setAttribute('width', (img.width + this.mouseX).toString());
384
+ }
385
+ else {
386
+ img.setAttribute('width', (img.offsetWidth + this.mouseX).toString());
387
+ }
381
388
  }
382
389
  }
383
390
  else if (height > width) {
384
391
  if (this.parent.insertImageSettings.resizeByPercent) {
385
392
  if (parseInt('' + img.getBoundingClientRect().width + '', 10) !== 0 && parseInt('' + width + '', 10) !== 0) {
386
- img.style.width = Math.min(Math.round((width / img.getBoundingClientRect().width) * expectedX * 100) / 100, 100) + '%';
393
+ var original = img.offsetWidth + this.mouseX;
394
+ var finalWidthByPerc = (original / img.offsetWidth) * (parseFloat(img.style.width).toString() == 'NaN' ? (img.offsetWidth / (parseFloat(getComputedStyle(this.parent.element).width)) * 100) : parseFloat(img.style.width));
395
+ img.style.width = ((finalWidthByPerc > 3) ? finalWidthByPerc : 3) + '%';
387
396
  }
388
397
  else {
389
398
  img.style.width = this.pixToPerc((expectedX / height * expectedY), (img.previousElementSibling || img.parentElement)) + '%';
@@ -450,6 +459,7 @@ var Image = /** @class */ (function () {
450
459
  var mouseY = (this.resizeBtnStat.topLeft || this.resizeBtnStat.topRight) ? -(pageY - this.pageY) : (pageY - this.pageY);
451
460
  var width = parseInt(this.imgDupPos.width, 10) + mouseX;
452
461
  var height = parseInt(this.imgDupPos.height, 10) + mouseY;
462
+ this.mouseX = mouseX;
453
463
  this.pageX = pageX;
454
464
  this.pageY = pageY;
455
465
  if (this.resizeBtnStat.botRight) {
@@ -977,7 +987,8 @@ var Image = /** @class */ (function () {
977
987
  buttonModel: {
978
988
  content: linkUpdate, cssClass: 'e-flat e-update-link' + ' ' + this.parent.cssClass, isPrimary: true
979
989
  }
980
- }]
990
+ }],
991
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-link-dialog'
981
992
  });
982
993
  if (!isNOU(this.parent.cssClass)) {
983
994
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -1025,7 +1036,8 @@ var Image = /** @class */ (function () {
1025
1036
  buttonModel: {
1026
1037
  content: linkUpdate, cssClass: 'e-flat e-update-alt' + ' ' + this.parent.cssClass, isPrimary: true
1027
1038
  }
1028
- }]
1039
+ }],
1040
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-alt-dialog'
1029
1041
  });
1030
1042
  if (!isNOU(this.parent.cssClass)) {
1031
1043
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -1248,7 +1260,8 @@ var Image = /** @class */ (function () {
1248
1260
  buttonModel: {
1249
1261
  content: linkUpdate, cssClass: 'e-flat e-update-size' + ' ' + this.parent.cssClass, isPrimary: true
1250
1262
  }
1251
- }]
1263
+ }],
1264
+ cssClass: this.dialogObj.cssClass + ' e-rte-img-size-dialog'
1252
1265
  });
1253
1266
  if (!isNOU(this.parent.cssClass)) {
1254
1267
  this.dialogObj.setProperties({ cssClass: this.parent.cssClass });
@@ -2282,6 +2295,18 @@ var Image = /** @class */ (function () {
2282
2295
  this.prevSelectedImgEle = undefined;
2283
2296
  this.removeEventListener();
2284
2297
  };
2298
+ /* eslint-disable */
2299
+ /**
2300
+ * Clears the ImageModule.
2301
+ *
2302
+ * @returns {void}
2303
+ * @hidden
2304
+
2305
+ */
2306
+ /* eslint-enable */
2307
+ Image.prototype.moduleDestroy = function () {
2308
+ this.parent = null;
2309
+ };
2285
2310
  /**
2286
2311
  * For internal use only - Get the module name.
2287
2312
  *
@@ -48,6 +48,14 @@ export declare class Link {
48
48
 
49
49
  */
50
50
  destroy(): void;
51
+ /**
52
+ * Clears the Link Module.
53
+ *
54
+ * @returns {void}
55
+ * @hidden
56
+
57
+ */
58
+ moduleDestroy(): void;
51
59
  /**
52
60
  * For internal use only - Get the module name.
53
61
  *
@@ -520,6 +520,16 @@ var Link = /** @class */ (function () {
520
520
  Link.prototype.destroy = function () {
521
521
  this.removeEventListener();
522
522
  };
523
+ /**
524
+ * Clears the Link Module.
525
+ *
526
+ * @returns {void}
527
+ * @hidden
528
+
529
+ */
530
+ Link.prototype.moduleDestroy = function () {
531
+ this.parent = null;
532
+ };
523
533
  /**
524
534
  * For internal use only - Get the module name.
525
535
  *
@@ -40,6 +40,12 @@ export declare class Render {
40
40
  * @returns {void}
41
41
  */
42
42
  destroy(): void;
43
+ /**
44
+ * Clears the Render Module.
45
+ *
46
+ * @returns {void}
47
+ */
48
+ moduleDestroy(): void;
43
49
  private addEventListener;
44
50
  private removeEventListener;
45
51
  private keyUp;
@@ -51,6 +51,14 @@ var Render = /** @class */ (function () {
51
51
  Render.prototype.destroy = function () {
52
52
  this.removeEventListener();
53
53
  };
54
+ /**
55
+ * Clears the Render Module.
56
+ *
57
+ * @returns {void}
58
+ */
59
+ Render.prototype.moduleDestroy = function () {
60
+ this.parent = null;
61
+ };
54
62
  Render.prototype.addEventListener = function () {
55
63
  if (this.parent.isDestroyed) {
56
64
  return;
@@ -547,7 +547,8 @@ var Table = /** @class */ (function () {
547
547
  }
548
548
  var target = e.target || e.targetTouches[0].target;
549
549
  var closestTable = closest(target, 'table.e-rte-table');
550
- if (!isNOU(this.curTable) && !isNOU(closestTable) && closestTable !== this.curTable) {
550
+ if (!isNOU(this.curTable) && !isNOU(closestTable) && closestTable !== this.curTable &&
551
+ this.parent.contentModule.getEditPanel().contains(closestTable)) {
551
552
  this.removeResizeElement();
552
553
  this.removeHelper(e);
553
554
  this.cancelResizeAction();
@@ -824,7 +825,8 @@ var Table = /** @class */ (function () {
824
825
  var rteWidth = _this.contentModule.getEditPanel().offsetWidth - (_this.contentModule.getEditPanel().offsetWidth -
825
826
  _this.contentModule.getEditPanel().clientWidth) - paddingSize * 2;
826
827
  var widthCompare = void 0;
827
- if (!isNOU(_this.curTable.parentElement.closest('table'))) {
828
+ if (!isNOU(_this.curTable.parentElement.closest('table')) && !isNOU(_this.curTable.closest('td')) &&
829
+ _this.contentModule.getEditPanel().contains(_this.curTable.closest('td'))) {
828
830
  var currentTd = _this.curTable.closest('td');
829
831
  var currentTDPad = +getComputedStyle(currentTd).paddingRight.match(/\d/g).join('');
830
832
  // Padding of the current table with the parent element multiply with 2.
@@ -1127,7 +1129,7 @@ var Table = /** @class */ (function () {
1127
1129
  },
1128
1130
  buttonModel: { cssClass: 'e-flat e-cancel' + ' ' + this.parent.cssClass, content: cancel }
1129
1131
  }],
1130
- cssClass: this.parent.cssClass
1132
+ cssClass: this.editdlgObj.cssClass + ' e-rte-edit-table-prop-dialog'
1131
1133
  });
1132
1134
  this.editdlgObj.element.style.maxHeight = 'none';
1133
1135
  this.editdlgObj.content.querySelector('input').focus();
@@ -507,8 +507,9 @@ var ToolbarRenderer = /** @class */ (function () {
507
507
  proxy.parent.notify(events.selectionRestore, {});
508
508
  proxy.currentElement.querySelector('.' + CLS_RTE_ELEMENTS).style.borderBottomColor = colorpickerValue;
509
509
  var range = proxy.parent.formatter.editorManager.nodeSelection.getRange(proxy.parent.contentModule.getDocument());
510
+ var closestElement = closest(range.startContainer.parentNode, 'table');
510
511
  if ((range.startContainer.nodeName === 'TD' || range.startContainer.nodeName === 'TH' || range.startContainer.nodeName === 'BODY' ||
511
- closest(range.startContainer.parentNode, 'td,th')) && range.collapsed && args.subCommand === 'BackgroundColor') {
512
+ closest(range.startContainer.parentNode, 'td,th')) && range.collapsed && args.subCommand === 'BackgroundColor' && closest(closestElement, '.' + classes.CLS_RTE)) {
512
513
  proxy.parent.notify(events.tableColorPickerChanged, colorPickerArgs);
513
514
  }
514
515
  else {
@@ -417,6 +417,34 @@
417
417
  .e-richtexteditor.e-bigger.e-rte-full-screen iframe {
418
418
  height: calc(100% - 56px);
419
419
  }
420
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-edit-table,
421
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-edit-table {
422
+ max-height: 330px !important;
423
+ }
424
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-edit-table-prop-dialog,
425
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-edit-table-prop-dialog {
426
+ max-height: 414px !important;
427
+ }
428
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-link-dialog,
429
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-link-dialog {
430
+ max-height: 427px !important;
431
+ }
432
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-dialog,
433
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-dialog {
434
+ min-height: 457px !important;
435
+ }
436
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-link-dialog,
437
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-link-dialog {
438
+ max-height: 256px !important;
439
+ }
440
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-size-dialog,
441
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-size-dialog {
442
+ max-height: 327px !important;
443
+ }
444
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-alt-dialog,
445
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-alt-dialog {
446
+ min-height: 457px !important;
447
+ }
420
448
 
421
449
  .e-richtexteditor {
422
450
  color: #f0f0f0;
@@ -456,6 +484,27 @@
456
484
  .e-richtexteditor.e-rte-full-screen iframe {
457
485
  height: calc(100% - 42px);
458
486
  }
487
+ .e-richtexteditor.e-rte-full-screen .e-rte-edit-table {
488
+ max-height: 287px !important;
489
+ }
490
+ .e-richtexteditor.e-rte-full-screen .e-rte-edit-table-prop-dialog {
491
+ max-height: 365px !important;
492
+ }
493
+ .e-richtexteditor.e-rte-full-screen .e-rte-link-dialog {
494
+ max-height: 394px !important;
495
+ }
496
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-dialog {
497
+ max-height: 426px !important;
498
+ }
499
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-link-dialog {
500
+ max-height: 223px !important;
501
+ }
502
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-size-dialog {
503
+ max-height: 284px !important;
504
+ }
505
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-alt-dialog {
506
+ max-height: 426px !important;
507
+ }
459
508
  .e-richtexteditor.e-rtl .e-rte-character-count {
460
509
  left: 0;
461
510
  padding-left: 30px;
@@ -558,6 +558,34 @@
558
558
  .e-richtexteditor.e-bigger.e-rte-full-screen iframe {
559
559
  height: calc(100% - 56px);
560
560
  }
561
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-edit-table,
562
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-edit-table {
563
+ max-height: 330px !important;
564
+ }
565
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-edit-table-prop-dialog,
566
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-edit-table-prop-dialog {
567
+ max-height: 414px !important;
568
+ }
569
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-link-dialog,
570
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-link-dialog {
571
+ max-height: 427px !important;
572
+ }
573
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-dialog,
574
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-dialog {
575
+ min-height: 457px !important;
576
+ }
577
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-link-dialog,
578
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-link-dialog {
579
+ max-height: 256px !important;
580
+ }
581
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-size-dialog,
582
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-size-dialog {
583
+ max-height: 327px !important;
584
+ }
585
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-alt-dialog,
586
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-alt-dialog {
587
+ min-height: 457px !important;
588
+ }
561
589
 
562
590
  .e-richtexteditor {
563
591
  color: #333;
@@ -597,6 +625,27 @@
597
625
  .e-richtexteditor.e-rte-full-screen iframe {
598
626
  height: calc(100% - 42px);
599
627
  }
628
+ .e-richtexteditor.e-rte-full-screen .e-rte-edit-table {
629
+ max-height: 287px !important;
630
+ }
631
+ .e-richtexteditor.e-rte-full-screen .e-rte-edit-table-prop-dialog {
632
+ max-height: 365px !important;
633
+ }
634
+ .e-richtexteditor.e-rte-full-screen .e-rte-link-dialog {
635
+ max-height: 394px !important;
636
+ }
637
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-dialog {
638
+ max-height: 426px !important;
639
+ }
640
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-link-dialog {
641
+ max-height: 223px !important;
642
+ }
643
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-size-dialog {
644
+ max-height: 284px !important;
645
+ }
646
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-alt-dialog {
647
+ max-height: 426px !important;
648
+ }
600
649
  .e-richtexteditor.e-rtl .e-rte-character-count {
601
650
  left: 0;
602
651
  padding-left: 30px;
@@ -653,6 +653,34 @@
653
653
  .e-richtexteditor.e-bigger.e-rte-full-screen iframe {
654
654
  height: calc(100% - 56px);
655
655
  }
656
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-edit-table,
657
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-edit-table {
658
+ max-height: 302px !important;
659
+ }
660
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-edit-table-prop-dialog,
661
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-edit-table-prop-dialog {
662
+ max-height: 378px !important;
663
+ }
664
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-link-dialog,
665
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-link-dialog {
666
+ max-height: 404px !important;
667
+ }
668
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-dialog,
669
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-dialog {
670
+ min-height: 428px !important;
671
+ }
672
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-link-dialog,
673
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-link-dialog {
674
+ max-height: 231px !important;
675
+ }
676
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-size-dialog,
677
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-size-dialog {
678
+ max-height: 312px !important;
679
+ }
680
+ .e-bigger .e-richtexteditor.e-rte-full-screen .e-rte-img-alt-dialog,
681
+ .e-richtexteditor.e-bigger.e-rte-full-screen .e-rte-img-alt-dialog {
682
+ min-height: 428px !important;
683
+ }
656
684
 
657
685
  .e-richtexteditor {
658
686
  color: #212529;
@@ -692,6 +720,27 @@
692
720
  .e-richtexteditor.e-rte-full-screen iframe {
693
721
  height: calc(100% - 42px);
694
722
  }
723
+ .e-richtexteditor.e-rte-full-screen .e-rte-edit-table {
724
+ max-height: 264px !important;
725
+ }
726
+ .e-richtexteditor.e-rte-full-screen .e-rte-edit-table-prop-dialog {
727
+ max-height: 333px !important;
728
+ }
729
+ .e-richtexteditor.e-rte-full-screen .e-rte-link-dialog {
730
+ max-height: 368px !important;
731
+ }
732
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-dialog {
733
+ max-height: 405px !important;
734
+ }
735
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-link-dialog {
736
+ max-height: 204px !important;
737
+ }
738
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-size-dialog {
739
+ max-height: 268px !important;
740
+ }
741
+ .e-richtexteditor.e-rte-full-screen .e-rte-img-alt-dialog {
742
+ max-height: 405px !important;
743
+ }
695
744
  .e-richtexteditor.e-rtl .e-rte-character-count {
696
745
  left: 0;
697
746
  padding-left: 30px;