@tiptap/vue-2 2.5.0-beta.1 → 2.5.0-beta.3

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 (183) hide show
  1. package/dist/index.cjs +340 -346
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +339 -339
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.umd.js +340 -346
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/packages/core/src/CommandManager.d.ts +20 -0
  8. package/dist/packages/core/src/Editor.d.ts +161 -0
  9. package/dist/packages/core/src/EventEmitter.d.ts +11 -0
  10. package/dist/packages/core/src/Extension.d.ts +343 -0
  11. package/dist/packages/core/src/ExtensionManager.d.ts +55 -0
  12. package/dist/packages/core/src/InputRule.d.ts +42 -0
  13. package/dist/packages/core/src/Mark.d.ts +451 -0
  14. package/dist/packages/core/src/Node.d.ts +611 -0
  15. package/dist/packages/core/src/NodePos.d.ts +44 -0
  16. package/dist/packages/core/src/NodeView.d.ts +31 -0
  17. package/dist/packages/core/src/PasteRule.d.ts +50 -0
  18. package/dist/packages/core/src/Tracker.d.ts +11 -0
  19. package/dist/packages/core/src/commands/blur.d.ts +13 -0
  20. package/dist/packages/core/src/commands/clearContent.d.ts +14 -0
  21. package/dist/packages/core/src/commands/clearNodes.d.ts +13 -0
  22. package/dist/packages/core/src/commands/command.d.ts +18 -0
  23. package/dist/packages/core/src/commands/createParagraphNear.d.ts +13 -0
  24. package/dist/packages/core/src/commands/cut.d.ts +20 -0
  25. package/dist/packages/core/src/commands/deleteCurrentNode.d.ts +13 -0
  26. package/dist/packages/core/src/commands/deleteNode.d.ts +15 -0
  27. package/dist/packages/core/src/commands/deleteRange.d.ts +14 -0
  28. package/dist/packages/core/src/commands/deleteSelection.d.ts +13 -0
  29. package/dist/packages/core/src/commands/enter.d.ts +13 -0
  30. package/dist/packages/core/src/commands/exitCode.d.ts +13 -0
  31. package/dist/packages/core/src/commands/extendMarkRange.d.ts +25 -0
  32. package/dist/packages/core/src/commands/first.d.ts +14 -0
  33. package/dist/packages/core/src/commands/focus.d.ts +27 -0
  34. package/dist/packages/core/src/commands/forEach.d.ts +14 -0
  35. package/dist/packages/core/src/commands/index.d.ts +55 -0
  36. package/dist/packages/core/src/commands/insertContent.d.ts +34 -0
  37. package/dist/packages/core/src/commands/insertContentAt.d.ts +47 -0
  38. package/dist/packages/core/src/commands/join.d.ts +41 -0
  39. package/dist/packages/core/src/commands/joinItemBackward.d.ts +13 -0
  40. package/dist/packages/core/src/commands/joinItemForward.d.ts +13 -0
  41. package/dist/packages/core/src/commands/joinTextblockBackward.d.ts +12 -0
  42. package/dist/packages/core/src/commands/joinTextblockForward.d.ts +12 -0
  43. package/dist/packages/core/src/commands/keyboardShortcut.d.ts +14 -0
  44. package/dist/packages/core/src/commands/lift.d.ts +17 -0
  45. package/dist/packages/core/src/commands/liftEmptyBlock.d.ts +13 -0
  46. package/dist/packages/core/src/commands/liftListItem.d.ts +15 -0
  47. package/dist/packages/core/src/commands/newlineInCode.d.ts +13 -0
  48. package/dist/packages/core/src/commands/resetAttributes.d.ts +16 -0
  49. package/dist/packages/core/src/commands/scrollIntoView.d.ts +13 -0
  50. package/dist/packages/core/src/commands/selectAll.d.ts +13 -0
  51. package/dist/packages/core/src/commands/selectNodeBackward.d.ts +13 -0
  52. package/dist/packages/core/src/commands/selectNodeForward.d.ts +13 -0
  53. package/dist/packages/core/src/commands/selectParentNode.d.ts +13 -0
  54. package/dist/packages/core/src/commands/selectTextblockEnd.d.ts +13 -0
  55. package/dist/packages/core/src/commands/selectTextblockStart.d.ts +13 -0
  56. package/dist/packages/core/src/commands/setContent.d.ts +40 -0
  57. package/dist/packages/core/src/commands/setMark.d.ts +15 -0
  58. package/dist/packages/core/src/commands/setMeta.d.ts +15 -0
  59. package/dist/packages/core/src/commands/setNode.d.ts +16 -0
  60. package/dist/packages/core/src/commands/setNodeSelection.d.ts +14 -0
  61. package/dist/packages/core/src/commands/setTextSelection.d.ts +14 -0
  62. package/dist/packages/core/src/commands/sinkListItem.d.ts +15 -0
  63. package/dist/packages/core/src/commands/splitBlock.d.ts +17 -0
  64. package/dist/packages/core/src/commands/splitListItem.d.ts +15 -0
  65. package/dist/packages/core/src/commands/toggleList.d.ts +18 -0
  66. package/dist/packages/core/src/commands/toggleMark.d.ts +30 -0
  67. package/dist/packages/core/src/commands/toggleNode.d.ts +17 -0
  68. package/dist/packages/core/src/commands/toggleWrap.d.ts +16 -0
  69. package/dist/packages/core/src/commands/undoInputRule.d.ts +13 -0
  70. package/dist/packages/core/src/commands/unsetAllMarks.d.ts +13 -0
  71. package/dist/packages/core/src/commands/unsetMark.d.ts +25 -0
  72. package/dist/packages/core/src/commands/updateAttributes.d.ts +24 -0
  73. package/dist/packages/core/src/commands/wrapIn.d.ts +16 -0
  74. package/dist/packages/core/src/commands/wrapInList.d.ts +16 -0
  75. package/dist/packages/core/src/extensions/clipboardTextSerializer.d.ts +5 -0
  76. package/dist/packages/core/src/extensions/commands.d.ts +3 -0
  77. package/dist/packages/core/src/extensions/editable.d.ts +2 -0
  78. package/dist/packages/core/src/extensions/focusEvents.d.ts +2 -0
  79. package/dist/packages/core/src/extensions/index.d.ts +6 -0
  80. package/dist/packages/core/src/extensions/keymap.d.ts +2 -0
  81. package/dist/packages/core/src/extensions/tabindex.d.ts +2 -0
  82. package/dist/packages/core/src/helpers/combineTransactionSteps.d.ts +10 -0
  83. package/dist/packages/core/src/helpers/createChainableState.d.ts +10 -0
  84. package/dist/packages/core/src/helpers/createDocument.d.ts +12 -0
  85. package/dist/packages/core/src/helpers/createNodeFromContent.d.ts +15 -0
  86. package/dist/packages/core/src/helpers/defaultBlockAt.d.ts +7 -0
  87. package/dist/packages/core/src/helpers/findChildren.d.ts +9 -0
  88. package/dist/packages/core/src/helpers/findChildrenInRange.d.ts +10 -0
  89. package/dist/packages/core/src/helpers/findParentNode.d.ts +16 -0
  90. package/dist/packages/core/src/helpers/findParentNodeClosestToPos.d.ts +17 -0
  91. package/dist/packages/core/src/helpers/generateHTML.d.ts +8 -0
  92. package/dist/packages/core/src/helpers/generateJSON.d.ts +8 -0
  93. package/dist/packages/core/src/helpers/generateText.d.ts +12 -0
  94. package/dist/packages/core/src/helpers/getAttributes.d.ts +9 -0
  95. package/dist/packages/core/src/helpers/getAttributesFromExtensions.d.ts +6 -0
  96. package/dist/packages/core/src/helpers/getChangedRanges.d.ts +11 -0
  97. package/dist/packages/core/src/helpers/getDebugJSON.d.ts +8 -0
  98. package/dist/packages/core/src/helpers/getExtensionField.d.ts +9 -0
  99. package/dist/packages/core/src/helpers/getHTMLFromFragment.d.ts +2 -0
  100. package/dist/packages/core/src/helpers/getMarkAttributes.d.ts +3 -0
  101. package/dist/packages/core/src/helpers/getMarkRange.d.ts +3 -0
  102. package/dist/packages/core/src/helpers/getMarkType.d.ts +2 -0
  103. package/dist/packages/core/src/helpers/getMarksBetween.d.ts +3 -0
  104. package/dist/packages/core/src/helpers/getNodeAtPosition.d.ts +11 -0
  105. package/dist/packages/core/src/helpers/getNodeAttributes.d.ts +3 -0
  106. package/dist/packages/core/src/helpers/getNodeType.d.ts +2 -0
  107. package/dist/packages/core/src/helpers/getRenderedAttributes.d.ts +3 -0
  108. package/dist/packages/core/src/helpers/getSchema.d.ts +4 -0
  109. package/dist/packages/core/src/helpers/getSchemaByResolvedExtensions.d.ts +10 -0
  110. package/dist/packages/core/src/helpers/getSchemaTypeByName.d.ts +8 -0
  111. package/dist/packages/core/src/helpers/getSchemaTypeNameByName.d.ts +8 -0
  112. package/dist/packages/core/src/helpers/getSplittedAttributes.d.ts +9 -0
  113. package/dist/packages/core/src/helpers/getText.d.ts +15 -0
  114. package/dist/packages/core/src/helpers/getTextBetween.d.ts +14 -0
  115. package/dist/packages/core/src/helpers/getTextContentFromNodes.d.ts +8 -0
  116. package/dist/packages/core/src/helpers/getTextSerializersFromSchema.d.ts +8 -0
  117. package/dist/packages/core/src/helpers/index.d.ts +50 -0
  118. package/dist/packages/core/src/helpers/injectExtensionAttributesToParseRule.d.ts +9 -0
  119. package/dist/packages/core/src/helpers/isActive.d.ts +2 -0
  120. package/dist/packages/core/src/helpers/isAtEndOfNode.d.ts +2 -0
  121. package/dist/packages/core/src/helpers/isAtStartOfNode.d.ts +2 -0
  122. package/dist/packages/core/src/helpers/isExtensionRulesEnabled.d.ts +2 -0
  123. package/dist/packages/core/src/helpers/isList.d.ts +2 -0
  124. package/dist/packages/core/src/helpers/isMarkActive.d.ts +3 -0
  125. package/dist/packages/core/src/helpers/isNodeActive.d.ts +3 -0
  126. package/dist/packages/core/src/helpers/isNodeEmpty.d.ts +2 -0
  127. package/dist/packages/core/src/helpers/isNodeSelection.d.ts +2 -0
  128. package/dist/packages/core/src/helpers/isTextSelection.d.ts +2 -0
  129. package/dist/packages/core/src/helpers/posToDOMRect.d.ts +2 -0
  130. package/dist/packages/core/src/helpers/resolveFocusPosition.d.ts +4 -0
  131. package/dist/packages/core/src/helpers/selectionToInsertionEnd.d.ts +2 -0
  132. package/dist/packages/core/src/helpers/splitExtensions.d.ts +9 -0
  133. package/dist/packages/core/src/index.d.ts +24 -0
  134. package/dist/packages/core/src/inputRules/index.d.ts +5 -0
  135. package/dist/packages/core/src/inputRules/markInputRule.d.ts +13 -0
  136. package/dist/packages/core/src/inputRules/nodeInputRule.d.ts +23 -0
  137. package/dist/packages/core/src/inputRules/textInputRule.d.ts +10 -0
  138. package/dist/packages/core/src/inputRules/textblockTypeInputRule.d.ts +15 -0
  139. package/dist/packages/core/src/inputRules/wrappingInputRule.d.ts +28 -0
  140. package/dist/packages/core/src/pasteRules/index.d.ts +3 -0
  141. package/dist/packages/core/src/pasteRules/markPasteRule.d.ts +13 -0
  142. package/dist/packages/core/src/pasteRules/nodePasteRule.d.ts +13 -0
  143. package/dist/packages/core/src/pasteRules/textPasteRule.d.ts +10 -0
  144. package/dist/packages/core/src/style.d.ts +1 -0
  145. package/dist/packages/core/src/types.d.ts +250 -0
  146. package/dist/packages/core/src/utilities/callOrReturn.d.ts +9 -0
  147. package/dist/packages/core/src/utilities/createStyleTag.d.ts +1 -0
  148. package/dist/packages/core/src/utilities/deleteProps.d.ts +6 -0
  149. package/dist/packages/core/src/utilities/elementFromString.d.ts +1 -0
  150. package/dist/packages/core/src/utilities/escapeForRegEx.d.ts +1 -0
  151. package/dist/packages/core/src/utilities/findDuplicates.d.ts +1 -0
  152. package/dist/packages/core/src/utilities/fromString.d.ts +1 -0
  153. package/dist/packages/core/src/utilities/index.d.ts +20 -0
  154. package/dist/packages/core/src/utilities/isAndroid.d.ts +1 -0
  155. package/dist/packages/core/src/utilities/isEmptyObject.d.ts +1 -0
  156. package/dist/packages/core/src/utilities/isFunction.d.ts +1 -0
  157. package/dist/packages/core/src/utilities/isMacOS.d.ts +1 -0
  158. package/dist/packages/core/src/utilities/isNumber.d.ts +1 -0
  159. package/dist/packages/core/src/utilities/isPlainObject.d.ts +1 -0
  160. package/dist/packages/core/src/utilities/isRegExp.d.ts +1 -0
  161. package/dist/packages/core/src/utilities/isString.d.ts +1 -0
  162. package/dist/packages/core/src/utilities/isiOS.d.ts +1 -0
  163. package/dist/packages/core/src/utilities/mergeAttributes.d.ts +1 -0
  164. package/dist/packages/core/src/utilities/mergeDeep.d.ts +1 -0
  165. package/dist/packages/core/src/utilities/minMax.d.ts +1 -0
  166. package/dist/packages/core/src/utilities/objectIncludes.d.ts +8 -0
  167. package/dist/packages/core/src/utilities/removeDuplicates.d.ts +8 -0
  168. package/dist/packages/extension-bubble-menu/src/bubble-menu-plugin.d.ts +76 -0
  169. package/dist/packages/extension-bubble-menu/src/bubble-menu.d.ts +15 -0
  170. package/dist/packages/extension-bubble-menu/src/index.d.ts +4 -0
  171. package/dist/packages/extension-floating-menu/src/floating-menu-plugin.d.ts +66 -0
  172. package/dist/packages/extension-floating-menu/src/floating-menu.d.ts +15 -0
  173. package/dist/packages/extension-floating-menu/src/index.d.ts +4 -0
  174. package/dist/packages/vue-2/src/BubbleMenu.d.ts +10 -10
  175. package/dist/packages/vue-2/src/Editor.d.ts +5 -5
  176. package/dist/packages/vue-2/src/EditorContent.d.ts +6 -6
  177. package/dist/packages/vue-2/src/FloatingMenu.d.ts +9 -9
  178. package/dist/packages/vue-2/src/NodeViewContent.d.ts +5 -5
  179. package/dist/packages/vue-2/src/NodeViewWrapper.d.ts +9 -9
  180. package/dist/packages/vue-2/src/VueNodeViewRenderer.d.ts +37 -37
  181. package/dist/packages/vue-2/src/VueRenderer.d.ts +12 -12
  182. package/dist/packages/vue-2/src/index.d.ts +9 -9
  183. package/package.json +5 -5
package/dist/index.cjs CHANGED
@@ -1,370 +1,364 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var extensionBubbleMenu = require('@tiptap/extension-bubble-menu');
6
4
  var core = require('@tiptap/core');
7
5
  var extensionFloatingMenu = require('@tiptap/extension-floating-menu');
8
6
  var Vue = require('vue');
9
7
  var vueTsTypes = require('vue-ts-types');
10
8
 
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var Vue__default = /*#__PURE__*/_interopDefaultLegacy(Vue);
14
-
15
- const BubbleMenu = {
16
- name: 'BubbleMenu',
17
- props: {
18
- pluginKey: {
19
- type: [String, Object],
20
- default: 'bubbleMenu',
21
- },
22
- editor: {
23
- type: Object,
24
- required: true,
25
- },
26
- updateDelay: {
27
- type: Number,
28
- },
29
- tippyOptions: {
30
- type: Object,
31
- default: () => ({}),
32
- },
33
- shouldShow: {
34
- type: Function,
35
- default: null,
36
- },
37
- },
38
- watch: {
39
- editor: {
40
- immediate: true,
41
- handler(editor) {
42
- if (!editor) {
43
- return;
44
- }
45
- this.$nextTick(() => {
46
- editor.registerPlugin(extensionBubbleMenu.BubbleMenuPlugin({
47
- updateDelay: this.updateDelay,
48
- editor,
49
- element: this.$el,
50
- pluginKey: this.pluginKey,
51
- shouldShow: this.shouldShow,
52
- tippyOptions: this.tippyOptions,
53
- }));
54
- });
55
- },
56
- },
57
- },
58
- render(createElement) {
59
- return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);
60
- },
61
- beforeDestroy() {
62
- this.editor.unregisterPlugin(this.pluginKey);
63
- },
9
+ const BubbleMenu = {
10
+ name: 'BubbleMenu',
11
+ props: {
12
+ pluginKey: {
13
+ type: [String, Object],
14
+ default: 'bubbleMenu',
15
+ },
16
+ editor: {
17
+ type: Object,
18
+ required: true,
19
+ },
20
+ updateDelay: {
21
+ type: Number,
22
+ },
23
+ tippyOptions: {
24
+ type: Object,
25
+ default: () => ({}),
26
+ },
27
+ shouldShow: {
28
+ type: Function,
29
+ default: null,
30
+ },
31
+ },
32
+ watch: {
33
+ editor: {
34
+ immediate: true,
35
+ handler(editor) {
36
+ if (!editor) {
37
+ return;
38
+ }
39
+ this.$nextTick(() => {
40
+ editor.registerPlugin(extensionBubbleMenu.BubbleMenuPlugin({
41
+ updateDelay: this.updateDelay,
42
+ editor,
43
+ element: this.$el,
44
+ pluginKey: this.pluginKey,
45
+ shouldShow: this.shouldShow,
46
+ tippyOptions: this.tippyOptions,
47
+ }));
48
+ });
49
+ },
50
+ },
51
+ },
52
+ render(createElement) {
53
+ return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);
54
+ },
55
+ beforeDestroy() {
56
+ this.editor.unregisterPlugin(this.pluginKey);
57
+ },
64
58
  };
65
59
 
66
- class Editor extends core.Editor {
67
- constructor() {
68
- super(...arguments);
69
- this.contentComponent = null;
70
- }
60
+ class Editor extends core.Editor {
61
+ constructor() {
62
+ super(...arguments);
63
+ this.contentComponent = null;
64
+ }
71
65
  }
72
66
 
73
- const EditorContent = {
74
- name: 'EditorContent',
75
- props: {
76
- editor: {
77
- default: null,
78
- type: Object,
79
- },
80
- },
81
- watch: {
82
- editor: {
83
- immediate: true,
84
- handler(editor) {
85
- if (editor && editor.options.element) {
86
- this.$nextTick(() => {
87
- const element = this.$el;
88
- if (!element || !editor.options.element.firstChild) {
89
- return;
90
- }
91
- element.append(...editor.options.element.childNodes);
92
- editor.contentComponent = this;
93
- editor.setOptions({
94
- element,
95
- });
96
- editor.createNodeViews();
97
- });
98
- }
99
- },
100
- },
101
- },
102
- render(createElement) {
103
- return createElement('div');
104
- },
105
- beforeDestroy() {
106
- const { editor } = this;
107
- if (!editor) {
108
- return;
109
- }
110
- if (!editor.isDestroyed) {
111
- editor.view.setProps({
112
- nodeViews: {},
113
- });
114
- }
115
- editor.contentComponent = null;
116
- if (!editor.options.element.firstChild) {
117
- return;
118
- }
119
- const newElement = document.createElement('div');
120
- newElement.append(...editor.options.element.childNodes);
121
- editor.setOptions({
122
- element: newElement,
123
- });
124
- },
67
+ const EditorContent = {
68
+ name: 'EditorContent',
69
+ props: {
70
+ editor: {
71
+ default: null,
72
+ type: Object,
73
+ },
74
+ },
75
+ watch: {
76
+ editor: {
77
+ immediate: true,
78
+ handler(editor) {
79
+ if (editor && editor.options.element) {
80
+ this.$nextTick(() => {
81
+ const element = this.$el;
82
+ if (!element || !editor.options.element.firstChild) {
83
+ return;
84
+ }
85
+ element.append(...editor.options.element.childNodes);
86
+ editor.contentComponent = this;
87
+ editor.setOptions({
88
+ element,
89
+ });
90
+ editor.createNodeViews();
91
+ });
92
+ }
93
+ },
94
+ },
95
+ },
96
+ render(createElement) {
97
+ return createElement('div');
98
+ },
99
+ beforeDestroy() {
100
+ const { editor } = this;
101
+ if (!editor) {
102
+ return;
103
+ }
104
+ if (!editor.isDestroyed) {
105
+ editor.view.setProps({
106
+ nodeViews: {},
107
+ });
108
+ }
109
+ editor.contentComponent = null;
110
+ if (!editor.options.element.firstChild) {
111
+ return;
112
+ }
113
+ const newElement = document.createElement('div');
114
+ newElement.append(...editor.options.element.childNodes);
115
+ editor.setOptions({
116
+ element: newElement,
117
+ });
118
+ },
125
119
  };
126
120
 
127
- const FloatingMenu = {
128
- name: 'FloatingMenu',
129
- props: {
130
- pluginKey: {
131
- type: [String, Object],
132
- default: 'floatingMenu',
133
- },
134
- editor: {
135
- type: Object,
136
- required: true,
137
- },
138
- tippyOptions: {
139
- type: Object,
140
- default: () => ({}),
141
- },
142
- shouldShow: {
143
- type: Function,
144
- default: null,
145
- },
146
- },
147
- watch: {
148
- editor: {
149
- immediate: true,
150
- handler(editor) {
151
- if (!editor) {
152
- return;
153
- }
154
- this.$nextTick(() => {
155
- editor.registerPlugin(extensionFloatingMenu.FloatingMenuPlugin({
156
- pluginKey: this.pluginKey,
157
- editor,
158
- element: this.$el,
159
- tippyOptions: this.tippyOptions,
160
- shouldShow: this.shouldShow,
161
- }));
162
- });
163
- },
164
- },
165
- },
166
- render(createElement) {
167
- return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);
168
- },
169
- beforeDestroy() {
170
- this.editor.unregisterPlugin(this.pluginKey);
171
- },
121
+ const FloatingMenu = {
122
+ name: 'FloatingMenu',
123
+ props: {
124
+ pluginKey: {
125
+ type: [String, Object],
126
+ default: 'floatingMenu',
127
+ },
128
+ editor: {
129
+ type: Object,
130
+ required: true,
131
+ },
132
+ tippyOptions: {
133
+ type: Object,
134
+ default: () => ({}),
135
+ },
136
+ shouldShow: {
137
+ type: Function,
138
+ default: null,
139
+ },
140
+ },
141
+ watch: {
142
+ editor: {
143
+ immediate: true,
144
+ handler(editor) {
145
+ if (!editor) {
146
+ return;
147
+ }
148
+ this.$nextTick(() => {
149
+ editor.registerPlugin(extensionFloatingMenu.FloatingMenuPlugin({
150
+ pluginKey: this.pluginKey,
151
+ editor,
152
+ element: this.$el,
153
+ tippyOptions: this.tippyOptions,
154
+ shouldShow: this.shouldShow,
155
+ }));
156
+ });
157
+ },
158
+ },
159
+ },
160
+ render(createElement) {
161
+ return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);
162
+ },
163
+ beforeDestroy() {
164
+ this.editor.unregisterPlugin(this.pluginKey);
165
+ },
172
166
  };
173
167
 
174
- const NodeViewContent = {
175
- props: {
176
- as: {
177
- type: String,
178
- default: 'div',
179
- },
180
- },
181
- render(createElement) {
182
- return createElement(this.as, {
183
- style: {
184
- whiteSpace: 'pre-wrap',
185
- },
186
- attrs: {
187
- 'data-node-view-content': '',
188
- },
189
- });
190
- },
168
+ const NodeViewContent = {
169
+ props: {
170
+ as: {
171
+ type: String,
172
+ default: 'div',
173
+ },
174
+ },
175
+ render(createElement) {
176
+ return createElement(this.as, {
177
+ style: {
178
+ whiteSpace: 'pre-wrap',
179
+ },
180
+ attrs: {
181
+ 'data-node-view-content': '',
182
+ },
183
+ });
184
+ },
191
185
  };
192
186
 
193
- const NodeViewWrapper = {
194
- props: {
195
- as: {
196
- type: String,
197
- default: 'div',
198
- },
199
- },
200
- inject: ['onDragStart', 'decorationClasses'],
201
- render(createElement) {
202
- return createElement(this.as, {
203
- class: this.decorationClasses.value,
204
- style: {
205
- whiteSpace: 'normal',
206
- },
207
- attrs: {
208
- 'data-node-view-wrapper': '',
209
- },
210
- on: {
211
- dragstart: this.onDragStart,
212
- },
213
- }, this.$slots.default);
214
- },
187
+ const NodeViewWrapper = {
188
+ props: {
189
+ as: {
190
+ type: String,
191
+ default: 'div',
192
+ },
193
+ },
194
+ inject: ['onDragStart', 'decorationClasses'],
195
+ render(createElement) {
196
+ return createElement(this.as, {
197
+ class: this.decorationClasses.value,
198
+ style: {
199
+ whiteSpace: 'normal',
200
+ },
201
+ attrs: {
202
+ 'data-node-view-wrapper': '',
203
+ },
204
+ on: {
205
+ dragstart: this.onDragStart,
206
+ },
207
+ }, this.$slots.default);
208
+ },
215
209
  };
216
210
 
217
- /**
218
- * The VueRenderer class is responsible for rendering a Vue component as a ProseMirror node view.
219
- */
220
- class VueRenderer {
221
- constructor(component, props) {
222
- const Component = (typeof component === 'function') ? component : Vue__default["default"].extend(component);
223
- this.ref = new Component(props).$mount();
224
- }
225
- get element() {
226
- return this.ref.$el;
227
- }
228
- updateProps(props = {}) {
229
- var _a, _b, _c;
230
- if (!this.ref.$props) {
231
- return;
232
- }
233
- // prevents `Avoid mutating a prop directly` error message
234
- // Fix: `VueNodeViewRenderer` change vue Constructor `config.silent` not working
235
- const currentVueConstructor = (_c = (_b = (_a = this.ref.$props.editor) === null || _a === void 0 ? void 0 : _a.contentComponent) === null || _b === void 0 ? void 0 : _b.$options._base) !== null && _c !== void 0 ? _c : Vue__default["default"]; // eslint-disable-line
236
- const originalSilent = currentVueConstructor.config.silent;
237
- currentVueConstructor.config.silent = true;
238
- Object
239
- .entries(props)
240
- .forEach(([key, value]) => {
241
- this.ref.$props[key] = value;
242
- });
243
- currentVueConstructor.config.silent = originalSilent;
244
- }
245
- destroy() {
246
- this.ref.$destroy();
247
- }
211
+ /**
212
+ * The VueRenderer class is responsible for rendering a Vue component as a ProseMirror node view.
213
+ */
214
+ class VueRenderer {
215
+ constructor(component, props) {
216
+ const Component = (typeof component === 'function') ? component : Vue.extend(component);
217
+ this.ref = new Component(props).$mount();
218
+ }
219
+ get element() {
220
+ return this.ref.$el;
221
+ }
222
+ updateProps(props = {}) {
223
+ var _a, _b, _c;
224
+ if (!this.ref.$props) {
225
+ return;
226
+ }
227
+ // prevents `Avoid mutating a prop directly` error message
228
+ // Fix: `VueNodeViewRenderer` change vue Constructor `config.silent` not working
229
+ const currentVueConstructor = (_c = (_b = (_a = this.ref.$props.editor) === null || _a === void 0 ? void 0 : _a.contentComponent) === null || _b === void 0 ? void 0 : _b.$options._base) !== null && _c !== void 0 ? _c : Vue; // eslint-disable-line
230
+ const originalSilent = currentVueConstructor.config.silent;
231
+ currentVueConstructor.config.silent = true;
232
+ Object
233
+ .entries(props)
234
+ .forEach(([key, value]) => {
235
+ this.ref.$props[key] = value;
236
+ });
237
+ currentVueConstructor.config.silent = originalSilent;
238
+ }
239
+ destroy() {
240
+ this.ref.$destroy();
241
+ }
248
242
  }
249
243
 
250
- const nodeViewProps = {
251
- editor: vueTsTypes.objectProp().required,
252
- node: vueTsTypes.objectProp().required,
253
- decorations: vueTsTypes.objectProp().required,
254
- selected: vueTsTypes.booleanProp().required,
255
- extension: vueTsTypes.objectProp().required,
256
- getPos: vueTsTypes.functionProp().required,
257
- updateAttributes: vueTsTypes.functionProp().required,
258
- deleteNode: vueTsTypes.functionProp().required,
259
- };
260
- class VueNodeView extends core.NodeView {
261
- mount() {
262
- var _a, _b;
263
- const props = {
264
- editor: this.editor,
265
- node: this.node,
266
- decorations: this.decorations,
267
- selected: false,
268
- extension: this.extension,
269
- getPos: () => this.getPos(),
270
- updateAttributes: (attributes = {}) => this.updateAttributes(attributes),
271
- deleteNode: () => this.deleteNode(),
272
- };
273
- const onDragStart = this.onDragStart.bind(this);
274
- this.decorationClasses = Vue__default["default"].observable({
275
- value: this.getDecorationClasses(),
276
- });
277
- // @ts-ignore
278
- const vue = (_b = (_a = this.editor.contentComponent) === null || _a === void 0 ? void 0 : _a.$options._base) !== null && _b !== void 0 ? _b : Vue__default["default"]; // eslint-disable-line
279
- const Component = vue.extend(this.component).extend({
280
- props: Object.keys(props),
281
- provide: () => {
282
- return {
283
- onDragStart,
284
- decorationClasses: this.decorationClasses,
285
- };
286
- },
287
- });
288
- this.renderer = new VueRenderer(Component, {
289
- parent: this.editor.contentComponent,
290
- propsData: props,
291
- });
292
- }
293
- get dom() {
294
- if (!this.renderer.element.hasAttribute('data-node-view-wrapper')) {
295
- throw Error('Please use the NodeViewWrapper component for your node view.');
296
- }
297
- return this.renderer.element;
298
- }
299
- get contentDOM() {
300
- if (this.node.isLeaf) {
301
- return null;
302
- }
303
- const contentElement = this.dom.querySelector('[data-node-view-content]');
304
- return (contentElement || this.dom);
305
- }
306
- update(node, decorations) {
307
- const updateProps = (props) => {
308
- this.decorationClasses.value = this.getDecorationClasses();
309
- this.renderer.updateProps(props);
310
- };
311
- if (typeof this.options.update === 'function') {
312
- const oldNode = this.node;
313
- const oldDecorations = this.decorations;
314
- this.node = node;
315
- this.decorations = decorations;
316
- return this.options.update({
317
- oldNode,
318
- oldDecorations,
319
- newNode: node,
320
- newDecorations: decorations,
321
- updateProps: () => updateProps({ node, decorations }),
322
- });
323
- }
324
- if (node.type !== this.node.type) {
325
- return false;
326
- }
327
- if (node === this.node && this.decorations === decorations) {
328
- return true;
329
- }
330
- this.node = node;
331
- this.decorations = decorations;
332
- updateProps({ node, decorations });
333
- return true;
334
- }
335
- selectNode() {
336
- this.renderer.updateProps({
337
- selected: true,
338
- });
339
- this.renderer.element.classList.add('ProseMirror-selectednode');
340
- }
341
- deselectNode() {
342
- this.renderer.updateProps({
343
- selected: false,
344
- });
345
- this.renderer.element.classList.remove('ProseMirror-selectednode');
346
- }
347
- getDecorationClasses() {
348
- return (this.decorations
349
- // @ts-ignore
350
- .map(item => item.type.attrs.class)
351
- .flat()
352
- .join(' '));
353
- }
354
- destroy() {
355
- this.renderer.destroy();
356
- }
357
- }
358
- function VueNodeViewRenderer(component, options) {
359
- return (props) => {
360
- // try to get the parent component
361
- // this is important for vue devtools to show the component hierarchy correctly
362
- // maybe it’s `undefined` because <editor-content> isn’t rendered yet
363
- if (!props.editor.contentComponent) {
364
- return {};
365
- }
366
- return new VueNodeView(component, props, options);
367
- };
244
+ const nodeViewProps = {
245
+ editor: vueTsTypes.objectProp().required,
246
+ node: vueTsTypes.objectProp().required,
247
+ decorations: vueTsTypes.objectProp().required,
248
+ selected: vueTsTypes.booleanProp().required,
249
+ extension: vueTsTypes.objectProp().required,
250
+ getPos: vueTsTypes.functionProp().required,
251
+ updateAttributes: vueTsTypes.functionProp().required,
252
+ deleteNode: vueTsTypes.functionProp().required,
253
+ };
254
+ class VueNodeView extends core.NodeView {
255
+ mount() {
256
+ var _a, _b;
257
+ const props = {
258
+ editor: this.editor,
259
+ node: this.node,
260
+ decorations: this.decorations,
261
+ selected: false,
262
+ extension: this.extension,
263
+ getPos: () => this.getPos(),
264
+ updateAttributes: (attributes = {}) => this.updateAttributes(attributes),
265
+ deleteNode: () => this.deleteNode(),
266
+ };
267
+ const onDragStart = this.onDragStart.bind(this);
268
+ this.decorationClasses = Vue.observable({
269
+ value: this.getDecorationClasses(),
270
+ });
271
+ // @ts-ignore
272
+ const vue = (_b = (_a = this.editor.contentComponent) === null || _a === void 0 ? void 0 : _a.$options._base) !== null && _b !== void 0 ? _b : Vue; // eslint-disable-line
273
+ const Component = vue.extend(this.component).extend({
274
+ props: Object.keys(props),
275
+ provide: () => {
276
+ return {
277
+ onDragStart,
278
+ decorationClasses: this.decorationClasses,
279
+ };
280
+ },
281
+ });
282
+ this.renderer = new VueRenderer(Component, {
283
+ parent: this.editor.contentComponent,
284
+ propsData: props,
285
+ });
286
+ }
287
+ get dom() {
288
+ if (!this.renderer.element.hasAttribute('data-node-view-wrapper')) {
289
+ throw Error('Please use the NodeViewWrapper component for your node view.');
290
+ }
291
+ return this.renderer.element;
292
+ }
293
+ get contentDOM() {
294
+ if (this.node.isLeaf) {
295
+ return null;
296
+ }
297
+ const contentElement = this.dom.querySelector('[data-node-view-content]');
298
+ return (contentElement || this.dom);
299
+ }
300
+ update(node, decorations) {
301
+ const updateProps = (props) => {
302
+ this.decorationClasses.value = this.getDecorationClasses();
303
+ this.renderer.updateProps(props);
304
+ };
305
+ if (typeof this.options.update === 'function') {
306
+ const oldNode = this.node;
307
+ const oldDecorations = this.decorations;
308
+ this.node = node;
309
+ this.decorations = decorations;
310
+ return this.options.update({
311
+ oldNode,
312
+ oldDecorations,
313
+ newNode: node,
314
+ newDecorations: decorations,
315
+ updateProps: () => updateProps({ node, decorations }),
316
+ });
317
+ }
318
+ if (node.type !== this.node.type) {
319
+ return false;
320
+ }
321
+ if (node === this.node && this.decorations === decorations) {
322
+ return true;
323
+ }
324
+ this.node = node;
325
+ this.decorations = decorations;
326
+ updateProps({ node, decorations });
327
+ return true;
328
+ }
329
+ selectNode() {
330
+ this.renderer.updateProps({
331
+ selected: true,
332
+ });
333
+ this.renderer.element.classList.add('ProseMirror-selectednode');
334
+ }
335
+ deselectNode() {
336
+ this.renderer.updateProps({
337
+ selected: false,
338
+ });
339
+ this.renderer.element.classList.remove('ProseMirror-selectednode');
340
+ }
341
+ getDecorationClasses() {
342
+ return (this.decorations
343
+ // @ts-ignore
344
+ .map(item => item.type.attrs.class)
345
+ .flat()
346
+ .join(' '));
347
+ }
348
+ destroy() {
349
+ this.renderer.destroy();
350
+ }
351
+ }
352
+ function VueNodeViewRenderer(component, options) {
353
+ return (props) => {
354
+ // try to get the parent component
355
+ // this is important for vue devtools to show the component hierarchy correctly
356
+ // maybe it’s `undefined` because <editor-content> isn’t rendered yet
357
+ if (!props.editor.contentComponent) {
358
+ return {};
359
+ }
360
+ return new VueNodeView(component, props, options);
361
+ };
368
362
  }
369
363
 
370
364
  exports.BubbleMenu = BubbleMenu;
@@ -377,7 +371,7 @@ exports.VueNodeViewRenderer = VueNodeViewRenderer;
377
371
  exports.VueRenderer = VueRenderer;
378
372
  exports.nodeViewProps = nodeViewProps;
379
373
  Object.keys(core).forEach(function (k) {
380
- if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
374
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
381
375
  enumerable: true,
382
376
  get: function () { return core[k]; }
383
377
  });