@dialpad/dialtone-vue 3.201.0 → 3.202.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 (114) hide show
  1. package/dist/common/dates/index.js +4 -4
  2. package/dist/common/utils/index.js +3 -3
  3. package/dist/dialtone-vue.cjs +1 -1
  4. package/dist/dialtone-vue.js +349 -349
  5. package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
  6. package/dist/lib/avatar/avatar.js +10 -10
  7. package/dist/lib/badge/badge.js +5 -5
  8. package/dist/lib/banner/banner.js +1 -1
  9. package/dist/lib/breadcrumbs/breadcrumb-item.js +2 -2
  10. package/dist/lib/breadcrumbs/breadcrumbs.js +1 -1
  11. package/dist/lib/button/button.js +14 -14
  12. package/dist/lib/button-group/button-group.js +2 -2
  13. package/dist/lib/button-group/buttons-decorator.js +2 -2
  14. package/dist/lib/callbar-button/callbar-button.js +2 -2
  15. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  16. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +9 -9
  17. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  18. package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +9 -9
  19. package/dist/lib/callbox/callbox.js +1 -1
  20. package/dist/lib/card/card.js +4 -4
  21. package/dist/lib/checkbox/checkbox.js +5 -5
  22. package/dist/lib/checkbox-group/checkboxes-decorator.js +1 -1
  23. package/dist/lib/chip/chip.js +7 -7
  24. package/dist/lib/codeblock/codeblock.js +2 -2
  25. package/dist/lib/collapsible/collapsible-lazy-show.js +3 -3
  26. package/dist/lib/collapsible/collapsible.js +8 -8
  27. package/dist/lib/combobox/combobox-empty-list.js +2 -2
  28. package/dist/lib/combobox/combobox-loading-list.js +3 -3
  29. package/dist/lib/combobox/combobox.cjs +1 -1
  30. package/dist/lib/combobox/combobox.js +8 -8
  31. package/dist/lib/combobox-multi-select/combobox-multi-select.js +1 -1
  32. package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  33. package/dist/lib/combobox-with-popover/combobox-with-popover.js +10 -10
  34. package/dist/lib/contact-centers-row/contact-centers-row.js +7 -7
  35. package/dist/lib/contact-info/contact-info.js +1 -1
  36. package/dist/lib/contact-row/contact-row.js +1 -1
  37. package/dist/lib/datepicker/datepicker.js +1 -1
  38. package/dist/lib/datepicker/utils.js +4 -4
  39. package/dist/lib/description-list/description-list.js +3 -3
  40. package/dist/lib/dropdown/dropdown-list.js +4 -4
  41. package/dist/lib/dropdown/dropdown-separator.js +2 -2
  42. package/dist/lib/dropdown/dropdown.js +2 -2
  43. package/dist/lib/editor/editor.js +9 -9
  44. package/dist/lib/emoji/emoji.js +2 -2
  45. package/dist/lib/emoji-picker/emoji-picker.js +1 -1
  46. package/dist/lib/emoji-row/emoji-row.js +6 -6
  47. package/dist/lib/empty-state/empty-state.js +7 -7
  48. package/dist/lib/feed-item-pill/feed-item-pill.js +1 -1
  49. package/dist/lib/feed-item-row/feed-item-row.js +15 -15
  50. package/dist/lib/general-row/general-row.js +13 -13
  51. package/dist/lib/general-row/leftbar-general-row-icon.js +5 -5
  52. package/dist/lib/group-row/group-row.js +2 -2
  53. package/dist/lib/grouped-chip/grouped-chip.js +14 -14
  54. package/dist/lib/hovercard/hovercard.js +2 -2
  55. package/dist/lib/icon/icon.js +3 -3
  56. package/dist/lib/illustration/illustration.js +3 -3
  57. package/dist/lib/image-viewer/image-viewer.js +12 -12
  58. package/dist/lib/input/input.js +10 -10
  59. package/dist/lib/input-group/input-group.js +8 -8
  60. package/dist/lib/item-layout/item-layout.js +13 -13
  61. package/dist/lib/ivr-node/ivr-node.js +9 -9
  62. package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +3 -3
  63. package/dist/lib/lazy-show/lazy-show.js +2 -2
  64. package/dist/lib/link/link.js +2 -2
  65. package/dist/lib/list-item/list-item.js +3 -3
  66. package/dist/lib/list-item-group/list-item-group.js +5 -5
  67. package/dist/lib/loader/loader.js +2 -2
  68. package/dist/lib/message-input/message-input-button.js +5 -5
  69. package/dist/lib/message-input/message-input-link.js +2 -2
  70. package/dist/lib/message-input/message-input-topbar.js +2 -2
  71. package/dist/lib/message-input/message-input.js +1 -1
  72. package/dist/lib/modal/modal.js +1 -1
  73. package/dist/lib/motion-text/motion-text.js +5 -5
  74. package/dist/lib/notice/notice-action.js +1 -1
  75. package/dist/lib/notice/notice-content.js +6 -6
  76. package/dist/lib/notice/notice-icon.js +4 -4
  77. package/dist/lib/notice/notice.js +1 -1
  78. package/dist/lib/pagination/pagination.js +1 -1
  79. package/dist/lib/popover/popover-constants.js +3 -3
  80. package/dist/lib/popover/popover-header-footer.js +6 -6
  81. package/dist/lib/popover/popover.js +7 -7
  82. package/dist/lib/presence/presence.js +4 -4
  83. package/dist/lib/radio/radio.js +10 -10
  84. package/dist/lib/radio-group/radios-decorator.js +1 -1
  85. package/dist/lib/rich-text-editor/rich-text-editor.js +4 -4
  86. package/dist/lib/root-layout/root-layout.js +3 -3
  87. package/dist/lib/scroller/scroller.js +1 -1
  88. package/dist/lib/select-menu/select-menu.js +12 -12
  89. package/dist/lib/settings-menu-button/settings-menu-button.js +3 -3
  90. package/dist/lib/skeleton/skeleton-list-item.js +2 -2
  91. package/dist/lib/skeleton/skeleton-paragraph.js +1 -1
  92. package/dist/lib/skeleton/skeleton-shape.js +2 -2
  93. package/dist/lib/skeleton/skeleton-text.js +4 -4
  94. package/dist/lib/skeleton/skeleton.js +1 -1
  95. package/dist/lib/split-button/split-button-alpha.js +2 -2
  96. package/dist/lib/split-button/split-button-omega.js +2 -2
  97. package/dist/lib/split-button/split-button.js +13 -13
  98. package/dist/lib/stack/stack.js +2 -2
  99. package/dist/lib/stack/utils.js +5 -5
  100. package/dist/lib/stack/validators.js +7 -7
  101. package/dist/lib/tab/tab-group.js +2 -2
  102. package/dist/lib/tab/tab-panel.js +2 -2
  103. package/dist/lib/tab/tab.js +2 -2
  104. package/dist/lib/time-pill/time-pill.js +2 -2
  105. package/dist/lib/toast/toast.js +1 -1
  106. package/dist/lib/toggle/toggle.js +7 -7
  107. package/dist/lib/tooltip/tooltip.js +5 -5
  108. package/dist/lib/top-banner-info/top-banner-info.js +2 -2
  109. package/dist/lib/unread-pill/unread-pill.js +1 -1
  110. package/dist/lib/validation-messages/validation-messages.js +6 -6
  111. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  112. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  113. package/dist/shared/sr_only_close_button.js +2 -2
  114. package/package.json +9 -8
@@ -2,7 +2,7 @@ import { TOOLTIP_DELAY_MS as s, TOOLTIP_KIND_MODIFIERS as c, TOOLTIP_STICKY_VALU
2
2
  import { POPOVER_APPEND_TO_VALUES as m } from "../popover/popover-constants.js";
3
3
  import { returnFirstEl as r, flushPromises as w, warnIfUnmounted as y, hasSlotContent as E, getUniqueString as S } from "../../common/utils/index.js";
4
4
  import { getPopperOptions as a, createTippy as v, getAnchor as g } from "../popover/tippy-utils.js";
5
- import { createElementBlock as h, openBlock as l, createCommentVNode as A, createElementVNode as T, withKeys as P, renderSlot as d, normalizeClass as L, createTextVNode as O, toDisplayString as b } from "vue";
5
+ import { openBlock as h, createElementBlock as l, withKeys as A, renderSlot as d, createCommentVNode as T, createElementVNode as P, normalizeClass as L, createTextVNode as O, toDisplayString as b } from "vue";
6
6
  import { _ as x } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
7
7
  const I = {
8
8
  compatConfig: { MODE: 3 },
@@ -353,8 +353,8 @@ const I = {
353
353
  }
354
354
  }, k = { "data-qa": "dt-tooltip-container" }, C = ["id"];
355
355
  function M(e, t, n, _, u, o) {
356
- return l(), h("div", k, [
357
- n.externalAnchor ? A("", !0) : (l(), h("span", {
356
+ return h(), l("div", k, [
357
+ n.externalAnchor ? T("", !0) : (h(), l("span", {
358
358
  key: 0,
359
359
  ref: "anchor",
360
360
  "data-qa": "dt-tooltip-anchor",
@@ -362,11 +362,11 @@ function M(e, t, n, _, u, o) {
362
362
  onFocusout: t[1] || (t[1] = (...i) => o.onLeaveAnchor && o.onLeaveAnchor(...i)),
363
363
  onMouseenter: t[2] || (t[2] = (...i) => o.onEnterAnchor && o.onEnterAnchor(...i)),
364
364
  onMouseleave: t[3] || (t[3] = (...i) => o.onLeaveAnchor && o.onLeaveAnchor(...i)),
365
- onKeydown: t[4] || (t[4] = P((...i) => o.onLeaveAnchor && o.onLeaveAnchor(...i), ["esc"]))
365
+ onKeydown: t[4] || (t[4] = A((...i) => o.onLeaveAnchor && o.onLeaveAnchor(...i), ["esc"]))
366
366
  }, [
367
367
  d(e.$slots, "anchor")
368
368
  ], 544)),
369
- T("div", {
369
+ P("div", {
370
370
  id: n.id,
371
371
  ref: "content",
372
372
  "data-qa": "dt-tooltip",
@@ -1,5 +1,5 @@
1
1
  import { COLOR_CODES as i } from "./top-banner-info-constants.js";
2
- import { createElementBlock as t, openBlock as a, normalizeClass as s, createElementVNode as n, renderSlot as o } from "vue";
2
+ import { openBlock as t, createElementBlock as a, normalizeClass as s, createElementVNode as n, renderSlot as o } from "vue";
3
3
  import { _ as c } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const d = {
5
5
  compatConfig: { MODE: 3 },
@@ -37,7 +37,7 @@ const d = {
37
37
  "data-qa": "banner-info--middle"
38
38
  }, f = { class: "d-recipe-top-banner-info__right" };
39
39
  function _(e, b, m, g, u, r) {
40
- return a(), t("div", {
40
+ return t(), a("div", {
41
41
  class: s(["d-recipe-top-banner-info", r.bannerInfoClass]),
42
42
  "data-qa": "banner-info"
43
43
  }, [
@@ -1,7 +1,7 @@
1
1
  import { DtIconArrowDown as d, DtIconArrowUp as l } from "@dialpad/dialtone-icons/vue3";
2
2
  import { UNREAD_PILL_DIRECTIONS as p, UNREAD_PILL_KINDS as s } from "./unread-pill-constants.js";
3
3
  import { DialtoneLocalization as _ } from "../../localization/index.js";
4
- import { resolveComponent as o, createElementBlock as u, openBlock as t, mergeProps as m, toHandlers as f, createBlock as i, createElementVNode as D, renderSlot as E, createTextVNode as L, toDisplayString as I } from "vue";
4
+ import { resolveComponent as o, openBlock as t, createElementBlock as u, mergeProps as m, toHandlers as f, createBlock as i, createElementVNode as D, renderSlot as E, createTextVNode as L, toDisplayString as I } from "vue";
5
5
  import { _ as N } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
6
  const k = {
7
7
  compatConfig: { MODE: 3 },
@@ -1,6 +1,6 @@
1
1
  import { validationMessageValidator as l } from "../../common/validators/index.js";
2
2
  import { getValidationState as g, filterFormattedMessages as m, getUniqueString as u } from "../../common/utils/index.js";
3
- import { createElementBlock as t, createCommentVNode as c, openBlock as i, Fragment as _, renderList as p, normalizeClass as M, createElementVNode as f } from "vue";
3
+ import { openBlock as t, createElementBlock as i, Fragment as c, renderList as _, normalizeClass as p, createElementVNode as M, createCommentVNode as f } from "vue";
4
4
  import { _ as v } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  const y = {
6
6
  compatConfig: { MODE: 3 },
@@ -62,21 +62,21 @@ const y = {
62
62
  "data-qa": "validation-messages-container"
63
63
  }, V = ["innerHTML"];
64
64
  function C(e, a, n, T, b, s) {
65
- return n.showMessages && !s.isFilteredValidationMessagesEmpty ? (i(), t("div", h, [
66
- (i(!0), t(_, null, p(s.filteredValidationMessages, ({ message: o, type: r }, d) => (i(), t("div", {
65
+ return n.showMessages && !s.isFilteredValidationMessagesEmpty ? (t(), i("div", h, [
66
+ (t(!0), i(c, null, _(s.filteredValidationMessages, ({ message: o, type: r }, d) => (t(), i("div", {
67
67
  key: s.getMessageKey(r, d),
68
68
  role: "status",
69
69
  "aria-live": "polite",
70
70
  "data-qa": "validation-message",
71
- class: M([
71
+ class: p([
72
72
  "base-input__message",
73
73
  "d-validation-message",
74
74
  s.messageTypeClass(r)
75
75
  ])
76
76
  }, [
77
- f("p", { innerHTML: o }, null, 8, V)
77
+ M("p", { innerHTML: o }, null, 8, V)
78
78
  ], 2))), 128))
79
- ])) : c("", !0);
79
+ ])) : f("", !0);
80
80
  }
81
81
  const S = /* @__PURE__ */ v(y, [["render", C]]);
82
82
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"vue-3.cjs","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.5.26_typescript@5.9.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]}
1
+ {"version":3,"file":"vue-3.cjs","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.5.27_typescript@5.9.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]}
@@ -1 +1 @@
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.5.26_typescript@5.9.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]}
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.5.27_typescript@5.9.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]}
@@ -1,6 +1,6 @@
1
1
  import { DtIconClose as c } from "@dialpad/dialtone-icons/vue3";
2
2
  import { DialtoneLocalization as l } from "../localization/index.js";
3
- import { resolveComponent as o, createBlock as s, openBlock as r, withKeys as i, withModifiers as a, withCtx as d, createVNode as m } from "vue";
3
+ import { resolveComponent as o, openBlock as s, createBlock as r, withKeys as i, withModifiers as a, withCtx as d, createVNode as m } from "vue";
4
4
  import { _ } from "../_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  import u from "../lib/button/button.js";
6
6
  const p = {
@@ -28,7 +28,7 @@ const p = {
28
28
  };
29
29
  function f(B, C, b, h, y, t) {
30
30
  const e = o("dt-icon-close"), n = o("dt-button");
31
- return r(), s(n, {
31
+ return s(), r(n, {
32
32
  id: "sr-only-close-button",
33
33
  "data-qa": "dt-sr-only-close-button",
34
34
  class: "d-vi-visible-sr",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialpad/dialtone-vue",
3
- "version": "3.201.0",
3
+ "version": "3.202.0",
4
4
  "description": "Vue component library for Dialpad's design system Dialtone",
5
5
  "files": [
6
6
  "dist"
@@ -48,15 +48,16 @@
48
48
  "@dialpad/dialtone-icons": "4.47.2"
49
49
  },
50
50
  "devDependencies": {
51
- "@storybook/addon-a11y": "7.6.20",
52
- "@storybook/addon-essentials": "7.6.20",
53
- "@storybook/addon-links": "7.6.20",
54
- "@storybook/vue3": "7.6.20",
55
- "@storybook/vue3-vite": "7.6.20",
51
+ "@storybook/addon-a11y": "10.2.6",
52
+ "@storybook/addon-docs": "10.2.6",
53
+ "@storybook/addon-links": "10.2.6",
54
+ "@storybook/test-runner": "^0.24.2",
55
+ "@storybook/vue3-vite": "10.2.6",
56
56
  "@vue/test-utils": "^2.4.0",
57
- "react": "^18.3.1",
58
- "storybook-dark-mode": "^3.0.3",
57
+ "@vueless/storybook-dark-mode": "^10.0.7",
58
+ "storybook": "10.2.6",
59
59
  "vue": "^3.3.4",
60
+ "react": "19.2.4",
60
61
  "@dialpad/dialtone-css": "8.72.0",
61
62
  "@dialpad/generator-dialtone": "0.1.0"
62
63
  },