{"version":3,"file":"js/7467-ee1bc60a19c48ee583dd.js","mappings":"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","sources":["webpack://app/./node_modules/@mui/icons-material/esm/Lock.js","webpack://app/./node_modules/@mui/icons-material/esm/LockOpen.js","webpack://app/./node_modules/@mui/icons-material/esm/TextFields.js","webpack://app/./node_modules/encodeurl/index.js","webpack://app/./node_modules/lodash/_asciiSize.js","webpack://app/./node_modules/lodash/_asciiToArray.js","webpack://app/./node_modules/lodash/_baseIsRegExp.js","webpack://app/./node_modules/lodash/_baseProperty.js","webpack://app/./node_modules/lodash/_castSlice.js","webpack://app/./node_modules/lodash/_hasUnicode.js","webpack://app/./node_modules/lodash/_stringSize.js","webpack://app/./node_modules/lodash/_stringToArray.js","webpack://app/./node_modules/lodash/_unicodeSize.js","webpack://app/./node_modules/lodash/_unicodeToArray.js","webpack://app/./node_modules/lodash/isRegExp.js","webpack://app/./node_modules/lodash/toFinite.js","webpack://app/./node_modules/lodash/toInteger.js","webpack://app/./node_modules/lodash/truncate.js","webpack://app/./node_modules/mui-tiptap/dist/esm/ControlledBubbleMenu.js","webpack://app/./node_modules/mui-tiptap/dist/esm/hooks/useKeyDown.js","webpack://app/./node_modules/mui-tiptap/dist/esm/LinkBubbleMenu/EditLinkMenuContent.js","webpack://app/./node_modules/mui-tiptap/dist/esm/utils/truncateMiddle.js","webpack://app/./node_modules/mui-tiptap/dist/esm/LinkBubbleMenu/ViewLinkMenuContent.js","webpack://app/./node_modules/mui-tiptap/dist/esm/LinkBubbleMenu/index.js","webpack://app/./node_modules/mui-tiptap/dist/esm/RichTextContent.js","webpack://app/./node_modules/mui-tiptap/dist/esm/FieldContainer.js","webpack://app/./node_modules/mui-tiptap/dist/esm/MenuBar.js","webpack://app/./node_modules/mui-tiptap/dist/esm/RichTextField.js","webpack://app/./node_modules/mui-tiptap/dist/esm/RichTextEditor.js","webpack://app/./node_modules/mui-tiptap/dist/esm/RichTextEditorProvider.js","webpack://app/./node_modules/mui-tiptap/dist/esm/RichTextReadOnly.js","webpack://app/./node_modules/@mui/icons-material/esm/FormatColorFill.js","webpack://app/./node_modules/@mui/icons-material/esm/GridOff.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/InsertColumnLeft.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/InsertColumnRight.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/DeleteColumn.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/InsertRowTop.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/InsertRowBottom.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/DeleteRow.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/MergeCellsHorizontal.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/SplitCellsHorizontal.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/LayoutRowFill.js","webpack://app/./node_modules/mui-tiptap/dist/esm/icons/LayoutColumnFill.js","webpack://app/./node_modules/mui-tiptap/dist/esm/controls/TableMenuControls.js","webpack://app/./node_modules/mui-tiptap/dist/esm/TableBubbleMenu.js","webpack://app/./node_modules/mui-tiptap/dist/esm/hooks/useDebouncedFocus.js"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1z\"\n}), 'Lock');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m0 12H6V10h12z\"\n}), 'LockOpen');","\"use client\";\n\nimport createSvgIcon from './utils/createSvgIcon';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z\"\n}), 'TextFields');","/*!\n * encodeurl\n * Copyright(c) 2016 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = encodeUrl\n\n/**\n * RegExp to match non-URL code points, *after* encoding (i.e. not including \"%\")\n * and including invalid escape sequences.\n * @private\n */\n\nvar ENCODE_CHARS_REGEXP = /(?:[^\\x21\\x25\\x26-\\x3B\\x3D\\x3F-\\x5B\\x5D\\x5F\\x61-\\x7A\\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g\n\n/**\n * RegExp to match unmatched surrogate pair.\n * @private\n */\n\nvar UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF]([^\\uDC00-\\uDFFF]|$)/g\n\n/**\n * String to replace unmatched surrogate pair with.\n * @private\n */\n\nvar UNMATCHED_SURROGATE_PAIR_REPLACE = '$1\\uFFFD$2'\n\n/**\n * Encode a URL to a percent-encoded form, excluding already-encoded sequences.\n *\n * This function will take an already-encoded URL and encode all the non-URL\n * code points. This function will not encode the \"%\" character unless it is\n * not part of a valid sequence (`%20` will be left as-is, but `%foo` will\n * be encoded as `%25foo`).\n *\n * This encode is meant to be \"safe\" and does not throw errors. It will try as\n * hard as it can to properly encode the given URL, including replacing any raw,\n * unpaired surrogate pairs with the Unicode replacement character prior to\n * encoding.\n *\n * @param {string} url\n * @return {string}\n * @public\n */\n\nfunction encodeUrl (url) {\n return String(url)\n .replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE)\n .replace(ENCODE_CHARS_REGEXP, encodeURI)\n}\n","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = baseProperty('length');\n\nmodule.exports = asciiSize;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n}\n\nmodule.exports = baseIsRegExp;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var asciiSize = require('./_asciiSize'),\n hasUnicode = require('./_hasUnicode'),\n unicodeSize = require('./_unicodeSize');\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n}\n\nmodule.exports = stringSize;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n}\n\nmodule.exports = unicodeSize;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var baseIsRegExp = require('./_baseIsRegExp'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nmodule.exports = isRegExp;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseToString = require('./_baseToString'),\n castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n isObject = require('./isObject'),\n isRegExp = require('./isRegExp'),\n stringSize = require('./_stringSize'),\n stringToArray = require('./_stringToArray'),\n toInteger = require('./toInteger'),\n toString = require('./toString');\n\n/** Used as default options for `_.truncate`. */\nvar DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Truncates `string` if it's longer than the given maximum string length.\n * The last characters of the truncated string are replaced with the omission\n * string which defaults to \"...\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to truncate.\n * @param {Object} [options={}] The options object.\n * @param {number} [options.length=30] The maximum string length.\n * @param {string} [options.omission='...'] The string to indicate text is omitted.\n * @param {RegExp|string} [options.separator] The separator pattern to truncate to.\n * @returns {string} Returns the truncated string.\n * @example\n *\n * _.truncate('hi-diddly-ho there, neighborino');\n * // => 'hi-diddly-ho there, neighbo...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'length': 24,\n * 'separator': ' '\n * });\n * // => 'hi-diddly-ho there,...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'length': 24,\n * 'separator': /,? +/\n * });\n * // => 'hi-diddly-ho there...'\n *\n * _.truncate('hi-diddly-ho there, neighborino', {\n * 'omission': ' [...]'\n * });\n * // => 'hi-diddly-ho there, neig [...]'\n */\nfunction truncate(string, options) {\n var length = DEFAULT_TRUNC_LENGTH,\n omission = DEFAULT_TRUNC_OMISSION;\n\n if (isObject(options)) {\n var separator = 'separator' in options ? options.separator : separator;\n length = 'length' in options ? toInteger(options.length) : length;\n omission = 'omission' in options ? baseToString(options.omission) : omission;\n }\n string = toString(string);\n\n var strLength = string.length;\n if (hasUnicode(string)) {\n var strSymbols = stringToArray(string);\n strLength = strSymbols.length;\n }\n if (length >= strLength) {\n return string;\n }\n var end = length - stringSize(omission);\n if (end < 1) {\n return omission;\n }\n var result = strSymbols\n ? castSlice(strSymbols, 0, end).join('')\n : string.slice(0, end);\n\n if (separator === undefined) {\n return result + omission;\n }\n if (strSymbols) {\n end += (result.length - end);\n }\n if (isRegExp(separator)) {\n if (string.slice(end).search(separator)) {\n var match,\n substring = result;\n\n if (!separator.global) {\n separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');\n }\n separator.lastIndex = 0;\n while ((match = separator.exec(substring))) {\n var newEnd = match.index;\n }\n result = result.slice(0, newEnd === undefined ? end : newEnd);\n }\n } else if (string.indexOf(baseToString(separator), end) != end) {\n var index = result.lastIndexOf(separator);\n if (index > -1) {\n result = result.slice(0, index);\n }\n }\n return result + omission;\n}\n\nmodule.exports = truncate;\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fade, Paper, Popper, useTheme, } from \"@mui/material\";\nimport { isNodeSelection, posToDOMRect } from \"@tiptap/core\";\nimport { useCallback } from \"react\";\nimport { makeStyles } from \"tss-react/mui\";\nimport { Z_INDEXES, getUtilityClasses } from \"./styles\";\nconst controlledBubbleMenuClasses = getUtilityClasses(ControlledBubbleMenu.name, [\"root\", \"paper\"]);\nconst useStyles = makeStyles({ name: { ControlledBubbleMenu } })((theme) => ({\n root: {\n zIndex: Z_INDEXES.BUBBLE_MENU,\n },\n paper: {\n backgroundColor: theme.palette.background.default,\n },\n}));\n// The `BubbleMenu` React component provided by Tiptap in @tiptap/react and the\n// underlying BubbleMenuPlugin don't work very well in practice. There are two\n// primary problems:\n// 1) BubbleMenu places its tippy DOM element *within* the editor DOM structure,\n// so it can get clipped by the edges of the editor, especially noticeable\n// when there is no content in the editor yet (so it'll get sliced off at the\n// top of the editor). It's not possible to use a React Portal there as a\n// workaround due to the way in which the element is dynamically\n// created/destroyed via tippy inside Tiptap, preventing interactivity (see\n// https://github.com/ueberdosis/tiptap/issues/2292).\n// 2) The BubbleMenu visibility cannot be controlled programmatically. Its\n// `shouldShow` callback only runs when editor internal state changes, so we\n// can't control it beyond that without wacky hacks. See the issue here\n// https://github.com/ueberdosis/tiptap/issues/2305.\n//\n// This alternative component has a simpler API, with just an `open` flag, which\n// properly responds to all changes in React props, and it uses MUI's Popper\n// rather than relying on tippy, so we inherently get \"Portal\" behavior and\n// don't have to worry about visual clipping.\nexport default function ControlledBubbleMenu({ editor, open, className, classes: overrideClasses = {}, children, anchorEl, container, disablePortal, placement = \"top\", fallbackPlacements = [\n \"top\",\n \"bottom\",\n \"top-start\",\n \"bottom-start\",\n \"top-end\",\n \"bottom-end\",\n], flipPadding = 8, PaperProps, }) {\n const { classes, cx } = useStyles(undefined, {\n props: { classes: overrideClasses },\n });\n const theme = useTheme();\n const defaultAnchorEl = useCallback(() => {\n // The logic here is taken from the positioning implementation in Tiptap's BubbleMenuPlugin\n // https://github.com/ueberdosis/tiptap/blob/16bec4e9d0c99feded855b261edb6e0d3f0bad21/packages/extension-bubble-menu/src/bubble-menu-plugin.ts#L183-L193\n const { ranges } = editor.state.selection;\n const from = Math.min(...ranges.map((range) => range.$from.pos));\n const to = Math.max(...ranges.map((range) => range.$to.pos));\n return {\n getBoundingClientRect: () => {\n if (isNodeSelection(editor.state.selection)) {\n const node = editor.view.nodeDOM(from);\n if (node instanceof HTMLElement) {\n return node.getBoundingClientRect();\n }\n }\n return posToDOMRect(editor.view, from, to);\n },\n };\n }, [editor]);\n return (_jsx(Popper, { open: open, placement: placement, modifiers: [\n {\n name: \"offset\",\n options: {\n // Add a slight vertical offset for the popper from the current selection\n offset: [0, 6],\n },\n },\n {\n name: \"flip\",\n enabled: true,\n options: {\n // We'll reposition (to one of the below fallback placements) whenever our Popper goes\n // outside of the editor. (This is necessary since our children aren't actually rendered\n // here, but instead with a portal, so the editor DOM node isn't a parent.)\n boundary: editor.options.element,\n fallbackPlacements: fallbackPlacements,\n padding: flipPadding,\n },\n },\n {\n // Don't allow the bubble menu to overflow outside of the its clipping parents\n // or viewport\n name: \"preventOverflow\",\n enabled: true,\n options: {\n // Check for overflow in the y-axis direction instead of x-axis direction\n // (the default for top and bottom placements), since that's likely to be\n // the more problematic direction when scrolling. (Theoretically it would be\n // nice to have it check all axes which seemingly could be done with\n // `mainAxis: false`, but for an element that is wide and tall, this ends up\n // not placing the Popper in a visible location, so the behavior of\n // `altAxis: true` seems preferable.)\n altAxis: true,\n boundary: \"clippingParents\",\n padding: 8,\n },\n },\n // If we want to add an arrow to the Popper, we'll seemingly need to implement a lot\n // of custom styling and whatnot, like in\n // https://github.com/mui-org/material-ui/blob/84671ab1d6db4f6901d60206f2375bd51862c66e/docs/src/pages/components/popper/ScrollPlayground.js#L19-L103,\n // which is probably not worth it\n ], anchorEl: anchorEl !== null && anchorEl !== void 0 ? anchorEl : defaultAnchorEl, className: cx(controlledBubbleMenuClasses.root, classes.root, className), container: container, disablePortal: disablePortal, transition: true, children: ({ TransitionProps }) => (_jsx(Fade, { ...TransitionProps, timeout: {\n enter: theme.transitions.duration.enteringScreen,\n // Exit immediately rather than using a transition, since the\n // content of the bubble menu will usually be updating as the editor\n // content and thus `open` state changes, and we don't want it to\n // \"flash\" with incorrect content during the transition\n exit: 0,\n }, children: _jsx(Paper, { elevation: 7, ...PaperProps, className: cx(controlledBubbleMenuClasses.paper, classes.paper, PaperProps === null || PaperProps === void 0 ? void 0 : PaperProps.className), children: children }) })) }));\n}\n","import { useEffect, useRef } from \"react\";\n/** When the given key is pressed down, execute the given callback. */\nexport default function useKeyDown(key, callback) {\n // Use a ref in case `callback` isn't memoized\n const callbackRef = useRef(callback);\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n useEffect(() => {\n function handleKeyDown(event) {\n if (key === event.key) {\n callbackRef.current(event);\n }\n }\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [key]);\n}\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Button, DialogActions, TextField, Typography } from \"@mui/material\";\nimport { getMarkRange, getMarkType } from \"@tiptap/core\";\nimport encodeurl from \"encodeurl\";\nimport { useCallback, useEffect, useRef, useState, } from \"react\";\nimport useKeyDown from \"../hooks/useKeyDown\";\n/** Shown when a user is adding/editing a Link for Tiptap. */\nexport default function EditLinkMenuContent({ editor, onCancel, onSave, labels, }) {\n var _a, _b, _c, _d, _e, _f;\n const existingHref = editor.isActive(\"link\")\n ? editor.getAttributes(\"link\").href\n : \"\";\n const linkRange = getMarkRange(editor.state.selection.$from, getMarkType(\"link\", editor.schema));\n const linkText = linkRange\n ? editor.state.doc.textBetween(linkRange.from, linkRange.to)\n : \"\";\n const selectedText = editor.state.doc.textBetween(editor.state.selection.$from.pos, editor.state.selection.$to.pos);\n // If we're on a link, we'll use the full link text, otherwise we'll fall back\n // to the selected text\n const initialText = linkText || selectedText;\n const [textValue, setTextValue] = useState(initialText);\n const [hrefValue, setHrefValue] = useState(existingHref);\n const textRef = useRef(null);\n const hrefRef = useRef(null);\n // If there's already a link where the user has clicked, they're \"editing\",\n // otherwise the menu has been brought up to add a new link\n const isNewLink = !existingHref;\n const addLinkTitle = (_a = labels === null || labels === void 0 ? void 0 : labels.editLinkAddTitle) !== null && _a !== void 0 ? _a : \"Add link\";\n const editLinkTitle = (_b = labels === null || labels === void 0 ? void 0 : labels.editLinkEditTitle) !== null && _b !== void 0 ? _b : \"Edit link\";\n const editMenuTitle = isNewLink ? addLinkTitle : editLinkTitle;\n // When bringing up the Popper of the `ControlledBubbleMenu` and using\n // autoFocus on the TextField elements, it is causing a scroll jump as\n // described here https://github.com/mui-org/material-ui/issues/16740. (It\n // seems the fix that was merged for that has since been undone, as the popper\n // styles now using `absolute` positioning again.) So we'll focus on the\n // appropriate input with `useEffect` below instead.\n useEffect(() => {\n var _a, _b;\n // We'll auto-focus on the text input if (a) it's not a new link, or (b)\n // it's a new link and they do not have some initial text already (e.g.,\n // they brought up the link menu with some text selected already). Otherwise\n // well focus on the href input.\n const autoFocusOnTextInput = !isNewLink || !initialText;\n if (autoFocusOnTextInput) {\n (_a = textRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n else {\n (_b = hrefRef.current) === null || _b === void 0 ? void 0 : _b.focus();\n }\n }, [isNewLink, initialText]);\n // If the user presses escape, we should cancel\n useKeyDown(\"Escape\", onCancel);\n const formatHref = useCallback(() => {\n if (!hrefRef.current) {\n return;\n }\n // Parse what the user typed in, and add a protocol if they typed in a value\n // but didn't include a protocol. (This also includes mailto and tel, since\n // they are also valid for `href`\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-href and\n // Tiptap has builtin autolink support for email address conversion to\n // mailto.) This is what Slack does, and seems like a reasonable behavior to\n // ensure it's a valid URL (e.g. if someone types \"example.com\", we should\n // accept it and treat it as \"http://example.com\", not a relative path on the\n // current site). It also allows the value to pass browser-builtin\n // `type=\"url\"` validation.\n let currentHrefValue = hrefRef.current.value.trim();\n if (currentHrefValue &&\n !currentHrefValue.startsWith(\"http://\") &&\n !currentHrefValue.startsWith(\"https://\") &&\n !currentHrefValue.startsWith(\"mailto:\") &&\n !currentHrefValue.startsWith(\"tel:\")) {\n currentHrefValue = `http://${currentHrefValue}`;\n }\n // URL-encode any characters that wouldn't be valid. We use `encodeurl`\n // instead of the builtin `encodeURI` so that if there are any\n // already-encoded sequences, they're not double-encoded and thus broken.\n // (Useful for instance when a user pastes a URL into the form with complex\n // and already-encoded parameters.)\n setHrefValue(encodeurl(currentHrefValue));\n }, []);\n const [isSubmitting, setIsSubmitting] = useState(false);\n return (_jsxs(\"form\", { onSubmit: (event) => {\n var _a, _b, _c, _d;\n // Don't submit the form with a standard full-page request\n event.preventDefault();\n // Don't let this event propagate upwards in the React tree, to prevent\n // submitting any form the rich text editor is wrapped in\n // (https://github.com/sjdemartini/mui-tiptap/issues/105)\n event.stopPropagation();\n setIsSubmitting(true);\n const text = (_b = (_a = textRef.current) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\";\n const href = (_d = (_c = hrefRef.current) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : \"\";\n onSave({ text: text, link: href });\n setIsSubmitting(false);\n }, autoComplete: \"off\", children: [_jsx(Typography, { variant: \"h6\", children: editMenuTitle }), _jsx(TextField, { inputRef: textRef, value: textValue, disabled: isSubmitting, onChange: (event) => setTextValue(event.target.value), label: (_c = labels === null || labels === void 0 ? void 0 : labels.editLinkTextInputLabel) !== null && _c !== void 0 ? _c : \"Text\", margin: \"normal\", size: \"small\", fullWidth: true, required: true }), _jsx(TextField, { inputRef: hrefRef, value: hrefValue, onChange: (event) => setHrefValue(event.target.value), disabled: isSubmitting, label: (_d = labels === null || labels === void 0 ? void 0 : labels.editLinkHrefInputLabel) !== null && _d !== void 0 ? _d : \"Link\", margin: \"dense\", size: \"small\", type: \"url\", onBlur: formatHref, onKeyDown: (event) => {\n // If the user is trying to submit the form directly from the href field, make\n // sure we first format what they entered (which will update it to allow it to\n // pass URL field validation)\n if (event.key === \"Enter\") {\n formatHref();\n }\n }, fullWidth: true, required: true }), _jsxs(DialogActions, { sx: { px: 0 }, children: [_jsx(Button, { onClick: onCancel, variant: \"outlined\", size: \"small\", children: (_e = labels === null || labels === void 0 ? void 0 : labels.editLinkCancelButtonLabel) !== null && _e !== void 0 ? _e : \"Cancel\" }), _jsx(Button, { type: \"submit\", color: \"primary\", variant: \"outlined\", size: \"small\", disabled: isSubmitting, children: (_f = labels === null || labels === void 0 ? void 0 : labels.editLinkSaveButtonLabel) !== null && _f !== void 0 ? _f : \"Save\" })] })] }));\n}\n","/**\n * Truncate the middle of the given text, if it's longer than the given length.\n */\nexport default function truncateMiddle(text, length = 20) {\n if (text.length <= length) {\n return text;\n }\n const half = Math.floor(length / 2);\n return `${text.slice(0, half).trim()}…${text.slice(-half).trim()}`;\n}\n","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { Button, DialogActions, Link } from \"@mui/material\";\nimport { getMarkRange, getMarkType } from \"@tiptap/core\";\nimport truncate from \"lodash/truncate\";\nimport { makeStyles } from \"tss-react/mui\";\nimport useKeyDown from \"../hooks/useKeyDown\";\nimport truncateMiddle from \"../utils/truncateMiddle\";\nconst useStyles = makeStyles({ name: { ViewLinkMenuContent } })({\n linkPreviewText: {\n overflowWrap: \"anywhere\",\n },\n});\n/** Shown when a user is viewing the details of an existing Link for Tiptap. */\nexport default function ViewLinkMenuContent({ editor, onCancel, onEdit, onRemove, labels, }) {\n var _a, _b, _c;\n const { classes } = useStyles();\n const linkRange = getMarkRange(editor.state.selection.$to, getMarkType(\"link\", editor.schema));\n const linkText = linkRange\n ? editor.state.doc.textBetween(linkRange.from, linkRange.to)\n : \"\";\n const currentHref = (_a = editor.getAttributes(\"link\").href) !== null && _a !== void 0 ? _a : \"\";\n // If the user presses escape, we should cancel\n useKeyDown(\"Escape\", onCancel);\n return (_jsxs(_Fragment, { children: [_jsx(\"div\", { className: classes.linkPreviewText, children: truncate(linkText, {\n length: 50,\n omission: \"…\",\n }) }), _jsx(\"div\", { className: classes.linkPreviewText, children: _jsx(Link, { href: currentHref, target: \"_blank\", rel: \"noopener\", children: truncateMiddle(currentHref, 50) }) }), _jsxs(DialogActions, { sx: { px: 0 }, children: [_jsx(Button, { onClick: onEdit, color: \"primary\", variant: \"outlined\", size: \"small\", children: (_b = labels === null || labels === void 0 ? void 0 : labels.viewLinkEditButtonLabel) !== null && _b !== void 0 ? _b : \"Edit\" }), _jsx(Button, { onClick: onRemove, color: \"error\", variant: \"outlined\", size: \"small\", children: (_c = labels === null || labels === void 0 ? void 0 : labels.viewLinkRemoveButtonLabel) !== null && _c !== void 0 ? _c : \"Remove\" })] })] }));\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n///