@progress/kendo-vue-editor 2.7.1 → 2.7.3-dev.202201070829

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/dist/cdn/js/kendo-vue-editor.js +1 -1
  2. package/dist/es/Editor.d.ts +295 -0
  3. package/dist/es/Editor.js +705 -0
  4. package/dist/es/EditorProps.d.ts +176 -0
  5. package/dist/es/EditorProps.js +0 -0
  6. package/dist/es/additionalTypes.ts +3 -0
  7. package/dist/es/config/defaultStyles.d.ts +12 -0
  8. package/dist/es/config/defaultStyles.js +12 -0
  9. package/dist/es/config/pasteSettings.d.ts +6 -0
  10. package/dist/es/config/pasteSettings.js +0 -0
  11. package/dist/es/config/schema.d.ts +8 -0
  12. package/dist/es/config/schema.js +51 -0
  13. package/dist/es/config/shortcuts.d.ts +22 -0
  14. package/dist/es/config/shortcuts.js +70 -0
  15. package/dist/es/config/toolsSettings.d.ts +481 -0
  16. package/dist/es/config/toolsSettings.js +523 -0
  17. package/dist/es/dialogs/EditorDialogProps.d.ts +26 -0
  18. package/dist/es/dialogs/EditorDialogProps.js +0 -0
  19. package/dist/es/dialogs/FindReplace.d.ts +65 -0
  20. package/dist/es/dialogs/FindReplace.js +789 -0
  21. package/dist/es/dialogs/insertImage.d.ts +52 -0
  22. package/dist/es/dialogs/insertImage.js +282 -0
  23. package/dist/es/dialogs/insertLink.d.ts +50 -0
  24. package/dist/es/dialogs/insertLink.js +286 -0
  25. package/dist/es/dialogs/main.d.ts +1 -0
  26. package/dist/es/dialogs/main.js +42 -0
  27. package/dist/es/dialogs/viewHtml.d.ts +49 -0
  28. package/dist/es/dialogs/viewHtml.js +144 -0
  29. package/dist/es/main.d.ts +166 -1
  30. package/dist/es/main.js +110 -0
  31. package/dist/es/messages/index.d.ts +479 -0
  32. package/dist/es/messages/index.js +485 -0
  33. package/dist/es/package-metadata.d.ts +5 -0
  34. package/dist/es/package-metadata.js +11 -0
  35. package/dist/es/tools/ToolProps.d.ts +34 -0
  36. package/dist/es/tools/ToolProps.js +0 -0
  37. package/dist/es/tools/align.d.ts +37 -0
  38. package/dist/es/tools/align.js +116 -0
  39. package/dist/es/tools/applyColor.d.ts +43 -0
  40. package/dist/es/tools/applyColor.js +92 -0
  41. package/dist/es/tools/cleanFormatting.d.ts +47 -0
  42. package/dist/es/tools/cleanFormatting.js +114 -0
  43. package/dist/es/tools/findReplace.d.ts +41 -0
  44. package/dist/es/tools/findReplace.js +119 -0
  45. package/dist/es/tools/fontStyle.d.ts +53 -0
  46. package/dist/es/tools/fontStyle.js +163 -0
  47. package/dist/es/tools/formatBlock.d.ts +43 -0
  48. package/dist/es/tools/formatBlock.js +155 -0
  49. package/dist/es/tools/history.d.ts +18 -0
  50. package/dist/es/tools/history.js +4 -0
  51. package/dist/es/tools/indent.d.ts +42 -0
  52. package/dist/es/tools/indent.js +127 -0
  53. package/dist/es/tools/inlineFormat.d.ts +72 -0
  54. package/dist/es/tools/inlineFormat.js +125 -0
  55. package/dist/es/tools/insertImage.d.ts +44 -0
  56. package/dist/es/tools/insertImage.js +130 -0
  57. package/dist/es/tools/insertLink.d.ts +44 -0
  58. package/dist/es/tools/insertLink.js +130 -0
  59. package/dist/es/tools/insertTable/index.d.ts +1 -0
  60. package/dist/es/tools/insertTable/index.js +6 -0
  61. package/dist/es/tools/insertTable/popup.d.ts +78 -0
  62. package/dist/es/tools/insertTable/popup.js +168 -0
  63. package/dist/es/tools/insertTable/popupGrid.d.ts +49 -0
  64. package/dist/es/tools/insertTable/popupGrid.js +131 -0
  65. package/dist/es/tools/insertTable/tool.d.ts +51 -0
  66. package/dist/es/tools/insertTable/tool.js +165 -0
  67. package/dist/es/tools/lists.d.ts +52 -0
  68. package/dist/es/tools/lists.js +132 -0
  69. package/dist/es/tools/main.d.ts +137 -0
  70. package/dist/es/tools/main.js +0 -0
  71. package/dist/es/tools/outdent.d.ts +42 -0
  72. package/dist/es/tools/outdent.js +129 -0
  73. package/dist/es/tools/pdf.d.ts +56 -0
  74. package/dist/es/tools/pdf.js +105 -0
  75. package/dist/es/tools/print.d.ts +47 -0
  76. package/dist/es/tools/print.js +109 -0
  77. package/dist/es/tools/proseMirrorTool.d.ts +43 -0
  78. package/dist/es/tools/proseMirrorTool.js +110 -0
  79. package/dist/es/tools/selectAll.d.ts +47 -0
  80. package/dist/es/tools/selectAll.js +102 -0
  81. package/dist/es/tools/tableEdit.d.ts +51 -0
  82. package/dist/es/tools/tableEdit.js +42 -0
  83. package/dist/es/tools/unlink.d.ts +42 -0
  84. package/dist/es/tools/unlink.js +110 -0
  85. package/dist/es/tools/utils.d.ts +18 -0
  86. package/dist/es/tools/utils.js +36 -0
  87. package/dist/es/tools/viewHtml.d.ts +49 -0
  88. package/dist/es/tools/viewHtml.js +125 -0
  89. package/dist/es/utils/browser-detection.d.ts +4 -0
  90. package/dist/es/utils/browser-detection.js +5 -0
  91. package/dist/es/utils/controlled-value.d.ts +5 -0
  92. package/dist/es/utils/controlled-value.js +31 -0
  93. package/dist/es/utils/index.d.ts +358 -0
  94. package/dist/es/utils/index.js +422 -0
  95. package/dist/es/utils/props-key.d.ts +5 -0
  96. package/dist/es/utils/props-key.js +5 -0
  97. package/dist/npm/Editor.d.ts +295 -0
  98. package/dist/npm/Editor.js +746 -0
  99. package/dist/npm/EditorProps.d.ts +176 -0
  100. package/dist/npm/EditorProps.js +2 -0
  101. package/dist/npm/additionalTypes.ts +3 -0
  102. package/dist/npm/config/defaultStyles.d.ts +12 -0
  103. package/dist/npm/config/defaultStyles.js +15 -0
  104. package/dist/npm/config/pasteSettings.d.ts +6 -0
  105. package/dist/npm/config/pasteSettings.js +2 -0
  106. package/dist/npm/config/schema.d.ts +8 -0
  107. package/dist/npm/config/schema.js +55 -0
  108. package/dist/npm/config/shortcuts.d.ts +22 -0
  109. package/dist/npm/config/shortcuts.js +79 -0
  110. package/dist/npm/config/toolsSettings.d.ts +481 -0
  111. package/dist/npm/config/toolsSettings.js +526 -0
  112. package/dist/npm/dialogs/EditorDialogProps.d.ts +26 -0
  113. package/dist/npm/dialogs/EditorDialogProps.js +2 -0
  114. package/dist/npm/dialogs/FindReplace.d.ts +65 -0
  115. package/dist/npm/dialogs/FindReplace.js +805 -0
  116. package/dist/npm/dialogs/insertImage.d.ts +52 -0
  117. package/dist/npm/dialogs/insertImage.js +296 -0
  118. package/dist/npm/dialogs/insertLink.d.ts +50 -0
  119. package/dist/npm/dialogs/insertLink.js +300 -0
  120. package/dist/npm/dialogs/main.d.ts +1 -0
  121. package/dist/npm/dialogs/main.js +42 -0
  122. package/dist/npm/dialogs/viewHtml.d.ts +49 -0
  123. package/dist/npm/dialogs/viewHtml.js +159 -0
  124. package/dist/npm/main.d.ts +166 -1
  125. package/dist/npm/main.js +89 -0
  126. package/dist/npm/messages/index.d.ts +479 -0
  127. package/dist/npm/messages/index.js +488 -0
  128. package/dist/npm/package-metadata.d.ts +5 -0
  129. package/dist/npm/package-metadata.js +14 -0
  130. package/dist/npm/tools/ToolProps.d.ts +34 -0
  131. package/dist/npm/tools/ToolProps.js +2 -0
  132. package/dist/npm/tools/align.d.ts +37 -0
  133. package/dist/npm/tools/align.js +130 -0
  134. package/dist/npm/tools/applyColor.d.ts +43 -0
  135. package/dist/npm/tools/applyColor.js +105 -0
  136. package/dist/npm/tools/cleanFormatting.d.ts +47 -0
  137. package/dist/npm/tools/cleanFormatting.js +128 -0
  138. package/dist/npm/tools/findReplace.d.ts +41 -0
  139. package/dist/npm/tools/findReplace.js +133 -0
  140. package/dist/npm/tools/fontStyle.d.ts +53 -0
  141. package/dist/npm/tools/fontStyle.js +177 -0
  142. package/dist/npm/tools/formatBlock.d.ts +43 -0
  143. package/dist/npm/tools/formatBlock.js +169 -0
  144. package/dist/npm/tools/history.d.ts +18 -0
  145. package/dist/npm/tools/history.js +10 -0
  146. package/dist/npm/tools/indent.d.ts +42 -0
  147. package/dist/npm/tools/indent.js +140 -0
  148. package/dist/npm/tools/inlineFormat.d.ts +72 -0
  149. package/dist/npm/tools/inlineFormat.js +138 -0
  150. package/dist/npm/tools/insertImage.d.ts +44 -0
  151. package/dist/npm/tools/insertImage.js +144 -0
  152. package/dist/npm/tools/insertLink.d.ts +44 -0
  153. package/dist/npm/tools/insertLink.js +144 -0
  154. package/dist/npm/tools/insertTable/index.d.ts +1 -0
  155. package/dist/npm/tools/insertTable/index.js +6 -0
  156. package/dist/npm/tools/insertTable/popup.d.ts +78 -0
  157. package/dist/npm/tools/insertTable/popup.js +179 -0
  158. package/dist/npm/tools/insertTable/popupGrid.d.ts +49 -0
  159. package/dist/npm/tools/insertTable/popupGrid.js +141 -0
  160. package/dist/npm/tools/insertTable/tool.d.ts +51 -0
  161. package/dist/npm/tools/insertTable/tool.js +180 -0
  162. package/dist/npm/tools/lists.d.ts +52 -0
  163. package/dist/npm/tools/lists.js +145 -0
  164. package/dist/npm/tools/main.d.ts +137 -0
  165. package/dist/npm/tools/main.js +5 -0
  166. package/dist/npm/tools/outdent.d.ts +42 -0
  167. package/dist/npm/tools/outdent.js +142 -0
  168. package/dist/npm/tools/pdf.d.ts +56 -0
  169. package/dist/npm/tools/pdf.js +119 -0
  170. package/dist/npm/tools/print.d.ts +47 -0
  171. package/dist/npm/tools/print.js +122 -0
  172. package/dist/npm/tools/proseMirrorTool.d.ts +43 -0
  173. package/dist/npm/tools/proseMirrorTool.js +123 -0
  174. package/dist/npm/tools/selectAll.d.ts +47 -0
  175. package/dist/npm/tools/selectAll.js +116 -0
  176. package/dist/npm/tools/tableEdit.d.ts +51 -0
  177. package/dist/npm/tools/tableEdit.js +50 -0
  178. package/dist/npm/tools/unlink.d.ts +42 -0
  179. package/dist/npm/tools/unlink.js +123 -0
  180. package/dist/npm/tools/utils.d.ts +18 -0
  181. package/dist/npm/tools/utils.js +45 -0
  182. package/dist/npm/tools/viewHtml.d.ts +49 -0
  183. package/dist/npm/tools/viewHtml.js +138 -0
  184. package/dist/npm/utils/browser-detection.d.ts +4 -0
  185. package/dist/npm/utils/browser-detection.js +8 -0
  186. package/dist/npm/utils/controlled-value.d.ts +5 -0
  187. package/dist/npm/utils/controlled-value.js +34 -0
  188. package/dist/npm/utils/index.d.ts +358 -0
  189. package/dist/npm/utils/index.js +425 -0
  190. package/dist/npm/utils/props-key.d.ts +5 -0
  191. package/dist/npm/utils/props-key.js +8 -0
  192. package/package.json +20 -20
@@ -0,0 +1,746 @@
1
+ "use strict";
2
+
3
+ var __assign = undefined && undefined.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+
8
+ for (var p in s) {
9
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
10
+ }
11
+ }
12
+
13
+ return t;
14
+ };
15
+
16
+ return __assign.apply(this, arguments);
17
+ };
18
+
19
+ var __spreadArrays = undefined && undefined.__spreadArrays || function () {
20
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) {
21
+ s += arguments[i].length;
22
+ }
23
+
24
+ for (var r = Array(s), k = 0, i = 0; i < il; i++) {
25
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {
26
+ r[k] = a[j];
27
+ }
28
+ }
29
+
30
+ return r;
31
+ };
32
+
33
+ Object.defineProperty(exports, "__esModule", {
34
+ value: true
35
+ });
36
+ exports.EditorVue3 = exports.Editor = exports.allTools = void 0; // @ts-ignore
37
+
38
+ var Vue = require("vue");
39
+
40
+ var allVue = Vue;
41
+ var gh = allVue.h;
42
+ var markRaw = allVue.markRaw;
43
+
44
+ var kendo_vue_buttons_1 = require("@progress/kendo-vue-buttons");
45
+
46
+ var kendo_vue_common_1 = require("@progress/kendo-vue-common");
47
+
48
+ var kendo_editor_common_1 = require("@progress/kendo-editor-common");
49
+
50
+ var schema_1 = require("./config/schema");
51
+
52
+ var defaultStyles_1 = require("./config/defaultStyles");
53
+
54
+ var toolsSettings_1 = require("./config/toolsSettings");
55
+
56
+ var insertLink_1 = require("./dialogs/insertLink");
57
+
58
+ var utils_1 = require("./utils");
59
+
60
+ var props_key_1 = require("./utils/props-key");
61
+
62
+ var controlled_value_1 = require("./utils/controlled-value");
63
+
64
+ var link = toolsSettings_1.EditorToolsSettings.link,
65
+ bold = toolsSettings_1.EditorToolsSettings.bold,
66
+ italic = toolsSettings_1.EditorToolsSettings.italic,
67
+ underline = toolsSettings_1.EditorToolsSettings.underline;
68
+
69
+ var browser_detection_1 = require("./utils/browser-detection");
70
+
71
+ var package_metadata_1 = require("./package-metadata");
72
+
73
+ var align_1 = require("./tools/align");
74
+
75
+ var indent_1 = require("./tools/indent");
76
+
77
+ var lists_1 = require("./tools/lists");
78
+
79
+ var outdent_1 = require("./tools/outdent");
80
+
81
+ var inlineFormat_1 = require("./tools/inlineFormat");
82
+
83
+ var fontStyle_1 = require("./tools/fontStyle");
84
+
85
+ var formatBlock_1 = require("./tools/formatBlock");
86
+
87
+ var proseMirrorTool_1 = require("./tools/proseMirrorTool");
88
+
89
+ var insertLink_2 = require("./tools/insertLink");
90
+
91
+ var unlink_1 = require("./tools/unlink");
92
+
93
+ var cleanFormatting_1 = require("./tools/cleanFormatting");
94
+
95
+ var selectAll_1 = require("./tools/selectAll");
96
+
97
+ var insertImage_1 = require("./tools/insertImage");
98
+
99
+ var tool_1 = require("./tools/insertTable/tool");
100
+
101
+ var viewHtml_1 = require("./tools/viewHtml");
102
+
103
+ var pdf_1 = require("./tools/pdf");
104
+
105
+ var print_1 = require("./tools/print");
106
+
107
+ var findReplace_1 = require("./tools/findReplace");
108
+
109
+ var applyColor_1 = require("./tools/applyColor");
110
+
111
+ exports.allTools = {
112
+ 'Bold': {
113
+ comp: inlineFormat_1.InlineFormat,
114
+ props: toolsSettings_1.EditorToolsSettings.bold
115
+ },
116
+ 'Italic': {
117
+ comp: inlineFormat_1.InlineFormat,
118
+ props: toolsSettings_1.EditorToolsSettings.italic
119
+ },
120
+ 'Underline': {
121
+ comp: inlineFormat_1.InlineFormat,
122
+ props: toolsSettings_1.EditorToolsSettings.underline
123
+ },
124
+ 'Strikethrough': {
125
+ comp: inlineFormat_1.InlineFormat,
126
+ props: toolsSettings_1.EditorToolsSettings.strikethrough
127
+ },
128
+ 'Subscript': {
129
+ comp: inlineFormat_1.InlineFormat,
130
+ props: toolsSettings_1.EditorToolsSettings.subscript
131
+ },
132
+ 'Superscript': {
133
+ comp: inlineFormat_1.InlineFormat,
134
+ props: toolsSettings_1.EditorToolsSettings.superscript
135
+ },
136
+ 'AlignLeft': {
137
+ comp: align_1.Align,
138
+ props: toolsSettings_1.EditorToolsSettings.alignLeft
139
+ },
140
+ 'AlignCenter': {
141
+ comp: align_1.Align,
142
+ props: toolsSettings_1.EditorToolsSettings.alignCenter
143
+ },
144
+ 'AlignRight': {
145
+ comp: align_1.Align,
146
+ props: toolsSettings_1.EditorToolsSettings.alignRight
147
+ },
148
+ 'AlignJustify': {
149
+ comp: align_1.Align,
150
+ props: toolsSettings_1.EditorToolsSettings.alignJustify
151
+ },
152
+ 'Indent': {
153
+ comp: indent_1.Indent,
154
+ props: toolsSettings_1.EditorToolsSettings.indent
155
+ },
156
+ 'Outdent': {
157
+ comp: outdent_1.Outdent,
158
+ props: toolsSettings_1.EditorToolsSettings.outdent
159
+ },
160
+ 'OrderedList': {
161
+ comp: lists_1.List,
162
+ props: toolsSettings_1.EditorToolsSettings.orderedList
163
+ },
164
+ 'UnorderedList': {
165
+ comp: lists_1.List,
166
+ props: toolsSettings_1.EditorToolsSettings.bulletList
167
+ },
168
+ 'FontSize': {
169
+ comp: fontStyle_1.FontName,
170
+ props: toolsSettings_1.EditorToolsSettings.fontSize
171
+ },
172
+ 'FontName': {
173
+ comp: fontStyle_1.FontName,
174
+ props: toolsSettings_1.EditorToolsSettings.fontName
175
+ },
176
+ 'FormatBlock': {
177
+ comp: formatBlock_1.FormatBlock,
178
+ props: toolsSettings_1.EditorToolsSettings.formatBlock
179
+ },
180
+ 'Undo': {
181
+ comp: proseMirrorTool_1.ProseMirror,
182
+ props: toolsSettings_1.EditorToolsSettings.undo
183
+ },
184
+ 'Redo': {
185
+ comp: proseMirrorTool_1.ProseMirror,
186
+ props: toolsSettings_1.EditorToolsSettings.redo
187
+ },
188
+ 'Link': {
189
+ comp: insertLink_2.LinkTool,
190
+ props: toolsSettings_1.EditorToolsSettings.link
191
+ },
192
+ 'Unlink': {
193
+ comp: unlink_1.Unlink,
194
+ props: toolsSettings_1.EditorToolsSettings.unlink
195
+ },
196
+ 'InsertImage': {
197
+ comp: insertImage_1.InsertImage,
198
+ props: toolsSettings_1.EditorToolsSettings.image
199
+ },
200
+ 'ViewHtml': {
201
+ comp: viewHtml_1.ViewHtml,
202
+ props: toolsSettings_1.EditorToolsSettings.viewHtml
203
+ },
204
+ 'CleanFormatting': {
205
+ comp: cleanFormatting_1.CleanFormatting,
206
+ props: toolsSettings_1.EditorToolsSettings.cleanFormatting
207
+ },
208
+ 'SelectAll': {
209
+ comp: selectAll_1.SelectAll,
210
+ props: toolsSettings_1.EditorToolsSettings.selectAll
211
+ },
212
+ 'InsertTable': {
213
+ comp: tool_1.InsertTable,
214
+ props: toolsSettings_1.EditorToolsSettings.insertTable
215
+ },
216
+ 'MergeCells': {
217
+ comp: proseMirrorTool_1.ProseMirror,
218
+ props: toolsSettings_1.EditorToolsSettings.mergeCells
219
+ },
220
+ 'SplitCell': {
221
+ comp: proseMirrorTool_1.ProseMirror,
222
+ props: toolsSettings_1.EditorToolsSettings.splitCell
223
+ },
224
+ 'AddRowBefore': {
225
+ comp: proseMirrorTool_1.ProseMirror,
226
+ props: toolsSettings_1.EditorToolsSettings.addRowBefore
227
+ },
228
+ 'AddRowAfter': {
229
+ comp: proseMirrorTool_1.ProseMirror,
230
+ props: toolsSettings_1.EditorToolsSettings.addRowAfter
231
+ },
232
+ 'AddColumnBefore': {
233
+ comp: proseMirrorTool_1.ProseMirror,
234
+ props: toolsSettings_1.EditorToolsSettings.addColumnBefore
235
+ },
236
+ 'AddColumnAfter': {
237
+ comp: proseMirrorTool_1.ProseMirror,
238
+ props: toolsSettings_1.EditorToolsSettings.addColumnAfter
239
+ },
240
+ 'DeleteRow': {
241
+ comp: proseMirrorTool_1.ProseMirror,
242
+ props: toolsSettings_1.EditorToolsSettings.deleteRow
243
+ },
244
+ 'DeleteColumn': {
245
+ comp: proseMirrorTool_1.ProseMirror,
246
+ props: toolsSettings_1.EditorToolsSettings.deleteColumn
247
+ },
248
+ 'DeleteTable': {
249
+ comp: proseMirrorTool_1.ProseMirror,
250
+ props: toolsSettings_1.EditorToolsSettings.deleteTable
251
+ },
252
+ 'Print': {
253
+ comp: print_1.Print,
254
+ props: toolsSettings_1.EditorToolsSettings.print
255
+ },
256
+ 'Pdf': {
257
+ comp: pdf_1.Pdf,
258
+ props: toolsSettings_1.EditorToolsSettings.pdf
259
+ },
260
+ 'InsertFile': {
261
+ comp: insertLink_2.LinkTool,
262
+ props: toolsSettings_1.EditorToolsSettings.insertFile
263
+ },
264
+ 'FindAndReplace': {
265
+ comp: findReplace_1.FindAndReplace,
266
+ props: toolsSettings_1.EditorToolsSettings.findAndReplace
267
+ },
268
+ 'ForeColor': {
269
+ comp: applyColor_1.ApplyColor,
270
+ props: toolsSettings_1.EditorToolsSettings.foreColor
271
+ },
272
+ 'BackColor': {
273
+ comp: applyColor_1.ApplyColor,
274
+ props: toolsSettings_1.EditorToolsSettings.backColor
275
+ }
276
+ }; // tslint:enable:max-line-length
277
+
278
+ var Editor = {
279
+ name: 'KendoEditor',
280
+ props: {
281
+ defaultContent: String,
282
+ value: [Object, String],
283
+ defaultEditMode: {
284
+ type: String,
285
+ default: 'iframe',
286
+ validator: function validator(value) {
287
+ return ['iframe', 'div'].includes(value);
288
+ }
289
+ },
290
+ contentStyle: Object,
291
+ dir: String,
292
+ tools: Array,
293
+ keyboardNavigation: Boolean,
294
+ resizable: Boolean,
295
+ preserveWhitespace: {
296
+ type: [String, Boolean],
297
+ default: 'full',
298
+ validator: function validator(value) {
299
+ return [true, false, 'full'].includes(value);
300
+ }
301
+ }
302
+ },
303
+ data: function data() {
304
+ return {
305
+ view: undefined,
306
+ linkDialog: false
307
+ };
308
+ },
309
+ created: function created() {
310
+ this._view = undefined;
311
+ kendo_vue_common_1.validatePackage(package_metadata_1.packageMetadata);
312
+ },
313
+ mounted: function mounted() {
314
+ this.iframe = this.v3 ? this.iframeRef : this.$refs.iframe;
315
+ this.contentElement = this.v3 ? this.contentElementRef : this.$refs.contentElement;
316
+
317
+ if (!this.iframe || !browser_detection_1.firefox) {
318
+ this.initialize();
319
+ }
320
+ },
321
+ watch: {
322
+ value: function value(_newNextMatch, oldMatch) {
323
+ this._prevValue = oldMatch;
324
+ }
325
+ },
326
+ updated: function updated() {
327
+ var value = this.$props.value;
328
+ var view = this._view;
329
+
330
+ if (value === undefined || !view) {
331
+ return;
332
+ }
333
+
334
+ controlled_value_1.updateEditorValue(view, value, this._prevValue, this.trOnChange, this.htmlOnChange);
335
+ this.trOnChange = null;
336
+ this.htmlOnChange = null;
337
+ },
338
+ destroyed: !!gh ? undefined : function () {
339
+ if (this.view) {
340
+ this.view.destroy();
341
+ }
342
+
343
+ this.view = undefined;
344
+ },
345
+ // @ts-ignore
346
+ unmounted: function unmounted() {
347
+ if (this._view) {
348
+ this._view.destroy();
349
+ }
350
+
351
+ this.view = undefined;
352
+ },
353
+ computed: {
354
+ computedValue: function computedValue() {
355
+ if (this.trOnChange !== null) {
356
+ return this.trOnChange.doc;
357
+ } else if (this.$props.value !== undefined) {
358
+ return this.$props.value;
359
+ } else if (this._view) {
360
+ return this._view.state.doc;
361
+ }
362
+
363
+ return this.$props.defaultContent || '';
364
+ }
365
+ },
366
+ // @ts-ignore
367
+ setup: !gh ? undefined : function () {
368
+ var v3 = !!gh;
369
+ return {
370
+ v3: v3
371
+ };
372
+ },
373
+ // @ts-ignore
374
+ render: function render(createElement) {
375
+ var _this = this;
376
+
377
+ var h = gh || createElement;
378
+ var _a = this.$props,
379
+ _b = _a.tools,
380
+ tools = _b === void 0 ? [] : _b,
381
+ _c = _a.defaultEditMode,
382
+ defaultEditMode = _c === void 0 ? 'iframe' : _c,
383
+ _d = _a.preserveWhitespace,
384
+ preserveWhitespace = _d === void 0 ? 'full' : _d,
385
+ style = _a.style;
386
+ var view = this.v3 ? this._view : this.view;
387
+
388
+ if (view) {
389
+ var editorProps = props_key_1.editorPropsKey.getState(view.state);
390
+ editorProps.preserveWhitespace = preserveWhitespace;
391
+ }
392
+
393
+ var contentStyle = this.$props.contentStyle;
394
+
395
+ if (contentStyle === undefined && (style || {}).height === undefined) {
396
+ contentStyle = {
397
+ height: '300px'
398
+ };
399
+ }
400
+
401
+ var renderDialog = function renderDialog() {
402
+ return this.linkDialog && // @ts-ignore function children
403
+ h(insertLink_1.InsertLinkDialog, {
404
+ view: view,
405
+ attrs: this.v3 ? undefined : {
406
+ view: view,
407
+ settings: link,
408
+ dir: this.$props.dir
409
+ },
410
+ settings: link,
411
+ dir: this.$props.dir,
412
+ onClose: this.handleClose,
413
+ on: this.v3 ? undefined : {
414
+ "close": this.handleClose
415
+ }
416
+ });
417
+ };
418
+
419
+ var renderTool = function renderTool(currentTool, index) {
420
+ var ct = exports.allTools[currentTool] || currentTool;
421
+
422
+ if (exports.allTools[currentTool]) {
423
+ var toolProps = __assign({
424
+ view: view,
425
+ dir: this.$props.dir,
426
+ key: kendo_vue_common_1.guid(),
427
+ settings: exports.allTools[currentTool].props
428
+ }, exports.allTools[currentTool].props);
429
+
430
+ return h(this.v3 ? markRaw(exports.allTools[currentTool].comp) : exports.allTools[currentTool].comp, this.v3 ? toolProps : {
431
+ props: toolProps
432
+ });
433
+ } else {
434
+ var tool = kendo_vue_common_1.templateRendering.call(this, ct, kendo_vue_common_1.getListeners.call(this));
435
+ return kendo_vue_common_1.getTemplate.call(this, {
436
+ h: h,
437
+ template: tool,
438
+ defaultRendering: null,
439
+ additionalListeners: {},
440
+ additionalProps: {
441
+ view: view,
442
+ dir: this.$props.dir,
443
+ key: index
444
+ }
445
+ });
446
+ } // return tool.type === ToolbarSeparator ? <Tool key={index} /> : tool;
447
+
448
+ };
449
+
450
+ var renderTools = function renderTools(item, index) {
451
+ return item.map(function (it) {
452
+ return renderTool.call(this, it, index);
453
+ }, this);
454
+ };
455
+
456
+ var buttons = tools.map(function (item, index) {
457
+ var _this2 = this;
458
+
459
+ return Array.isArray(item) ? // @ts-ignore function children
460
+ h(kendo_vue_buttons_1.ButtonGroup, {
461
+ key: index
462
+ }, this.v3 ? function () {
463
+ return [renderTools.call(_this2, item, index)];
464
+ } : [renderTools.call(_this2, item, index)]) : renderTool.call(this, item, index);
465
+ }, this);
466
+ return h("div", {
467
+ "class": kendo_vue_common_1.classNames('k-widget k-editor', {
468
+ 'k-editor-resizable': this.$props.resizable
469
+ }),
470
+ dir: this.$props.dir,
471
+ attrs: this.v3 ? undefined : {
472
+ dir: this.$props.dir
473
+ }
474
+ }, [buttons.length > 0 && // @ts-ignore function children
475
+ h(kendo_vue_buttons_1.Toolbar, {
476
+ keyboardNavigation: this.$props.keyboardNavigation,
477
+ attrs: this.v3 ? undefined : {
478
+ keyboardNavigation: this.$props.keyboardNavigation
479
+ }
480
+ }, this.v3 ? function () {
481
+ return [buttons];
482
+ } : [buttons]), defaultEditMode === 'iframe' ? h("div", {
483
+ "class": "k-editor-content"
484
+ }, [h("iframe", {
485
+ onLoad: this.iframeLoad,
486
+ on: this.v3 ? undefined : {
487
+ "load": this.iframeLoad
488
+ },
489
+ ref: this.v3 ? function (el) {
490
+ _this.iframeRef = el;
491
+ } : 'iframe',
492
+ frameBorder: "0",
493
+ attrs: this.v3 ? undefined : {
494
+ frameBorder: "0"
495
+ },
496
+ style: contentStyle,
497
+ "class": "k-iframe"
498
+ })]) : h("div", {
499
+ style: contentStyle,
500
+ "class": "k-editor-content"
501
+ }, [h("div", {
502
+ ref: this.v3 ? function (el) {
503
+ _this.contentElementRef = el;
504
+ } : 'contentElement',
505
+ suppressContentEditableWarning: true,
506
+ attrs: this.v3 ? undefined : {
507
+ suppressContentEditableWarning: true
508
+ }
509
+ })]), renderDialog.call(this)]);
510
+ },
511
+ methods: {
512
+ focus: function focus() {
513
+ if (this._view) {
514
+ this._view.focus();
515
+ }
516
+ },
517
+ updateTools: function updateTools(view) {
518
+ this.view = view;
519
+
520
+ if (this.v3) {
521
+ this._view = view;
522
+ this.$forceUpdate();
523
+ }
524
+ },
525
+ iframeLoad: function iframeLoad() {
526
+ if (browser_detection_1.firefox) {
527
+ this.initialize();
528
+ }
529
+ },
530
+ initialize: function initialize() {
531
+ var _this = this;
532
+
533
+ var iframeWindow = this.iframe && this.iframe.contentWindow;
534
+
535
+ if (iframeWindow) {
536
+ var iframeDocument_1 = iframeWindow.document;
537
+ [defaultStyles_1.defaultStyle, defaultStyles_1.tablesStyles, this.$props.dir === 'rtl' ? defaultStyles_1.rtlStyles : undefined].forEach(function (styles) {
538
+ if (styles) {
539
+ var style = iframeDocument_1.createElement('style');
540
+ style.appendChild(iframeDocument_1.createTextNode(styles));
541
+ iframeDocument_1.head.appendChild(style);
542
+ }
543
+ });
544
+ var meta = iframeDocument_1.createElement('meta');
545
+ meta.setAttribute('charset', 'utf-8');
546
+ iframeDocument_1.head.appendChild(meta); // The content has to be wrapped because the `dropCursor`
547
+ // plugin raises a `body.offsetParent is null` error.
548
+
549
+ this.contentElement = iframeDocument_1.createElement('div');
550
+ iframeDocument_1.body.appendChild(this.contentElement);
551
+ this.contentElement.classList.add('k-content');
552
+ }
553
+
554
+ var dom = this.contentElement;
555
+
556
+ if (!dom) {
557
+ return;
558
+ }
559
+
560
+ var _a = this.$props.preserveWhitespace,
561
+ preserveWhitespace = _a === void 0 ? 'full' : _a;
562
+ var target = this;
563
+ var plugins = [// https://prosemirror.net/docs/ref/#state.PluginSpec
564
+ new kendo_editor_common_1.Plugin({
565
+ view: function view() {
566
+ return {
567
+ update: _this.updateTools
568
+ };
569
+ },
570
+ key: new kendo_editor_common_1.PluginKey('toolbar-tools-update-plugin')
571
+ }), new kendo_editor_common_1.Plugin({
572
+ filterTransaction: this.filterTransaction,
573
+ key: new kendo_editor_common_1.PluginKey('onExecute-event-plugin')
574
+ }), new kendo_editor_common_1.Plugin({
575
+ key: props_key_1.editorPropsKey,
576
+ state: {
577
+ init: function init() {
578
+ return {
579
+ preserveWhitespace: preserveWhitespace
580
+ };
581
+ },
582
+ apply: function apply(_, val) {
583
+ return val;
584
+ }
585
+ }
586
+ }), kendo_editor_common_1.spacesFix(), kendo_editor_common_1.history(), kendo_editor_common_1.dropCursor(), kendo_editor_common_1.gapCursor(), kendo_editor_common_1.tableEditing()];
587
+
588
+ var shortcuts = __assign(__assign({}, utils_1.EditorUtils.getShortcuts({
589
+ types: {
590
+ listItem: 'list_item',
591
+ hardBreak: 'hard_break'
592
+ },
593
+ toolsSettings: {
594
+ bold: bold,
595
+ italic: italic,
596
+ underline: underline
597
+ }
598
+ })), {
599
+ 'Mod-k': function ModK() {
600
+ var linkDialog = _this.$data.linkDialog;
601
+ var editorView = _this._view;
602
+
603
+ if (editorView) {
604
+ var editorState = editorView.state;
605
+ var collapsed = editorState.selection.empty;
606
+ var linkMark = kendo_editor_common_1.getMark(editorState, editorState.schema.marks[link.mark]);
607
+ var disabled = collapsed && !linkMark;
608
+
609
+ if (!linkDialog && !disabled) {
610
+ _this.linkDialog = true;
611
+ }
612
+ }
613
+
614
+ return !linkDialog;
615
+ }
616
+ });
617
+
618
+ var _b = this.$props,
619
+ _c = _b.defaultContent,
620
+ defaultContent = _c === void 0 ? '' : _c,
621
+ value = _b.value,
622
+ onMount = _b.onMount;
623
+ var doc = value && typeof value !== 'string' ? value : utils_1.EditorUtils.createDocument(new kendo_editor_common_1.Schema({
624
+ nodes: schema_1.nodes,
625
+ marks: schema_1.marks
626
+ }), value || defaultContent, {
627
+ preserveWhitespace: preserveWhitespace
628
+ });
629
+ var viewProps = {
630
+ state: kendo_editor_common_1.EditorState.create({
631
+ plugins: __spreadArrays(plugins, [kendo_editor_common_1.keymap(shortcuts), kendo_editor_common_1.keymap(kendo_editor_common_1.baseKeymap)]),
632
+ doc: doc
633
+ }),
634
+ transformPastedHTML: this.onPasteHtml,
635
+ dispatchTransaction: this.dispatchTransaction,
636
+ handleDOMEvents: {
637
+ focus: this.onFocus,
638
+ blur: this.onBlur,
639
+ paste: this.onPaste
640
+ }
641
+ };
642
+ var mountEvent = {
643
+ plugins: plugins,
644
+ shortcuts: shortcuts,
645
+ target: target,
646
+ viewProps: viewProps,
647
+ dom: dom
648
+ };
649
+ var view = this._view = onMount && onMount.call(undefined, mountEvent) || new kendo_editor_common_1.EditorView({
650
+ mount: dom
651
+ }, viewProps);
652
+ this.view = view;
653
+ },
654
+ filterTransaction: function filterTransaction(transaction, state) {
655
+ var event = {
656
+ target: this,
657
+ transaction: transaction,
658
+ state: state
659
+ };
660
+ this.$emit('execute', event);
661
+ return true;
662
+ },
663
+ onPasteHtml: function onPasteHtml(html) {
664
+ if (this.$props.onPasteHtml && this.pasteEvent) {
665
+ var event_1 = {
666
+ target: this,
667
+ pastedHtml: html,
668
+ nativeEvent: this.pasteEvent
669
+ };
670
+ var newHtml = this.$props.onPasteHtml.call(undefined, event_1);
671
+ this.pasteEvent = undefined;
672
+
673
+ if (typeof newHtml === 'string') {
674
+ return newHtml;
675
+ }
676
+ }
677
+
678
+ return html;
679
+ },
680
+ dispatchTransaction: function dispatchTransaction(transaction) {
681
+ var docChanged = transaction.docChanged;
682
+
683
+ if (docChanged) {
684
+ this.trOnChange = transaction;
685
+ var doc_1 = transaction.doc,
686
+ schema_2 = transaction.doc.type.schema;
687
+ var target_1 = this;
688
+ var event_2 = {
689
+ target: target_1,
690
+ value: doc_1,
691
+
692
+ get html() {
693
+ target_1.htmlOnChange = utils_1.EditorUtils.getHtml({
694
+ doc: doc_1,
695
+ schema: schema_2
696
+ });
697
+ return target_1.htmlOnChange;
698
+ },
699
+
700
+ transaction: transaction,
701
+ schema: schema_2
702
+ };
703
+ this.$emit('change', event_2);
704
+ }
705
+
706
+ if (this._view && (this.$props.value === undefined || !docChanged)) {
707
+ this._view.updateState(this._view.state.apply(transaction));
708
+ }
709
+ },
710
+ onFocus: function onFocus(_view, nativeEvent) {
711
+ if (this.$props.onFocus) {
712
+ var event_3 = {
713
+ target: this,
714
+ nativeEvent: nativeEvent
715
+ };
716
+ this.$emit('focus', event_3);
717
+ }
718
+
719
+ return false;
720
+ },
721
+ onBlur: function onBlur(_view, nativeEvent) {
722
+ if (this.$props.onBlur) {
723
+ var event_4 = {
724
+ target: this,
725
+ nativeEvent: nativeEvent
726
+ };
727
+ this.$emit('focus', event_4);
728
+ }
729
+
730
+ return false;
731
+ },
732
+ onPaste: function onPaste(_view, nativeEvent) {
733
+ if (this.$props.onPasteHtml) {
734
+ this.pasteEvent = nativeEvent;
735
+ }
736
+
737
+ return false;
738
+ },
739
+ handleClose: function handleClose() {
740
+ this.linkDialog = false;
741
+ }
742
+ }
743
+ };
744
+ exports.Editor = Editor;
745
+ var EditorVue3 = Editor;
746
+ exports.EditorVue3 = EditorVue3;