@progress/kendo-vue-editor 2.7.1 → 2.7.2-dev.202201020746

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/es/Editor.d.ts +295 -0
  2. package/dist/es/Editor.js +697 -0
  3. package/dist/es/EditorProps.d.ts +176 -0
  4. package/dist/es/EditorProps.js +0 -0
  5. package/dist/es/additionalTypes.ts +3 -0
  6. package/dist/es/config/defaultStyles.d.ts +12 -0
  7. package/dist/es/config/defaultStyles.js +12 -0
  8. package/dist/es/config/pasteSettings.d.ts +6 -0
  9. package/dist/es/config/pasteSettings.js +0 -0
  10. package/dist/es/config/schema.d.ts +8 -0
  11. package/dist/es/config/schema.js +51 -0
  12. package/dist/es/config/shortcuts.d.ts +22 -0
  13. package/dist/es/config/shortcuts.js +70 -0
  14. package/dist/es/config/toolsSettings.d.ts +481 -0
  15. package/dist/es/config/toolsSettings.js +523 -0
  16. package/dist/es/dialogs/EditorDialogProps.d.ts +26 -0
  17. package/dist/es/dialogs/EditorDialogProps.js +0 -0
  18. package/dist/es/dialogs/FindReplace.d.ts +65 -0
  19. package/dist/es/dialogs/FindReplace.js +789 -0
  20. package/dist/es/dialogs/insertImage.d.ts +52 -0
  21. package/dist/es/dialogs/insertImage.js +282 -0
  22. package/dist/es/dialogs/insertLink.d.ts +50 -0
  23. package/dist/es/dialogs/insertLink.js +286 -0
  24. package/dist/es/dialogs/main.d.ts +1 -0
  25. package/dist/es/dialogs/main.js +42 -0
  26. package/dist/es/dialogs/viewHtml.d.ts +49 -0
  27. package/dist/es/dialogs/viewHtml.js +144 -0
  28. package/dist/es/main.d.ts +166 -1
  29. package/dist/es/main.js +110 -0
  30. package/dist/es/messages/index.d.ts +479 -0
  31. package/dist/es/messages/index.js +485 -0
  32. package/dist/es/package-metadata.d.ts +5 -0
  33. package/dist/es/package-metadata.js +11 -0
  34. package/dist/es/tools/Align.d.ts +37 -0
  35. package/dist/es/tools/Align.js +116 -0
  36. package/dist/es/tools/Indent.d.ts +42 -0
  37. package/dist/es/tools/Indent.js +127 -0
  38. package/dist/es/tools/InlineFormat.d.ts +72 -0
  39. package/dist/es/tools/InlineFormat.js +125 -0
  40. package/dist/es/tools/Outdent.d.ts +42 -0
  41. package/dist/es/tools/Outdent.js +129 -0
  42. package/dist/es/tools/ToolProps.d.ts +34 -0
  43. package/dist/es/tools/ToolProps.js +0 -0
  44. package/dist/es/tools/applyColor.d.ts +43 -0
  45. package/dist/es/tools/applyColor.js +92 -0
  46. package/dist/es/tools/cleanFormatting.d.ts +47 -0
  47. package/dist/es/tools/cleanFormatting.js +114 -0
  48. package/dist/es/tools/findReplace.d.ts +41 -0
  49. package/dist/es/tools/findReplace.js +119 -0
  50. package/dist/es/tools/fontStyle.d.ts +53 -0
  51. package/dist/es/tools/fontStyle.js +158 -0
  52. package/dist/es/tools/formatBlock.d.ts +43 -0
  53. package/dist/es/tools/formatBlock.js +150 -0
  54. package/dist/es/tools/history.d.ts +18 -0
  55. package/dist/es/tools/history.js +4 -0
  56. package/dist/es/tools/insertImage.d.ts +44 -0
  57. package/dist/es/tools/insertImage.js +130 -0
  58. package/dist/es/tools/insertLink.d.ts +44 -0
  59. package/dist/es/tools/insertLink.js +130 -0
  60. package/dist/es/tools/insertTable/index.d.ts +1 -0
  61. package/dist/es/tools/insertTable/index.js +6 -0
  62. package/dist/es/tools/insertTable/popup.d.ts +78 -0
  63. package/dist/es/tools/insertTable/popup.js +168 -0
  64. package/dist/es/tools/insertTable/popupGrid.d.ts +49 -0
  65. package/dist/es/tools/insertTable/popupGrid.js +131 -0
  66. package/dist/es/tools/insertTable/tool.d.ts +51 -0
  67. package/dist/es/tools/insertTable/tool.js +165 -0
  68. package/dist/es/tools/lists.d.ts +52 -0
  69. package/dist/es/tools/lists.js +132 -0
  70. package/dist/es/tools/main.d.ts +137 -0
  71. package/dist/es/tools/main.js +0 -0
  72. package/dist/es/tools/pdf.d.ts +56 -0
  73. package/dist/es/tools/pdf.js +105 -0
  74. package/dist/es/tools/print.d.ts +47 -0
  75. package/dist/es/tools/print.js +109 -0
  76. package/dist/es/tools/proseMirrorTool.d.ts +43 -0
  77. package/dist/es/tools/proseMirrorTool.js +110 -0
  78. package/dist/es/tools/selectAll.d.ts +47 -0
  79. package/dist/es/tools/selectAll.js +102 -0
  80. package/dist/es/tools/tableEdit.d.ts +51 -0
  81. package/dist/es/tools/tableEdit.js +42 -0
  82. package/dist/es/tools/unlink.d.ts +42 -0
  83. package/dist/es/tools/unlink.js +110 -0
  84. package/dist/es/tools/utils.d.ts +18 -0
  85. package/dist/es/tools/utils.js +36 -0
  86. package/dist/es/tools/viewHtml.d.ts +49 -0
  87. package/dist/es/tools/viewHtml.js +125 -0
  88. package/dist/es/utils/browser-detection.d.ts +4 -0
  89. package/dist/es/utils/browser-detection.js +5 -0
  90. package/dist/es/utils/controlled-value.d.ts +5 -0
  91. package/dist/es/utils/controlled-value.js +31 -0
  92. package/dist/es/utils/index.d.ts +358 -0
  93. package/dist/es/utils/index.js +422 -0
  94. package/dist/es/utils/props-key.d.ts +5 -0
  95. package/dist/es/utils/props-key.js +5 -0
  96. package/dist/npm/Editor.d.ts +295 -0
  97. package/dist/npm/Editor.js +738 -0
  98. package/dist/npm/EditorProps.d.ts +176 -0
  99. package/dist/npm/EditorProps.js +2 -0
  100. package/dist/npm/additionalTypes.ts +3 -0
  101. package/dist/npm/config/defaultStyles.d.ts +12 -0
  102. package/dist/npm/config/defaultStyles.js +15 -0
  103. package/dist/npm/config/pasteSettings.d.ts +6 -0
  104. package/dist/npm/config/pasteSettings.js +2 -0
  105. package/dist/npm/config/schema.d.ts +8 -0
  106. package/dist/npm/config/schema.js +55 -0
  107. package/dist/npm/config/shortcuts.d.ts +22 -0
  108. package/dist/npm/config/shortcuts.js +79 -0
  109. package/dist/npm/config/toolsSettings.d.ts +481 -0
  110. package/dist/npm/config/toolsSettings.js +526 -0
  111. package/dist/npm/dialogs/EditorDialogProps.d.ts +26 -0
  112. package/dist/npm/dialogs/EditorDialogProps.js +2 -0
  113. package/dist/npm/dialogs/FindReplace.d.ts +65 -0
  114. package/dist/npm/dialogs/FindReplace.js +805 -0
  115. package/dist/npm/dialogs/insertImage.d.ts +52 -0
  116. package/dist/npm/dialogs/insertImage.js +296 -0
  117. package/dist/npm/dialogs/insertLink.d.ts +50 -0
  118. package/dist/npm/dialogs/insertLink.js +300 -0
  119. package/dist/npm/dialogs/main.d.ts +1 -0
  120. package/dist/npm/dialogs/main.js +42 -0
  121. package/dist/npm/dialogs/viewHtml.d.ts +49 -0
  122. package/dist/npm/dialogs/viewHtml.js +159 -0
  123. package/dist/npm/main.d.ts +166 -1
  124. package/dist/npm/main.js +89 -0
  125. package/dist/npm/messages/index.d.ts +479 -0
  126. package/dist/npm/messages/index.js +488 -0
  127. package/dist/npm/package-metadata.d.ts +5 -0
  128. package/dist/npm/package-metadata.js +14 -0
  129. package/dist/npm/tools/Align.d.ts +37 -0
  130. package/dist/npm/tools/Align.js +130 -0
  131. package/dist/npm/tools/Indent.d.ts +42 -0
  132. package/dist/npm/tools/Indent.js +140 -0
  133. package/dist/npm/tools/InlineFormat.d.ts +72 -0
  134. package/dist/npm/tools/InlineFormat.js +138 -0
  135. package/dist/npm/tools/Outdent.d.ts +42 -0
  136. package/dist/npm/tools/Outdent.js +142 -0
  137. package/dist/npm/tools/ToolProps.d.ts +34 -0
  138. package/dist/npm/tools/ToolProps.js +2 -0
  139. package/dist/npm/tools/applyColor.d.ts +43 -0
  140. package/dist/npm/tools/applyColor.js +105 -0
  141. package/dist/npm/tools/cleanFormatting.d.ts +47 -0
  142. package/dist/npm/tools/cleanFormatting.js +128 -0
  143. package/dist/npm/tools/findReplace.d.ts +41 -0
  144. package/dist/npm/tools/findReplace.js +133 -0
  145. package/dist/npm/tools/fontStyle.d.ts +53 -0
  146. package/dist/npm/tools/fontStyle.js +172 -0
  147. package/dist/npm/tools/formatBlock.d.ts +43 -0
  148. package/dist/npm/tools/formatBlock.js +164 -0
  149. package/dist/npm/tools/history.d.ts +18 -0
  150. package/dist/npm/tools/history.js +10 -0
  151. package/dist/npm/tools/insertImage.d.ts +44 -0
  152. package/dist/npm/tools/insertImage.js +144 -0
  153. package/dist/npm/tools/insertLink.d.ts +44 -0
  154. package/dist/npm/tools/insertLink.js +144 -0
  155. package/dist/npm/tools/insertTable/index.d.ts +1 -0
  156. package/dist/npm/tools/insertTable/index.js +6 -0
  157. package/dist/npm/tools/insertTable/popup.d.ts +78 -0
  158. package/dist/npm/tools/insertTable/popup.js +179 -0
  159. package/dist/npm/tools/insertTable/popupGrid.d.ts +49 -0
  160. package/dist/npm/tools/insertTable/popupGrid.js +141 -0
  161. package/dist/npm/tools/insertTable/tool.d.ts +51 -0
  162. package/dist/npm/tools/insertTable/tool.js +180 -0
  163. package/dist/npm/tools/lists.d.ts +52 -0
  164. package/dist/npm/tools/lists.js +145 -0
  165. package/dist/npm/tools/main.d.ts +137 -0
  166. package/dist/npm/tools/main.js +5 -0
  167. package/dist/npm/tools/pdf.d.ts +56 -0
  168. package/dist/npm/tools/pdf.js +119 -0
  169. package/dist/npm/tools/print.d.ts +47 -0
  170. package/dist/npm/tools/print.js +122 -0
  171. package/dist/npm/tools/proseMirrorTool.d.ts +43 -0
  172. package/dist/npm/tools/proseMirrorTool.js +123 -0
  173. package/dist/npm/tools/selectAll.d.ts +47 -0
  174. package/dist/npm/tools/selectAll.js +116 -0
  175. package/dist/npm/tools/tableEdit.d.ts +51 -0
  176. package/dist/npm/tools/tableEdit.js +50 -0
  177. package/dist/npm/tools/unlink.d.ts +42 -0
  178. package/dist/npm/tools/unlink.js +123 -0
  179. package/dist/npm/tools/utils.d.ts +18 -0
  180. package/dist/npm/tools/utils.js +45 -0
  181. package/dist/npm/tools/viewHtml.d.ts +49 -0
  182. package/dist/npm/tools/viewHtml.js +138 -0
  183. package/dist/npm/utils/browser-detection.d.ts +4 -0
  184. package/dist/npm/utils/browser-detection.js +8 -0
  185. package/dist/npm/utils/controlled-value.d.ts +5 -0
  186. package/dist/npm/utils/controlled-value.js +34 -0
  187. package/dist/npm/utils/index.d.ts +358 -0
  188. package/dist/npm/utils/index.js +425 -0
  189. package/dist/npm/utils/props-key.d.ts +5 -0
  190. package/dist/npm/utils/props-key.js +8 -0
  191. package/package.json +20 -20
  192. package/dist/cdn/js/kendo-vue-editor.js +0 -1
@@ -0,0 +1,738 @@
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
+ kendo_vue_common_1.validatePackage(package_metadata_1.packageMetadata);
311
+ },
312
+ mounted: function mounted() {
313
+ this.iframe = this.v3 ? this.iframeRef : this.$refs.iframe;
314
+ this.contentElement = this.v3 ? this.contentElementRef : this.$refs.contentElement;
315
+
316
+ if (!this.iframe || !browser_detection_1.firefox) {
317
+ this.initialize();
318
+ }
319
+ },
320
+ watch: {
321
+ value: function value(_newNextMatch, oldMatch) {
322
+ this._prevValue = oldMatch;
323
+ }
324
+ },
325
+ updated: function updated() {
326
+ var value = this.$props.value;
327
+ var view = this.view;
328
+
329
+ if (value === undefined || !view) {
330
+ return;
331
+ }
332
+
333
+ controlled_value_1.updateEditorValue(view, value, this._prevValue, this.trOnChange, this.htmlOnChange);
334
+ this.trOnChange = null;
335
+ this.htmlOnChange = null;
336
+ },
337
+ destroyed: !!gh ? undefined : function () {
338
+ if (this.view) {
339
+ this.view.destroy();
340
+ }
341
+
342
+ this.view = undefined;
343
+ },
344
+ // @ts-ignore
345
+ unmounted: function unmounted() {
346
+ if (this.view) {
347
+ this.view.destroy();
348
+ }
349
+
350
+ this.view = undefined;
351
+ },
352
+ computed: {
353
+ computedValue: function computedValue() {
354
+ if (this.trOnChange !== null) {
355
+ return this.trOnChange.doc;
356
+ } else if (this.$props.value !== undefined) {
357
+ return this.$props.value;
358
+ } else if (this.view) {
359
+ return this.view.state.doc;
360
+ }
361
+
362
+ return this.$props.defaultContent || '';
363
+ }
364
+ },
365
+ // @ts-ignore
366
+ setup: !gh ? undefined : function () {
367
+ var v3 = !!gh;
368
+ return {
369
+ v3: v3
370
+ };
371
+ },
372
+ // @ts-ignore
373
+ render: function render(createElement) {
374
+ var _this = this;
375
+
376
+ var h = gh || createElement;
377
+ var _a = this.$props,
378
+ _b = _a.tools,
379
+ tools = _b === void 0 ? [] : _b,
380
+ _c = _a.defaultEditMode,
381
+ defaultEditMode = _c === void 0 ? 'iframe' : _c,
382
+ _d = _a.preserveWhitespace,
383
+ preserveWhitespace = _d === void 0 ? 'full' : _d,
384
+ style = _a.style;
385
+
386
+ if (this.view) {
387
+ var editorProps = props_key_1.editorPropsKey.getState(this.view.state);
388
+ editorProps.preserveWhitespace = preserveWhitespace;
389
+ }
390
+
391
+ var contentStyle = this.$props.contentStyle;
392
+
393
+ if (contentStyle === undefined && (style || {}).height === undefined) {
394
+ contentStyle = {
395
+ height: '300px'
396
+ };
397
+ }
398
+
399
+ var renderDialog = function renderDialog() {
400
+ return this.linkDialog && // @ts-ignore function children
401
+ h(insertLink_1.InsertLinkDialog, {
402
+ view: this.view,
403
+ attrs: this.v3 ? undefined : {
404
+ view: this.view,
405
+ settings: link,
406
+ dir: this.$props.dir
407
+ },
408
+ settings: link,
409
+ dir: this.$props.dir,
410
+ onClose: this.handleClose,
411
+ on: this.v3 ? undefined : {
412
+ "close": this.handleClose
413
+ }
414
+ });
415
+ };
416
+
417
+ var renderTool = function renderTool(currentTool, index) {
418
+ var ct = exports.allTools[currentTool] || currentTool;
419
+
420
+ if (exports.allTools[currentTool]) {
421
+ var toolProps = __assign({
422
+ view: this.view,
423
+ dir: this.$props.dir,
424
+ key: kendo_vue_common_1.guid(),
425
+ settings: exports.allTools[currentTool].props
426
+ }, exports.allTools[currentTool].props);
427
+
428
+ return h(this.v3 ? markRaw(exports.allTools[currentTool].comp) : exports.allTools[currentTool].comp, this.v3 ? toolProps : {
429
+ props: toolProps
430
+ });
431
+ } else {
432
+ var tool = kendo_vue_common_1.templateRendering.call(this, ct, kendo_vue_common_1.getListeners.call(this));
433
+ return kendo_vue_common_1.getTemplate.call(this, {
434
+ h: h,
435
+ template: tool,
436
+ defaultRendering: null,
437
+ additionalListeners: {},
438
+ additionalProps: {
439
+ view: this.view,
440
+ dir: this.$props.dir,
441
+ key: index
442
+ }
443
+ });
444
+ } // return tool.type === ToolbarSeparator ? <Tool key={index} /> : tool;
445
+
446
+ };
447
+
448
+ var renderTools = function renderTools(item, index) {
449
+ return item.map(function (it) {
450
+ return renderTool.call(this, it, index);
451
+ }, this);
452
+ };
453
+
454
+ var buttons = tools.map(function (item, index) {
455
+ var _this2 = this;
456
+
457
+ return Array.isArray(item) ? // @ts-ignore function children
458
+ h(kendo_vue_buttons_1.ButtonGroup, {
459
+ key: index
460
+ }, this.v3 ? function () {
461
+ return [renderTools.call(_this2, item, index)];
462
+ } : [renderTools.call(_this2, item, index)]) : renderTool.call(this, item, index);
463
+ }, this);
464
+ return h("div", {
465
+ "class": kendo_vue_common_1.classNames('k-widget k-editor', {
466
+ 'k-editor-resizable': this.$props.resizable
467
+ }),
468
+ dir: this.$props.dir,
469
+ attrs: this.v3 ? undefined : {
470
+ dir: this.$props.dir
471
+ }
472
+ }, [buttons.length > 0 && // @ts-ignore function children
473
+ h(kendo_vue_buttons_1.Toolbar, {
474
+ keyboardNavigation: this.$props.keyboardNavigation,
475
+ attrs: this.v3 ? undefined : {
476
+ keyboardNavigation: this.$props.keyboardNavigation
477
+ }
478
+ }, this.v3 ? function () {
479
+ return [buttons];
480
+ } : [buttons]), defaultEditMode === 'iframe' ? h("div", {
481
+ "class": "k-editor-content"
482
+ }, [h("iframe", {
483
+ onLoad: this.iframeLoad,
484
+ on: this.v3 ? undefined : {
485
+ "load": this.iframeLoad
486
+ },
487
+ ref: this.v3 ? function (el) {
488
+ _this.iframeRef = el;
489
+ } : 'iframe',
490
+ frameBorder: "0",
491
+ attrs: this.v3 ? undefined : {
492
+ frameBorder: "0"
493
+ },
494
+ style: contentStyle,
495
+ "class": "k-iframe"
496
+ })]) : h("div", {
497
+ style: contentStyle,
498
+ "class": "k-editor-content"
499
+ }, [h("div", {
500
+ ref: this.v3 ? function (el) {
501
+ _this.contentElementRef = el;
502
+ } : 'contentElement',
503
+ suppressContentEditableWarning: true,
504
+ attrs: this.v3 ? undefined : {
505
+ suppressContentEditableWarning: true
506
+ }
507
+ })]), renderDialog.call(this)]);
508
+ },
509
+ methods: {
510
+ focus: function focus() {
511
+ if (this.view) {
512
+ this.view.focus();
513
+ }
514
+ },
515
+ updateTools: function updateTools(view) {
516
+ this.view = view;
517
+ },
518
+ iframeLoad: function iframeLoad() {
519
+ if (browser_detection_1.firefox) {
520
+ this.initialize();
521
+ }
522
+ },
523
+ initialize: function initialize() {
524
+ var _this = this;
525
+
526
+ var iframeWindow = this.iframe && this.iframe.contentWindow;
527
+
528
+ if (iframeWindow) {
529
+ var iframeDocument_1 = iframeWindow.document;
530
+ [defaultStyles_1.defaultStyle, defaultStyles_1.tablesStyles, this.$props.dir === 'rtl' ? defaultStyles_1.rtlStyles : undefined].forEach(function (styles) {
531
+ if (styles) {
532
+ var style = iframeDocument_1.createElement('style');
533
+ style.appendChild(iframeDocument_1.createTextNode(styles));
534
+ iframeDocument_1.head.appendChild(style);
535
+ }
536
+ });
537
+ var meta = iframeDocument_1.createElement('meta');
538
+ meta.setAttribute('charset', 'utf-8');
539
+ iframeDocument_1.head.appendChild(meta); // The content has to be wrapped because the `dropCursor`
540
+ // plugin raises a `body.offsetParent is null` error.
541
+
542
+ this.contentElement = iframeDocument_1.createElement('div');
543
+ iframeDocument_1.body.appendChild(this.contentElement);
544
+ this.contentElement.classList.add('k-content');
545
+ }
546
+
547
+ var dom = this.contentElement;
548
+
549
+ if (!dom) {
550
+ return;
551
+ }
552
+
553
+ var _a = this.$props.preserveWhitespace,
554
+ preserveWhitespace = _a === void 0 ? 'full' : _a;
555
+ var target = this;
556
+ var plugins = [// https://prosemirror.net/docs/ref/#state.PluginSpec
557
+ new kendo_editor_common_1.Plugin({
558
+ view: function view() {
559
+ return {
560
+ update: _this.updateTools
561
+ };
562
+ },
563
+ key: new kendo_editor_common_1.PluginKey('toolbar-tools-update-plugin')
564
+ }), new kendo_editor_common_1.Plugin({
565
+ filterTransaction: this.filterTransaction,
566
+ key: new kendo_editor_common_1.PluginKey('onExecute-event-plugin')
567
+ }), new kendo_editor_common_1.Plugin({
568
+ key: props_key_1.editorPropsKey,
569
+ state: {
570
+ init: function init() {
571
+ return {
572
+ preserveWhitespace: preserveWhitespace
573
+ };
574
+ },
575
+ apply: function apply(_, val) {
576
+ return val;
577
+ }
578
+ }
579
+ }), 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()];
580
+
581
+ var shortcuts = __assign(__assign({}, utils_1.EditorUtils.getShortcuts({
582
+ types: {
583
+ listItem: 'list_item',
584
+ hardBreak: 'hard_break'
585
+ },
586
+ toolsSettings: {
587
+ bold: bold,
588
+ italic: italic,
589
+ underline: underline
590
+ }
591
+ })), {
592
+ 'Mod-k': function ModK() {
593
+ var linkDialog = _this.$data.linkDialog;
594
+ var editorView = _this.view;
595
+
596
+ if (editorView) {
597
+ var editorState = editorView.state;
598
+ var collapsed = editorState.selection.empty;
599
+ var linkMark = kendo_editor_common_1.getMark(editorState, editorState.schema.marks[link.mark]);
600
+ var disabled = collapsed && !linkMark;
601
+
602
+ if (!linkDialog && !disabled) {
603
+ _this.linkDialog = true;
604
+ }
605
+ }
606
+
607
+ return !linkDialog;
608
+ }
609
+ });
610
+
611
+ var _b = this.$props,
612
+ _c = _b.defaultContent,
613
+ defaultContent = _c === void 0 ? '' : _c,
614
+ value = _b.value,
615
+ onMount = _b.onMount;
616
+ var doc = value && typeof value !== 'string' ? value : utils_1.EditorUtils.createDocument(new kendo_editor_common_1.Schema({
617
+ nodes: schema_1.nodes,
618
+ marks: schema_1.marks
619
+ }), value || defaultContent, {
620
+ preserveWhitespace: preserveWhitespace
621
+ });
622
+ var viewProps = {
623
+ state: kendo_editor_common_1.EditorState.create({
624
+ plugins: __spreadArrays(plugins, [kendo_editor_common_1.keymap(shortcuts), kendo_editor_common_1.keymap(kendo_editor_common_1.baseKeymap)]),
625
+ doc: doc
626
+ }),
627
+ transformPastedHTML: this.onPasteHtml,
628
+ dispatchTransaction: this.dispatchTransaction,
629
+ handleDOMEvents: {
630
+ focus: this.onFocus,
631
+ blur: this.onBlur,
632
+ paste: this.onPaste
633
+ }
634
+ };
635
+ var mountEvent = {
636
+ plugins: plugins,
637
+ shortcuts: shortcuts,
638
+ target: target,
639
+ viewProps: viewProps,
640
+ dom: dom
641
+ };
642
+ var view = this.view = onMount && onMount.call(undefined, mountEvent) || new kendo_editor_common_1.EditorView({
643
+ mount: dom
644
+ }, viewProps);
645
+ this.view = view;
646
+ },
647
+ filterTransaction: function filterTransaction(transaction, state) {
648
+ var event = {
649
+ target: this,
650
+ transaction: transaction,
651
+ state: state
652
+ };
653
+ return this.$emit('execute', event);
654
+ },
655
+ onPasteHtml: function onPasteHtml(html) {
656
+ if (this.$props.onPasteHtml && this.pasteEvent) {
657
+ var event_1 = {
658
+ target: this,
659
+ pastedHtml: html,
660
+ nativeEvent: this.pasteEvent
661
+ };
662
+ var newHtml = this.$props.onPasteHtml.call(undefined, event_1);
663
+ this.pasteEvent = undefined;
664
+
665
+ if (typeof newHtml === 'string') {
666
+ return newHtml;
667
+ }
668
+ }
669
+
670
+ return html;
671
+ },
672
+ dispatchTransaction: function dispatchTransaction(transaction) {
673
+ var docChanged = transaction.docChanged;
674
+
675
+ if (docChanged) {
676
+ this.trOnChange = transaction;
677
+ var doc_1 = transaction.doc,
678
+ schema_2 = transaction.doc.type.schema;
679
+ var target_1 = this;
680
+ var event_2 = {
681
+ target: target_1,
682
+ value: doc_1,
683
+
684
+ get html() {
685
+ target_1.htmlOnChange = utils_1.EditorUtils.getHtml({
686
+ doc: doc_1,
687
+ schema: schema_2
688
+ });
689
+ return target_1.htmlOnChange;
690
+ },
691
+
692
+ transaction: transaction,
693
+ schema: schema_2
694
+ };
695
+ this.$emit('change', event_2);
696
+ }
697
+
698
+ if (this.view && (this.$props.value === undefined || !docChanged)) {
699
+ this.view.updateState(this.view.state.apply(transaction));
700
+ }
701
+ },
702
+ onFocus: function onFocus(_view, nativeEvent) {
703
+ if (this.$props.onFocus) {
704
+ var event_3 = {
705
+ target: this,
706
+ nativeEvent: nativeEvent
707
+ };
708
+ this.$emit('focus', event_3);
709
+ }
710
+
711
+ return false;
712
+ },
713
+ onBlur: function onBlur(_view, nativeEvent) {
714
+ if (this.$props.onBlur) {
715
+ var event_4 = {
716
+ target: this,
717
+ nativeEvent: nativeEvent
718
+ };
719
+ this.$emit('focus', event_4);
720
+ }
721
+
722
+ return false;
723
+ },
724
+ onPaste: function onPaste(_view, nativeEvent) {
725
+ if (this.$props.onPasteHtml) {
726
+ this.pasteEvent = nativeEvent;
727
+ }
728
+
729
+ return false;
730
+ },
731
+ handleClose: function handleClose() {
732
+ this.linkDialog = false;
733
+ }
734
+ }
735
+ };
736
+ exports.Editor = Editor;
737
+ var EditorVue3 = Editor;
738
+ exports.EditorVue3 = EditorVue3;