@syncfusion/ej2-richtexteditor 23.2.7 → 24.1.41-569781

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 (271) hide show
  1. package/.eslintrc.json +259 -259
  2. package/CHANGELOG.md +1927 -1749
  3. package/README.md +76 -76
  4. package/dist/ej2-richtexteditor.umd.min.js +1 -10
  5. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-richtexteditor.es2015.js +3069 -1283
  7. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  8. package/dist/es6/ej2-richtexteditor.es5.js +3173 -1386
  9. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  10. package/helpers/e2e/index.js +3 -3
  11. package/helpers/e2e/rte-helper.js +13 -13
  12. package/license +9 -9
  13. package/package.json +74 -74
  14. package/src/common/config.d.ts +7 -0
  15. package/src/common/config.js +12 -1
  16. package/src/common/constant.d.ts +6 -0
  17. package/src/common/constant.js +6 -0
  18. package/src/common/interface.d.ts +19 -7
  19. package/src/common/types.d.ts +6 -0
  20. package/src/common/util.d.ts +6 -0
  21. package/src/common/util.js +61 -20
  22. package/src/editor-manager/base/classes.d.ts +1 -1
  23. package/src/editor-manager/base/classes.js +1 -1
  24. package/src/editor-manager/base/constant.d.ts +6 -0
  25. package/src/editor-manager/base/constant.js +6 -0
  26. package/src/editor-manager/base/editor-manager.d.ts +8 -3
  27. package/src/editor-manager/base/editor-manager.js +62 -3
  28. package/src/editor-manager/base/enum.d.ts +2 -2
  29. package/src/editor-manager/base/interface.d.ts +17 -9
  30. package/src/editor-manager/base/types.d.ts +1 -1
  31. package/src/editor-manager/plugin/alignments.d.ts +2 -2
  32. package/src/editor-manager/plugin/alignments.js +2 -2
  33. package/src/editor-manager/plugin/audio.d.ts +3 -3
  34. package/src/editor-manager/plugin/audio.js +16 -6
  35. package/src/editor-manager/plugin/clearformat-exec.d.ts +2 -2
  36. package/src/editor-manager/plugin/clearformat-exec.js +2 -2
  37. package/src/editor-manager/plugin/clearformat.d.ts +1 -1
  38. package/src/editor-manager/plugin/clearformat.js +1 -1
  39. package/src/editor-manager/plugin/dom-node.d.ts +39 -35
  40. package/src/editor-manager/plugin/dom-node.js +203 -62
  41. package/src/editor-manager/plugin/format-painter-actions.d.ts +2 -1
  42. package/src/editor-manager/plugin/format-painter-actions.js +20 -2
  43. package/src/editor-manager/plugin/formats.d.ts +3 -2
  44. package/src/editor-manager/plugin/formats.js +40 -5
  45. package/src/editor-manager/plugin/image.d.ts +3 -3
  46. package/src/editor-manager/plugin/image.js +41 -18
  47. package/src/editor-manager/plugin/indents.d.ts +2 -2
  48. package/src/editor-manager/plugin/indents.js +2 -2
  49. package/src/editor-manager/plugin/insert-methods.d.ts +4 -4
  50. package/src/editor-manager/plugin/insert-methods.js +4 -4
  51. package/src/editor-manager/plugin/insert-text.d.ts +2 -2
  52. package/src/editor-manager/plugin/insert-text.js +2 -2
  53. package/src/editor-manager/plugin/inserthtml-exec.d.ts +2 -2
  54. package/src/editor-manager/plugin/inserthtml-exec.js +2 -2
  55. package/src/editor-manager/plugin/inserthtml.d.ts +3 -2
  56. package/src/editor-manager/plugin/inserthtml.js +69 -9
  57. package/src/editor-manager/plugin/isformatted.d.ts +8 -8
  58. package/src/editor-manager/plugin/isformatted.js +8 -8
  59. package/src/editor-manager/plugin/link.d.ts +2 -2
  60. package/src/editor-manager/plugin/link.js +6 -3
  61. package/src/editor-manager/plugin/lists.d.ts +2 -2
  62. package/src/editor-manager/plugin/lists.js +123 -67
  63. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +4 -1
  64. package/src/editor-manager/plugin/ms-word-clean-up.js +216 -86
  65. package/src/editor-manager/plugin/nodecutter.d.ts +6 -6
  66. package/src/editor-manager/plugin/nodecutter.js +8 -8
  67. package/src/editor-manager/plugin/selection-commands.d.ts +2 -1
  68. package/src/editor-manager/plugin/selection-commands.js +166 -4
  69. package/src/editor-manager/plugin/selection-exec.d.ts +2 -2
  70. package/src/editor-manager/plugin/selection-exec.js +2 -2
  71. package/src/editor-manager/plugin/table.d.ts +2 -3
  72. package/src/editor-manager/plugin/table.js +35 -32
  73. package/src/editor-manager/plugin/toolbar-status.d.ts +4 -4
  74. package/src/editor-manager/plugin/toolbar-status.js +22 -12
  75. package/src/editor-manager/plugin/undo.d.ts +7 -6
  76. package/src/editor-manager/plugin/undo.js +27 -7
  77. package/src/editor-manager/plugin/video.d.ts +3 -3
  78. package/src/editor-manager/plugin/video.js +3 -3
  79. package/src/markdown-parser/base/interface.d.ts +10 -10
  80. package/src/markdown-parser/base/markdown-parser.d.ts +3 -3
  81. package/src/markdown-parser/base/markdown-parser.js +3 -3
  82. package/src/markdown-parser/base/types.d.ts +1 -1
  83. package/src/markdown-parser/plugin/clearformat.d.ts +2 -2
  84. package/src/markdown-parser/plugin/clearformat.js +2 -2
  85. package/src/markdown-parser/plugin/formats.d.ts +2 -2
  86. package/src/markdown-parser/plugin/formats.js +2 -2
  87. package/src/markdown-parser/plugin/insert-text.d.ts +2 -2
  88. package/src/markdown-parser/plugin/insert-text.js +2 -2
  89. package/src/markdown-parser/plugin/link.d.ts +2 -2
  90. package/src/markdown-parser/plugin/link.js +2 -2
  91. package/src/markdown-parser/plugin/markdown-selection.d.ts +14 -14
  92. package/src/markdown-parser/plugin/markdown-selection.js +14 -14
  93. package/src/markdown-parser/plugin/md-selection-formats.d.ts +1 -1
  94. package/src/markdown-parser/plugin/md-selection-formats.js +1 -1
  95. package/src/markdown-parser/plugin/table.d.ts +3 -3
  96. package/src/markdown-parser/plugin/table.js +3 -3
  97. package/src/markdown-parser/plugin/undo.d.ts +6 -6
  98. package/src/markdown-parser/plugin/undo.js +6 -6
  99. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +12 -12
  100. package/src/rich-text-editor/actions/base-quick-toolbar.js +75 -24
  101. package/src/rich-text-editor/actions/base-toolbar.d.ts +3 -3
  102. package/src/rich-text-editor/actions/base-toolbar.js +35 -37
  103. package/src/rich-text-editor/actions/color-picker.d.ts +3 -2
  104. package/src/rich-text-editor/actions/color-picker.js +15 -5
  105. package/src/rich-text-editor/actions/count.d.ts +3 -3
  106. package/src/rich-text-editor/actions/count.js +4 -4
  107. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -2
  108. package/src/rich-text-editor/actions/dropdown-buttons.js +27 -6
  109. package/src/rich-text-editor/actions/emoji-picker.d.ts +1 -1
  110. package/src/rich-text-editor/actions/emoji-picker.js +16 -7
  111. package/src/rich-text-editor/actions/enter-key.js +6 -4
  112. package/src/rich-text-editor/actions/file-manager.js +1 -1
  113. package/src/rich-text-editor/actions/format-painter.js +1 -1
  114. package/src/rich-text-editor/actions/full-screen.d.ts +3 -3
  115. package/src/rich-text-editor/actions/full-screen.js +8 -7
  116. package/src/rich-text-editor/actions/html-editor.d.ts +5 -3
  117. package/src/rich-text-editor/actions/html-editor.js +137 -22
  118. package/src/rich-text-editor/actions/keyboard-model.d.ts +16 -16
  119. package/src/rich-text-editor/actions/keyboard.d.ts +1 -1
  120. package/src/rich-text-editor/actions/keyboard.js +23 -21
  121. package/src/rich-text-editor/actions/markdown-editor.d.ts +2 -2
  122. package/src/rich-text-editor/actions/markdown-editor.js +5 -3
  123. package/src/rich-text-editor/actions/paste-clean-up.d.ts +6 -1
  124. package/src/rich-text-editor/actions/paste-clean-up.js +157 -29
  125. package/src/rich-text-editor/actions/quick-toolbar.d.ts +16 -9
  126. package/src/rich-text-editor/actions/quick-toolbar.js +54 -20
  127. package/src/rich-text-editor/actions/resize.js +2 -1
  128. package/src/rich-text-editor/actions/toolbar-action.js +1 -1
  129. package/src/rich-text-editor/actions/toolbar.d.ts +16 -16
  130. package/src/rich-text-editor/actions/toolbar.js +48 -109
  131. package/src/rich-text-editor/actions/xhtml-validation.d.ts +1 -1
  132. package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
  133. package/src/rich-text-editor/base/classes.d.ts +125 -125
  134. package/src/rich-text-editor/base/classes.js +125 -125
  135. package/src/rich-text-editor/base/constant.d.ts +195 -150
  136. package/src/rich-text-editor/base/constant.js +364 -150
  137. package/src/rich-text-editor/base/enum.d.ts +1 -1
  138. package/src/rich-text-editor/base/enum.js +1 -1
  139. package/src/rich-text-editor/base/interface.d.ts +96 -52
  140. package/src/rich-text-editor/base/interface.js +1 -1
  141. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +891 -891
  142. package/src/rich-text-editor/base/rich-text-editor.d.ts +76 -64
  143. package/src/rich-text-editor/base/rich-text-editor.js +259 -163
  144. package/src/rich-text-editor/base/util.d.ts +5 -1
  145. package/src/rich-text-editor/base/util.js +58 -6
  146. package/src/rich-text-editor/formatter/formatter.d.ts +8 -8
  147. package/src/rich-text-editor/formatter/formatter.js +23 -12
  148. package/src/rich-text-editor/formatter/html-formatter.d.ts +2 -2
  149. package/src/rich-text-editor/formatter/html-formatter.js +15 -15
  150. package/src/rich-text-editor/formatter/markdown-formatter.d.ts +2 -2
  151. package/src/rich-text-editor/formatter/markdown-formatter.js +15 -15
  152. package/src/rich-text-editor/models/default-locale.js +31 -25
  153. package/src/rich-text-editor/models/iframe-settings-model.d.ts +26 -26
  154. package/src/rich-text-editor/models/iframe-settings.js +19 -19
  155. package/src/rich-text-editor/models/inline-mode-model.d.ts +11 -11
  156. package/src/rich-text-editor/models/inline-mode.js +19 -19
  157. package/src/rich-text-editor/models/items.js +3 -3
  158. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +760 -760
  159. package/src/rich-text-editor/models/toolbar-settings.d.ts +1 -1
  160. package/src/rich-text-editor/models/toolbar-settings.js +20 -20
  161. package/src/rich-text-editor/renderer/audio-module.d.ts +2 -1
  162. package/src/rich-text-editor/renderer/audio-module.js +14 -1
  163. package/src/rich-text-editor/renderer/content-renderer.d.ts +6 -6
  164. package/src/rich-text-editor/renderer/content-renderer.js +6 -6
  165. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +4 -2
  166. package/src/rich-text-editor/renderer/dialog-renderer.js +24 -4
  167. package/src/rich-text-editor/renderer/iframe-content-renderer.d.ts +4 -4
  168. package/src/rich-text-editor/renderer/iframe-content-renderer.js +19 -18
  169. package/src/rich-text-editor/renderer/image-module.d.ts +10 -2
  170. package/src/rich-text-editor/renderer/image-module.js +261 -220
  171. package/src/rich-text-editor/renderer/link-module.d.ts +1 -1
  172. package/src/rich-text-editor/renderer/link-module.js +54 -25
  173. package/src/rich-text-editor/renderer/markdown-renderer.d.ts +6 -6
  174. package/src/rich-text-editor/renderer/markdown-renderer.js +6 -6
  175. package/src/rich-text-editor/renderer/popup-renderer.d.ts +5 -5
  176. package/src/rich-text-editor/renderer/popup-renderer.js +5 -5
  177. package/src/rich-text-editor/renderer/render.d.ts +2 -2
  178. package/src/rich-text-editor/renderer/render.js +2 -2
  179. package/src/rich-text-editor/renderer/table-module.d.ts +11 -2
  180. package/src/rich-text-editor/renderer/table-module.js +331 -166
  181. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +13 -15
  182. package/src/rich-text-editor/renderer/toolbar-renderer.js +114 -115
  183. package/src/rich-text-editor/renderer/video-module.d.ts +4 -1
  184. package/src/rich-text-editor/renderer/video-module.js +62 -35
  185. package/src/rich-text-editor/renderer/view-source.d.ts +7 -6
  186. package/src/rich-text-editor/renderer/view-source.js +21 -11
  187. package/src/rich-text-editor/services/renderer-factory.d.ts +3 -3
  188. package/src/rich-text-editor/services/renderer-factory.js +3 -3
  189. package/src/rich-text-editor/services/service-locator.d.ts +3 -3
  190. package/src/rich-text-editor/services/service-locator.js +3 -3
  191. package/src/selection/selection.d.ts +22 -22
  192. package/src/selection/selection.js +25 -22
  193. package/styles/_all.scss +1 -1
  194. package/styles/bootstrap-dark.css +345 -99
  195. package/styles/bootstrap.css +353 -108
  196. package/styles/bootstrap4.css +337 -95
  197. package/styles/bootstrap5-dark.css +343 -96
  198. package/styles/bootstrap5.css +343 -96
  199. package/styles/fabric-dark.css +331 -89
  200. package/styles/fabric.css +332 -90
  201. package/styles/fluent-dark.css +342 -92
  202. package/styles/fluent.css +342 -92
  203. package/styles/highcontrast-light.css +331 -89
  204. package/styles/highcontrast.css +335 -90
  205. package/styles/material-dark.css +337 -90
  206. package/styles/material.css +337 -90
  207. package/styles/material3-dark.css +347 -99
  208. package/styles/material3-dark.scss +1 -1
  209. package/styles/material3.css +347 -99
  210. package/styles/material3.scss +1 -1
  211. package/styles/rich-text-editor/_all.scss +2 -2
  212. package/styles/rich-text-editor/_bds-definition.scss +279 -0
  213. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +281 -277
  214. package/styles/rich-text-editor/_bootstrap-definition.scss +337 -334
  215. package/styles/rich-text-editor/_bootstrap4-definition.scss +464 -460
  216. package/styles/rich-text-editor/_bootstrap5-definition.scss +266 -262
  217. package/styles/rich-text-editor/_fabric-dark-definition.scss +263 -259
  218. package/styles/rich-text-editor/_fabric-definition.scss +261 -257
  219. package/styles/rich-text-editor/_fluent-definition.scss +267 -263
  220. package/styles/rich-text-editor/_fusionnew-definition.scss +265 -261
  221. package/styles/rich-text-editor/_highcontrast-definition.scss +261 -257
  222. package/styles/rich-text-editor/_highcontrast-light-definition.scss +261 -257
  223. package/styles/rich-text-editor/_layout.scss +2249 -2072
  224. package/styles/rich-text-editor/_material-dark-definition.scss +266 -262
  225. package/styles/rich-text-editor/_material-definition.scss +264 -260
  226. package/styles/rich-text-editor/_material3-definition.scss +266 -262
  227. package/styles/rich-text-editor/_tailwind-definition.scss +261 -257
  228. package/styles/rich-text-editor/_theme.scss +906 -837
  229. package/styles/rich-text-editor/bootstrap-dark.css +345 -99
  230. package/styles/rich-text-editor/bootstrap.css +353 -108
  231. package/styles/rich-text-editor/bootstrap4.css +337 -95
  232. package/styles/rich-text-editor/bootstrap5-dark.css +343 -96
  233. package/styles/rich-text-editor/bootstrap5.css +343 -96
  234. package/styles/rich-text-editor/fabric-dark.css +331 -89
  235. package/styles/rich-text-editor/fabric.css +332 -90
  236. package/styles/rich-text-editor/fluent-dark.css +342 -92
  237. package/styles/rich-text-editor/fluent.css +342 -92
  238. package/styles/rich-text-editor/highcontrast-light.css +331 -89
  239. package/styles/rich-text-editor/highcontrast.css +335 -90
  240. package/styles/rich-text-editor/icons/_bds.scss +348 -0
  241. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +349 -349
  242. package/styles/rich-text-editor/icons/_bootstrap.scss +349 -349
  243. package/styles/rich-text-editor/icons/_bootstrap4.scss +349 -349
  244. package/styles/rich-text-editor/icons/_bootstrap5.scss +348 -348
  245. package/styles/rich-text-editor/icons/_fabric-dark.scss +349 -349
  246. package/styles/rich-text-editor/icons/_fabric.scss +349 -349
  247. package/styles/rich-text-editor/icons/_fluent.scss +348 -348
  248. package/styles/rich-text-editor/icons/_fusionnew.scss +348 -348
  249. package/styles/rich-text-editor/icons/_highcontrast-light.scss +349 -349
  250. package/styles/rich-text-editor/icons/_highcontrast.scss +349 -349
  251. package/styles/rich-text-editor/icons/_material-dark.scss +349 -349
  252. package/styles/rich-text-editor/icons/_material.scss +349 -349
  253. package/styles/rich-text-editor/icons/_material3.scss +348 -348
  254. package/styles/rich-text-editor/icons/_tailwind.scss +348 -348
  255. package/styles/rich-text-editor/material-dark.css +337 -90
  256. package/styles/rich-text-editor/material.css +337 -90
  257. package/styles/rich-text-editor/material3-dark.css +347 -99
  258. package/styles/rich-text-editor/material3-dark.scss +1 -1
  259. package/styles/rich-text-editor/material3.css +347 -99
  260. package/styles/rich-text-editor/material3.scss +1 -1
  261. package/styles/rich-text-editor/tailwind-dark.css +386 -116
  262. package/styles/rich-text-editor/tailwind.css +386 -116
  263. package/styles/tailwind-dark.css +386 -116
  264. package/styles/tailwind.css +386 -116
  265. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
  266. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -27
  267. package/dist/ej2-richtexteditor.min.js +0 -10
  268. package/dist/global/ej2-richtexteditor.min.js +0 -11
  269. package/dist/global/ej2-richtexteditor.min.js.map +0 -1
  270. package/dist/global/index.d.ts +0 -14
  271. package/tslint.json +0 -111
@@ -23,7 +23,7 @@ var SelectionCommands = /** @class */ (function () {
23
23
  * @param {FormatPainterValue} painterValues specifies the element created and last child
24
24
  * @returns {void}
25
25
  * @hidden
26
-
26
+ * @deprecated
27
27
  */
28
28
  SelectionCommands.applyFormat = function (docElement, format, endNode, enterAction, value, selector, painterValues) {
29
29
  this.enterAction = enterAction;
@@ -38,6 +38,45 @@ var SelectionCommands = /** @class */ (function () {
38
38
  var nodeCutter = new NodeCutter();
39
39
  var isFormatted = new IsFormatted();
40
40
  var range = domSelection.getRange(docElement);
41
+ var currentAnchorNode = range.startContainer.parentElement;
42
+ if (range.collapsed && !isNOU(currentAnchorNode) &&
43
+ currentAnchorNode.tagName === 'A' &&
44
+ (range.startOffset === currentAnchorNode.textContent.length || range.startOffset === 0)) {
45
+ var emptyTextNode = document.createTextNode('');
46
+ if (range.startOffset === 0) {
47
+ currentAnchorNode.parentNode.insertBefore(emptyTextNode, currentAnchorNode);
48
+ }
49
+ else {
50
+ if (!isNOU(currentAnchorNode.nextSibling)) {
51
+ currentAnchorNode.parentElement.insertBefore(emptyTextNode, currentAnchorNode.nextSibling);
52
+ }
53
+ else {
54
+ currentAnchorNode.parentNode.appendChild(emptyTextNode);
55
+ }
56
+ }
57
+ // Set the range to the empty text node
58
+ var newRange = docElement.createRange();
59
+ range.setStart(emptyTextNode, 0);
60
+ range.setEnd(emptyTextNode, 0);
61
+ range.collapse(true);
62
+ domSelection.setRange(docElement, newRange);
63
+ }
64
+ if (Browser.userAgent.indexOf('Firefox') !== -1 && range.startContainer === range.endContainer && !isNOU(endNode) && range.startContainer === endNode) {
65
+ var startChildNodes = range.startContainer.childNodes;
66
+ var startNode = ((startChildNodes[(range.startOffset > 0) ? (range.startOffset - 1) :
67
+ range.startOffset]) || range.startContainer);
68
+ var endNode_1 = (range.endContainer.childNodes[(range.endOffset > 0) ? (range.endOffset - 1) :
69
+ range.endOffset] || range.endContainer);
70
+ var lastSelectionNode = (endNode_1.lastChild.nodeName === 'BR' ? (isNOU(endNode_1.lastChild.previousSibling) ? endNode_1
71
+ : endNode_1.lastChild.previousSibling) : endNode_1.firstChild);
72
+ while (!isNOU(lastSelectionNode) && lastSelectionNode.nodeName !== '#text' && lastSelectionNode.nodeName !== 'IMG' &&
73
+ lastSelectionNode.nodeName !== 'BR' && lastSelectionNode.nodeName !== 'HR') {
74
+ lastSelectionNode = lastSelectionNode.lastChild;
75
+ }
76
+ ;
77
+ domSelection.setSelectionText(docElement, startNode, lastSelectionNode, 0, 0);
78
+ range = domSelection.getRange(docElement);
79
+ }
41
80
  var save = domSelection.save(range, docElement);
42
81
  var nodes = range.collapsed ? domSelection.getSelectionNodeCollection(range) :
43
82
  domSelection.getSelectionNodeCollectionBr(range);
@@ -185,8 +224,7 @@ var SelectionCommands = /** @class */ (function () {
185
224
  cursorNodes[0].firstElementChild.tagName.toLowerCase() === 'br')) {
186
225
  cursorNodes[0].innerHTML = '';
187
226
  }
188
- if (cursorNodes.length === 1 && range.startOffset === 0 && (cursorNodes[0].nodeName === 'BR' ||
189
- cursorNodes[0].nextSibling.nodeName === 'BR')) {
227
+ if (cursorNodes.length === 1 && range.startOffset === 0 && (cursorNodes[0].nodeName === 'BR' || (isNOU(cursorNodes[0].nextSibling) ? false : cursorNodes[0].nextSibling.nodeName === 'BR'))) {
190
228
  detach(cursorNodes[0].nodeName === '#text' ? cursorNodes[0].nextSibling : cursorNodes[0]);
191
229
  }
192
230
  cursorNode = this.getInsertNode(docElement, range, format, value).firstChild;
@@ -211,11 +249,15 @@ var SelectionCommands = /** @class */ (function () {
211
249
  && range.endOffset === range.startContainer.length)) {
212
250
  var nodeIndex = [];
213
251
  var cloneNode = nodes[index];
252
+ var clonedElement = cloneNode;
214
253
  do {
215
254
  nodeIndex.push(domSelection.getIndex(cloneNode));
216
255
  cloneNode = cloneNode.parentNode;
217
256
  } while (cloneNode && (cloneNode !== formatNode));
218
257
  if (nodes[index].nodeName !== 'BR') {
258
+ if (clonedElement.nodeName === '#text' && clonedElement.textContent.includes('\u200B')) {
259
+ clonedElement.remove();
260
+ }
219
261
  cloneNode = splitNode = (isCursor && (formatNode.textContent.length - 1) === range.startOffset) ?
220
262
  nodeCutter.SplitNode(range, formatNode, true)
221
263
  : nodeCutter.GetSpliceNode(range, formatNode);
@@ -293,8 +335,45 @@ var SelectionCommands = /** @class */ (function () {
293
335
  formatNode.style.textDecoration = 'none';
294
336
  child = [formatNode];
295
337
  }
338
+ else if (IsFormatted.inlineTags.indexOf(formatNodeTagName.toLowerCase()) !== -1 && isFontStyle && formatNodeTagName.toLocaleLowerCase() !== 'span') {
339
+ var fontNodeStyle = formatNode.style;
340
+ if (fontNodeStyle.color && format === 'fontcolor') {
341
+ if (formatNode.nodeName === 'A') {
342
+ fontNodeStyle.color = value;
343
+ }
344
+ else {
345
+ fontNodeStyle.color = '';
346
+ }
347
+ }
348
+ else if (fontNodeStyle.backgroundColor && format === 'backgroundcolor') {
349
+ fontNodeStyle.backgroundColor = '';
350
+ }
351
+ else if (fontNodeStyle.fontSize && format === 'fontsize') {
352
+ fontNodeStyle.fontSize = '';
353
+ }
354
+ else if (fontNodeStyle.fontFamily && format === 'fontname') {
355
+ fontNodeStyle.fontFamily = '';
356
+ }
357
+ if (formatNode.getAttribute("style") === '') {
358
+ formatNode.removeAttribute("style");
359
+ }
360
+ child = [formatNode];
361
+ }
296
362
  else {
297
363
  child = InsertMethods.unwrap(formatNode);
364
+ var liElement = nodes[index].parentElement;
365
+ if (!isNOU(liElement) && liElement.tagName.toLowerCase() !== 'li') {
366
+ liElement = closest(liElement, 'li');
367
+ }
368
+ if (!isNOU(liElement) && liElement.tagName.toLowerCase() === 'li' &&
369
+ liElement.textContent.trim() === nodes[index].textContent.trim()) {
370
+ if (format === 'bold') {
371
+ liElement.style.fontWeight = 'normal';
372
+ }
373
+ else if (format === "italic") {
374
+ liElement.style.fontStyle = 'normal';
375
+ }
376
+ }
298
377
  }
299
378
  if (child[0] && !isFontStyle) {
300
379
  var nodeTraverse = child[index] ? child[index] : child[0];
@@ -343,6 +422,16 @@ var SelectionCommands = /** @class */ (function () {
343
422
  if (child[num].nodeType !== 3 || (child[num].textContent &&
344
423
  child[num].textContent.trim().length > 0)) {
345
424
  child[num] = InsertMethods.Wrap(child[num], this.GetFormatNode(format, value, formatNodeTagName, formatNodeStyles));
425
+ var liElement = nodes[index].parentElement;
426
+ if (!isNOU(liElement) && liElement.tagName.toLowerCase() !== 'li') {
427
+ liElement = closest(liElement, 'li');
428
+ }
429
+ if (!isNOU(liElement) && liElement.tagName.toLowerCase() === 'li' &&
430
+ liElement.textContent.trim() === nodes[index].textContent.trim()) {
431
+ if (format === 'fontname') {
432
+ liElement.style.fontFamily = value;
433
+ }
434
+ }
346
435
  if (child[num].textContent === startText) {
347
436
  if (num === 0) {
348
437
  range.setStartBefore(child[num]);
@@ -375,7 +464,10 @@ var SelectionCommands = /** @class */ (function () {
375
464
  }
376
465
  var num = index;
377
466
  var liChildContent = '';
378
- while (num >= 0 && !isNOU(liElement) && liElement.tagName.toLowerCase() === 'li' && liElement.textContent.replace('/\u200B/g', '').trim().includes(nodes[num].textContent.trim())) {
467
+ /* eslint-disable security/detect-object-injection */
468
+ while (num >= 0 && !isNOU(liElement) && liElement.tagName.toLowerCase() === 'li' && liElement.contains(nodes[num]) &&
469
+ liElement.textContent.replace('/\u200B/g', '').trim().includes(nodes[num].textContent.trim())) {
470
+ /* eslint-enable security/detect-object-injection */
379
471
  liChildContent = ' ' + nodes[num].textContent.trim() + liChildContent;
380
472
  num--;
381
473
  }
@@ -447,6 +539,48 @@ var SelectionCommands = /** @class */ (function () {
447
539
  parentElement = parentElement.parentElement;
448
540
  liElement = parentElement;
449
541
  }
542
+ if (format === 'fontcolor' || format === 'fontname') {
543
+ var parentElem = nodes[index].parentElement;
544
+ if (!isNOU(parentElem) && parentElem.childNodes) {
545
+ for (var i = 0; i < parentElem.childNodes.length; i++) {
546
+ if (this.concatenateTextExcludingList(nodes, index) === nodes[index].textContent) {
547
+ var liElement_1 = void 0;
548
+ if (parentElem.tagName === 'LI') {
549
+ liElement_1 = parentElem;
550
+ }
551
+ else if (parentElem.closest('li')) {
552
+ liElement_1 = parentElem.closest('li');
553
+ }
554
+ if (!isNOU(liElement_1)) {
555
+ switch (format) {
556
+ case 'fontcolor':
557
+ liElement_1.style.color = value;
558
+ break;
559
+ case 'fontname':
560
+ liElement_1.style.fontFamily = value;
561
+ break;
562
+ default:
563
+ break;
564
+ }
565
+ }
566
+ }
567
+ // eslint-disable-next-line
568
+ var childElement = parentElem.childNodes[i];
569
+ if (childElement.tagName === 'OL' || childElement.tagName === 'UL') {
570
+ switch (format) {
571
+ case 'fontcolor':
572
+ childElement.style.color = 'initial';
573
+ break;
574
+ case 'fontname':
575
+ childElement.style.fontFamily = 'initial';
576
+ break;
577
+ default:
578
+ break;
579
+ }
580
+ }
581
+ }
582
+ }
583
+ }
450
584
  if (!isNOU(liElement) && liElement.tagName.toLowerCase() === 'li' &&
451
585
  liElement.textContent.trim() === nodes[index].textContent.trim()) {
452
586
  if (format === 'fontsize') {
@@ -456,6 +590,9 @@ var SelectionCommands = /** @class */ (function () {
456
590
  liElement.style.color = value;
457
591
  liElement.style.textDecoration = 'inherit';
458
592
  }
593
+ else if (format === 'fontname') {
594
+ liElement.style.fontFamily = value;
595
+ }
459
596
  }
460
597
  if (value === 'formatPainter') {
461
598
  return this.insertFormatPainterElem(nodes, index, range, nodeCutter, painterValues, domNode);
@@ -503,6 +640,19 @@ var SelectionCommands = /** @class */ (function () {
503
640
  }
504
641
  else {
505
642
  nodes[index] = this.applyStyles(nodes, index, element);
643
+ var liElement = nodes[index].parentElement;
644
+ if (!isNOU(liElement) && liElement.tagName.toLowerCase() !== 'li') {
645
+ liElement = closest(liElement, 'li');
646
+ }
647
+ if (!isNOU(liElement) && liElement.tagName.toLowerCase() === 'li' &&
648
+ liElement.textContent.trim() === nodes[index].textContent.trim()) {
649
+ if (format === 'bold') {
650
+ liElement.style.fontWeight = 'bold';
651
+ }
652
+ else if (format === "italic") {
653
+ liElement.style.fontStyle = 'italic';
654
+ }
655
+ }
506
656
  }
507
657
  }
508
658
  }
@@ -730,6 +880,18 @@ var SelectionCommands = /** @class */ (function () {
730
880
  }
731
881
  }
732
882
  };
883
+ SelectionCommands.concatenateTextExcludingList = function (nodes, index) {
884
+ var result = '';
885
+ var parentNode = nodes[index].parentElement;
886
+ for (var i = 0; i < parentNode.childNodes.length; i++) {
887
+ // eslint-disable-next-line
888
+ var childNode = parentNode.childNodes[i];
889
+ if ((childNode.nodeType === 3) || (childNode.nodeType === 1 && (childNode.tagName !== 'OL' && childNode.tagName !== 'UL'))) {
890
+ result += childNode.textContent;
891
+ }
892
+ }
893
+ return result;
894
+ };
733
895
  SelectionCommands.enterAction = 'P';
734
896
  return SelectionCommands;
735
897
  }());
@@ -3,7 +3,7 @@ import { EditorManager } from './../base/editor-manager';
3
3
  * Selection EXEC internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class SelectionBasedExec {
9
9
  private parent;
@@ -12,7 +12,7 @@ export declare class SelectionBasedExec {
12
12
  *
13
13
  * @param {EditorManager} parent - specifies the parent element
14
14
  * @hidden
15
-
15
+ * @deprecated
16
16
  */
17
17
  constructor(parent: EditorManager);
18
18
  private addEventListener;
@@ -5,7 +5,7 @@ import * as EVENTS from './../../common/constant';
5
5
  * Selection EXEC internal component
6
6
  *
7
7
  * @hidden
8
-
8
+ * @deprecated
9
9
  */
10
10
  var SelectionBasedExec = /** @class */ (function () {
11
11
  /**
@@ -13,7 +13,7 @@ var SelectionBasedExec = /** @class */ (function () {
13
13
  *
14
14
  * @param {EditorManager} parent - specifies the parent element
15
15
  * @hidden
16
-
16
+ * @deprecated
17
17
  */
18
18
  function SelectionBasedExec(parent) {
19
19
  this.parent = parent;
@@ -3,7 +3,7 @@ import { EditorManager } from './../base/editor-manager';
3
3
  * Link internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class TableCommand {
9
9
  private parent;
@@ -14,13 +14,12 @@ export declare class TableCommand {
14
14
  *
15
15
  * @param {EditorManager} parent - specifies the parent element
16
16
  * @hidden
17
-
17
+ * @deprecated
18
18
  */
19
19
  constructor(parent: EditorManager);
20
20
  private addEventListener;
21
21
  private createTable;
22
22
  private calculateStyleValue;
23
- private removeEmptyNode;
24
23
  private insertAfter;
25
24
  private getSelectedCellMinMaxIndex;
26
25
  private insertRow;
@@ -5,7 +5,7 @@ import { InsertHtml } from './inserthtml';
5
5
  * Link internal component
6
6
  *
7
7
  * @hidden
8
-
8
+ * @deprecated
9
9
  */
10
10
  var TableCommand = /** @class */ (function () {
11
11
  /**
@@ -13,7 +13,7 @@ var TableCommand = /** @class */ (function () {
13
13
  *
14
14
  * @param {EditorManager} parent - specifies the parent element
15
15
  * @hidden
16
-
16
+ * @deprecated
17
17
  */
18
18
  function TableCommand(parent) {
19
19
  this.parent = parent;
@@ -60,9 +60,8 @@ var TableCommand = /** @class */ (function () {
60
60
  table.appendChild(tblBody);
61
61
  e.item.selection.restore();
62
62
  InsertHtml.Insert(this.parent.currentDocument, table, this.parent.editableElement);
63
- this.removeEmptyNode();
64
63
  e.item.selection.setSelectionText(this.parent.currentDocument, table.querySelector('td'), table.querySelector('td'), 0, 0);
65
- if (table.nextElementSibling === null) {
64
+ if (table.nextElementSibling === null && !table.classList.contains('ignore-table')) {
66
65
  var insertElem = void 0;
67
66
  if (e.enterAction === 'DIV') {
68
67
  insertElem = createElement('div');
@@ -77,6 +76,9 @@ var TableCommand = /** @class */ (function () {
77
76
  }
78
77
  this.insertAfter(insertElem, table);
79
78
  }
79
+ if (table.classList.contains('ignore-table')) {
80
+ table.classList.remove('ignore-table');
81
+ }
80
82
  table.querySelector('td').classList.add('e-cell-select');
81
83
  if (e.callBack) {
82
84
  e.callBack({
@@ -104,24 +106,6 @@ var TableCommand = /** @class */ (function () {
104
106
  }
105
107
  return styleValue;
106
108
  };
107
- TableCommand.prototype.removeEmptyNode = function () {
108
- var emptyUl = this.parent.editableElement.querySelectorAll('ul:empty, ol:empty');
109
- for (var i = 0; i < emptyUl.length; i++) {
110
- detach(emptyUl[i]);
111
- }
112
- var emptyLiChild = this.parent.editableElement.querySelectorAll('li *:empty:not(img)');
113
- for (var i = 0; i < emptyLiChild.length; i++) {
114
- detach(emptyLiChild[i]);
115
- if (emptyLiChild.length === i + 1) {
116
- emptyLiChild = this.parent.editableElement.querySelectorAll('li *:empty:not(img)');
117
- i = -1;
118
- }
119
- }
120
- var emptyLi = this.parent.editableElement.querySelectorAll('li:empty');
121
- for (var i = 0; i < emptyLi.length; i++) {
122
- detach(emptyLi[i]);
123
- }
124
- };
125
109
  TableCommand.prototype.insertAfter = function (newNode, referenceNode) {
126
110
  referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
127
111
  };
@@ -472,14 +456,21 @@ var TableCommand = /** @class */ (function () {
472
456
  }
473
457
  };
474
458
  TableCommand.prototype.tableVerticalAlign = function (e) {
475
- if (e.item.subCommand === 'AlignTop') {
476
- e.item.tableCell.style.verticalAlign = 'top';
477
- }
478
- else if (e.item.subCommand === 'AlignMiddle') {
479
- e.item.tableCell.style.verticalAlign = 'middle';
459
+ var value = '';
460
+ switch (e.item.subCommand) {
461
+ case 'AlignTop':
462
+ value = 'top';
463
+ break;
464
+ case 'AlignMiddle':
465
+ value = 'middle';
466
+ break;
467
+ case 'AlignBottom':
468
+ value = 'bottom';
469
+ break;
480
470
  }
481
- else {
482
- e.item.tableCell.style.verticalAlign = 'bottom';
471
+ e.item.tableCell.style.verticalAlign = value;
472
+ if (value && value !== '' && e.item.tableCell.getAttribute('valign')) {
473
+ e.item.tableCell.removeAttribute('valign');
483
474
  }
484
475
  if (e.callBack) {
485
476
  e.callBack({
@@ -510,10 +501,22 @@ var TableCommand = /** @class */ (function () {
510
501
  firstCell.setAttribute('rowspan', (minMaxIndexes.endRow - minMaxIndexes.startRow + 1).toString());
511
502
  }
512
503
  var totalWidth = 0;
504
+ var unit;
513
505
  for (var j = rowSelectedCells.length - 1; j >= 0; j--) {
514
- totalWidth = totalWidth + parseFloat(rowSelectedCells[j].style.width);
506
+ if (!isNOU(rowSelectedCells[j].style.width)
507
+ && rowSelectedCells[j].style.width !== '') {
508
+ if (!unit) {
509
+ var match = rowSelectedCells[j].style.width.match(/^([\d.]+)([a-z%]+)$/i);
510
+ unit = match ? match[2] : '%';
511
+ }
512
+ totalWidth = totalWidth + parseFloat(rowSelectedCells[j].style.width);
513
+ }
514
+ else {
515
+ totalWidth = totalWidth + ((rowSelectedCells[j].offsetWidth / this.curTable.offsetWidth) * 100);
516
+ unit = '%';
517
+ }
515
518
  }
516
- firstCell.style.width = totalWidth + '%';
519
+ firstCell.style.width = totalWidth + unit;
517
520
  for (var i = 1; i <= selectedCells.length - 1; i++) {
518
521
  detach(selectedCells[i]);
519
522
  }
@@ -550,7 +553,7 @@ var TableCommand = /** @class */ (function () {
550
553
  var eleArray = elements;
551
554
  //eslint-disable-next-line
552
555
  if (min < (max = Math.min(max, eleArray[0].length - 1))) {
553
- for (colIndex === min; colIndex <= max; colIndex++) {
556
+ for (colIndex = min; colIndex <= max; colIndex++) {
554
557
  // eslint-disable-next-line
555
558
  if (!(min < colIndex && eleArray[0][colIndex] === eleArray[0][colIndex - 1]) && 1 < (index =
556
559
  Math.min(parseInt(eleArray[0][colIndex].getAttribute('colspan'), 10) || 1, max - min + 1)) &&
@@ -3,7 +3,7 @@ import { IToolbarStatus } from './../../common/interface';
3
3
  * Update Toolbar Status
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare const statusCollection: IToolbarStatus;
9
9
  export declare class ToolbarStatus {
@@ -11,16 +11,16 @@ export declare class ToolbarStatus {
11
11
  * get method
12
12
  *
13
13
  * @param {Document} docElement - specifies the document element
14
- * @param {Node} targetNode - specifies the target node
14
+ * @param {Node} rootNode - specifies the content editable element
15
15
  * @param {string[]} formatNode - specifies the format node
16
16
  * @param {string[]} fontSize - specifies the font size
17
17
  * @param {string[]} fontName - specifies the font name.
18
18
  * @param {Node} documentNode - specifies the document node.
19
19
  * @returns {IToolbarStatus} - returns the toolbar status
20
20
  * @hidden
21
-
21
+ * @deprecated
22
22
  */
23
- static get(docElement: Document, targetNode: Node, formatNode?: string[], fontSize?: string[], fontName?: string[], documentNode?: Node): IToolbarStatus;
23
+ static get(docElement: Document, rootNode: Node, formatNode?: string[], fontSize?: string[], fontName?: string[], documentNode?: Node): IToolbarStatus;
24
24
  private static getImmediateBlockNode;
25
25
  private static getFormatParent;
26
26
  private static isFormattedNode;
@@ -2,11 +2,12 @@ import { IsFormatted } from './isformatted';
2
2
  import * as CONSTANT from './../base/constant';
3
3
  import { NodeSelection } from './../../selection/index';
4
4
  import { getDefaultHtmlTbStatus } from './../../common/util';
5
+ import { isNullOrUndefined } from '@syncfusion/ej2-base';
5
6
  /**
6
7
  * Update Toolbar Status
7
8
  *
8
9
  * @hidden
9
-
10
+ * @deprecated
10
11
  */
11
12
  export var statusCollection = getDefaultHtmlTbStatus();
12
13
  var ToolbarStatus = /** @class */ (function () {
@@ -16,16 +17,16 @@ var ToolbarStatus = /** @class */ (function () {
16
17
  * get method
17
18
  *
18
19
  * @param {Document} docElement - specifies the document element
19
- * @param {Node} targetNode - specifies the target node
20
+ * @param {Node} rootNode - specifies the content editable element
20
21
  * @param {string[]} formatNode - specifies the format node
21
22
  * @param {string[]} fontSize - specifies the font size
22
23
  * @param {string[]} fontName - specifies the font name.
23
24
  * @param {Node} documentNode - specifies the document node.
24
25
  * @returns {IToolbarStatus} - returns the toolbar status
25
26
  * @hidden
26
-
27
+ * @deprecated
27
28
  */
28
- ToolbarStatus.get = function (docElement, targetNode, formatNode, fontSize, fontName, documentNode) {
29
+ ToolbarStatus.get = function (docElement, rootNode, formatNode, fontSize, fontName, documentNode) {
29
30
  var formatCollection = JSON.parse(JSON.stringify(statusCollection));
30
31
  var nodeCollection = JSON.parse(JSON.stringify(statusCollection));
31
32
  var nodeSelection = new NodeSelection();
@@ -55,7 +56,7 @@ var ToolbarStatus = /** @class */ (function () {
55
56
  }
56
57
  for (var index = 0; index < nodes.length; index++) {
57
58
  // eslint-disable-next-line max-len
58
- formatCollection = this.getFormatParent(docElement, formatCollection, nodes[index], targetNode, formatNode, fontSize, fontName);
59
+ formatCollection = this.getFormatParent(docElement, formatCollection, nodes[index], rootNode, formatNode, fontSize, fontName);
59
60
  if ((index === 0 && formatCollection.bold) || !formatCollection.bold) {
60
61
  nodeCollection.bold = formatCollection.bold;
61
62
  }
@@ -130,16 +131,24 @@ var ToolbarStatus = /** @class */ (function () {
130
131
  return node;
131
132
  };
132
133
  ToolbarStatus.getFormatParent = function (docElement, formatCollection, node, targetNode, formatNode, fontSize, fontName) {
134
+ var isListUpdated = false;
135
+ var isComplexListUpdated = false;
133
136
  if (targetNode.contains(node) ||
134
137
  (node.nodeType === 3 && targetNode.nodeType !== 3 && targetNode.contains(node.parentNode))) {
135
138
  do {
136
- formatCollection = this.isFormattedNode(docElement, formatCollection, node, formatNode, fontSize, fontName);
139
+ formatCollection = this.isFormattedNode(docElement, formatCollection, node, isListUpdated, isComplexListUpdated, formatNode, fontSize, fontName);
140
+ if (formatCollection.orderedlist || formatCollection.unorderedlist) {
141
+ isListUpdated = true;
142
+ }
143
+ if (formatCollection.bulletFormatList || formatCollection.numberFormatList) {
144
+ isComplexListUpdated = true;
145
+ }
137
146
  node = node.parentNode;
138
147
  } while (node && (node !== targetNode));
139
148
  }
140
149
  return formatCollection;
141
150
  };
142
- ToolbarStatus.isFormattedNode = function (docElement, formatCollection, node, formatNode, fontSize, fontName) {
151
+ ToolbarStatus.isFormattedNode = function (docElement, formatCollection, node, isListUpdated, isComplexListUpdated, formatNode, fontSize, fontName) {
143
152
  if (!formatCollection.bold) {
144
153
  formatCollection.bold = IsFormatted.isBold(node);
145
154
  }
@@ -170,10 +179,10 @@ var ToolbarStatus = /** @class */ (function () {
170
179
  if (!formatCollection.backgroundcolor) {
171
180
  formatCollection.backgroundcolor = this.isBackgroundColor(node);
172
181
  }
173
- if (!formatCollection.orderedlist) {
182
+ if (!formatCollection.orderedlist && !isListUpdated) {
174
183
  formatCollection.orderedlist = this.isOrderedList(node);
175
184
  }
176
- if (!formatCollection.unorderedlist) {
185
+ if (!formatCollection.unorderedlist && !isListUpdated) {
177
186
  formatCollection.unorderedlist = this.isUnorderedList(node);
178
187
  }
179
188
  if (!formatCollection.alignments) {
@@ -188,10 +197,10 @@ var ToolbarStatus = /** @class */ (function () {
188
197
  if (!formatCollection.createlink) {
189
198
  formatCollection.createlink = this.isLink(node);
190
199
  }
191
- if (!formatCollection.numberFormatList) {
200
+ if (!formatCollection.numberFormatList && !isComplexListUpdated) {
192
201
  formatCollection.numberFormatList = this.isNumberFormatList(node);
193
202
  }
194
- if (!formatCollection.bulletFormatList) {
203
+ if (!formatCollection.bulletFormatList && !isComplexListUpdated) {
195
204
  formatCollection.bulletFormatList = this.isBulletFormatList(node);
196
205
  }
197
206
  return formatCollection;
@@ -250,7 +259,8 @@ var ToolbarStatus = /** @class */ (function () {
250
259
  // eslint-disable-next-line
251
260
  var pattern = new RegExp(name, 'i');
252
261
  if ((value.replace(/"/g, '').replace(/ /g, '').toLowerCase() === name.replace(/"/g, '').replace(/ /g, '').toLowerCase()) ||
253
- (value.split(',')[0] && value.split(',')[0].search(pattern) > -1)) {
262
+ (value.split(',')[0] && !isNullOrUndefined(value.split(',')[0].trim().match(pattern)) &&
263
+ value.split(',')[0].trim() === value.split(',')[0].trim().match(pattern)[0])) {
254
264
  index = pos;
255
265
  }
256
266
  }) && (index !== null)))) {
@@ -24,7 +24,7 @@ export declare class UndoRedoManager {
24
24
  * @param {IHtmlSubCommands} e - specifies the sub command
25
25
  * @returns {void}
26
26
  * @hidden
27
-
27
+ * @deprecated
28
28
  */
29
29
  onAction(e: IHtmlSubCommands): void;
30
30
  /**
@@ -33,12 +33,13 @@ export declare class UndoRedoManager {
33
33
  * @function destroy
34
34
  * @returns {void}
35
35
  * @hidden
36
-
36
+ * @deprecated
37
37
  */
38
38
  destroy(): void;
39
39
  private keyDown;
40
40
  private keyUp;
41
41
  private getTextContentFromFragment;
42
+ private isElementStructureEqual;
42
43
  /**
43
44
  * RTE collection stored html format.
44
45
  *
@@ -46,7 +47,7 @@ export declare class UndoRedoManager {
46
47
  * @param {KeyboardEvent} e - specifies the keyboard event
47
48
  * @returns {void}
48
49
  * @hidden
49
-
50
+ * @deprecated
50
51
  */
51
52
  saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
52
53
  /**
@@ -56,7 +57,7 @@ export declare class UndoRedoManager {
56
57
  * @param {IHtmlSubCommands} e - specifies the sub commands
57
58
  * @returns {void}
58
59
  * @hidden
59
-
60
+ * @deprecated
60
61
  */
61
62
  undo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
62
63
  /**
@@ -66,7 +67,7 @@ export declare class UndoRedoManager {
66
67
  * @function redo
67
68
  * @returns {void}
68
69
  * @hidden
69
-
70
+ * @deprecated
70
71
  */
71
72
  redo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
72
73
  /**
@@ -74,7 +75,7 @@ export declare class UndoRedoManager {
74
75
  *
75
76
  * @returns {boolean} - returns the boolean value
76
77
  * @hidden
77
-
78
+ * @deprecated
78
79
  */
79
80
  getUndoStatus(): {
80
81
  [key: string]: boolean;