@syncfusion/ej2-richtexteditor 26.2.9 → 26.2.11-618955

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 (225) 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 +258 -205
  7. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  8. package/dist/es6/ej2-richtexteditor.es5.js +346 -293
  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 +84 -84
  14. package/src/common/interface.d.ts +8 -8
  15. package/src/common/util.js +7 -0
  16. package/src/editor-manager/base/classes.d.ts +1 -1
  17. package/src/editor-manager/base/classes.js +1 -1
  18. package/src/editor-manager/base/editor-manager.d.ts +3 -3
  19. package/src/editor-manager/base/editor-manager.js +3 -3
  20. package/src/editor-manager/base/enum.d.ts +2 -2
  21. package/src/editor-manager/base/interface.d.ts +9 -9
  22. package/src/editor-manager/base/types.d.ts +1 -1
  23. package/src/editor-manager/plugin/alignments.d.ts +2 -2
  24. package/src/editor-manager/plugin/alignments.js +2 -2
  25. package/src/editor-manager/plugin/audio.d.ts +3 -3
  26. package/src/editor-manager/plugin/audio.js +3 -3
  27. package/src/editor-manager/plugin/clearformat-exec.d.ts +2 -2
  28. package/src/editor-manager/plugin/clearformat-exec.js +2 -2
  29. package/src/editor-manager/plugin/clearformat.d.ts +1 -1
  30. package/src/editor-manager/plugin/clearformat.js +1 -1
  31. package/src/editor-manager/plugin/dom-node.d.ts +36 -36
  32. package/src/editor-manager/plugin/dom-node.js +36 -36
  33. package/src/editor-manager/plugin/format-painter-actions.d.ts +1 -1
  34. package/src/editor-manager/plugin/format-painter-actions.js +1 -1
  35. package/src/editor-manager/plugin/formats.d.ts +2 -2
  36. package/src/editor-manager/plugin/formats.js +3 -3
  37. package/src/editor-manager/plugin/image.d.ts +3 -3
  38. package/src/editor-manager/plugin/image.js +3 -3
  39. package/src/editor-manager/plugin/indents.d.ts +2 -2
  40. package/src/editor-manager/plugin/indents.js +2 -2
  41. package/src/editor-manager/plugin/insert-methods.d.ts +4 -4
  42. package/src/editor-manager/plugin/insert-methods.js +4 -4
  43. package/src/editor-manager/plugin/insert-text.d.ts +2 -2
  44. package/src/editor-manager/plugin/insert-text.js +2 -2
  45. package/src/editor-manager/plugin/inserthtml-exec.d.ts +2 -2
  46. package/src/editor-manager/plugin/inserthtml-exec.js +2 -2
  47. package/src/editor-manager/plugin/inserthtml.d.ts +3 -2
  48. package/src/editor-manager/plugin/inserthtml.js +22 -10
  49. package/src/editor-manager/plugin/isformatted.d.ts +8 -8
  50. package/src/editor-manager/plugin/isformatted.js +8 -8
  51. package/src/editor-manager/plugin/link.d.ts +2 -2
  52. package/src/editor-manager/plugin/link.js +2 -2
  53. package/src/editor-manager/plugin/lists.d.ts +3 -3
  54. package/src/editor-manager/plugin/lists.js +2 -4
  55. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +1 -1
  56. package/src/editor-manager/plugin/ms-word-clean-up.js +9 -4
  57. package/src/editor-manager/plugin/nodecutter.d.ts +6 -6
  58. package/src/editor-manager/plugin/nodecutter.js +6 -6
  59. package/src/editor-manager/plugin/selection-commands.d.ts +1 -1
  60. package/src/editor-manager/plugin/selection-commands.js +19 -2
  61. package/src/editor-manager/plugin/selection-exec.d.ts +2 -2
  62. package/src/editor-manager/plugin/selection-exec.js +2 -2
  63. package/src/editor-manager/plugin/table.d.ts +2 -2
  64. package/src/editor-manager/plugin/table.js +3 -3
  65. package/src/editor-manager/plugin/toolbar-status.d.ts +2 -2
  66. package/src/editor-manager/plugin/toolbar-status.js +2 -2
  67. package/src/editor-manager/plugin/undo.d.ts +6 -6
  68. package/src/editor-manager/plugin/undo.js +6 -6
  69. package/src/editor-manager/plugin/video.d.ts +3 -3
  70. package/src/editor-manager/plugin/video.js +3 -3
  71. package/src/markdown-parser/base/interface.d.ts +10 -10
  72. package/src/markdown-parser/base/markdown-parser.d.ts +3 -3
  73. package/src/markdown-parser/base/markdown-parser.js +3 -3
  74. package/src/markdown-parser/base/types.d.ts +1 -1
  75. package/src/markdown-parser/plugin/clearformat.d.ts +2 -2
  76. package/src/markdown-parser/plugin/clearformat.js +2 -2
  77. package/src/markdown-parser/plugin/formats.d.ts +2 -2
  78. package/src/markdown-parser/plugin/formats.js +2 -2
  79. package/src/markdown-parser/plugin/insert-text.d.ts +2 -2
  80. package/src/markdown-parser/plugin/insert-text.js +2 -2
  81. package/src/markdown-parser/plugin/link.d.ts +2 -2
  82. package/src/markdown-parser/plugin/link.js +2 -2
  83. package/src/markdown-parser/plugin/markdown-selection.d.ts +14 -14
  84. package/src/markdown-parser/plugin/markdown-selection.js +14 -14
  85. package/src/markdown-parser/plugin/md-selection-formats.d.ts +1 -1
  86. package/src/markdown-parser/plugin/md-selection-formats.js +1 -1
  87. package/src/markdown-parser/plugin/table.d.ts +3 -3
  88. package/src/markdown-parser/plugin/table.js +3 -3
  89. package/src/markdown-parser/plugin/undo.d.ts +6 -6
  90. package/src/markdown-parser/plugin/undo.js +6 -6
  91. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +9 -9
  92. package/src/rich-text-editor/actions/base-quick-toolbar.js +9 -9
  93. package/src/rich-text-editor/actions/base-toolbar.d.ts +3 -3
  94. package/src/rich-text-editor/actions/base-toolbar.js +3 -3
  95. package/src/rich-text-editor/actions/color-picker.d.ts +2 -2
  96. package/src/rich-text-editor/actions/color-picker.js +2 -2
  97. package/src/rich-text-editor/actions/count.d.ts +3 -3
  98. package/src/rich-text-editor/actions/count.js +3 -3
  99. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -2
  100. package/src/rich-text-editor/actions/dropdown-buttons.js +2 -2
  101. package/src/rich-text-editor/actions/emoji-picker.d.ts +1 -1
  102. package/src/rich-text-editor/actions/emoji-picker.js +1 -1
  103. package/src/rich-text-editor/actions/enter-key.js +1 -1
  104. package/src/rich-text-editor/actions/full-screen.d.ts +3 -3
  105. package/src/rich-text-editor/actions/full-screen.js +3 -3
  106. package/src/rich-text-editor/actions/html-editor.d.ts +4 -3
  107. package/src/rich-text-editor/actions/html-editor.js +18 -3
  108. package/src/rich-text-editor/actions/keyboard-model.d.ts +16 -16
  109. package/src/rich-text-editor/actions/keyboard.d.ts +1 -1
  110. package/src/rich-text-editor/actions/keyboard.js +20 -20
  111. package/src/rich-text-editor/actions/markdown-editor.d.ts +2 -2
  112. package/src/rich-text-editor/actions/markdown-editor.js +2 -2
  113. package/src/rich-text-editor/actions/paste-clean-up.d.ts +1 -1
  114. package/src/rich-text-editor/actions/paste-clean-up.js +26 -27
  115. package/src/rich-text-editor/actions/quick-toolbar.d.ts +9 -9
  116. package/src/rich-text-editor/actions/quick-toolbar.js +9 -9
  117. package/src/rich-text-editor/actions/toolbar.d.ts +13 -13
  118. package/src/rich-text-editor/actions/toolbar.js +13 -13
  119. package/src/rich-text-editor/actions/xhtml-validation.d.ts +1 -1
  120. package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
  121. package/src/rich-text-editor/base/classes.d.ts +125 -125
  122. package/src/rich-text-editor/base/classes.js +125 -125
  123. package/src/rich-text-editor/base/constant.d.ts +157 -157
  124. package/src/rich-text-editor/base/constant.js +157 -157
  125. package/src/rich-text-editor/base/enum.d.ts +1 -1
  126. package/src/rich-text-editor/base/enum.js +1 -1
  127. package/src/rich-text-editor/base/interface.d.ts +50 -50
  128. package/src/rich-text-editor/base/interface.js +1 -1
  129. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +890 -890
  130. package/src/rich-text-editor/base/rich-text-editor.d.ts +61 -61
  131. package/src/rich-text-editor/base/rich-text-editor.js +63 -63
  132. package/src/rich-text-editor/base/util.d.ts +1 -1
  133. package/src/rich-text-editor/base/util.js +1 -1
  134. package/src/rich-text-editor/formatter/formatter.d.ts +8 -8
  135. package/src/rich-text-editor/formatter/formatter.js +8 -8
  136. package/src/rich-text-editor/formatter/html-formatter.d.ts +2 -2
  137. package/src/rich-text-editor/formatter/html-formatter.js +15 -15
  138. package/src/rich-text-editor/formatter/markdown-formatter.d.ts +2 -2
  139. package/src/rich-text-editor/formatter/markdown-formatter.js +15 -15
  140. package/src/rich-text-editor/models/iframe-settings-model.d.ts +26 -26
  141. package/src/rich-text-editor/models/iframe-settings.js +19 -19
  142. package/src/rich-text-editor/models/inline-mode-model.d.ts +11 -11
  143. package/src/rich-text-editor/models/inline-mode.js +19 -19
  144. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +760 -760
  145. package/src/rich-text-editor/models/toolbar-settings.js +19 -19
  146. package/src/rich-text-editor/renderer/audio-module.d.ts +1 -1
  147. package/src/rich-text-editor/renderer/audio-module.js +1 -1
  148. package/src/rich-text-editor/renderer/content-renderer.d.ts +6 -6
  149. package/src/rich-text-editor/renderer/content-renderer.js +6 -6
  150. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +2 -2
  151. package/src/rich-text-editor/renderer/dialog-renderer.js +2 -2
  152. package/src/rich-text-editor/renderer/iframe-content-renderer.d.ts +4 -4
  153. package/src/rich-text-editor/renderer/iframe-content-renderer.js +17 -17
  154. package/src/rich-text-editor/renderer/image-module.d.ts +1 -1
  155. package/src/rich-text-editor/renderer/image-module.js +6 -6
  156. package/src/rich-text-editor/renderer/link-module.d.ts +1 -1
  157. package/src/rich-text-editor/renderer/link-module.js +1 -1
  158. package/src/rich-text-editor/renderer/markdown-renderer.d.ts +6 -6
  159. package/src/rich-text-editor/renderer/markdown-renderer.js +6 -6
  160. package/src/rich-text-editor/renderer/popup-renderer.d.ts +5 -5
  161. package/src/rich-text-editor/renderer/popup-renderer.js +5 -5
  162. package/src/rich-text-editor/renderer/render.d.ts +2 -2
  163. package/src/rich-text-editor/renderer/render.js +2 -2
  164. package/src/rich-text-editor/renderer/table-module.d.ts +1 -1
  165. package/src/rich-text-editor/renderer/table-module.js +1 -1
  166. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +9 -9
  167. package/src/rich-text-editor/renderer/toolbar-renderer.js +9 -9
  168. package/src/rich-text-editor/renderer/video-module.d.ts +1 -1
  169. package/src/rich-text-editor/renderer/video-module.js +1 -1
  170. package/src/rich-text-editor/renderer/view-source.d.ts +5 -5
  171. package/src/rich-text-editor/renderer/view-source.js +5 -5
  172. package/src/rich-text-editor/services/renderer-factory.d.ts +3 -3
  173. package/src/rich-text-editor/services/renderer-factory.js +3 -3
  174. package/src/rich-text-editor/services/service-locator.d.ts +3 -3
  175. package/src/rich-text-editor/services/service-locator.js +3 -3
  176. package/src/selection/selection.d.ts +22 -22
  177. package/src/selection/selection.js +22 -22
  178. package/styles/_all.scss +1 -1
  179. package/styles/material3-dark.scss +1 -1
  180. package/styles/material3.scss +1 -1
  181. package/styles/rich-text-editor/_all.scss +2 -2
  182. package/styles/rich-text-editor/_bds-definition.scss +288 -288
  183. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +289 -289
  184. package/styles/rich-text-editor/_bootstrap-definition.scss +347 -347
  185. package/styles/rich-text-editor/_bootstrap4-definition.scss +474 -474
  186. package/styles/rich-text-editor/_bootstrap5-definition.scss +276 -276
  187. package/styles/rich-text-editor/_bootstrap5.3-definition.scss +276 -276
  188. package/styles/rich-text-editor/_fabric-dark-definition.scss +273 -273
  189. package/styles/rich-text-editor/_fabric-definition.scss +271 -271
  190. package/styles/rich-text-editor/_fluent-definition.scss +277 -277
  191. package/styles/rich-text-editor/_fluent2-definition.scss +282 -282
  192. package/styles/rich-text-editor/_fusionnew-definition.scss +274 -274
  193. package/styles/rich-text-editor/_highcontrast-definition.scss +271 -271
  194. package/styles/rich-text-editor/_highcontrast-light-definition.scss +271 -271
  195. package/styles/rich-text-editor/_layout.scss +2647 -2647
  196. package/styles/rich-text-editor/_material-dark-definition.scss +276 -276
  197. package/styles/rich-text-editor/_material-definition.scss +274 -274
  198. package/styles/rich-text-editor/_material3-definition.scss +276 -276
  199. package/styles/rich-text-editor/_tailwind-definition.scss +271 -271
  200. package/styles/rich-text-editor/_theme.scss +813 -813
  201. package/styles/rich-text-editor/icons/_bds.scss +368 -368
  202. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +369 -369
  203. package/styles/rich-text-editor/icons/_bootstrap.scss +369 -369
  204. package/styles/rich-text-editor/icons/_bootstrap4.scss +369 -369
  205. package/styles/rich-text-editor/icons/_bootstrap5.3.scss +368 -368
  206. package/styles/rich-text-editor/icons/_bootstrap5.scss +368 -368
  207. package/styles/rich-text-editor/icons/_fabric-dark.scss +369 -369
  208. package/styles/rich-text-editor/icons/_fabric.scss +369 -369
  209. package/styles/rich-text-editor/icons/_fluent.scss +368 -368
  210. package/styles/rich-text-editor/icons/_fluent2.scss +365 -365
  211. package/styles/rich-text-editor/icons/_fusionnew.scss +353 -353
  212. package/styles/rich-text-editor/icons/_highcontrast-light.scss +357 -357
  213. package/styles/rich-text-editor/icons/_highcontrast.scss +357 -357
  214. package/styles/rich-text-editor/icons/_material-dark.scss +369 -369
  215. package/styles/rich-text-editor/icons/_material.scss +369 -369
  216. package/styles/rich-text-editor/icons/_material3.scss +368 -368
  217. package/styles/rich-text-editor/icons/_tailwind.scss +368 -368
  218. package/styles/rich-text-editor/material3-dark.scss +1 -1
  219. package/styles/rich-text-editor/material3.scss +1 -1
  220. package/dist/ej2-richtexteditor.min.js +0 -10
  221. package/dist/global/ej2-richtexteditor.min.js +0 -11
  222. package/dist/global/ej2-richtexteditor.min.js.map +0 -1
  223. package/dist/global/index.d.ts +0 -14
  224. package/hotfix/26.1.35_Vol2.txt +0 -1
  225. package/tslint.json +0 -111
@@ -773,18 +773,18 @@ const autoResize = 'autoResize';
773
773
  * @hidden
774
774
  * @deprecated
775
775
  */
776
- const blockEmptyNodes = `address:empty, article:empty, aside:empty, blockquote:empty,
777
- details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,
778
- h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, li:empty, main:empty, nav:empty,
776
+ const blockEmptyNodes = `address:empty, article:empty, aside:empty, blockquote:empty,
777
+ details:empty, dd:empty, div:empty, dl:empty, dt:empty, fieldset:empty, footer:empty,form:empty, h1:empty,
778
+ h2:empty, h3:empty, h4:empty, h5:empty, h6:empty, header:empty, hgroup:empty, li:empty, main:empty, nav:empty,
779
779
  noscript:empty, output:empty, p:empty, pre:empty, section:empty, td:empty, th:empty`;
780
780
  /**
781
781
  * @hidden
782
782
  * @deprecated
783
783
  */
784
- const inlineEmptyNodes = `a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,
785
- canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,
786
- ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,
787
- 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,
784
+ const inlineEmptyNodes = `a:empty, abbr:empty, acronym:empty, b:empty, bdi:empty, bdo:empty, big:empty, button:empty,
785
+ canvas:empty, cite:empty, code:empty, data:empty, datalist:empty, del:empty, dfn:empty, em:empty, font:empty, i:empty, iframe:empty,
786
+ ins:empty, kbd:empty, label:empty, map:empty, mark:empty, meter:empty, noscript:empty, object:empty, output:empty, picture:empty, progress:empty,
787
+ 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,
788
788
  template:empty, textarea:empty, time:empty, u:empty, tt:empty, var:empty, wbr:empty`;
789
789
  /**
790
790
  * @hidden
@@ -4854,6 +4854,13 @@ function scrollToCursor(document, inputElement) {
4854
4854
  }
4855
4855
  }
4856
4856
  }
4857
+ const scrollVal = inputElement.closest('div[style*="overflow-y: scroll"]');
4858
+ if (!isNullOrUndefined(scrollVal)) {
4859
+ const parentRect = scrollVal.getBoundingClientRect();
4860
+ if (cursorBottom > parentRect.bottom) {
4861
+ scrollVal.scrollTop += (cursorBottom - parentRect.bottom);
4862
+ }
4863
+ }
4857
4864
  }
4858
4865
  /**
4859
4866
  * Inserts items at a specific index in an array.
@@ -8488,7 +8495,7 @@ class Image$1 {
8488
8495
  let altText;
8489
8496
  let selectArgs;
8490
8497
  let filesData;
8491
- let previousURL = null;
8498
+ let previousFileInfo = null;
8492
8499
  this.uploadObj = new Uploader({
8493
8500
  asyncSettings: { saveUrl: this.parent.insertImageSettings.saveUrl, removeUrl: this.parent.insertImageSettings.removeUrl },
8494
8501
  dropArea: span, multiple: false, enableRtl: this.parent.enableRtl, cssClass: this.parent.getCssClass(),
@@ -8543,10 +8550,10 @@ class Image$1 {
8543
8550
  e.detectImageSource = ImageInputSource.Uploaded;
8544
8551
  this.parent.trigger(imageUploadSuccess, e, (e) => {
8545
8552
  if (!isNullOrUndefined(this.parent.insertImageSettings.path)) {
8546
- const url = this.parent.insertImageSettings.path + e.file.name;
8553
+ const url = this.parent.insertImageSettings.path + (e).file.name;
8547
8554
  // Update the URL of the previously uploaded image
8548
- if (!isNullOrUndefined(previousURL) && e.operation === 'upload') {
8549
- proxy.imageRemovePost(previousURL);
8555
+ if (!isNullOrUndefined(previousFileInfo) && e.operation === 'upload') {
8556
+ this.uploadObj.remove(previousFileInfo);
8550
8557
  }
8551
8558
  proxy.uploadUrl = {
8552
8559
  url: url, selection: save, altText: altText, selectParent: selectParent,
@@ -8559,7 +8566,7 @@ class Image$1 {
8559
8566
  }
8560
8567
  };
8561
8568
  proxy.inputUrl.setAttribute('disabled', 'true');
8562
- previousURL = url;
8569
+ previousFileInfo = e.file;
8563
8570
  }
8564
8571
  if (e.operation === 'upload' && !isNullOrUndefined(this.dialogObj)) {
8565
8572
  this.dialogObj.getButtons(0).element.removeAttribute('disabled');
@@ -11601,12 +11608,12 @@ const DESTROY = 'destroy';
11601
11608
  */
11602
11609
  const INTERNAL_DESTROY = 'internal_destroy';
11603
11610
 
11604
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11605
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11606
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11607
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11608
- return c > 3 && r && Object.defineProperty(target, key, r), r;
11609
- };
11611
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
11612
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11613
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11614
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11615
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
11616
+ };
11610
11617
  var KeyboardEvents_1;
11611
11618
  const keyCode = {
11612
11619
  'backspace': 8,
@@ -14363,126 +14370,126 @@ class DialogRenderer {
14363
14370
  }
14364
14371
  }
14365
14372
 
14366
- const IFRAMEHEADER = `
14367
- <!DOCTYPE html>
14368
- <html>
14369
- <head>
14370
- <meta charset='utf-8' />
14371
- <style>
14372
- @charset "UTF-8";
14373
- body {
14374
- font-family: "Roboto", sans-serif;
14375
- font-size: 14px;
14376
- }
14377
- html, body{height: 100%;margin: 0;}
14378
- body.e-cursor{cursor:default}
14379
- span.e-selected-node {background-color: #939393;color: white;}
14380
- span.e-selected-node.e-highlight {background-color: #1d9dd8;}
14381
- body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}
14382
- .e-rte-image, .e-rte-video {border: 0;cursor: pointer;display:
14383
- block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
14384
- .e-rte-audio {border: 0;cursor: pointer;display:
14385
- block;float: none;margin: 5px auto;max-width: 100%;position: relative;}
14386
- .e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;
14387
- margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}
14388
- .e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}
14389
- .e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}
14390
- .e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}
14391
- .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}
14392
- .e-img-caption.e-caption-inline {display: inline-block;float: none;
14393
- margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));
14394
- position: relativetext-align: center;vertical-align: bottom;}
14395
- .e-rte-img-caption.e-imgcenter {display: contents; margin-left: auto; margin-right: auto;}
14396
- .e-rte-img-caption.e-imgright {display: contents; margin-left: auto; margin-right: 0;}
14397
- .e-rte-img-caption.e-imgleft {display: contents;margin-left: 0;margin-right: auto;}
14398
- .e-img-caption.e-rte-img-caption.e-imgbreak {display: contents;}
14399
- .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;
14400
- margin: auto;opacity: .9;text-align: center;width: 100%;}
14401
- .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}
14402
- .e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}
14403
- .e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}
14404
- .e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
14405
- .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}
14406
- .e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;
14407
- max-width: calc(100% - (2 * 5px));vertical-align: bottom;}
14408
- .e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;
14409
- display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
14410
- .e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}
14411
- img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}
14412
- span.e-rte-imageboxmark, span.e-rte-videoboxmark { width: 10px; height: 10px; position: absolute; display: block;
14413
- background: #4a90e2; border: 1px solid #fff; z-index: 1000;}
14414
- .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }
14415
- .e-mob-rte span.e-rte-imageboxmark, .e-mob-rte span.e-rte-videoboxmark { background: #fff; border: 1px solid #4a90e2;
14416
- border-radius: 15px; height: 20px; width: 20px; }
14417
- .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }
14418
- .e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }
14419
- .e-rte-content { font-size: 14px; }
14420
- .e-content { font-weight: normal; line-height: 1.5; font-size: 1em; }
14421
- .e-img-caption .e-img-inner { outline: 0; }
14422
- .e-rte-img-caption.e-imgleft .e-img-inner { float: left; text-align: left; }
14423
- .e-rte-img-caption.e-imgright .e-img-inner { float: right; text-align: right; }
14424
- .e-rte-img-caption.e-imgleft .e-img-wrap, .e-rte-img-caption.e-imgright .e-img-wrap { display: contents; }
14425
- .e-img-caption a:focus-visible { outline: none; }
14426
- .e-rte-img-caption .e-rte-image.e-imgright { margin-left: auto; margin-right: 0; }
14427
- .e-rte-img-caption .e-rte-image.e-imgleft { margin: 0; }
14428
- body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;
14429
- overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}
14430
- p{margin: 0 0 10px;margin-bottom: 10px;}
14431
- li{margin-bottom: 10px;}
14432
- table{margin-bottom: 10px;}
14433
- h1{ font-size: 2.857em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14434
- h2{ font-size: 2.285em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14435
- h3{ font-size: 2em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14436
- h4{ font-size: 1.714em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14437
- h5{ font-size: 1.428em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14438
- h6{ font-size: 1.142em; line-height: 600; line-height: 1.5; margin: 10px 0; }
14439
- blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}
14440
- pre{background-color: inherit;border: 0;border-radius: 0;color: #333;
14441
- font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;
14442
- white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}
14443
- strong, b{font-weight: 700;}
14444
- a{text-decoration: none;user-select: auto;}
14445
- a:hover{text-decoration: underline;};
14446
- p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}
14447
- h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}
14448
- ul:last-child{margin-bottom: 0;}
14449
- table { border-collapse: collapse; empty-cells: show;}
14450
- table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}
14451
- table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}
14452
- table th {background-color: #E0E0E0;}
14453
- table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD}
14454
- table .e-cell-select {border: 1px double #4a90e2;}
14455
- table.e-cell-select {position: relative;}
14456
- table.e-cell-select::after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 2px solid #4a90e2; pointer-events: none;}
14457
- table td.e-cell-select.e-multi-cells-select, table th.e-cell-select.e-multi-cells-select {border: 1px solid #dee2e6; position: relative; }
14458
- table td.e-cell-select.e-multi-cells-select::after, table th.e-cell-select.e-multi-cells-select::after {background-color: rgba(13, 110, 253, 0.08); content: "";
14459
- position: absolute; top: 0; left: 0; width: 100%; height: 100%; bottom: 0; pointer-events: none; right: 0;}
14460
- span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }
14461
- span.e-table-box.e-rmob {height: 14px;width: 14px;}
14462
- .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;
14463
- bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }
14464
- .e-row-resize { cursor: row-resize; height: 1px;}
14465
- .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}
14466
- .e-table-rhelper.e-column-helper { width: 1px; }
14467
- .e-table-rhelper.e-row-helper {height: 1px;}
14468
- .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;
14469
- border-top: 6px solid transparent; content: ''; display: block; height: 0;
14470
- position: absolute; right: 4px; top: 4px; width: 20px; }
14471
- .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;
14472
- border-top: 6px solid transparent; content: ''; display: block;
14473
- height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }
14474
- .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }
14475
- .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }
14476
- span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }
14477
- span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }
14478
- .e-table-rhelper { background-color: #4a90e2;}
14479
- .e-rtl { direction: rtl; }
14480
- .e-rte-placeholder::before { content: attr(placeholder); opacity: 0.54; overflow: hidden; padding-top: 16px; position: absolute; text-align: start; top: 0; z-index: 1; }
14481
- li ol, li ul { margin-block-start: 10px;}
14482
- .e-resize-enabled, .e-count-enabled { padding-bottom: 0px; }
14483
- td.e-multi-cells-select ::selection, th.e-multi-cells-select ::selection { background-color: transparent; }
14484
- td.e-multi-cells-select, th.e-multi-cells-select { user-select: none !important; }
14485
- </style>
14373
+ const IFRAMEHEADER = `
14374
+ <!DOCTYPE html>
14375
+ <html>
14376
+ <head>
14377
+ <meta charset='utf-8' />
14378
+ <style>
14379
+ @charset "UTF-8";
14380
+ body {
14381
+ font-family: "Roboto", sans-serif;
14382
+ font-size: 14px;
14383
+ }
14384
+ html, body{height: 100%;margin: 0;}
14385
+ body.e-cursor{cursor:default}
14386
+ span.e-selected-node {background-color: #939393;color: white;}
14387
+ span.e-selected-node.e-highlight {background-color: #1d9dd8;}
14388
+ body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}
14389
+ .e-rte-image, .e-rte-video {border: 0;cursor: pointer;display:
14390
+ block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
14391
+ .e-rte-audio {border: 0;cursor: pointer;display:
14392
+ block;float: none;margin: 5px auto;max-width: 100%;position: relative;}
14393
+ .e-rte-image.e-imginline, .e-rte-audio.e-audio-inline, .e-rte-video.e-video-inline {display: inline-block;float: none;
14394
+ margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));padding: 1px;vertical-align: bottom;}
14395
+ .e-rte-image.e-imgcenter, .e-rte-video.e-video-center {cursor: pointer;display: block;float: none;margin: 5px auto;max-width: 100%;position: relative;}
14396
+ .e-rte-image.e-imgright, .e-rte-video.e-video-right { float: right; margin: 0 auto;margin-left: 5px;text-align: right;}
14397
+ .e-rte-image.e-imgleft, .e-rte-video.e-video-left {float: left;margin: 0 auto;margin-right: 5px;text-align: left;}
14398
+ .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}
14399
+ .e-img-caption.e-caption-inline {display: inline-block;float: none;
14400
+ margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));
14401
+ position: relativetext-align: center;vertical-align: bottom;}
14402
+ .e-rte-img-caption.e-imgcenter {display: contents; margin-left: auto; margin-right: auto;}
14403
+ .e-rte-img-caption.e-imgright {display: contents; margin-left: auto; margin-right: 0;}
14404
+ .e-rte-img-caption.e-imgleft {display: contents;margin-left: 0;margin-right: auto;}
14405
+ .e-img-caption.e-rte-img-caption.e-imgbreak {display: contents;}
14406
+ .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;
14407
+ margin: auto;opacity: .9;text-align: center;width: 100%;}
14408
+ .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}
14409
+ .e-imgleft, .e-video-left {float: left;margin: 0 5px 0 0;text-align: left;}
14410
+ .e-imgright, .e-video-right {float: right;margin: 0 0 0 5px;text-align: right;}
14411
+ .e-imgcenter, .e-video-center {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
14412
+ .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}
14413
+ .e-imginline , .e-audio-inline, .e-video-inline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;
14414
+ max-width: calc(100% - (2 * 5px));vertical-align: bottom;}
14415
+ .e-imgbreak, .e-audio-break, .e-video-break {border: 0;cursor: pointer;
14416
+ display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
14417
+ .e-rte-image.e-img-focus:not(.e-resize), .e-audio-focus:not(.e-resize), .e-video-focus:not(.e-resize) {border: solid 2px #4a90e2;}
14418
+ img.e-img-focus::selection, audio.e-audio-focus::selection, .e-video-focus::selection { background: transparent;color: transparent;}
14419
+ span.e-rte-imageboxmark, span.e-rte-videoboxmark { width: 10px; height: 10px; position: absolute; display: block;
14420
+ background: #4a90e2; border: 1px solid #fff; z-index: 1000;}
14421
+ .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }
14422
+ .e-mob-rte span.e-rte-imageboxmark, .e-mob-rte span.e-rte-videoboxmark { background: #fff; border: 1px solid #4a90e2;
14423
+ border-radius: 15px; height: 20px; width: 20px; }
14424
+ .e-mob-rte.e-mob-span span.e-rte-imageboxmark, .e-mob-rte.e-mob-span span.e-rte-videoboxmark { background: #4a90e2; border: 1px solid #fff; }
14425
+ .e-rte-content .e-content img.e-resize, .e-rte-content .e-content video.e-resize { z-index: 1000; }
14426
+ .e-rte-content { font-size: 14px; }
14427
+ .e-content { font-weight: normal; line-height: 1.5; font-size: 1em; }
14428
+ .e-img-caption .e-img-inner { outline: 0; }
14429
+ .e-rte-img-caption.e-imgleft .e-img-inner { float: left; text-align: left; }
14430
+ .e-rte-img-caption.e-imgright .e-img-inner { float: right; text-align: right; }
14431
+ .e-rte-img-caption.e-imgleft .e-img-wrap, .e-rte-img-caption.e-imgright .e-img-wrap { display: contents; }
14432
+ .e-img-caption a:focus-visible { outline: none; }
14433
+ .e-rte-img-caption .e-rte-image.e-imgright { margin-left: auto; margin-right: 0; }
14434
+ .e-rte-img-caption .e-rte-image.e-imgleft { margin: 0; }
14435
+ body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;
14436
+ overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}
14437
+ p{margin: 0 0 10px;margin-bottom: 10px;}
14438
+ li{margin-bottom: 10px;}
14439
+ table{margin-bottom: 10px;}
14440
+ h1{ font-size: 2.857em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14441
+ h2{ font-size: 2.285em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14442
+ h3{ font-size: 2em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14443
+ h4{ font-size: 1.714em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14444
+ h5{ font-size: 1.428em; font-weight: 600; line-height: 1.2; margin: 10px 0; }
14445
+ h6{ font-size: 1.142em; line-height: 600; line-height: 1.5; margin: 10px 0; }
14446
+ blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}
14447
+ pre{background-color: inherit;border: 0;border-radius: 0;color: #333;
14448
+ font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;
14449
+ white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}
14450
+ strong, b{font-weight: 700;}
14451
+ a{text-decoration: none;user-select: auto;}
14452
+ a:hover{text-decoration: underline;};
14453
+ p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}
14454
+ h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}
14455
+ ul:last-child{margin-bottom: 0;}
14456
+ table { border-collapse: collapse; empty-cells: show;}
14457
+ table td,table th {border: 1px solid #BDBDBD; height: 20px; padding: 2px 5px; vertical-align: middle;}
14458
+ table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}
14459
+ table th {background-color: #E0E0E0;}
14460
+ table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD}
14461
+ table .e-cell-select {border: 1px double #4a90e2;}
14462
+ table.e-cell-select {position: relative;}
14463
+ table.e-cell-select::after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 2px solid #4a90e2; pointer-events: none;}
14464
+ table td.e-cell-select.e-multi-cells-select, table th.e-cell-select.e-multi-cells-select {border: 1px solid #dee2e6; position: relative; }
14465
+ table td.e-cell-select.e-multi-cells-select::after, table th.e-cell-select.e-multi-cells-select::after {background-color: rgba(13, 110, 253, 0.08); content: "";
14466
+ position: absolute; top: 0; left: 0; width: 100%; height: 100%; bottom: 0; pointer-events: none; right: 0;}
14467
+ span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }
14468
+ span.e-table-box.e-rmob {height: 14px;width: 14px;}
14469
+ .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;
14470
+ bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }
14471
+ .e-row-resize { cursor: row-resize; height: 1px;}
14472
+ .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}
14473
+ .e-table-rhelper.e-column-helper { width: 1px; }
14474
+ .e-table-rhelper.e-row-helper {height: 1px;}
14475
+ .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;
14476
+ border-top: 6px solid transparent; content: ''; display: block; height: 0;
14477
+ position: absolute; right: 4px; top: 4px; width: 20px; }
14478
+ .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;
14479
+ border-top: 6px solid transparent; content: ''; display: block;
14480
+ height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }
14481
+ .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }
14482
+ .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }
14483
+ span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }
14484
+ span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }
14485
+ .e-table-rhelper { background-color: #4a90e2;}
14486
+ .e-rtl { direction: rtl; }
14487
+ .e-rte-placeholder::before { content: attr(placeholder); opacity: 0.54; overflow: hidden; padding-top: 16px; position: absolute; text-align: start; top: 0; z-index: 1; }
14488
+ li ol, li ul { margin-block-start: 10px;}
14489
+ .e-resize-enabled, .e-count-enabled { padding-bottom: 0px; }
14490
+ td.e-multi-cells-select ::selection, th.e-multi-cells-select ::selection { background-color: transparent; }
14491
+ td.e-multi-cells-select, th.e-multi-cells-select { user-select: none !important; }
14492
+ </style>
14486
14493
  </head>`;
14487
14494
  /**
14488
14495
  * Content module is used to render Rich Text Editor content
@@ -21962,8 +21969,6 @@ class Lists {
21962
21969
  this.saveSelection = this.parent.nodeSelection.save(range, this.parent.currentDocument);
21963
21970
  }
21964
21971
  let blockNodes;
21965
- const startOffset = range.startOffset;
21966
- const endOffset = range.endOffset;
21967
21972
  const startNode = this.parent.domNode.getSelectedNode(range.startContainer, range.startOffset);
21968
21973
  const endNode = this.parent.domNode.getSelectedNode(range.endContainer, range.endOffset);
21969
21974
  if ((startNode === endNode && (startNode.nodeName === 'BR' || startNode.nodeName === '#text') &&
@@ -23032,7 +23037,7 @@ class Formats {
23032
23037
  }
23033
23038
  else {
23034
23039
  const nodeCutter = new NodeCutter();
23035
- const newElem = nodeCutter.SplitNode(range, startParent.parentElement, false).cloneNode(true);
23040
+ nodeCutter.SplitNode(range, startParent.parentElement, false).cloneNode(true);
23036
23041
  this.paraFocus(startParent.parentElement === this.parent.editableElement ?
23037
23042
  startParent : startParent.parentElement);
23038
23043
  }
@@ -23683,7 +23688,8 @@ class InsertHtml {
23683
23688
  preNode.parentNode.replaceChild(fragment, preNode);
23684
23689
  }
23685
23690
  else {
23686
- const startContainerParent = editNode === range.startContainer ? range.startContainer : range.startContainer.parentNode;
23691
+ const startContainerParent = editNode === range.startContainer ? range.startContainer
23692
+ : range.startContainer.parentNode;
23687
23693
  // Get the index of the start container among its siblings
23688
23694
  const startIndex = Array.prototype.indexOf.call(startContainerParent.childNodes, (Browser.userAgent.indexOf('Firefox') !== -1 && editNode === range.startContainer) ? range.startContainer.firstChild : range.startContainer);
23689
23695
  range.deleteContents();
@@ -23894,6 +23900,12 @@ class InsertHtml {
23894
23900
  currentNode.nextSibling.nodeName === 'BR') {
23895
23901
  detach(currentNode.nextSibling);
23896
23902
  }
23903
+ if (currentNode.parentElement.nodeName === 'LI' && currentNode.parentElement.textContent === '') {
23904
+ this.removeListfromPaste(range);
23905
+ range.insertNode(node);
23906
+ this.contentsDeleted = true;
23907
+ return;
23908
+ }
23897
23909
  }
23898
23910
  else if ((currentNode.nodeName === '#text' || currentNode.nodeName === 'BR') && !isNullOrUndefined(currentNode.parentElement) &&
23899
23911
  (currentNode.parentElement.nodeName === 'LI' || currentNode.parentElement.closest('LI') || (blockNode === editNode && currentNode.parentElement === blockNode)) &&
@@ -23904,13 +23916,7 @@ class InsertHtml {
23904
23916
  detach(currentNode.nextSibling);
23905
23917
  }
23906
23918
  if (!range.collapsed) {
23907
- range.deleteContents();
23908
- const value = range.startContainer;
23909
- if (!isNullOrUndefined(value) && value.nodeName === 'LI' && !isNullOrUndefined(value.parentElement) && (value.parentElement.nodeName === 'OL' || value.parentElement.nodeName === 'UL') && value.textContent.trim() === '') {
23910
- value.parentElement.querySelectorAll('li').forEach((item) => {
23911
- item.remove();
23912
- });
23913
- }
23919
+ this.removeListfromPaste(range);
23914
23920
  }
23915
23921
  range.insertNode(node);
23916
23922
  this.contentsDeleted = true;
@@ -24059,6 +24065,17 @@ class InsertHtml {
24059
24065
  }
24060
24066
  }
24061
24067
  }
24068
+ static removeListfromPaste(range) {
24069
+ range.deleteContents();
24070
+ const value = range.startContainer;
24071
+ if (!isNullOrUndefined(value) && value.nodeName === 'LI' && !isNullOrUndefined(value.parentElement) && (value.parentElement.nodeName === 'OL' || value.parentElement.nodeName === 'UL') && value.textContent.trim() === '') {
24072
+ value.parentElement.querySelectorAll('li').forEach((item) => {
24073
+ if (item.textContent.trim() === '') {
24074
+ item.remove();
24075
+ }
24076
+ });
24077
+ }
24078
+ }
24062
24079
  }
24063
24080
  /**
24064
24081
  * Insert method
@@ -26038,7 +26055,7 @@ class TableCommand {
26038
26055
  detach(selectedCells[i]);
26039
26056
  }
26040
26057
  for (let i = 0; i < this.curTable.rows.length; i++) {
26041
- if (this.curTable.rows[i].innerHTML === '') {
26058
+ if (this.curTable.rows[i].innerHTML.trim() === '') {
26042
26059
  detach(this.curTable.rows[i]);
26043
26060
  }
26044
26061
  }
@@ -26796,8 +26813,25 @@ class SelectionCommands {
26796
26813
  if (!isNullOrUndefined(cursorNodes[0].parentElement) && IsFormatted.inlineTags.
26797
26814
  indexOf((cursorNodes[0].parentElement).tagName.toLowerCase()) !== -1 && cursorNodes[0].textContent.includes('\u200B')) {
26798
26815
  const element = this.GetFormatNode(format, value);
26816
+ const tempNode = cursorNodes[0];
26817
+ if (format === 'fontsize') {
26818
+ let currentFormatNode = cursorNodes[0];
26819
+ while (currentFormatNode) {
26820
+ const isSameTextContent = currentFormatNode.parentElement.textContent.trim()
26821
+ === cursorNodes[0].textContent.trim();
26822
+ const previousElement = currentFormatNode.parentElement;
26823
+ if (!domNode.isBlockNode(previousElement) && isSameTextContent &&
26824
+ !(previousElement.nodeName === 'SPAN' && previousElement.classList.contains('e-img-inner'))) {
26825
+ currentFormatNode = previousElement;
26826
+ }
26827
+ else {
26828
+ break;
26829
+ }
26830
+ cursorNodes[0] = currentFormatNode;
26831
+ }
26832
+ }
26799
26833
  this.applyStyles(cursorNodes, 0, element);
26800
- return cursorNodes[0];
26834
+ return tempNode;
26801
26835
  }
26802
26836
  cursorNode = this.getInsertNode(docElement, range, format, value).firstChild;
26803
26837
  }
@@ -28237,6 +28271,7 @@ class MsWordPaste {
28237
28271
  constructor(parent) {
28238
28272
  this.olData = [
28239
28273
  'decimal',
28274
+ 'decimal-leading-zero',
28240
28275
  'lower-alpha',
28241
28276
  'lower-roman',
28242
28277
  'upper-alpha',
@@ -28409,7 +28444,8 @@ class MsWordPaste {
28409
28444
  imgElem[i].getAttribute('v:shapes').toLowerCase().indexOf('image') < 0 &&
28410
28445
  imgElem[i].getAttribute('v:shapes').indexOf('Graphic') < 0 &&
28411
28446
  imgElem[i].getAttribute('v:shapes').indexOf('_x0000_s') < 0 &&
28412
- imgElem[i].getAttribute('v:shapes').indexOf('_x0000_i') < 0) {
28447
+ imgElem[i].getAttribute('v:shapes').indexOf('_x0000_i') < 0 &&
28448
+ imgElem[i].getAttribute('v:shapes').indexOf('img1') < 0) {
28413
28449
  imgElem[i].classList.add('e-rte-image-unsupported');
28414
28450
  }
28415
28451
  imgElem[i].removeAttribute('v:shapes');
@@ -28419,7 +28455,7 @@ class MsWordPaste {
28419
28455
  const base64Src = [];
28420
28456
  const imgName = [];
28421
28457
  // eslint-disable-next-line
28422
- const linkRegex = new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.))(\S+))/gi);
28458
+ const linkRegex = new RegExp(/([^\S]|^)(((https?\:\/\/)|(www\.)|(blob\:))(\S+))/gi);
28423
28459
  if (imgElem.length > 0) {
28424
28460
  for (let i = 0; i < imgElem.length; i++) {
28425
28461
  imgSrc.push(imgElem[i].getAttribute('src'));
@@ -28919,7 +28955,7 @@ class MsWordPaste {
28919
28955
  listStyleType = this.getlistStyleType(this.listContents[0], type);
28920
28956
  if (type === 'ol' && (i === 0 || listNodes[i - 1] === null)) {
28921
28957
  const startString = this.listContents[0].split('.')[0];
28922
- const listTypes = ['A', 'a', 'I', 'i', 'α', '1', '1-']; // Add '1-' for rare list type.
28958
+ const listTypes = ['A', 'a', 'I', 'i', 'α', '1', '01', '1-']; // Add '1-' for rare list type.
28923
28959
  if (listTypes.indexOf(startString) === -1) {
28924
28960
  if (listStyleType === 'decimal') {
28925
28961
  // Bug in getlistStyleType() list style stype is returned as decimal for nested list with start attribute
@@ -29008,6 +29044,9 @@ class MsWordPaste {
29008
29044
  case (charCode > 96 && charCode < 123):
29009
29045
  currentListClass = 'lower-alpha';
29010
29046
  break;
29047
+ case (listContent.split('.')[0].length > 1 && listContent.split('.')[0][0] === '0' && !isNaN(Number(listContent.split('.')[0]))):
29048
+ currentListClass = 'decimal-leading-zero';
29049
+ break;
29011
29050
  default:
29012
29051
  currentListClass = 'decimal';
29013
29052
  break;
@@ -30648,6 +30687,7 @@ class HtmlEditor {
30648
30687
  this.xhtmlValidation = new XhtmlValidation(parent);
30649
30688
  this.addEventListener();
30650
30689
  this.isDestroyed = false;
30690
+ this.isCopyAll = false;
30651
30691
  }
30652
30692
  /**
30653
30693
  * Destroys the Markdown.
@@ -30666,6 +30706,7 @@ class HtmlEditor {
30666
30706
  this.clickTimeout = null;
30667
30707
  }
30668
30708
  this.removeEventListener();
30709
+ this.isCopyAll = null;
30669
30710
  this.locator = null;
30670
30711
  this.contentRenderer = null;
30671
30712
  this.renderFactory = null;
@@ -30848,6 +30889,9 @@ class HtmlEditor {
30848
30889
  mentionStartNode.textContent.charCodeAt(0) === 8203 &&
30849
30890
  !isNullOrUndefined(mentionStartNode.previousSibling) && mentionStartNode.previousSibling.contentEditable === 'false';
30850
30891
  }
30892
+ if (this.isCopyAll) {
30893
+ return;
30894
+ }
30851
30895
  let pointer;
30852
30896
  let isRootParent = false;
30853
30897
  if (restrictKeys.indexOf(args.keyCode) < 0 && !args.shiftKey && !args.ctrlKey && !args.altKey && !isEmptyNode && !isMention) {
@@ -30943,6 +30987,12 @@ class HtmlEditor {
30943
30987
  }
30944
30988
  }
30945
30989
  onKeyDown(e) {
30990
+ if (e.args.ctrlKey && e.args.keyCode === 65) {
30991
+ this.isCopyAll = true;
30992
+ }
30993
+ else {
30994
+ this.isCopyAll = false;
30995
+ }
30946
30996
  let currentRange;
30947
30997
  const args = e.args;
30948
30998
  if (this.parent.inputElement.querySelectorAll('.e-cell-select').length > 1 && (args.keyCode === 8 || args.keyCode === 32 || args.keyCode === 13)) {
@@ -31137,6 +31187,10 @@ class HtmlEditor {
31137
31187
  else {
31138
31188
  this.oldRangeElement = this.rangeElement.previousElementSibling;
31139
31189
  }
31190
+ const findBlockElement = this.parent.formatter.editorManager.domNode.blockNodes();
31191
+ if (!isNullOrUndefined(findBlockElement[0]) && currentRange.collapsed && currentRange.startOffset === 0 && currentRange.endOffset === 0 && findBlockElement[0].style.marginLeft !== '') {
31192
+ findBlockElement[0].style.marginLeft = (parseInt(findBlockElement[0].style.marginLeft, 10) <= 20) ? '' : (parseInt(findBlockElement[0].style.marginLeft, 10) - 20 + 'px');
31193
+ }
31140
31194
  if (isNullOrUndefined(this.oldRangeElement)) {
31141
31195
  return;
31142
31196
  }
@@ -32030,9 +32084,7 @@ class PasteCleanup {
32030
32084
  dropArea: this.parent.inputElement,
32031
32085
  allowedExtensions: this.parent.insertImageSettings.allowedTypes.toString(),
32032
32086
  success: (e) => {
32033
- this.popupCloseTime = setTimeout(() => {
32034
- this.popupClose(this.popupObj, this.uploadObj, imgElem, e);
32035
- }, 900);
32087
+ this.popupClose(this.popupObj, this.uploadObj, imgElem, e);
32036
32088
  },
32037
32089
  uploading: (e) => {
32038
32090
  if (!this.parent.isServerRendered) {
@@ -32113,30 +32165,31 @@ class PasteCleanup {
32113
32165
  this.parent.inputElement.contentEditable = 'true';
32114
32166
  e.element = imgElem;
32115
32167
  e.detectImageSource = ImageInputSource.Pasted;
32116
- uploadObj.filesData.forEach((element) => {
32117
- if (element.statusCode === '2') {
32118
- this.parent.trigger(imageUploadSuccess, e, (e) => {
32119
- if (!isNullOrUndefined(this.parent.insertImageSettings.path)) {
32120
- const url = this.parent.insertImageSettings.path + e.file.name;
32121
- imgElem.src = url;
32122
- imgElem.setAttribute('alt', e.file.name);
32123
- }
32124
- });
32125
- }
32126
- else if (element.statusCode === '5') {
32127
- this.parent.trigger(imageRemoving, e, (e) => {
32128
- if (!isNullOrUndefined(e.element.src)) {
32129
- e.element.src = '';
32130
- }
32131
- });
32132
- }
32133
- });
32134
- popupObj.close();
32135
- imgElem.style.opacity = '1';
32136
- if (uploadObj && document.body.contains(uploadObj.element)) {
32137
- uploadObj.destroy();
32168
+ const element = e.file;
32169
+ if (element.statusCode === '2') {
32170
+ this.parent.trigger(imageUploadSuccess, e, (e) => {
32171
+ if (!isNullOrUndefined(this.parent.insertImageSettings.path)) {
32172
+ const url = this.parent.insertImageSettings.path + e.file.name;
32173
+ imgElem.src = url;
32174
+ imgElem.setAttribute('alt', e.file.name);
32175
+ }
32176
+ });
32177
+ }
32178
+ else if (element.statusCode === '5') {
32179
+ this.parent.trigger(imageRemoving, e, (e) => {
32180
+ if (!isNullOrUndefined(e.element.src)) {
32181
+ e.element.src = '';
32182
+ }
32183
+ });
32138
32184
  }
32139
- this.toolbarEnableDisable(false);
32185
+ this.popupCloseTime = setTimeout(function () {
32186
+ popupObj.close();
32187
+ imgElem.style.opacity = '1';
32188
+ this.toolbarEnableDisable(false);
32189
+ if (uploadObj && document.body.contains(uploadObj.element)) {
32190
+ uploadObj.destroy();
32191
+ }
32192
+ }.bind(this), 1500);
32140
32193
  }
32141
32194
  refreshPopup(imageElement, popupObj) {
32142
32195
  const imgPosition = this.parent.iframeSettings.enable ? this.parent.element.offsetTop +
@@ -34782,12 +34835,12 @@ class RendererFactory {
34782
34835
  }
34783
34836
  }
34784
34837
 
34785
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
34786
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
34787
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
34788
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
34789
- return c > 3 && r && Object.defineProperty(target, key, r), r;
34790
- };
34838
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
34839
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
34840
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
34841
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
34842
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
34843
+ };
34791
34844
  /**
34792
34845
  * Configures the toolbar settings of the RichTextEditor.
34793
34846
  */
@@ -35177,12 +35230,12 @@ __decorate$1([
35177
35230
  Property(bulletFormatList)
35178
35231
  ], BulletFormatList.prototype, "types", void 0);
35179
35232
 
35180
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
35181
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
35182
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
35183
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
35184
- return c > 3 && r && Object.defineProperty(target, key, r), r;
35185
- };
35233
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
35234
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
35235
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
35236
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
35237
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
35238
+ };
35186
35239
  /**
35187
35240
  * Objects used for configuring the iframe resources properties.
35188
35241
  */
@@ -35209,12 +35262,12 @@ __decorate$2([
35209
35262
  Complex({}, Resources)
35210
35263
  ], IFrameSettings.prototype, "resources", void 0);
35211
35264
 
35212
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
35213
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
35214
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
35215
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
35216
- return c > 3 && r && Object.defineProperty(target, key, r), r;
35217
- };
35265
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
35266
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
35267
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
35268
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
35269
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
35270
+ };
35218
35271
  /**
35219
35272
  * Configures the inlineMode property of the RTE.
35220
35273
  */
@@ -35733,7 +35786,7 @@ class EnterKeyAction {
35733
35786
  this.range.insertNode(brElm);
35734
35787
  }
35735
35788
  }
35736
- if (isEmptyBrInserted || (!isNullOrUndefined(brElm.nextElementSibling) && brElm.nextElementSibling.tagName === 'BR') || (!isNullOrUndefined(brElm.nextSibling) && brElm.nextSibling.textContent.length > 0)) {
35789
+ if (isEmptyBrInserted || (!isNullOrUndefined(brElm.nextElementSibling) && brElm.nextElementSibling.tagName === 'BR') || (!isNullOrUndefined(brElm.nextSibling) && (brElm.nextSibling.textContent.length > 0 || (brElm.nextSibling.nodeName === '#text' && brElm.nextSibling.textContent.trim().length === 0 && !isNullOrUndefined(brElm.nextSibling.nextSibling) && brElm.nextSibling.nextSibling.textContent.trim().length > 0)))) {
35737
35790
  this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), !isNullOrUndefined(brElm.nextSibling) && isFocusTextNode ? brElm.nextSibling : brElm, 0);
35738
35791
  isEmptyBrInserted = false;
35739
35792
  }
@@ -35895,12 +35948,12 @@ class EnterKeyAction {
35895
35948
  }
35896
35949
  }
35897
35950
 
35898
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
35899
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
35900
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
35901
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
35902
- return c > 3 && r && Object.defineProperty(target, key, r), r;
35903
- };
35951
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
35952
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
35953
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
35954
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
35955
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
35956
+ };
35904
35957
  /**
35905
35958
  * Represents the Rich Text Editor component.
35906
35959
  * ```html