@tiptap/vue-2 2.5.0-beta.2 → 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.umd.js CHANGED
@@ -4,363 +4,359 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@tiptap/vue-2"] = {}, global.extensionBubbleMenu, global.core, global.extensionFloatingMenu, global.Vue, global.vueTsTypes));
5
5
  })(this, (function (exports, extensionBubbleMenu, core, extensionFloatingMenu, Vue, vueTsTypes) { 'use strict';
6
6
 
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var Vue__default = /*#__PURE__*/_interopDefaultLegacy(Vue);
10
-
11
- const BubbleMenu = {
12
- name: 'BubbleMenu',
13
- props: {
14
- pluginKey: {
15
- type: [String, Object],
16
- default: 'bubbleMenu',
17
- },
18
- editor: {
19
- type: Object,
20
- required: true,
21
- },
22
- updateDelay: {
23
- type: Number,
24
- },
25
- tippyOptions: {
26
- type: Object,
27
- default: () => ({}),
28
- },
29
- shouldShow: {
30
- type: Function,
31
- default: null,
32
- },
33
- },
34
- watch: {
35
- editor: {
36
- immediate: true,
37
- handler(editor) {
38
- if (!editor) {
39
- return;
40
- }
41
- this.$nextTick(() => {
42
- editor.registerPlugin(extensionBubbleMenu.BubbleMenuPlugin({
43
- updateDelay: this.updateDelay,
44
- editor,
45
- element: this.$el,
46
- pluginKey: this.pluginKey,
47
- shouldShow: this.shouldShow,
48
- tippyOptions: this.tippyOptions,
49
- }));
50
- });
51
- },
52
- },
53
- },
54
- render(createElement) {
55
- return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);
56
- },
57
- beforeDestroy() {
58
- this.editor.unregisterPlugin(this.pluginKey);
59
- },
7
+ const BubbleMenu = {
8
+ name: 'BubbleMenu',
9
+ props: {
10
+ pluginKey: {
11
+ type: [String, Object],
12
+ default: 'bubbleMenu',
13
+ },
14
+ editor: {
15
+ type: Object,
16
+ required: true,
17
+ },
18
+ updateDelay: {
19
+ type: Number,
20
+ },
21
+ tippyOptions: {
22
+ type: Object,
23
+ default: () => ({}),
24
+ },
25
+ shouldShow: {
26
+ type: Function,
27
+ default: null,
28
+ },
29
+ },
30
+ watch: {
31
+ editor: {
32
+ immediate: true,
33
+ handler(editor) {
34
+ if (!editor) {
35
+ return;
36
+ }
37
+ this.$nextTick(() => {
38
+ editor.registerPlugin(extensionBubbleMenu.BubbleMenuPlugin({
39
+ updateDelay: this.updateDelay,
40
+ editor,
41
+ element: this.$el,
42
+ pluginKey: this.pluginKey,
43
+ shouldShow: this.shouldShow,
44
+ tippyOptions: this.tippyOptions,
45
+ }));
46
+ });
47
+ },
48
+ },
49
+ },
50
+ render(createElement) {
51
+ return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);
52
+ },
53
+ beforeDestroy() {
54
+ this.editor.unregisterPlugin(this.pluginKey);
55
+ },
60
56
  };
61
57
 
62
- class Editor extends core.Editor {
63
- constructor() {
64
- super(...arguments);
65
- this.contentComponent = null;
66
- }
58
+ class Editor extends core.Editor {
59
+ constructor() {
60
+ super(...arguments);
61
+ this.contentComponent = null;
62
+ }
67
63
  }
68
64
 
69
- const EditorContent = {
70
- name: 'EditorContent',
71
- props: {
72
- editor: {
73
- default: null,
74
- type: Object,
75
- },
76
- },
77
- watch: {
78
- editor: {
79
- immediate: true,
80
- handler(editor) {
81
- if (editor && editor.options.element) {
82
- this.$nextTick(() => {
83
- const element = this.$el;
84
- if (!element || !editor.options.element.firstChild) {
85
- return;
86
- }
87
- element.append(...editor.options.element.childNodes);
88
- editor.contentComponent = this;
89
- editor.setOptions({
90
- element,
91
- });
92
- editor.createNodeViews();
93
- });
94
- }
95
- },
96
- },
97
- },
98
- render(createElement) {
99
- return createElement('div');
100
- },
101
- beforeDestroy() {
102
- const { editor } = this;
103
- if (!editor) {
104
- return;
105
- }
106
- if (!editor.isDestroyed) {
107
- editor.view.setProps({
108
- nodeViews: {},
109
- });
110
- }
111
- editor.contentComponent = null;
112
- if (!editor.options.element.firstChild) {
113
- return;
114
- }
115
- const newElement = document.createElement('div');
116
- newElement.append(...editor.options.element.childNodes);
117
- editor.setOptions({
118
- element: newElement,
119
- });
120
- },
65
+ const EditorContent = {
66
+ name: 'EditorContent',
67
+ props: {
68
+ editor: {
69
+ default: null,
70
+ type: Object,
71
+ },
72
+ },
73
+ watch: {
74
+ editor: {
75
+ immediate: true,
76
+ handler(editor) {
77
+ if (editor && editor.options.element) {
78
+ this.$nextTick(() => {
79
+ const element = this.$el;
80
+ if (!element || !editor.options.element.firstChild) {
81
+ return;
82
+ }
83
+ element.append(...editor.options.element.childNodes);
84
+ editor.contentComponent = this;
85
+ editor.setOptions({
86
+ element,
87
+ });
88
+ editor.createNodeViews();
89
+ });
90
+ }
91
+ },
92
+ },
93
+ },
94
+ render(createElement) {
95
+ return createElement('div');
96
+ },
97
+ beforeDestroy() {
98
+ const { editor } = this;
99
+ if (!editor) {
100
+ return;
101
+ }
102
+ if (!editor.isDestroyed) {
103
+ editor.view.setProps({
104
+ nodeViews: {},
105
+ });
106
+ }
107
+ editor.contentComponent = null;
108
+ if (!editor.options.element.firstChild) {
109
+ return;
110
+ }
111
+ const newElement = document.createElement('div');
112
+ newElement.append(...editor.options.element.childNodes);
113
+ editor.setOptions({
114
+ element: newElement,
115
+ });
116
+ },
121
117
  };
122
118
 
123
- const FloatingMenu = {
124
- name: 'FloatingMenu',
125
- props: {
126
- pluginKey: {
127
- type: [String, Object],
128
- default: 'floatingMenu',
129
- },
130
- editor: {
131
- type: Object,
132
- required: true,
133
- },
134
- tippyOptions: {
135
- type: Object,
136
- default: () => ({}),
137
- },
138
- shouldShow: {
139
- type: Function,
140
- default: null,
141
- },
142
- },
143
- watch: {
144
- editor: {
145
- immediate: true,
146
- handler(editor) {
147
- if (!editor) {
148
- return;
149
- }
150
- this.$nextTick(() => {
151
- editor.registerPlugin(extensionFloatingMenu.FloatingMenuPlugin({
152
- pluginKey: this.pluginKey,
153
- editor,
154
- element: this.$el,
155
- tippyOptions: this.tippyOptions,
156
- shouldShow: this.shouldShow,
157
- }));
158
- });
159
- },
160
- },
161
- },
162
- render(createElement) {
163
- return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);
164
- },
165
- beforeDestroy() {
166
- this.editor.unregisterPlugin(this.pluginKey);
167
- },
119
+ const FloatingMenu = {
120
+ name: 'FloatingMenu',
121
+ props: {
122
+ pluginKey: {
123
+ type: [String, Object],
124
+ default: 'floatingMenu',
125
+ },
126
+ editor: {
127
+ type: Object,
128
+ required: true,
129
+ },
130
+ tippyOptions: {
131
+ type: Object,
132
+ default: () => ({}),
133
+ },
134
+ shouldShow: {
135
+ type: Function,
136
+ default: null,
137
+ },
138
+ },
139
+ watch: {
140
+ editor: {
141
+ immediate: true,
142
+ handler(editor) {
143
+ if (!editor) {
144
+ return;
145
+ }
146
+ this.$nextTick(() => {
147
+ editor.registerPlugin(extensionFloatingMenu.FloatingMenuPlugin({
148
+ pluginKey: this.pluginKey,
149
+ editor,
150
+ element: this.$el,
151
+ tippyOptions: this.tippyOptions,
152
+ shouldShow: this.shouldShow,
153
+ }));
154
+ });
155
+ },
156
+ },
157
+ },
158
+ render(createElement) {
159
+ return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);
160
+ },
161
+ beforeDestroy() {
162
+ this.editor.unregisterPlugin(this.pluginKey);
163
+ },
168
164
  };
169
165
 
170
- const NodeViewContent = {
171
- props: {
172
- as: {
173
- type: String,
174
- default: 'div',
175
- },
176
- },
177
- render(createElement) {
178
- return createElement(this.as, {
179
- style: {
180
- whiteSpace: 'pre-wrap',
181
- },
182
- attrs: {
183
- 'data-node-view-content': '',
184
- },
185
- });
186
- },
166
+ const NodeViewContent = {
167
+ props: {
168
+ as: {
169
+ type: String,
170
+ default: 'div',
171
+ },
172
+ },
173
+ render(createElement) {
174
+ return createElement(this.as, {
175
+ style: {
176
+ whiteSpace: 'pre-wrap',
177
+ },
178
+ attrs: {
179
+ 'data-node-view-content': '',
180
+ },
181
+ });
182
+ },
187
183
  };
188
184
 
189
- const NodeViewWrapper = {
190
- props: {
191
- as: {
192
- type: String,
193
- default: 'div',
194
- },
195
- },
196
- inject: ['onDragStart', 'decorationClasses'],
197
- render(createElement) {
198
- return createElement(this.as, {
199
- class: this.decorationClasses.value,
200
- style: {
201
- whiteSpace: 'normal',
202
- },
203
- attrs: {
204
- 'data-node-view-wrapper': '',
205
- },
206
- on: {
207
- dragstart: this.onDragStart,
208
- },
209
- }, this.$slots.default);
210
- },
185
+ const NodeViewWrapper = {
186
+ props: {
187
+ as: {
188
+ type: String,
189
+ default: 'div',
190
+ },
191
+ },
192
+ inject: ['onDragStart', 'decorationClasses'],
193
+ render(createElement) {
194
+ return createElement(this.as, {
195
+ class: this.decorationClasses.value,
196
+ style: {
197
+ whiteSpace: 'normal',
198
+ },
199
+ attrs: {
200
+ 'data-node-view-wrapper': '',
201
+ },
202
+ on: {
203
+ dragstart: this.onDragStart,
204
+ },
205
+ }, this.$slots.default);
206
+ },
211
207
  };
212
208
 
213
- /**
214
- * The VueRenderer class is responsible for rendering a Vue component as a ProseMirror node view.
215
- */
216
- class VueRenderer {
217
- constructor(component, props) {
218
- const Component = (typeof component === 'function') ? component : Vue__default["default"].extend(component);
219
- this.ref = new Component(props).$mount();
220
- }
221
- get element() {
222
- return this.ref.$el;
223
- }
224
- updateProps(props = {}) {
225
- var _a, _b, _c;
226
- if (!this.ref.$props) {
227
- return;
228
- }
229
- // prevents `Avoid mutating a prop directly` error message
230
- // Fix: `VueNodeViewRenderer` change vue Constructor `config.silent` not working
231
- 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
232
- const originalSilent = currentVueConstructor.config.silent;
233
- currentVueConstructor.config.silent = true;
234
- Object
235
- .entries(props)
236
- .forEach(([key, value]) => {
237
- this.ref.$props[key] = value;
238
- });
239
- currentVueConstructor.config.silent = originalSilent;
240
- }
241
- destroy() {
242
- this.ref.$destroy();
243
- }
209
+ /**
210
+ * The VueRenderer class is responsible for rendering a Vue component as a ProseMirror node view.
211
+ */
212
+ class VueRenderer {
213
+ constructor(component, props) {
214
+ const Component = (typeof component === 'function') ? component : Vue.extend(component);
215
+ this.ref = new Component(props).$mount();
216
+ }
217
+ get element() {
218
+ return this.ref.$el;
219
+ }
220
+ updateProps(props = {}) {
221
+ var _a, _b, _c;
222
+ if (!this.ref.$props) {
223
+ return;
224
+ }
225
+ // prevents `Avoid mutating a prop directly` error message
226
+ // Fix: `VueNodeViewRenderer` change vue Constructor `config.silent` not working
227
+ 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
228
+ const originalSilent = currentVueConstructor.config.silent;
229
+ currentVueConstructor.config.silent = true;
230
+ Object
231
+ .entries(props)
232
+ .forEach(([key, value]) => {
233
+ this.ref.$props[key] = value;
234
+ });
235
+ currentVueConstructor.config.silent = originalSilent;
236
+ }
237
+ destroy() {
238
+ this.ref.$destroy();
239
+ }
244
240
  }
245
241
 
246
- const nodeViewProps = {
247
- editor: vueTsTypes.objectProp().required,
248
- node: vueTsTypes.objectProp().required,
249
- decorations: vueTsTypes.objectProp().required,
250
- selected: vueTsTypes.booleanProp().required,
251
- extension: vueTsTypes.objectProp().required,
252
- getPos: vueTsTypes.functionProp().required,
253
- updateAttributes: vueTsTypes.functionProp().required,
254
- deleteNode: vueTsTypes.functionProp().required,
255
- };
256
- class VueNodeView extends core.NodeView {
257
- mount() {
258
- var _a, _b;
259
- const props = {
260
- editor: this.editor,
261
- node: this.node,
262
- decorations: this.decorations,
263
- selected: false,
264
- extension: this.extension,
265
- getPos: () => this.getPos(),
266
- updateAttributes: (attributes = {}) => this.updateAttributes(attributes),
267
- deleteNode: () => this.deleteNode(),
268
- };
269
- const onDragStart = this.onDragStart.bind(this);
270
- this.decorationClasses = Vue__default["default"].observable({
271
- value: this.getDecorationClasses(),
272
- });
273
- // @ts-ignore
274
- 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
275
- const Component = vue.extend(this.component).extend({
276
- props: Object.keys(props),
277
- provide: () => {
278
- return {
279
- onDragStart,
280
- decorationClasses: this.decorationClasses,
281
- };
282
- },
283
- });
284
- this.renderer = new VueRenderer(Component, {
285
- parent: this.editor.contentComponent,
286
- propsData: props,
287
- });
288
- }
289
- get dom() {
290
- if (!this.renderer.element.hasAttribute('data-node-view-wrapper')) {
291
- throw Error('Please use the NodeViewWrapper component for your node view.');
292
- }
293
- return this.renderer.element;
294
- }
295
- get contentDOM() {
296
- if (this.node.isLeaf) {
297
- return null;
298
- }
299
- const contentElement = this.dom.querySelector('[data-node-view-content]');
300
- return (contentElement || this.dom);
301
- }
302
- update(node, decorations) {
303
- const updateProps = (props) => {
304
- this.decorationClasses.value = this.getDecorationClasses();
305
- this.renderer.updateProps(props);
306
- };
307
- if (typeof this.options.update === 'function') {
308
- const oldNode = this.node;
309
- const oldDecorations = this.decorations;
310
- this.node = node;
311
- this.decorations = decorations;
312
- return this.options.update({
313
- oldNode,
314
- oldDecorations,
315
- newNode: node,
316
- newDecorations: decorations,
317
- updateProps: () => updateProps({ node, decorations }),
318
- });
319
- }
320
- if (node.type !== this.node.type) {
321
- return false;
322
- }
323
- if (node === this.node && this.decorations === decorations) {
324
- return true;
325
- }
326
- this.node = node;
327
- this.decorations = decorations;
328
- updateProps({ node, decorations });
329
- return true;
330
- }
331
- selectNode() {
332
- this.renderer.updateProps({
333
- selected: true,
334
- });
335
- this.renderer.element.classList.add('ProseMirror-selectednode');
336
- }
337
- deselectNode() {
338
- this.renderer.updateProps({
339
- selected: false,
340
- });
341
- this.renderer.element.classList.remove('ProseMirror-selectednode');
342
- }
343
- getDecorationClasses() {
344
- return (this.decorations
345
- // @ts-ignore
346
- .map(item => item.type.attrs.class)
347
- .flat()
348
- .join(' '));
349
- }
350
- destroy() {
351
- this.renderer.destroy();
352
- }
353
- }
354
- function VueNodeViewRenderer(component, options) {
355
- return (props) => {
356
- // try to get the parent component
357
- // this is important for vue devtools to show the component hierarchy correctly
358
- // maybe it’s `undefined` because <editor-content> isn’t rendered yet
359
- if (!props.editor.contentComponent) {
360
- return {};
361
- }
362
- return new VueNodeView(component, props, options);
363
- };
242
+ const nodeViewProps = {
243
+ editor: vueTsTypes.objectProp().required,
244
+ node: vueTsTypes.objectProp().required,
245
+ decorations: vueTsTypes.objectProp().required,
246
+ selected: vueTsTypes.booleanProp().required,
247
+ extension: vueTsTypes.objectProp().required,
248
+ getPos: vueTsTypes.functionProp().required,
249
+ updateAttributes: vueTsTypes.functionProp().required,
250
+ deleteNode: vueTsTypes.functionProp().required,
251
+ };
252
+ class VueNodeView extends core.NodeView {
253
+ mount() {
254
+ var _a, _b;
255
+ const props = {
256
+ editor: this.editor,
257
+ node: this.node,
258
+ decorations: this.decorations,
259
+ selected: false,
260
+ extension: this.extension,
261
+ getPos: () => this.getPos(),
262
+ updateAttributes: (attributes = {}) => this.updateAttributes(attributes),
263
+ deleteNode: () => this.deleteNode(),
264
+ };
265
+ const onDragStart = this.onDragStart.bind(this);
266
+ this.decorationClasses = Vue.observable({
267
+ value: this.getDecorationClasses(),
268
+ });
269
+ // @ts-ignore
270
+ 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
271
+ const Component = vue.extend(this.component).extend({
272
+ props: Object.keys(props),
273
+ provide: () => {
274
+ return {
275
+ onDragStart,
276
+ decorationClasses: this.decorationClasses,
277
+ };
278
+ },
279
+ });
280
+ this.renderer = new VueRenderer(Component, {
281
+ parent: this.editor.contentComponent,
282
+ propsData: props,
283
+ });
284
+ }
285
+ get dom() {
286
+ if (!this.renderer.element.hasAttribute('data-node-view-wrapper')) {
287
+ throw Error('Please use the NodeViewWrapper component for your node view.');
288
+ }
289
+ return this.renderer.element;
290
+ }
291
+ get contentDOM() {
292
+ if (this.node.isLeaf) {
293
+ return null;
294
+ }
295
+ const contentElement = this.dom.querySelector('[data-node-view-content]');
296
+ return (contentElement || this.dom);
297
+ }
298
+ update(node, decorations) {
299
+ const updateProps = (props) => {
300
+ this.decorationClasses.value = this.getDecorationClasses();
301
+ this.renderer.updateProps(props);
302
+ };
303
+ if (typeof this.options.update === 'function') {
304
+ const oldNode = this.node;
305
+ const oldDecorations = this.decorations;
306
+ this.node = node;
307
+ this.decorations = decorations;
308
+ return this.options.update({
309
+ oldNode,
310
+ oldDecorations,
311
+ newNode: node,
312
+ newDecorations: decorations,
313
+ updateProps: () => updateProps({ node, decorations }),
314
+ });
315
+ }
316
+ if (node.type !== this.node.type) {
317
+ return false;
318
+ }
319
+ if (node === this.node && this.decorations === decorations) {
320
+ return true;
321
+ }
322
+ this.node = node;
323
+ this.decorations = decorations;
324
+ updateProps({ node, decorations });
325
+ return true;
326
+ }
327
+ selectNode() {
328
+ this.renderer.updateProps({
329
+ selected: true,
330
+ });
331
+ this.renderer.element.classList.add('ProseMirror-selectednode');
332
+ }
333
+ deselectNode() {
334
+ this.renderer.updateProps({
335
+ selected: false,
336
+ });
337
+ this.renderer.element.classList.remove('ProseMirror-selectednode');
338
+ }
339
+ getDecorationClasses() {
340
+ return (this.decorations
341
+ // @ts-ignore
342
+ .map(item => item.type.attrs.class)
343
+ .flat()
344
+ .join(' '));
345
+ }
346
+ destroy() {
347
+ this.renderer.destroy();
348
+ }
349
+ }
350
+ function VueNodeViewRenderer(component, options) {
351
+ return (props) => {
352
+ // try to get the parent component
353
+ // this is important for vue devtools to show the component hierarchy correctly
354
+ // maybe it’s `undefined` because <editor-content> isn’t rendered yet
355
+ if (!props.editor.contentComponent) {
356
+ return {};
357
+ }
358
+ return new VueNodeView(component, props, options);
359
+ };
364
360
  }
365
361
 
366
362
  exports.BubbleMenu = BubbleMenu;
@@ -373,13 +369,11 @@
373
369
  exports.VueRenderer = VueRenderer;
374
370
  exports.nodeViewProps = nodeViewProps;
375
371
  Object.keys(core).forEach(function (k) {
376
- if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
372
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
377
373
  enumerable: true,
378
374
  get: function () { return core[k]; }
379
375
  });
380
376
  });
381
377
 
382
- Object.defineProperty(exports, '__esModule', { value: true });
383
-
384
378
  }));
385
379
  //# sourceMappingURL=index.umd.js.map