UNPKG

@dialpad/dialtone-vue

Version:

Vue component library for Dialpad's design system Dialtone

1 lines 52.7 kB
{"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":"mWACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,aAAuB,OAEvB,MAAMC,EAAgBC,GAAYC,GAAU,CACxC,GAAI,EAAEA,aAAiBD,GACnB,MAAO,kCAAkCA,EAAO,IAAI,EAG5D,EACAF,EAAA,aAAuBC,WCTvB,OAAO,eAAeG,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,UAAoB,OAEpB,MAAMC,EAAaF,GAAU,CACzB,GAAI,OAAOA,GAAU,UAAY,CAAC,OAAO,UAAUA,CAAK,EACpD,MAAO,4BAGf,EACAC,EAAA,UAAoBC,WCTpB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,QAAkB,OAElB,MAAMC,GAAWC,GAAmBL,GAAU,CAC1C,GAAI,CAACK,EAAc,SAASL,CAAK,EAC7B,MAAO,2BAA2BK,EAAc,KAAK,MAAM,CAAC,GAGpE,EACAF,EAAA,QAAkBC,YCTlB,OAAO,eAAeE,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,SAAmB,OAEnB,MAAMC,GAAYP,GAAU,CACxB,GAAI,OAAOA,GAAU,SACjB,MAAO,0BAGf,EACAM,EAAA,SAAmBC,gBCTnB,IAAIC,EAAmBC,GAAQA,EAAK,iBAAoB,SAAUC,EAAK,CACnE,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAAWA,CAAG,CAC3D,EACA,OAAO,eAAcC,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAA,SAAmBA,UAAkBA,EAAA,UAAoBA,EAAA,aAAuBA,EAAA,iBAA2B,OAC3G,MAAMC,EAAQJ,EAAgBK,CAAc,EAM5C,SAASC,EAAiBC,KAAkBC,EAAgB,CACxD,MAAMC,EAAaF,EACb,CAAC,GAAGC,EAAgBD,CAAa,EACjCC,EACN,GAAIC,EAAW,SAAW,EAG1B,OAAQjB,GAAU,CACd,UAAWkB,KAAaD,EAAY,CAChC,MAAME,EAAeD,EAAUlB,CAAK,EACpC,GAAImB,EACA,OAAI,OAAOP,EAAM,SAAY,UAAY,SAAUA,EAAM,QAGrDA,EAAM,QAAQ,KAAK,KAAK,GAAGO,CAAY,gBAAgB,OAAOnB,CAAK,CAAC,IAAI,EAGxE,QAAQ,KAAK,GAAGmB,CAAY,gBAAgB,OAAOnB,CAAK,CAAC,IAAI,EAE1D,EAEvB,CACQ,MAAO,EACf,CACA,CACAW,EAAA,iBAA2BG,EAE3B,IAAIjB,EAAiBuB,EACrB,OAAO,eAAeT,EAAS,eAAgB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOd,EAAe,YAAa,CAAE,CAAE,EAC7H,IAAII,EAAcoB,EAClB,OAAO,eAAeV,EAAS,YAAa,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOV,EAAY,SAAU,CAAE,CAAE,EACpH,IAAIE,EAAYmB,EAChB,OAAO,eAAeX,EAAS,UAAW,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOR,EAAU,OAAQ,CAAE,CAAE,EAC9G,IAAIG,EAAaiB,EACjB,OAAO,eAAeZ,EAAS,WAAY,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOL,EAAW,QAAS,CAAE,CAAE,OC7CjH,OAAO,eAAekB,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,qBAA+B,OAC/B,MAAMC,EAAeZ,EACfa,GAAuB,CAACC,EAAMZ,KAAkBC,KAAoB,CACtE,SAAU,CACN,KAAAW,EACA,SAAU,GACV,QAAS,OACT,aAAeF,EAAa,kBAAkBV,EAAe,GAAGC,CAAc,CACtF,EACI,SAAU,CACN,KAAAW,EACA,SAAU,GACV,QAAS,KACT,aAAeF,EAAa,kBAAkBV,EAAe,GAAGC,CAAc,CACtF,EACI,YAAcY,IAAkB,CAC5B,KAAAD,EACA,SAAU,GACV,QAASC,EACT,aAAeH,EAAa,kBAAkBV,EAAe,GAAGC,CAAc,CACtF,GACI,SAAU,CACN,KAAAW,EACA,SAAU,GACV,aAAeF,EAAa,kBAAkBV,EAAe,GAAGC,CAAc,CACtF,CACA,GACAQ,EAAA,qBAA+BE,GC5B/B,OAAO,eAAeG,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,WAAqB,OACrB,MAAMC,GAASjB,EAQTkB,GAAcb,MAAkBY,GAAO,sBAAsB,OAAQZ,CAAS,EACpFW,EAAA,WAAqBE,YCXrB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,YAAsB,OACtB,MAAMF,GAASjB,EAMToB,GAAef,MAAkBY,GAAO,sBAAsB,QAASZ,CAAS,EACtFc,EAAA,YAAsBC,YCTtB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,WAAqB,OACrB,MAAMJ,GAASjB,EAQTsB,GAAcjB,MAAkBY,GAAO,sBAAsB,OAAQZ,CAAS,EACpFgB,EAAA,WAAqBC,YCXrB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,YAAsB,OACtB,MAAMN,GAASjB,EACTY,GAAeL,EAMfiB,GAAenB,MAAkBY,GAAO,sBAAsB,OAAQZ,EAAWO,GAAa,SAAS,EAC7GW,EAAA,YAAsBC,YCVtB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,WAAqB,OACrB,MAAMR,GAASjB,EACTY,GAAeL,EAMfmB,GAAcrB,MAAkBY,GAAO,sBAAsB,OAAWZ,EAAWO,GAAa,QAAQ,EAC9Ga,EAAA,WAAqBC,YCVrB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,iBAA2B,OAC3B,MAAMV,GAASjB,EAMT4B,GAAoBvB,MAAkBY,GAAO,sBAAsB,CAAC,OAAQ,MAAM,EAAGZ,CAAS,EACpGsB,EAAA,iBAA2BC,YCT3B,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,QAAkB,OAClB,MAAMZ,GAASjB,EAQT8B,GAAWzB,MAAkBY,GAAO,sBAAsB,OAAWZ,CAAS,EACpFwB,EAAA,QAAkBC,YCXlB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,UAAoB,OACpB,MAAMd,GAASjB,EAQTgC,GAAa3B,MAAkBY,GAAO,sBAAsB,MAAOZ,CAAS,EAClF0B,EAAA,UAAoBC,YCXpB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,WAAqB,OACrB,MAAMhB,GAASjB,EAQTkC,GAAc7B,MAAkBY,GAAO,sBAAsB,OAAQZ,CAAS,EACpF4B,EAAA,WAAqBC,YCXrB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,aAAuB,OACvB,MAAMvB,EAAeZ,EASfoC,GAAgB/B,IAAe,CACjC,SAAU,CACN,KAAM,SACN,SAAU,GACV,QAAS,OACT,aAAeO,EAAa,kBAAkBP,CAAS,CAC/D,EACI,SAAU,CACN,KAAM,SACN,SAAU,GACV,QAAS,KACT,aAAeO,EAAa,kBAAkBP,CAAS,CAC/D,EACI,SAAU,CACN,KAAM,SACN,SAAU,GACV,aAAeO,EAAa,kBAAkBP,CAAS,CAC/D,CACA,GACA8B,EAAA,aAAuBC,YC9BvB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,UAAoB,OACpB,MAAMpB,GAASjB,EACTY,GAAeL,EAEf+B,GAAgBC,GAAW,CAC7B,MAAMC,EAAe,CACjB,GAAG,IAAI,IAAID,EAAO,QAASpD,GAAU,CACjC,IAAIsD,EACJ,OAAItD,GAAU,KACH,CAAA,GAIVsD,EAAKtD,EAAM,eAAiB,MAAQsD,IAAO,OAASA,EAAK,CAAA,CACtE,CAAS,CAAC,CACV,EACI,GAAID,EAAa,SAAW,EAG5B,OAAIA,EAAa,SAAW,EACjBA,EAAa,CAAC,EAElBA,CACX,EASME,GAAY,CAAClD,EAAea,OAAkBY,GAAO,sBAAsBqB,GAAa9C,CAAa,EAAGa,KAAeO,GAAa,SAASpB,CAAa,CAAC,EACjK6C,EAAA,UAAoBK,YClCpB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,oBAA8B,OAC9B,MAAMC,GAAU5C,EASV6C,GAAsB,CAACZ,EAAQ5B,OAAkBuC,GAAQ,WAAW,OAAO,KAAKX,CAAM,EAAG5B,CAAS,EACxGsC,EAAA,oBAA8BE,YCZ9B,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,eAAyB,OACzB,MAAM7B,GAASjB,EAST+C,GAAiB,CAACjC,EAAMT,OAAkBY,GAAO,sBAAsBH,EAAMT,CAAS,EAC5FyC,EAAA,eAAyBC,YCZzB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,eAAyB,OACzB,MAAM/B,GAASjB,EACTY,GAAeL,EASf0C,GAAiB,CAAC/D,EAAQmB,OAAkBY,GAAO,sBAAsB/B,EAAQmB,KAAeO,GAAa,cAAc1B,CAAM,CAAC,EACxI8D,EAAA,eAAyBC,YCbzB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,WAAqB,OAErB,MAAMC,GAAchE,GAAU,CAC1B,GAAI,OAAOA,GAAU,UAAYA,GAAS,GAAK,OAAO,MAAMA,CAAK,EAC7D,MAAO,mCAGf,EACA+D,EAAA,WAAqBC,YCTrB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,WAAqB,OAErB,MAAMC,GAAclE,GAAU,CAC1B,GAAI,OAAOA,GAAU,UAAYA,GAAS,GAAK,OAAO,MAAMA,CAAK,EAC7D,MAAO,mCAGf,EACAiE,EAAA,WAAqBC,YCTrB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,cAAwB,OAExB,MAAMC,GAAiBpE,GAAU,CAC7B,GAAI,OAAOA,GAAU,UAAYA,EAAQ,GAAK,OAAO,MAAMA,CAAK,EAC5D,MAAO,uCAGf,EACAmE,EAAA,cAAwBC,YCTxB,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,cAAwB,OAExB,MAAMC,GAAiBtE,GAAU,CAC7B,GAAI,OAAOA,GAAU,UAAYA,EAAQ,GAAK,OAAO,MAAMA,CAAK,EAC5D,MAAO,uCAGf,EACAqE,EAAA,cAAwBC,gBCTxB,OAAO,eAAc3D,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAA,cAAwBA,gBAAwBA,EAAA,WAAqBA,EAAA,WAAqBA,iBAAyBA,EAAA,eAAyBA,EAAA,oBAA8BA,YAAoBA,EAAA,aAAuBA,EAAA,WAAqBA,YAAoBA,EAAA,QAAkBA,EAAA,iBAA2BA,aAAqBA,EAAA,YAAsBA,EAAA,WAAqBA,cAAsBA,EAAA,WAAqB,OACtZ,IAAI4D,EAAW1D,EACf,OAAO,eAAeF,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO4D,EAAS,UAAW,CAAE,CAAE,EACnH,IAAIC,EAAYpD,EAChB,OAAO,eAAeT,EAAS,cAAe,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO6D,EAAU,WAAY,CAAE,CAAE,EACtH,IAAIC,EAAWpD,EACf,OAAO,eAAeV,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO8D,EAAS,UAAW,CAAE,CAAE,EACnH,IAAIC,EAAYpD,EAChB,OAAO,eAAeX,EAAS,cAAe,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO+D,EAAU,WAAY,CAAE,CAAE,EACtH,IAAIC,EAAWpD,EACf,OAAO,eAAeZ,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOgE,EAAS,UAAW,CAAE,CAAE,EACnH,IAAIC,EAAiBC,EACrB,OAAO,eAAelE,EAAS,mBAAoB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOiE,EAAe,gBAAiB,CAAE,CAAE,EACrI,IAAIE,EAAQC,EACZ,OAAO,eAAepE,EAAS,UAAW,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOmE,EAAM,OAAQ,CAAE,CAAE,EAC1G,IAAIE,EAAUC,EACd,OAAO,eAAetE,EAAS,YAAa,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOqE,EAAQ,SAAU,CAAE,CAAE,EAChH,IAAIE,EAAWC,EACf,OAAO,eAAexE,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOuE,EAAS,UAAW,CAAE,CAAE,EACnH,IAAIE,EAAaC,EACjB,OAAO,eAAe1E,EAAS,eAAgB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOyE,EAAW,YAAa,CAAE,CAAE,EACzH,IAAI3B,EAAU6B,EACd,OAAO,eAAe3E,EAAS,YAAa,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO8C,EAAQ,SAAU,CAAE,CAAE,EAChH,IAAI8B,EAAoBC,EACxB,OAAO,eAAe7E,EAAS,sBAAuB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO4E,EAAkB,mBAAoB,CAAE,CAAE,EAC9I,IAAIE,EAAeC,EACnB,OAAO,eAAe/E,EAAS,iBAAkB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO8E,EAAa,cAAe,CAAE,CAAE,EAC/H,IAAIE,EAAeC,EACnB,OAAO,eAAejF,EAAS,iBAAkB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOgF,EAAa,cAAe,CAAE,CAAE,EAC/H,IAAI5B,EAAe8B,EACnB,OAAO,eAAelF,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOoD,EAAa,UAAW,CAAE,CAAE,EACvH,IAAIE,EAAe6B,EACnB,OAAO,eAAenF,EAAS,aAAc,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOsD,EAAa,UAAW,CAAE,CAAE,EACvH,IAAIE,EAAkB4B,EACtB,OAAO,eAAepF,EAAS,gBAAiB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOwD,EAAgB,aAAc,CAAE,CAAE,EAChI,IAAIE,EAAkB2B,EACtB,OAAO,eAAerF,EAAS,gBAAiB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO0D,EAAgB,aAAc,CAAE,CAAE,OC/B3H,MAAC4B,GAAa,CACf,KAAM,aACN,MAAO,CACH,UAAW,CACP,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,YACrB,EACQ,OAAQ,CACJ,KAAM,OACN,SAAU,EACtB,EACQ,YAAa,CACT,KAAM,MAClB,EACQ,aAAc,CACV,KAAM,OACN,QAAS,KAAO,CAAA,EAC5B,EACQ,WAAY,CACR,KAAM,SACN,QAAS,IACrB,CACA,EACI,MAAO,CACH,OAAQ,CACJ,UAAW,GACX,QAAQC,EAAQ,CACPA,GAGL,KAAK,UAAU,IAAM,CACjBA,EAAO,eAAeC,mBAAiB,CACnC,YAAa,KAAK,YAClB,OAAAD,EACA,QAAS,KAAK,IACd,UAAW,KAAK,UAChB,WAAY,KAAK,WACjB,aAAc,KAAK,YAC3C,CAAqB,CAAC,CACN,CAAC,CACL,CACZ,CACA,EACI,OAAOE,EAAe,CAClB,OAAOA,EAAc,MAAO,CAAE,MAAO,CAAE,WAAY,QAAQ,GAAM,KAAK,OAAO,OAAO,CACxF,EACA,eAAgB,CACZ,KAAK,OAAO,iBAAiB,KAAK,SAAS,CAC/C,CACJ,EAEA,MAAMC,WAAeC,EAAAA,MAAS,CAC1B,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,iBAAmB,IAC5B,CACJ,CAEK,MAACC,GAAgB,CAClB,KAAM,gBACN,MAAO,CACH,OAAQ,CACJ,QAAS,KACT,KAAM,MAClB,CACA,EACI,MAAO,CACH,OAAQ,CACJ,UAAW,GACX,QAAQL,EAAQ,CACRA,GAAUA,EAAO,QAAQ,SACzB,KAAK,UAAU,IAAM,CACjB,MAAMM,EAAU,KAAK,IACjB,CAACA,GAAW,CAACN,EAAO,QAAQ,QAAQ,aAGxCM,EAAQ,OAAO,GAAGN,EAAO,QAAQ,QAAQ,UAAU,EACnDA,EAAO,iBAAmB,KAC1BA,EAAO,WAAW,CACd,QAAAM,CAC5B,CAAyB,EACDN,EAAO,gBAAe,EAC1B,CAAC,CAET,CACZ,CACA,EACI,OAAOE,EAAe,CAClB,OAAOA,EAAc,KAAK,CAC9B,EACA,eAAgB,CACZ,KAAM,CAAE,OAAAF,CAAM,EAAK,KAUnB,GATI,CAACA,IAGAA,EAAO,aACRA,EAAO,KAAK,SAAS,CACjB,UAAW,CAAA,CAC3B,CAAa,EAELA,EAAO,iBAAmB,KACtB,CAACA,EAAO,QAAQ,QAAQ,YACxB,OAEJ,MAAMO,EAAa,SAAS,cAAc,KAAK,EAC/CA,EAAW,OAAO,GAAGP,EAAO,QAAQ,QAAQ,UAAU,EACtDA,EAAO,WAAW,CACd,QAASO,CACrB,CAAS,CACL,CACJ,EAEMC,GAAe,CACjB,KAAM,eACN,MAAO,CACH,UAAW,CACP,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,cACrB,EACQ,OAAQ,CACJ,KAAM,OACN,SAAU,EACtB,EACQ,aAAc,CACV,KAAM,OACN,QAAS,KAAO,CAAA,EAC5B,EACQ,WAAY,CACR,KAAM,SACN,QAAS,IACrB,CACA,EACI,MAAO,CACH,OAAQ,CACJ,UAAW,GACX,QAAQR,EAAQ,CACPA,GAGL,KAAK,UAAU,IAAM,CACjBA,EAAO,eAAeS,qBAAmB,CACrC,UAAW,KAAK,UAChB,OAAAT,EACA,QAAS,KAAK,IACd,aAAc,KAAK,aACnB,WAAY,KAAK,UACzC,CAAqB,CAAC,CACN,CAAC,CACL,CACZ,CACA,EACI,OAAOE,EAAe,CAClB,OAAOA,EAAc,MAAO,CAAE,MAAO,CAAE,WAAY,QAAQ,GAAM,KAAK,OAAO,OAAO,CACxF,EACA,eAAgB,CACZ,KAAK,OAAO,iBAAiB,KAAK,SAAS,CAC/C,CACJ,EAEMQ,GAAkB,CACpB,MAAO,CACH,GAAI,CACA,KAAM,OACN,QAAS,KACrB,CACA,EACI,OAAOR,EAAe,CAClB,OAAOA,EAAc,KAAK,GAAI,CAC1B,MAAO,CACH,WAAY,UAC5B,EACY,MAAO,CACH,yBAA0B,EAC1C,CACA,CAAS,CACL,CACJ,EAEMS,GAAkB,CACpB,MAAO,CACH,GAAI,CACA,KAAM,OACN,QAAS,KACrB,CACA,EACI,OAAQ,CAAC,cAAe,mBAAmB,EAC3C,OAAOT,EAAe,CAClB,OAAOA,EAAc,KAAK,GAAI,CAC1B,MAAO,KAAK,kBAAkB,MAC9B,MAAO,CACH,WAAY,QAC5B,EACY,MAAO,CACH,yBAA0B,EAC1C,EACY,GAAI,CACA,UAAW,KAAK,WAChC,CACA,EAAW,KAAK,OAAO,OAAO,CAC1B,CACJ,EAKA,MAAMU,CAAY,CACd,YAAYC,EAAWC,EAAO,CAC1B,MAAMC,EAAa,OAAOF,GAAc,WAAcA,EAAYG,EAAI,OAAOH,CAAS,EACtF,KAAK,IAAM,IAAIE,EAAUD,CAAK,EAAE,OAAM,CAC1C,CACA,IAAI,SAAU,CACV,OAAO,KAAK,IAAI,GACpB,CACA,YAAYA,EAAQ,GAAI,CACpB,IAAI1D,EAAI6D,EAAIC,EACZ,GAAI,CAAC,KAAK,IAAI,OACV,OAIJ,MAAMC,GAAyBD,GAAMD,GAAM7D,EAAK,KAAK,IAAI,OAAO,UAAY,MAAQA,IAAO,OAAS,OAASA,EAAG,oBAAsB,MAAQ6D,IAAO,OAAS,OAASA,EAAG,SAAS,SAAW,MAAQC,IAAO,OAASA,EAAKF,EACrNI,EAAiBD,EAAsB,OAAO,OACpDA,EAAsB,OAAO,OAAS,GACtC,OACK,QAAQL,CAAK,EACb,QAAQ,CAAC,CAACO,EAAKvH,CAAK,IAAM,CAC3B,KAAK,IAAI,OAAOuH,CAAG,EAAIvH,CAC3B,CAAC,EACDqH,EAAsB,OAAO,OAASC,CAC1C,CACA,SAAU,CACN,KAAK,IAAI,SAAQ,CACrB,CACJ,CAEK,MAACE,GAAg