@syncfusion/ej2-richtexteditor 23.2.7-52849 → 24.1.41-569781

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/.eslintrc.json +260 -0
  2. package/CHANGELOG.md +177 -1
  3. package/dist/ej2-richtexteditor.umd.min.js +1 -1
  4. package/dist/ej2-richtexteditor.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-richtexteditor.es2015.js +2919 -1147
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +2906 -1133
  8. package/dist/es6/ej2-richtexteditor.es5.js.map +1 -1
  9. package/package.json +13 -13
  10. package/src/common/config.d.ts +7 -0
  11. package/src/common/config.js +12 -1
  12. package/src/common/constant.d.ts +6 -0
  13. package/src/common/constant.js +6 -0
  14. package/src/common/interface.d.ts +12 -0
  15. package/src/common/types.d.ts +6 -0
  16. package/src/common/util.d.ts +6 -0
  17. package/src/common/util.js +61 -20
  18. package/src/editor-manager/base/constant.d.ts +6 -0
  19. package/src/editor-manager/base/constant.js +6 -0
  20. package/src/editor-manager/base/editor-manager.d.ts +5 -0
  21. package/src/editor-manager/base/editor-manager.js +59 -0
  22. package/src/editor-manager/base/interface.d.ts +8 -0
  23. package/src/editor-manager/plugin/audio.js +13 -3
  24. package/src/editor-manager/plugin/dom-node.d.ts +5 -1
  25. package/src/editor-manager/plugin/dom-node.js +169 -28
  26. package/src/editor-manager/plugin/format-painter-actions.d.ts +1 -0
  27. package/src/editor-manager/plugin/format-painter-actions.js +19 -1
  28. package/src/editor-manager/plugin/formats.d.ts +1 -0
  29. package/src/editor-manager/plugin/formats.js +38 -3
  30. package/src/editor-manager/plugin/image.js +38 -15
  31. package/src/editor-manager/plugin/inserthtml.d.ts +1 -0
  32. package/src/editor-manager/plugin/inserthtml.js +67 -7
  33. package/src/editor-manager/plugin/link.js +4 -1
  34. package/src/editor-manager/plugin/lists.js +121 -65
  35. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +3 -0
  36. package/src/editor-manager/plugin/ms-word-clean-up.js +215 -85
  37. package/src/editor-manager/plugin/nodecutter.js +2 -2
  38. package/src/editor-manager/plugin/selection-commands.d.ts +1 -0
  39. package/src/editor-manager/plugin/selection-commands.js +165 -3
  40. package/src/editor-manager/plugin/table.d.ts +0 -1
  41. package/src/editor-manager/plugin/table.js +33 -30
  42. package/src/editor-manager/plugin/toolbar-status.d.ts +2 -2
  43. package/src/editor-manager/plugin/toolbar-status.js +20 -10
  44. package/src/editor-manager/plugin/undo.d.ts +1 -0
  45. package/src/editor-manager/plugin/undo.js +21 -1
  46. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +3 -3
  47. package/src/rich-text-editor/actions/base-quick-toolbar.js +66 -15
  48. package/src/rich-text-editor/actions/base-toolbar.js +32 -34
  49. package/src/rich-text-editor/actions/color-picker.d.ts +1 -0
  50. package/src/rich-text-editor/actions/color-picker.js +13 -3
  51. package/src/rich-text-editor/actions/count.js +1 -1
  52. package/src/rich-text-editor/actions/dropdown-buttons.js +25 -4
  53. package/src/rich-text-editor/actions/emoji-picker.js +15 -6
  54. package/src/rich-text-editor/actions/enter-key.js +6 -4
  55. package/src/rich-text-editor/actions/file-manager.js +1 -1
  56. package/src/rich-text-editor/actions/format-painter.js +1 -1
  57. package/src/rich-text-editor/actions/full-screen.js +5 -4
  58. package/src/rich-text-editor/actions/html-editor.d.ts +2 -0
  59. package/src/rich-text-editor/actions/html-editor.js +127 -17
  60. package/src/rich-text-editor/actions/keyboard.js +3 -1
  61. package/src/rich-text-editor/actions/markdown-editor.js +3 -1
  62. package/src/rich-text-editor/actions/paste-clean-up.d.ts +5 -0
  63. package/src/rich-text-editor/actions/paste-clean-up.js +156 -28
  64. package/src/rich-text-editor/actions/quick-toolbar.d.ts +7 -0
  65. package/src/rich-text-editor/actions/quick-toolbar.js +45 -11
  66. package/src/rich-text-editor/actions/resize.js +2 -1
  67. package/src/rich-text-editor/actions/toolbar-action.js +1 -1
  68. package/src/rich-text-editor/actions/toolbar.d.ts +3 -3
  69. package/src/rich-text-editor/actions/toolbar.js +35 -96
  70. package/src/rich-text-editor/base/classes.d.ts +5 -5
  71. package/src/rich-text-editor/base/classes.js +5 -5
  72. package/src/rich-text-editor/base/constant.d.ts +46 -1
  73. package/src/rich-text-editor/base/constant.js +215 -1
  74. package/src/rich-text-editor/base/interface.d.ts +47 -3
  75. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +3 -3
  76. package/src/rich-text-editor/base/rich-text-editor.d.ts +16 -4
  77. package/src/rich-text-editor/base/rich-text-editor.js +196 -100
  78. package/src/rich-text-editor/base/util.d.ts +4 -0
  79. package/src/rich-text-editor/base/util.js +57 -5
  80. package/src/rich-text-editor/formatter/formatter.js +15 -4
  81. package/src/rich-text-editor/models/default-locale.js +31 -25
  82. package/src/rich-text-editor/models/items.js +3 -3
  83. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +1 -1
  84. package/src/rich-text-editor/models/toolbar-settings.d.ts +1 -1
  85. package/src/rich-text-editor/models/toolbar-settings.js +1 -1
  86. package/src/rich-text-editor/renderer/audio-module.d.ts +1 -0
  87. package/src/rich-text-editor/renderer/audio-module.js +13 -0
  88. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +2 -0
  89. package/src/rich-text-editor/renderer/dialog-renderer.js +22 -2
  90. package/src/rich-text-editor/renderer/iframe-content-renderer.js +2 -1
  91. package/src/rich-text-editor/renderer/image-module.d.ts +9 -1
  92. package/src/rich-text-editor/renderer/image-module.js +244 -212
  93. package/src/rich-text-editor/renderer/link-module.js +53 -24
  94. package/src/rich-text-editor/renderer/table-module.d.ts +10 -1
  95. package/src/rich-text-editor/renderer/table-module.js +330 -165
  96. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +4 -6
  97. package/src/rich-text-editor/renderer/toolbar-renderer.js +105 -106
  98. package/src/rich-text-editor/renderer/video-module.d.ts +3 -0
  99. package/src/rich-text-editor/renderer/video-module.js +61 -34
  100. package/src/rich-text-editor/renderer/view-source.d.ts +1 -0
  101. package/src/rich-text-editor/renderer/view-source.js +15 -5
  102. package/src/selection/selection.js +3 -0
  103. package/styles/bootstrap-dark.css +345 -99
  104. package/styles/bootstrap.css +353 -108
  105. package/styles/bootstrap4.css +337 -95
  106. package/styles/bootstrap5-dark.css +343 -96
  107. package/styles/bootstrap5.css +343 -96
  108. package/styles/fabric-dark.css +331 -89
  109. package/styles/fabric.css +332 -90
  110. package/styles/fluent-dark.css +342 -92
  111. package/styles/fluent.css +342 -92
  112. package/styles/highcontrast-light.css +331 -89
  113. package/styles/highcontrast.css +335 -90
  114. package/styles/material-dark.css +337 -90
  115. package/styles/material.css +337 -90
  116. package/styles/material3-dark.css +347 -99
  117. package/styles/material3.css +347 -99
  118. package/styles/rich-text-editor/_bds-definition.scss +279 -0
  119. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +14 -10
  120. package/styles/rich-text-editor/_bootstrap-definition.scss +20 -17
  121. package/styles/rich-text-editor/_bootstrap4-definition.scss +11 -7
  122. package/styles/rich-text-editor/_bootstrap5-definition.scss +8 -4
  123. package/styles/rich-text-editor/_fabric-dark-definition.scss +6 -2
  124. package/styles/rich-text-editor/_fabric-definition.scss +7 -3
  125. package/styles/rich-text-editor/_fluent-definition.scss +9 -5
  126. package/styles/rich-text-editor/_fusionnew-definition.scss +7 -3
  127. package/styles/rich-text-editor/_highcontrast-definition.scss +7 -3
  128. package/styles/rich-text-editor/_highcontrast-light-definition.scss +6 -2
  129. package/styles/rich-text-editor/_layout.scss +208 -31
  130. package/styles/rich-text-editor/_material-dark-definition.scss +6 -2
  131. package/styles/rich-text-editor/_material-definition.scss +6 -2
  132. package/styles/rich-text-editor/_material3-definition.scss +16 -12
  133. package/styles/rich-text-editor/_tailwind-definition.scss +25 -21
  134. package/styles/rich-text-editor/_theme.scss +93 -24
  135. package/styles/rich-text-editor/bootstrap-dark.css +345 -99
  136. package/styles/rich-text-editor/bootstrap.css +353 -108
  137. package/styles/rich-text-editor/bootstrap4.css +337 -95
  138. package/styles/rich-text-editor/bootstrap5-dark.css +343 -96
  139. package/styles/rich-text-editor/bootstrap5.css +343 -96
  140. package/styles/rich-text-editor/fabric-dark.css +331 -89
  141. package/styles/rich-text-editor/fabric.css +332 -90
  142. package/styles/rich-text-editor/fluent-dark.css +342 -92
  143. package/styles/rich-text-editor/fluent.css +342 -92
  144. package/styles/rich-text-editor/highcontrast-light.css +331 -89
  145. package/styles/rich-text-editor/highcontrast.css +335 -90
  146. package/styles/rich-text-editor/icons/_bds.scss +348 -0
  147. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +4 -4
  148. package/styles/rich-text-editor/icons/_bootstrap.scss +4 -4
  149. package/styles/rich-text-editor/icons/_bootstrap4.scss +4 -4
  150. package/styles/rich-text-editor/icons/_bootstrap5.scss +4 -4
  151. package/styles/rich-text-editor/icons/_fabric-dark.scss +4 -4
  152. package/styles/rich-text-editor/icons/_fabric.scss +4 -4
  153. package/styles/rich-text-editor/icons/_fluent.scss +4 -4
  154. package/styles/rich-text-editor/icons/_fusionnew.scss +3 -3
  155. package/styles/rich-text-editor/icons/_highcontrast-light.scss +4 -4
  156. package/styles/rich-text-editor/icons/_highcontrast.scss +4 -4
  157. package/styles/rich-text-editor/icons/_material-dark.scss +4 -4
  158. package/styles/rich-text-editor/icons/_material.scss +4 -4
  159. package/styles/rich-text-editor/icons/_material3.scss +4 -4
  160. package/styles/rich-text-editor/icons/_tailwind.scss +4 -4
  161. package/styles/rich-text-editor/material-dark.css +337 -90
  162. package/styles/rich-text-editor/material.css +337 -90
  163. package/styles/rich-text-editor/material3-dark.css +347 -99
  164. package/styles/rich-text-editor/material3.css +347 -99
  165. package/styles/rich-text-editor/tailwind-dark.css +386 -116
  166. package/styles/rich-text-editor/tailwind.css +386 -116
  167. package/styles/tailwind-dark.css +386 -116
  168. package/styles/tailwind.css +386 -116
  169. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
  170. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -27
  171. package/src/global.d.ts +0 -1
@@ -15,6 +15,7 @@ export declare class ViewSource {
15
15
  private rendererFactory;
16
16
  private keyboardModule;
17
17
  private previewElement;
18
+ private codeViewTimeInterval;
18
19
  /**
19
20
  * Constructor for view source module
20
21
  *
@@ -44,7 +44,7 @@ var ViewSource = /** @class */ (function () {
44
44
  this.parent.formatter.editorManager.observer.off(CONSTANT.KEY_DOWN_HANDLER, this.onKeyDown);
45
45
  };
46
46
  ViewSource.prototype.getSourceCode = function () {
47
- return this.parent.createElement('textarea', { className: CLS_RTE_SOURCE_CODE_TXTAREA + ' ' + this.parent.cssClass });
47
+ return this.parent.createElement('textarea', { className: CLS_RTE_SOURCE_CODE_TXTAREA + this.parent.getCssClass(true) });
48
48
  };
49
49
  ViewSource.prototype.wireEvent = function (element) {
50
50
  this.keyboardModule = new KeyboardEvents(element, {
@@ -108,6 +108,7 @@ var ViewSource = /** @class */ (function () {
108
108
  * @deprecated
109
109
  */
110
110
  ViewSource.prototype.sourceCode = function (args) {
111
+ var _this = this;
111
112
  this.parent.notify(events.hidePopup, {});
112
113
  this.parent.isBlur = false;
113
114
  this.parent.trigger(events.actionBegin, { requestType: 'SourceCode', targetItem: 'SourceCode', args: args });
@@ -134,15 +135,16 @@ var ViewSource = /** @class */ (function () {
134
135
  rteContent.appendChild(this.previewElement);
135
136
  this.parent.element.appendChild(rteContent);
136
137
  rteContent.style.height = this.contentModule.getPanel().style.height;
137
- rteContent.style.marginTop = this.contentModule.getPanel().style.marginTop;
138
138
  this.getPanel().value = this.getTextAreaValue();
139
139
  this.contentModule.getPanel().style.display = 'none';
140
140
  rteContent.style.display = 'block';
141
141
  this.getPanel().style.display = 'block';
142
142
  }
143
143
  else {
144
+ var height = this.parent.inputElement.offsetHeight;
144
145
  this.contentModule.getPanel().appendChild(this.previewElement);
145
146
  this.getPanel().value = this.getTextAreaValue();
147
+ this.previewElement.style.height = height + 'px';
146
148
  this.contentModule.getEditPanel().style.display = 'none';
147
149
  this.previewElement.style.display = 'block';
148
150
  }
@@ -153,17 +155,23 @@ var ViewSource = /** @class */ (function () {
153
155
  removeClass([this.parent.getToolbar()], [CLS_EXPAND_OPEN]);
154
156
  }
155
157
  removeClass(tbItems, [CLS_ACTIVE]);
156
- this.parent.setContentHeight('sourceCode', true);
158
+ var isExpand = this.parent.element.querySelectorAll('.e-toolbar-extended.e-popup-open').length > 0 ? true : false;
159
+ this.parent.setContentHeight('SourceCode', isExpand);
157
160
  this.wireEvent(this.previewElement);
158
161
  this.unWireBaseKeyDown();
159
162
  this.previewElement.focus();
160
163
  this.parent.updateValue();
161
164
  if (!isNullOrUndefined(this.parent.placeholder) && !this.parent.iframeSettings.enable) {
162
165
  var placeHolderWrapper = this.parent.element.querySelector('.rte-placeholder.e-rte-placeholder');
163
- placeHolderWrapper.style.display = 'none';
166
+ if (placeHolderWrapper) {
167
+ placeHolderWrapper.style.display = 'none';
168
+ }
164
169
  }
165
170
  this.parent.trigger(events.actionComplete, { requestType: 'SourceCode', targetItem: 'SourceCode', args: args });
166
171
  this.parent.invokeChangeEvent();
172
+ if (!isNullOrUndefined(this.parent.saveInterval) && this.parent.saveInterval > 0 && this.parent.autoSaveOnIdle) {
173
+ this.codeViewTimeInterval = setInterval(function () { _this.parent.notify(events.updateValueOnIdle, {}); }, this.parent.saveInterval);
174
+ }
167
175
  };
168
176
  /**
169
177
  * updateSourceCode method
@@ -213,7 +221,8 @@ var ViewSource = /** @class */ (function () {
213
221
  if (this.parent.getToolbar()) {
214
222
  removeClass([this.parent.getToolbar()], [CLS_EXPAND_OPEN]);
215
223
  }
216
- this.parent.setContentHeight('preview', true);
224
+ var isExpand = this.parent.element.querySelectorAll('.e-toolbar-extended.e-popup-open').length > 0 ? true : false;
225
+ this.parent.setContentHeight('Preview', isExpand);
217
226
  this.unWireEvent();
218
227
  this.wireBaseKeyDown();
219
228
  this.contentModule.getEditPanel().focus();
@@ -225,6 +234,7 @@ var ViewSource = /** @class */ (function () {
225
234
  this.parent.trigger(events.actionComplete, { requestType: 'Preview', targetItem: 'Preview', args: args });
226
235
  this.parent.formatter.enableUndo(this.parent);
227
236
  this.parent.addAudioVideoWrapper();
237
+ clearTimeout(this.codeViewTimeInterval);
228
238
  this.parent.invokeChangeEvent();
229
239
  this.parent.notify(events.tableclass, {});
230
240
  };
@@ -90,6 +90,9 @@ var NodeSelection = /** @class */ (function () {
90
90
  || this.isChildNode(nodeCollection, startNode))) {
91
91
  return null;
92
92
  }
93
+ if (startNode.nodeType === 3 && startNode.previousSibling === endNode && endNode.nodeName === 'IMG') {
94
+ return null;
95
+ }
93
96
  if (nodeCollection.indexOf(startNode.firstChild) === -1 && startNode.firstChild && !this.isChildNode(nodeCollection, startNode)) {
94
97
  return startNode.firstChild;
95
98
  }