@dialpad/dialtone-vue 3.182.4 → 3.184.0

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 (52) hide show
  1. package/dist/component-documentation.json +1 -1
  2. package/dist/lib/emoji-picker/emoji-picker-constants.cjs +1 -1
  3. package/dist/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
  4. package/dist/lib/emoji-picker/emoji-picker-constants.js +4 -3
  5. package/dist/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
  6. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  7. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  8. package/dist/lib/emoji-picker/emoji-picker.js +518 -415
  9. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  10. package/dist/lib/hovercard/hovercard.cjs +1 -1
  11. package/dist/lib/hovercard/hovercard.cjs.map +1 -1
  12. package/dist/lib/hovercard/hovercard.js +57 -43
  13. package/dist/lib/hovercard/hovercard.js.map +1 -1
  14. package/dist/lib/rich-text-editor/mention-suggestion.cjs +1 -1
  15. package/dist/lib/rich-text-editor/mention-suggestion.cjs.map +1 -1
  16. package/dist/lib/rich-text-editor/mention-suggestion.js +34 -15
  17. package/dist/lib/rich-text-editor/mention-suggestion.js.map +1 -1
  18. package/dist/lib/rich-text-editor/rich-text-editor.cjs +3 -3
  19. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  20. package/dist/lib/rich-text-editor/rich-text-editor.js +264 -212
  21. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  22. package/dist/lib/toggle/toggle.cjs +1 -1
  23. package/dist/lib/toggle/toggle.cjs.map +1 -1
  24. package/dist/lib/toggle/toggle.js +27 -18
  25. package/dist/lib/toggle/toggle.js.map +1 -1
  26. package/dist/node_modules/@tiptap/vue-3.cjs +1 -1
  27. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  28. package/dist/node_modules/@tiptap/vue-3.js +165 -115
  29. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  30. package/dist/style.css +1 -0
  31. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts +1 -1
  32. package/dist/types/components/emoji_picker/emoji_picker.vue.d.ts.map +1 -1
  33. package/dist/types/components/emoji_picker/emoji_picker_constants.d.ts +1 -0
  34. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +1 -1
  35. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
  36. package/dist/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  37. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  38. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +26 -2
  39. package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +26 -2
  40. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +26 -2
  41. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +5 -0
  42. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
  43. package/dist/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +26 -2
  44. package/dist/types/components/rich_text_editor/mention_suggestion.d.ts +23 -3
  45. package/dist/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
  46. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  47. package/dist/types/components/toggle/toggle.vue.d.ts +9 -0
  48. package/dist/types/components/toggle/toggle.vue.d.ts.map +1 -1
  49. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +1 -1
  50. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +26 -2
  51. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +1 -1
  52. package/package.json +34 -34
@@ -1,8 +1,8 @@
1
1
  import { BubbleMenuPlugin as g } from "@tiptap/extension-bubble-menu";
2
- import { defineComponent as d, ref as a, onMounted as p, onBeforeUnmount as l, h as u, getCurrentInstance as y, watchEffect as w, nextTick as C, unref as b, markRaw as v, shallowRef as _, reactive as x, render as c, customRef as S, provide as h } from "vue";
3
- import { Editor as P, NodeView as N } from "@tiptap/core";
2
+ import { defineComponent as d, ref as l, onMounted as c, onBeforeUnmount as a, h as u, getCurrentInstance as y, watchEffect as b, nextTick as C, unref as w, markRaw as f, shallowRef as S, reactive as _, render as h, customRef as x, provide as v } from "vue";
3
+ import { Editor as N, NodeView as O } from "@tiptap/core";
4
4
  export * from "@tiptap/core";
5
- import { FloatingMenuPlugin as O } from "@tiptap/extension-floating-menu";
5
+ import { FloatingMenuPlugin as P } from "@tiptap/extension-floating-menu";
6
6
  const A = d({
7
7
  name: "BubbleMenu",
8
8
  props: {
@@ -27,34 +27,34 @@ const A = d({
27
27
  default: null
28
28
  }
29
29
  },
30
- setup(r, { slots: e }) {
31
- const n = a(null);
32
- return p(() => {
33
- const { updateDelay: t, editor: o, pluginKey: i, shouldShow: s, tippyOptions: f } = r;
30
+ setup(r, { slots: t }) {
31
+ const n = l(null);
32
+ return c(() => {
33
+ const { updateDelay: e, editor: o, pluginKey: i, shouldShow: s, tippyOptions: p } = r;
34
34
  o.registerPlugin(g({
35
- updateDelay: t,
35
+ updateDelay: e,
36
36
  editor: o,
37
37
  element: n.value,
38
38
  pluginKey: i,
39
39
  shouldShow: s,
40
- tippyOptions: f
40
+ tippyOptions: p
41
41
  }));
42
- }), l(() => {
43
- const { pluginKey: t, editor: o } = r;
44
- o.unregisterPlugin(t);
42
+ }), a(() => {
43
+ const { pluginKey: e, editor: o } = r;
44
+ o.unregisterPlugin(e);
45
45
  }), () => {
46
- var t;
47
- return u("div", { ref: n }, (t = e.default) === null || t === void 0 ? void 0 : t.call(e));
46
+ var e;
47
+ return u("div", { ref: n }, (e = t.default) === null || e === void 0 ? void 0 : e.call(t));
48
48
  };
49
49
  }
50
50
  });
51
51
  function m(r) {
52
- return S((e, n) => ({
52
+ return x((t, n) => ({
53
53
  get() {
54
- return e(), r;
54
+ return t(), r;
55
55
  },
56
- set(t) {
57
- r = t, requestAnimationFrame(() => {
56
+ set(e) {
57
+ r = e, requestAnimationFrame(() => {
58
58
  requestAnimationFrame(() => {
59
59
  n();
60
60
  });
@@ -62,11 +62,11 @@ function m(r) {
62
62
  }
63
63
  }));
64
64
  }
65
- class E extends P {
66
- constructor(e = {}) {
67
- return super(e), this.contentComponent = null, this.appContext = null, this.reactiveState = m(this.view.state), this.reactiveExtensionStorage = m(this.extensionStorage), this.on("beforeTransaction", ({ nextState: n }) => {
65
+ class D extends N {
66
+ constructor(t = {}) {
67
+ return super(t), this.contentComponent = null, this.appContext = null, this.reactiveState = m(this.view.state), this.reactiveExtensionStorage = m(this.extensionStorage), this.on("beforeTransaction", ({ nextState: n }) => {
68
68
  this.reactiveState.value = n, this.reactiveExtensionStorage.value = this.extensionStorage;
69
- }), v(this);
69
+ }), f(this);
70
70
  }
71
71
  get state() {
72
72
  return this.reactiveState ? this.reactiveState.value : this.view.state;
@@ -77,17 +77,19 @@ class E extends P {
77
77
  /**
78
78
  * Register a ProseMirror plugin.
79
79
  */
80
- registerPlugin(e, n) {
81
- super.registerPlugin(e, n), this.reactiveState.value = this.view.state;
80
+ registerPlugin(t, n) {
81
+ const e = super.registerPlugin(t, n);
82
+ return this.reactiveState && (this.reactiveState.value = e), e;
82
83
  }
83
84
  /**
84
85
  * Unregister a ProseMirror plugin.
85
86
  */
86
- unregisterPlugin(e) {
87
- super.unregisterPlugin(e), this.reactiveState.value = this.view.state;
87
+ unregisterPlugin(t) {
88
+ const n = super.unregisterPlugin(t);
89
+ return this.reactiveState && n && (this.reactiveState.value = n), n;
88
90
  }
89
91
  }
90
- const K = d({
92
+ const U = d({
91
93
  name: "EditorContent",
92
94
  props: {
93
95
  editor: {
@@ -96,34 +98,27 @@ const K = d({
96
98
  }
97
99
  },
98
100
  setup(r) {
99
- const e = a(), n = y();
100
- return w(() => {
101
- const t = r.editor;
102
- t && t.options.element && e.value && C(() => {
103
- if (!e.value || !t.options.element.firstChild)
101
+ const t = l(), n = y();
102
+ return b(() => {
103
+ const e = r.editor;
104
+ e && e.options.element && t.value && C(() => {
105
+ if (!t.value || !e.options.element.firstChild)
104
106
  return;
105
- const o = b(e.value);
106
- e.value.append(...t.options.element.childNodes), t.contentComponent = n.ctx._, n && (t.appContext = {
107
+ const o = w(t.value);
108
+ t.value.append(...e.options.element.childNodes), e.contentComponent = n.ctx._, n && (e.appContext = {
107
109
  ...n.appContext,
108
110
  // Vue internally uses prototype chain to forward/shadow injects across the entire component chain
109
111
  // so don't use object spread operator or 'Object.assign' and just set `provides` as is on editor's appContext
110
112
  // @ts-expect-error forward instance's 'provides' into appContext
111
113
  provides: n.provides
112
- }), t.setOptions({
114
+ }), e.setOptions({
113
115
  element: o
114
- }), t.createNodeViews();
116
+ }), e.createNodeViews();
115
117
  });
116
- }), l(() => {
117
- const t = r.editor;
118
- if (!t || (t.isDestroyed || t.view.setProps({
119
- nodeViews: {}
120
- }), t.contentComponent = null, t.appContext = null, !t.options.element.firstChild))
121
- return;
122
- const o = document.createElement("div");
123
- o.append(...t.options.element.childNodes), t.setOptions({
124
- element: o
125
- });
126
- }), { rootEl: e };
118
+ }), a(() => {
119
+ const e = r.editor;
120
+ e && (e.contentComponent = null, e.appContext = null);
121
+ }), { rootEl: t };
127
122
  },
128
123
  render() {
129
124
  return u("div", {
@@ -132,7 +127,7 @@ const K = d({
132
127
  }
133
128
  });
134
129
  }
135
- }), R = d({
130
+ }), K = d({
136
131
  name: "FloatingMenu",
137
132
  props: {
138
133
  pluginKey: {
@@ -154,26 +149,26 @@ const K = d({
154
149
  default: null
155
150
  }
156
151
  },
157
- setup(r, { slots: e }) {
158
- const n = a(null);
159
- return p(() => {
160
- const { pluginKey: t, editor: o, tippyOptions: i, shouldShow: s } = r;
161
- o.registerPlugin(O({
162
- pluginKey: t,
152
+ setup(r, { slots: t }) {
153
+ const n = l(null);
154
+ return c(() => {
155
+ const { pluginKey: e, editor: o, tippyOptions: i, shouldShow: s } = r;
156
+ o.registerPlugin(P({
157
+ pluginKey: e,
163
158
  editor: o,
164
159
  element: n.value,
165
160
  tippyOptions: i,
166
161
  shouldShow: s
167
162
  }));
168
- }), l(() => {
169
- const { pluginKey: t, editor: o } = r;
170
- o.unregisterPlugin(t);
163
+ }), a(() => {
164
+ const { pluginKey: e, editor: o } = r;
165
+ o.unregisterPlugin(e);
171
166
  }), () => {
172
- var t;
173
- return u("div", { ref: n }, (t = e.default) === null || t === void 0 ? void 0 : t.call(e));
167
+ var e;
168
+ return u("div", { ref: n }, (e = t.default) === null || e === void 0 ? void 0 : e.call(t));
174
169
  };
175
170
  }
176
- }), B = d({
171
+ }), L = d({
177
172
  name: "NodeViewContent",
178
173
  props: {
179
174
  as: {
@@ -189,7 +184,7 @@ const K = d({
189
184
  "data-node-view-content": ""
190
185
  });
191
186
  }
192
- }), k = d({
187
+ }), R = d({
193
188
  name: "NodeViewWrapper",
194
189
  props: {
195
190
  as: {
@@ -199,7 +194,7 @@ const K = d({
199
194
  },
200
195
  inject: ["onDragStart", "decorationClasses"],
201
196
  render() {
202
- var r, e;
197
+ var r, t;
203
198
  return u(this.as, {
204
199
  // @ts-ignore
205
200
  class: this.decorationClasses,
@@ -209,44 +204,45 @@ const K = d({
209
204
  "data-node-view-wrapper": "",
210
205
  // @ts-ignore (https://github.com/vuejs/vue-next/issues/3031)
211
206
  onDragstart: this.onDragStart
212
- }, (e = (r = this.$slots).default) === null || e === void 0 ? void 0 : e.call(r));
207
+ }, (t = (r = this.$slots).default) === null || t === void 0 ? void 0 : t.call(r));
213
208
  }
214
- }), I = (r = {}) => {
215
- const e = _();
216
- return p(() => {
217
- e.value = new E(r);
218
- }), l(() => {
219
- var n;
220
- (n = e.value) === null || n === void 0 || n.destroy();
221
- }), e;
209
+ }), B = (r = {}) => {
210
+ const t = S();
211
+ return c(() => {
212
+ t.value = new D(r);
213
+ }), a(() => {
214
+ var n, e, o;
215
+ const i = (n = t.value) === null || n === void 0 ? void 0 : n.options.element, s = i == null ? void 0 : i.cloneNode(!0);
216
+ (e = i == null ? void 0 : i.parentNode) === null || e === void 0 || e.replaceChild(s, i), (o = t.value) === null || o === void 0 || o.destroy();
217
+ }), t;
222
218
  };
223
- class D {
224
- constructor(e, { props: n = {}, editor: t }) {
225
- this.editor = t, this.component = v(e), this.el = document.createElement("div"), this.props = x(n), this.renderedComponent = this.renderComponent();
219
+ class E {
220
+ constructor(t, { props: n = {}, editor: e }) {
221
+ this.editor = e, this.component = f(t), this.el = document.createElement("div"), this.props = _(n), this.renderedComponent = this.renderComponent();
226
222
  }
227
223
  get element() {
228
224
  return this.renderedComponent.el;
229
225
  }
230
226
  get ref() {
231
- var e, n, t, o;
232
- return !((n = (e = this.renderedComponent.vNode) === null || e === void 0 ? void 0 : e.component) === null || n === void 0) && n.exposed ? this.renderedComponent.vNode.component.exposed : (o = (t = this.renderedComponent.vNode) === null || t === void 0 ? void 0 : t.component) === null || o === void 0 ? void 0 : o.proxy;
227
+ var t, n, e, o;
228
+ return !((n = (t = this.renderedComponent.vNode) === null || t === void 0 ? void 0 : t.component) === null || n === void 0) && n.exposed ? this.renderedComponent.vNode.component.exposed : (o = (e = this.renderedComponent.vNode) === null || e === void 0 ? void 0 : e.component) === null || o === void 0 ? void 0 : o.proxy;
233
229
  }
234
230
  renderComponent() {
235
- let e = u(this.component, this.props);
236
- return this.editor.appContext && (e.appContext = this.editor.appContext), typeof document < "u" && this.el && c(e, this.el), { vNode: e, destroy: () => {
237
- this.el && c(null, this.el), this.el = null, e = null;
231
+ let t = u(this.component, this.props);
232
+ return this.editor.appContext && (t.appContext = this.editor.appContext), typeof document < "u" && this.el && h(t, this.el), { vNode: t, destroy: () => {
233
+ this.el && h(null, this.el), this.el = null, t = null;
238
234
  }, el: this.el ? this.el.firstElementChild : null };
239
235
  }
240
- updateProps(e = {}) {
241
- Object.entries(e).forEach(([n, t]) => {
242
- this.props[n] = t;
236
+ updateProps(t = {}) {
237
+ Object.entries(t).forEach(([n, e]) => {
238
+ this.props[n] = e;
243
239
  }), this.renderComponent();
244
240
  }
245
241
  destroy() {
246
242
  this.renderedComponent.destroy();
247
243
  }
248
244
  }
249
- const L = {
245
+ const T = {
250
246
  editor: {
251
247
  type: Object,
252
248
  required: !0
@@ -278,28 +274,43 @@ const L = {
278
274
  deleteNode: {
279
275
  type: Function,
280
276
  required: !0
277
+ },
278
+ view: {
279
+ type: Object,
280
+ required: !0
281
+ },
282
+ innerDecorations: {
283
+ type: Object,
284
+ required: !0
285
+ },
286
+ HTMLAttributes: {
287
+ type: Object,
288
+ required: !0
281
289
  }
282
290
  };
283
- class j extends N {
291
+ class j extends O {
284
292
  mount() {
285
- const e = {
293
+ const t = {
286
294
  editor: this.editor,
287
295
  node: this.node,
288
296
  decorations: this.decorations,
297
+ innerDecorations: this.innerDecorations,
298
+ view: this.view,
289
299
  selected: !1,
290
300
  extension: this.extension,
301
+ HTMLAttributes: this.HTMLAttributes,
291
302
  getPos: () => this.getPos(),
292
303
  updateAttributes: (o = {}) => this.updateAttributes(o),
293
304
  deleteNode: () => this.deleteNode()
294
305
  }, n = this.onDragStart.bind(this);
295
- this.decorationClasses = a(this.getDecorationClasses());
296
- const t = d({
306
+ this.decorationClasses = l(this.getDecorationClasses());
307
+ const e = d({
297
308
  extends: { ...this.component },
298
- props: Object.keys(e),
309
+ props: Object.keys(t),
299
310
  template: this.component.template,
300
311
  setup: (o) => {
301
312
  var i, s;
302
- return h("onDragStart", n), h("decorationClasses", this.decorationClasses), (s = (i = this.component).setup) === null || s === void 0 ? void 0 : s.call(i, o, {
313
+ return v("onDragStart", n), v("decorationClasses", this.decorationClasses), (s = (i = this.component).setup) === null || s === void 0 ? void 0 : s.call(i, o, {
303
314
  expose: () => {
304
315
  }
305
316
  });
@@ -320,70 +331,109 @@ class j extends N {
320
331
  // eslint-disable-next-line
321
332
  __file: this.component.__file
322
333
  });
323
- this.renderer = new D(t, {
334
+ this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this), this.editor.on("selectionUpdate", this.handleSelectionUpdate), this.renderer = new E(e, {
324
335
  editor: this.editor,
325
- props: e
336
+ props: t
326
337
  });
327
338
  }
339
+ /**
340
+ * Return the DOM element.
341
+ * This is the element that will be used to display the node view.
342
+ */
328
343
  get dom() {
329
344
  if (!this.renderer.element || !this.renderer.element.hasAttribute("data-node-view-wrapper"))
330
345
  throw Error("Please use the NodeViewWrapper component for your node view.");
331
346
  return this.renderer.element;
332
347
  }
348
+ /**
349
+ * Return the content DOM element.
350
+ * This is the element that will be used to display the rich-text content of the node.
351
+ */
333
352
  get contentDOM() {
334
353
  return this.node.isLeaf ? null : this.dom.querySelector("[data-node-view-content]");
335
354
  }
336
- update(e, n) {
337
- const t = (o) => {
338
- this.decorationClasses.value = this.getDecorationClasses(), this.renderer.updateProps(o);
355
+ /**
356
+ * On editor selection update, check if the node is selected.
357
+ * If it is, call `selectNode`, otherwise call `deselectNode`.
358
+ */
359
+ handleSelectionUpdate() {
360
+ const { from: t, to: n } = this.editor.state.selection, e = this.getPos();
361
+ if (typeof e == "number")
362
+ if (t <= e && n >= e + this.node.nodeSize) {
363
+ if (this.renderer.props.selected)
364
+ return;
365
+ this.selectNode();
366
+ } else {
367
+ if (!this.renderer.props.selected)
368
+ return;
369
+ this.deselectNode();
370
+ }
371
+ }
372
+ /**
373
+ * On update, update the React component.
374
+ * To prevent unnecessary updates, the `update` option can be used.
375
+ */
376
+ update(t, n, e) {
377
+ const o = (i) => {
378
+ this.decorationClasses.value = this.getDecorationClasses(), this.renderer.updateProps(i);
339
379
  };
340
380
  if (typeof this.options.update == "function") {
341
- const o = this.node, i = this.decorations;
342
- return this.node = e, this.decorations = n, this.options.update({
343
- oldNode: o,
344
- oldDecorations: i,
345
- newNode: e,
381
+ const i = this.node, s = this.decorations, p = this.innerDecorations;
382
+ return this.node = t, this.decorations = n, this.innerDecorations = e, this.options.update({
383
+ oldNode: i,
384
+ oldDecorations: s,
385
+ newNode: t,
346
386
  newDecorations: n,
347
- updateProps: () => t({ node: e, decorations: n })
387
+ oldInnerDecorations: p,
388
+ innerDecorations: e,
389
+ updateProps: () => o({ node: t, decorations: n, innerDecorations: e })
348
390
  });
349
391
  }
350
- return e.type !== this.node.type ? !1 : (e === this.node && this.decorations === n || (this.node = e, this.decorations = n, t({ node: e, decorations: n })), !0);
392
+ return t.type !== this.node.type ? !1 : (t === this.node && this.decorations === n && this.innerDecorations === e || (this.node = t, this.decorations = n, this.innerDecorations = e, o({ node: t, decorations: n, innerDecorations: e })), !0);
351
393
  }
394
+ /**
395
+ * Select the node.
396
+ * Add the `selected` prop and the `ProseMirror-selectednode` class.
397
+ */
352
398
  selectNode() {
353
399
  this.renderer.updateProps({
354
400
  selected: !0
355
401
  }), this.renderer.element && this.renderer.element.classList.add("ProseMirror-selectednode");
356
402
  }
403
+ /**
404
+ * Deselect the node.
405
+ * Remove the `selected` prop and the `ProseMirror-selectednode` class.
406
+ */
357
407
  deselectNode() {
358
408
  this.renderer.updateProps({
359
409
  selected: !1
360
410
  }), this.renderer.element && this.renderer.element.classList.remove("ProseMirror-selectednode");
361
411
  }
362
412
  getDecorationClasses() {
363
- return this.decorations.map((e) => e.type.attrs.class).flat().join(" ");
413
+ return this.decorations.map((t) => t.type.attrs.class).flat().join(" ");
364
414
  }
365
415
  destroy() {
366
- this.renderer.destroy();
416
+ this.renderer.destroy(), this.editor.off("selectionUpdate", this.handleSelectionUpdate);
367
417
  }
368
418
  }
369
- function W(r, e) {
419
+ function I(r, t) {
370
420
  return (n) => {
371
421
  if (!n.editor.contentComponent)
372
422
  return {};
373
- const t = typeof r == "function" && "__vccOpts" in r ? r.__vccOpts : r;
374
- return new j(t, n, e);
423
+ const e = typeof r == "function" && "__vccOpts" in r ? r.__vccOpts : r;
424
+ return new j(e, n, t);
375
425
  };
376
426
  }
377
427
  export {
378
428
  A as BubbleMenu,
379
- E as Editor,
380
- K as EditorContent,
381
- R as FloatingMenu,
382
- B as NodeViewContent,
383
- k as NodeViewWrapper,
384
- W as VueNodeViewRenderer,
385
- D as VueRenderer,
386
- L as nodeViewProps,
387
- I as useEditor
429
+ D as Editor,
430
+ U as EditorContent,
431
+ K as FloatingMenu,
432
+ L as NodeViewContent,
433
+ R as NodeViewWrapper,
434
+ I as VueNodeViewRenderer,
435
+ E as VueRenderer,
436
+ T as nodeViewProps,
437
+ B as useEditor
388
438
  };
389
439
  //# sourceMappingURL=vue-3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vue-3.js","sources":["../../../../../node_modules/.pnpm/@tiptap+vue-3@2.6.6_@tiptap+core@2.6.6_@tiptap+pm@2.6.6__@tiptap+pm@2.6.6_vue@3.4.15_typescript@5.6.3_/node_modules/@tiptap/vue-3/dist/index.js"],"sourcesContent":["import { BubbleMenuPlugin } from '@tiptap/extension-bubble-menu';\nimport { defineComponent, ref, onMounted, onBeforeUnmount, h, markRaw, customRef, getCurrentInstance, watchEffect, nextTick, unref, shallowRef, reactive, render, provide } from 'vue';\nimport { Editor as Editor$1, NodeView } from '@tiptap/core';\nexport * from '@tiptap/core';\nimport { FloatingMenuPlugin } from '@tiptap/extension-floating-menu';\n\nconst BubbleMenu = defineComponent({\n name: 'BubbleMenu',\n props: {\n pluginKey: {\n type: [String, Object],\n default: 'bubbleMenu',\n },\n editor: {\n type: Object,\n required: true,\n },\n updateDelay: {\n type: Number,\n default: undefined,\n },\n tippyOptions: {\n type: Object,\n default: () => ({}),\n },\n shouldShow: {\n type: Function,\n default: null,\n },\n },\n setup(props, { slots }) {\n const root = ref(null);\n onMounted(() => {\n const { updateDelay, editor, pluginKey, shouldShow, tippyOptions, } = props;\n editor.registerPlugin(BubbleMenuPlugin({\n updateDelay,\n editor,\n element: root.value,\n pluginKey,\n shouldShow,\n tippyOptions,\n }));\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => { var _a; return h('div', { ref: root }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); };\n },\n});\n\n/* eslint-disable react-hooks/rules-of-hooks */\nfunction useDebouncedRef(value) {\n return customRef((track, trigger) => {\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n // update state\n value = newValue;\n // update view as soon as possible\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n trigger();\n });\n });\n },\n };\n });\n}\nclass Editor extends Editor$1 {\n constructor(options = {}) {\n super(options);\n this.contentComponent = null;\n this.appContext = null;\n this.reactiveState = useDebouncedRef(this.view.state);\n this.reactiveExtensionStorage = useDebouncedRef(this.extensionStorage);\n this.on('beforeTransaction', ({ nextState }) => {\n this.reactiveState.value = nextState;\n this.reactiveExtensionStorage.value = this.extensionStorage;\n });\n return markRaw(this); // eslint-disable-line\n }\n get state() {\n return this.reactiveState ? this.reactiveState.value : this.view.state;\n }\n get storage() {\n return this.reactiveExtensionStorage ? this.reactiveExtensionStorage.value : super.storage;\n }\n /**\n * Register a ProseMirror plugin.\n */\n registerPlugin(plugin, handlePlugins) {\n super.registerPlugin(plugin, handlePlugins);\n this.reactiveState.value = this.view.state;\n }\n /**\n * Unregister a ProseMirror plugin.\n */\n unregisterPlugin(nameOrPluginKey) {\n super.unregisterPlugin(nameOrPluginKey);\n this.reactiveState.value = this.view.state;\n }\n}\n\nconst EditorContent = defineComponent({\n name: 'EditorContent',\n props: {\n editor: {\n default: null,\n type: Object,\n },\n },\n setup(props) {\n const rootEl = ref();\n const instance = getCurrentInstance();\n watchEffect(() => {\n const editor = props.editor;\n if (editor && editor.options.element && rootEl.value) {\n nextTick(() => {\n if (!rootEl.value || !editor.options.element.firstChild) {\n return;\n }\n const element = unref(rootEl.value);\n rootEl.value.append(...editor.options.element.childNodes);\n // @ts-ignore\n editor.contentComponent = instance.ctx._;\n if (instance) {\n editor.appContext = {\n ...instance.appContext,\n // Vue internally uses prototype chain to forward/shadow injects across the entire component chain\n // so don't use object spread operator or 'Object.assign' and just set `provides` as is on editor's appContext\n // @ts-expect-error forward instance's 'provides' into appContext\n provides: instance.provides,\n };\n }\n editor.setOptions({\n element,\n });\n editor.createNodeViews();\n });\n }\n });\n onBeforeUnmount(() => {\n const editor = props.editor;\n if (!editor) {\n return;\n }\n // destroy nodeviews before vue removes dom element\n if (!editor.isDestroyed) {\n editor.view.setProps({\n nodeViews: {},\n });\n }\n editor.contentComponent = null;\n editor.appContext = null;\n if (!editor.options.element.firstChild) {\n return;\n }\n const newElement = document.createElement('div');\n newElement.append(...editor.options.element.childNodes);\n editor.setOptions({\n element: newElement,\n });\n });\n return { rootEl };\n },\n render() {\n return h('div', {\n ref: (el) => { this.rootEl = el; },\n });\n },\n});\n\nconst FloatingMenu = defineComponent({\n name: 'FloatingMenu',\n props: {\n pluginKey: {\n // TODO: TypeScript breaks :(\n // type: [String, Object as PropType<Exclude<FloatingMenuPluginProps['pluginKey'], string>>],\n type: null,\n default: 'floatingMenu',\n },\n editor: {\n type: Object,\n required: true,\n },\n tippyOptions: {\n type: Object,\n default: () => ({}),\n },\n shouldShow: {\n type: Function,\n default: null,\n },\n },\n setup(props, { slots }) {\n const root = ref(null);\n onMounted(() => {\n const { pluginKey, editor, tippyOptions, shouldShow, } = props;\n editor.registerPlugin(FloatingMenuPlugin({\n pluginKey,\n editor,\n element: root.value,\n tippyOptions,\n shouldShow,\n }));\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => { var _a; return h('div', { ref: root }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); };\n },\n});\n\nconst NodeViewContent = defineComponent({\n name: 'NodeViewContent',\n props: {\n as: {\n type: String,\n default: 'div',\n },\n },\n render() {\n return h(this.as, {\n style: {\n whiteSpace: 'pre-wrap',\n },\n 'data-node-view-content': '',\n });\n },\n});\n\nconst NodeViewWrapper = defineComponent({\n name: 'NodeViewWrapper',\n props: {\n as: {\n type: String,\n default: 'div',\n },\n },\n inject: ['onDragStart', 'decorationClasses'],\n render() {\n var _a, _b;\n return h(this.as, {\n // @ts-ignore\n class: this.decorationClasses,\n style: {\n whiteSpace: 'normal',\n },\n 'data-node-view-wrapper': '',\n // @ts-ignore (https://github.com/vuejs/vue-next/issues/3031)\n onDragstart: this.onDragStart,\n }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));\n },\n});\n\nconst useEditor = (options = {}) => {\n const editor = shallowRef();\n onMounted(() => {\n editor.value = new Editor(options);\n });\n onBeforeUnmount(() => {\n var _a;\n (_a = editor.value) === null || _a === void 0 ? void 0 : _a.destroy();\n });\n return editor;\n};\n\n/**\n * This class is used to render Vue components inside the editor.\n */\nclass VueRenderer {\n constructor(component, { props = {}, editor }) {\n this.editor = editor;\n this.component = markRaw(component);\n this.el = document.createElement('div');\n this.props = reactive(props);\n this.renderedComponent = this.renderComponent();\n }\n get element() {\n return this.renderedComponent.el;\n }\n get ref() {\n var _a, _b, _c, _d;\n // Composition API\n if ((_b = (_a = this.renderedComponent.vNode) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.exposed) {\n return this.renderedComponent.vNode.component.exposed;\n }\n // Option API\n return (_d = (_c = this.renderedComponent.vNode) === null || _c === void 0 ? void 0 : _c.component) === null || _d === void 0 ? void 0 : _d.proxy;\n }\n renderComponent() {\n let vNode = h(this.component, this.props);\n if (this.editor.appContext) {\n vNode.appContext = this.editor.appContext;\n }\n if (typeof document !== 'undefined' && this.el) {\n render(vNode, this.el);\n }\n const destroy = () => {\n if (this.el) {\n render(null, this.el);\n }\n this.el = null;\n vNode = null;\n };\n return { vNode, destroy, el: this.el ? this.el.firstElementChild : null };\n }\n updateProps(props = {}) {\n Object.entries(props).forEach(([key, value]) => {\n this.props[key] = value;\n });\n this.renderComponent();\n }\n destroy() {\n this.renderedComponent.destroy();\n }\n}\n\nconst nodeViewProps = {\n editor: {\n type: Object,\n required: true,\n },\n node: {\n type: Object,\n required: true,\n },\n decorations: {\n type: Object,\n required: true,\n },\n selected: {\n type: Boolean,\n required: true,\n },\n extension: {\n type: Object,\n required: true,\n },\n getPos: {\n type: Function,\n required: true,\n },\n updateAttributes: {\n type: Function,\n required: true,\n },\n deleteNode: {\n type: Function,\n required: true,\n },\n};\nclass VueNodeView extends NodeView {\n mount() {\n const props = {\n editor: this.editor,\n node: this.node,\n decorations: this.decorations,\n selected: false,\n extension: this.extension,\n getPos: () => this.getPos(),\n updateAttributes: (attributes = {}) => this.updateAttributes(attributes),\n deleteNode: () => this.deleteNode(),\n };\n const onDragStart = this.onDragStart.bind(this);\n this.decorationClasses = ref(this.getDecorationClasses());\n const extendedComponent = defineComponent({\n extends: { ...this.component },\n props: Object.keys(props),\n template: this.component.template,\n setup: reactiveProps => {\n var _a, _b;\n provide('onDragStart', onDragStart);\n provide('decorationClasses', this.decorationClasses);\n return (_b = (_a = this.component).setup) === null || _b === void 0 ? void 0 : _b.call(_a, reactiveProps, {\n expose: () => undefined,\n });\n },\n // add support for scoped styles\n // @ts-ignore\n // eslint-disable-next-line\n __scopeId: this.component.__scopeId,\n // add support for CSS Modules\n // @ts-ignore\n // eslint-disable-next-line\n __cssModules: this.component.__cssModules,\n // add support for vue devtools\n // @ts-ignore\n // eslint-disable-next-line\n __name: this.component.__name,\n // @ts-ignore\n // eslint-disable-next-line\n __file: this.component.__file,\n });\n this.renderer = new VueRenderer(extendedComponent, {\n editor: this.editor,\n props,\n });\n }\n get dom() {\n if (!this.renderer.element || !this.renderer.element.hasAttribute('data-node-view-wrapper')) {\n throw Error('Please use the NodeViewWrapper component for your node view.');\n }\n return this.renderer.element;\n }\n get contentDOM() {\n if (this.node.isLeaf) {\n return null;\n }\n return this.dom.querySelector('[data-node-view-content]');\n }\n update(node, decorations) {\n const updateProps = (props) => {\n this.decorationClasses.value = this.getDecorationClasses();\n this.renderer.updateProps(props);\n };\n if (typeof this.options.update === 'function') {\n const oldNode = this.node;\n const oldDecorations = this.decorations;\n this.node = node;\n this.decorations = decorations;\n return this.options.update({\n oldNode,\n oldDecorations,\n newNode: node,\n newDecorations: decorations,\n updateProps: () => updateProps({ node, decorations }),\n });\n }\n if (node.type !== this.node.type) {\n return false;\n }\n if (node === this.node && this.decorations === decorations) {\n return true;\n }\n this.node = node;\n this.decorations = decorations;\n updateProps({ node, decorations });\n return true;\n }\n selectNode() {\n this.renderer.updateProps({\n selected: true,\n });\n if (this.renderer.element) {\n this.renderer.element.classList.add('ProseMirror-selectednode');\n }\n }\n deselectNode() {\n this.renderer.updateProps({\n selected: false,\n });\n if (this.renderer.element) {\n this.renderer.element.classList.remove('ProseMirror-selectednode');\n }\n }\n getDecorationClasses() {\n return (this.decorations\n // @ts-ignore\n .map(item => item.type.attrs.class)\n .flat()\n .join(' '));\n }\n destroy() {\n this.renderer.destroy();\n }\n}\nfunction VueNodeViewRenderer(component, options) {\n return (props) => {\n // try to get the parent component\n // this is important for vue devtools to show the component hierarchy correctly\n // maybe it’s `undefined` because <editor-content> isn’t rendered yet\n if (!props.editor.contentComponent) {\n return {};\n }\n // check for class-component and normalize if neccessary\n const normalizedComponent = typeof component === 'function' && '__vccOpts' in component\n // eslint-disable-next-line no-underscore-dangle\n ? component.__vccOpts\n : component;\n return new VueNodeView(normalizedComponent, props, options);\n };\n}\n\nexport { BubbleMenu, Editor, EditorContent, FloatingMenu, NodeViewContent, NodeViewWrapper, VueNodeViewRenderer, VueRenderer, nodeViewProps, useEditor };\n//# sourceMappingURL=index.js.map\n"],"names":["BubbleMenu","defineComponent","props","slots","root","ref","onMounted","updateDelay","editor","pluginKey","shouldShow","tippyOptions","BubbleMenuPlugin","onBeforeUnmount","_a","h","useDebouncedRef","value","customRef","track","trigger","newValue","Editor","Editor$1","options","nextState","markRaw","plugin","handlePlugins","nameOrPluginKey","EditorContent","rootEl","instance","getCurrentInstance","watchEffect","nextTick","element","unref","newElement","el","FloatingMenu","FloatingMenuPlugin","NodeViewContent","NodeViewWrapper","_b","useEditor","shallowRef","VueRenderer","component","reactive","_c","_d","vNode","render","key","nodeViewProps","VueNodeView","NodeView","attributes","onDragStart","extendedComponent","reactiveProps","provide","node","decorations","updateProps","oldNode","oldDecorations","item","VueNodeViewRenderer","normalizedComponent"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"vue-3.js","sources":["../../../../../node_modules/.pnpm/@tiptap+vue-3@2.12.0_@tiptap+core@2.12.0_@tiptap+pm@2.12.0__@tiptap+pm@2.12.0_vue@3.4.15_typescript@5.6.3_/node_modules/@tiptap/vue-3/dist/index.js"],"sourcesContent":["import { BubbleMenuPlugin } from '@tiptap/extension-bubble-menu';\nimport { defineComponent, ref, onMounted, onBeforeUnmount, h, markRaw, customRef, getCurrentInstance, watchEffect, nextTick, unref, shallowRef, reactive, render, provide } from 'vue';\nimport { Editor as Editor$1, NodeView } from '@tiptap/core';\nexport * from '@tiptap/core';\nimport { FloatingMenuPlugin } from '@tiptap/extension-floating-menu';\n\nconst BubbleMenu = defineComponent({\n name: 'BubbleMenu',\n props: {\n pluginKey: {\n type: [String, Object],\n default: 'bubbleMenu',\n },\n editor: {\n type: Object,\n required: true,\n },\n updateDelay: {\n type: Number,\n default: undefined,\n },\n tippyOptions: {\n type: Object,\n default: () => ({}),\n },\n shouldShow: {\n type: Function,\n default: null,\n },\n },\n setup(props, { slots }) {\n const root = ref(null);\n onMounted(() => {\n const { updateDelay, editor, pluginKey, shouldShow, tippyOptions, } = props;\n editor.registerPlugin(BubbleMenuPlugin({\n updateDelay,\n editor,\n element: root.value,\n pluginKey,\n shouldShow,\n tippyOptions,\n }));\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => { var _a; return h('div', { ref: root }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); };\n },\n});\n\n/* eslint-disable react-hooks/rules-of-hooks */\nfunction useDebouncedRef(value) {\n return customRef((track, trigger) => {\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n // update state\n value = newValue;\n // update view as soon as possible\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n trigger();\n });\n });\n },\n };\n });\n}\nclass Editor extends Editor$1 {\n constructor(options = {}) {\n super(options);\n this.contentComponent = null;\n this.appContext = null;\n this.reactiveState = useDebouncedRef(this.view.state);\n this.reactiveExtensionStorage = useDebouncedRef(this.extensionStorage);\n this.on('beforeTransaction', ({ nextState }) => {\n this.reactiveState.value = nextState;\n this.reactiveExtensionStorage.value = this.extensionStorage;\n });\n return markRaw(this); // eslint-disable-line\n }\n get state() {\n return this.reactiveState ? this.reactiveState.value : this.view.state;\n }\n get storage() {\n return this.reactiveExtensionStorage ? this.reactiveExtensionStorage.value : super.storage;\n }\n /**\n * Register a ProseMirror plugin.\n */\n registerPlugin(plugin, handlePlugins) {\n const nextState = super.registerPlugin(plugin, handlePlugins);\n if (this.reactiveState) {\n this.reactiveState.value = nextState;\n }\n return nextState;\n }\n /**\n * Unregister a ProseMirror plugin.\n */\n unregisterPlugin(nameOrPluginKey) {\n const nextState = super.unregisterPlugin(nameOrPluginKey);\n if (this.reactiveState && nextState) {\n this.reactiveState.value = nextState;\n }\n return nextState;\n }\n}\n\nconst EditorContent = defineComponent({\n name: 'EditorContent',\n props: {\n editor: {\n default: null,\n type: Object,\n },\n },\n setup(props) {\n const rootEl = ref();\n const instance = getCurrentInstance();\n watchEffect(() => {\n const editor = props.editor;\n if (editor && editor.options.element && rootEl.value) {\n nextTick(() => {\n if (!rootEl.value || !editor.options.element.firstChild) {\n return;\n }\n const element = unref(rootEl.value);\n rootEl.value.append(...editor.options.element.childNodes);\n // @ts-ignore\n editor.contentComponent = instance.ctx._;\n if (instance) {\n editor.appContext = {\n ...instance.appContext,\n // Vue internally uses prototype chain to forward/shadow injects across the entire component chain\n // so don't use object spread operator or 'Object.assign' and just set `provides` as is on editor's appContext\n // @ts-expect-error forward instance's 'provides' into appContext\n provides: instance.provides,\n };\n }\n editor.setOptions({\n element,\n });\n editor.createNodeViews();\n });\n }\n });\n onBeforeUnmount(() => {\n const editor = props.editor;\n if (!editor) {\n return;\n }\n editor.contentComponent = null;\n editor.appContext = null;\n });\n return { rootEl };\n },\n render() {\n return h('div', {\n ref: (el) => { this.rootEl = el; },\n });\n },\n});\n\nconst FloatingMenu = defineComponent({\n name: 'FloatingMenu',\n props: {\n pluginKey: {\n // TODO: TypeScript breaks :(\n // type: [String, Object as PropType<Exclude<FloatingMenuPluginProps['pluginKey'], string>>],\n type: null,\n default: 'floatingMenu',\n },\n editor: {\n type: Object,\n required: true,\n },\n tippyOptions: {\n type: Object,\n default: () => ({}),\n },\n shouldShow: {\n type: Function,\n default: null,\n },\n },\n setup(props, { slots }) {\n const root = ref(null);\n onMounted(() => {\n const { pluginKey, editor, tippyOptions, shouldShow, } = props;\n editor.registerPlugin(FloatingMenuPlugin({\n pluginKey,\n editor,\n element: root.value,\n tippyOptions,\n shouldShow,\n }));\n });\n onBeforeUnmount(() => {\n const { pluginKey, editor } = props;\n editor.unregisterPlugin(pluginKey);\n });\n return () => { var _a; return h('div', { ref: root }, (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)); };\n },\n});\n\nconst NodeViewContent = defineComponent({\n name: 'NodeViewContent',\n props: {\n as: {\n type: String,\n default: 'div',\n },\n },\n render() {\n return h(this.as, {\n style: {\n whiteSpace: 'pre-wrap',\n },\n 'data-node-view-content': '',\n });\n },\n});\n\nconst NodeViewWrapper = defineComponent({\n name: 'NodeViewWrapper',\n props: {\n as: {\n type: String,\n default: 'div',\n },\n },\n inject: ['onDragStart', 'decorationClasses'],\n render() {\n var _a, _b;\n return h(this.as, {\n // @ts-ignore\n class: this.decorationClasses,\n style: {\n whiteSpace: 'normal',\n },\n 'data-node-view-wrapper': '',\n // @ts-ignore (https://github.com/vuejs/vue-next/issues/3031)\n onDragstart: this.onDragStart,\n }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));\n },\n});\n\nconst useEditor = (options = {}) => {\n const editor = shallowRef();\n onMounted(() => {\n editor.value = new Editor(options);\n });\n onBeforeUnmount(() => {\n var _a, _b, _c;\n // Cloning root node (and its children) to avoid content being lost by destroy\n const nodes = (_a = editor.value) === null || _a === void 0 ? void 0 : _a.options.element;\n const newEl = nodes === null || nodes === void 0 ? void 0 : nodes.cloneNode(true);\n (_b = nodes === null || nodes === void 0 ? void 0 : nodes.parentNode) === null || _b === void 0 ? void 0 : _b.replaceChild(newEl, nodes);\n (_c = editor.value) === null || _c === void 0 ? void 0 : _c.destroy();\n });\n return editor;\n};\n\n/**\n * This class is used to render Vue components inside the editor.\n */\nclass VueRenderer {\n constructor(component, { props = {}, editor }) {\n this.editor = editor;\n this.component = markRaw(component);\n this.el = document.createElement('div');\n this.props = reactive(props);\n this.renderedComponent = this.renderComponent();\n }\n get element() {\n return this.renderedComponent.el;\n }\n get ref() {\n var _a, _b, _c, _d;\n // Composition API\n if ((_b = (_a = this.renderedComponent.vNode) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.exposed) {\n return this.renderedComponent.vNode.component.exposed;\n }\n // Option API\n return (_d = (_c = this.renderedComponent.vNode) === null || _c === void 0 ? void 0 : _c.component) === null || _d === void 0 ? void 0 : _d.proxy;\n }\n renderComponent() {\n let vNode = h(this.component, this.props);\n if (this.editor.appContext) {\n vNode.appContext = this.editor.appContext;\n }\n if (typeof document !== 'undefined' && this.el) {\n render(vNode, this.el);\n }\n const destroy = () => {\n if (this.el) {\n render(null, this.el);\n }\n this.el = null;\n vNode = null;\n };\n return { vNode, destroy, el: this.el ? this.el.firstElementChild : null };\n }\n updateProps(props = {}) {\n Object.entries(props).forEach(([key, value]) => {\n this.props[key] = value;\n });\n this.renderComponent();\n }\n destroy() {\n this.renderedComponent.destroy();\n }\n}\n\n/* eslint-disable no-underscore-dangle */\nconst nodeViewProps = {\n editor: {\n type: Object,\n required: true,\n },\n node: {\n type: Object,\n required: true,\n },\n decorations: {\n type: Object,\n required: true,\n },\n selected: {\n type: Boolean,\n required: true,\n },\n extension: {\n type: Object,\n required: true,\n },\n getPos: {\n type: Function,\n required: true,\n },\n updateAttributes: {\n type: Function,\n required: true,\n },\n deleteNode: {\n type: Function,\n required: true,\n },\n view: {\n type: Object,\n required: true,\n },\n innerDecorations: {\n type: Object,\n required: true,\n },\n HTMLAttributes: {\n type: Object,\n required: true,\n },\n};\nclass VueNodeView extends NodeView {\n mount() {\n const props = {\n editor: this.editor,\n node: this.node,\n decorations: this.decorations,\n innerDecorations: this.innerDecorations,\n view: this.view,\n selected: false,\n extension: this.extension,\n HTMLAttributes: this.HTMLAttributes,\n getPos: () => this.getPos(),\n updateAttributes: (attributes = {}) => this.updateAttributes(attributes),\n deleteNode: () => this.deleteNode(),\n };\n const onDragStart = this.onDragStart.bind(this);\n this.decorationClasses = ref(this.getDecorationClasses());\n const extendedComponent = defineComponent({\n extends: { ...this.component },\n props: Object.keys(props),\n template: this.component.template,\n setup: reactiveProps => {\n var _a, _b;\n provide('onDragStart', onDragStart);\n provide('decorationClasses', this.decorationClasses);\n return (_b = (_a = this.component).setup) === null || _b === void 0 ? void 0 : _b.call(_a, reactiveProps, {\n expose: () => undefined,\n });\n },\n // add support for scoped styles\n // @ts-ignore\n // eslint-disable-next-line\n __scopeId: this.component.__scopeId,\n // add support for CSS Modules\n // @ts-ignore\n // eslint-disable-next-line\n __cssModules: this.component.__cssModules,\n // add support for vue devtools\n // @ts-ignore\n // eslint-disable-next-line\n __name: this.component.__name,\n // @ts-ignore\n // eslint-disable-next-line\n __file: this.component.__file,\n });\n this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this);\n this.editor.on('selectionUpdate', this.handleSelectionUpdate);\n this.renderer = new VueRenderer(extendedComponent, {\n editor: this.editor,\n props,\n });\n }\n /**\n * Return the DOM element.\n * This is the element that will be used to display the node view.\n */\n get dom() {\n if (!this.renderer.element || !this.renderer.element.hasAttribute('data-node-view-wrapper')) {\n throw Error('Please use the NodeViewWrapper component for your node view.');\n }\n return this.renderer.element;\n }\n /**\n * Return the content DOM element.\n * This is the element that will be used to display the rich-text content of the node.\n */\n get contentDOM() {\n if (this.node.isLeaf) {\n return null;\n }\n return this.dom.querySelector('[data-node-view-content]');\n }\n /**\n * On editor selection update, check if the node is selected.\n * If it is, call `selectNode`, otherwise call `deselectNode`.\n */\n handleSelectionUpdate() {\n const { from, to } = this.editor.state.selection;\n const pos = this.getPos();\n if (typeof pos !== 'number') {\n return;\n }\n if (from <= pos && to >= pos + this.node.nodeSize) {\n if (this.renderer.props.selected) {\n return;\n }\n this.selectNode();\n }\n else {\n if (!this.renderer.props.selected) {\n return;\n }\n this.deselectNode();\n }\n }\n /**\n * On update, update the React component.\n * To prevent unnecessary updates, the `update` option can be used.\n */\n update(node, decorations, innerDecorations) {\n const rerenderComponent = (props) => {\n this.decorationClasses.value = this.getDecorationClasses();\n this.renderer.updateProps(props);\n };\n if (typeof this.options.update === 'function') {\n const oldNode = this.node;\n const oldDecorations = this.decorations;\n const oldInnerDecorations = this.innerDecorations;\n this.node = node;\n this.decorations = decorations;\n this.innerDecorations = innerDecorations;\n return this.options.update({\n oldNode,\n oldDecorations,\n newNode: node,\n newDecorations: decorations,\n oldInnerDecorations,\n innerDecorations,\n updateProps: () => rerenderComponent({ node, decorations, innerDecorations }),\n });\n }\n if (node.type !== this.node.type) {\n return false;\n }\n if (node === this.node && this.decorations === decorations && this.innerDecorations === innerDecorations) {\n return true;\n }\n this.node = node;\n this.decorations = decorations;\n this.innerDecorations = innerDecorations;\n rerenderComponent({ node, decorations, innerDecorations });\n return true;\n }\n /**\n * Select the node.\n * Add the `selected` prop and the `ProseMirror-selectednode` class.\n */\n selectNode() {\n this.renderer.updateProps({\n selected: true,\n });\n if (this.renderer.element) {\n this.renderer.element.classList.add('ProseMirror-selectednode');\n }\n }\n /**\n * Deselect the node.\n * Remove the `selected` prop and the `ProseMirror-selectednode` class.\n */\n deselectNode() {\n this.renderer.updateProps({\n selected: false,\n });\n if (this.renderer.element) {\n this.renderer.element.classList.remove('ProseMirror-selectednode');\n }\n }\n getDecorationClasses() {\n return (this.decorations\n // @ts-ignore\n .map(item => item.type.attrs.class)\n .flat()\n .join(' '));\n }\n destroy() {\n this.renderer.destroy();\n this.editor.off('selectionUpdate', this.handleSelectionUpdate);\n }\n}\nfunction VueNodeViewRenderer(component, options) {\n return props => {\n // try to get the parent component\n // this is important for vue devtools to show the component hierarchy correctly\n // maybe it’s `undefined` because <editor-content> isn’t rendered yet\n if (!props.editor.contentComponent) {\n return {};\n }\n // check for class-component and normalize if neccessary\n const normalizedComponent = typeof component === 'function' && '__vccOpts' in component\n ? component.__vccOpts\n : component;\n return new VueNodeView(normalizedComponent, props, options);\n };\n}\n\nexport { BubbleMenu, Editor, EditorContent, FloatingMenu, NodeViewContent, NodeViewWrapper, VueNodeViewRenderer, VueRenderer, nodeViewProps, useEditor };\n//# sourceMappingURL=index.js.map\n"],"names":["BubbleMenu","defineComponent","props","slots","root","ref","onMounted","updateDelay","editor","pluginKey","shouldShow","tippyOptions","BubbleMenuPlugin","onBeforeUnmount","_a","h","useDebouncedRef","value","customRef","track","trigger","newValue","Editor","Editor$1","options","nextState","markRaw","plugin","handlePlugins","nameOrPluginKey","EditorContent","rootEl","instance","getCurrentInstance","watchEffect","nextTick","element","unref","el","FloatingMenu","FloatingMenuPlugin","NodeViewContent","NodeViewWrapper","_b","useEditor","shallowRef","_c","nodes","newEl","VueRenderer","component","reactive","_d","vNode","render","key","nodeViewProps","VueNodeView","NodeView","attributes","onDragStart","extendedComponent","reactiveProps","provide","from","to","pos","node","decorations","innerDecorations","rerenderComponent","oldNode","oldDecorations","oldInnerDecorations","item","VueNodeViewRenderer","normalizedComponent"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .d-mention-suggestion__container[data-v-19e00c7c]{width:100%}.d-mention-suggestion__details-container[data-v-19e00c7c]{width:90%}.d-mention-suggestion__presence[data-v-19e00c7c]{min-width:fit-content;margin-left:var(--dt-space-200)}.d-mention-suggestion__status[data-v-19e00c7c]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--dt-color-foreground-tertiary);margin-left:var(--dt-space-100)}.d-mention-suggestion__divider[data-v-19e00c7c]{color:var(--dt-color-foreground-tertiary)}
@@ -1,5 +1,5 @@
1
1
  declare const _default: import('vue').DefineComponent<{}, {
2
- $emit: (event: "close" | "selected-emoji" | "skin-tone", ...args: any[]) => void;
2
+ $emit: (event: "close" | "selected-emoji" | "scroll-bottom-reached" | "skin-tone" | "add-emoji", ...args: any[]) => void;
3
3
  $props: {
4
4
  readonly [x: string]: any;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"emoji_picker.vue.d.ts","sourceRoot":"","sources":["../../../../components/emoji_picker/emoji_picker.vue"],"names":[],"mappings":"AA8DA;"}
1
+ {"version":3,"file":"emoji_picker.vue.d.ts","sourceRoot":"","sources":["../../../../components/emoji_picker/emoji_picker.vue"],"names":[],"mappings":"AA0EA;"}
@@ -24,6 +24,7 @@ export namespace EMOJI_PICKER_CATEGORIES {
24
24
  let OBJECTS: string;
25
25
  let SYMBOLS: string;
26
26
  let FLAGS: string;
27
+ let CUSTOM: string;
27
28
  }
28
29
  declare namespace _default {
29
30
  export { EMOJI_PICKER_SKIN_TONE_MODIFIERS };
@@ -1,7 +1,7 @@
1
1
  declare const _default: import('vue').DefineComponent<{}, {
2
2
  focusEmojiSelector: typeof focusEmojiSelector;
3
3
  focusLastEmoji: typeof focusLastEmoji;
4
- $emit: (event: "focus-search-input" | "focus-skin-selector" | "highlighted-emoji" | "selected-emoji" | "scroll-into-tab", ...args: any[]) => void;
4
+ $emit: (event: "focus-search-input" | "focus-skin-selector" | "highlighted-emoji" | "selected-emoji" | "scroll-into-tab" | "scroll-bottom-reached", ...args: any[]) => void;
5
5
  $props: {
6
6
  readonly [x: string]: any;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"emoji_selector.vue.d.ts","sourceRoot":"","sources":["../../../../../components/emoji_picker/modules/emoji_selector.vue"],"names":[],"mappings":"AAqGA;;;;;;;;;;AAo+BA,4CAEC;AAED,wCAEC"}
1
+ {"version":3,"file":"emoji_selector.vue.d.ts","sourceRoot":"","sources":["../../../../../components/emoji_picker/modules/emoji_selector.vue"],"names":[],"mappings":"AAqGA;;;;;;;;;;AAgmCA,4CAEC;AAED,wCAEC"}