@syncfusion/ej2-richtexteditor 27.1.55 → 27.1.57-637882

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 (234) hide show
  1. package/.eslintignore +4 -4
  2. package/.eslintrc.json +260 -260
  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 +994 -749
  7. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  8. package/dist/es6/ej2-richtexteditor.es5.js +622 -364
  9. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  10. package/ej2-richtexteditor-component.sln +30 -0
  11. package/helpers/e2e/index.js +3 -3
  12. package/helpers/e2e/rte-helper.js +13 -13
  13. package/license +9 -9
  14. package/package.json +85 -85
  15. package/src/common/editor-styles.js +1 -1
  16. package/src/common/interface.d.ts +10 -8
  17. package/src/common/util.js +2 -1
  18. package/src/editor-manager/base/classes.d.ts +1 -1
  19. package/src/editor-manager/base/classes.js +1 -1
  20. package/src/editor-manager/base/constant.d.ts +4 -0
  21. package/src/editor-manager/base/constant.js +4 -0
  22. package/src/editor-manager/base/editor-manager.d.ts +3 -3
  23. package/src/editor-manager/base/editor-manager.js +3 -3
  24. package/src/editor-manager/base/enum.d.ts +2 -2
  25. package/src/editor-manager/base/interface.d.ts +9 -9
  26. package/src/editor-manager/base/types.d.ts +1 -1
  27. package/src/editor-manager/plugin/alignments.d.ts +2 -2
  28. package/src/editor-manager/plugin/alignments.js +2 -2
  29. package/src/editor-manager/plugin/audio.d.ts +3 -3
  30. package/src/editor-manager/plugin/audio.js +3 -3
  31. package/src/editor-manager/plugin/clearformat-exec.d.ts +2 -2
  32. package/src/editor-manager/plugin/clearformat-exec.js +2 -2
  33. package/src/editor-manager/plugin/clearformat.d.ts +1 -1
  34. package/src/editor-manager/plugin/clearformat.js +1 -1
  35. package/src/editor-manager/plugin/dom-node.d.ts +36 -36
  36. package/src/editor-manager/plugin/dom-node.js +36 -36
  37. package/src/editor-manager/plugin/format-painter-actions.d.ts +1 -1
  38. package/src/editor-manager/plugin/format-painter-actions.js +1 -1
  39. package/src/editor-manager/plugin/formats.d.ts +3 -2
  40. package/src/editor-manager/plugin/formats.js +27 -2
  41. package/src/editor-manager/plugin/image.d.ts +3 -3
  42. package/src/editor-manager/plugin/image.js +11 -5
  43. package/src/editor-manager/plugin/indents.d.ts +2 -2
  44. package/src/editor-manager/plugin/indents.js +2 -2
  45. package/src/editor-manager/plugin/insert-methods.d.ts +4 -4
  46. package/src/editor-manager/plugin/insert-methods.js +4 -4
  47. package/src/editor-manager/plugin/insert-text.d.ts +2 -2
  48. package/src/editor-manager/plugin/insert-text.js +2 -2
  49. package/src/editor-manager/plugin/inserthtml-exec.d.ts +2 -2
  50. package/src/editor-manager/plugin/inserthtml-exec.js +2 -2
  51. package/src/editor-manager/plugin/inserthtml.d.ts +4 -2
  52. package/src/editor-manager/plugin/inserthtml.js +98 -19
  53. package/src/editor-manager/plugin/isformatted.d.ts +9 -9
  54. package/src/editor-manager/plugin/isformatted.js +9 -9
  55. package/src/editor-manager/plugin/link.d.ts +2 -2
  56. package/src/editor-manager/plugin/link.js +2 -2
  57. package/src/editor-manager/plugin/lists.d.ts +2 -2
  58. package/src/editor-manager/plugin/lists.js +2 -2
  59. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +2 -1
  60. package/src/editor-manager/plugin/ms-word-clean-up.js +17 -1
  61. package/src/editor-manager/plugin/nodecutter.d.ts +6 -6
  62. package/src/editor-manager/plugin/nodecutter.js +8 -8
  63. package/src/editor-manager/plugin/selection-commands.d.ts +1 -1
  64. package/src/editor-manager/plugin/selection-commands.js +1 -1
  65. package/src/editor-manager/plugin/selection-exec.d.ts +2 -2
  66. package/src/editor-manager/plugin/selection-exec.js +2 -2
  67. package/src/editor-manager/plugin/table.d.ts +2 -2
  68. package/src/editor-manager/plugin/table.js +2 -2
  69. package/src/editor-manager/plugin/toolbar-status.d.ts +2 -2
  70. package/src/editor-manager/plugin/toolbar-status.js +2 -2
  71. package/src/editor-manager/plugin/undo.d.ts +6 -6
  72. package/src/editor-manager/plugin/undo.js +6 -6
  73. package/src/editor-manager/plugin/video.d.ts +3 -3
  74. package/src/editor-manager/plugin/video.js +3 -3
  75. package/src/markdown-parser/base/interface.d.ts +10 -10
  76. package/src/markdown-parser/base/markdown-parser.d.ts +3 -3
  77. package/src/markdown-parser/base/markdown-parser.js +3 -3
  78. package/src/markdown-parser/base/types.d.ts +1 -1
  79. package/src/markdown-parser/plugin/clearformat.d.ts +2 -2
  80. package/src/markdown-parser/plugin/clearformat.js +2 -2
  81. package/src/markdown-parser/plugin/formats.d.ts +2 -2
  82. package/src/markdown-parser/plugin/formats.js +2 -2
  83. package/src/markdown-parser/plugin/insert-text.d.ts +2 -2
  84. package/src/markdown-parser/plugin/insert-text.js +2 -2
  85. package/src/markdown-parser/plugin/link.d.ts +2 -2
  86. package/src/markdown-parser/plugin/link.js +2 -2
  87. package/src/markdown-parser/plugin/markdown-selection.d.ts +14 -14
  88. package/src/markdown-parser/plugin/markdown-selection.js +14 -14
  89. package/src/markdown-parser/plugin/md-selection-formats.d.ts +1 -1
  90. package/src/markdown-parser/plugin/md-selection-formats.js +1 -1
  91. package/src/markdown-parser/plugin/table.d.ts +3 -3
  92. package/src/markdown-parser/plugin/table.js +3 -3
  93. package/src/markdown-parser/plugin/undo.d.ts +6 -6
  94. package/src/markdown-parser/plugin/undo.js +6 -6
  95. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +9 -9
  96. package/src/rich-text-editor/actions/base-quick-toolbar.js +9 -9
  97. package/src/rich-text-editor/actions/base-toolbar.d.ts +3 -3
  98. package/src/rich-text-editor/actions/base-toolbar.js +3 -3
  99. package/src/rich-text-editor/actions/color-picker.d.ts +2 -2
  100. package/src/rich-text-editor/actions/color-picker.js +2 -2
  101. package/src/rich-text-editor/actions/count.d.ts +3 -3
  102. package/src/rich-text-editor/actions/count.js +3 -3
  103. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -2
  104. package/src/rich-text-editor/actions/dropdown-buttons.js +2 -2
  105. package/src/rich-text-editor/actions/emoji-picker.d.ts +1 -1
  106. package/src/rich-text-editor/actions/emoji-picker.js +1 -1
  107. package/src/rich-text-editor/actions/enter-key.js +10 -2
  108. package/src/rich-text-editor/actions/full-screen.d.ts +3 -3
  109. package/src/rich-text-editor/actions/full-screen.js +3 -3
  110. package/src/rich-text-editor/actions/html-editor.d.ts +3 -3
  111. package/src/rich-text-editor/actions/html-editor.js +21 -5
  112. package/src/rich-text-editor/actions/keyboard-model.d.ts +16 -16
  113. package/src/rich-text-editor/actions/keyboard.d.ts +1 -1
  114. package/src/rich-text-editor/actions/keyboard.js +20 -20
  115. package/src/rich-text-editor/actions/markdown-editor.d.ts +2 -2
  116. package/src/rich-text-editor/actions/markdown-editor.js +2 -2
  117. package/src/rich-text-editor/actions/paste-clean-up.d.ts +1 -1
  118. package/src/rich-text-editor/actions/paste-clean-up.js +49 -22
  119. package/src/rich-text-editor/actions/quick-toolbar.d.ts +9 -9
  120. package/src/rich-text-editor/actions/quick-toolbar.js +9 -9
  121. package/src/rich-text-editor/actions/resize.js +4 -0
  122. package/src/rich-text-editor/actions/toolbar.d.ts +13 -13
  123. package/src/rich-text-editor/actions/toolbar.js +13 -13
  124. package/src/rich-text-editor/actions/xhtml-validation.d.ts +1 -1
  125. package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
  126. package/src/rich-text-editor/base/classes.d.ts +125 -125
  127. package/src/rich-text-editor/base/classes.js +125 -125
  128. package/src/rich-text-editor/base/constant.d.ts +158 -158
  129. package/src/rich-text-editor/base/constant.js +158 -158
  130. package/src/rich-text-editor/base/enum.d.ts +1 -1
  131. package/src/rich-text-editor/base/enum.js +1 -1
  132. package/src/rich-text-editor/base/interface.d.ts +51 -51
  133. package/src/rich-text-editor/base/interface.js +1 -1
  134. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +958 -958
  135. package/src/rich-text-editor/base/rich-text-editor.d.ts +62 -62
  136. package/src/rich-text-editor/base/rich-text-editor.js +68 -65
  137. package/src/rich-text-editor/base/util.d.ts +1 -1
  138. package/src/rich-text-editor/base/util.js +1 -1
  139. package/src/rich-text-editor/formatter/formatter.d.ts +8 -8
  140. package/src/rich-text-editor/formatter/formatter.js +8 -8
  141. package/src/rich-text-editor/formatter/html-formatter.d.ts +2 -2
  142. package/src/rich-text-editor/formatter/html-formatter.js +15 -15
  143. package/src/rich-text-editor/formatter/markdown-formatter.d.ts +2 -2
  144. package/src/rich-text-editor/formatter/markdown-formatter.js +15 -15
  145. package/src/rich-text-editor/models/default-locale.js +5 -5
  146. package/src/rich-text-editor/models/iframe-settings-model.d.ts +38 -38
  147. package/src/rich-text-editor/models/iframe-settings.js +19 -19
  148. package/src/rich-text-editor/models/inline-mode-model.d.ts +11 -11
  149. package/src/rich-text-editor/models/inline-mode.js +19 -19
  150. package/src/rich-text-editor/models/slash-menu-settings-model.d.ts +25 -25
  151. package/src/rich-text-editor/models/slash-menu-settings.js +19 -19
  152. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +807 -807
  153. package/src/rich-text-editor/models/toolbar-settings.js +19 -19
  154. package/src/rich-text-editor/renderer/audio-module.d.ts +1 -1
  155. package/src/rich-text-editor/renderer/audio-module.js +8 -2
  156. package/src/rich-text-editor/renderer/content-renderer.d.ts +6 -6
  157. package/src/rich-text-editor/renderer/content-renderer.js +6 -6
  158. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +2 -2
  159. package/src/rich-text-editor/renderer/dialog-renderer.js +2 -2
  160. package/src/rich-text-editor/renderer/iframe-content-renderer.d.ts +4 -4
  161. package/src/rich-text-editor/renderer/iframe-content-renderer.js +17 -17
  162. package/src/rich-text-editor/renderer/image-module.d.ts +1 -1
  163. package/src/rich-text-editor/renderer/image-module.js +65 -23
  164. package/src/rich-text-editor/renderer/link-module.d.ts +1 -1
  165. package/src/rich-text-editor/renderer/link-module.js +4 -1
  166. package/src/rich-text-editor/renderer/markdown-renderer.d.ts +6 -6
  167. package/src/rich-text-editor/renderer/markdown-renderer.js +6 -6
  168. package/src/rich-text-editor/renderer/popup-renderer.d.ts +5 -5
  169. package/src/rich-text-editor/renderer/popup-renderer.js +5 -5
  170. package/src/rich-text-editor/renderer/render.d.ts +2 -2
  171. package/src/rich-text-editor/renderer/render.js +2 -2
  172. package/src/rich-text-editor/renderer/slash-menu.js +9 -0
  173. package/src/rich-text-editor/renderer/table-module.d.ts +1 -1
  174. package/src/rich-text-editor/renderer/table-module.js +5 -4
  175. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +9 -9
  176. package/src/rich-text-editor/renderer/toolbar-renderer.js +9 -9
  177. package/src/rich-text-editor/renderer/video-module.d.ts +1 -1
  178. package/src/rich-text-editor/renderer/video-module.js +8 -2
  179. package/src/rich-text-editor/renderer/view-source.d.ts +5 -5
  180. package/src/rich-text-editor/renderer/view-source.js +5 -5
  181. package/src/rich-text-editor/services/renderer-factory.d.ts +3 -3
  182. package/src/rich-text-editor/services/renderer-factory.js +3 -3
  183. package/src/rich-text-editor/services/service-locator.d.ts +3 -3
  184. package/src/rich-text-editor/services/service-locator.js +3 -3
  185. package/src/selection/selection.d.ts +24 -23
  186. package/src/selection/selection.js +37 -34
  187. package/styles/_all.scss +1 -1
  188. package/styles/material3-dark.scss +1 -1
  189. package/styles/material3.scss +1 -1
  190. package/styles/rich-text-editor/_all.scss +2 -2
  191. package/styles/rich-text-editor/_bds-definition.scss +290 -290
  192. package/styles/rich-text-editor/_bigger.scss +610 -610
  193. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +291 -291
  194. package/styles/rich-text-editor/_bootstrap-definition.scss +349 -349
  195. package/styles/rich-text-editor/_bootstrap4-definition.scss +476 -476
  196. package/styles/rich-text-editor/_bootstrap5-definition.scss +278 -278
  197. package/styles/rich-text-editor/_bootstrap5.3-definition.scss +278 -278
  198. package/styles/rich-text-editor/_fabric-dark-definition.scss +275 -275
  199. package/styles/rich-text-editor/_fabric-definition.scss +273 -273
  200. package/styles/rich-text-editor/_fluent-definition.scss +279 -279
  201. package/styles/rich-text-editor/_fluent2-definition.scss +287 -287
  202. package/styles/rich-text-editor/_fusionnew-definition.scss +276 -276
  203. package/styles/rich-text-editor/_highcontrast-definition.scss +274 -274
  204. package/styles/rich-text-editor/_highcontrast-light-definition.scss +273 -273
  205. package/styles/rich-text-editor/_layout.scss +2180 -2180
  206. package/styles/rich-text-editor/_material-dark-definition.scss +278 -278
  207. package/styles/rich-text-editor/_material-definition.scss +276 -276
  208. package/styles/rich-text-editor/_material3-definition.scss +278 -278
  209. package/styles/rich-text-editor/_tailwind-definition.scss +273 -273
  210. package/styles/rich-text-editor/_theme.scss +844 -844
  211. package/styles/rich-text-editor/icons/_bds.scss +372 -372
  212. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +373 -373
  213. package/styles/rich-text-editor/icons/_bootstrap.scss +373 -373
  214. package/styles/rich-text-editor/icons/_bootstrap4.scss +373 -373
  215. package/styles/rich-text-editor/icons/_bootstrap5.3.scss +372 -372
  216. package/styles/rich-text-editor/icons/_bootstrap5.scss +372 -372
  217. package/styles/rich-text-editor/icons/_fabric-dark.scss +373 -373
  218. package/styles/rich-text-editor/icons/_fabric.scss +373 -373
  219. package/styles/rich-text-editor/icons/_fluent.scss +372 -372
  220. package/styles/rich-text-editor/icons/_fluent2.scss +369 -369
  221. package/styles/rich-text-editor/icons/_fusionnew.scss +357 -357
  222. package/styles/rich-text-editor/icons/_highcontrast-light.scss +361 -361
  223. package/styles/rich-text-editor/icons/_highcontrast.scss +373 -373
  224. package/styles/rich-text-editor/icons/_material-dark.scss +373 -373
  225. package/styles/rich-text-editor/icons/_material.scss +373 -373
  226. package/styles/rich-text-editor/icons/_material3.scss +372 -372
  227. package/styles/rich-text-editor/icons/_tailwind.scss +372 -372
  228. package/styles/rich-text-editor/material3-dark.scss +1 -1
  229. package/styles/rich-text-editor/material3.scss +1 -1
  230. package/dist/ej2-richtexteditor.min.js +0 -10
  231. package/dist/global/ej2-richtexteditor.min.js +0 -11
  232. package/dist/global/ej2-richtexteditor.min.js.map +0 -1
  233. package/dist/global/index.d.ts +0 -14
  234. package/tslint.json +0 -111
@@ -2,14 +2,14 @@
2
2
  * Insert a HTML Node or Text
3
3
  *
4
4
  * @hidden
5
-
5
+ * @deprecated
6
6
  */
7
7
  export declare class InsertHtml {
8
8
  /**
9
9
  * Insert method
10
10
  *
11
11
  * @hidden
12
-
12
+ * @deprecated
13
13
  */
14
14
  static inlineNode: string[];
15
15
  static contentsDeleted: boolean;
@@ -17,6 +17,8 @@ export declare class InsertHtml {
17
17
  private static findFirstTextNode;
18
18
  private static pasteInsertHTML;
19
19
  private static listCleanUp;
20
+ private static cleanUpListItems;
21
+ private static cleanUpListContainer;
20
22
  private static placeCursorEnd;
21
23
  private static getNodeCollection;
22
24
  private static insertTempNode;
@@ -8,7 +8,7 @@ import { updateTextNode, nestedListCleanUp } from './../../common/util';
8
8
  * Insert a HTML Node or Text
9
9
  *
10
10
  * @hidden
11
-
11
+ * @deprecated
12
12
  */
13
13
  var InsertHtml = /** @class */ (function () {
14
14
  function InsertHtml() {
@@ -107,7 +107,12 @@ var InsertHtml = /** @class */ (function () {
107
107
  }
108
108
  }
109
109
  if (!isNOU(sibNode) && !isNOU(sibNode.parentNode)) {
110
- InsertMethods.AppendBefore(node, sibNode, true);
110
+ if (docElement.contains(sibNode)) {
111
+ InsertMethods.AppendBefore(node, sibNode, true);
112
+ }
113
+ else {
114
+ range.insertNode(node);
115
+ }
111
116
  }
112
117
  else {
113
118
  var previousNode = null;
@@ -395,26 +400,99 @@ var InsertHtml = /** @class */ (function () {
395
400
  this.cursorPos(lastSelectionNode, node, nodeSelection, docElement, editNode, enterAction);
396
401
  }
397
402
  this.alignCheck(editNode);
398
- var currentRange = nodeSelection.getRange(docElement);
399
- this.listCleanUp(currentRange);
403
+ this.listCleanUp(nodeSelection, docElement);
400
404
  };
401
- InsertHtml.listCleanUp = function (range) {
405
+ InsertHtml.listCleanUp = function (nodeSelection, docElement) {
406
+ var range = nodeSelection.getRange(docElement);
407
+ var startContainer = range.startContainer;
408
+ var startOffset = range.startOffset;
402
409
  if (range.startContainer.parentElement.closest('ol,ul') !== null && range.endContainer.parentElement.closest('ol,ul') !== null) {
403
- var liElems = range.startContainer.parentElement.closest('ol,ul').querySelectorAll('li');
404
- if (liElems.length > 0) {
405
- liElems.forEach(function (item) {
406
- if (!isNOU(item.firstChild) && (item.firstChild.nodeName === 'OL' || item.firstChild.nodeName === 'UL')) {
407
- item.style.listStyleType = 'none';
408
- }
409
- var nestedLi = Array.from(item.children).find(function (child) {
410
- return child.tagName === 'LI' && (child.parentElement && child.parentElement.tagName !== 'OL' && child.parentElement.tagName !== 'UL');
411
- });
412
- if (nestedLi) {
413
- item.parentNode.replaceChild(nestedLi, item);
410
+ var haslistCleanUp = this.cleanUpListItems(range.startContainer.parentElement.closest('ol,ul'));
411
+ var haslistContainerCleanUp = this.cleanUpListContainer(range.startContainer.parentElement.closest('ol,ul'));
412
+ if (haslistCleanUp || haslistContainerCleanUp) {
413
+ range.setStart(startContainer, startOffset);
414
+ range.setEnd(startContainer, startOffset);
415
+ }
416
+ }
417
+ };
418
+ InsertHtml.cleanUpListItems = function (parentContainer) {
419
+ var _this = this;
420
+ var hasListCleanUp = false;
421
+ var listItems = parentContainer.closest('ol, ul').querySelectorAll('li');
422
+ if (listItems.length === 0) {
423
+ return false;
424
+ }
425
+ var nearestListItem = null;
426
+ listItems.forEach(function (listItem) {
427
+ if (!isNOU(listItem.firstChild) && (listItem.firstChild.nodeName === 'OL' || listItem.firstChild.nodeName === 'UL')) {
428
+ listItem.style.listStyleType = 'none';
429
+ }
430
+ var parentElement = listItem.parentElement;
431
+ if (!isNOU(parentElement) && parentElement.nodeName !== 'OL' && parentElement.nodeName !== 'UL') {
432
+ if (isNOU(nearestListItem)) {
433
+ nearestListItem = parentElement.closest('li');
434
+ }
435
+ if (!isNOU(nearestListItem)) {
436
+ var nextSibling = listItem.nextSibling;
437
+ if (!isNOU(nextSibling) && nextSibling.nodeName !== 'LI') {
438
+ var startIndex = Array.prototype.indexOf.call(parentElement.childNodes, nextSibling);
439
+ var clonedParent = parentElement.cloneNode(false);
440
+ var totalChildren = parentElement.childNodes.length;
441
+ for (var i = startIndex; i < totalChildren; i++) {
442
+ clonedParent.appendChild(parentElement.childNodes[startIndex]);
443
+ }
444
+ if (clonedParent.childNodes.length > 0) {
445
+ var newListItem = document.createElement('li');
446
+ newListItem.appendChild(clonedParent);
447
+ nearestListItem.insertAdjacentElement('afterend', newListItem);
448
+ }
449
+ else {
450
+ clonedParent.remove();
451
+ }
414
452
  }
415
- });
453
+ var closestList = parentElement.closest('ol, ul');
454
+ nearestListItem.insertAdjacentElement('afterend', listItem);
455
+ nearestListItem = nearestListItem.nextSibling;
456
+ _this.removeEmptyElements(closestList);
457
+ hasListCleanUp = true;
458
+ }
416
459
  }
460
+ var nestedLi = Array.from(listItem.children).find(function (child) {
461
+ return child.tagName === 'LI' && (child.parentElement && child.parentElement.tagName !== 'OL' && child.parentElement.tagName !== 'UL');
462
+ });
463
+ if (nestedLi && listItem.parentNode) {
464
+ listItem.parentNode.replaceChild(nestedLi, listItem);
465
+ hasListCleanUp = true;
466
+ }
467
+ });
468
+ return hasListCleanUp;
469
+ };
470
+ InsertHtml.cleanUpListContainer = function (parentList) {
471
+ var hasListContainerCleanUp = false;
472
+ var nonLiElementCollection = [];
473
+ var replacements = [];
474
+ if (!isNOU(parentList)) {
475
+ parentList.childNodes.forEach(function (childNode) {
476
+ if (childNode.nodeName.toLocaleUpperCase() !== 'LI') {
477
+ nonLiElementCollection.push(childNode);
478
+ }
479
+ if ((childNode.nodeName.toLocaleUpperCase() === 'LI' || parentList.lastChild === childNode) && nonLiElementCollection.length > 0) {
480
+ replacements.push({ elements: nonLiElementCollection.slice() });
481
+ nonLiElementCollection = [];
482
+ }
483
+ });
484
+ replacements.forEach(function (_a) {
485
+ var elements = _a.elements;
486
+ var newListItem = document.createElement('li');
487
+ elements[0].parentNode.replaceChild(newListItem, elements[0]);
488
+ elements.forEach(function (child) { return newListItem.appendChild(child); });
489
+ if (newListItem.textContent && newListItem.textContent.trim() === '') {
490
+ parentList.removeChild(newListItem);
491
+ }
492
+ hasListContainerCleanUp = true;
493
+ });
417
494
  }
495
+ return hasListContainerCleanUp;
418
496
  };
419
497
  InsertHtml.placeCursorEnd = function (lastSelectionNode, node, nodeSelection, docElement, editNode) {
420
498
  lastSelectionNode = lastSelectionNode.nodeName === 'BR' ? (isNOU(lastSelectionNode.previousSibling) ? lastSelectionNode.parentNode
@@ -630,7 +708,8 @@ var InsertHtml = /** @class */ (function () {
630
708
  while (el && el.nodeType === 1) {
631
709
  if (el.parentNode === editNode ||
632
710
  (!isNOU(el.parentNode.tagName) &&
633
- CONSTANT.IGNORE_BLOCK_TAGS.indexOf(el.parentNode.tagName.toLocaleLowerCase()) !== -1)) {
711
+ (CONSTANT.IGNORE_BLOCK_TAGS.indexOf(el.parentNode.tagName.toLocaleLowerCase()) !== -1
712
+ || CONSTANT.ALLOWED_TABLE_BLOCK_TAGS.indexOf(el.parentNode.tagName.toLocaleLowerCase()) !== -1))) {
634
713
  return el;
635
714
  }
636
715
  el = el.parentNode;
@@ -698,7 +777,7 @@ var InsertHtml = /** @class */ (function () {
698
777
  * Insert method
699
778
  *
700
779
  * @hidden
701
-
780
+ * @deprecated
702
781
  */
703
782
  InsertHtml.inlineNode = ['a', 'abbr', 'acronym', 'audio', 'b', 'bdi', 'bdo', 'big', 'br', 'button',
704
783
  'canvas', 'cite', 'code', 'data', 'datalist', 'del', 'dfn', 'em', 'embed', 'font', 'i', 'iframe', 'img', 'input',
@@ -2,7 +2,7 @@
2
2
  * Is formatted or not.
3
3
  *
4
4
  * @hidden
5
-
5
+ * @deprecated
6
6
  */
7
7
  export declare class IsFormatted {
8
8
  static inlineTags: string[];
@@ -14,7 +14,7 @@ export declare class IsFormatted {
14
14
  * @param {Node} endNode - specifies the end node
15
15
  * @returns {Node} - returns the node
16
16
  * @hidden
17
-
17
+ * @deprecated
18
18
  */
19
19
  getFormattedNode(node: Node, format: string, endNode: Node): Node;
20
20
  private getFormatParent;
@@ -25,7 +25,7 @@ export declare class IsFormatted {
25
25
  * @param {Node} node - specifies the node value
26
26
  * @returns {boolean} - returns the boolean value
27
27
  * @hidden
28
-
28
+ * @deprecated
29
29
  */
30
30
  static isBold(node: Node): boolean;
31
31
  /**
@@ -34,7 +34,7 @@ export declare class IsFormatted {
34
34
  * @param {Node} node - specifies the node value
35
35
  * @returns {boolean} - returns the boolean value
36
36
  * @hidden
37
-
37
+ * @deprecated
38
38
  */
39
39
  static isItalic(node: Node): boolean;
40
40
  /**
@@ -43,7 +43,7 @@ export declare class IsFormatted {
43
43
  * @param {Node} node - specifies the node value
44
44
  * @returns {boolean} - returns the boolean value
45
45
  * @hidden
46
-
46
+ * @deprecated
47
47
  */
48
48
  static isUnderline(node: Node): boolean;
49
49
  /**
@@ -52,7 +52,7 @@ export declare class IsFormatted {
52
52
  * @param {Node} node - specifies the node value
53
53
  * @returns {boolean} - returns the boolean value
54
54
  * @hidden
55
-
55
+ * @deprecated
56
56
  */
57
57
  static isStrikethrough(node: Node): boolean;
58
58
  /**
@@ -61,7 +61,7 @@ export declare class IsFormatted {
61
61
  * @param {Node} node - specifies the node value
62
62
  * @returns {boolean} - returns the boolean value
63
63
  * @hidden
64
-
64
+ * @deprecated
65
65
  */
66
66
  static isSuperscript(node: Node): boolean;
67
67
  /**
@@ -70,7 +70,7 @@ export declare class IsFormatted {
70
70
  * @param {Node} node - specifies the node value
71
71
  * @returns {boolean} - returns the boolean value
72
72
  * @hidden
73
-
73
+ * @deprecated
74
74
  */
75
75
  static isSubscript(node: Node): boolean;
76
76
  private isFontColor;
@@ -83,7 +83,7 @@ export declare class IsFormatted {
83
83
  * @param {Node} node - specifies the node value
84
84
  * @returns {boolean} - returns the boolean value
85
85
  * @hidden
86
-
86
+ * @deprecated
87
87
  */
88
88
  static isCode(node: Node): boolean;
89
89
  }
@@ -2,7 +2,7 @@
2
2
  * Is formatted or not.
3
3
  *
4
4
  * @hidden
5
-
5
+ * @deprecated
6
6
  */
7
7
  var IsFormatted = /** @class */ (function () {
8
8
  function IsFormatted() {
@@ -15,7 +15,7 @@ var IsFormatted = /** @class */ (function () {
15
15
  * @param {Node} endNode - specifies the end node
16
16
  * @returns {Node} - returns the node
17
17
  * @hidden
18
-
18
+ * @deprecated
19
19
  */
20
20
  IsFormatted.prototype.getFormattedNode = function (node, format, endNode) {
21
21
  var parentNode = this.getFormatParent(node, format, endNode);
@@ -64,7 +64,7 @@ var IsFormatted = /** @class */ (function () {
64
64
  * @param {Node} node - specifies the node value
65
65
  * @returns {boolean} - returns the boolean value
66
66
  * @hidden
67
-
67
+ * @deprecated
68
68
  */
69
69
  IsFormatted.isBold = function (node) {
70
70
  var validTags = ['strong', 'b'];
@@ -85,7 +85,7 @@ var IsFormatted = /** @class */ (function () {
85
85
  * @param {Node} node - specifies the node value
86
86
  * @returns {boolean} - returns the boolean value
87
87
  * @hidden
88
-
88
+ * @deprecated
89
89
  */
90
90
  IsFormatted.isItalic = function (node) {
91
91
  var validTags = ['em', 'i'];
@@ -106,7 +106,7 @@ var IsFormatted = /** @class */ (function () {
106
106
  * @param {Node} node - specifies the node value
107
107
  * @returns {boolean} - returns the boolean value
108
108
  * @hidden
109
-
109
+ * @deprecated
110
110
  */
111
111
  IsFormatted.isUnderline = function (node) {
112
112
  var validTags = ['u'];
@@ -130,7 +130,7 @@ var IsFormatted = /** @class */ (function () {
130
130
  * @param {Node} node - specifies the node value
131
131
  * @returns {boolean} - returns the boolean value
132
132
  * @hidden
133
-
133
+ * @deprecated
134
134
  */
135
135
  IsFormatted.isStrikethrough = function (node) {
136
136
  var validTags = ['del', 'strike', 's'];
@@ -154,7 +154,7 @@ var IsFormatted = /** @class */ (function () {
154
154
  * @param {Node} node - specifies the node value
155
155
  * @returns {boolean} - returns the boolean value
156
156
  * @hidden
157
-
157
+ * @deprecated
158
158
  */
159
159
  IsFormatted.isSuperscript = function (node) {
160
160
  var validTags = ['sup'];
@@ -171,7 +171,7 @@ var IsFormatted = /** @class */ (function () {
171
171
  * @param {Node} node - specifies the node value
172
172
  * @returns {boolean} - returns the boolean value
173
173
  * @hidden
174
-
174
+ * @deprecated
175
175
  */
176
176
  IsFormatted.isSubscript = function (node) {
177
177
  var validTags = ['sub'];
@@ -228,7 +228,7 @@ var IsFormatted = /** @class */ (function () {
228
228
  * @param {Node} node - specifies the node value
229
229
  * @returns {boolean} - returns the boolean value
230
230
  * @hidden
231
-
231
+ * @deprecated
232
232
  */
233
233
  IsFormatted.isCode = function (node) {
234
234
  var validTags = ['code'];
@@ -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 LinkCommand {
9
9
  private parent;
@@ -12,7 +12,7 @@ export declare class LinkCommand {
12
12
  *
13
13
  * @param {EditorManager} parent - specifies the editor manager
14
14
  * @hidden
15
-
15
+ * @deprecated
16
16
  */
17
17
  constructor(parent: EditorManager);
18
18
  private addEventListener;
@@ -8,7 +8,7 @@ import * as EVENTS from './../../common/constant';
8
8
  * Link internal component
9
9
  *
10
10
  * @hidden
11
-
11
+ * @deprecated
12
12
  */
13
13
  var LinkCommand = /** @class */ (function () {
14
14
  /**
@@ -16,7 +16,7 @@ var LinkCommand = /** @class */ (function () {
16
16
  *
17
17
  * @param {EditorManager} parent - specifies the editor manager
18
18
  * @hidden
19
-
19
+ * @deprecated
20
20
  */
21
21
  function LinkCommand(parent) {
22
22
  this.parent = parent;
@@ -3,7 +3,7 @@ import { EditorManager } from './../base/editor-manager';
3
3
  * Lists internal component
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class Lists {
9
9
  private parent;
@@ -18,7 +18,7 @@ export declare class Lists {
18
18
  *
19
19
  * @param {EditorManager} parent - specifies the parent element
20
20
  * @hidden
21
-
21
+ * @deprecated
22
22
  */
23
23
  constructor(parent: EditorManager);
24
24
  private addEventListener;
@@ -9,7 +9,7 @@ import { isNullOrUndefined, isNullOrUndefined as isNOU, closest } from '@syncfus
9
9
  * Lists internal component
10
10
  *
11
11
  * @hidden
12
-
12
+ * @deprecated
13
13
  */
14
14
  var Lists = /** @class */ (function () {
15
15
  /**
@@ -17,7 +17,7 @@ var Lists = /** @class */ (function () {
17
17
  *
18
18
  * @param {EditorManager} parent - specifies the parent element
19
19
  * @hidden
20
-
20
+ * @deprecated
21
21
  */
22
22
  function Lists(parent) {
23
23
  this.parent = parent;
@@ -3,7 +3,7 @@ import { EditorManager } from '../base/editor-manager';
3
3
  * PasteCleanup for MsWord content
4
4
  *
5
5
  * @hidden
6
-
6
+ * @deprecated
7
7
  */
8
8
  export declare class MsWordPaste {
9
9
  private parent;
@@ -55,5 +55,6 @@ export declare class MsWordPaste {
55
55
  private processMargin;
56
56
  private removeEmptyAnchorTag;
57
57
  private findSource;
58
+ private handleOneNoteContent;
58
59
  destroy(): void;
59
60
  }
@@ -1,11 +1,12 @@
1
1
  import * as EVENTS from '../../common/constant';
2
2
  import { createElement, isNullOrUndefined as isNOU, detach, addClass, Browser } from '@syncfusion/ej2-base';
3
3
  import { PASTE_SOURCE } from '../base/constant';
4
+ import { InsertMethods } from './insert-methods';
4
5
  /**
5
6
  * PasteCleanup for MsWord content
6
7
  *
7
8
  * @hidden
8
-
9
+ * @deprecated
9
10
  */
10
11
  var MsWordPaste = /** @class */ (function () {
11
12
  function MsWordPaste(parent) {
@@ -99,6 +100,9 @@ var MsWordPaste = /** @class */ (function () {
99
100
  e.callBack(elm.innerHTML, this.cropImageDimensions, source);
100
101
  }
101
102
  else {
103
+ if (source === PASTE_SOURCE[2]) {
104
+ this.handleOneNoteContent(elm);
105
+ }
102
106
  e.callBack(elm.innerHTML, null, source);
103
107
  }
104
108
  };
@@ -1093,6 +1097,18 @@ var MsWordPaste = /** @class */ (function () {
1093
1097
  }
1094
1098
  return 'html';
1095
1099
  };
1100
+ MsWordPaste.prototype.handleOneNoteContent = function (element) {
1101
+ var allListElements = element.querySelectorAll('ul, ol');
1102
+ if (allListElements.length > 0) {
1103
+ for (var i = 0; i < allListElements.length; i++) {
1104
+ // Removing the ul and ol parent node for the p tag
1105
+ var currentList = allListElements[i];
1106
+ if (currentList.querySelectorAll('li').length === 0 && currentList.childNodes.length > 0) {
1107
+ InsertMethods.unwrap(currentList);
1108
+ }
1109
+ }
1110
+ }
1111
+ };
1096
1112
  MsWordPaste.prototype.destroy = function () {
1097
1113
  this.removeEventListener();
1098
1114
  };
@@ -2,7 +2,7 @@
2
2
  * Split the Node based on selection
3
3
  *
4
4
  * @hidden
5
-
5
+ * @deprecated
6
6
  */
7
7
  export declare class NodeCutter {
8
8
  enterAction: string;
@@ -15,7 +15,7 @@ export declare class NodeCutter {
15
15
  * @param {HTMLElement} node - specifies the node element.
16
16
  * @returns {Node} - returns the node value
17
17
  * @hidden
18
-
18
+ * @deprecated
19
19
  */
20
20
  GetSpliceNode(range: Range, node: HTMLElement): Node;
21
21
  /**
@@ -24,7 +24,7 @@ export declare class NodeCutter {
24
24
  * @param {boolean} isCollapsed - specifies the boolean value
25
25
  * @returns {HTMLElement} - returns the element
26
26
  * @hidden
27
-
27
+ * @deprecated
28
28
  */
29
29
  SplitNode(range: Range, node: HTMLElement, isCollapsed: boolean): HTMLElement;
30
30
  private isRteElm;
@@ -38,7 +38,7 @@ export declare class NodeCutter {
38
38
  * @param {Node} node - specifies the node.
39
39
  * @returns {Range} - returns the range value
40
40
  * @hidden
41
-
41
+ * @deprecated
42
42
  */
43
43
  GetCursorRange(docElement: Document, range: Range, node: Node): Range;
44
44
  /**
@@ -49,7 +49,7 @@ export declare class NodeCutter {
49
49
  * @param {Node} node - specifies the node.
50
50
  * @returns {Node} - returns the node value
51
51
  * @hidden
52
-
52
+ * @deprecated
53
53
  */
54
54
  GetCursorNode(docElement: Document, range: Range, node: Node): Node;
55
55
  /**
@@ -58,7 +58,7 @@ export declare class NodeCutter {
58
58
  * @param {string} line - specifies the string value.
59
59
  * @returns {string} - returns the string
60
60
  * @hidden
61
-
61
+ * @deprecated
62
62
  */
63
63
  TrimLineBreak(line: string): string;
64
64
  }
@@ -5,7 +5,7 @@ import { InsertMethods } from './insert-methods';
5
5
  * Split the Node based on selection
6
6
  *
7
7
  * @hidden
8
-
8
+ * @deprecated
9
9
  */
10
10
  var NodeCutter = /** @class */ (function () {
11
11
  function NodeCutter() {
@@ -21,7 +21,7 @@ var NodeCutter = /** @class */ (function () {
21
21
  * @param {HTMLElement} node - specifies the node element.
22
22
  * @returns {Node} - returns the node value
23
23
  * @hidden
24
-
24
+ * @deprecated
25
25
  */
26
26
  NodeCutter.prototype.GetSpliceNode = function (range, node) {
27
27
  node = this.SplitNode(range, node, true);
@@ -34,7 +34,7 @@ var NodeCutter = /** @class */ (function () {
34
34
  * @param {boolean} isCollapsed - specifies the boolean value
35
35
  * @returns {HTMLElement} - returns the element
36
36
  * @hidden
37
-
37
+ * @deprecated
38
38
  */
39
39
  NodeCutter.prototype.SplitNode = function (range, node, isCollapsed) {
40
40
  if (node) {
@@ -50,7 +50,7 @@ var NodeCutter = /** @class */ (function () {
50
50
  fragment = this.spliceEmptyNode(fragment, false);
51
51
  if (fragment && fragment.childNodes.length > 0) {
52
52
  var isEmpty = (fragment.childNodes.length === 1 && fragment.childNodes[0].nodeName !== 'IMG' && !(fragment.querySelectorAll('img').length > 0)
53
- && this.isRteElm(fragment) && fragment.textContent.trim() === '') ? true : false;
53
+ && this.isRteElm(fragment) && fragment.textContent.trim() === '' && fragment.textContent.charCodeAt(0) !== 32 && fragment.textContent.charCodeAt(0) !== 160) ? true : false;
54
54
  if (!isEmpty) {
55
55
  if (node) {
56
56
  InsertMethods.AppendBefore(fragment, node);
@@ -71,7 +71,7 @@ var NodeCutter = /** @class */ (function () {
71
71
  fragment = this.spliceEmptyNode(fragment, true);
72
72
  if (fragment && fragment.childNodes.length > 0) {
73
73
  var isEmpty = (fragment.childNodes.length === 1 && fragment.childNodes[0].nodeName !== 'IMG'
74
- && this.isRteElm(fragment) && fragment.textContent.trim() === '') ? true : false;
74
+ && this.isRteElm(fragment) && fragment.textContent.trim() === '' && fragment.textContent.charCodeAt(0) !== 32 && fragment.textContent.charCodeAt(0) !== 160) ? true : false;
75
75
  if (!isEmpty) {
76
76
  if (node) {
77
77
  InsertMethods.AppendBefore(fragment, node, true);
@@ -147,7 +147,7 @@ var NodeCutter = /** @class */ (function () {
147
147
  * @param {Node} node - specifies the node.
148
148
  * @returns {Range} - returns the range value
149
149
  * @hidden
150
-
150
+ * @deprecated
151
151
  */
152
152
  NodeCutter.prototype.GetCursorRange = function (docElement, range, node) {
153
153
  var cursorRange = docElement.createRange();
@@ -194,7 +194,7 @@ var NodeCutter = /** @class */ (function () {
194
194
  * @param {Node} node - specifies the node.
195
195
  * @returns {Node} - returns the node value
196
196
  * @hidden
197
-
197
+ * @deprecated
198
198
  */
199
199
  NodeCutter.prototype.GetCursorNode = function (docElement, range, node) {
200
200
  return this.GetSpliceNode(this.GetCursorRange(docElement, range, node), node);
@@ -205,7 +205,7 @@ var NodeCutter = /** @class */ (function () {
205
205
  * @param {string} line - specifies the string value.
206
206
  * @returns {string} - returns the string
207
207
  * @hidden
208
-
208
+ * @deprecated
209
209
  */
210
210
  NodeCutter.prototype.TrimLineBreak = function (line) {
211
211
  return line.replace(/(\r\n\t|\n|\r\t)/gm, ' ');
@@ -14,7 +14,7 @@ export declare class SelectionCommands {
14
14
  * @param {FormatPainterValue} painterValues specifies the element created and last child
15
15
  * @returns {void}
16
16
  * @hidden
17
-
17
+ * @deprecated
18
18
  */
19
19
  static applyFormat(docElement: Document, format: string, endNode: Node, enterAction: string, tableCellSelection?: ITableSelection, value?: string, selector?: string, painterValues?: FormatPainterValue): void;
20
20
  private static insertCursorNode;
@@ -24,7 +24,7 @@ var SelectionCommands = /** @class */ (function () {
24
24
  * @param {FormatPainterValue} painterValues specifies the element created and last child
25
25
  * @returns {void}
26
26
  * @hidden
27
-
27
+ * @deprecated
28
28
  */
29
29
  SelectionCommands.applyFormat = function (docElement, format, endNode, enterAction, tableCellSelection, value, selector, painterValues) {
30
30
  this.enterAction = enterAction;
@@ -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,7 +14,7 @@ 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;