@syncfusion/ej2-richtexteditor 19.3.46 → 19.3.47-6125

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 (192) hide show
  1. package/CHANGELOG.md +999 -977
  2. package/README.md +67 -67
  3. package/dist/ej2-richtexteditor.umd.min.js +1 -10
  4. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es2015.js +174 -131
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +283 -240
  8. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  9. package/helpers/e2e/index.js +3 -3
  10. package/license +9 -9
  11. package/package.json +55 -74
  12. package/src/common/interface.d.ts +7 -7
  13. package/src/editor-manager/base/classes.d.ts +1 -1
  14. package/src/editor-manager/base/classes.js +1 -1
  15. package/src/editor-manager/base/editor-manager.d.ts +3 -3
  16. package/src/editor-manager/base/editor-manager.js +3 -3
  17. package/src/editor-manager/base/interface.d.ts +7 -7
  18. package/src/editor-manager/base/types.d.ts +1 -1
  19. package/src/editor-manager/plugin/alignments.d.ts +2 -2
  20. package/src/editor-manager/plugin/alignments.js +2 -2
  21. package/src/editor-manager/plugin/clearformat-exec.d.ts +2 -2
  22. package/src/editor-manager/plugin/clearformat-exec.js +2 -2
  23. package/src/editor-manager/plugin/clearformat.d.ts +1 -1
  24. package/src/editor-manager/plugin/clearformat.js +1 -1
  25. package/src/editor-manager/plugin/dom-node.d.ts +34 -34
  26. package/src/editor-manager/plugin/dom-node.js +34 -34
  27. package/src/editor-manager/plugin/formats.d.ts +2 -2
  28. package/src/editor-manager/plugin/formats.js +2 -2
  29. package/src/editor-manager/plugin/image.d.ts +3 -3
  30. package/src/editor-manager/plugin/image.js +3 -3
  31. package/src/editor-manager/plugin/indents.d.ts +2 -2
  32. package/src/editor-manager/plugin/indents.js +2 -2
  33. package/src/editor-manager/plugin/insert-methods.d.ts +4 -4
  34. package/src/editor-manager/plugin/insert-methods.js +4 -4
  35. package/src/editor-manager/plugin/insert-text.d.ts +2 -2
  36. package/src/editor-manager/plugin/insert-text.js +2 -2
  37. package/src/editor-manager/plugin/inserthtml-exec.d.ts +2 -2
  38. package/src/editor-manager/plugin/inserthtml-exec.js +2 -2
  39. package/src/editor-manager/plugin/inserthtml.d.ts +2 -2
  40. package/src/editor-manager/plugin/inserthtml.js +2 -2
  41. package/src/editor-manager/plugin/isformatted.d.ts +8 -8
  42. package/src/editor-manager/plugin/isformatted.js +8 -8
  43. package/src/editor-manager/plugin/link.d.ts +2 -2
  44. package/src/editor-manager/plugin/link.js +2 -2
  45. package/src/editor-manager/plugin/lists.d.ts +2 -2
  46. package/src/editor-manager/plugin/lists.js +2 -2
  47. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +1 -1
  48. package/src/editor-manager/plugin/ms-word-clean-up.js +1 -1
  49. package/src/editor-manager/plugin/nodecutter.d.ts +6 -6
  50. package/src/editor-manager/plugin/nodecutter.js +6 -6
  51. package/src/editor-manager/plugin/selection-commands.d.ts +1 -1
  52. package/src/editor-manager/plugin/selection-commands.js +19 -2
  53. package/src/editor-manager/plugin/selection-exec.d.ts +2 -2
  54. package/src/editor-manager/plugin/selection-exec.js +2 -2
  55. package/src/editor-manager/plugin/table.d.ts +2 -2
  56. package/src/editor-manager/plugin/table.js +2 -2
  57. package/src/editor-manager/plugin/toolbar-status.d.ts +2 -2
  58. package/src/editor-manager/plugin/toolbar-status.js +2 -2
  59. package/src/editor-manager/plugin/undo.d.ts +6 -6
  60. package/src/editor-manager/plugin/undo.js +6 -6
  61. package/src/global.d.ts +1 -0
  62. package/src/markdown-parser/base/interface.d.ts +10 -10
  63. package/src/markdown-parser/base/markdown-parser.d.ts +3 -3
  64. package/src/markdown-parser/base/markdown-parser.js +3 -3
  65. package/src/markdown-parser/base/types.d.ts +1 -1
  66. package/src/markdown-parser/plugin/clearformat.d.ts +2 -2
  67. package/src/markdown-parser/plugin/clearformat.js +2 -2
  68. package/src/markdown-parser/plugin/formats.d.ts +2 -2
  69. package/src/markdown-parser/plugin/formats.js +2 -2
  70. package/src/markdown-parser/plugin/link.d.ts +2 -2
  71. package/src/markdown-parser/plugin/link.js +2 -2
  72. package/src/markdown-parser/plugin/markdown-selection.d.ts +14 -14
  73. package/src/markdown-parser/plugin/markdown-selection.js +14 -14
  74. package/src/markdown-parser/plugin/md-selection-formats.d.ts +1 -1
  75. package/src/markdown-parser/plugin/md-selection-formats.js +1 -1
  76. package/src/markdown-parser/plugin/table.d.ts +3 -3
  77. package/src/markdown-parser/plugin/table.js +3 -3
  78. package/src/markdown-parser/plugin/undo.d.ts +6 -6
  79. package/src/markdown-parser/plugin/undo.js +6 -6
  80. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +9 -9
  81. package/src/rich-text-editor/actions/base-quick-toolbar.js +9 -9
  82. package/src/rich-text-editor/actions/base-toolbar.d.ts +3 -3
  83. package/src/rich-text-editor/actions/base-toolbar.js +3 -3
  84. package/src/rich-text-editor/actions/color-picker.d.ts +2 -2
  85. package/src/rich-text-editor/actions/color-picker.js +2 -2
  86. package/src/rich-text-editor/actions/count.d.ts +3 -3
  87. package/src/rich-text-editor/actions/count.js +3 -3
  88. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +2 -2
  89. package/src/rich-text-editor/actions/dropdown-buttons.js +2 -2
  90. package/src/rich-text-editor/actions/enter-key.js +1 -0
  91. package/src/rich-text-editor/actions/full-screen.d.ts +3 -3
  92. package/src/rich-text-editor/actions/full-screen.js +3 -3
  93. package/src/rich-text-editor/actions/html-editor.d.ts +3 -3
  94. package/src/rich-text-editor/actions/html-editor.js +3 -3
  95. package/src/rich-text-editor/actions/keyboard-model.d.ts +16 -16
  96. package/src/rich-text-editor/actions/keyboard.d.ts +1 -1
  97. package/src/rich-text-editor/actions/keyboard.js +20 -20
  98. package/src/rich-text-editor/actions/markdown-editor.d.ts +2 -2
  99. package/src/rich-text-editor/actions/markdown-editor.js +2 -2
  100. package/src/rich-text-editor/actions/paste-clean-up.d.ts +1 -1
  101. package/src/rich-text-editor/actions/paste-clean-up.js +1 -1
  102. package/src/rich-text-editor/actions/quick-toolbar.d.ts +9 -9
  103. package/src/rich-text-editor/actions/quick-toolbar.js +14 -11
  104. package/src/rich-text-editor/actions/toolbar.d.ts +13 -13
  105. package/src/rich-text-editor/actions/toolbar.js +13 -13
  106. package/src/rich-text-editor/actions/xhtml-validation.d.ts +1 -1
  107. package/src/rich-text-editor/actions/xhtml-validation.js +1 -1
  108. package/src/rich-text-editor/base/classes.d.ts +107 -107
  109. package/src/rich-text-editor/base/classes.js +107 -107
  110. package/src/rich-text-editor/base/constant.d.ts +120 -120
  111. package/src/rich-text-editor/base/constant.js +120 -120
  112. package/src/rich-text-editor/base/enum.d.ts +1 -1
  113. package/src/rich-text-editor/base/enum.js +1 -1
  114. package/src/rich-text-editor/base/interface.d.ts +45 -45
  115. package/src/rich-text-editor/base/interface.js +1 -1
  116. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +851 -851
  117. package/src/rich-text-editor/base/rich-text-editor.d.ts +53 -53
  118. package/src/rich-text-editor/base/rich-text-editor.js +65 -66
  119. package/src/rich-text-editor/base/util.d.ts +1 -1
  120. package/src/rich-text-editor/base/util.js +1 -1
  121. package/src/rich-text-editor/formatter/formatter.d.ts +8 -8
  122. package/src/rich-text-editor/formatter/formatter.js +8 -8
  123. package/src/rich-text-editor/formatter/html-formatter.d.ts +2 -2
  124. package/src/rich-text-editor/formatter/html-formatter.js +15 -15
  125. package/src/rich-text-editor/formatter/markdown-formatter.d.ts +2 -2
  126. package/src/rich-text-editor/formatter/markdown-formatter.js +15 -15
  127. package/src/rich-text-editor/models/iframe-settings-model.d.ts +26 -26
  128. package/src/rich-text-editor/models/iframe-settings.js +19 -19
  129. package/src/rich-text-editor/models/inline-mode-model.d.ts +11 -11
  130. package/src/rich-text-editor/models/inline-mode.js +19 -19
  131. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +439 -439
  132. package/src/rich-text-editor/models/toolbar-settings.d.ts +1 -1
  133. package/src/rich-text-editor/models/toolbar-settings.js +19 -19
  134. package/src/rich-text-editor/renderer/content-renderer.d.ts +6 -6
  135. package/src/rich-text-editor/renderer/content-renderer.js +6 -6
  136. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +2 -2
  137. package/src/rich-text-editor/renderer/dialog-renderer.js +2 -2
  138. package/src/rich-text-editor/renderer/iframe-content-renderer.d.ts +4 -4
  139. package/src/rich-text-editor/renderer/iframe-content-renderer.js +17 -17
  140. package/src/rich-text-editor/renderer/image-module.d.ts +3 -1
  141. package/src/rich-text-editor/renderer/image-module.js +24 -3
  142. package/src/rich-text-editor/renderer/link-module.d.ts +1 -1
  143. package/src/rich-text-editor/renderer/link-module.js +4 -3
  144. package/src/rich-text-editor/renderer/markdown-renderer.d.ts +6 -6
  145. package/src/rich-text-editor/renderer/markdown-renderer.js +6 -6
  146. package/src/rich-text-editor/renderer/popup-renderer.d.ts +5 -5
  147. package/src/rich-text-editor/renderer/popup-renderer.js +5 -5
  148. package/src/rich-text-editor/renderer/render.d.ts +2 -2
  149. package/src/rich-text-editor/renderer/render.js +2 -2
  150. package/src/rich-text-editor/renderer/table-module.d.ts +1 -1
  151. package/src/rich-text-editor/renderer/table-module.js +4 -3
  152. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +9 -9
  153. package/src/rich-text-editor/renderer/toolbar-renderer.js +9 -9
  154. package/src/rich-text-editor/renderer/view-source.d.ts +6 -6
  155. package/src/rich-text-editor/renderer/view-source.js +6 -6
  156. package/src/rich-text-editor/services/renderer-factory.d.ts +3 -3
  157. package/src/rich-text-editor/services/renderer-factory.js +3 -3
  158. package/src/rich-text-editor/services/service-locator.d.ts +3 -3
  159. package/src/rich-text-editor/services/service-locator.js +3 -3
  160. package/src/selection/selection.d.ts +22 -22
  161. package/src/selection/selection.js +22 -22
  162. package/styles/_all.scss +2 -2
  163. package/styles/rich-text-editor/_all.scss +2 -2
  164. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +187 -187
  165. package/styles/rich-text-editor/_bootstrap-definition.scss +244 -244
  166. package/styles/rich-text-editor/_bootstrap4-definition.scss +370 -370
  167. package/styles/rich-text-editor/_bootstrap5-definition.scss +168 -168
  168. package/styles/rich-text-editor/_fabric-dark-definition.scss +168 -168
  169. package/styles/rich-text-editor/_fabric-definition.scss +167 -167
  170. package/styles/rich-text-editor/_highcontrast-definition.scss +167 -167
  171. package/styles/rich-text-editor/_highcontrast-light-definition.scss +167 -167
  172. package/styles/rich-text-editor/_layout.scss +1635 -1635
  173. package/styles/rich-text-editor/_material-dark-definition.scss +172 -172
  174. package/styles/rich-text-editor/_material-definition.scss +169 -169
  175. package/styles/rich-text-editor/_tailwind-definition.scss +167 -167
  176. package/styles/rich-text-editor/_theme.scss +626 -626
  177. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +304 -304
  178. package/styles/rich-text-editor/icons/_bootstrap.scss +304 -304
  179. package/styles/rich-text-editor/icons/_bootstrap4.scss +304 -304
  180. package/styles/rich-text-editor/icons/_bootstrap5.scss +303 -303
  181. package/styles/rich-text-editor/icons/_fabric-dark.scss +304 -304
  182. package/styles/rich-text-editor/icons/_fabric.scss +304 -304
  183. package/styles/rich-text-editor/icons/_highcontrast-light.scss +304 -304
  184. package/styles/rich-text-editor/icons/_highcontrast.scss +304 -304
  185. package/styles/rich-text-editor/icons/_material-dark.scss +304 -304
  186. package/styles/rich-text-editor/icons/_material.scss +304 -304
  187. package/styles/rich-text-editor/icons/_tailwind.scss +304 -304
  188. package/.eslintrc.json +0 -244
  189. package/dist/global/ej2-richtexteditor.min.js +0 -11
  190. package/dist/global/ej2-richtexteditor.min.js.map +0 -1
  191. package/dist/global/index.d.ts +0 -14
  192. package/tslint.json +0 -111
@@ -4707,12 +4707,12 @@ class Toolbar$2 {
4707
4707
  }
4708
4708
  }
4709
4709
 
4710
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4711
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4712
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4713
- 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;
4714
- return c > 3 && r && Object.defineProperty(target, key, r), r;
4715
- };
4710
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4711
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4712
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4713
+ 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;
4714
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4715
+ };
4716
4716
  var KeyboardEvents_1;
4717
4717
  const keyCode = {
4718
4718
  'backspace': 8,
@@ -5761,7 +5761,10 @@ class QuickToolbar {
5761
5761
  else {
5762
5762
  const closestAnchor = closest(target, 'a');
5763
5763
  target = closestAnchor ? closestAnchor : target;
5764
- if (target.tagName !== 'IMG' && target.tagName !== 'A' && (!closest(target, 'td,th') || !range.collapsed)) {
5764
+ const startNode = this.parent.getRange().startContainer.parentElement;
5765
+ const endNode = this.parent.getRange().endContainer.parentElement;
5766
+ if ((isNullOrUndefined(closest(startNode, 'A')) || isNullOrUndefined(closest(endNode, 'A'))) && (!closest(target, 'td,th') || !range.collapsed) &&
5767
+ (target.tagName !== 'IMG' || this.parent.getRange().startOffset !== this.parent.getRange().endOffset)) {
5765
5768
  if (this.parent.inlineMode.onSelection && range.collapsed) {
5766
5769
  return;
5767
5770
  }
@@ -14415,7 +14418,24 @@ class SelectionCommands {
14415
14418
  }
14416
14419
  }
14417
14420
  }
14418
- InsertMethods.unwrap(cursorFormat);
14421
+ if ((['fontcolor', 'fontname', 'fontsize', 'backgroundcolor'].indexOf(format) > -1)) {
14422
+ if (format === 'fontcolor') {
14423
+ cursorFormat.style.color = value;
14424
+ }
14425
+ else if (format === 'fontname') {
14426
+ cursorFormat.style.fontFamily = value;
14427
+ }
14428
+ else if (format === 'fontsize') {
14429
+ cursorFormat.style.fontSize = value;
14430
+ }
14431
+ else {
14432
+ cursorFormat.style.backgroundColor = value;
14433
+ }
14434
+ cursorNode = cursorFormat;
14435
+ }
14436
+ else {
14437
+ InsertMethods.unwrap(cursorFormat);
14438
+ }
14419
14439
  }
14420
14440
  else {
14421
14441
  if (cursorNodes.length > 1 && range.startOffset > 0 && (cursorNodes[0].firstElementChild &&
@@ -16692,98 +16712,98 @@ class ContentRender {
16692
16712
  }
16693
16713
  }
16694
16714
 
16695
- const IFRAMEHEADER = `
16696
- <!DOCTYPE html>
16697
- <html>
16698
- <head>
16699
- <meta charset='utf-8' />
16700
- <style>
16701
- @charset "UTF-8";
16702
- body {
16703
- font-family: "Roboto", sans-serif;
16704
- font-size: 14px;
16705
- }
16706
- html, body{height: 100%;margin: 0;}
16707
- body.e-cursor{cursor:default}
16708
- span.e-selected-node {background-color: #939393;color: white;}
16709
- span.e-selected-node.e-highlight {background-color: #1d9dd8;}
16710
- body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}
16711
- .e-rte-image {border: 0;cursor: pointer;display:
16712
- block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
16713
- .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}
16714
- .e-img-caption.e-caption-inline {display: inline-block;float: none;
16715
- margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));
16716
- position: relativetext-align: center;vertical-align: bottom;}
16717
- .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;
16718
- margin: auto;opacity: .9;text-align: center;width: 100%;}
16719
- .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}
16720
- .e-imgleft {float: left;margin: 0 5px 0 0;text-align: left;}
16721
- .e-imgright {float: right;margin: 0 0 0 5px;text-align: right;}
16722
- .e-imgcenter {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
16723
- .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}
16724
- .e-imginline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;
16725
- max-width: calc(100% - (2 * 5px));vertical-align: bottom;}
16726
- .e-imgbreak {border: 0;cursor: pointer;
16727
- display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
16728
- .e-rte-image.e-img-focus:not(.e-resize) {border: solid 2px #4a90e2;}
16729
- img.e-img-focus::selection { background: transparent;color: transparent;}
16730
- span.e-rte-imageboxmark { width: 10px; height: 10px; position: absolute; display: block;
16731
- background: #4a90e2; border: 1px solid #fff; z-index: 1000;}
16732
- .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }
16733
- .e-mob-rte span.e-rte-imageboxmark { background: #fff; border: 1px solid #4a90e2;
16734
- border-radius: 15px; height: 20px; width: 20px; }
16735
- .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }
16736
- .e-rte-content .e-content img.e-resize { z-index: 1000; }
16737
- .e-img-caption .e-img-inner { outline: 0; }
16738
- .e-img-caption a:focus-visible { outline: none; }
16739
- .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}
16740
- body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;
16741
- overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}
16742
- p{margin: 0 0 10px;margin-bottom: 10px;}
16743
- li{margin-bottom: 10px;}
16744
- h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}
16745
- h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}
16746
- h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}
16747
- h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}
16748
- h5{font-size: 00.8em;font-weight: 400;margin: 0;}
16749
- h6{font-size: 00.65em;font-weight: 400;margin: 0;}
16750
- blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}
16751
- pre{background-color: inherit;border: 0;border-radius: 0;color: #333;
16752
- font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;
16753
- white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}
16754
- strong, b{font-weight: 700;}
16755
- a{text-decoration: none;user-select: auto;}
16756
- a:hover{text-decoration: underline;};
16757
- p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}
16758
- h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}
16759
- ul:last-child{margin-bottom: 0;}
16760
- table { border-collapse: collapse; empty-cells: show;}
16761
- table td,table th {border: 1px solid #BDBDBD; height: 20px; vertical-align: middle;}
16762
- table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}
16763
- table th {background-color: #E0E0E0;}
16764
- table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD}
16765
- table .e-cell-select {border: 1px double #4a90e2;}
16766
- span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }
16767
- span.e-table-box.e-rmob {height: 14px;width: 14px;}
16768
- .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;
16769
- bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }
16770
- .e-row-resize { cursor: row-resize; height: 1px;}
16771
- .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}
16772
- .e-table-rhelper.e-column-helper { width: 1px; }
16773
- .e-table-rhelper.e-row-helper {height: 1px;}
16774
- .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;
16775
- border-top: 6px solid transparent; content: ''; display: block; height: 0;
16776
- position: absolute; right: 4px; top: 4px; width: 20px; }
16777
- .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;
16778
- border-top: 6px solid transparent; content: ''; display: block;
16779
- height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }
16780
- .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }
16781
- .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }
16782
- span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }
16783
- span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }
16784
- .e-table-rhelper { background-color: #4a90e2;}
16785
- .e-rtl { direction: rtl; }
16786
- </style>
16715
+ const IFRAMEHEADER = `
16716
+ <!DOCTYPE html>
16717
+ <html>
16718
+ <head>
16719
+ <meta charset='utf-8' />
16720
+ <style>
16721
+ @charset "UTF-8";
16722
+ body {
16723
+ font-family: "Roboto", sans-serif;
16724
+ font-size: 14px;
16725
+ }
16726
+ html, body{height: 100%;margin: 0;}
16727
+ body.e-cursor{cursor:default}
16728
+ span.e-selected-node {background-color: #939393;color: white;}
16729
+ span.e-selected-node.e-highlight {background-color: #1d9dd8;}
16730
+ body{color:#333;word-wrap:break-word;padding: 8px;box-sizing: border-box;}
16731
+ .e-rte-image {border: 0;cursor: pointer;display:
16732
+ block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
16733
+ .e-img-caption { display: inline-block; float: none; margin: 5px auto; max-width: 100%;position: relative;}
16734
+ .e-img-caption.e-caption-inline {display: inline-block;float: none;
16735
+ margin: 5px auto;margin-left: 5px;margin-right: 5px;max-width: calc(100% - (2 * 5px));
16736
+ position: relativetext-align: center;vertical-align: bottom;}
16737
+ .e-img-inner {box-sizing: border-box;display: block;font-size: 16px;font-weight: initial;
16738
+ margin: auto;opacity: .9;text-align: center;width: 100%;}
16739
+ .e-img-wrap {display: inline-block;margin: auto;padding: 0;text-align: center;width: 100%;}
16740
+ .e-imgleft {float: left;margin: 0 5px 0 0;text-align: left;}
16741
+ .e-imgright {float: right;margin: 0 0 0 5px;text-align: right;}
16742
+ .e-imgcenter {cursor: pointer;display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
16743
+ .e-control img:not(.e-resize) {border: 2px solid transparent; z-index: 1000}
16744
+ .e-imginline {display: inline-block;float: none;margin-left: 5px;margin-right: 5px;
16745
+ max-width: calc(100% - (2 * 5px));vertical-align: bottom;}
16746
+ .e-imgbreak {border: 0;cursor: pointer;
16747
+ display: block;float: none;height: auto;margin: 5px auto;max-width: 100%;position: relative;}
16748
+ .e-rte-image.e-img-focus:not(.e-resize) {border: solid 2px #4a90e2;}
16749
+ img.e-img-focus::selection { background: transparent;color: transparent;}
16750
+ span.e-rte-imageboxmark { width: 10px; height: 10px; position: absolute; display: block;
16751
+ background: #4a90e2; border: 1px solid #fff; z-index: 1000;}
16752
+ .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }
16753
+ .e-mob-rte span.e-rte-imageboxmark { background: #fff; border: 1px solid #4a90e2;
16754
+ border-radius: 15px; height: 20px; width: 20px; }
16755
+ .e-mob-rte.e-mob-span span.e-rte-imageboxmark { background: #4a90e2; border: 1px solid #fff; }
16756
+ .e-rte-content .e-content img.e-resize { z-index: 1000; }
16757
+ .e-img-caption .e-img-inner { outline: 0; }
16758
+ .e-img-caption a:focus-visible { outline: none; }
16759
+ .e-img-caption .e-rte-image.e-imgright, .e-img-caption .e-rte-image.e-imgleft { float: none; margin: 0;}
16760
+ body{box-sizing: border-box;min-height: 100px;outline: 0 solid transparent;
16761
+ overflow-x: auto;padding: 16px;position: relative;text-align: inherit;z-index: 2;}
16762
+ p{margin: 0 0 10px;margin-bottom: 10px;}
16763
+ li{margin-bottom: 10px;}
16764
+ h1{font-size: 2.17em;font-weight: 400;line-height: 1;margin: 10px 0;}
16765
+ h2{font-size: 1.74em;font-weight: 400;margin: 10px 0;}
16766
+ h3{font-size: 1.31em;font-weight: 400;margin: 10px 0;}
16767
+ h4{font-size: 16px;font-weight: 400;line-height: 1.5;margin: 0;}
16768
+ h5{font-size: 00.8em;font-weight: 400;margin: 0;}
16769
+ h6{font-size: 00.65em;font-weight: 400;margin: 0;}
16770
+ blockquote{margin: 10px 0;margin-left: 0;padding-left: 5px;border-left: solid 2px #5c5c5c;}
16771
+ pre{background-color: inherit;border: 0;border-radius: 0;color: #333;
16772
+ font-size: inherit;line-height: inherit;margin: 0 0 10px;overflow: visible;padding: 0;
16773
+ white-space: pre-wrap;word-break: inherit;word-wrap: break-word;}
16774
+ strong, b{font-weight: 700;}
16775
+ a{text-decoration: none;user-select: auto;}
16776
+ a:hover{text-decoration: underline;};
16777
+ p:last-child, pre:last-child, blockquote:last-child{margin-bottom: 0;}
16778
+ h3+h4, h4+h5, h5+h6{margin-top: 00.6em;}
16779
+ ul:last-child{margin-bottom: 0;}
16780
+ table { border-collapse: collapse; empty-cells: show;}
16781
+ table td,table th {border: 1px solid #BDBDBD; height: 20px; vertical-align: middle;}
16782
+ table.e-alternate-border tbody tr:nth-child(2n) {background-color: #F5F5F5;}
16783
+ table th {background-color: #E0E0E0;}
16784
+ table.e-dashed-border td,table.e-dashed-border th { border: 1px dashed #BDBDBD}
16785
+ table .e-cell-select {border: 1px double #4a90e2;}
16786
+ span.e-table-box { cursor: nwse-resize; display: block; height: 10px; position: absolute; width: 10px; }
16787
+ span.e-table-box.e-rmob {height: 14px;width: 14px;}
16788
+ .e-row-resize, .e-column-resize { background-color: transparent; background-repeat: repeat;
16789
+ bottom: 0;cursor: col-resize;height: 1px;overflow: visible;position: absolute;width: 1px; }
16790
+ .e-row-resize { cursor: row-resize; height: 1px;}
16791
+ .e-table-rhelper { cursor: col-resize; opacity: .87;position: absolute;}
16792
+ .e-table-rhelper.e-column-helper { width: 1px; }
16793
+ .e-table-rhelper.e-row-helper {height: 1px;}
16794
+ .e-reicon::before { border-bottom: 6px solid transparent; border-right: 6px solid;
16795
+ border-top: 6px solid transparent; content: ''; display: block; height: 0;
16796
+ position: absolute; right: 4px; top: 4px; width: 20px; }
16797
+ .e-reicon::after { border-bottom: 6px solid transparent; border-left: 6px solid;
16798
+ border-top: 6px solid transparent; content: ''; display: block;
16799
+ height: 0; left: 4px; position: absolute; top: 4px; width: 20px; z-index: 3; }
16800
+ .e-row-helper.e-reicon::after { top: 10px; transform: rotate(90deg); }
16801
+ .e-row-helper.e-reicon::before { left: 4px; top: -20px; transform: rotate(90deg); }
16802
+ span.e-table-box { background-color: #ffffff; border: 1px solid #BDBDBD; }
16803
+ span.e-table-box.e-rbox-select { background-color: #BDBDBD; border: 1px solid #BDBDBD; }
16804
+ .e-table-rhelper { background-color: #4a90e2;}
16805
+ .e-rtl { direction: rtl; }
16806
+ </style>
16787
16807
  </head>`;
16788
16808
  /**
16789
16809
  * Content module is used to render Rich Text Editor content
@@ -19376,7 +19396,8 @@ class Link {
19376
19396
  this.contentModule = this.rendererFactory.getRenderer(RenderType.Content);
19377
19397
  const isPopupOpen = this.quickToolObj.linkQTBar.element.classList.contains('e-rte-pop');
19378
19398
  if (target.nodeName === 'A' && (target.childNodes.length > 0 && target.childNodes[0].nodeName !== 'IMG') &&
19379
- e.args.target.nodeName !== 'IMG') {
19399
+ e.args.target.nodeName !== 'IMG' &&
19400
+ !isNullOrUndefined(closest(this.parent.getRange().startContainer.parentElement, 'A')) && !isNullOrUndefined(closest(this.parent.getRange().endContainer.parentElement, 'A'))) {
19380
19401
  if (isPopupOpen) {
19381
19402
  return;
19382
19403
  }
@@ -20551,7 +20572,7 @@ class Image {
20551
20572
  const target = args.target;
20552
20573
  this.contentModule = this.rendererFactory.getRenderer(RenderType.Content);
20553
20574
  const isPopupOpen = this.quickToolObj.imageQTBar.element.classList.contains('e-rte-pop');
20554
- if (target.nodeName === 'IMG' && this.parent.quickToolbarModule) {
20575
+ if (target.nodeName === 'IMG' && this.parent.quickToolbarModule && this.parent.getRange().startOffset === this.parent.getRange().endOffset) {
20555
20576
  if (isPopupOpen) {
20556
20577
  return;
20557
20578
  }
@@ -20788,13 +20809,34 @@ class Image {
20788
20809
  }
20789
20810
  }
20790
20811
  imageRemovePost(src) {
20812
+ const proxy = this;
20813
+ let absoluteUrl = '';
20814
+ if (src.indexOf('http://') > -1 || src.indexOf('https://') > -1) {
20815
+ absoluteUrl = src;
20816
+ }
20817
+ else {
20818
+ absoluteUrl = new URL(src, document.baseURI).href;
20819
+ }
20820
+ this.removingImgName = absoluteUrl.replace(/^.*[\\\/]/, '');
20821
+ const xhr = new XMLHttpRequest();
20822
+ xhr.addEventListener("readystatechange", function () {
20823
+ if (this.readyState == 4 && this.status == 200) {
20824
+ proxy.triggerPost(this.response);
20825
+ }
20826
+ });
20827
+ xhr.open('GET', absoluteUrl);
20828
+ xhr.responseType = 'blob';
20829
+ xhr.send();
20830
+ }
20831
+ triggerPost(response) {
20791
20832
  const removeUrl = this.parent.insertImageSettings.removeUrl;
20792
20833
  if (isNullOrUndefined(removeUrl) || removeUrl === '') {
20793
20834
  return;
20794
20835
  }
20836
+ const file = new File([response], this.removingImgName);
20795
20837
  const ajax = new Ajax(removeUrl, 'POST', true, null);
20796
20838
  const formData = new FormData();
20797
- formData.append(name, src);
20839
+ formData.append('UploadFiles', file);
20798
20840
  ajax.send(formData);
20799
20841
  }
20800
20842
  caption(e) {
@@ -22538,7 +22580,9 @@ class Table {
22538
22580
  }
22539
22581
  const range = this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());
22540
22582
  const closestTable = closest(target, 'table');
22541
- if (target && target.nodeName !== 'A' && target.nodeName !== 'IMG' && (target.nodeName === 'TD' || target.nodeName === 'TH' ||
22583
+ const startNode = this.parent.getRange().startContainer.parentElement;
22584
+ const endNode = this.parent.getRange().endContainer.parentElement;
22585
+ if (target && target.nodeName !== 'A' && target.nodeName !== 'IMG' && startNode === endNode && (target.nodeName === 'TD' || target.nodeName === 'TH' ||
22542
22586
  target.nodeName === 'TABLE' || (closestTable && this.parent.contentModule.getEditPanel().contains(closestTable)))
22543
22587
  && !(range.startContainer.nodeType === 3 && !range.collapsed)) {
22544
22588
  const range = this.parent.formatter.editorManager.nodeSelection.getRange(this.contentModule.getDocument());
@@ -22625,7 +22669,6 @@ class Table {
22625
22669
  tdNode : target;
22626
22670
  removeClass(this.contentModule.getEditPanel().querySelectorAll('table td, table th'), CLS_TABLE_SEL);
22627
22671
  if (target && (target.tagName === 'TD' || target.tagName === 'TH')) {
22628
- target.removeAttribute('class');
22629
22672
  addClass([target], CLS_TABLE_SEL);
22630
22673
  this.activeCell = target;
22631
22674
  this.curTable = (this.curTable) ? this.curTable : closest(target, 'table');
@@ -23601,12 +23644,12 @@ const executeGroup = {
23601
23644
  }
23602
23645
  };
23603
23646
 
23604
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
23605
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
23606
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
23607
- 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;
23608
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23609
- };
23647
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
23648
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
23649
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
23650
+ 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;
23651
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23652
+ };
23610
23653
  /**
23611
23654
  * Configures the toolbar settings of the RichTextEditor.
23612
23655
  */
@@ -23895,12 +23938,12 @@ __decorate$2([
23895
23938
  Property(bulletFormatList)
23896
23939
  ], BulletFormatList.prototype, "types", void 0);
23897
23940
 
23898
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
23899
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
23900
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
23901
- 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;
23902
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23903
- };
23941
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
23942
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
23943
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
23944
+ 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;
23945
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23946
+ };
23904
23947
  /**
23905
23948
  * Objects used for configuring the iframe resources properties.
23906
23949
  */
@@ -23927,12 +23970,12 @@ __decorate$3([
23927
23970
  Complex({}, Resources)
23928
23971
  ], IFrameSettings.prototype, "resources", void 0);
23929
23972
 
23930
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
23931
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
23932
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
23933
- 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;
23934
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23935
- };
23973
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
23974
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
23975
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
23976
+ 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;
23977
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23978
+ };
23936
23979
  /**
23937
23980
  * Configures the inlineMode property of the RTE.
23938
23981
  */
@@ -24073,6 +24116,7 @@ class EnterKeyAction {
24073
24116
  detach(nearBlockNode);
24074
24117
  }
24075
24118
  }
24119
+ this.parent.formatter.editorManager.nodeSelection.setCursorPoint(this.parent.contentModule.getDocument(), insertElem.nextElementSibling, 0);
24076
24120
  }
24077
24121
  else if (nearBlockNode.textContent.length === 0 && !(!isNullOrUndefined(nearBlockNode.childNodes[0]) && nearBlockNode.childNodes[0].nodeName === 'IMG')) {
24078
24122
  if (!isNullOrUndefined(nearBlockNode.children[0]) && nearBlockNode.children[0].tagName !== 'BR') {
@@ -24219,12 +24263,12 @@ class EnterKeyAction {
24219
24263
  }
24220
24264
  }
24221
24265
 
24222
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
24223
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24224
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
24225
- 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;
24226
- return c > 3 && r && Object.defineProperty(target, key, r), r;
24227
- };
24266
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
24267
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24268
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
24269
+ 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;
24270
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
24271
+ };
24228
24272
  /**
24229
24273
  * Represents the Rich Text Editor component.
24230
24274
  * ```html
@@ -25594,8 +25638,7 @@ let RichTextEditor = class RichTextEditor extends Component {
25594
25638
  this.setProperties({ value: this.valueTemplate });
25595
25639
  }
25596
25640
  else {
25597
- const compiledString = compile(this.valueTemplate);
25598
- const compiledTemplate = compiledString({});
25641
+ const compiledTemplate = compile(this.valueTemplate)('', this, 'valueTemplate');
25599
25642
  for (let i = 0; i < compiledTemplate.length; i++) {
25600
25643
  const item = compiledTemplate[i];
25601
25644
  append([item], this.element);