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

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 +203 -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 +9873 -7941
  6. package/dist/es6/ej2-richtexteditor.es2015.js.map +1 -1
  7. package/dist/es6/ej2-richtexteditor.es5.js +9967 -8034
  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/indents.js +1 -1
  32. package/src/editor-manager/plugin/inserthtml.d.ts +1 -0
  33. package/src/editor-manager/plugin/inserthtml.js +83 -20
  34. package/src/editor-manager/plugin/link.js +8 -3
  35. package/src/editor-manager/plugin/lists.js +159 -70
  36. package/src/editor-manager/plugin/ms-word-clean-up.d.ts +3 -0
  37. package/src/editor-manager/plugin/ms-word-clean-up.js +215 -85
  38. package/src/editor-manager/plugin/nodecutter.js +5 -2
  39. package/src/editor-manager/plugin/selection-commands.d.ts +2 -0
  40. package/src/editor-manager/plugin/selection-commands.js +248 -4
  41. package/src/editor-manager/plugin/table.d.ts +4 -1
  42. package/src/editor-manager/plugin/table.js +95 -49
  43. package/src/editor-manager/plugin/toolbar-status.d.ts +2 -2
  44. package/src/editor-manager/plugin/toolbar-status.js +20 -10
  45. package/src/editor-manager/plugin/undo.d.ts +1 -0
  46. package/src/editor-manager/plugin/undo.js +21 -1
  47. package/src/rich-text-editor/actions/base-quick-toolbar.d.ts +4 -3
  48. package/src/rich-text-editor/actions/base-quick-toolbar.js +61 -14
  49. package/src/rich-text-editor/actions/base-toolbar.js +33 -34
  50. package/src/rich-text-editor/actions/color-picker.d.ts +1 -0
  51. package/src/rich-text-editor/actions/color-picker.js +13 -3
  52. package/src/rich-text-editor/actions/count.js +1 -1
  53. package/src/rich-text-editor/actions/dropdown-buttons.d.ts +1 -0
  54. package/src/rich-text-editor/actions/dropdown-buttons.js +11 -5
  55. package/src/rich-text-editor/actions/emoji-picker.js +16 -7
  56. package/src/rich-text-editor/actions/enter-key.js +10 -5
  57. package/src/rich-text-editor/actions/file-manager.js +1 -1
  58. package/src/rich-text-editor/actions/format-painter.js +5 -2
  59. package/src/rich-text-editor/actions/full-screen.js +5 -4
  60. package/src/rich-text-editor/actions/html-editor.d.ts +2 -0
  61. package/src/rich-text-editor/actions/html-editor.js +124 -17
  62. package/src/rich-text-editor/actions/keyboard.js +3 -1
  63. package/src/rich-text-editor/actions/markdown-editor.js +3 -1
  64. package/src/rich-text-editor/actions/paste-clean-up.d.ts +5 -0
  65. package/src/rich-text-editor/actions/paste-clean-up.js +156 -28
  66. package/src/rich-text-editor/actions/quick-toolbar.d.ts +8 -0
  67. package/src/rich-text-editor/actions/quick-toolbar.js +59 -12
  68. package/src/rich-text-editor/actions/resize.js +2 -1
  69. package/src/rich-text-editor/actions/toolbar-action.js +1 -1
  70. package/src/rich-text-editor/actions/toolbar.d.ts +3 -3
  71. package/src/rich-text-editor/actions/toolbar.js +35 -96
  72. package/src/rich-text-editor/base/classes.d.ts +5 -5
  73. package/src/rich-text-editor/base/classes.js +5 -5
  74. package/src/rich-text-editor/base/constant.d.ts +46 -1
  75. package/src/rich-text-editor/base/constant.js +215 -1
  76. package/src/rich-text-editor/base/interface.d.ts +47 -3
  77. package/src/rich-text-editor/base/rich-text-editor-model.d.ts +3 -3
  78. package/src/rich-text-editor/base/rich-text-editor.d.ts +16 -4
  79. package/src/rich-text-editor/base/rich-text-editor.js +184 -97
  80. package/src/rich-text-editor/base/util.js +22 -4
  81. package/src/rich-text-editor/formatter/formatter.js +16 -4
  82. package/src/rich-text-editor/models/default-locale.js +31 -25
  83. package/src/rich-text-editor/models/items.js +3 -3
  84. package/src/rich-text-editor/models/toolbar-settings-model.d.ts +1 -1
  85. package/src/rich-text-editor/models/toolbar-settings.d.ts +1 -1
  86. package/src/rich-text-editor/models/toolbar-settings.js +1 -1
  87. package/src/rich-text-editor/renderer/audio-module.d.ts +1 -0
  88. package/src/rich-text-editor/renderer/audio-module.js +22 -4
  89. package/src/rich-text-editor/renderer/dialog-renderer.d.ts +2 -0
  90. package/src/rich-text-editor/renderer/dialog-renderer.js +22 -2
  91. package/src/rich-text-editor/renderer/iframe-content-renderer.js +2 -1
  92. package/src/rich-text-editor/renderer/image-module.d.ts +9 -1
  93. package/src/rich-text-editor/renderer/image-module.js +248 -213
  94. package/src/rich-text-editor/renderer/link-module.js +53 -24
  95. package/src/rich-text-editor/renderer/table-module.d.ts +10 -1
  96. package/src/rich-text-editor/renderer/table-module.js +343 -168
  97. package/src/rich-text-editor/renderer/toolbar-renderer.d.ts +3 -6
  98. package/src/rich-text-editor/renderer/toolbar-renderer.js +106 -101
  99. package/src/rich-text-editor/renderer/video-module.d.ts +3 -0
  100. package/src/rich-text-editor/renderer/video-module.js +82 -41
  101. package/src/rich-text-editor/renderer/view-source.d.ts +1 -0
  102. package/src/rich-text-editor/renderer/view-source.js +15 -5
  103. package/src/selection/selection.js +3 -0
  104. package/styles/bootstrap-dark.css +353 -103
  105. package/styles/bootstrap.css +357 -112
  106. package/styles/bootstrap4.css +338 -96
  107. package/styles/bootstrap5-dark.css +344 -97
  108. package/styles/bootstrap5.css +344 -97
  109. package/styles/fabric-dark.css +332 -90
  110. package/styles/fabric.css +333 -91
  111. package/styles/fluent-dark.css +360 -98
  112. package/styles/fluent.css +360 -98
  113. package/styles/highcontrast-light.css +332 -90
  114. package/styles/highcontrast.css +336 -91
  115. package/styles/material-dark.css +339 -92
  116. package/styles/material.css +339 -92
  117. package/styles/material3-dark.css +348 -100
  118. package/styles/material3.css +348 -100
  119. package/styles/rich-text-editor/_bds-definition.scss +279 -0
  120. package/styles/rich-text-editor/_bootstrap-dark-definition.scss +17 -13
  121. package/styles/rich-text-editor/_bootstrap-definition.scss +22 -19
  122. package/styles/rich-text-editor/_bootstrap4-definition.scss +11 -7
  123. package/styles/rich-text-editor/_bootstrap5-definition.scss +8 -4
  124. package/styles/rich-text-editor/_fabric-dark-definition.scss +6 -2
  125. package/styles/rich-text-editor/_fabric-definition.scss +7 -3
  126. package/styles/rich-text-editor/_fluent-definition.scss +14 -10
  127. package/styles/rich-text-editor/_fusionnew-definition.scss +7 -3
  128. package/styles/rich-text-editor/_highcontrast-definition.scss +7 -3
  129. package/styles/rich-text-editor/_highcontrast-light-definition.scss +6 -2
  130. package/styles/rich-text-editor/_layout.scss +211 -34
  131. package/styles/rich-text-editor/_material-dark-definition.scss +6 -2
  132. package/styles/rich-text-editor/_material-definition.scss +6 -2
  133. package/styles/rich-text-editor/_material3-definition.scss +16 -12
  134. package/styles/rich-text-editor/_tailwind-definition.scss +23 -19
  135. package/styles/rich-text-editor/_theme.scss +113 -24
  136. package/styles/rich-text-editor/bootstrap-dark.css +353 -103
  137. package/styles/rich-text-editor/bootstrap.css +357 -112
  138. package/styles/rich-text-editor/bootstrap4.css +338 -96
  139. package/styles/rich-text-editor/bootstrap5-dark.css +344 -97
  140. package/styles/rich-text-editor/bootstrap5.css +344 -97
  141. package/styles/rich-text-editor/fabric-dark.css +332 -90
  142. package/styles/rich-text-editor/fabric.css +333 -91
  143. package/styles/rich-text-editor/fluent-dark.css +360 -98
  144. package/styles/rich-text-editor/fluent.css +360 -98
  145. package/styles/rich-text-editor/highcontrast-light.css +332 -90
  146. package/styles/rich-text-editor/highcontrast.css +336 -91
  147. package/styles/rich-text-editor/icons/_bds.scss +348 -0
  148. package/styles/rich-text-editor/icons/_bootstrap-dark.scss +4 -4
  149. package/styles/rich-text-editor/icons/_bootstrap.scss +4 -4
  150. package/styles/rich-text-editor/icons/_bootstrap4.scss +4 -4
  151. package/styles/rich-text-editor/icons/_bootstrap5.scss +4 -4
  152. package/styles/rich-text-editor/icons/_fabric-dark.scss +4 -4
  153. package/styles/rich-text-editor/icons/_fabric.scss +4 -4
  154. package/styles/rich-text-editor/icons/_fluent.scss +4 -4
  155. package/styles/rich-text-editor/icons/_fusionnew.scss +3 -3
  156. package/styles/rich-text-editor/icons/_highcontrast-light.scss +4 -4
  157. package/styles/rich-text-editor/icons/_highcontrast.scss +4 -4
  158. package/styles/rich-text-editor/icons/_material-dark.scss +4 -4
  159. package/styles/rich-text-editor/icons/_material.scss +4 -4
  160. package/styles/rich-text-editor/icons/_material3.scss +4 -4
  161. package/styles/rich-text-editor/icons/_tailwind.scss +4 -4
  162. package/styles/rich-text-editor/material-dark.css +339 -92
  163. package/styles/rich-text-editor/material.css +339 -92
  164. package/styles/rich-text-editor/material3-dark.css +348 -100
  165. package/styles/rich-text-editor/material3.css +348 -100
  166. package/styles/rich-text-editor/tailwind-dark.css +383 -113
  167. package/styles/rich-text-editor/tailwind.css +383 -113
  168. package/styles/tailwind-dark.css +383 -113
  169. package/styles/tailwind.css +383 -113
  170. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -41
  171. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +0 -27
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-richtexteditor@*",
3
- "_id": "@syncfusion/ej2-richtexteditor@23.2.6",
3
+ "_id": "@syncfusion/ej2-richtexteditor@24.1.41",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-yiMdrOTe/kK+B6CGHKyKTYE+XvhMVnznfPPgziZDZgT11BPn/mdRhpMyCtfjlTybpQ5ohE9WGNqpeWndalRhZA==",
5
+ "_integrity": "sha512-h4DVBcoJwsAW5vm0Y6Ffg3KcNNeCxkj2MwOW+z+Aa8puZZETLQitQl8yt76IFRoxTY/MCdkoTWVILD5mstwkFg==",
6
6
  "_location": "/@syncfusion/ej2-richtexteditor",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -25,10 +25,10 @@
25
25
  "/@syncfusion/ej2-react-richtexteditor",
26
26
  "/@syncfusion/ej2-vue-richtexteditor"
27
27
  ],
28
- "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-23.2.6.tgz",
29
- "_shasum": "b567bbae22fa4e6718a8f076b6c14c4a16e2977b",
28
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-richtexteditor/-/ej2-richtexteditor-24.1.41.tgz",
29
+ "_shasum": "b0643450fa79cf814e9386718d1e011876c3946a",
30
30
  "_spec": "@syncfusion/ej2-richtexteditor@*",
31
- "_where": "/jenkins/workspace/elease-automation_release_23.1.1/packages/included",
31
+ "_where": "/jenkins/workspace/elease-automation_release_24.1.1/packages/included",
32
32
  "author": {
33
33
  "name": "Syncfusion Inc."
34
34
  },
@@ -37,13 +37,13 @@
37
37
  },
38
38
  "bundleDependencies": false,
39
39
  "dependencies": {
40
- "@syncfusion/ej2-base": "~23.2.6",
41
- "@syncfusion/ej2-buttons": "~23.2.7",
42
- "@syncfusion/ej2-filemanager": "~23.2.6",
43
- "@syncfusion/ej2-inputs": "~23.2.4",
44
- "@syncfusion/ej2-navigations": "~23.2.7",
45
- "@syncfusion/ej2-popups": "~23.2.4",
46
- "@syncfusion/ej2-splitbuttons": "~23.2.4"
40
+ "@syncfusion/ej2-base": "24.1.41",
41
+ "@syncfusion/ej2-buttons": "24.1.41",
42
+ "@syncfusion/ej2-filemanager": "24.1.41",
43
+ "@syncfusion/ej2-inputs": "24.1.41",
44
+ "@syncfusion/ej2-navigations": "24.1.41",
45
+ "@syncfusion/ej2-popups": "24.1.41",
46
+ "@syncfusion/ej2-splitbuttons": "24.1.41"
47
47
  },
48
48
  "deprecated": false,
49
49
  "description": "Essential JS 2 RichTextEditor component",
@@ -69,6 +69,6 @@
69
69
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
70
70
  },
71
71
  "typings": "index.d.ts",
72
- "version": "23.2.7-52849",
72
+ "version": "24.1.41-569421",
73
73
  "sideEffects": false
74
74
  }
@@ -1,3 +1,4 @@
1
+ import { IImageResizeFactor } from "./interface";
1
2
  /**
2
3
  * Default Markdown formats config for adapter
3
4
  */
@@ -46,3 +47,9 @@ export declare const listConversionFilters: {
46
47
  * @hidden
47
48
  */
48
49
  export declare const selfClosingTags: string[];
50
+ /**
51
+ * Resize factor for image.
52
+ * @hidden
53
+ *
54
+ */
55
+ export declare const imageResizeFactor: IImageResizeFactor;
@@ -41,7 +41,7 @@ export var htmlKeyConfig = {
41
41
  'insert-link': 'ctrl+k',
42
42
  'insert-image': 'ctrl+shift+i',
43
43
  'insert-audio': 'ctrl+shift+a',
44
- 'insert-video': 'ctrl+shift+v',
44
+ 'insert-video': 'ctrl+alt+v',
45
45
  'insert-table': 'ctrl+shift+e',
46
46
  'undo': 'ctrl+z',
47
47
  'redo': 'ctrl+y',
@@ -128,3 +128,14 @@ export var selfClosingTags = [
128
128
  'BR',
129
129
  'IMG'
130
130
  ];
131
+ /**
132
+ * Resize factor for image.
133
+ * @hidden
134
+ *
135
+ */
136
+ export var imageResizeFactor = {
137
+ topLeft: [-1, -1],
138
+ topRight: [1, -1],
139
+ botRight: [1, 1],
140
+ botLeft: [-1, 1]
141
+ };
@@ -91,3 +91,9 @@ export declare const FORMAT_PAINTER_ACTIONS: string;
91
91
  * @hidden
92
92
  */
93
93
  export declare const EMOJI_PICKER_ACTIONS: string;
94
+ /**
95
+ * Mouse down event constant
96
+ *
97
+ * @hidden
98
+ */
99
+ export declare const MOUSE_DOWN: string;
@@ -91,3 +91,9 @@ export var FORMAT_PAINTER_ACTIONS = 'format_painter_actions';
91
91
  * @hidden
92
92
  */
93
93
  export var EMOJI_PICKER_ACTIONS = 'emoji_picker_actions';
94
+ /**
95
+ * Mouse down event constant
96
+ *
97
+ * @hidden
98
+ */
99
+ export var MOUSE_DOWN = 'mouseDown';
@@ -77,3 +77,15 @@ export interface IToolbarStatus {
77
77
  numberFormatList?: string | boolean;
78
78
  bulletFormatList?: string | boolean;
79
79
  }
80
+ /**
81
+ * @deprecated
82
+ * @private
83
+ *
84
+ *
85
+ * */
86
+ export interface IImageResizeFactor {
87
+ topLeft: [number, number];
88
+ topRight: [number, number];
89
+ botLeft: [number, number];
90
+ botRight: [number, number];
91
+ }
@@ -18,3 +18,9 @@ export declare type EnterKey = 'P' | 'DIV' | 'BR';
18
18
  * Defines tag to be used when shift + enter key is pressed.
19
19
  */
20
20
  export declare type ShiftEnterKey = 'P' | 'DIV' | 'BR';
21
+ /**
22
+ * Defines the types of action to be used in the Rich Text Editor.
23
+ * @hidden
24
+ * @private
25
+ */
26
+ export declare type ContentHeightSource = 'SourceCode' | 'Init' | 'Preview' | 'Maximize' | 'Minimize' | 'WindowResize' | 'Toolbar' | 'Resize' | 'Refresh';
@@ -34,3 +34,9 @@ export declare function getDefaultHtmlTbStatus(): IToolbarStatus;
34
34
  * @hidden
35
35
  */
36
36
  export declare function getDefaultMDTbStatus(): IToolbarStatus;
37
+ /**
38
+ * @param {Range} range - specifies the range
39
+ * @returns {void}
40
+ * @hidden
41
+ */
42
+ export declare function nestedListCleanUp(range: Range): void;
@@ -82,33 +82,47 @@ export function updateTextNode(value, enterAction) {
82
82
  }
83
83
  var tableElm = resultElm.querySelectorAll('table');
84
84
  for (var i = 0; i < tableElm.length; i++) {
85
- if (tableElm[i].getAttribute('border') === '0') {
86
- tableElm[i].removeAttribute('border');
87
- }
88
- var tdElm = tableElm[i].querySelectorAll('td');
89
- for (var j = 0; j < tdElm.length; j++) {
90
- if (tdElm[j].style.borderLeft === 'none') {
91
- tdElm[j].style.removeProperty('border-left');
92
- }
93
- if (tdElm[j].style.borderRight === 'none') {
94
- tdElm[j].style.removeProperty('border-right');
95
- }
96
- if (tdElm[j].style.borderBottom === 'none') {
97
- tdElm[j].style.removeProperty('border-bottom');
85
+ if (tableElm[i].classList.length > 0 && !tableElm[i].classList.contains('e-rte-table')) {
86
+ tableElm[i].classList.add('e-rte-paste-table');
87
+ if (tableElm[i].classList.contains('e-rte-paste-word-table')) {
88
+ tableElm[i].classList.remove('e-rte-paste-word-table');
89
+ continue; // Skiping the removal of the border if the source is from word.
98
90
  }
99
- if (tdElm[j].style.borderTop === 'none') {
100
- tdElm[j].style.removeProperty('border-top');
91
+ else if (tableElm[i].classList.contains('e-rte-paste-excel-table')) {
92
+ tableElm[i].classList.remove('e-rte-paste-excel-table');
93
+ if (tableElm[i].getAttribute('border') === '0') {
94
+ tableElm[i].removeAttribute('border');
95
+ }
96
+ var tdElm = tableElm[i].querySelectorAll('td');
97
+ for (var j = 0; j < tdElm.length; j++) {
98
+ if (tdElm[j].style.borderLeft === 'none') {
99
+ tdElm[j].style.removeProperty('border-left');
100
+ }
101
+ if (tdElm[j].style.borderRight === 'none') {
102
+ tdElm[j].style.removeProperty('border-right');
103
+ }
104
+ if (tdElm[j].style.borderBottom === 'none') {
105
+ tdElm[j].style.removeProperty('border-bottom');
106
+ }
107
+ if (tdElm[j].style.borderTop === 'none') {
108
+ tdElm[j].style.removeProperty('border-top');
109
+ }
110
+ if (tdElm[j].style.border === 'none') {
111
+ tdElm[j].style.removeProperty('border');
112
+ }
113
+ }
101
114
  }
102
- if (tdElm[j].style.border === 'none') {
103
- tdElm[j].style.removeProperty('border');
115
+ else if (tableElm[i].classList.contains('e-rte-paste-onenote-table')) {
116
+ tableElm[i].classList.remove('e-rte-paste-onenote-table');
117
+ continue;
104
118
  }
105
119
  }
106
- if (!tableElm[i].classList.contains('e-rte-table')) {
107
- tableElm[i].classList.add('e-rte-table');
108
- }
109
120
  }
110
121
  var imageElm = resultElm.querySelectorAll('img');
111
122
  for (var i = 0; i < imageElm.length; i++) {
123
+ if (imageElm[i].classList.contains('e-rte-image-unsupported')) {
124
+ continue; // Should not add the class if the image is Broken.
125
+ }
112
126
  if (!imageElm[i].classList.contains('e-rte-image')) {
113
127
  imageElm[i].classList.add('e-rte-image');
114
128
  }
@@ -179,3 +193,30 @@ export function getDefaultMDTbStatus() {
179
193
  formats: null
180
194
  };
181
195
  }
196
+ /**
197
+ * @param {Range} range - specifies the range
198
+ * @returns {void}
199
+ * @hidden
200
+ */
201
+ export function nestedListCleanUp(range) {
202
+ if (range.startContainer.parentElement.closest('ol,ul') !== null && range.endContainer.parentElement.closest('ol,ul') !== null) {
203
+ range.extractContents();
204
+ while ((range.startContainer.nodeName === "#text" ? range.startContainer.parentElement : range.startContainer).querySelectorAll('li :empty').length > 0 ||
205
+ (range.startContainer.nodeName === "#text" ? range.startContainer.parentElement : range.startContainer).querySelectorAll('ol :empty').length > 0) {
206
+ var emptyLI = (range.startContainer.nodeName === "#text" ? range.startContainer.parentElement : range.startContainer).querySelectorAll('li :empty');
207
+ if (emptyLI.length > 0) {
208
+ emptyLI.forEach(function (item) {
209
+ item.remove();
210
+ });
211
+ }
212
+ }
213
+ var liElem = (range.startContainer.nodeName === "#text" ? range.startContainer.parentElement : range.startContainer).querySelectorAll("li");
214
+ if (liElem.length > 0) {
215
+ liElem.forEach(function (item) {
216
+ if (item.firstChild.nodeName === "OL" || item.firstChild.nodeName === "UL") {
217
+ item.style.listStyleType = "none";
218
+ }
219
+ });
220
+ }
221
+ }
222
+ }
@@ -82,3 +82,9 @@ export declare const CLEAR_TYPE: string;
82
82
  * @hidden
83
83
  */
84
84
  export declare const SELF_CLOSING_TAGS: string[];
85
+ /**
86
+ * Source
87
+ *
88
+ * @hidden
89
+ */
90
+ export declare const PASTE_SOURCE: string[];
@@ -87,3 +87,9 @@ export var CLEAR_TYPE = 'clear-type';
87
87
  * @hidden
88
88
  */
89
89
  export var SELF_CLOSING_TAGS = ['area', 'base', 'br', 'embed', 'hr', 'img', 'input', 'param', 'source', 'track', 'wbr', 'iframe', 'td', 'table'];
90
+ /**
91
+ * Source
92
+ *
93
+ * @hidden
94
+ */
95
+ export var PASTE_SOURCE = ['word', 'excel', 'onenote'];
@@ -79,4 +79,9 @@ export declare class EditorManager {
79
79
  * @deprecated
80
80
  */
81
81
  execCommand<T>(command: ExecCommand, value: T, event?: Event, callBack?: Function, text?: string | Node, exeValue?: T, selector?: string, enterAction?: string): void;
82
+ private editorMouseDown;
83
+ private tripleClickSelection;
84
+ private getParentBlockNode;
85
+ private getLastTextNode;
86
+ private getFirstTextNode;
82
87
  }
@@ -68,6 +68,7 @@ var EditorManager = /** @class */ (function () {
68
68
  this.observer.on(EVENTS.MODEL_CHANGED, this.onPropertyChanged, this);
69
69
  this.observer.on(EVENTS.MS_WORD_CLEANUP, this.onWordPaste, this);
70
70
  this.observer.on(EVENTS.ON_BEGIN, this.onBegin, this);
71
+ this.observer.on(EVENTS.MOUSE_DOWN, this.editorMouseDown, this);
71
72
  };
72
73
  EditorManager.prototype.onWordPaste = function (e) {
73
74
  this.observer.notify(EVENTS.MS_WORD_CLEANUP_PLUGIN, e);
@@ -211,6 +212,64 @@ var EditorManager = /** @class */ (function () {
211
212
  event: event, callBack: callBack });
212
213
  }
213
214
  };
215
+ EditorManager.prototype.editorMouseDown = function (e) {
216
+ if (e.args.detail === 3) {
217
+ this.tripleClickSelection(e.args);
218
+ }
219
+ };
220
+ EditorManager.prototype.tripleClickSelection = function (e) {
221
+ var range = this.nodeSelection.getRange(this.currentDocument);
222
+ var selection = this.nodeSelection.get(this.currentDocument);
223
+ if (selection.rangeCount > 0 && selection.toString() !== '') {
224
+ var startBlockNode = this.getParentBlockNode(range.startContainer);
225
+ var endBlockNode = this.getParentBlockNode(range.endContainer);
226
+ if (startBlockNode && endBlockNode && startBlockNode === endBlockNode) {
227
+ var newRange = this.currentDocument.createRange();
228
+ var startTextNode = this.getFirstTextNode(startBlockNode);
229
+ var endTextNode = this.getLastTextNode(endBlockNode);
230
+ if (startTextNode && endTextNode) {
231
+ newRange.setStart(startTextNode, 0);
232
+ newRange.setEnd(endTextNode, endTextNode.textContent.length);
233
+ this.nodeSelection.setRange(this.currentDocument, newRange);
234
+ e.preventDefault();
235
+ }
236
+ }
237
+ }
238
+ };
239
+ EditorManager.prototype.getParentBlockNode = function (node) {
240
+ var treeWalker = this.currentDocument.createTreeWalker(this.editableElement, // root
241
+ NodeFilter.SHOW_ELEMENT, // whatToShow
242
+ {
243
+ acceptNode: function (currentNode) {
244
+ // Check if the node is a block element
245
+ var displayStyle = window.getComputedStyle(currentNode).display;
246
+ if (displayStyle.indexOf('inline') < 0) {
247
+ return NodeFilter.FILTER_ACCEPT;
248
+ }
249
+ else {
250
+ return NodeFilter.FILTER_SKIP;
251
+ }
252
+ }
253
+ });
254
+ treeWalker.currentNode = node;
255
+ var blockParent = treeWalker.parentNode();
256
+ return blockParent;
257
+ };
258
+ EditorManager.prototype.getLastTextNode = function (node) {
259
+ var treeWalker = this.currentDocument.createTreeWalker(node, NodeFilter.SHOW_TEXT, null);
260
+ var lastTextNode = null;
261
+ var currentNode = treeWalker.nextNode();
262
+ while (currentNode) {
263
+ lastTextNode = currentNode;
264
+ currentNode = treeWalker.nextNode();
265
+ }
266
+ return lastTextNode;
267
+ };
268
+ EditorManager.prototype.getFirstTextNode = function (node) {
269
+ var treeWalker = this.currentDocument.createTreeWalker(node, NodeFilter.SHOW_TEXT, null);
270
+ var firstTextNode = treeWalker.nextNode();
271
+ return firstTextNode;
272
+ };
214
273
  return EditorManager;
215
274
  }());
216
275
  export { EditorManager };
@@ -227,3 +227,11 @@ export interface CSSPropCollection {
227
227
  value: string;
228
228
  priority: string;
229
229
  }
230
+ /**
231
+ * @private
232
+ * @hidden
233
+ */
234
+ export interface IHTMLMouseEventArgs {
235
+ name: string;
236
+ args: MouseEvent;
237
+ }
@@ -113,9 +113,19 @@ var AudioCommand = /** @class */ (function () {
113
113
  if (!isNOU(e.item.url)) {
114
114
  sourceElement.setAttribute('src', e.item.url);
115
115
  }
116
- sourceElement.type = e.item.fileName && e.item.fileName.split('.').length > 0 ?
117
- 'audio/' + e.item.fileName.split('.')[e.item.fileName.split('.').length - 1] :
118
- e.item.url && e.item.url.split('.').length > 0 ? 'audio/' + e.item.url.split('.')[e.item.url.split('.').length - 1] : '';
116
+ var fileExtension = e.item.fileName ? e.item.fileName.split('.').pop().toLowerCase() :
117
+ e.item.url ? e.item.url.split('.').pop().toLowerCase() : '';
118
+ if (fileExtension === 'opus') {
119
+ sourceElement.type = 'audio/ogg';
120
+ }
121
+ else if (fileExtension === 'm4a') {
122
+ sourceElement.type = 'audio/mp4';
123
+ }
124
+ else {
125
+ sourceElement.type = e.item.fileName && e.item.fileName.split('.').length > 0 ?
126
+ 'audio/' + e.item.fileName.split('.')[e.item.fileName.split('.').length - 1] :
127
+ e.item.url && e.item.url.split('.').length > 0 ? 'audio/' + e.item.url.split('.')[e.item.url.split('.').length - 1] : '';
128
+ }
119
129
  };
120
130
  AudioCommand.prototype.callBack = function (e) {
121
131
  if (e.callBack) {
@@ -317,10 +317,14 @@ export declare class DOMNode {
317
317
  /**
318
318
  * blockNodes method
319
319
  *
320
+ * @param {boolean} action - Optional Boolean that specifies the action is whether performed.
320
321
  * @returns {Node[]} - returns the node array values
321
322
  * @hidden
322
323
  * @deprecated
323
324
  */
324
- blockNodes(): Node[];
325
+ blockNodes(action?: boolean): Node[];
325
326
  private ignoreTableTag;
327
+ private getPreBlockNodeCollection;
328
+ private getClosestInlineParent;
329
+ private wrapWithBlockNode;
326
330
  }