{"version":3,"file":"vue-2.cjs","sources":["../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/isInstanceOf.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/isInteger.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/isOneOf.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/isSymbol.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/index.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/util.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/string.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/boolean.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/number.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/integer.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/symbol.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/vueComponent.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/any.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/array.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/object.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/function.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/oneOf.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/oneOfObjectKeys.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/oneOfTypes.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/prop-types/instanceOf.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/isNegative.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/isPositive.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/isNonNegative.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/validators/isNonPositive.js","../../../../../node_modules/.pnpm/vue-ts-types@1.6.2_vue@2.7.16/node_modules/vue-ts-types/dist/index.js","../../../../../node_modules/.pnpm/@tiptap+vue-2@2.12.0_@tiptap+core@2.12.0_@tiptap+pm@2.12.0__@tiptap+pm@2.12.0_vue@2.7.16/node_modules/@tiptap/vue-2/dist/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isInstanceOf = void 0;\n/** Validator that only allows instances of the given parent. */\nconst isInstanceOf = (parent) => (value) => {\n    if (!(value instanceof parent)) {\n        return `value should be an instance of ${parent.name}`;\n    }\n    return undefined;\n};\nexports.isInstanceOf = isInstanceOf;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isInteger = void 0;\n/** Validator that only allows integer numbers. */\nconst isInteger = (value) => {\n    if (typeof value !== 'number' || !Number.isInteger(value)) {\n        return 'value should be an integer';\n    }\n    return undefined;\n};\nexports.isInteger = isInteger;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isOneOf = void 0;\n/** Validator that only allows any of the given values. */\nconst isOneOf = (allowedValues) => (value) => {\n    if (!allowedValues.includes(value)) {\n        return `value should be one of \"${allowedValues.join('\", \"')}\"`;\n    }\n    return undefined;\n};\nexports.isOneOf = isOneOf;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSymbol = void 0;\n/** Validator that only allows symbols. */\nconst isSymbol = (value) => {\n    if (typeof value !== 'symbol') {\n        return 'value should be a symbol';\n    }\n    return undefined;\n};\nexports.isSymbol = isSymbol;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSymbol = exports.isOneOf = exports.isInteger = exports.isInstanceOf = exports.vuePropValidator = void 0;\nconst vue_1 = __importDefault(require(\"vue\"));\n/**\n * Creates a Vue prop validator that runs all type validators and the user validator (if specified).\n * @param userValidator Validator function specified by the user.\n * @param typeValidators Validator functions hard-coded by the prop type function.\n */\nfunction vuePropValidator(userValidator, ...typeValidators) {\n    const validators = userValidator\n        ? [...typeValidators, userValidator]\n        : typeValidators;\n    if (validators.length === 0) {\n        return undefined;\n    }\n    return (value) => {\n        for (const validator of validators) {\n            const errorMessage = validator(value);\n            if (errorMessage) {\n                if (typeof vue_1.default === 'object' && 'util' in vue_1.default) {\n                    // @ts-expect-error -- Vue.util is only available in Vue 2, but provides more context than console.warn\n                    // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n                    vue_1.default.util.warn(`${errorMessage} (received: '${String(value)}')`);\n                }\n                else {\n                    console.warn(`${errorMessage} (received: '${String(value)}')`);\n                }\n                return false;\n            }\n        }\n        return true;\n    };\n}\nexports.vuePropValidator = vuePropValidator;\n// for internal use only\nvar isInstanceOf_1 = require(\"./isInstanceOf\");\nObject.defineProperty(exports, \"isInstanceOf\", { enumerable: true, get: function () { return isInstanceOf_1.isInstanceOf; } });\nvar isInteger_1 = require(\"./isInteger\");\nObject.defineProperty(exports, \"isInteger\", { enumerable: true, get: function () { return isInteger_1.isInteger; } });\nvar isOneOf_1 = require(\"./isOneOf\");\nObject.defineProperty(exports, \"isOneOf\", { enumerable: true, get: function () { return isOneOf_1.isOneOf; } });\nvar isSymbol_1 = require(\"./isSymbol\");\nObject.defineProperty(exports, \"isSymbol\", { enumerable: true, get: function () { return isSymbol_1.isSymbol; } });\n// custom validators provided for user convenience are exported from main entrypoint\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.propOptionsGenerator = void 0;\nconst validators_1 = require(\"./validators\");\nconst propOptionsGenerator = (type, userValidator, ...typeValidators) => ({\n    optional: {\n        type,\n        required: false,\n        default: undefined,\n        validator: (0, validators_1.vuePropValidator)(userValidator, ...typeValidators),\n    },\n    nullable: {\n        type,\n        required: false,\n        default: null,\n        validator: (0, validators_1.vuePropValidator)(userValidator, ...typeValidators),\n    },\n    withDefault: (defaultValue) => ({\n        type,\n        required: false,\n        default: defaultValue,\n        validator: (0, validators_1.vuePropValidator)(userValidator, ...typeValidators),\n    }),\n    required: {\n        type,\n        required: true,\n        validator: (0, validators_1.vuePropValidator)(userValidator, ...typeValidators),\n    },\n});\nexports.propOptionsGenerator = propOptionsGenerator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringProp = void 0;\nconst util_1 = require(\"../util\");\n/**\n * Allows any string. No further runtime validation is performed by default.\n *\n * Type parameter `T` can be used to restrict the type at compile time with a union type.\n *\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst stringProp = (validator) => (0, util_1.propOptionsGenerator)(String, validator);\nexports.stringProp = stringProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.booleanProp = void 0;\nconst util_1 = require(\"../util\");\n/**\n * Allows any boolean (validated at runtime and compile time).\n *\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst booleanProp = (validator) => (0, util_1.propOptionsGenerator)(Boolean, validator);\nexports.booleanProp = booleanProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numberProp = void 0;\nconst util_1 = require(\"../util\");\n/**\n * Allows any number (validated at runtime and compile time).\n *\n * Type parameter `T` can be used to restrict the type at compile time with a union type.\n *\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst numberProp = (validator) => (0, util_1.propOptionsGenerator)(Number, validator);\nexports.numberProp = numberProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.integerProp = void 0;\nconst util_1 = require(\"../util\");\nconst validators_1 = require(\"../validators\");\n/**\n * Allows any integer (validated at runtime).\n *\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst integerProp = (validator) => (0, util_1.propOptionsGenerator)(Number, validator, validators_1.isInteger);\nexports.integerProp = integerProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.symbolProp = void 0;\nconst util_1 = require(\"../util\");\nconst validators_1 = require(\"../validators\");\n/**\n * Allows any symbol (validated at runtime and compile time).\n *\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst symbolProp = (validator) => (0, util_1.propOptionsGenerator)(undefined, validator, validators_1.isSymbol);\nexports.symbolProp = symbolProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.vueComponentProp = void 0;\nconst util_1 = require(\"../util\");\n/**\n * Allows any Vue component instance, name or options object. No built-in runtime validation is performed by default.\n *\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst vueComponentProp = (validator) => (0, util_1.propOptionsGenerator)([Object, String], validator);\nexports.vueComponentProp = vueComponentProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.anyProp = void 0;\nconst util_1 = require(\"../util\");\n/**\n * Allows any type. No built-in runtime validation is performed by default.\n *\n * Type parameter `T` can be used to restrict the type at compile time.\n *\n * @param validator - Optional function for runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst anyProp = (validator) => (0, util_1.propOptionsGenerator)(undefined, validator);\nexports.anyProp = anyProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.arrayProp = void 0;\nconst util_1 = require(\"../util\");\n/**\n * Allows any array. No further runtime validation is performed by default.\n *\n * Type parameter `T` can be used to restrict the type of the array items at compile time.\n *\n *  @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst arrayProp = (validator) => (0, util_1.propOptionsGenerator)(Array, validator);\nexports.arrayProp = arrayProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.objectProp = void 0;\nconst util_1 = require(\"../util\");\n/**\n * Allows any object. No further runtime validation is performed by default.\n *\n * Type parameter `T` can be used to restrict the type at compile time.\n *\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst objectProp = (validator) => (0, util_1.propOptionsGenerator)(Object, validator);\nexports.objectProp = objectProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.functionProp = void 0;\nconst validators_1 = require(\"../validators\");\n/* eslint-disable @typescript-eslint/ban-types */\n/**\n * Allows any function. No further runtime validation is performed by default.\n *\n * Type parameter `T` can be used to restrict the type to a specific function signature at compile time.\n *\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst functionProp = (validator) => ({\n    optional: {\n        type: Function,\n        required: false,\n        default: undefined,\n        validator: (0, validators_1.vuePropValidator)(validator),\n    },\n    nullable: {\n        type: Function,\n        required: false,\n        default: null,\n        validator: (0, validators_1.vuePropValidator)(validator),\n    },\n    required: {\n        type: Function,\n        required: true,\n        validator: (0, validators_1.vuePropValidator)(validator),\n    },\n});\nexports.functionProp = functionProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.oneOfProp = void 0;\nconst util_1 = require(\"../util\");\nconst validators_1 = require(\"../validators\");\n// inspired by https://github.com/dwightjack/vue-types/blob/4.1.1/src/validators/oneof.ts\nconst getOneOfType = (values) => {\n    const allowedTypes = [\n        ...new Set(values.flatMap((value) => {\n            var _a;\n            if (value === null || value === undefined) {\n                return [];\n            }\n            return (\n            // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n            (_a = value.constructor) !== null && _a !== void 0 ? _a : []);\n        })),\n    ];\n    if (allowedTypes.length === 0) {\n        return undefined;\n    }\n    if (allowedTypes.length === 1) {\n        return allowedTypes[0];\n    }\n    return allowedTypes;\n};\n/**\n * Allows any of the specified allowed values (validated at runtime and compile time).\n *\n * Type parameter `T` can be used to adjust the inferred type at compile time, this is usually not necessary.\n *\n * @param allowedValues - The allowed values.\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst oneOfProp = (allowedValues, validator) => (0, util_1.propOptionsGenerator)(getOneOfType(allowedValues), validator, (0, validators_1.isOneOf)(allowedValues));\nexports.oneOfProp = oneOfProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.oneOfObjectKeysProp = void 0;\nconst oneOf_1 = require(\"./oneOf\");\n/**\n * Allows any of the keys of the specified object (validated at runtime and compile time).\n *\n * Type parameter `T` can be used to adjust the inferred type at compile time, this is usually not necessary.\n *\n * @param object - The object whose keys are allowed.\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst oneOfObjectKeysProp = (object, validator) => (0, oneOf_1.oneOfProp)(Object.keys(object), validator);\nexports.oneOfObjectKeysProp = oneOfObjectKeysProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.oneOfTypesProp = void 0;\nconst util_1 = require(\"../util\");\n/**\n * Allows any of the passed constructor types (validated at runtime).\n *\n * Type parameter `T` has to be used to adjust the type at compile time.\n *\n * @param type - A single constructor or an array of constructors to allow.\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst oneOfTypesProp = (type, validator) => (0, util_1.propOptionsGenerator)(type, validator);\nexports.oneOfTypesProp = oneOfTypesProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.instanceOfProp = void 0;\nconst util_1 = require(\"../util\");\nconst validators_1 = require(\"../validators\");\n/**\n * Allows instances of the given constructor (validated at runtime and compile time).\n *\n * Type parameter `T` can be used to adjust the inferred type at compile time.\n *\n * @param parent - The constructor to allow.\n * @param validator - Optional function for further runtime validation; should return `undefined` if valid, or an error string if invalid.\n */\nconst instanceOfProp = (parent, validator) => (0, util_1.propOptionsGenerator)(parent, validator, (0, validators_1.isInstanceOf)(parent));\nexports.instanceOfProp = instanceOfProp;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNegative = void 0;\n/** Validator that only allows negative numbers (`< 0`). */\nconst isNegative = (value) => {\n    if (typeof value !== 'number' || value >= 0 || Number.isNaN(value)) {\n        return 'value should be a negative number';\n    }\n    return undefined;\n};\nexports.isNegative = isNegative;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isPositive = void 0;\n/** Validator that only allows positive numbers (`> 0`). */\nconst isPositive = (value) => {\n    if (typeof value !== 'number' || value <= 0 || Number.isNaN(value)) {\n        return 'value should be a positive number';\n    }\n    return undefined;\n};\nexports.isPositive = isPositive;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNonNegative = void 0;\n/** Validator that only allows non-negative numbers (`>= 0`). */\nconst isNonNegative = (value) => {\n    if (typeof value !== 'number' || value < 0 || Number.isNaN(value)) {\n        return 'value should be a non-negative number';\n    }\n    return undefined;\n};\nexports.isNonNegative = isNonNegative;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNonPositive = void 0;\n/** Validator that only allows non-positive numbers (`<= 0`). */\nconst isNonPositive = (value) => {\n    if (typeof value !== 'number' || value > 0 || Number.isNaN(value)) {\n        return 'value should be a non-positive number';\n    }\n    return undefined;\n};\nexports.isNonPositive = isNonPositive;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNonPositive = exports.isNonNegative = exports.isPositive = exports.isNegative = exports.instanceOfProp = exports.oneOfTypesProp = exports.oneOfObjectKeysProp = exports.oneOfProp = exports.functionProp = exports.objectProp = exports.arrayProp = exports.anyProp = exports.vueComponentProp = exports.symbolProp = exports.integerProp = exports.numberProp = exports.booleanProp = exports.stringProp = void 0;\nvar string_1 = require(\"./prop-types/string\");\nObject.defineProperty(exports, \"stringProp\", { enumerable: true, get: function () { return string_1.stringProp; } });\nvar boolean_1 = require(\"./prop-types/boolean\");\nObject.defineProperty(exports, \"booleanProp\", { enumerable: true, get: function () { return boolean_1.booleanProp; } });\nvar number_1 = require(\"./prop-types/number\");\nObject.defineProperty(exports, \"numberProp\", { enumerable: true, get: function () { return number_1.numberProp; } });\nvar integer_1 = require(\"./prop-types/integer\");\nObject.defineProperty(exports, \"integerProp\", { enumerable: true, get: function () { return integer_1.integerProp; } });\nvar symbol_1 = require(\"./prop-types/symbol\");\nObject.defineProperty(exports, \"symbolProp\", { enumerable: true, get: function () { return symbol_1.symbolProp; } });\nvar vueComponent_1 = require(\"./prop-types/vueComponent\");\nObject.defineProperty(exports, \"vueComponentProp\", { enumerable: true, get: function () { return vueComponent_1.vueComponentProp; } });\nvar any_1 = require(\"./prop-types/any\");\nObject.defineProperty(exports, \"anyProp\", { enumerable: true, get: function () { return any_1.anyProp; } });\nvar array_1 = require(\"./prop-types/array\");\nObject.defineProperty(exports, \"arrayProp\", { enumerable: true, get: function () { return array_1.arrayProp; } });\nvar object_1 = require(\"./prop-types/object\");\nObject.defineProperty(exports, \"objectProp\", { enumerable: true, get: function () { return object_1.objectProp; } });\nvar function_1 = require(\"./prop-types/function\");\nObject.defineProperty(exports, \"functionProp\", { enumerable: true, get: function () { return function_1.functionProp; } });\nvar oneOf_1 = require(\"./prop-types/oneOf\");\nObject.defineProperty(exports, \"oneOfProp\", { enumerable: true, get: function () { return oneOf_1.oneOfProp; } });\nvar oneOfObjectKeys_1 = require(\"./prop-types/oneOfObjectKeys\");\nObject.defineProperty(exports, \"oneOfObjectKeysProp\", { enumerable: true, get: function () { return oneOfObjectKeys_1.oneOfObjectKeysProp; } });\nvar oneOfTypes_1 = require(\"./prop-types/oneOfTypes\");\nObject.defineProperty(exports, \"oneOfTypesProp\", { enumerable: true, get: function () { return oneOfTypes_1.oneOfTypesProp; } });\nvar instanceOf_1 = require(\"./prop-types/instanceOf\");\nObject.defineProperty(exports, \"instanceOfProp\", { enumerable: true, get: function () { return instanceOf_1.instanceOfProp; } });\nvar isNegative_1 = require(\"./validators/isNegative\");\nObject.defineProperty(exports, \"isNegative\", { enumerable: true, get: function () { return isNegative_1.isNegative; } });\nvar isPositive_1 = require(\"./validators/isPositive\");\nObject.defineProperty(exports, \"isPositive\", { enumerable: true, get: function () { return isPositive_1.isPositive; } });\nvar isNonNegative_1 = require(\"./validators/isNonNegative\");\nObject.defineProperty(exports, \"isNonNegative\", { enumerable: true, get: function () { return isNonNegative_1.isNonNegative; } });\nvar isNonPositive_1 = require(\"./validators/isNonPositive\");\nObject.defineProperty(exports, \"isNonPositive\", { enumerable: true, get: function () { return isNonPositive_1.isNonPositive; } });\n","import { BubbleMenuPlugin } from '@tiptap/extension-bubble-menu';\nimport { Editor as Editor$1, NodeView } from '@tiptap/core';\nexport * from '@tiptap/core';\nimport { FloatingMenuPlugin } from '@tiptap/extension-floating-menu';\nimport Vue from 'vue';\nimport { objectProp, booleanProp, functionProp } from 'vue-ts-types';\n\nconst BubbleMenu = {\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        },\n        tippyOptions: {\n            type: Object,\n            default: () => ({}),\n        },\n        shouldShow: {\n            type: Function,\n            default: null,\n        },\n    },\n    watch: {\n        editor: {\n            immediate: true,\n            handler(editor) {\n                if (!editor) {\n                    return;\n                }\n                this.$nextTick(() => {\n                    editor.registerPlugin(BubbleMenuPlugin({\n                        updateDelay: this.updateDelay,\n                        editor,\n                        element: this.$el,\n                        pluginKey: this.pluginKey,\n                        shouldShow: this.shouldShow,\n                        tippyOptions: this.tippyOptions,\n                    }));\n                });\n            },\n        },\n    },\n    render(createElement) {\n        return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);\n    },\n    beforeDestroy() {\n        this.editor.unregisterPlugin(this.pluginKey);\n    },\n};\n\nclass Editor extends Editor$1 {\n    constructor() {\n        super(...arguments);\n        this.contentComponent = null;\n    }\n}\n\nconst EditorContent = {\n    name: 'EditorContent',\n    props: {\n        editor: {\n            default: null,\n            type: Object,\n        },\n    },\n    watch: {\n        editor: {\n            immediate: true,\n            handler(editor) {\n                if (editor && editor.options.element) {\n                    this.$nextTick(() => {\n                        const element = this.$el;\n                        if (!element || !editor.options.element.firstChild) {\n                            return;\n                        }\n                        element.append(...editor.options.element.childNodes);\n                        editor.contentComponent = this;\n                        editor.setOptions({\n                            element,\n                        });\n                        editor.createNodeViews();\n                    });\n                }\n            },\n        },\n    },\n    render(createElement) {\n        return createElement('div');\n    },\n    beforeDestroy() {\n        const { editor } = this;\n        if (!editor) {\n            return;\n        }\n        if (!editor.isDestroyed) {\n            editor.view.setProps({\n                nodeViews: {},\n            });\n        }\n        editor.contentComponent = 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};\n\nconst FloatingMenu = {\n    name: 'FloatingMenu',\n    props: {\n        pluginKey: {\n            type: [String, Object],\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    watch: {\n        editor: {\n            immediate: true,\n            handler(editor) {\n                if (!editor) {\n                    return;\n                }\n                this.$nextTick(() => {\n                    editor.registerPlugin(FloatingMenuPlugin({\n                        pluginKey: this.pluginKey,\n                        editor,\n                        element: this.$el,\n                        tippyOptions: this.tippyOptions,\n                        shouldShow: this.shouldShow,\n                    }));\n                });\n            },\n        },\n    },\n    render(createElement) {\n        return createElement('div', { style: { visibility: 'hidden' } }, this.$slots.default);\n    },\n    beforeDestroy() {\n        this.editor.unregisterPlugin(this.pluginKey);\n    },\n};\n\nconst NodeViewContent = {\n    props: {\n        as: {\n            type: String,\n            default: 'div',\n        },\n    },\n    render(createElement) {\n        return createElement(this.as, {\n            style: {\n                whiteSpace: 'pre-wrap',\n            },\n            attrs: {\n                'data-node-view-content': '',\n            },\n        });\n    },\n};\n\nconst NodeViewWrapper = {\n    props: {\n        as: {\n            type: String,\n            default: 'div',\n        },\n    },\n    inject: ['onDragStart', 'decorationClasses'],\n    render(createElement) {\n        return createElement(this.as, {\n            class: this.decorationClasses.value,\n            style: {\n                whiteSpace: 'normal',\n            },\n            attrs: {\n                'data-node-view-wrapper': '',\n            },\n            on: {\n                dragstart: this.onDragStart,\n            },\n        }, this.$slots.default);\n    },\n};\n\n/**\n * The VueRenderer class is responsible for rendering a Vue component as a ProseMirror node view.\n */\nclass VueRenderer {\n    constructor(component, props) {\n        const Component = (typeof component === 'function') ? component : Vue.extend(component);\n        this.ref = new Component(props).$mount();\n    }\n    get element() {\n        return this.ref.$el;\n    }\n    updateProps(props = {}) {\n        var _a, _b, _c;\n        if (!this.ref.$props) {\n            return;\n        }\n        // prevents `Avoid mutating a prop directly` error message\n        // Fix: `VueNodeViewRenderer` change vue Constructor `config.silent` not working\n        const currentVueConstructor = (_c = (_b = (_a = this.ref.$props.editor) === null || _a === void 0 ? void 0 : _a.contentComponent) === null || _b === void 0 ? void 0 : _b.$options._base) !== null && _c !== void 0 ? _c : Vue; // eslint-disable-line\n        const originalSilent = currentVueConstructor.config.silent;\n        currentVueConstructor.config.silent = true;\n        Object\n            .entries(props)\n            .forEach(([key, value]) => {\n            this.ref.$props[key] = value;\n        });\n        currentVueConstructor.config.silent = originalSilent;\n    }\n    destroy() {\n        this.ref.$destroy();\n    }\n}\n\nconst nodeViewProps = {\n    editor: objectProp().required,\n    node: objectProp().required,\n    decorations: objectProp().required,\n    selected: booleanProp().required,\n    extension: objectProp().required,\n    getPos: functionProp().required,\n    updateAttributes: functionProp().required,\n    deleteNode: functionProp().required,\n};\nclass VueNodeView extends NodeView {\n    mount() {\n        var _a, _b;\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 = Vue.observable({\n            value: this.getDecorationClasses(),\n        });\n        // @ts-ignore\n        const vue = (_b = (_a = this.editor.contentComponent) === null || _a === void 0 ? void 0 : _a.$options._base) !== null && _b !== void 0 ? _b : Vue; // eslint-disable-line\n        const Component = vue.extend(this.component).extend({\n            props: Object.keys(props),\n            provide: () => {\n                return {\n                    onDragStart,\n                    decorationClasses: this.decorationClasses,\n                };\n            },\n        });\n        this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this);\n        this.editor.on('selectionUpdate', this.handleSelectionUpdate);\n        this.renderer = new VueRenderer(Component, {\n            parent: this.editor.contentComponent,\n            propsData: 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.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        const contentElement = this.dom.querySelector('[data-node-view-content]');\n        return (contentElement || this.dom);\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.ref.$props.selected) {\n                return;\n            }\n            this.selectNode();\n        }\n        else {\n            if (!this.renderer.ref.$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        this.renderer.element.classList.add('ProseMirror-selectednode');\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        this.renderer.element.classList.remove('ProseMirror-selectednode');\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        return new VueNodeView(component, props, options);\n    };\n}\n\nexport { BubbleMenu, Editor, EditorContent, FloatingMenu, NodeViewContent, NodeViewWrapper, VueNodeViewRenderer, VueRenderer, nodeViewProps };\n//# sourceMappingURL=index.js.map\n"],"names":["isInstanceOf_1","isInstanceOf","parent","value","isInteger_1","isInteger","isOneOf_1","isOneOf","allowedValues","isSymbol_1","isSymbol","__importDefault","this","mod","exports","vue_1","require$$0","vuePropValidator","userValidator","typeValidators","validators","validator","errorMessage","require$$1","require$$2","require$$3","require$$4","util","validators_1","propOptionsGenerator","type","defaultValue","string","util_1","stringProp","boolean","booleanProp","number","numberProp","integer","integerProp","symbol","symbolProp","vueComponent","vueComponentProp","any","anyProp","array","arrayProp","object","objectProp","_function","functionProp","oneOf","getOneOfType","values","allowedTypes","_a","oneOfProp","oneOfObjectKeys","oneOf_1","oneOfObjectKeysProp","oneOfTypes","oneOfTypesProp","instanceOf","instanceOfProp","isNegative_1","isNegative","isPositive_1","isPositive","isNonNegative_1","isNonNegative","isNonPositive_1","isNonPositive","string_1","boolean_1","number_1","integer_1","symbol_1","vueComponent_1","require$$5","any_1","require$$6","array_1","require$$7","object_1","require$$8","function_1","require$$9","require$$10","oneOfObjectKeys_1","require$$11","oneOfTypes_1","require$$12","instanceOf_1","require$$13","require$$14","require$$15","require$$16","require$$17","BubbleMenu","editor","BubbleMenuPlugin","createElement","Editor","Editor$1","EditorContent","element","newElement","FloatingMenu","FloatingMenuPlugin","NodeViewContent","NodeViewWrapper","VueRenderer","component","props","Component","Vue","_b","_c","currentVueConstructor","originalSilent","key","nodeViewProps","VueNodeView","NodeView","attributes","onDragStart","from","to","pos","node","decorations","innerDecorations","rerenderComponent","oldNode","oldDecorations","oldInnerDecorations","item","VueNodeViewRenderer","options"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}